]> Creatis software - crea.git/blobdiff - lib/creaDevManagerLib/wxCDMFolderDescriptionPanel.cpp
Feature #1711 CreaDevManager application implementation
[crea.git] / lib / creaDevManagerLib / wxCDMFolderDescriptionPanel.cpp
index 19627edd7663ddb4d9a88a6005ebebf3c4d7bf9d..7f95533059e6dc0f3d4d49cb191b552851b85d8d 100644 (file)
@@ -76,6 +76,10 @@ bool wxCDMFolderDescriptionPanel::Create(
 )
 {
   wxPanel::Create(parent, id, pos, size, style);
+  // this part makes the scrollbars show up
+  this->FitInside(); // ask the sizer about the needed size
+  this->SetScrollRate(5, 5);
+
   this->folder = folder;
   CreateControls();
   return TRUE;
@@ -88,16 +92,17 @@ void wxCDMFolderDescriptionPanel::CreateControls()
   //Links to return
   wxBoxSizer *linksSizer = new wxBoxSizer(wxHORIZONTAL);
   std::vector<modelCDMIProjectTreeNode*> parents = this->folder->GetParents();
-  for (int i = 0; i < parents.size(); i++)
+  for (int i = 0; i < (int)(parents.size()); i++)
     {
-      wxHyperlinkCtrl* returnLnk = new wxHyperlinkCtrl(this, ID_BUTTON_PREV, crea::std2wx(parents[parents.size()-1-i]->GetName()), crea::std2wx(parents[parents.size()-1-i]->GetPath()));
+      wxHyperlinkCtrl* returnLnk = new wxHyperlinkCtrl(this, ID_BUTTON_PREV, crea::std2wx(parents[parents.size()-1-i]->GetName()), crea::std2wx(parents[parents.size()-1-i]->GetPath()), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE);
+      returnLnk->SetWindowStyle(wxNO_BORDER);
       returnLnk->SetToolTip(crea::std2wx("Return to " + parents[parents.size()-1-i]->GetName() + "."));
       linksSizer->Add(returnLnk, 0, wxALIGN_CENTER_VERTICAL | wxLEFT | wxRIGHT, 5);
-      if (i < parents.size()-1)
-        {
-          linksSizer->Add(new wxStaticText(this,wxID_ANY, wxT("/")), 0, wxALIGN_CENTER, 0);
-        }
+      linksSizer->Add(new wxStaticText(this,wxID_ANY, wxT("/")), 0, wxALIGN_CENTER, 0);
     }
+
+  linksSizer->Add(new wxStaticText(this, wxID_ANY, crea::std2wx(this->folder->GetName())), 0, wxALIGN_CENTER, 0);
+
   sizer->Add(linksSizer, 0, wxALIGN_CENTER | wxALL, 5);
 
   //Header
@@ -161,12 +166,12 @@ void wxCDMFolderDescriptionPanel::OnBtnReturn(wxHyperlinkEvent& event)
   std::vector<modelCDMIProjectTreeNode*> parents = this->folder->GetParents();
   std::string parentURL = crea::wx2std(((wxHyperlinkCtrl*)event.GetEventObject())->GetURL());
   //std::cout << parentURL << std::endl;
-  for (int i = 0; i < parents.size(); i++)
+  for (int i = 0; i < (int)(parents.size()); i++)
     {
       if (parents[i]->GetPath() == parentURL)
         {
           wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_DISPLAY_CHANGED);
-          newEvent->SetInt(parents[i]->GetId());
+          newEvent->SetClientData(parents[i]);
           newEvent->SetId(0);
           wxPostEvent(this->GetParent(), *newEvent);
         }
@@ -186,12 +191,11 @@ void wxCDMFolderDescriptionPanel::OnBtnEditCMakeLists(wxCommandEvent& event)
   if(!this->folder->OpenCMakeListsFile(result))
     wxMessageBox(crea::std2wx(*result),_T("Open CMakeLists File - Error!"),wxOK | wxICON_ERROR);
 
-  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LIST_ITEM_DESELECTED);
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
 
   if(this->folder->GetCMakeLists() != NULL)
     {
-      int CMId = this->folder->GetCMakeLists()->GetId();
-      newEvent->SetInt(CMId);
+      newEvent->SetClientData(this->folder->GetCMakeLists());
       newEvent->SetId(0);
       wxPostEvent(this->GetParent(), *newEvent);
     }
@@ -221,7 +225,7 @@ void wxCDMFolderDescriptionPanel::OnBtnCreateClass(wxCommandEvent& event)
 
           wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_DISPLAY_CHANGED);
           newEvent->SetId(0);
-          newEvent->SetInt(folder->GetId());
+          newEvent->SetClientData(folder);
           wxPostEvent(this->GetParent(), *newEvent);
 
           wxMessageBox(crea::std2wx("The class has been created successfully."),_T("New Class - Success"),wxOK | wxICON_INFORMATION);
@@ -254,7 +258,7 @@ void wxCDMFolderDescriptionPanel::OnBtnCreateFolder(wxCommandEvent& event)
         }
       ((wxCDMMainFrame*)this->GetParent())->RefreshProject();
       wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_DISPLAY_CHANGED);
-      newEvent->SetInt(folderC->GetId());
+      newEvent->SetClientData(folderC);
       wxPostEvent(this->GetParent(), *newEvent);
       wxMessageBox(crea::std2wx("The folder was successfully created"),_T("Create Folder - Success"),wxOK | wxICON_INFORMATION);
     }
@@ -266,12 +270,11 @@ void wxCDMFolderDescriptionPanel::OnBtnCreateFolder(wxCommandEvent& event)
 
 void wxCDMFolderDescriptionPanel::OnCMakeMouseEnter(wxMouseEvent& event)
 {
-  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LIST_ITEM_SELECTED);
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED);
 
   if(this->folder->GetCMakeLists() != NULL)
     {
-      int CMId = this->folder->GetCMakeLists()->GetId();
-      newEvent->SetInt(CMId);
+      newEvent->SetClientData(this->folder->GetCMakeLists());
       newEvent->SetId(0);
       wxPostEvent(this->GetParent(), *newEvent);
     }
@@ -280,12 +283,11 @@ void wxCDMFolderDescriptionPanel::OnCMakeMouseEnter(wxMouseEvent& event)
 
 void wxCDMFolderDescriptionPanel::OnCMakeMouseExit(wxMouseEvent& event)
 {
-  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LIST_ITEM_DESELECTED);
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
 
   if(this->folder->GetCMakeLists() != NULL)
     {
-      int CMId = this->folder->GetCMakeLists()->GetId();
-      newEvent->SetInt(CMId);
+      newEvent->SetClientData(this->folder->GetCMakeLists());
       newEvent->SetId(0);
       wxPostEvent(this->GetParent(), *newEvent);
     }