]> Creatis software - creaMaracasVisu.git/commitdiff
surface box y widget carole
authorJuan Prieto <Juan.Prieto@creatis.insa-lyon.fr>
Fri, 13 Nov 2009 11:47:37 +0000 (11:47 +0000)
committerJuan Prieto <Juan.Prieto@creatis.insa-lyon.fr>
Fri, 13 Nov 2009 11:47:37 +0000 (11:47 +0000)
13 files changed:
bbtk/src/bbcreaMaracasVisuSurfaceRendering.cxx
bbtk/src/bbcreaMaracasVisuSurfaceRendering.h
data/colorsfunction.txt
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRendering.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRendering.h
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRenderingManager.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRenderingManager.h
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRenderingManagerData.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRenderingManagerData.h
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRenderingManagerDataMhd.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRenderingManagerDataMhd.h
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRenderingProp3D.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRenderingProp3D.h

index af237a4c4b266e516186ada2fd911372e1198960..b2f79159a888dc8ec69c02272a8a6cbb92b3d107 100644 (file)
@@ -18,7 +18,9 @@ void SurfaceRendering::Process()
 
        if(surrend != NULL){
                vtkRenderer* renderer = bbGetInputRenderer();
+               vtkRenderWindowInteractor* interactor = bbGetInputInteractor();
                surrend->setRenderer(renderer);
+               surrend->setInteractor(interactor);
                vtkImageData* prop3D;
                tempvect.push_back(bbGetInputIn0());
                tempvect.push_back(bbGetInputIn1());
@@ -57,6 +59,7 @@ void SurfaceRendering::CreateWidget(wxWindow* parent)
                bbSetInputIn3(NULL);
                bbSetInputIn4(NULL);
                bbSetInputRenderer(NULL);
+               bbSetInputInteractor(NULL);
                bbSetOutputWidget(NULL);
                bbSetOutputOut1(NULL);
                bbSetOutputOut2(NULL);
index 7cf19dd47685f4b81567b75e80e2a70657f6fea3..aad663b5bdcebd68a809cf756af3f4b5bae42343 100644 (file)
@@ -3,6 +3,7 @@
 #define __bbcreaMaracasVisuSurfaceRendering_h_INCLUDED__
 #include "bbcreaMaracasVisu_EXPORT.h"
 #include "bbtkWxBlackBox.h"
+#include "vtkRenderWindowInteractor.h"
 
 #include "vtkImageData.h"
 #include "vtkProp3D.h"
@@ -19,11 +20,13 @@ class bbcreaMaracasVisu_EXPORT SurfaceRendering
   BBTK_BLACK_BOX_INTERFACE(SurfaceRendering,bbtk::WxBlackBox);
   //BBTK_DECLARE_INPUT(In,vtkImageData*);
   BBTK_DECLARE_INPUT(Renderer,vtkRenderer*);
+  BBTK_DECLARE_INPUT(Interactor,vtkRenderWindowInteractor*);
   BBTK_DECLARE_INPUT(In0,vtkImageData*);  
   BBTK_DECLARE_INPUT(In1,vtkImageData*);
   BBTK_DECLARE_INPUT(In2,vtkImageData*);
   BBTK_DECLARE_INPUT(In3,vtkImageData*);
   BBTK_DECLARE_INPUT(In4,vtkImageData*);
+
   BBTK_DECLARE_OUTPUT(Out1,vtkImageData*);
   BBTK_DECLARE_OUTPUT(Out2,vtkImageData*);
   BBTK_DECLARE_OUTPUT(Out3,vtkImageData*);
@@ -44,6 +47,7 @@ BBTK_DESCRIPTION("BB of the module SurfaceRendering");
 BBTK_CATEGORY("__CategoryBlackBox__");
 //BBTK_INPUT(SurfaceRendering,In,"Renderer to show the different prop3D",vtkImageData*,"");
 BBTK_INPUT(SurfaceRendering,Renderer,"Renderer to show the different prop3D",vtkRenderer*,"");
+BBTK_INPUT(SurfaceRendering,Interactor,"Renderer to show the different prop3D",vtkRenderWindowInteractor*,"");
 BBTK_INPUT(SurfaceRendering,In0,"Input image to the SurfaceRendering",vtkImageData*,"");
 BBTK_INPUT(SurfaceRendering,In1,"Input image to the SurfaceRendering",vtkImageData*,"");
 BBTK_INPUT(SurfaceRendering,In2,"Input image to the SurfaceRendering",vtkImageData*,"");
index 7512588b4ff3d0397ffad0634e3dc80105fd6146..aa7621eadc7b8c1e0291cd52a6e1486426bf4902 100644 (file)
  <ComboBoxItem>
  <TransferenceFunction>
                <Transferencepoint>
-                       <greyValue>0.0701324</greyValue>
+                       <greyValue>0</greyValue>
                        <intensity>1</intensity> 
                </Transferencepoint>
                <Transferencepoint>
-                       <greyValue>0.491417</greyValue>
+                       <greyValue>0.5</greyValue>
                        <intensity>1</intensity> 
                </Transferencepoint>
                <Transferencepoint>
-                       <greyValue>0.888426</greyValue>
+                       <greyValue>1</greyValue>
                        <intensity>1</intensity> 
                </Transferencepoint>
  </TransferenceFunction>
        <Colors>
                <greyValueRGBpoint>
-                       <RGBgreyValue>0.00465915</RGBgreyValue>
+                       <RGBgreyValue>0</RGBgreyValue>
                        <red>1</red>
                        <green>1</green>
                        <blue>1</blue>
                </greyValueRGBpoint>
                <greyValueRGBpoint>
-                       <RGBgreyValue>0.997548</RGBgreyValue>
+                       <RGBgreyValue>1</RGBgreyValue>
+                       <red>0</red>
+                       <green>0</green>
+                       <blue>0</blue>
+               </greyValueRGBpoint>
+       </Colors>
+       </ComboBoxItem>
+ <ComboBoxItem>
+ <TransferenceFunction>
+               <Transferencepoint>
+                       <greyValue>0</greyValue>
+                       <intensity></intensity> 
+               </Transferencepoint>
+               <Transferencepoint>
+                       <greyValue>1</greyValue>
+                       <intensity>1</intensity> 
+               </Transferencepoint>
+ </TransferenceFunction>
+       <Colors>
+               <greyValueRGBpoint>
+                       <RGBgreyValue>0</RGBgreyValue>
                        <red>0</red>
                        <green>0</green>
                        <blue>0</blue>
                </greyValueRGBpoint>
+               <greyValueRGBpoint>
+                       <RGBgreyValue>1</RGBgreyValue>
+                       <red>1</red>
+                       <green>1</green>
+                       <blue>1</blue>
+               </greyValueRGBpoint>
        </Colors>
        </ComboBoxItem>
 </ComboBoxData>
index cdecb95e18b1550ad0994e74ee0edcb4550c4297..fc13b85644a3dee56b42dfe3c4d1007eeef174f9 100644 (file)
@@ -3,8 +3,8 @@
   Program:   wxMaracas
   Module:    $RCSfile: wxMaracasSurfaceRendering.cxx,v $
   Language:  C++
-  Date:      $Date: 2009/11/13 09:34:10 $
-  Version:   $Revision: 1.5 $
+  Date:      $Date: 2009/11/13 11:47:41 $
+  Version:   $Revision: 1.6 $
 
   Copyright: (c) 2002, 2003
   License:
@@ -83,6 +83,10 @@ void wxMaracasSurfaceRendering::setRenderer(vtkRenderer*  renderer){
        surrendmanager->setRenderer(renderer);
 }
 
+void wxMaracasSurfaceRendering::setInteractor(vtkRenderWindowInteractor*  interactor){
+       surrendmanager->setInteractor(interactor);
+}
+
 void wxMaracasSurfaceRendering::addRemoveActor(int propid, bool addremove){
        try{
                surrendmanager->addRemoveActor(propid, addremove);
@@ -94,6 +98,18 @@ void wxMaracasSurfaceRendering::addRemoveActor(int propid, bool addremove){
                delete diag;
        }
 }
+void wxMaracasSurfaceRendering::addRemoveSurfaceBox(int propid, bool addremove){
+       try{
+               surrendmanager->addRemoveSurfaceBox(propid, addremove);
+       }
+       catch(char* str){
+               std::cout << "Exception : " << str << '\n';
+               wxMessageDialog* diag = new wxMessageDialog(this, wxString(str,wxConvUTF8 ), wxString(str,wxConvUTF8 ), wxICON_ERROR);
+               diag->ShowModal();
+               delete diag;
+       }
+}
+
 
 void wxMaracasSurfaceRendering::changeOpacity(int _propid, int value){
        try{
@@ -148,9 +164,9 @@ void wxMaracasSurfaceRendering::onLoadImageFile(){
                {
                        loadPropMHD(pathfile,filename);
                }
-               //else if(filename.EndsWith(stl)){
-            //loadProp3D(pathfile,filename);
-               //}
+               else if(filename.EndsWith(stl)){
+            loadProp3D(pathfile,filename);
+               }
        }
        delete fildial;
 }
index 2a4318c4c6867d291166171133648b5c3097f9a8..b4fc5b5cd1f423fef313938983675448d1d7eecb 100644 (file)
@@ -3,8 +3,8 @@
   Program:   wxMaracas
   Module:    $RCSfile: wxMaracasSurfaceRendering.h,v $
   Language:  C++
-  Date:      $Date: 2009/11/13 09:34:10 $
-  Version:   $Revision: 1.2 $
+  Date:      $Date: 2009/11/13 11:47:41 $
+  Version:   $Revision: 1.3 $
 
   Copyright: (c) 2002, 2003
   License:
@@ -43,12 +43,16 @@ public:
 
        void setRenderer(vtkRenderer*  renderer);
 
+       void setInteractor(vtkRenderWindowInteractor*  interactor);
+
        void changeOpacity(int propid, int value);
 
        void changeIsoValue(int propid, double value);
 
     void addRemoveActor(int propid, bool addremove);
 
+       void addRemoveSurfaceBox(int propid, bool addremove);
+
        void changeColor(int propid, double red, double green, double blue);
 
        void addProp3D(vtkProp3D* prop3D, std::string dataname="");
index e2b114716094e351d1d1b6fb8412327c860d3a8c..55aa4e63c607cb229604f5eb5550e7f870c86fd5 100644 (file)
@@ -3,8 +3,8 @@
   Program:   wxMaracas
   Module:    $RCSfile: wxMaracasSurfaceRenderingManager.cxx,v $
   Language:  C++
-  Date:      $Date: 2009/11/13 09:34:10 $
-  Version:   $Revision: 1.4 $
+  Date:      $Date: 2009/11/13 11:47:41 $
+  Version:   $Revision: 1.5 $
 
   Copyright: (c) 2002, 2003
   License:
@@ -22,6 +22,7 @@
 **/
 wxMaracasSurfaceRenderingManager::wxMaracasSurfaceRenderingManager(){
        _renderer = NULL;
+       _interactor = NULL;
        _idCount=0;
 }
 wxMaracasSurfaceRenderingManager::~wxMaracasSurfaceRenderingManager(){
@@ -34,6 +35,14 @@ void wxMaracasSurfaceRenderingManager::setRenderer(vtkRenderer*  renderer){
        _renderer = renderer;
 }
 
+/**
+**     Sets the renderer to manage the prop3D from the surface render
+**/
+void wxMaracasSurfaceRenderingManager::setInteractor(vtkRenderWindowInteractor*  interactor){
+       _interactor = interactor;
+}
+
+
 /**
 ** Gets the renderer to manage the prop3D from the surface render
 **/
@@ -56,7 +65,7 @@ void wxMaracasSurfaceRenderingManager::Update(int pid)throw(char*){
 int wxMaracasSurfaceRenderingManager::addProp3D(vtkProp3D* prop3D, std::string dataname)  throw(char*){
        checkInvariant();
        if(prop3D != NULL){
-               wxMaracasSurfaceRenderingManagerData* data = new wxMaracasSurfaceRenderingManagerData(prop3D, dataname);
+               wxMaracasSurfaceRenderingManagerData* data = new wxMaracasSurfaceRenderingManagerData(prop3D, dataname, _interactor);
                prop3Dvect.push_back(data);
                _renderer->AddActor(data->getProp3D());
                data->setId(_idCount);
@@ -71,7 +80,7 @@ int wxMaracasSurfaceRenderingManager::addPropMHD(vtkImageData* imagedata, std::s
        checkInvariant();
        if(imagedata != NULL){
                image = imagedata;
-               wxMaracasSurfaceRenderingManagerData* data = new wxMaracasSurfaceRenderingManagerDataMhd(imagedata, dataname);
+               wxMaracasSurfaceRenderingManagerData* data = new wxMaracasSurfaceRenderingManagerDataMhd(imagedata, dataname, _interactor);
                prop3Dvect.push_back(data);     
                _renderer->AddActor(data->getProp3D());
                data->setId(_idCount);
@@ -99,6 +108,26 @@ void wxMaracasSurfaceRenderingManager::addRemoveActor(int propid, bool addremove
                _renderer->Render();
        }
 }
+/**
+**     adds or removes the surface box depending of the bool value
+**/
+void wxMaracasSurfaceRenderingManager::addRemoveSurfaceBox(int propid, bool addremove)  throw(char*){
+       checkInvariant();
+       
+       wxMaracasSurfaceRenderingManagerData* data = this->getViewData(propid);         
+       if(data->getProp3D()!=NULL){
+               data->addRemoveSurfaceBox(addremove);
+               /*if(addremove){
+                       data->
+                       _renderer->AddViewProp(data->getProp3D());
+               }else{
+                       _renderer->RemoveViewProp(data->getProp3D());
+               }
+               _renderer->Render();*/
+       }
+       
+}
+
 /**
 **     Changes the opacity in a prop3D
 **/
index fb1061b1ca9bdf87bf34545d3a8fef85b2784e56..d1ec89d4ec379fd227ad6b4c3b9d23311847eaf5 100644 (file)
@@ -3,8 +3,8 @@
   Program:   wxMaracas
   Module:    $RCSfile: wxMaracasSurfaceRenderingManager.h,v $
   Language:  C++
-  Date:      $Date: 2009/11/09 19:14:56 $
-  Version:   $Revision: 1.2 $
+  Date:      $Date: 2009/11/13 11:47:41 $
+  Version:   $Revision: 1.3 $
 
   Copyright: (c) 2002, 2003
   License:
@@ -87,8 +87,13 @@ public:
        **/
        void addRemoveActor(int propid, bool addremove)throw(char*);
        /**
+       **
+       **/
+       void addRemoveSurfaceBox(int propid, bool addremove)  throw(char*);
+       /**
        **      Check if the variables are setted correctly
        **/
+
        void checkInvariant()throw(char*);
 
        /**
@@ -96,6 +101,11 @@ public:
        **/
        wxMaracasSurfaceRenderingManagerData* getViewData(int id)throw(char*);
 
+       /**
+       **
+       **/
+       void setInteractor(vtkRenderWindowInteractor*  interactor);
+
        /**
        **      Given the id, return the max iso value from the imagedata
        **/
@@ -115,6 +125,7 @@ private:
        std::vector<wxMaracasSurfaceRenderingManagerData*> prop3Dvect;
 
        vtkRenderer*  _renderer;
+       vtkRenderWindowInteractor*  _interactor;
        vtkImageData* image;
 
        int _idCount;
index d3fdb3911fc04684748be9f3456f1aa3d10e4917..f52f00aaf3744ddb6f14d1b5ec4c2576abaa4fcc 100644 (file)
@@ -5,11 +5,21 @@
 ** Start of data viewmanagerData
 *********************************************************************************************/
 
-wxMaracasSurfaceRenderingManagerData::wxMaracasSurfaceRenderingManagerData(vtkProp3D* prop3Dvect, std::string dataname){
+wxMaracasSurfaceRenderingManagerData::wxMaracasSurfaceRenderingManagerData(vtkProp3D* prop3Dvect, std::string dataname, vtkRenderWindowInteractor*  interactor){
 
        _prop3D = prop3Dvect;   
-       _dataname = dataname;
+       _dataname = dataname;   
+
+       
+       initializeBoxWidget(interactor);
+       
+
        
+
+       /*_boxWidgetS1->GetPlanes( this->GetVtkClipping3DDataViewer()->GetTissuePlanes(0) );
+       _boxWidgetS1->GetPlanes( this->GetVtkClipping3DDataViewer()->GetTissuePlanes(1) );
+       _boxWidgetS1->GetPlanes( this->GetVtkClipping3DDataViewer()->GetTissuePlanes(2) );
+       _boxWidgetS1->GetPlanes( this->GetVtkClipping3DDataViewer()->GetTissuePlanes(3) );*/
 }
 
 
@@ -18,6 +28,20 @@ wxMaracasSurfaceRenderingManagerData::~wxMaracasSurfaceRenderingManagerData(){
        _prop3D->Delete();      
 }
 
+void wxMaracasSurfaceRenderingManagerData::initializeBoxWidget(vtkRenderWindowInteractor*  interactor){
+       if(interactor!= NULL){
+               _boxWidgetS1 = vtkBoxWidget::New();
+               _boxWidgetS1->SetInteractor( interactor );
+               _boxWidgetS1->SetPlaceFactor(1.25); 
+
+               //_boxWidgetS1->SetInput(  );
+               _boxWidgetS1->PlaceWidget();    
+               //_boxWidgetS1->AddObserver( vtkCommand::InteractionEvent                , _vtkclipping3Ddataviewer->GetObserverS(i) );
+               _boxWidgetS1->HandlesOn ();
+               _boxWidgetS1->Off();
+       }
+}
+
 /**
 **     Adds a prop3D to the world of the application
 **/
@@ -25,6 +49,16 @@ void wxMaracasSurfaceRenderingManagerData::setProp3D(vtkProp3D* prop3D){
        _prop3D = prop3D;
 }
 
+void wxMaracasSurfaceRenderingManagerData::addRemoveSurfaceBox(bool visible)
+{
+       if(_boxWidgetS1){
+               if (visible==true){
+                       _boxWidgetS1->On();
+               } else {
+                       _boxWidgetS1->Off();
+               }
+       }
+}
 /**
 **     Changes the opacity in a prop3D
 **/
index b68fef68de01ee92a7ecda87ef09ebf3871baa15..e0249ad1bc5eb7cc9404af4ae5524a8fe9f5e1cc 100644 (file)
@@ -7,13 +7,14 @@
 #include "vtkPolyDataMapper.h"
 #include "vtkActor.h"
 #include "vtkProperty.h"
+#include "vtkBoxWidget.h"
 
 
 
 class wxMaracasSurfaceRenderingManagerData {
 
 public:
-       wxMaracasSurfaceRenderingManagerData(vtkProp3D* _prop3Dvect, std::string dataname="");  
+       wxMaracasSurfaceRenderingManagerData(vtkProp3D* _prop3Dvect, std::string dataname="", vtkRenderWindowInteractor*  interactor=NULL);     
        ~wxMaracasSurfaceRenderingManagerData();        
        
        /**
@@ -59,6 +60,12 @@ public:
        **/
        void changeColor(double red, double green, double blue);        
        
+       /**
+       ** adds or removes the surface box
+       **/
+       void addRemoveSurfaceBox(bool visible);
+
+       void initializeBoxWidget(vtkRenderWindowInteractor*  interactor);
 protected:
        /**
         * Prop 3D (data actor)
@@ -69,7 +76,10 @@ protected:
         **/
        std::string _dataname;  
        
-       
+       /**
+       **
+       **/
+       vtkBoxWidget* _boxWidgetS1;
 private:
        
        /*
@@ -78,6 +88,8 @@ private:
        int _id;                
 
        
+
+       
 };
 
 #endif /*WXMARACASSURFACERENDERINGMANAGERDATA_H_*/
index eec30d6900b3d7f04b69abf4dcad3bf8e2e6d168..031c9752febea3e79689837e2f69f7c6c285b9d9 100644 (file)
@@ -1,8 +1,8 @@
 
 #include "wxMaracasSurfaceRenderingManagerDataMhd.h"
 
-wxMaracasSurfaceRenderingManagerDataMhd::wxMaracasSurfaceRenderingManagerDataMhd(vtkImageData* imagedata, std::string dataname)
-: wxMaracasSurfaceRenderingManagerData(NULL, dataname)
+wxMaracasSurfaceRenderingManagerDataMhd::wxMaracasSurfaceRenderingManagerDataMhd(vtkImageData* imagedata, std::string dataname, vtkRenderWindowInteractor*  interactor)
+: wxMaracasSurfaceRenderingManagerData(NULL, dataname, interactor)
 {
 
        this->setVtkImageData(imagedata);
@@ -26,6 +26,10 @@ wxMaracasSurfaceRenderingManagerDataMhd::wxMaracasSurfaceRenderingManagerDataMhd
        _dataMapper->ImmediateModeRenderingOn();
        dataActor->SetMapper(_dataMapper);      
 
+       if(_boxWidgetS1){
+               _boxWidgetS1->SetInput(imagedata);
+       }
+
        this->_prop3D = dataActor;
 
        this->changeIsoValue(this->_maxgreylevel);      
index 324b8d9db5c3728be0468dff03e8a468c175ccca..9b20cec02840c5895bdcc316b06ab9085f49ae6d 100644 (file)
@@ -13,7 +13,7 @@ class wxMaracasSurfaceRenderingManagerDataMhd : public wxMaracasSurfaceRendering
 
 public:
        
-       wxMaracasSurfaceRenderingManagerDataMhd(vtkImageData* imagedata, std::string dataname="");
+       wxMaracasSurfaceRenderingManagerDataMhd(vtkImageData* imagedata, std::string dataname="", vtkRenderWindowInteractor*  interactor=0);
        ~wxMaracasSurfaceRenderingManagerDataMhd();
 
        
index 1f296671935bf576cc43849ff735878ad3a04ff5..1200c68261699a8802df5f4dec4013dbede192bc 100644 (file)
@@ -45,14 +45,23 @@ void wxMaracasSurfaceRenderingProp3D::createControls(){
        
        if(!isComplexBox) 
        {
-               wxString choices[2];
-               choices[0] = wxString(_T("On"));
-               choices[1] = wxString(_T("Off"));
+               //wxString choices[2];
+               //choices[0] = wxString(_T("On"));
+               //choices[1] = wxString(_T("Off"));
+               wxFlexGridSizer* checkboxsizer = new wxFlexGridSizer(2);
+
                checkbox = new  wxCheckBox(this,-1,wxString(_T("Show Actor")));
                Connect(checkbox->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction)&wxMaracasSurfaceRenderingProp3D::onCheckBoxChange);  
                checkbox->SetValue(true);       
+               checkboxsizer->Add(checkbox,wxFIXED_MINSIZE);
+
+               checkboxsurface = new  wxCheckBox(this,-1,wxString(_T("Surface Box")));
+               Connect(checkboxsurface->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction)&wxMaracasSurfaceRenderingProp3D::onCheckBoxSurfaceChange);    
+               checkboxsurface->SetValue(true);
+               checkboxsizer->Add(checkboxsurface,wxFIXED_MINSIZE);
+               
 
-               sizersurfprop->Add(checkbox,wxFIXED_MINSIZE);
+               sizersurfprop->Add(checkboxsizer,wxFIXED_MINSIZE);
        }
 
        //this->addControl(checkbox);   
@@ -93,6 +102,10 @@ void wxMaracasSurfaceRenderingProp3D::onCheckBoxChange(wxCommandEvent& event){
        //if(!isComplexBox)
        wxMaracasSurfaceRendering::getInstance()->addRemoveActor(this->getPropId(), checkbox->GetValue());      
 }
+void wxMaracasSurfaceRenderingProp3D::onCheckBoxSurfaceChange(wxCommandEvent& event){  
+       //if(!isComplexBox)
+       wxMaracasSurfaceRendering::getInstance()->addRemoveSurfaceBox(this->getPropId(), checkboxsurface->GetValue());  
+}
 
 /**
 ** 
index cf9e41b1ea913a0e1ae1d1a58b6a0f34f21071a1..c232413baa414851379aaf3693f98cd7374121f1 100644 (file)
@@ -11,12 +11,14 @@ public:
        virtual void createControls();  
        void onOpacityRelease(wxScrollEvent& event);    
        void onCheckBoxChange(wxCommandEvent& event);
+       void onCheckBoxSurfaceChange(wxCommandEvent& event);
        void onColorChange(wxCommandEvent& event);
        void onViewImage(wxCommandEvent& event);
 
        
 private:
        wxCheckBox* checkbox;
+       wxCheckBox* checkboxsurface;
        wxSlider* opacity;      
        wxBitmapButton* _colorchoose;
        wxBitmapButton* _viewimage;