]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/listWx.h
#2516 creaMaracasVisu Feature New Normal - creaPanelButtonContainer ListPanel with...
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / creaButtonContainer / view / listWx.h
index e2ea60e9352bcfa56f5224d739b2535d908ce91d..9eb623543dabc8fdfcc7b014a0c308f309f3de5f 100644 (file)
  #  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 "functor.h"
 #include "system.h"
 
+/*!    @namespace <creaButtonContainer>
+ *     @brief Contains the creaButtonContainer library included in creaMaracasVisu.
+ */
 namespace creaButtonContainer
 {
-
+       /*! @namespace <creaButtonContainer::view>
+        *      @brief Contains the implementation of the view in creaButtonContainer library.
+        *      @see <a href="http://en.wikipedia.org/wiki/Model-view-controller">MVC Software Architecture</a>
+        */
        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 <a href="http://docs.wxwidgets.org/stable/wx_wxpanel.html">wxPanel</a>
+                */
                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<std::string, wxPanel*> ListAction;
+                                *      @brief Defines the ListAction type.
+                                *      First is the button name(item list), Second FunctionEventType
+                                */
                                typedef std::pair<std::string, wxPanel*> ListAction;
+                               // ----------------------------------------------------------------------------------
+                               /*!     @typedef std::vector<ListAction> ItemsVector;
+                                *      @brief Defines the Items Vector type.
+                                */
                                typedef std::vector<ListAction> 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
-                               ListEvent(wxCommandEvent& event);
-
+                               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;
-
-                               TFunctor* m_Functor;
-                               bool m_FunctorEnabled;
+                               wxListBox* m_ListBox;                           //!< This is the Items List.
+                               TFunctor* m_Functor;                            //!< This is the functor.
+                               bool m_FunctorEnabled;                          //!< Disable or Enable Functor.
 
                };
        } //ecapseman