]> Creatis software - creaMaracasVisu.git/commitdiff
*** empty log message ***
authorJuan Prieto <Juan.Prieto@creatis.insa-lyon.fr>
Wed, 10 Jun 2009 17:42:28 +0000 (17:42 +0000)
committerJuan Prieto <Juan.Prieto@creatis.insa-lyon.fr>
Wed, 10 Jun 2009 17:42:28 +0000 (17:42 +0000)
bbtk/src/bbcreaMaracasVisuIRMViewer.cxx
bbtk/src/bbmaracasvisuImageActor.cxx
bbtk/src/bbmaracasvisuImageActor.h
bbtk/src/bbmaracasvisuShowNPoints.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/manualContour/manualContourModel.cpp
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasIRMView.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasIRMView.h

index b64a85f8ae8ee5ab3cdacc68be31ea98039d2034..c09a5156ee4d047633a6b026de26a5b380958105 100644 (file)
@@ -58,7 +58,8 @@ void IRMViewer::CreateWidget(wxWindow* parent)
                bbSetInputIn2(NULL);
                bbSetInputIn3(NULL);
                bbSetInputIn4(NULL);
-               bbSetOutputWidget(NULL);
+               bbSetInputRenderer(NULL);
+               bbSetOutputWidget(NULL);                
        }
        
        //-----------------------------------------------------------------     
index 50931410e70ff254a6e9e9b2b97e5b59bfe07f64..2c26bd7c30720429b716bbb2c4f372966eb479ad 100644 (file)
@@ -11,22 +11,29 @@ BBTK_BLACK_BOX_IMPLEMENTATION(ImageActor,bbtk::AtomicBlackBox);
 void ImageActor::Process()
 {
 
-       if ((bbGetInputIn()!=NULL) && (bbGetInputRenderer()!=NULL))
-       {
+       //JCP 04/04/09
+       vtkRenderer *render = bbGetInputRenderer();
+       vtkImageData *img = bbGetInputIn();
+       vtkLinearTransform* transform = bbGetInputTransform();
+
+       if(img != NULL && transform != NULL){
                
                imageactor = vtkImageActor::New();
                vtkImageShiftScale *imageshiftscale = vtkImageShiftScale::New();
-               imageshiftscale->SetInput( bbGetInputIn() );    
+               imageshiftscale->SetInput( img );       
                imageshiftscale->SetOutputScalarTypeToUnsignedChar();   
                imageactor->SetInput( imageshiftscale->GetOutput() );   
-               imageactor->SetUserTransform( bbGetInputTransform() );  
+               imageactor->SetUserTransform( transform );      
+
+               if(render != NULL ){
+                       render->AddActor( imageactor );
+               }
+
+
+               bbSetOutputOut(imageactor);
+
        }
-       // Interface Update
-       if ((firsttime==true) && (bbGetInputRenderer()!=NULL ))
-       {
-               firsttime=false;
-                       bbGetInputRenderer()->AddActor( imageactor );
-       }
+       
 }
 void ImageActor::bbUserSetDefaultValues()
 {
index 054a80fd4835f9194e74c0db2b09088c030e253a..a6297ac1eaa30353625c671137a1de862324a7dd 100644 (file)
@@ -23,7 +23,7 @@ class bbcreaMaracasVisu_EXPORT ImageActor
   BBTK_DECLARE_INPUT(In,vtkImageData*);
   BBTK_DECLARE_INPUT(Transform,vtkLinearTransform*);
   BBTK_DECLARE_INPUT(Renderer,vtkRenderer*);
-//  BBTK_DECLARE_OUTPUT(Out,double);
+  BBTK_DECLARE_OUTPUT(Out,vtkProp3D*);
   BBTK_PROCESS(Process);
   void Process();
   bool firsttime;
@@ -38,7 +38,7 @@ BBTK_CATEGORY("");
 BBTK_INPUT(ImageActor,In,"Image input",vtkImageData*,"");
 BBTK_INPUT(ImageActor,Transform,"Transform",vtkLinearTransform*,"");
 BBTK_INPUT(ImageActor,Renderer,"Renderer",vtkRenderer*,"");
-//BBTK_OUTPUT(ImageActor,Out,"First output",double,"");
+BBTK_OUTPUT(ImageActor,Out,"Output actor",vtkProp3D*,"");
 BBTK_END_DESCRIBE_BLACK_BOX(ImageActor);
 }
 // EO namespace bbcreaMaracasVisu
index 21cb59119c24f6b21d73e3bc97fe954ffb12c98a..83d7fe2a6c03597899453dfa2c0edf9104549248 100644 (file)
@@ -19,7 +19,7 @@ namespace bbcreaMaracasVisu
     this->renderer                             = NULL;
        wxPanel *panel                          = this;
     wxSizer *sizer                             = NULL;
-       
+
 
        // Widget interface
        textCtrl                                                = new wxTextCtrl(panel, -1);
@@ -32,7 +32,7 @@ namespace bbcreaMaracasVisu
        wxButton *btnLoadPoints                 = new wxButton( panel, -1, _T("Load points"));
        txtNrPoints                                             = new wxStaticText(panel,-1, _T(" "));
 
-       wxFlexGridSizer *sizer1 = new wxFlexGridSizer(1); 
+       wxFlexGridSizer *sizer1 = new wxFlexGridSizer(1);
 //    sizer1->Add(new wxStaticText(panel,-1,_T("  ")));
 
          Connect(btnAddPoint->GetId()                  , wxEVT_COMMAND_BUTTON_CLICKED  , (wxObjectEventFunction) &WidgetShowNPoints::OnAddPoint);
@@ -56,8 +56,8 @@ namespace bbcreaMaracasVisu
          sizer = sizer1;
          panel ->      SetSizer(sizer);
          panel ->      SetAutoLayout(true);
-         panel ->      Layout();  
-       
+         panel ->      Layout();
+
 }
 
 
