]> Creatis software - crea.git/blobdiff - lib/creaDevManagerLib/wxCreaDevManagerMainFrame.cxx
Feature #1711
[crea.git] / lib / creaDevManagerLib / wxCreaDevManagerMainFrame.cxx
index a26bc703f64c2fc760f8a3ebf30bd4aba6df471e..ce83e9393a51d7766c2922817885455f2000df11 100644 (file)
@@ -1,5 +1,6 @@
-#include <creaWx.h>
 #include "wxCreaDevManagerMainFrame.h"
+#include "creaDevManagerIds.h"
+#include "wxCreaDevManagerTreeCtrl.h"
 
 wxCreaDevManagerMainFrame::wxCreaDevManagerMainFrame(
   wxWindow* parent,
@@ -15,18 +16,114 @@ wxCreaDevManagerMainFrame::wxCreaDevManagerMainFrame(
 
 wxCreaDevManagerMainFrame::~wxCreaDevManagerMainFrame()
 {
+  auiManager.UnInit();
 }
 
 bool wxCreaDevManagerMainFrame::Create(
-    wxWindow* parent,
-    wxWindowID id,
-    const wxString& caption,
-    const wxPoint& pos,
-    const wxSize& size,
-    long style
+  wxWindow* parent,
+  wxWindowID id,
+  const wxString& caption,
+  const wxPoint& pos,
+  const wxSize& size,
+  long style
 )
 {
-    wxFrame::Create(parent, id, caption, pos, size, style);
-    return true;
+  wxFrame::Create(parent, id, caption, pos, size, style);
+  CreateMenus();
+  CreateControls();
+  return TRUE;
+}
+
+void wxCreaDevManagerMainFrame::CreateMenus()
+{
+  wxMenuBar* menuBar = new wxMenuBar;
+
+  //FileMenu
+  menu_File = new wxMenu();
+  menu_File->Append(ID_MENU_NEW_PROJECT, _("&New Project..."));
+  menu_File->Append(ID_MENU_OPEN_PROJECT, _("&Open Project..."));
+  menu_File->Append(ID_MENU_OPEN_RECENT, _("Open &Recent"));
+  menu_File->AppendSeparator();
+  menu_File->Append(ID_MENU_CLOSE_PROJECT, _("&Close Project"));
+  menu_File->Append(ID_MENU_CLOSE_ALL_PROJECTS, _("C&lose All Projects"));
+  menu_File->AppendSeparator();
+  menu_File->Append(ID_MENU_EXPORT_HIERARCHY, _("&Export Project Hierarchy..."));
+  menu_File->AppendSeparator();
+  menu_File->Append(ID_MENU_EXIT, _("E&xit"));
+
+  menuBar->Append(menu_File, _("&File"));
+
+  //EditMenu
+  menu_Edit = new wxMenu();
+  menu_Edit->Append(ID_MENU_REFRESH_PROJECT, _("&Refresh Project"));
+  menu_Edit->AppendSeparator();
+  menu_Edit->Append(ID_MENU_CUT, _("Cu&t"));
+  menu_Edit->Append(ID_MENU_COPY, _("&Copy"));
+  menu_Edit->Append(ID_MENU_PASTE, _("&Paste"));
+  menu_Edit->AppendSeparator();
+  menu_Edit->Append(ID_MENU_DELETE, _("&Delete"));
+  menu_Edit->Append(ID_MENU_SELECT_ALL, _("Select &All"));
+  menu_Edit->Append(ID_MENU_SELECT_NONE, _("Ca&ncel Selection"));
+
+  menuBar->Append(menu_Edit, _("&Edit"));
+
+  //ToolsMenu
+  menu_Tools = new wxMenu();
+  menu_Tools->Append(ID_MENU_EVENT_LOG, _("Event &Log"));
+  menu_Tools->Append(ID_MENU_BBTK_GRAPHICAL_EDITOR, _("BBTK &Graphical Editor"));
+  menu_Tools->Append(ID_MENU_MINITOOLS, _("&MiniTools"));
+  menu_Tools->Append(ID_MENU_CODE_EDITOR, _("&Code Editor"));
+  menu_Tools->Append(ID_MENU_COMMAND_LINE, _("&Command Line"));
+
+  menuBar->Append(menu_Tools, _("&Tools"));
+
+  //HelpMenu
+  menu_Help = new wxMenu();
+  menu_Help->Append(ID_MENU_HELP, _("&Help"));
+  menu_Help->Append(ID_MENU_REPORT_BUG, _("Report &Bug"));
+  menu_Help->Append(ID_MENU_ABOUT_CREADEVMANAGER, _("&About CreaDevManager"));
+  menu_Help->Append(ID_MENU_ABOUT_CREATIS, _("A&bout CREATIS"));
+
+  menuBar->Append(menu_Help, _("&Help"));
+
+  //Set Bar
+  SetMenuBar(menuBar);
 }
 
+void wxCreaDevManagerMainFrame::CreateControls()
+{
+  auiManager.SetManagedWindow(this);
+
+  tree_Projects = new wxCreaDevManagerTreeCtrl(
+    this,
+    ID_TREE_PROJECTS,
+    wxDefaultPosition,
+    wxDefaultSize,
+    wxTR_HAS_BUTTONS | wxTR_ROW_LINES | wxTR_SINGLE
+  );
+  tree_Projects->SetSize(400,100);
+  tree_Projects->SetMinSize(wxSize(300,100));
+
+  window_Properties = new wxWindow(
+    this,
+    ID_WINDOW_PROPERTIES
+  );
+
+
+  window_ProjectActions = new wxWindow(
+    this,
+    ID_WINDOW_PROJ_ACTIONS
+  );
+  window_ProjectActions->SetSize(300,200);
+  window_ProjectActions->SetMinSize(wxSize(300,100));
+
+  auiManager.AddPane(tree_Projects, wxLEFT, wxT("Projects Tree"));
+  auiManager.AddPane(window_ProjectActions, wxBOTTOM, wxT("Project Actions"));
+  auiManager.AddPane(window_Properties, wxCENTER, wxT("Properties"));
+
+  auiManager.GetPane(tree_Projects).BestSize(500,500);
+  auiManager.GetPane(window_Properties).BestSize(400,200);
+
+
+  auiManager.Update();
+}