Browse Source

Show a screenshot when cloning an example

Josh Engebretson 10 years ago
parent
commit
8c9fb6b869

+ 8 - 3
Data/AtomicEditor/Resources/EditorData/AtomicEditor/editor/ui/createproject.tb.txt

@@ -1,8 +1,13 @@
 TBLayout: axis: y, distribution: gravity, position: left
 TBLayout: axis: y, distribution: gravity, position: left
 	TBLayout: distribution: gravity
 	TBLayout: distribution: gravity
-	TBTextField: text: "Project Name:"
-	TBEditField: id: project_name, text: "MyGame", autofocus: 1
-		lp: min-width: 220	
+		TBLayout: distribution: gravity
+			TBTextField: text: "Project Name:"
+			TBLayout: gravity: left right, distribution-position: right bottom				
+				TBEditField: id: project_name, text: "MyGame", autofocus: 1
+					lp: min-width: 240
+		TBLayout: gravity: left right, distribution-position: right bottom				
+			TBImageWidget: id: project_image
+				lp: width: 128, height: 96
 	TBSeparator: gravity: left right, skin: AESeparator
 	TBSeparator: gravity: left right, skin: AESeparator
 	TBTextField: text: "Project Directory:"		
 	TBTextField: text: "Project Directory:"		
 	TBLayout: axis: y, distribution: gravity, position: left
 	TBLayout: axis: y, distribution: gravity, position: left

+ 10 - 1
Source/AtomicEditor/Source/UI/Modal/UICreateProject.cpp

@@ -9,6 +9,7 @@
 #include <TurboBadger/tb_window.h>
 #include <TurboBadger/tb_window.h>
 #include <TurboBadger/tb_select.h>
 #include <TurboBadger/tb_select.h>
 #include <TurboBadger/tb_editfield.h>
 #include <TurboBadger/tb_editfield.h>
+#include <TurboBadger/image/tb_image_widget.h>
 
 
 #include <Atomic/Core/Context.h>
 #include <Atomic/Core/Context.h>
 #include <Atomic/Core/StringUtils.h>
 #include <Atomic/Core/StringUtils.h>
@@ -29,7 +30,7 @@ namespace AtomicEditor
 
 
 // UIBuildSettings------------------------------------------------
 // UIBuildSettings------------------------------------------------
 
 
-UICreateProject::UICreateProject(Context* context, const String &templateFolder):
+UICreateProject::UICreateProject(Context* context, const String &templateFolder, const String &imagePath):
     UIModalOpWindow(context)
     UIModalOpWindow(context)
   , projectPathField_(0)
   , projectPathField_(0)
   , templateFolder_(templateFolder)
   , templateFolder_(templateFolder)
@@ -47,6 +48,14 @@ UICreateProject::UICreateProject(Context* context, const String &templateFolder)
     projectNameField_ = delegate_->GetWidgetByIDAndType<TBEditField>(TBIDC("project_name"));
     projectNameField_ = delegate_->GetWidgetByIDAndType<TBEditField>(TBIDC("project_name"));
     assert(projectNameField_);
     assert(projectNameField_);
 
 
+    TBImageWidget* image = delegate_->GetWidgetByIDAndType<TBImageWidget>(TBIDC("project_image"));
+    assert(image);
+
+    if (!imagePath.Length())
+        image->SetVisibilility(WIDGET_VISIBILITY_GONE);
+    else
+        image->SetImage(imagePath.CString());
+
     FileSystem* fileSystem = GetSubsystem<FileSystem>();
     FileSystem* fileSystem = GetSubsystem<FileSystem>();
 
 
     String userDocuments = fileSystem->GetUserDocumentsDir();
     String userDocuments = fileSystem->GetUserDocumentsDir();

+ 1 - 1
Source/AtomicEditor/Source/UI/Modal/UICreateProject.h

@@ -15,7 +15,7 @@ class UICreateProject: public UIModalOpWindow
 
 
 public:
 public:
 
 
-    UICreateProject(Context* context, const String& templateFolder);
+    UICreateProject(Context* context, const String& templateFolder, const String& imagePath = String::EMPTY);
     virtual ~UICreateProject();
     virtual ~UICreateProject();
     bool OnEvent(const TBWidgetEvent &ev);
     bool OnEvent(const TBWidgetEvent &ev);
 
 

+ 2 - 2
Source/AtomicEditor/Source/UI/Modal/UIModalOps.cpp

@@ -202,12 +202,12 @@ void UIModalOps::ShowNewProject()
     opWindow_ = new UINewProject(context_);
     opWindow_ = new UINewProject(context_);
 }
 }
 
 
-void UIModalOps::ShowCreateProject(const String &templateFolder)
+void UIModalOps::ShowCreateProject(const String &templateFolder, const String &imagePath)
 {
 {
     assert(opWindow_.Null());
     assert(opWindow_.Null());
 
 
     Show();
     Show();
-    opWindow_ = new UICreateProject(context_, templateFolder);
+    opWindow_ = new UICreateProject(context_, templateFolder, imagePath);
 }
 }
 
 
 
 

+ 1 - 1
Source/AtomicEditor/Source/UI/Modal/UIModalOps.h

@@ -55,7 +55,7 @@ class UIModalOps: public AEWidget, private TBWidgetListener
     void ShowBuildSettings();
     void ShowBuildSettings();
     void ShowBuild();
     void ShowBuild();
     void ShowNewProject();
     void ShowNewProject();
-    void ShowCreateProject(const String& templateFolder);
+    void ShowCreateProject(const String& templateFolder, const String& imagePath = String::EMPTY);
     void ShowActivation();
     void ShowActivation();
     void ShowActivationSuccess();
     void ShowActivationSuccess();
     void ShowManageLicense();
     void ShowManageLicense();

+ 2 - 1
Source/AtomicEditor/Source/UI/UIWelcomeFrame.cpp

@@ -159,6 +159,7 @@ void WelcomeFrame::AddExample(const String& name, const String& desc, const Stri
     info.folder = folder;
     info.folder = folder;
     info.id = id;
     info.id = id;
     info.module = module;
     info.module = module;
+    info.screenshot = exampleInfoDir_ + "/" + screenshot;
 
 
     exampleInfo_.Push(info);
     exampleInfo_.Push(info);
 
 
@@ -296,7 +297,7 @@ bool WelcomeFrame::OnEvent(const TBWidgetEvent &ev)
                             }
                             }
 // END LICENSE MANAGEMENT
 // END LICENSE MANAGEMENT
                             String exampleSourceDir = exampleSourceDir_ + "/" + (*itr).folder;
                             String exampleSourceDir = exampleSourceDir_ + "/" + (*itr).folder;
-                            ops->ShowCreateProject(exampleSourceDir);
+                            ops->ShowCreateProject(exampleSourceDir, (*itr).screenshot);
                             return true;
                             return true;
                         }
                         }
 
 

+ 1 - 0
Source/AtomicEditor/Source/UI/UIWelcomeFrame.h

@@ -38,6 +38,7 @@ private:
         String name;
         String name;
         String folder;
         String folder;
         String module;
         String module;
+        String screenshot;
         TBID id;
         TBID id;
     };
     };