X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcreaDevManagerLib%2FwxCDMFolderDescriptionPanel.cpp;h=2f1c18175ae3b78444c0b813e58d41b3096a3ecc;hb=0cc6a7e002ad79de9453517108d7456fd44ddfdb;hp=19627edd7663ddb4d9a88a6005ebebf3c4d7bf9d;hpb=11150e550ff03ee658e90cda4b475b4c24da0a7f;p=crea.git diff --git a/lib/creaDevManagerLib/wxCDMFolderDescriptionPanel.cpp b/lib/creaDevManagerLib/wxCDMFolderDescriptionPanel.cpp index 19627ed..2f1c181 100644 --- a/lib/creaDevManagerLib/wxCDMFolderDescriptionPanel.cpp +++ b/lib/creaDevManagerLib/wxCDMFolderDescriptionPanel.cpp @@ -78,6 +78,9 @@ bool wxCDMFolderDescriptionPanel::Create( wxPanel::Create(parent, id, pos, size, style); this->folder = folder; CreateControls(); + // this part makes the scrollbars show up + this->FitInside(); // ask the sizer about the needed size + this->SetScrollRate(5, 5); return TRUE; } @@ -88,16 +91,17 @@ void wxCDMFolderDescriptionPanel::CreateControls() //Links to return wxBoxSizer *linksSizer = new wxBoxSizer(wxHORIZONTAL); std::vector 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 +165,12 @@ void wxCDMFolderDescriptionPanel::OnBtnReturn(wxHyperlinkEvent& event) std::vector 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 +190,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 +224,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 +257,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 +269,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 +282,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); }