#ifndef __wxConceptControl_h_INCLUDED_H__ #define __wxConceptControl_h_INCLUDED_H__ // ----------------------------------------------------------------------------------------------------------- // WX headers inclusion. // For compilers that support precompilation, includes . // ----------------------------------------------------------------------------------------------------------- #include #ifdef __BORLANDC__ #pragma hdrstop #endif #ifndef WX_PRECOMP #include #endif //------------------------------------------------------------------------------------------------------------ // Includes //------------------------------------------------------------------------------------------------------------ #include #include //------------------------------------------------------------------------------------------------------------ // Events declaration //------------------------------------------------------------------------------------------------------------ BEGIN_DECLARE_EVENT_TYPES() DECLARE_EVENT_TYPE( wxEVT_CONCEPT_RELEASE, -1 ) END_DECLARE_EVENT_TYPES() /** file wxConceptControl.h */ //------------------------------------------------------------------------------------------------------------ // Class definition //------------------------------------------------------------------------------------------------------------ class wxConceptControl : public wxPanel { public: //------------------------------------------------------------------------------------------------------------ // Constructors & Destructors //------------------------------------------------------------------------------------------------------------ wxConceptControl(wxWindow *parent, bool orientation, int minV, int maxV, int actualV, std::string &aConceptName, std::string elementsDef = ""); ~wxConceptControl(); //------------------------------------------------------------------------------------------------------------ // Methods for capturing events //------------------------------------------------------------------------------------------------------------ void onUpdateUICheckBox(wxCommandEvent& event); void OnCheckOrRadioBox(wxCommandEvent& event); void onSliderTrack(wxScrollEvent& event); void onSliderRelease(wxScrollEvent& event); //------------------------------------------------------------------------------------------------------------ // Methods for sending events //------------------------------------------------------------------------------------------------------------ void sendEnvent( WXTYPE theEventType ); //------------------------------------------------------------------------------------------------------------ // Attributes getters and setters //------------------------------------------------------------------------------------------------------------ std::string getName(); int getMinShowedValue(); int getMaxShowedValue(); void setMinValue(int theMin); int getMinValue(); void setMaxValue(int theMax); int getMaxValue(); void setActualValue(int theActual); int getActualValue(); void setShowLables(bool ifShowCondition); //------------------------------------------------------------------------------------------------------------ // Other functional methods //------------------------------------------------------------------------------------------------------------ void clearCheckAt( int position ); bool getIfChecked( int position ); void setRange(int minShow, int maxShow); void reset(); int getNumCheckBox(); private: //------------------------------------------------------------------------------------------------------------ // Private methods //------------------------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------------------------ // Creational and initialization methods //------------------------------------------------------------------------------------------------------------ void createElements( wxSizer *sizer, std::string elementsDef ); wxCheckBox * createCheckBoxAndAddToSizer(wxSizer *sizer, std::string label, wxWindowID id, int groupID); //------------------------------------------------------------------------------------------------------------ // Attributtes //------------------------------------------------------------------------------------------------------------ wxSlider * conceptSlider; //std::string conceptName; wxStaticText * conceptName; std::vector textBoxes; std::vector checkBoxes; wxCheckBox * lastUpdate; int minValue; int maxValue; bool showLabels; int _numCheckBox; //DECLARE_CLASS(wxConceptControl) // any class wishing to process wxWindows events must use this macro // DECLARE_EVENT_TABLE() }; #endif // __wxConceptControl__