#ifndef __wxInstantChooserPanel_h_INCLUDED_H__ #define __wxInstantChooserPanel_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 #include #include "wxConceptControl.h" #include #include "ConceptDataWrap.h" #include //------------------------------------------------------------------------------------------------------------ // Events declaration //------------------------------------------------------------------------------------------------------------ BEGIN_DECLARE_EVENT_TYPES() DECLARE_EVENT_TYPE(wxINSTANT_CHOOSER_CHANGE,400) END_DECLARE_EVENT_TYPES() /** file wxInstantChooserPanel.h */ //------------------------------------------------------------------------------------------------------------ // Class definition //------------------------------------------------------------------------------------------------------------ class wxInstantChooserPanel : public wxPanel { public: //------------------------------------------------------------------------------------------------------------ // Constructors & Destructors //------------------------------------------------------------------------------------------------------------ wxInstantChooserPanel (wxWindow * parent, std::string title, bool theOrientation, bool resolutionALL = false, std::string configurationElem="", std::string groupConfig = ""); wxInstantChooserPanel (wxWindow * parent,wxWindowID id ,std::string title, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, bool theOrientation=true, std::string configurationElem="", std::string groupConfig = ""); ~wxInstantChooserPanel(); //------------------------------------------------------------------------------------------------------------ // Creational and initialization methods //------------------------------------------------------------------------------------------------------------ /** * Adds a concept to the instant managment. PRE: The concept doesn't exists in the included _concepts. * @param aConceptName * @param minV * @param maxV * @param actualV */ void addConcept(std::string aConceptName, int minV, int maxV, int actualV); void setWxEventHandler( wxEvtHandler * theEventHandler ); //------------------------------------------------------------------------------------------------------------ // Methods for capturing events //------------------------------------------------------------------------------------------------------------ void onResolutionSlider( wxScrollEvent& event ); void onCheckBoxClicked( wxCommandEvent& event ); void onConceptRelease( wxCommandEvent& event ); //------------------------------------------------------------------------------------------------------------ // Methods for sending events //------------------------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------------------------ // Attributes getters and setters //------------------------------------------------------------------------------------------------------------ ConceptDataWrap * getLastConceptData(); //------------------------------------------------------------------------------------------------------------ // Other functional methods //------------------------------------------------------------------------------------------------------------ void setInstant(std::vector choiceInstant); void setInstant(std::map* _actualInstant ); void getInstant(std::vector & choiceInstant); void getInstantData(std::map & choiceInstantData); std::map* getInstantData(); void setResolutionRangeWithLasUpdate(); void refreshConceptLabels(); void setConfiguration(std::string aConfiguration); std::string getConfiguration(); void setResolutionOverAll( bool condition ); bool getIfResolutionOverAll(); void setConceptValue( std::string theConceptName, int theValue ); int getConceptValue( std::string theConceptName ); ConceptDataWrap * getConceptDataOf( std::string theConceptName ); bool getIfConceptCheckedAt( std::string theConceptName, int atChecksPosition ); void onChangeInstant( wxCommandEvent& event ); void addConcepts(std::vector conceptNameVect,std::vector conceptSizeVect); private: //------------------------------------------------------------------------------------------------------------ // Private methods //------------------------------------------------------------------------------------------------------------ void initializeResolutionSlider(); void changeResolutionAtConceptControl( wxConceptControl * theConceptToUpdate ); void setVerticalMaxSelectedNums( std::string groupMaxVertNums ); //------------------------------------------------------------------------------------------------------------ // Attributtes //------------------------------------------------------------------------------------------------------------ std::vector * _concepts; wxConceptControl * _lastConceptUpdated; wxSlider * _resolutionSlider; wxFlexGridSizer * _outSizer; bool _orientation; bool _resolutionOverALL; std::map* _actualInstant; std::vector _verticalMaxSelected; wxEvtHandler * _eventHandler; std::string _configuration; //DECLARE_CLASS(wxInstantChooserPanel) // any class wishing to process wxWindows events must use this macro //DECLARE_EVENT_TABLE() }; #endif