]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasIRMViewProp3D.cxx
No new line at eof
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / wxMaracasIRMViewProp3D.cxx
1 #include "wxMaracasIRMViewProp3D.h"
2
3 #include <wx/colordlg.h>
4 #include "wxMaracasIRMView.h"
5 #include "Color.xpm"
6 /**
7 **      Implementation of viewProp3D
8 **/
9
10 wxMaracasIRMViewProp3D::wxMaracasIRMViewProp3D(wxWindow* parent,int propid)
11 :wxMaracasIRMViewPanel(parent, propid){
12         createControls();       
13 }
14
15 wxMaracasIRMViewProp3D::~wxMaracasIRMViewProp3D(){      
16         //wxMaracasIRMView::getInstance()->addRemoveActor(_propid, false);
17         wxMaracasIRMView::getInstance()->deleteActor(_propid);
18 }
19
20 void wxMaracasIRMViewProp3D::createControls(){
21
22         wxFlexGridSizer* sizerirmprop = new wxFlexGridSizer(1,1,1);
23         
24         wxString choices[2];
25         choices[0] = wxString(_T("On"));
26         choices[1] = wxString(_T("Off"));
27         checkbox = new  wxCheckBox(this,-1,wxString(_T("Show Actor")));
28         Connect(checkbox->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction)&wxMaracasIRMViewProp3D::onCheckBoxChange);   
29         checkbox->SetValue(true);       
30
31         sizerirmprop->Add(checkbox,wxFIXED_MINSIZE);
32
33         //this->addControl(checkbox);   
34         
35         wxBitmap bitmap(Color_xpm);
36         _colorchoose = new wxBitmapButton(this, -1, bitmap,wxDefaultPosition,wxSize(30,30));    
37         Connect(_colorchoose->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&wxMaracasIRMViewProp3D::onColorChange);                    
38         sizerirmprop->Add(_colorchoose,wxFIXED_MINSIZE);        
39
40         //sizercolor->Add(checkbox,wxFIXED_MINSIZE);
41         //sizercolor->Add(_colorchoose,wxFIXED_MINSIZE);
42         //this->addControl(sizercolor);
43         
44         
45         wxStaticText* label = new wxStaticText(this, -1, wxString(_T("Opacity")));              
46         opacity = new wxSlider(this, -1,100,0,100,wxDefaultPosition,wxDefaultSize,wxSL_HORIZONTAL|wxSL_LABELS); 
47         Connect(opacity->GetId(), wxEVT_SCROLL_CHANGED, (wxObjectEventFunction)&wxMaracasIRMViewProp3D::onOpacityRelease);      
48         wxFlexGridSizer* sizeropacity = new wxFlexGridSizer(1,1,1);     
49         sizeropacity->Add(label,wxFIXED_MINSIZE);
50         sizeropacity->Add(opacity,wxFIXED_MINSIZE);
51
52         sizerirmprop->Add(sizeropacity,wxFIXED_MINSIZE);
53
54         //this->addControl(sizeropacity);
55         this->addControl(sizerirmprop);
56         
57 }
58 void wxMaracasIRMViewProp3D::onCheckBoxChange(wxCommandEvent& event){   
59         wxMaracasIRMView::getInstance()->addRemoveActor(this->getPropId(), checkbox->GetValue());
60 }
61 void wxMaracasIRMViewProp3D::onColorChange(wxCommandEvent& event){
62         wxColourDialog* colourdiag = new wxColourDialog(this);
63         if(colourdiag->ShowModal()==wxID_OK){
64                 wxColour colour = colourdiag->GetColourData().GetColour();
65                 _colorchoose->SetBackgroundColour(colour);
66
67                 double r = (double)(colour.Red())/255.0;
68                 double g = (double)(colour.Green())/255.0;
69                 double b = (double)(colour.Blue())/255.0;
70                 
71                 wxMaracasIRMView::getInstance()->changeColor(this->getPropId(),r,g,b);
72         }
73         delete colourdiag;
74 }
75 /*void wxMaracasIRMViewProp3D::onActionButtonPressedEliminate( wxCommandEvent& event ){ 
76
77 }*/
78
79 void wxMaracasIRMViewProp3D::onOpacityRelease(wxScrollEvent& event ){
80
81         wxMaracasIRMView::getInstance()->changeOpacity(this->getPropId(),opacity->GetValue());
82
83 }
84