@@ -94,8 +94,8 @@ std::vector<int> WidgetShowNPoints::GetLstPointsZ()
 {
        return lstLabels;
 }
-       
-       
+
+
 
 
 //------------------------------------------------------------------------
@@ -138,7 +138,7 @@ std::string WidgetShowNPoints::CleanSpaces(std::string ss)
        }
        return ss;
 }
-       
+
 //------------------------------------------------------------------------
 void WidgetShowNPoints::AddPoint(int x, int y, int z, std::string label)
 {
@@ -147,14 +147,14 @@ void WidgetShowNPoints::AddPoint(int x, int y, int z, std::string label)
        lstPointsZ.push_back( z );
 
        std::string strLabel = CleanSpaces(  label );
-       
+
        lstLabels.push_back( strLabel );
-       
+
        // Sphere
        vtkSphereSource *vtksphere              = vtkSphereSource::New();
        vtksphere->SetThetaResolution (20);
        vtksphere->SetPhiResolution (20);
-       vtksphere->SetRadius( mradio  ); 
+       vtksphere->SetRadius( mradio  );
        vtkPolyDataMapper *sphereMapper = vtkPolyDataMapper::New();
        sphereMapper->SetInput( vtksphere->GetOutput() );
        vtkActor *sphereActor   = vtkActor::New();
@@ -165,58 +165,58 @@ void WidgetShowNPoints::AddPoint(int x, int y, int z, std::string label)
        sphereActor->SetPosition( spc[0]*x , spc[1]*y , spc[2]*z );
        sphereActor->GetProperty()->SetColor( mcolour[0] , mcolour[1] , mcolour[2] );
        sphereActor->GetProperty()->SetOpacity( mopacity );
-       
+
        lstActorsSphere.push_back(sphereActor);
        renderer->AddActor( sphereActor );
-       
+
        // Actor
        vtkTextActor3D *textActor = vtkTextActor3D::New();
        textActor->SetPosition(  mradio+spc[0]*x , spc[1]*y , spc[2]*z );
        textActor->SetInput( strLabel.c_str()  );
        renderer->AddActor( textActor );
        lstActorsText.push_back(textActor);
-       
-       SetOutputBox(); 
-       
+
+       SetOutputBox();
+
 }
