/*========================================================================= Program: wxMaracas Module: $RCSfile: wxMaracasIRMView.h,v $ Language: C++ Date: $Date: 2009/04/01 16:16:59 $ Version: $Revision: 1.1 $ Copyright: (c) 2002, 2003 License: 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. =========================================================================*/ #ifndef __wxMaracasIRMViewH__ #define __wxMaracasIRMViewH__ #include #include "wx/aui/aui.h" #include #include "marTypes.h" #include "vtkProp3D.h" #include "wxMaracasIRMViewManager.h" class creaMaracasVisu_EXPORT wxMaracasIRMView : public wxPanel { public: wxMaracasIRMView( wxWindow* parent); ~wxMaracasIRMView( ); static wxMaracasIRMView* getInstance(wxWindow* parent); static wxMaracasIRMView* getInstance(); void setRenderer(vtkRenderer* renderer); void changeOpacity(int _propid, int value); void changeIsoValue(int _propid, int value); void addProp3D(vtkProp3D* prop3D); void loadProp3D(); private: static wxMaracasIRMView* instance; wxMaracasIRMViewManager* irmmanager; wxAuiManager* wxauimanager; void createFileChooser(); }; #endif // __wxMaracasIRMViewH__ // EOF - wxMaracasIRMView.h #ifndef __wxMaracasIRMViewPanelH__ #define __wxMaracasIRMViewPanelH__ class wxMaracasIRMViewPanel : public wxPanel{ public: wxMaracasIRMViewPanel(wxWindow* parent) : wxPanel(parent, -1, wxDefaultPosition, wxDefaultSize){ createPanel(); } //virtual ~wxMaracasIRMViewPanel(); virtual void createPanel(){ show = false; wxBoxSizer* sizerButtons = new wxBoxSizer(wxVERTICAL); wxButton* b = new wxButton(this, -1, wxString(_T("-")), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, wxString(_T("-"))); Connect(b->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&wxMaracasIRMViewPanel::onActionButtonPressedHide); wxButton* b1 = new wxButton(this, -1, wxString(_T("-")), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, wxString(_T("x"))); Connect(b1->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&wxMaracasIRMViewPanel::onActionButtonPressedEliminate); sizerButtons->Add(b, wxFIXED_MINSIZE); sizerButtons->Add(b1, wxFIXED_MINSIZE); sizercontrols = new wxBoxSizer(wxVERTICAL); wxBoxSizer* sizerpanel = new wxBoxSizer(wxHORIZONTAL); sizerpanel->Add(sizerButtons,wxGROW); sizerpanel->Add(sizercontrols,wxGROW); this->SetSizer(sizerpanel, true); this->SetAutoLayout( true ); } /** ** Adds a new control to the panel (sizer, radiob, etc) **/ virtual void addControl(wxWindow* win){ if(sizercontrols!=NULL){ sizercontrols->Add(win, wxGROW); } } /** ** Hides or show the controls in the panel **/ virtual void onActionButtonPressedHide( wxCommandEvent& event ){ wxList list = sizercontrols->GetChildren(); int i; for(i=0; iShow(i,show); } show = !show; sizercontrols->Layout(); this->Layout(); } /** ** The user must implement this function to remove the panel from the **/ virtual void onActionButtonPressedEliminate( wxCommandEvent& event )=0; /** ** The user must implement this function to add the necessary controls to the panel **/ virtual void createControls( )=0; private: wxBoxSizer* sizercontrols; bool show; }; #endif #ifndef __wxMaracasIRMViewPanelProp3DH__ #define __wxMaracasIRMViewPanelProp3DH__ class wxMaracasIRMViewProp3D : public wxMaracasIRMViewPanel{ public: wxMaracasIRMViewProp3D(wxWindow* parent, int propid); ~wxMaracasIRMViewProp3D(); void createControls(); void onActionButtonPressedEliminate( wxCommandEvent& event ); void onOpacityRelease(wxScrollEvent& event ); void onIsoValueRelease(wxScrollEvent& event ); void onRadioBoxChange(wxCommandEvent& event); private: wxRadioBox* radiob; wxSlider* opacity; wxSlider* isovalue; int _propid; }; #endif #pragma once #ifndef __ToolBar__ #define __ToolBar__ #include #include class ToolBar : public wxToolBar{ public: ToolBar(wxWindow * parent,std::string iconsdir="C:/Creatis/creaAppli/Development/creaPipeline/Data/Icons/"); ~ToolBar(void); void onExecPipeline(wxCommandEvent& event); void onLoadConfig(wxCommandEvent& event); private: DECLARE_EVENT_TABLE() }; #endif