]> Creatis software - crea.git/blobdiff - lib/creaDevManagerLib/wxCDMMainFrame.cpp
#3136 creaFeature New Normal - branch vtk7itk4wx3
[crea.git] / lib / creaDevManagerLib / wxCDMMainFrame.cpp
index 3b64a1e182cf118705ab70ef5c3ce968a04ccf56..ab6e16af43d0418e790435f5e525035e3f9e9f10 100755 (executable)
@@ -40,6 +40,7 @@
 #include "wx/statline.h"
 #include "wx/config.h"
 #include "CDMUtilities.h"
+#include "images/CIcon64.xpm"
 
 #include "creaDevManagerIds.h"
 #include "wxCDMMainDescriptionPanel.h"
 #include "wxCDMLibraryDescriptionPanel.h"
 #include "wxCDMPackageDescriptionPanel.h"
 #include "wxCDMBlackBoxDescriptionPanel.h"
+#include "wxCDMBBSFileDescriptionPanel.h"
+#include "wxCDMBBGFileDescriptionPanel.h"
+#include "wxCDMCodeFileDescriptionPanel.h"
 #include "wxCDMCMakeListsDescriptionPanel.h"
 #include "wxCDMFolderDescriptionPanel.h"
 #include "wxCDMFileDescriptionPanel.h"
 #include "wxCDMPackageManagerPanel.h"
+#include "wxCDMProjectMapDialog.h"
 
 #include "wxCDMSettingsDialog.h"
 
@@ -82,6 +87,7 @@ EVT_MENU(ID_MENU_CODE_EDITOR, wxCDMMainFrame::OnMenuCodeEditor)
 EVT_MENU(ID_MENU_COMMAND_LINE, wxCDMMainFrame::OnMenuCommandLine)
 EVT_MENU(ID_MENU_TOGGLE_HELP, wxCDMMainFrame::OnMenuToggleHelp)
 EVT_MENU(ID_MENU_HELP, wxCDMMainFrame::OnMenuHelp)
+EVT_MENU(ID_MENU_SHOW_PROJECT_MAP, wxCDMMainFrame::OnMenuShowProjectMap)
 EVT_MENU(ID_MENU_REPORT_BUG, wxCDMMainFrame::OnMenuReportBug)
 EVT_MENU(ID_MENU_ABOUT_CREADEVMANAGER, wxCDMMainFrame::OnMenuAboutCreaDevManager)
 EVT_MENU(ID_MENU_ABOUT_CREATIS, wxCDMMainFrame::OnMenuAboutCreatis)
@@ -145,6 +151,7 @@ bool wxCDMMainFrame::Create(
 
   CreateMenus();
   CreateControls();
+  this->SetIcon(wxIcon(CIcon64));
   return TRUE;
 }
 
@@ -230,10 +237,10 @@ void wxCDMMainFrame::CreateMenus()
 
   //ToolsMenu
   menu_Tools = new wxMenu();
-  menu_Tools->Append(ID_MENU_BBTK_GRAPHICAL_EDITOR, wxT("BBTK &Graphical Editor"));
-  menu_Tools->Append(ID_MENU_MINITOOLS, wxT("&MiniTools"));
-  menu_Tools->Append(ID_MENU_CODE_EDITOR, wxT("&Code Editor"));
-  menu_Tools->Append(ID_MENU_COMMAND_LINE, wxT("&Command Line"));
+  menu_Tools->Append(ID_MENU_BBTK_GRAPHICAL_EDITOR, wxT("Open BBEditor (BBTK &Graphical Editor)"));
+  menu_Tools->Append(ID_MENU_MINITOOLS, wxT("Open &CreaTools"));
+  menu_Tools->Append(ID_MENU_CODE_EDITOR, wxT("Open Code &Editor"));
+  menu_Tools->Append(ID_MENU_COMMAND_LINE, wxT("Open Command &Line"));
 
   menuBar->Append(menu_Tools, wxT("&Tools"));
 
