X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=packages%2Fwx%2Fsrc%2FbbwxRadioButton.h;fp=packages%2Fwx%2Fsrc%2FbbwxRadioButton.h;h=71a0d1095a356ce7c4f12949062cb45394288b15;hb=d3ec778ab062261978fcaf393f33c41b20cdd275;hp=0000000000000000000000000000000000000000;hpb=acec0f7b93efd8318c826ff6b006fde051993c5a;p=bbtk.git diff --git a/packages/wx/src/bbwxRadioButton.h b/packages/wx/src/bbwxRadioButton.h new file mode 100644 index 0000000..71a0d10 --- /dev/null +++ b/packages/wx/src/bbwxRadioButton.h @@ -0,0 +1,136 @@ +/*========================================================================= + + Program: bbtk + Module: $RCSfile: bbwxRadioButton.h,v $ + Language: C++ + Date: $Date: 2008/02/11 14:47:12 $ + Version: $Revision: 1.1 $ + + 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_