-       
+
 //------------------------------------------------------------------------
 void WidgetShowNPoints::OnAddPoint (wxCommandEvent& event)
 {
-       if (this->renderer!=NULL){ 
+       if (this->renderer!=NULL){
                if (mpoint.size()==3){
-                       AddPoint(mpoint[0],mpoint[1],mpoint[2], (const char*) ( textCtrl->GetValue().mb_str() ) );                      
+                       AddPoint(mpoint[0],mpoint[1],mpoint[2], (const char*) ( textCtrl->GetValue().mb_str() ) );
                } else {//mpoint.size
                        printf("creaMaracasVisu::ShowNPoints (not match point) \n");
                }
        } // renderer
 }
 
-       
+
        //------------------------------------------------------------------------
        void WidgetShowNPoints::SetOutputBox()
        {
                renderer->GetRenderWindow()->Render();
                wxString strTmp;
-               strTmp.Printf("Nbr of points: %d", (int)(lstPointsX.size()) );
+               strTmp.Printf(_T("Nbr of points: %d"), (int)(lstPointsX.size()) );
                txtNrPoints->SetLabel(  strTmp );
-               
+
                //--BBTK
                mbbShowNPoints->bbSetOutputlstPointsX( lstPointsX );
                mbbShowNPoints->bbSetOutputlstPointsY( lstPointsY );
                mbbShowNPoints->bbSetOutputlstPointsZ( lstPointsZ );
                mbbShowNPoints->bbSetOutputlstLabels( lstLabels );
-               mbbShowNPoints->bbSignalOutputModification(std::string("lstPointsX"));    
-               mbbShowNPoints->bbSignalOutputModification(std::string("lstPointsY"));    
-               mbbShowNPoints->bbSignalOutputModification(std::string("lstPointsZ"));    
-               mbbShowNPoints->bbSignalOutputModification(std::string("lstLabels"));    
+               mbbShowNPoints->bbSignalOutputModification(std::string("lstPointsX"));
+               mbbShowNPoints->bbSignalOutputModification(std::string("lstPointsY"));
+               mbbShowNPoints->bbSignalOutputModification(std::string("lstPointsZ"));
+               mbbShowNPoints->bbSignalOutputModification(std::string("lstLabels"));
        }
-       
+
        //------------------------------------------------------------------------
        void WidgetShowNPoints::OnSavePoints(wxCommandEvent& event)
        {
-               
-               wxFileDialog* FD = new wxFileDialog( 0, 
+
+               wxFileDialog* FD = new wxFileDialog( 0,
                                                                                        _T("Save points .."),
                                                                                        _T(""),
                                                                                        _T(""),
@@ -224,12 +224,12 @@ void WidgetShowNPoints::OnAddPoint (wxCommandEvent& event)
                                                                                         wxSAVE | wxOVERWRITE_PROMPT,
                                                                                        wxDefaultPosition);
                //EED
-               
+
                int result_FD = FD->ShowModal();
-               
+
                // This line is need it by windows //EED
                FD->SetReturnCode( result_FD );
-               
+
                if (FD->GetReturnCode()==wxID_OK)
                {
                        FILE *ff;
@@ -255,13 +255,13 @@ void WidgetShowNPoints::OnAddPoint (wxCommandEvent& event)
                                printf("WidgetShowNPoints::OnSavePoints  ...Error... creating file");
                        } //ff
                }       // dialog box
-               
-       }               
+
+       }
 
        //------------------------------------------------------------------------
        void WidgetShowNPoints::OnLoadPoints(wxCommandEvent& event)
        {
-               wxFileDialog* FD = new wxFileDialog( 0, 
+               wxFileDialog* FD = new wxFileDialog( 0,
                                                                                        _T("Load points .."),
                                                                                        _T(""),
                                                                                        _T(""),
@@ -269,12 +269,12 @@ void WidgetShowNPoints::OnAddPoint (wxCommandEvent& event)
                                                                                        wxOPEN | wxFILE_MUST_EXIST,
                                                                                        wxDefaultPosition);
                //EED
-               
+
                int result_FD = FD->ShowModal();
-               
+
                // This line is need it by windows //EED
                FD->SetReturnCode( result_FD );
-               
+
                if (FD->GetReturnCode()==wxID_OK)
                {
                        FILE *ff;
@@ -292,24 +292,24 @@ void WidgetShowNPoints::OnAddPoint (wxCommandEvent& event)
                                for (i=0; i<size; i++)
                                {
                                        fscanf(ff," %d %d %d %f %s",&x,&y,&z,&value,chartmp );  // x,y,z,value,label
-                                       AddPoint(x,y,z, chartmp );                      
+                                       AddPoint(x,y,z, chartmp );
                                }
                                fclose(ff);
                        } else {   // else ff
                                printf("WidgetShowNPoints::OnLoadPoints  ...Error... reading file");
                        } //ff
                }       // dialog box
-               
-               
-       }               
-       
+
+
+       }
+
        int WidgetShowNPoints::GetNearestPoint()
        {
                int id=-1;
                int i, size=(int)(lstActorsSphere.size());
                double spc[3];
                mimage->GetSpacing(spc);
-               
+
                for ( i=0  ; i<size; i++ )
                {
                        double rx =  spc[0]*(mpoint[0] - lstPointsX [i]);
@@ -318,12 +318,12 @@ void WidgetShowNPoints::OnAddPoint (wxCommandEvent& event)
                        if ( rx*rx + ry*ry + rz*rz <= mradio*mradio)
                        {
                                id=i;
-                       }       // if           
+                       }       // if
                } // for
