X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FcreaButtonContainer%2Fview%2FlistWx.h;fp=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FcreaButtonContainer%2Fview%2FlistWx.h;h=9eb623543dabc8fdfcc7b014a0c308f309f3de5f;hb=8eebd53dcbe07edf0569621003178ee37d69a39b;hp=346552982ff271e6ceea3dc6ef2abb329f06a990;hpb=bbd33bbb0f352d14d7068d87fcd50e02341004a9;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/listWx.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/listWx.h index 3465529..9eb6235 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/listWx.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/listWx.h @@ -23,88 +23,135 @@ # knowledge of the CeCILL-B license and that you accept its terms. # ------------------------------------------------------------------------ */ +/*! + * @file listWx.h + * @brief This contains the ListWx class. + * @author Monica ESPINOSA (espinosa[AT]creatis.insa-lyon.fr) + * @date 2015-01-02 + */ + #ifndef LISTWX_H #define LISTWX_H //#include #include -#include #include -#include -//#include -#include -#include #include #include +#include -#include #include -#include "functor.h" -#include +#include +#include +#include "functor.h" #include "system.h" -#include "listConfig.h" -//#include "listConfigPanel.h" - -namespace creaButtonContainer { - -namespace view { - -class ListWx: public wxPanel { -public: - - typedef creaButtonContainer::model::TFunctor TFunctor; - typedef std::map ItemsMap; - typedef creaButtonContainer::model::ListConfig ListConfig; - -public: - - ListWx(wxWindow* parent, wxWindowID id, ItemsMap iMap, TFunctor* functor); - ListWx(wxWindow* parent, wxWindowID id, ItemsMap iMap, TFunctor* functor, - std::string c); - // ---------------------------------------------------------------------------------- - - virtual - ~ListWx(); - // ---------------------------------------------------------------------------------- - long - GetID(); - - void - FillList(); - - void - ListEvent(wxCommandEvent& event); - - ItemsMap - GetItemsMap(); - - TFunctor* - GetWxListFunctor(); - - void SetFunctorEnabled(const bool& enabled); - - void AddItemToMap(std::string key, wxPanel* panel); - - void DeleteItemFromMap(std::string key); - - bool IsFunctorEnabled() const; - - wxListBox* - GetListBox() const; - - // ---------------------------------------------------------------------------------- -private: - ItemsMap m_itemsMap; //! - TFunctor* functor; - wxListBox* listBox; - wxFlexGridSizer* sizer; - wxButton* button; - bool m_functorEnabled; - ListConfig* m_listConfig; -}; -} //ecapseman +/*! @namespace + * @brief Contains the creaButtonContainer library included in creaMaracasVisu. + */ +namespace creaButtonContainer +{ + /*! @namespace + * @brief Contains the implementation of the view in creaButtonContainer library. + * @see MVC Software Architecture + */ + namespace view + { + /*! @class ListWx listWx.h "listWx.h" + * @brief This class contains the list in the panel. + * @details This class contains the information of a list, it derives from wxPanel. + * @see wxPanel + */ + class ListWx: public wxPanel + { + public: + //typedef definition. + // ---------------------------------------------------------------------------------- + /*! typedef creaButtonContainer::model::TFunctor TFunctor; + * @brief Defines the TFunctor type. + */ + typedef creaButtonContainer::model::TFunctor TFunctor; + // ---------------------------------------------------------------------------------- + /*! @typedef std::pair ListAction; + * @brief Defines the ListAction type. + * First is the button name(item list), Second FunctionEventType + */ + typedef std::pair ListAction; + // ---------------------------------------------------------------------------------- + /*! @typedef std::vector ItemsVector; + * @brief Defines the Items Vector type. + */ + typedef std::vector ItemsVector; + // ---------------------------------------------------------------------------------- + //end of typedef definition. + + public: + // ---------------------------------------------------------------------------------- + /*! @fn ListWx( wxWindow* parent, wxWindowID id, ItemsVector iVector, + TFunctor* functor ); + * @brief This is the parameterized constructor. + * @param parent The wxWindow pointer to parent. + * @param id The wxID of the button. + * @param ItemsVector //The items Vector (name, wxPanel). + * @param TFunctor //The functor of items list. + */ + ListWx(wxWindow* parent, wxWindowID id, ItemsVector iVector, + TFunctor* functor); + // ---------------------------------------------------------------------------------- + /*! @fn ListWx( wxWindow* parent, wxWindowID id, TFunctor* functor ); + * @brief This is the parameterized constructor. + * @param parent The wxWindow pointer to parent. + * @param id The wxID of the button. + * @param TFunctor //The functor of items list. + */ + ListWx(wxWindow* parent, wxWindowID id, TFunctor* functor); + // ---------------------------------------------------------------------------------- + /*! @fn virtual ~Button( ); + * @brief This is the destructor. + */ + virtual + ~ListWx(); + // ---------------------------------------------------------------------------------- + /*! @fn void OnListEvent( wxCommandEvent& event ); + * @brief This method calls the functor when + * an item of list is clicked. + * @param event + */ + void + OnListEvent(wxCommandEvent& event); + // ---------------------------------------------------------------------------------- + /*! @fn void SetFunctorEnabled( wxCommandEvent& event ); + * @brief This method set the state of Functor (enable or disable) + * @param enabled + */ + void + SetFunctorEnabled(const bool& enabled); + // ---------------------------------------------------------------------------------- + /*! @fn bool OnListEvent( wxCommandEvent& event ); + * @brief This method ask the state of functor. + * @return + */ + bool + IsFunctorEnabled() const; + // ---------------------------------------------------------------------------------- + /*! @fn wxListBox* GetListBox() const; + * @brief This method returns the wxlistBox. + * @exception std::bad_alloc + * @return wxListBox + */ + wxListBox* + GetListBox() const; + // ---------------------------------------------------------------------------------- + + private: + + wxListBox* m_ListBox; //!< This is the Items List. + TFunctor* m_Functor; //!< This is the functor. + bool m_FunctorEnabled; //!< Disable or Enable Functor. + + }; + } //ecapseman } //ecapseman #endif // LISTWX_H