]> Creatis software - bbtkGEditor.git/commitdiff
no message
authordavila <>
Wed, 8 Sep 2010 23:16:58 +0000 (23:16 +0000)
committerdavila <>
Wed, 8 Sep 2010 23:16:58 +0000 (23:16 +0000)
lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/bbtkwxGUIEditorGraphicBBS.cxx
lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxBlackBoxEditionDialog.cxx
lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.cxx
lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.h

index 16cce2b3927f6d8813ad216166b91e7152e57327..5233d3c68b9d23da7b65c3920c6f61266360174d 100644 (file)
@@ -353,12 +353,12 @@ namespace bbtk
                //command += ConfigurationFile::GetInstance().Get_bin_path();
 //EED          command +="C:/temp/bbtkBIN/RelWithDebInfo//";
 //EED          command +="C:/Program Files/CreaTools/bbtk-0.9.5/bin";
-               command +=".";
 
 
                #ifdef MACOSX
-                       command += separator + "bbi.app/Contents/MacOS/bbi\" ";
+                       command += separator + "usr/local/bin/bbi.app/Contents/MacOS/bbi\" ";
                #else 
+                   command +=".";
                        command += separator + "bbi\" ";
                #endif
                command += "\""+filename + "\"";
index f8eaac2724213ac6e1ada1f4ddddac67455ea410..3cf0c06bda1f25a09f46b94f00fe530650aae13e 100644 (file)
@@ -84,13 +84,13 @@ namespace bbtk
                        
                        if(port->getValue()!="")
                        {
-                               txtValue->SetLabel(crea::std2wx(port->getValue()));
+                               txtValue->SetValue(crea::std2wx(port->getValue()));
                        }
 
                        if(port->isConnected())
                        {
                                std::string connected("--Port Connected--");
-                               txtValue->SetLabel(crea::std2wx(connected));
+                               txtValue->SetValue(crea::std2wx(connected));
                                txtValue->SetEditable(false);
                        }
 
@@ -98,7 +98,7 @@ namespace bbtk
                        if(type.find(et)!=-1)
                        {
                                std::string noEditable("--No editable--");
-                               txtValue->SetLabel(crea::std2wx(noEditable));
+                               txtValue->SetValue(crea::std2wx(noEditable));
                                txtValue->SetEditable(false);
                        }
 