@@ -241,6 +248,7 @@ void wxCDMMainFrame::CreateMenus()
   menu_Help = new wxMenu();
   menu_Help->AppendCheckItem(ID_MENU_TOGGLE_HELP, wxT("He&lp Dialogs"));
   menu_Help->Check(ID_MENU_TOGGLE_HELP, this->help);
+  menu_Help->Append(ID_MENU_SHOW_PROJECT_MAP, wxT("&Show Project Map"));
   menu_Help->Append(ID_MENU_HELP, wxT("&Help"));
   menu_Help->Append(ID_MENU_REPORT_BUG, wxT("Report &Bug"));
   menu_Help->Append(ID_MENU_ABOUT_CREADEVMANAGER, wxT("&About CreaDevManager"));
@@ -263,14 +271,25 @@ void wxCDMMainFrame::CreateControls()
   auiManager.SetManagedWindow(this);
 
 
+//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0
+#if wxMAJOR_VERSION <= 2
   tree_Projects = new wxCDMProjectsTreeCtrl(
       this,
       ID_TREE_PROJECTS,
       wxDefaultPosition,
       wxSize(200,400),
-         wxTR_HAS_BUTTONS | wxTR_AQUA_BUTTONS
-  );
+      wxTR_HAS_BUTTONS | wxTR_AQUA_BUTTONS );
+  this->actualTreeItem.Unset();
+#else
+  tree_Projects = new wxCDMProjectsTreeCtrl(
+      this,
+      ID_TREE_PROJECTS,
+      wxDefaultPosition,
+      wxSize(200,400),
+      wxTR_HAS_BUTTONS  );
   this->actualTreeItem.Unset();
+#endif
+
 
   panel_Properties = new wxCDMMainDescriptionPanel(
       this,
@@ -404,7 +423,12 @@ void wxCDMMainFrame::OnMenuNewProject(wxCommandEvent& event)
           wxT("Project Actions Panel"),
           wxDefaultPosition,
           wxSize(800,200),
-          0
+//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0
+#if wxMAJOR_VERSION <= 2
+                                                                               0
+#else
+                                                                       wxSHOW_SB_ALWAYS | wxVSCROLL
+#endif
       );
       
       auiManager.AddPane(panel_ProjectActions, wxAuiPaneInfo().Bottom().MinSize(800,50).Name(wxT("panel_ProjectActions")).Caption(wxT("General Project Actions")).BestSize(800,70).CloseButton(false));
@@ -506,7 +530,12 @@ void wxCDMMainFrame::OnMenuOpenRecent(wxCommandEvent& event)
       wxT("Project Actions Panel"),
       wxDefaultPosition,
       wxSize(800,200),
-      0
+//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0
+#if wxMAJOR_VERSION <= 2
+                                                                               0
+#else
+                                                                       wxSHOW_SB_ALWAYS | wxVSCROLL
+#endif
   );
   panel_ProjectActions->SetMinSize(wxSize(500, 100));
 
@@ -598,7 +627,12 @@ void wxCDMMainFrame::OnMenuOpenProject(wxCommandEvent& event)
           wxT("Project Actions Panel"),
           wxDefaultPosition,
           wxSize(800,200),
-          0
+//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0
+#if wxMAJOR_VERSION <= 2
+                                                                               0
+#else
+                                                                       wxSHOW_SB_ALWAYS | wxVSCROLL
+#endif
       );
       panel_ProjectActions->SetMinSize(wxSize(500, 100));
 
@@ -749,10 +783,18 @@ void wxCDMMainFrame::OnMenuCommandLine(wxCommandEvent& event)
     }
 }
 
