+/*
+# ---------------------------------------------------------------------
+#
+# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
+# pour la Santé)
+# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+#
+# This software is governed by the CeCILL-B license under French law and
+# abiding by the rules of distribution of free software. You can use,
+# modify and/ or redistribute the software under the terms of the CeCILL-B
+# license as circulated by CEA, CNRS and INRIA at the following URL
+# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
+# or in the file LICENSE.txt.
+#
+# As a counterpart to the access to the source code and rights to copy,
+# modify and redistribute granted by the license, users are provided only
+# with a limited warranty and the software's author, the holder of the
+# economic rights, and the successive licensors have only limited
+# liability.
+#
+# The fact that you are presently reading this means that you have had
+# knowledge of the CeCILL-B license and that you accept its terms.
+# ------------------------------------------------------------------------
+*/
+
/*=========================================================================
Program: bbtk
Module: $RCSfile$
//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());
}
}
void wxGUIEditorGraphicBBS::OnEditDiagramProperties(wxCommandEvent& event)
{
wxDiagramPropertiesEditionDialog* dialog =
- new wxDiagramPropertiesEditionDialog(this);
+ new wxDiagramPropertiesEditionDialog(this, tree);
dialog->Show();
}
}
//=========================================================================
-
+//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
}
//=========================================================================
{
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
}
//=========================================================================
if(userResponse==wxID_OK)
{
std::string path = wx2std (FD->GetPath()) ;
+ #ifdef WIN32
+ std::string fname = path + "\\bbtkPackage";
+ #else
std::string fname = path + "/bbtkPackage";
+ #endif
+
std::cout << "Path chosen = \"" << FD->GetPath() << "\"" << std::endl;
if ( Utilities::FileExists( fname ) )
{
f.open(fname.c_str());
std::string pname;
f >> pname;
+ while(pname[0] == '#')
+ {
+ getline(f, pname, '\n');
+ f >> pname;
+ }
f.close();
bbtk::ConfigurationFile::GetInstance().AddPackagePathsAndWrite( path );