-               
+
                return id;
        }
-       
+
        //------------------------------------------------------------------------
        void WidgetShowNPoints::OnRenamePoint(wxCommandEvent& event)
        {
@@ -333,14 +333,14 @@ void WidgetShowNPoints::OnAddPoint (wxCommandEvent& event)
                        std::string strLabel = CleanSpaces(  (const char*) ( textCtrl->GetValue().mb_str() ) );
                        lstLabels[id] = CleanSpaces( (const char*) (textCtrl->GetValue().mb_str()) ) ;
                        lstActorsText[id]->SetInput(  lstLabels[id].c_str() );
-                       SetOutputBox(); 
+                       SetOutputBox();
                }
-       }               
-       
+       }
+
        //------------------------------------------------------------------------
        void WidgetShowNPoints::ErasePoint(int id)
        {
-               if (this->renderer!=NULL){ 
+               if (this->renderer!=NULL){
                        if (id>=0){
                                renderer->RemoveActor( lstActorsSphere[id] );
                                renderer->RemoveActor( lstActorsText[id] );
@@ -348,31 +348,31 @@ void WidgetShowNPoints::OnAddPoint (wxCommandEvent& event)
                                 lstActorsText[id]->Delete();
                                lstActorsSphere.erase( lstActorsSphere.begin()+id );
                                lstActorsText.erase( lstActorsText.begin()+id );
-                               
+
                                lstPointsX.erase( lstPointsX.begin()+id );
                                lstPointsY.erase( lstPointsY.begin()+id );
                                lstPointsZ.erase( lstPointsZ.begin()+id );
                                lstLabels.erase( lstLabels.begin()+id );
 
-                               SetOutputBox(); 
+                               SetOutputBox();
 
                        } // if id
                } // if renderer
        }
-       
+
        //------------------------------------------------------------------------
        void WidgetShowNPoints::OnErasePoint(wxCommandEvent& event)
        {
                ErasePoint( GetNearestPoint() );
        }
-       
+
        //------------------------------------------------------------------------
        void WidgetShowNPoints::OnEraseLastPoint(wxCommandEvent& event)
        {
                ErasePoint(lstActorsSphere.size()-1);
        }
-       
-       
+
+
 //------------------------------------------------------------------------
 void WidgetShowNPoints::OnDeleteAllPoints(wxCommandEvent& event)
 {
@@ -381,7 +381,7 @@ void WidgetShowNPoints::OnDeleteAllPoints(wxCommandEvent& event)
        {
                ErasePoint(id);
        }
-               
+
 }
 
 
@@ -392,12 +392,12 @@ BBTK_BLACK_BOX_IMPLEMENTATION(ShowNPoints,bbtk::WxBlackBox);
 void ShowNPoints::Process()
 {
        if (mwxwidget!=NULL){
-               mwxwidget->SetRenderer( bbGetInputRenderer() );   
-               mwxwidget->SetPoint( bbGetInputIn() );   
-               mwxwidget->SetImage( bbGetInputImage() );   
-               mwxwidget->SetColour( bbGetInputColour() );   
-               mwxwidget->SetOpacity( bbGetInputOpacity() );   
-               mwxwidget->SetRadio( bbGetInputRadio() );   
+               mwxwidget->SetRenderer( bbGetInputRenderer() );
+               mwxwidget->SetPoint( bbGetInputIn() );
+               mwxwidget->SetImage( bbGetInputImage() );
+               mwxwidget->SetColour( bbGetInputColour() );
+               mwxwidget->SetOpacity( bbGetInputOpacity() );
+               mwxwidget->SetRadio( bbGetInputRadio() );
 
                bbSetOutputlstPointsX( mwxwidget->GetLstPointsX() );
                bbSetOutputlstPointsY( mwxwidget->GetLstPointsY() );
@@ -417,7 +417,7 @@ void ShowNPoints::CreateWidget(wxWindow* parent)
                printf("Missing Image  (ShowNPoints) \n");
        }
 
-   bbSetOutputWidget( mwxwidget ); 
+   bbSetOutputWidget( mwxwidget );
 }
 
 void ShowNPoints::bbUserSetDefaultValues()
@@ -426,7 +426,7 @@ void ShowNPoints::bbUserSetDefaultValues()
 
        bbSetInputRadio(0.5);
        bbSetInputOpacity(1);
-       
+
        std::vector<double> colour;
        colour.push_back(1.0);
        colour.push_back(0.0);
@@ -436,18 +436,18 @@ void ShowNPoints::bbUserSetDefaultValues()
        bbSetInputImage(NULL);
        bbSetInputRenderer(NULL);
 }