+//Help Menu
+void wxCDMMainFrame::OnMenuShowProjectMap(wxCommandEvent& event)
+{
+  wxCDMProjectMapDialog* dialog = new wxCDMProjectMapDialog(this);
+
+  dialog->Show(true);
+}
+
 //Help Menu
 void wxCDMMainFrame::OnMenuHelp(wxCommandEvent& event)
 {
-  wxLaunchDefaultBrowser(_T("http://www.creatis.insa-lyon.fr/site/en/CreatoolsDocumentation"), 0);
+  wxLaunchDefaultBrowser(_T("http://www.creatis.insa-lyon.fr/~gonzalez/documentationSWDoc.html"), 0);
 }
 void wxCDMMainFrame::OnMenuReportBug(wxCommandEvent& event)
 {
@@ -865,12 +907,15 @@ void wxCDMMainFrame::OnTreeSelectionChanged(wxTreeEvent& event)
               wxT("Description Panel"),
               wxDefaultPosition,
               wxSize(600, 400),
-              0
+//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0
+#if wxMAJOR_VERSION <= 2
+                                                                               0
+#else
+                                                                       wxSHOW_SB_ALWAYS | wxVSCROLL
+#endif
           );
 
-        }
-      else
-        {
+        } else {
           //appli
           modelCDMAppli* elementAppli = dynamic_cast<modelCDMAppli*>(element);
           if(elementAppli != NULL)
@@ -883,12 +928,15 @@ void wxCDMMainFrame::OnTreeSelectionChanged(wxTreeEvent& event)
                   wxT("Description Panel"),
                   wxDefaultPosition,
                   wxSize(600, 400),
-                  0
+//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0
+#if wxMAJOR_VERSION <= 2
+                                                                               0
+#else
+                                                                       wxSHOW_SB_ALWAYS | wxVSCROLL
+#endif
               );
 
-            }
-          else
-            {
+            } else {
               //application
               modelCDMApplication* elementApplication = dynamic_cast<modelCDMApplication*>(element);
                          if(elementApplication != NULL)
@@ -901,11 +949,14 @@ void wxCDMMainFrame::OnTreeSelectionChanged(wxTreeEvent& event)
                       wxT("Description Panel"),
                       wxDefaultPosition,
                       wxSize(600, 400),
-                      0
+//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0
+#if wxMAJOR_VERSION <= 2
+                                                                               0
+#else
+                                                                       wxSHOW_SB_ALWAYS | wxVSCROLL
+#endif
                   );
-                }
-              else
-                {
+                } else {
                   //lib
                   modelCDMLib* elementLib = dynamic_cast<modelCDMLib*>(element);
                   if(elementLib != NULL)
@@ -918,11 +969,14 @@ void wxCDMMainFrame::OnTreeSelectionChanged(wxTreeEvent& event)
                           wxT("Description Panel"),
                           wxDefaultPosition,
                           wxSize(600, 400),
-                          0
+//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0
+#if wxMAJOR_VERSION <= 2
+                                                                               0
+#else
+                                                                       wxSHOW_SB_ALWAYS | wxVSCROLL
+#endif
                       );
-                    }
-                  else
-                    {
+                    } else {
                       //library
                       modelCDMLibrary* elementLibrary = dynamic_cast<modelCDMLibrary*>(element);
                       if(elementLibrary != NULL)
@@ -935,11 +989,14 @@ void wxCDMMainFrame::OnTreeSelectionChanged(wxTreeEvent& event)
                               wxT("Description Panel"),
                               wxDefaultPosition,
                               wxSize(600, 400),
-                              0
+//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0
+#if wxMAJOR_VERSION <= 2
+                                                                               0
+#else
+                                                                       wxSHOW_SB_ALWAYS | wxVSCROLL
+#endif
                           );
-                        }
-                      else
-                        {
+                        } else {
                           //package
                           modelCDMPackage* elementPackage = dynamic_cast<modelCDMPackage*>(element);
                           if(elementPackage != NULL)
@@ -951,12 +1008,17 @@ void wxCDMMainFrame::OnTreeSelectionChanged(wxTreeEvent& event)
                                   ID_WINDOW_PROPERTIES,
                                   wxT("Description Panel"),
                                   wxDefaultPosition,
-                                  wxSize(600, 400),
-                                  0
+                                  wxSize(600, 100),
+//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0
+#if wxMAJOR_VERSION <= 2
+                                                                               0
+#else
+                                                                       wxSHOW_SB_ALWAYS | wxVSCROLL
+#endif
                               );
