]> Creatis software - bbtkGEditor.git/blobdiff - lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/bbtkwxGUIEditorGraphicBBS.cxx
Feature #1758
[bbtkGEditor.git] / lib / EditorGraphicBBS / bbsWxGUIEditorGraphic / bbtkwxGUIEditorGraphicBBS.cxx
index af3e5ce7d1e592f1ebddd3f15cc0c8e569f48a21..377f625fd6f7f914041541df17b8bc339830354d 100644 (file)
 namespace bbtk {
 
 //=========================================================================
-wxGUIEditorGraphicBBS::wxGUIEditorGraphicBBS(wxFrame *parent) :
-                       wxFrame(parent, -1, _T("bbtkGEditor"), wxDefaultPosition, wxSize(
-                                       1200, 800)) {
-
+wxGUIEditorGraphicBBS::wxGUIEditorGraphicBBS(wxFrame *parent) 
+       : wxFrame( parent, -1, _T("bbtkGEditor"), wxDefaultPosition, wxSize(1200,800) ) 
+{
+       _pkgBrowser = NULL;
        _frameAUIMgr = new wxAuiManager(this);
 
        /*std::string datadir( crea::System::GetExecutablePath() );
@@ -69,8 +69,8 @@ wxGUIEditorGraphicBBS::wxGUIEditorGraphicBBS(wxFrame *parent) :
 
        initMenu();
        initToolbar();
-       initTabPanelsManager();
        initPackageBrowser();
+       initTabPanelsManager();
         // JGGR & CM  initHelpHTMLBrowser();
         _helpHtmlBrowser = NULL;
        CreateStatusBar();
@@ -252,27 +252,21 @@ void wxGUIEditorGraphicBBS::initMenu() {
                        wxCommandEventHandler(wxGUIEditorGraphicBBS::OnOpenBBS));
        Connect(ID_SAVE_AS_BBS, wxEVT_COMMAND_MENU_SELECTED,
                        wxCommandEventHandler(wxGUIEditorGraphicBBS::OnSaveActualBBS));
-       Connect(
-                       ID_SAVE_AS_COMPLEXBOX,
-                       wxEVT_COMMAND_MENU_SELECTED,
+       Connect( ID_SAVE_AS_COMPLEXBOX, wxEVT_COMMAND_MENU_SELECTED,
                        wxCommandEventHandler(wxGUIEditorGraphicBBS::OnSaveActualComplexBox));
-       Connect(
-                       ID_EXPORT_CONSOLEAPP,
-                               wxEVT_COMMAND_MENU_SELECTED,
+       Connect( ID_EXPORT_CONSOLEAPP, wxEVT_COMMAND_MENU_SELECTED,
                                wxCommandEventHandler(wxGUIEditorGraphicBBS::OnExportConsoleExecCommand));
        Connect(wxID_EXIT, wxEVT_COMMAND_MENU_SELECTED,
                        wxCommandEventHandler(wxGUIEditorGraphicBBS::OnExit));
 
-       // Create Help menu and its items
+       // Create Edit menu and its items
        wxMenu *editMenu = new wxMenu;
-       editMenu->Append(ID_COPY_TO_COMPLEXDIAGRAM,
-                       _T("Copy selected to complex box"),
-                       _T("Creates a new complex box diagram with selected boxes"));
-
-       Connect(
-                       ID_COPY_TO_COMPLEXDIAGRAM,
-                       wxEVT_COMMAND_MENU_SELECTED,
-                       wxCommandEventHandler(wxGUIEditorGraphicBBS::OnCopySelectedToComplexDiagram));
+       editMenu->Append(ID_COPY_TO_COMPLEXDIAGRAM, _T("Copy selected to complex box"), _T("Creates a new complex box diagram with selected boxes"));
+       editMenu->Append(ID_EDIT_COMPLEXBOX_SCRIPT, _T("Edit Complex Box"), _T("Edit Complex Box"));
+       Connect( ID_COPY_TO_COMPLEXDIAGRAM, wxEVT_COMMAND_MENU_SELECTED,
+                        wxCommandEventHandler(wxGUIEditorGraphicBBS::OnCopySelectedToComplexDiagram));
+       Connect( ID_EDIT_COMPLEXBOX_SCRIPT, wxEVT_COMMAND_MENU_SELECTED,
+                       wxCommandEventHandler(wxGUIEditorGraphicBBS::OnEditComplexBoxScript));
 
        // Create Help menu and its items
        wxMenu *helpMenu = new wxMenu;
@@ -430,16 +424,22 @@ wxAuiNotebook* wxGUIEditorGraphicBBS::getAuiNotebook() {
 
 //================================================================
 
-void wxGUIEditorGraphicBBS::displayBlackBoxInfo(std::string packageName,
-               std::string boxName) {
-       if (_actualPkgBrowserPkgName != packageName || _actualPkgBrowserBoxName
-                       != boxName) {
+void wxGUIEditorGraphicBBS::displayBlackBoxInfo(std::string packageName, std::string boxName) 
+{
+       if (_actualPkgBrowserPkgName != packageName || _actualPkgBrowserBoxName != boxName) 
+       {
                _actualPkgBrowserPkgName = packageName;
                _actualPkgBrowserBoxName = boxName;
 
-               BlackBoxDescriptor::Pointer descriptor =
-                               GObjectsMVCFactory::getInstance()->getBlackBoxDescriptor(
-                                               packageName, boxName);
+//EED 15 oct 2012              BlackBoxDescriptor::Pointer descriptor = GObjectsMVCFactory::getInstance()->getBlackBoxDescriptor(packageName, boxName);
+               
+               Package::Pointer k;
+               BlackBoxDescriptor::Pointer descriptor;
+               std::map< std::string, BlackBoxDescriptor::Pointer> mapDesc;
+               k                       = _pkgBrowser->GetFactory()->GetPackage(packageName);
+               mapDesc         = k->GetDescriptorMap();                
+               descriptor      = mapDesc[boxName];
+               
                _pkgBrowser->WxGUIBlackBoxListUserOnSelected(descriptor.get());
        }
 }
@@ -587,29 +587,47 @@ void wxGUIEditorGraphicBBS::OnExecuteActualDiagram(wxCommandEvent& event) {
        executeScript(script2);
 }
 
+       
+//=========================================================================
+void wxGUIEditorGraphicBBS::OpenBBS(std::string filePathName, std::string fileName) 
+{
+       _tabsMgr->addNewTab( crea::std2wx(fileName) );
+       bbtk::InterpreterBBS::Pointer I = bbtk::InterpreterBBS::New( this->_tabsMgr->getActualTabPanel()->getSceneManager(), _pkgBrowser->GetFactory());
+       // We tell the interpreter to throw exceptions on error
+       I->SetThrow(true);
+       // Interpret the file supposed to define a box called 'Processing'
+       I->InterpretFile( filePathName );
+       refreshGUIControls();
+}
+       
 //=========================================================================
 // HANDLERS
 //=========================================================================
-void wxGUIEditorGraphicBBS::OnOpenBBS(wxCommandEvent& event) {
-       wxFileDialog * openFileDialog = new wxFileDialog(this, wxT("Open BBS"),
-                       wxEmptyString, wxT("NewBBS"), wxT("*.bbs"), wxOPEN);
-       if (openFileDialog->ShowModal() == wxID_OK) {
-               wxString fileName = openFileDialog->GetPath();
+void wxGUIEditorGraphicBBS::OnOpenBBS(wxCommandEvent& event) 
+{
+       wxFileDialog * openFileDialog = new wxFileDialog(this, wxT("Open BBS"), wxEmptyString, wxT("NewBBS"), wxT("*.bbs"), wxOPEN);
 
+       if (openFileDialog->ShowModal() == wxID_OK) 
+       {
+               OpenBBS( crea::wx2std(openFileDialog->GetPath()) , crea::wx2std(openFileDialog->GetFilename())  );
+       }
+       
+/*EED Borrame  
+       if (openFileDialog->ShowModal() == wxID_OK) 
+       {
+               wxString fileName = openFileDialog->GetPath();
                _tabsMgr->addNewTab(openFileDialog->GetFilename());
-
-               bbtk::InterpreterBBS::Pointer I = bbtk::InterpreterBBS::New(
-                               this->_tabsMgr->getActualTabPanel()->getSceneManager(),
-                               _pkgBrowser->GetFactory());
-
+               bbtk::InterpreterBBS::Pointer I = bbtk::InterpreterBBS::New( this->_tabsMgr->getActualTabPanel()->getSceneManager(), _pkgBrowser->GetFactory());
                // We tell the interpreter to throw exceptions on error
                I->SetThrow(true);
                // Interpret the file supposed to define a box called 'Processing'
                I->InterpretFile((const char*) (fileName.mb_str()));
        }
        refreshGUIControls();
+*/ 
 }
 
+//=========================================================================
 void wxGUIEditorGraphicBBS::SaveActualBBS(std::string filename) {
        ofstream file;
 
@@ -951,63 +969,70 @@ void wxGUIEditorGraphicBBS::refreshGUIControls() {
 
 //=========================================================================
 
-void wxGUIEditorGraphicBBS::OnDeleteAllBoxesActualDiagram(wxCommandEvent& event) {
-       wxMessageDialog *dial = new wxMessageDialog(NULL,
-                       wxT("Are you sure to delete all boxes of the diagram?"),
-                       wxT("Delete all boxes"), wxYES_NO | wxNO_DEFAULT
-                                       | wxICON_QUESTION);
-       if (dial->ShowModal() == wxID_YES) {
+void wxGUIEditorGraphicBBS::OnDeleteAllBoxesActualDiagram(wxCommandEvent& event) 
+{
+       wxMessageDialog *dial = new wxMessageDialog(NULL,wxT("Are you sure to delete all boxes of the diagram?"),wxT("Delete all boxes"), wxYES_NO | wxNO_DEFAULT| wxICON_QUESTION);
+       if (dial->ShowModal() == wxID_YES)
+       {
                _tabsMgr->deleteAllBoxesActualDiagram();
        }
 }
 
 //=========================================================================
 
-void wxGUIEditorGraphicBBS::OnCenterViewActualDiagram(wxCommandEvent& event) {
+void wxGUIEditorGraphicBBS::OnCenterViewActualDiagram(wxCommandEvent& event) 
+{
        _tabsMgr->centerViewActualDiagram();
 }
 
 //=========================================================================
-
-void wxGUIEditorGraphicBBS::OnOpenDiagram(wxCommandEvent& event) {
-       wxFileDialog * openFileDialog = new wxFileDialog(this, wxT("Open diagram"),
-                       wxEmptyString, wxT(""), wxT("*.bbg"), wxOPEN | wxFILE_MUST_EXIST);
-       printf("SCP: wxGUIEditorGraphicBBS::OnOpenDiagram  \n");
-       if (openFileDialog->ShowModal() == wxID_OK) {
-               wxString fileName = openFileDialog->GetPath();
-               ifstream inputStream;
-               std::string fName = (const char*) (fileName.mb_str());
-
-               inputStream.open(fName.c_str());
-               assert(inputStream.good()); // fails
-               _tabsMgr->addNewTab(openFileDialog->GetFilename());
-               _tabsMgr->loadDiagram(inputStream, fName);
-               _tabsMgr->saveTempActualDiagram("load diagram");
-               GetToolBar()->EnableTool(ID_UNDO, false);
-               GetToolBar()->EnableTool(ID_UNDO, false);
+void wxGUIEditorGraphicBBS::OpenDiagram(std::string filePathName, std::string fileName) 
+{
+       ifstream inputStream;   
+       inputStream.open(filePathName.c_str());
+       assert(inputStream.good()); // fails
+       
+       if(_tabsMgr->FindTab(filePathName)!=-1) //RaC2012 avoid opening same diagram twice
+       {
                inputStream.close();
+               printf("RaC: Diagram already opened\n");
+               return;
        }
+       _tabsMgr->addNewTab( crea::std2wx(fileName) );
+       _tabsMgr->loadDiagram(inputStream, filePathName);
+       _tabsMgr->saveTempActualDiagram("load diagram");
+       GetToolBar()->EnableTool(ID_UNDO, false);
+       GetToolBar()->EnableTool(ID_UNDO, false);
+       inputStream.close();
        refreshGUIControls();
 }
-
+       
 //=========================================================================
 
+void wxGUIEditorGraphicBBS::OnOpenDiagram(wxCommandEvent& event) 
+{
+       wxFileDialog * openFileDialog = new wxFileDialog(this, wxT("Open diagram"), wxEmptyString, wxT(""), wxT("*.bbg"), wxOPEN | wxFILE_MUST_EXIST);
+       if (openFileDialog->ShowModal() == wxID_OK) 
+       {
+               wxString filePath = openFileDialog->GetPath();
+               wxString fileName = openFileDialog->GetFilename();
+               OpenDiagram( crea::wx2std(filePath) , crea::wx2std(fileName) );                                 
+       }
+}
 
-void wxGUIEditorGraphicBBS::OnClickBtnBox(wxCommandEvent& event) {
+//=========================================================================
+void wxGUIEditorGraphicBBS::OnClickBtnBox(wxCommandEvent& event) 
+{
        BlackBoxDescriptor *bbDes = _pkgBrowser->GetActualSelected();
        if (bbDes != NULL) {
                std::string typeName = bbDes->GetTypeName();
                std::string packageName = bbDes->GetPackage()->GetName();
-
                wxGEditorTabPanel *pnl = this->_tabsMgr->getActualTabPanel();
-               
-
                if (pnl != NULL) {
                        wxVtkSceneManager *scn = pnl->getSceneManager();
                        scn->createGBlackBox(50, 50, packageName, typeName);
                        scn->refresh();
                }
-
                SaveTempActualDiagram("New Box");
                // if pnl
        }// if bbDes
@@ -1015,7 +1040,8 @@ void wxGUIEditorGraphicBBS::OnClickBtnBox(wxCommandEvent& event) {
 
 //=========================================================================
 
-void wxGUIEditorGraphicBBS::OnClickBtnExecutableBox(wxCommandEvent& event) {
+void wxGUIEditorGraphicBBS::OnClickBtnExecutableBox(wxCommandEvent& event) 
+{
        //DFCH
        wxGEditorTabPanel *pnl = this->_tabsMgr->getActualTabPanel();
 
@@ -1031,8 +1057,8 @@ void wxGUIEditorGraphicBBS::OnClickBtnExecutableBox(wxCommandEvent& event) {
 }
 
 //=========================================================================
-
-void wxGUIEditorGraphicBBS::OnClickBtnComplexBox(wxCommandEvent& event) {
+void wxGUIEditorGraphicBBS::OnClickBtnComplexBox(wxCommandEvent& event) 
+{
        wxToolBar* toolbar = GetToolBar();
        bool temp = toolbar->GetToolState(ID_BTNCOMPLEXBOX);
        if (temp) {
@@ -1044,7 +1070,8 @@ void wxGUIEditorGraphicBBS::OnClickBtnComplexBox(wxCommandEvent& event) {
 
 //=========================================================================
 
-void wxGUIEditorGraphicBBS::OnAddComplexBoxInput(wxCommandEvent& event) {
+void wxGUIEditorGraphicBBS::OnAddComplexBoxInput(wxCommandEvent& event) 
+{
        wxTextEntryDialog *nameDialog = new wxTextEntryDialog(this,
                        wxT("Name of input port"));
        if (nameDialog->ShowModal() == wxID_OK) {
@@ -1057,8 +1084,8 @@ void wxGUIEditorGraphicBBS::OnAddComplexBoxInput(wxCommandEvent& event) {
 }
 
 //=========================================================================
-
-void wxGUIEditorGraphicBBS::OnAddComplexBoxOutput(wxCommandEvent& event) {
+void wxGUIEditorGraphicBBS::OnAddComplexBoxOutput(wxCommandEvent& event) 
+{
        wxTextEntryDialog *nameDialog = new wxTextEntryDialog(this,
                        wxT("Name of output port"));
        if (nameDialog->ShowModal() == wxID_OK) {
@@ -1071,28 +1098,33 @@ void wxGUIEditorGraphicBBS::OnAddComplexBoxOutput(wxCommandEvent& event) {
 }
 
 //=========================================================================
-
 void wxGUIEditorGraphicBBS::OnCopySelectedToComplexDiagram(
-               wxCommandEvent& event) {
+               wxCommandEvent& event) 
+{
        _tabsMgr->copySelectedBBoxesToComplexDiagram();
 }
 
-void wxGUIEditorGraphicBBS::OnHelpBBeditor(wxCommandEvent& event) {
+//=========================================================================
+void wxGUIEditorGraphicBBS::OnHelpBBeditor(wxCommandEvent& event) 
+{
        printf("wxGUIEditorGraphicBBS::OnHelpBBeditor ....not implemented..\n");
 }
 
 //=========================================================================
-void wxGUIEditorGraphicBBS::OnCreatePackage(wxCommandEvent& event) {
-
+void wxGUIEditorGraphicBBS::OnCreatePackage(wxCommandEvent& event) 
+{
        bbtkSystemTools::CreatePackage();
 }
 
 //=========================================================================
-void wxGUIEditorGraphicBBS::OnCreateBlackBox(wxCommandEvent& event) {
+void wxGUIEditorGraphicBBS::OnCreateBlackBox(wxCommandEvent& event) 
+{
        bbtkSystemTools::CreateBlackBox();
 }
+       
 //=========================================================================
-void wxGUIEditorGraphicBBS::OnPlugPackage(wxCommandEvent& event) {
+void wxGUIEditorGraphicBBS::OnPlugPackage(wxCommandEvent& event) 
+{
        //DFGO2012 Plug Package functionnalities
        long style = wxDD_DEFAULT_STYLE | wxDD_DIR_MUST_EXIST;
        wxDirDialog* FD =
@@ -1144,8 +1176,10 @@ void wxGUIEditorGraphicBBS::OnPlugPackage(wxCommandEvent& event) {
        }while(userResponse != wxID_CANCEL);
 
 }
+       
 //=========================================================================
-void wxGUIEditorGraphicBBS::OnEditConfig(wxCommandEvent& event) {
+void wxGUIEditorGraphicBBS::OnEditConfig(wxCommandEvent& event) 
+{
        std::string commandStr;
            std::string configFile = ConfigurationFile::GetInstance().Get_config_xml_full_path();
        #ifdef WIN32
@@ -1156,10 +1190,11 @@ void wxGUIEditorGraphicBBS::OnEditConfig(wxCommandEvent& event) {
                commandStr = commandStr + configFile;
                std::cout << "system: " << commandStr << std::endl;
                system ( commandStr.c_str() );
-    }
-    //=========================================================================
-
-    void wxGUIEditorGraphicBBS::OnShowHTMLDoc(wxCommandEvent& event) {
+}
+       
+//=========================================================================
+void wxGUIEditorGraphicBBS::OnShowHTMLDoc(wxCommandEvent& event) 
+{
         // JGRR & CM WH
         if (_helpHtmlBrowser != NULL){
              _frameAUIMgr->DetachPane(_helpHtmlBrowser);
@@ -1172,82 +1207,168 @@ void wxGUIEditorGraphicBBS::OnEditConfig(wxCommandEvent& event) {
         
         // EO JGRR    & CM WH       
 }
+       
 //=========================================================================
-void wxGUIEditorGraphicBBS::OnCreateIndex(wxCommandEvent& event) {
+void wxGUIEditorGraphicBBS::OnCreateIndex(wxCommandEvent& event) 
+{
        printf("EED wxGUIEditorGraphicBBS::OnCreateIndex ... not implemented ..\n");
 }
 
+       
 //=========================================================================
+void wxGUIEditorGraphicBBS::OnEditComplexBoxScript(wxCommandEvent& event)
+{
+       BlackBoxDescriptor *bbDes = _pkgBrowser->GetActualSelected();
+       if (bbDes != NULL) 
+       {
+               std::string packageName = bbDes->GetPackage()->GetName();
+               std::string typeName = bbDes->GetTypeName();
+               if (!TryToOpenScriptComplexBox(packageName ,typeName))
+               {
+                       wxMessageDialog windowMessage1(NULL,_T("This is not a ComplexBox script."), _T("Alert !"), wxOK);
+                       windowMessage1.ShowModal();
+               }
+       }// if bbDes
+}
 
-void wxGUIEditorGraphicBBS::OnExit(wxCommandEvent& event) {
+//=========================================================================
+void wxGUIEditorGraphicBBS::OnExit(wxCommandEvent& event) 
+{
        Close(true);
 }
 
-//=========================================================================
+Factory::Pointer wxGUIEditorGraphicBBS::GetBBTKFactory()
+{
+       if (_pkgBrowser==NULL) 
+       {
+               printf ("EED ERROR! wxGUIEditorGraphicBBS::GetBBTKFactory _pkgBrowser = NULL\n");
+       }
+       return _pkgBrowser->GetFactory();
+}
 
-void wxGUIEditorGraphicBBS::enableComplexBox() {
+//=========================================================================
+void wxGUIEditorGraphicBBS::enableComplexBox() 
+{
        _tabsMgr->setActualDiagramComplexBox(true);
        refreshGUIControls();
 }
 
 //=========================================================================
 
-void wxGUIEditorGraphicBBS::disableComplexBox() {
+void wxGUIEditorGraphicBBS::disableComplexBox() 
+{
        _tabsMgr->setActualDiagramComplexBox(false);
        refreshGUIControls();
 }
 
 //=========================================================================
-
 void wxGUIEditorGraphicBBS::setCurrentDiagramDescription(std::string description)
 {
        _tabsMgr->SetDescription(description);
 }
 
 //=========================================================================
-
 void wxGUIEditorGraphicBBS::setCurrentDiagramAuthor(std::string author)
 {
        _tabsMgr->SetAuthor(author);
 }
 
 //=========================================================================
-
 void wxGUIEditorGraphicBBS::setCurrentDiagramCategory(std::string category)
 {
        _tabsMgr->SetCategory(category);
 }
 
 //=========================================================================
-
 std::string wxGUIEditorGraphicBBS::getCurrentDiagramDescription()
 {
        return _tabsMgr->GetDescription();
 }
 
 //=========================================================================
-
 std::string wxGUIEditorGraphicBBS::getCurrentDiagramAuthor()
 {
        return _tabsMgr->GetAuthor();
 }
 
 //=========================================================================
-
-
 std::string wxGUIEditorGraphicBBS::getCurrentDiagramCategory()
 {
        return _tabsMgr->GetCategory();
 }
 
+       
 //=========================================================================
-
 bool wxGUIEditorGraphicBBS::isCurrentDiagramComplexBox()
 {
        return _tabsMgr->isActualDiagramComplexBox();
 }
 
 
+//=========================================================================
+void wxGUIEditorGraphicBBS::OpenScript(std::string filePathNameBBS ,std::string boxType)
+{      
+       std::string fileName                                                    = boxType+".bbg";
+       std::string filePathNameBBG                                             = filePathNameBBS;
+       filePathNameBBG[ filePathNameBBG.length()-1 ]   = 'g';
+       
+       wxMessageDialog windowMessage1(NULL,_T("The system is going to open a bbg or bbs for you. Be careful if you save this file."), _T("Alert !"), wxOK);
+       windowMessage1.ShowModal();
+       
+       if ( Utilities::FileExists( filePathNameBBG ) )
+       {
+               OpenDiagram( filePathNameBBG , fileName );     
+       } else {
+               if ( Utilities::FileExists( filePathNameBBS ) )
+               {
+                       OpenBBS( filePathNameBBS , fileName );     
+               } else {
+                       wxMessageDialog windowMessage1(NULL,_T("..ERROR.. loading script bbg/bbs."), _T("Alert !"), wxOK);
+                       windowMessage1.ShowModal();
+               } // FileExists BBS
+       } // FieExists BBG
+} //OpenScript
+       
+       
+       
+//=========================================================================
+bool wxGUIEditorGraphicBBS::TryToOpenScriptApplication(std::string packageName ,std::string boxType)
+{      
+       return TryToOpenScript(packageName ,boxType, true, false);
+}              
+
+//=========================================================================
+bool wxGUIEditorGraphicBBS::TryToOpenScriptComplexBox(std::string packageName ,std::string boxType)
+{      
+       return TryToOpenScript(packageName ,boxType, false, true);
+}              
+       
+       
+//=========================================================================
+bool wxGUIEditorGraphicBBS::TryToOpenScript(std::string packageName ,std::string boxType,bool scriptApplication, bool scriptComplexBox)
+{      
+       Package::Pointer k;
+       std::map< std::string, BlackBoxDescriptor::Pointer> mapDesc;
+       BlackBoxDescriptor::Pointer descriptor;
+       k                       = GetBBTKFactory()->GetPackage(packageName);
+       mapDesc         = k->GetDescriptorMap();
+       descriptor      = mapDesc[boxType];
+
+       bool result=false;
+       
+       if (
+               ((descriptor->IsTypeOfScript_Application()==true) && (scriptApplication==true))
+               ||
+               ((descriptor->IsTypeOfScript_ComplexBox()==true) && (scriptComplexBox==true))           
+               )
+       {
+               result=true;
+               OpenScript(descriptor->GetScriptFileName(),boxType);
+       }
+       
+       return result;
+}      
+       
 } // EO namespace bbtk
 
 // EOF