-       
-       //-----------------------------------------------------------------     
+
+       //-----------------------------------------------------------------
        void ShowNPoints::bbUserInitializeProcessing()
        {
        }
-       
-       //-----------------------------------------------------------------     
+
+       //-----------------------------------------------------------------
        void ShowNPoints::bbUserFinalizeProcessing()
        {
        }
-       
-       //-----------------------------------------------------------------     
+
+       //-----------------------------------------------------------------
 
 }
 // EO namespace bbcreaMaracasVisu
index ee0f4d09b182760e2f5c53a6b72ecb233f7f534c..3a4353a63c671e4cd88d6f4f376a557d4cbed75c 100644 (file)
@@ -45,7 +45,7 @@ manualContourModel::~manualContourModel()
        _cntSplineX->RemoveAllPoints();
        _cntSplineY->RemoveAllPoints();
        _cntSplineZ->RemoveAllPoints();
-       
+
        _cntSplineX->Delete();
        _cntSplineY->Delete();
        _cntSplineZ->Delete();
index dba00aaf5bfb70c7cf363ce522d6bdf5cf553d52..34a855893586dbad0cd61c78dd56ff94ed61f6b0 100644 (file)
@@ -3,8 +3,8 @@
   Program:   wxMaracas
   Module:    $RCSfile: wxMaracasIRMView.cxx,v $
   Language:  C++
-  Date:      $Date: 2009/05/29 13:39:56 $
-  Version:   $Revision: 1.9 $
+  Date:      $Date: 2009/06/10 17:42:29 $
+  Version:   $Revision: 1.10 $
 
   Copyright: (c) 2002, 2003
   License:
 
 wxMaracasIRMView* wxMaracasIRMView::instance=NULL;
 
