]> Creatis software - crea.git/blobdiff - lib/creaDevManagerLib/wxCDMBlackBoxDescriptionPanel.cpp
Feature #1711 CreaDevManager application implementation
[crea.git] / lib / creaDevManagerLib / wxCDMBlackBoxDescriptionPanel.cpp
index d7a9c63aec0838ef3a2e1a402878acb13fe45cec..c562ef74054392b4e6c70c6b3ca60baa5057d228 100644 (file)
@@ -79,6 +79,11 @@ bool wxCDMBlackBoxDescriptionPanel::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->blackBox = blackBox;
   CreateControls();
   return TRUE;
@@ -91,16 +96,17 @@ void wxCDMBlackBoxDescriptionPanel::CreateControls()
   //Links to return
   wxBoxSizer *linksSizer = new wxBoxSizer(wxHORIZONTAL);
   std::vector<modelCDMIProjectTreeNode*> parents = this->blackBox->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->blackBox->GetName())), 0, wxALIGN_CENTER, 0);
+
   sizer->Add(linksSizer, 0, wxALIGN_CENTER | wxALL, 5);
 
   //Header
@@ -185,7 +191,7 @@ void wxCDMBlackBoxDescriptionPanel::CreateControls()
   openCxxbt->Connect(wxEVT_LEAVE_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMBlackBoxDescriptionPanel::OnCxxMouseExit,NULL,this);
   openCxxbt->SetToolTip(wxT("Open the .cxx file in the default text editor."));
   actionsGridSizer->Add(openCxxbt, 1, wxALL | wxEXPAND, 5);
-  wxButton* openFolderbt = new wxButton(actionsPanel, ID_BUTTON_OPEN_FOLDER, _T("C. Open Source Folder"));
+  wxButton* openFolderbt = new wxButton(actionsPanel, ID_BUTTON_OPEN_FOLDER, _T("Open Source Folder"));
   openFolderbt->SetToolTip(wxT("Open the source folder in the file explorer."));
   actionsGridSizer->Add(openFolderbt, 1, wxALL | wxEXPAND, 5);
 
@@ -214,12 +220,12 @@ void wxCDMBlackBoxDescriptionPanel::OnBtnReturn(wxHyperlinkEvent& event)
   std::vector<modelCDMIProjectTreeNode*> parents = this->blackBox->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);
         }
@@ -314,12 +320,11 @@ void wxCDMBlackBoxDescriptionPanel::OnBtnOpenCxx(wxCommandEvent& event)
   if(!this->blackBox->OpenCxx(result))
     wxMessageBox(crea::std2wx(*result),_T("Open Source File - Error!"),wxOK | wxICON_ERROR);
 
-  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LIST_ITEM_DESELECTED);
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
 
   if(this->blackBox->GetSourceFile() != NULL)
     {
-      int CMId = this->blackBox->GetSourceFile()->GetId();
-      newEvent->SetInt(CMId);
+      newEvent->SetClientData(this->blackBox->GetSourceFile());
       newEvent->SetId(0);
       wxPostEvent(this->GetParent(), *newEvent);
     }
@@ -333,12 +338,11 @@ void wxCDMBlackBoxDescriptionPanel::OnBtnOpenHxx(wxCommandEvent& event)
   if(!this->blackBox->OpenHxx(result))
     wxMessageBox(crea::std2wx(*result),_T("Open Header File - Error!"),wxOK | wxICON_ERROR);
 
-  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LIST_ITEM_DESELECTED);
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
 
   if(this->blackBox->GetHeaderFile() != NULL)
     {
-      int CMId = this->blackBox->GetHeaderFile()->GetId();
-      newEvent->SetInt(CMId);
+      newEvent->SetClientData(this->blackBox->GetHeaderFile());
       newEvent->SetId(0);
       wxPostEvent(this->GetParent(), *newEvent);
     }
@@ -355,12 +359,11 @@ void wxCDMBlackBoxDescriptionPanel::OnBtnOpenFolder(wxCommandEvent& event)
 
 void wxCDMBlackBoxDescriptionPanel::OnCxxMouseEnter(wxMouseEvent& event)
 {
-  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LIST_ITEM_SELECTED);
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED);
 
   if(this->blackBox->GetSourceFile() != NULL)
     {
-      int CMId = this->blackBox->GetSourceFile()->GetId();
-      newEvent->SetInt(CMId);
+      newEvent->SetClientData(this->blackBox->GetSourceFile());
       newEvent->SetId(0);
       wxPostEvent(this->GetParent(), *newEvent);
     }
@@ -369,12 +372,11 @@ void wxCDMBlackBoxDescriptionPanel::OnCxxMouseEnter(wxMouseEvent& event)
 
 void wxCDMBlackBoxDescriptionPanel::OnCxxMouseExit(wxMouseEvent& event)
 {
-  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LIST_ITEM_DESELECTED);
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
 
   if(this->blackBox->GetSourceFile() != NULL)
     {
-      int CMId = this->blackBox->GetSourceFile()->GetId();
-      newEvent->SetInt(CMId);
+      newEvent->SetClientData(this->blackBox->GetSourceFile());
       newEvent->SetId(0);
       wxPostEvent(this->GetParent(), *newEvent);
     }
@@ -383,12 +385,11 @@ void wxCDMBlackBoxDescriptionPanel::OnCxxMouseExit(wxMouseEvent& event)
 
 void wxCDMBlackBoxDescriptionPanel::OnHxxMouseEnter(wxMouseEvent& event)
 {
-  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LIST_ITEM_SELECTED);
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED);
 
   if(this->blackBox->GetHeaderFile() != NULL)
     {
-      int CMId = this->blackBox->GetHeaderFile()->GetId();
-      newEvent->SetInt(CMId);
+      newEvent->SetClientData(this->blackBox->GetHeaderFile());
       newEvent->SetId(0);
       wxPostEvent(this->GetParent(), *newEvent);
     }
@@ -397,12 +398,11 @@ void wxCDMBlackBoxDescriptionPanel::OnHxxMouseEnter(wxMouseEvent& event)
 
 void wxCDMBlackBoxDescriptionPanel::OnHxxMouseExit(wxMouseEvent& event)
 {
-  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LIST_ITEM_DESELECTED);
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
 
   if(this->blackBox->GetHeaderFile() != NULL)
     {
-      int CMId = this->blackBox->GetHeaderFile()->GetId();
-      newEvent->SetInt(CMId);
+      newEvent->SetClientData(this->blackBox->GetHeaderFile());
       newEvent->SetId(0);
       wxPostEvent(this->GetParent(), *newEvent);
     }