* \brief Class bbtk::BlackBox : abstract black-box interface.
*/
-/**
-* \class bbtk::wxGEditorTabPanel
-* \brief
-*/
+/****
+* Design and Developpement of BBTK GEditor
+* Ricardo A Corredor J <ra.corredor67@uniandes.edu.co>
+* RaC - 2010
+****/
#ifndef __wxGEditorTabPanel_h__
#define __wxGEditorTabPanel_h__
};
-
+ //RaC: It is important if it exists a double relation
+ //e.g. wxGEditorTabPanel includes wxVtkSceneManager, and wxVtkSceneManager includes wxGEditorTabPanel
class wxVtkSceneManager;
-
class wxTabPanelsManager;
+ // RaC Be careful with the double heritance
class wxGEditorTabPanel : public wxPanel, public wxTextDropTarget
{
public:
~wxGEditorTabPanel();
void initWxVtkCanvas();
- virtual bool OnDropText(wxCoord x, wxCoord y, const wxString& data);
+
+ // Sets the parent manager
void setPanelsManager(wxTabPanelsManager* panelsManager);
- void displayBlackBoxInfo(std::string packageName, std::string boxName);
- void updateStatusBar(std::string textStatus);
+ // Get the BBS script of the pipeline diagram included in the panel
std::string getDiagramBBS();
+
+ // Saves the actual BBS as complex box
+ // RaC TOFIX It must be included the package of the complex box
std::string saveComplexBoxBBS(std::string cbName,std::string cbAuthor="",std::string cbCategory="",std::string cbDescription="");
+
+ // Shows the dialog to edit black box parameters
void editBlackBox(GBlackBoxModel *bbmodel);
- void editDiagramParameters(wxVtkSceneManager* scene);
- void deleteAllBoxes();
- void centerView();
+
+ // Save diagram as BBG
void saveDiagram(std::string &content);
+
+ // Load BBG diagram
void loadDiagram(ifstream &inputStream);
+
+ // Add a new complex input object to the scene
+ void addComplexInputPort(std::string portName);
+
+ // Add a new complex output object to the scene
+ void addComplexOutputPort(std::string portName);
+
+ // Delete all boxes in the diagram
+ void deleteAllBoxes();
+
+ // Center the camera in the initial position
+ void centerView();
+
+ // Display feedback info in the GUI
+ void displayBlackBoxInfo(std::string packageName, std::string boxName);
+ void updateStatusBar(std::string textStatus);
+
int getPanelId();
bool isComplexBox();
void setComplexBox(bool val);
- void addComplexInputPort(std::string portName);
- void addComplexOutputPort(std::string portName);
+
+ // Returns a map with the id,controller of all the objects selected
std::map<int,GObjectController*> getSelectedObjects();
+
void addObjects(std::map<int,GObjectController*> objectsMap);
int getNumSelectedObjects();
+ // Receives the string from a drag and drop source as for example the BBTK Package Browser
+ virtual bool OnDropText(wxCoord x, wxCoord y, const wxString& data);
+
+
+ wxVtkSceneManager* getSceneManager();
//=========================================================================
private:
- int _id;
- wxAuiManager *_panelAUIMgr;
- wxVtkSceneManager *_sceneManager;
- wxTabPanelsManager* _panelsManager;
+ int _id;
+ wxAuiManager *_panelAUIMgr;
+ wxVtkSceneManager *_sceneManager;
+ wxTabPanelsManager * _panelsManager;
protected: