1 #include "wxMaracasIRMViewProp3D.h"
3 #include <wx/colordlg.h>
4 #include "wxMaracasIRMView.h"
7 ** Implementation of viewProp3D
10 wxMaracasIRMViewProp3D::wxMaracasIRMViewProp3D(wxWindow* parent,int propid)
11 :wxMaracasIRMViewPanel(parent, propid){
15 wxMaracasIRMViewProp3D::~wxMaracasIRMViewProp3D(){
16 //wxMaracasIRMView::getInstance()->addRemoveActor(_propid, false);
17 wxMaracasIRMView::getInstance()->deleteActor(_propid);
20 void wxMaracasIRMViewProp3D::createControls(){
22 wxFlexGridSizer* sizerirmprop = new wxFlexGridSizer(1,1,1);
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);
31 sizerirmprop->Add(checkbox,wxFIXED_MINSIZE);
33 //this->addControl(checkbox);
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);
40 //sizercolor->Add(checkbox,wxFIXED_MINSIZE);
41 //sizercolor->Add(_colorchoose,wxFIXED_MINSIZE);
42 //this->addControl(sizercolor);
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);
52 sizerirmprop->Add(sizeropacity,wxFIXED_MINSIZE);
54 //this->addControl(sizeropacity);
55 this->addControl(sizerirmprop);
58 void wxMaracasIRMViewProp3D::onCheckBoxChange(wxCommandEvent& event){
59 wxMaracasIRMView::getInstance()->addRemoveActor(this->getPropId(), checkbox->GetValue());
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);
67 double r = (double)(colour.Red())/255.0;
68 double g = (double)(colour.Green())/255.0;
69 double b = (double)(colour.Blue())/255.0;
71 wxMaracasIRMView::getInstance()->changeColor(this->getPropId(),r,g,b);
75 /*void wxMaracasIRMViewProp3D::onActionButtonPressedEliminate( wxCommandEvent& event ){
79 void wxMaracasIRMViewProp3D::onOpacityRelease(wxScrollEvent& event ){
81 wxMaracasIRMView::getInstance()->changeOpacity(this->getPropId(),opacity->GetValue());