-wxMaracasIRMView::wxMaracasIRMView( wxWindow* parent,std::string path) 
-: wxPanel(parent, -1, wxDefaultPosition, wxDefaultSize){       
-       
-       irmmanager = new wxMaracasIRMViewManager();             
+wxMaracasIRMView::wxMaracasIRMView( wxWindow* parent,std::string path)
+: wxPanel(parent, -1, wxDefaultPosition, wxDefaultSize){
 
-       wxauimanager = new wxAuiManager(this);          
+       irmmanager = new wxMaracasIRMViewManager();
+
+       wxauimanager = new wxAuiManager(this);
 
        _path = path;
 
        std::string iconsdir = path;
        iconsdir+="/data/Icons";
        wxToolBar* toolbar = new ToolBar(this,iconsdir);
-       wxAuiPaneInfo paneinfo; 
-       wxauimanager->AddPane(toolbar,paneinfo.ToolbarPane().Top());                    
+       wxAuiPaneInfo paneinfo;
+       wxauimanager->AddPane(toolbar,paneinfo.ToolbarPane().Top());
 
        wxauimanager->Update();
        createFileChooser();
@@ -64,7 +64,7 @@ std::string wxMaracasIRMView::getPath(){
 
 
 void wxMaracasIRMView::createFileChooser(){
-    
+
 }
 
 wxMaracasIRMView* wxMaracasIRMView::getInstance(wxWindow* parent,std::string path){
@@ -90,7 +90,7 @@ void wxMaracasIRMView::changeOpacity(int _propid, int value){
        irmmanager->changeOpacity(_propid,value);
 }
 
-void wxMaracasIRMView::changeIsoValue(int propid, double value){       
+void wxMaracasIRMView::changeIsoValue(int propid, double value){
        irmmanager->changeIsoValue(propid, value);
 }
 
@@ -118,10 +118,10 @@ void wxMaracasIRMView::onLoadImageFile(){
 
        if(fildial->ShowModal()==wxID_OK){
         wxString filename = fildial->GetFilename();
-               wxString pathfile(fildial->GetDirectory() + _T("/") + filename);        
-               
+               wxString pathfile(fildial->GetDirectory() + _T("/") + filename);
+
 
-               if(filename.EndsWith(mhd)){                     
+               if(filename.EndsWith(mhd)){
                        loadPropMHD(pathfile,filename);
                }else if(filename.EndsWith(stl)){
             loadProp3D(pathfile,filename);
@@ -130,24 +130,24 @@ void wxMaracasIRMView::onLoadImageFile(){
        delete fildial;
 
 }
-void wxMaracasIRMView::loadPropMHD(wxString filename, wxString dataname){              
-               
+void wxMaracasIRMView::loadPropMHD(wxString filename, wxString dataname){
+
        std::string s = std::string(filename.mb_str());
        vtkImageData* img = irmmanager->getImageData(s);
        if(img!=NULL){
                s = std::string(dataname.mb_str());
                addPropMHD(img, s);
        }
-       
-       
+
+
 
 }
 
 void wxMaracasIRMView::addPropMHD(vtkImageData* imgdata, std::string dataname){
        try{
-               int id = irmmanager->addPropMHD(imgdata,dataname);              
+               int id = irmmanager->addPropMHD(imgdata,dataname);
                if(id!=-1){
-                       
+
                        wxMaracasIRMViewPanel* controlpan = new wxMaracasIRMViewProp3DMHD(this, id);
                        int maxiso = irmmanager->getMaxIsoValue(id);
                        ((wxMaracasIRMViewProp3DMHD*)controlpan)->createControls(maxiso);
@@ -163,7 +163,7 @@ void wxMaracasIRMView::addPropMHD(vtkImageData* imgdata, std::string dataname){
        }
 }
 
-void wxMaracasIRMView::loadProp3D(wxString filename, wxString dataname){                       
+void wxMaracasIRMView::loadProp3D(wxString filename, wxString dataname){
        std::string s = std::string(filename.mb_str());
        vtkProp3D* prop3D = irmmanager->getProp3D(s);
        if(prop3D != NULL){
@@ -172,9 +172,9 @@ void wxMaracasIRMView::loadProp3D(wxString filename, wxString dataname){
        }else{
                //TODO msj to the user indicating error in file
        }
-               
-       
-       
+
+
+
 }
 
 void wxMaracasIRMView::addProp3D(vtkProp3D* prop3D, std::string dataname){
@@ -187,25 +187,25 @@ void wxMaracasIRMView::addProp3D(vtkProp3D* prop3D, std::string dataname){
        }catch(char* str){
                std::cout << "Exception : " << str << '\n';
                wxMessageDialog* diag = new wxMessageDialog(this, wxString(str,wxConvUTF8 ), wxString(str,wxConvUTF8 ), wxICON_ERROR);
-               diag->ShowModal();              
+               diag->ShowModal();
        }
-       
+
 }
 void wxMaracasIRMView::addIRMViewPanel(wxMaracasIRMViewPanel* irmview, std::string dataname){
 
        wxString s(dataname.c_str(),wxConvUTF8 );
-       wxAuiPaneInfo paneinfo; 
+       wxAuiPaneInfo paneinfo;
        wxauimanager->AddPane(irmview, paneinfo.DefaultPane().Centre().DestroyOnClose().Caption(s));
        wxauimanager->Update();
-       
-       
+
+
 }
 
 void wxMaracasIRMView::deleteActor(int propid){
        try{
                irmmanager->deleteActor(propid);
        }catch(char* e){
-               
+
        }
 }
 
@@ -219,7 +219,7 @@ void wxMaracasIRMView::deleteActor(int propid){
 
 ToolBar::ToolBar(wxWindow * parent,std::string iconsdir)
 : wxToolBar(parent, -1, wxDefaultPosition, wxDefaultSize)
-{    
+{
 
 
        std::string iconfil = iconsdir;
@@ -231,29 +231,36 @@ ToolBar::ToolBar(wxWindow * parent,std::string iconsdir)
 
        /*iconfil+= "/Open.png";
        wxBitmap* bitmap2 = new wxBitmap(wxString(iconfil.c_str(),wxConvUTF8), wxBITMAP_TYPE_PNG);
-       this->AddTool(2, wxString(_T("test")),*bitmap2);        */      
+       this->AddTool(2, wxString(_T("test")),*bitmap2);        */
 
        /*iconfil = iconsdir;
        iconfil+= "/Open.png";
        wxBitmap* bitmap30 = new wxBitmap(wxString(iconfil.c_str(),wxConvUTF8), wxBITMAP_TYPE_PNG);
        this->AddTool(30, wxString(_T("test")),*bitmap30);*/
-       
+
        this->Realize();
-       
-       
+
+       this->SetEventHandler(&evthand);
+
 }
 
 ToolBar::~ToolBar(void){
 }
-void ToolBar::onLoadImageFile(wxCommandEvent& event){
+
+ToolBar::ToolBarEventHandler::ToolBarEventHandler()
+: wxEvtHandler(){
+}
+ToolBar::ToolBarEventHandler::~ToolBarEventHandler(){
+}
+
+void ToolBar::ToolBarEventHandler::onLoadImageFile(wxCommandEvent& event){
        wxMaracasIRMView::getInstance()->onLoadImageFile();
 }
 
 
 
-BEGIN_EVENT_TABLE(ToolBar, wxToolBar)  
-       EVT_MENU(0, ToolBar::onLoadImageFile)    
-          
+BEGIN_EVENT_TABLE(ToolBar::ToolBarEventHandler, wxEvtHandler)
+       EVT_MENU(0, ToolBar::ToolBarEventHandler::onLoadImageFile)
 END_EVENT_TABLE()
 
 
index 5e90935ca22a291f570b4c2e5e901c6adc42ff41..2d92bc2ffd294e976d88a053c48d86c19c0a89d5 100644 (file)
@@ -3,14 +3,14 @@
   Program:   wxMaracas
   Module:    $RCSfile: wxMaracasIRMView.h,v $
   Language:  C++
-  Date:      $Date: 2009/05/14 13:54:35 $
-  Version:   $Revision: 1.4 $
+  Date:      $Date: 2009/06/10 17:42:28 $
+  Version:   $Revision: 1.5 $
 
   Copyright: (c) 2002, 2003
   License:
-  
-     This software is distributed WITHOUT ANY WARRANTY; without even 
-     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
+
+     This software is distributed WITHOUT ANY WARRANTY; without even
+     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
      PURPOSE.  See the above copyright notice for more information.
 
 =========================================================================*/
 
 
 class  creaMaracasVisu_EXPORT  wxMaracasIRMView : public wxPanel
-{      
+{
 
 public:
        wxMaracasIRMView( wxWindow* parent, std::string path);
     ~wxMaracasIRMView( );
-       
+
        static wxMaracasIRMView* getInstance(wxWindow* parent,std::string path="");
 
        static wxMaracasIRMView* getInstance();
@@ -83,20 +83,27 @@ private:
 
 class ToolBar : public wxToolBar{
 
-public:
-       
+       public:class ToolBarEventHandler : public wxEvtHandler{
+
+       public:
+               ToolBarEventHandler();
+               ~ToolBarEventHandler();
+
+               void onLoadImageFile(wxCommandEvent& event);
+
+       private:
+
+               DECLARE_EVENT_TABLE()
+       };
+
        ToolBar(wxWindow * parent,std::string iconsdir);
        ~ToolBar(void);
-       
-       
-       void onLoadImageFile(wxCommandEvent& event);
-       
+
+
 private:
 
-       
+       ToolBarEventHandler evthand;
 
-       
-DECLARE_EVENT_TABLE()
 };
 
 #endif