]> Creatis software - bbtkGEditor.git/blobdiff - lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/bbtkwxGUIEditorGraphicBBS.cxx
Display of the tree obtained in the information dialog window in BBEditor. 12/05...
[bbtkGEditor.git] / lib / EditorGraphicBBS / bbsWxGUIEditorGraphic / bbtkwxGUIEditorGraphicBBS.cxx
index 93596627446f3930b78bfa3236751bb5df35d858..c764296793200dfb68f9b2edfe258c903cf9121a 100644 (file)
@@ -459,12 +459,49 @@ void wxGUIEditorGraphicBBS::displayBlackBoxInfo(std::string packageName, std::st
 //EED 15 oct 2012              BlackBoxDescriptor::Pointer descriptor = GObjectsMVCFactory::getInstance()->getBlackBoxDescriptor(packageName, boxName);
                
                Package::Pointer k;
+//EED          ComplexBlackBoxDescriptor::Pointer descriptor;
                BlackBoxDescriptor::Pointer descriptor;
+
                std::map< std::string, BlackBoxDescriptor::Pointer> mapDesc;
                k                       = _pkgBrowser->GetFactory()->GetPackage(packageName);
                mapDesc         = k->GetDescriptorMap();                
                descriptor      = mapDesc[boxName];
-               
+               std::vector<std::string> temp;
+               descriptor->GetBoxesInside(tree,temp,1);
+
+
+
+/*CFT
+               for(int i = 0 ; i < temp.size() ; i++){
+                                       std::cout<< "  "<< temp[i] << std::endl;
+               }       
+
+
+               if(temp.size()>=1){
+                               std::cout<< "CAJAS # " << (temp.size()- 3) << std::endl;                        
+                               for(int i = 0 ; i < temp.size()-1 ; i++){
+                                       if(i<3){std::cout<< "  "<< temp[i] << std::endl;}
+                                       else{std::cout<< i+1 << "  "<< temp[i] << " " <<temp[i+1] << std::endl;}
+                               }       
+                       }               
+               if (temp.size()==0){
+                               std::cout<< " Not Complex " << std::endl;
+                       }
+*/
+               /*
+               Package::Pointer k;
+               BlackBoxDescriptor::Pointer descriptor;
+               std::map< std::string, BlackBoxDescriptor::Pointer> mapDesc;
+               k                       = _pkgBrowser->GetFactory()->GetPackage(packageName);
+               std::vector<std::string> temp;
+               _pkgBrowser->GetFactory()->GetPackagesList(temp);
+               for(int ii = 0 ; ii < temp.size() ; ii++)
+               {
+                               std::cout << " packs "<< temp[ii]<< std::endl;
+               }
+               mapDesc         = k->GetDescriptorMap();                
+               descriptor      = mapDesc[boxName];
+               */
                _pkgBrowser->WxGUIBlackBoxListUserOnSelected(descriptor.get());
        }
 }
@@ -596,7 +633,7 @@ void wxGUIEditorGraphicBBS::OnChangeName(wxCommandEvent& event){
 void wxGUIEditorGraphicBBS::OnEditDiagramProperties(wxCommandEvent& event)
 {
        wxDiagramPropertiesEditionDialog* dialog =
-                               new wxDiagramPropertiesEditionDialog(this);
+                               new wxDiagramPropertiesEditionDialog(this, tree);
        dialog->Show();
 }
 
@@ -1094,18 +1131,28 @@ void wxGUIEditorGraphicBBS::OnClickBtnComplexBox(wxCommandEvent& event)
 }
 
 //=========================================================================
-
+//EED01
 void wxGUIEditorGraphicBBS::OnAddComplexBoxInput(wxCommandEvent& event) 
 {
        wxTextEntryDialog *nameDialog = new wxTextEntryDialog(this,
                        wxT("Name of input port"));
-       if (nameDialog->ShowModal() == wxID_OK) {
+       if (nameDialog->ShowModal() == wxID_OK) 
+        {
                wxString fileName = nameDialog->GetValue();
-               if (!fileName.IsEmpty()) {
+               if (!fileName.IsEmpty()) 
+                {
                        std::string portName = (const char*) (fileName.mb_str());
-                       _tabsMgr->addActualDiagramComplexInputPort(portName);
-               }
-       }
+                       if ( !boxNameExists(portName) )
+                       {
+                          _tabsMgr->addActualDiagramComplexInputPort(portName);
+                       } else {
+                          wxMessageDialog *dial = new wxMessageDialog(NULL,
+                                      wxT("Impossible to create Box. The name already exists. Please provide another name"),
+                                      wxT("Change name: name already exists"), wxOK | wxICON_EXCLAMATION | wxSTAY_ON_TOP);
+                          dial->ShowModal();
+                       }
+               } // if !fileName
+       } // if namaDialog
 }
 
 //=========================================================================
@@ -1113,13 +1160,24 @@ void wxGUIEditorGraphicBBS::OnAddComplexBoxOutput(wxCommandEvent& event)
 {
        wxTextEntryDialog *nameDialog = new wxTextEntryDialog(this,
                        wxT("Name of output port"));
-       if (nameDialog->ShowModal() == wxID_OK) {
+       if (nameDialog->ShowModal() == wxID_OK) 
+        {
                wxString fileName = nameDialog->GetValue();
-               if (!fileName.IsEmpty()) {
+               if (!fileName.IsEmpty()) 
+                {
                        std::string portName = (const char*) (fileName.mb_str());
+                       if ( !boxNameExists(portName) )
+                       {
                        _tabsMgr->addActualDiagramComplexOutputPort(portName);
-               }
-       }
+                       } else {
+                          wxMessageDialog *dial = new wxMessageDialog(NULL,
+                                      wxT("Impossible to create Box. The name already exists. Please provide another name"),
+                                      wxT("Change name: name already exists"), wxOK | wxICON_EXCLAMATION | wxSTAY_ON_TOP);
+                          dial->ShowModal();
+                       }
+
+               } // if !filename
+       } // namaDialog
 }
 
 //=========================================================================