@@ -141,13 +141,15 @@ namespace bbtk
 
        void wxBlackBoxEditionDialog::onClickOk(wxCommandEvent& event)
        {
-
-               for(int i=0;i<_lstValues.size();i++)
+printf("EED wxBlackBoxEditionDialog::onClickOk size %d \n", (int)_lstValues.size() );
+               for(int i=0;i<(int)_lstValues.size();i++)
                {
-                       std::string text = wx2std(_lstValues[i]->GetLabelText());
+                       std::string text = wx2std(_lstValues[i]->GetValue());
+printf("EED wxBlackBoxEditionDialog::onClickOk text %s \n", text.c_str() );
                        //TOFIX Search a better alternative
                        if(text!="--No editable--" && text!="--Port Connected--")
                        {
+printf("EED wxBlackBoxEditionDialog::onClickOk text %s \n", text.c_str() );
                                _model->setValueToInputPort(i,text);
                        }
                }
@@ -159,6 +161,7 @@ namespace bbtk
 
        void wxBlackBoxEditionDialog::onClickClose(wxCommandEvent& event)
        {
+printf("EED wxBlackBoxEditionDialog::onClickClose\n");
                Close(true);            
        }
 
index e6b41ad69b3c5c33412548d2548841e16bea89aa..4a30692602d990b6e8dd43403d6fada88180fb60 100644 (file)
@@ -798,10 +798,15 @@ namespace bbtk
                {
                        if(_selectedObjects.size()>0)
                        {
-                               for(int i=0;i<_selectedObjects.size();i++)
+                               for(int i=0;i<(int)_selectedObjects.size();i++)
                                {
-                                       int id = _selectedObjects[i];
-                                       deleteObject(id);
+                                       int id = _selectedObjects[i];                                   
+                                       std::map<int,GObjectController*>::iterator it;
+                    it = _controllers.find(id);
+                                       if (it!=_controllers.end())
+                                       {
+                                               deleteObject(id);
+                                       }
                                }
                                _selectedObjects.clear();
                        }
@@ -812,6 +817,28 @@ namespace bbtk
 
        //=========================================================================
 
+       void wxVtkSceneManager::AddControlerToBeRemove(std::vector<int> *controllersToRemove, int id)
+       {
+               
+               int i;
+               bool ok=true;
+               for(i=0 ; i < (int)controllersToRemove->size() ; i++ )
+               {
+                       if (id == (*controllersToRemove)[i] )
+                       {
+                               ok=false;
+                       }
+               }
+               
+               if (ok==true)
+               {
+                  controllersToRemove->push_back( id );
+               }
+               
+       }
+       
+       //=========================================================================
+       
        void wxVtkSceneManager::deleteObject(int id)
        {
                GObjectController *control = _controllers[id];
@@ -825,9 +852,9 @@ namespace bbtk
                        bool boxConnected = false;
 
                        // Add box input controllers to be removed
-                       for(int i = 0;i<inputs.size();i++)
+                       for(int i = 0;i< (int)inputs.size();i++)
                        {
-                               controllersToRemove.push_back(inputs[i]->getObjectId());
+                               AddControlerToBeRemove( &controllersToRemove, inputs[i]->getObjectId() );
                                if(inputs[i]->isConnected())
                                {
                                        boxConnected = true;
@@ -837,9 +864,9 @@ namespace bbtk
                        std::vector<GPortModel*> outputs = bbmod->getOutputPorts();
 
                        // Add box output controllers to be removed
-                       for(int i = 0;i<outputs.size();i++)
+                       for(int i = 0;i<(int)outputs.size();i++)
                        {
-                               controllersToRemove.push_back(outputs[i]->getObjectId());
+                               AddControlerToBeRemove( &controllersToRemove, outputs[i]->getObjectId() );
                                if(outputs[i]->isConnected())
                                {
                                        boxConnected = true;
@@ -857,37 +884,39 @@ namespace bbtk
                                        GConnectorModel *conMod = (GConnectorModel*)cont->getModel();
                                        if(conMod->getStartPort()!=NULL && conMod->getStartPort()->getParentBox()->getObjectId() == bbmod->getObjectId())
                                        {
-                                               controllersToRemove.push_back(conMod->getObjectId());
+                                               AddControlerToBeRemove( &controllersToRemove, conMod->getObjectId() );
                                        }
                                        if(conMod->getEndPort()!=NULL && conMod->getEndPort()->getParentBox()->getObjectId() == bbmod->getObjectId())
                                        {
-                                               controllersToRemove.push_back(conMod->getObjectId());
+                                               AddControlerToBeRemove( &controllersToRemove, conMod->getObjectId() );
                                        }
                                }
                        }
 
                        // Add box controller to be removed
-                       controllersToRemove.push_back(bbmod->getObjectId());
+                       AddControlerToBeRemove( &controllersToRemove, bbmod->getObjectId() );
                }
                else if(control->getGObjectType()==GCONNECTOR)
                {                       
                        GConnectorModel *conMod = (GConnectorModel*)control->getModel();
-                       controllersToRemove.push_back(conMod->getObjectId());
+                       AddControlerToBeRemove( &controllersToRemove, conMod->getObjectId() );
                }
 
-               for(int i = 0;i<controllersToRemove.size();i++)
+               
+               std::map<int,GObjectController*>::iterator it;
+
+               for(int i = 0;i<(int)controllersToRemove.size();i++)
                {
-                       int id = controllersToRemove[i];
-                       GObjectController *cont = _controllers[id];
+                       int key = controllersToRemove[i];
+                       it = _controllers.find( key );
+                       GObjectController *cont = _controllers[ key ];
                        if(cont!=NULL)
                        {
                                cont->removeFromScene();
                                unregisterController((InteractorStyleMaracas*)cont);                    
-                               _controllers.erase(id);
-                       }
-               }
-
-
+                               _controllers.erase(it);
+                       }//if
+               }// for
        }
 
        //=========================================================================
index 14e1a1dc00663e52b70fe6aa0d5c75af6468053b..14f53f02a716ba91caff3689afb66d938663d5a5 100644 (file)
@@ -157,6 +157,9 @@ namespace bbtk
 
                //Delete the object in the list of controllers with the id given by parameter.
                void deleteObject(int id);
+               
+               void AddControlerToBeRemove(std::vector<int> *controllersToRemove, int id);
+
 
                //Clear list of controllers and refresh
                void deleteAllBoxes();