-                            }
-                          else
-                            {
+
+
+                            } else {
                               //black box
                               modelCDMBlackBox* elementBlackBox = dynamic_cast<modelCDMBlackBox*>(element);
                               if(elementBlackBox != NULL)
@@ -969,11 +1031,14 @@ void wxCDMMainFrame::OnTreeSelectionChanged(wxTreeEvent& event)
                                       wxT("Description Panel"),
                                       wxDefaultPosition,
                                       wxSize(600, 400),
-                                      0
+//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0
+#if wxMAJOR_VERSION <= 2
+                                                                               0
+#else
+                                                                       wxSHOW_SB_ALWAYS | wxVSCROLL
+#endif
                                   );
-                                }
-                              else
-                                {
+                                } else {
                                   //CMakeLists
                                   modelCDMCMakeListsFile* elementCMakeLists = dynamic_cast<modelCDMCMakeListsFile*>(element);
                                   if(elementCMakeLists != NULL)
@@ -986,56 +1051,132 @@ void wxCDMMainFrame::OnTreeSelectionChanged(wxTreeEvent& event)
                                           wxT("Description Panel"),
                                           wxDefaultPosition,
                                           wxSize(600, 400),
-                                          0
+//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0
+#if wxMAJOR_VERSION <= 2
+                                                                               0
+#else
+                                                                       wxSHOW_SB_ALWAYS | wxVSCROLL
+#endif
                                       );
