/*========================================================================= Program: bbtk Module: $RCSfile: bbwxRadioButton.h,v $ Language: C++ Date: $Date: 2008/04/08 06:59:32 $ Version: $Revision: 1.2 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or http://www.creatis.insa-lyon.fr/Public/bbtk/License.html for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notices for more information. =========================================================================*//** * \brief Short description in one line * * Long description which * can span multiple lines */ /** * \file * \brief Pattern for the definition of a new type of Node (header) */ /** * \class bbtk::NodePatern * \brief Pattern for the definition of a new type of Node */ #ifdef _USE_WXWIDGETS_ // Prevents multiple inclusions : use symbols of the form // __FILENAME_INCLUDED__ // where FILENAME must be replaced by the actual file name #ifndef __bbWxRadioButton_h__ #define __bbWxRadioButton_h__ #include "bbtkWxBlackBox.h" // Namespace of the package "wx" is "bbwx" // Namespace associated to packages should be of the form : // bbPACKAGENAME namespace bbwx { class RadioButton; //-------------------------------------------------------------------------- // The widget created by the box class RadioButtonWidget : public wxPanel { public: RadioButtonWidget( RadioButton* box, wxWindow *parent, int In, wxString title, std::vector lstIn ); ~RadioButtonWidget(); int GetValue(); void OnRadioButton(wxEvent& event); private: RadioButton *mBox; int MAX_RADIOBUTTON; wxRadioButton *mwxRadioButton[10]; }; //------------------------------------------------------------------------ //------------------------------------------------------------------------ //------------------------------------------------------------------------ class /*BBTK_EXPORT*/ RadioButton : public bbtk::WxBlackBox { BBTK_USER_BLACK_BOX_INTERFACE(RadioButton,bbtk::WxBlackBox); BBTK_DECLARE_INPUT(In,int); BBTK_DECLARE_INPUT(In0,std::string); BBTK_DECLARE_INPUT(In1,std::string); BBTK_DECLARE_INPUT(In2,std::string); BBTK_DECLARE_INPUT(In3,std::string); BBTK_DECLARE_INPUT(In4,std::string); BBTK_DECLARE_INPUT(In5,std::string); BBTK_DECLARE_INPUT(In6,std::string); BBTK_DECLARE_INPUT(In7,std::string); BBTK_DECLARE_INPUT(In8,std::string); BBTK_DECLARE_INPUT(In9,std::string); BBTK_DECLARE_INPUT(Title,std::string); BBTK_DECLARE_OUTPUT(Out,int); BBTK_CREATE_WIDGET(CreateWidget); BBTK_PROCESS(Process); void Process(); void CreateWidget(); protected: virtual void bbUserConstructor(); }; //================================================================= // UserBlackBox description BBTK_BEGIN_DESCRIBE_BLACK_BOX(RadioButton,bbtk::WxBlackBox); BBTK_NAME("RadioButton"); BBTK_AUTHOR("eduardo.davila@creatis.insa-lyon.fr"); BBTK_DESCRIPTION("RadioButton group widget 0-9 entries"); BBTK_INPUT(RadioButton,In,"Set initial item",int,""); BBTK_INPUT(RadioButton,In0,"option 0",std::string,""); BBTK_INPUT(RadioButton,In1,"option 1",std::string,""); BBTK_INPUT(RadioButton,In2,"option 2",std::string,""); BBTK_INPUT(RadioButton,In3,"option 3",std::string,""); BBTK_INPUT(RadioButton,In4,"option 4",std::string,""); BBTK_INPUT(RadioButton,In5,"option 5",std::string,""); BBTK_INPUT(RadioButton,In6,"option 6",std::string,""); BBTK_INPUT(RadioButton,In7,"option 7",std::string,""); BBTK_INPUT(RadioButton,In8,"option 8",std::string,""); BBTK_INPUT(RadioButton,In9,"option 9",std::string,""); BBTK_INPUT(RadioButton,Title,"Title of the widget (default '') ", std::string,""); BBTK_OUTPUT(RadioButton,Out,"Item selected",int,""); BBTK_END_DESCRIBE_BLACK_BOX(RadioButton); //================================================================= } //namespace bbtk #endif //__bbWxRadioButton_h__ #endif //_USE_WXWIDGETS_