/*========================================================================= Program: bbtk Module: $RCSfile$ Language: C++ Date: $Date$ Version: $Revision$ =========================================================================*/ /* --------------------------------------------------------------------- * Copyright (c) CREATIS-LRMN (Centre de Recherche en Imagerie Medicale) * Authors : Eduardo Davila, Laurent Guigues, Jean-Pierre Roux * * 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. * ------------------------------------------------------------------------ */ /** * \file * \brief Class bbtk::wxGEditorTabPanel . */ #include "wxGEditorTabPanel.h" #include "creaWx.h" namespace bbtk { //========================================================================= wxGEditorTabPanel::wxGEditorTabPanel() { printf ("EED %p wxGEditorTabPanel 1 ()\n" , this ); } //========================================================================= wxGEditorTabPanel::wxGEditorTabPanel(wxWindow *parent,int id):wxPanel(parent),wxTextDropTarget() { printf ("EED %p wxGEditorTabPanel 2 ()\n" , this ); _id=id; _panelAUIMgr = new wxAuiManager(this); _sceneManager = NULL; initWxVtkCanvas(); } //========================================================================= wxGEditorTabPanel::~wxGEditorTabPanel() { printf ("EED %p ~wxGEditorTabPanel()\n" , this ); //ED02JUIN2010 _sceneManager->disconnectDrop(); } //========================================================================= void wxGEditorTabPanel::initWxVtkCanvas() { wxVtk3DBaseView *baseview = new wxVtk3DBaseView(this); baseview->Configure(); _sceneManager=new wxVtkSceneManager(this,baseview,_id); printf("RaC-EED 21-06-2010 wxGEditorTabPanel::initWxVtkCanvas Remove the panelAUIMgr, and change to a normal sizer inside the wxGEditorTabPanel\n"); _panelAUIMgr->AddPane((wxWindow*)baseview->GetWxVTKRenderWindowInteractor(),wxAuiPaneInfo().Fixed().CenterPane()); //EED02JUIN2010 _panelAUIMgr->Update(); } //========================================================================= bool wxGEditorTabPanel::OnDropText(wxCoord x, wxCoord y, const wxString& data) { std::string packageName=""; std::string boxType=""; wxString foo( (data) ); char str[150]; strcpy( str, (const char*)foo.mb_str(wxConvUTF8) ); char delims[] = ":"; char *result = NULL; result = strtok( str, delims ); packageName += result; result = strtok( NULL, delims ); boxType += result; _sceneManager->createGBlackBox(x,y,packageName, boxType); return true; } //========================================================================= void wxGEditorTabPanel::setPanelsManager(wxTabPanelsManager* panelsManager) { _panelsManager = panelsManager; } //========================================================================= void wxGEditorTabPanel::displayBlackBoxInfo(std::string packageName, std::string boxName) { _panelsManager->displayBlackBoxInfo(packageName,boxName); } //========================================================================= void wxGEditorTabPanel::updateStatusBar(std::string textStatus) { _panelsManager->updateStatusBar(textStatus); } //========================================================================= std::string wxGEditorTabPanel::getDiagramBBS() { return _sceneManager->getDiagramBBS(); } //========================================================================= std::string wxGEditorTabPanel::saveComplexBoxBBS(std::string cbName,std::string cbAuthor,std::string cbCategory,std::string cbDescription) { return _sceneManager->saveComplexBoxBBS(cbName,cbAuthor,cbCategory,cbDescription); } //========================================================================= void wxGEditorTabPanel::editBlackBox(GBlackBoxModel *bbmodel) { _panelsManager->editBlackBox(bbmodel); } //========================================================================= void wxGEditorTabPanel::deleteAllBoxes() { _sceneManager->deleteAllBoxes(); } //========================================================================= void wxGEditorTabPanel::centerView() { _sceneManager->centerView(); } //========================================================================= void wxGEditorTabPanel::saveDiagram(std::string &content) { _sceneManager->saveDiagram(content); } //========================================================================= void wxGEditorTabPanel::loadDiagram(ifstream &inputStream) { _sceneManager->loadDiagram(inputStream); } //========================================================================= int wxGEditorTabPanel::getPanelId() { return _id; } //========================================================================= bool wxGEditorTabPanel::isComplexBox() { return _sceneManager->isComplexBox(); } //========================================================================= void wxGEditorTabPanel::setComplexBox(bool val) { _sceneManager->setComplexBox(val); } //========================================================================= void wxGEditorTabPanel::addComplexInputPort(std::string portName) { _sceneManager->createGComplexBoxInputPort(portName); } //========================================================================= void wxGEditorTabPanel::addComplexOutputPort(std::string portName) { _sceneManager->createGComplexBoxOutputPort(portName); } //========================================================================= std::map wxGEditorTabPanel::getSelectedObjects() { return _sceneManager->getSelectedObjects(); } //========================================================================= void wxGEditorTabPanel::addObjects(std::map objectsMap) { _sceneManager->addObjects(objectsMap); } //========================================================================= int wxGEditorTabPanel::getNumSelectedObjects() { return _sceneManager->getNumSelectedObjects(); } //========================================================================= wxVtkSceneManager* wxGEditorTabPanel::getSceneManager() { return _sceneManager; } } // EO namespace bbtk // EOF