-                                    }
-                                  else
-                                    {
-                                      //folder
-                                      modelCDMFolder* elementFolder = dynamic_cast<modelCDMFolder*>(element);
-                                      if(elementFolder != NULL)
+                                    } else {
+                                      //CodeFile
+                                      modelCDMCodeFile* elementCodeFile = dynamic_cast<modelCDMCodeFile*>(element);
+                                      if(elementCodeFile != NULL)
                                         {
                                           //create element description
-                                          description = new wxCDMFolderDescriptionPanel(
+                                          description = new wxCDMCodeFileDescriptionPanel(
                                               this,
-                                              elementFolder,
+                                              elementCodeFile,
                                               ID_WINDOW_PROPERTIES,
                                               wxT("Description Panel"),
                                               wxDefaultPosition,
                                               wxSize(600, 400),
-                                              0
+//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0
+#if wxMAJOR_VERSION <= 2
+                                                                               0
+#else
+                                                                       wxSHOW_SB_ALWAYS | wxVSCROLL
+#endif
                                           );
-                                        }
-                                      else
-                                        {
-                                          //file
-                                          modelCDMFile* elementFile = dynamic_cast<modelCDMFile*>(element);
-                                          if(elementFile != NULL)
-                                            {
-                                              //create element description
-                                              description = new wxCDMFileDescriptionPanel(
-                                                  this,
-                                                  elementFile,
-                                                  ID_WINDOW_PROPERTIES,
-                                                  wxT("Description Panel"),
-                                                  wxDefaultPosition,
-                                                  wxSize(600, 400),
-                                                  0
-                                              );
-                                            }
-                                          else
+                                        } else {
+                                          //BBSFile
+                                          modelCDMBBSFile* elementBBSFile = dynamic_cast<modelCDMBBSFile*>(element);
+                                          if(elementBBSFile != NULL)
                                             {
-
-                                              //main if not any
                                               //create element description
-                                              description = new wxCDMMainDescriptionPanel(
+                                              description = new wxCDMBBSFileDescriptionPanel(
                                                   this,
+                                                  elementBBSFile,
                                                   ID_WINDOW_PROPERTIES,
                                                   wxT("Description Panel"),
                                                   wxDefaultPosition,
                                                   wxSize(600, 400),
-                                                  0
+//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0
+#if wxMAJOR_VERSION <= 2
+                                                                               0
+#else
+                                                                       wxSHOW_SB_ALWAYS | wxVSCROLL
+#endif
                                               );
+                                            } else {
+                                              //BBSFile
+                                              modelCDMBBGFile* elementBBGFile = dynamic_cast<modelCDMBBGFile*>(element);
+                                              if(elementBBGFile != NULL)
+                                                {
+                                                  //create element description
+                                                  description = new wxCDMBBGFileDescriptionPanel(
+                                                      this,
+                                                      elementBBGFile,
+                                                      ID_WINDOW_PROPERTIES,
+                                                      wxT("Description Panel"),
+                                                      wxDefaultPosition,
+                                                      wxSize(600, 400),
+//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0
+#if wxMAJOR_VERSION <= 2
+                                                                               0
+#else
+                                                                       wxSHOW_SB_ALWAYS | wxVSCROLL
+#endif
+                                                  );
+                                                } else {
+                                                  //folder
+                                                  modelCDMFolder* elementFolder = dynamic_cast<modelCDMFolder*>(element);
+                                                  if(elementFolder != NULL)
+                                                    {
+                                                      //create element description
+                                                      description = new wxCDMFolderDescriptionPanel(
+                                                          this,
+                                                          elementFolder,
+                                                          ID_WINDOW_PROPERTIES,
+                                                          wxT("Description Panel"),
+                                                          wxDefaultPosition,
+                                                          wxSize(600, 400),
+//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0
+#if wxMAJOR_VERSION <= 2
+                                                                               0
+#else
+                                                                       wxSHOW_SB_ALWAYS | wxVSCROLL
+#endif
+                                                      );
+                                                    } else {
+                                                      //file
+                                                      modelCDMFile* elementFile = dynamic_cast<modelCDMFile*>(element);
+                                                      if(elementFile != NULL)
+                                                        {
+                                                          //create element description
+                                                          description = new wxCDMFileDescriptionPanel(
+                                                              this,
+                                                              elementFile,
+                                                              ID_WINDOW_PROPERTIES,
+                                                              wxT("Description Panel"),
+                                                              wxDefaultPosition,
+                                                              wxSize(600, 400),
+//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0
+#if wxMAJOR_VERSION <= 2
+                                                                               0
+#else
+                                                                       wxSHOW_SB_ALWAYS | wxVSCROLL
+#endif
+                                                          );
+                                                        } else {
+                                                          //main if not any
+                                                          //create element description
+                                                          description = new wxCDMMainDescriptionPanel(
+                                                              this,
+                                                              ID_WINDOW_PROPERTIES,
+                                                              wxT("Description Panel"),
+                                                              wxDefaultPosition,
+                                                              wxSize(600, 400),
+//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0
+#if wxMAJOR_VERSION <= 2
+                                                                               0
+#else
+                                                                       wxSHOW_SB_ALWAYS | wxVSCROLL
+#endif
+                                                          );
+                                                        }
+                                                    }
+                                                }
                                             }
                                         }
                                     }
@@ -1060,9 +1201,7 @@ void wxCDMMainFrame::OnTreeSelectionChanged(wxTreeEvent& event)
       this->panel_Properties = description;
 
       auiManager.Update();
-    }
-  else
-    {
+    } else {
       event.Skip();
        }
 
@@ -1097,7 +1236,12 @@ void wxCDMMainFrame::OnChangeView(wxCommandEvent& event)
             wxT("Description Panel"),
             wxDefaultPosition,
             wxSize(600, 400),
-            0
+//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0
+#if wxMAJOR_VERSION <= 2
+                                                                               0
+#else
+                                                                       wxSHOW_SB_ALWAYS | wxVSCROLL
+#endif
         );
       }
     else if(event.GetString() == wxT("manage_libraries"))