//===== // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost) //===== #ifdef _USE_WXWIDGETS_ #ifndef __bbwxBitmapButton_h_INCLUDED__ #define __bbwxBitmapButton_h_INCLUDED__ #include "bbwx_EXPORT.h" #include "bbtkWxBlackBox.h" namespace bbwx { class bbwx_EXPORT BitmapButton : public bbtk::WxBlackBox { friend class BitmapButtonWidget; BBTK_BLACK_BOX_INTERFACE(BitmapButton,bbtk::WxBlackBox); BBTK_DECLARE_INPUT(In, std::string ); BBTK_DECLARE_INPUT(Bitmap, wxBitmap* ); BBTK_DECLARE_INPUT(Label, std::string ); BBTK_DECLARE_INPUT(Colour, std::vector ); BBTK_PROCESS(Process); void Process(); BBTK_CREATE_WIDGET(CreateWidget); void CreateWidget(wxWindow*); void UpdateColour(); void UpdateLabel(); void UpdateIcon(); }; class BitmapButtonWidget : public wxPanel { public: BitmapButtonWidget( BitmapButton* box, wxWindow *parent, wxBitmap* bitmap = NULL, wxString title = wxT("") ); ~BitmapButtonWidget(); void OnClick( wxEvent& ); void SetLabel(wxString title); void SetColour(wxColour color); void SetIcon( wxBitmap* bitmap); private: BitmapButton* box; wxBoxSizer* sizer; wxButton * button; wxString title; }; typedef std::vector colorVector; BBTK_BEGIN_DESCRIBE_BLACK_BOX(BitmapButton,bbtk::WxBlackBox); BBTK_NAME("BitmapButton"); BBTK_AUTHOR("daniel.gonzalez@creatis.insa-lyon.fr"); BBTK_DESCRIPTION("A bitmap button is a control that contains a bitmap. If no bitmap is provided, then a label is used instead."); //BBTK_CATEGORY("widget"); BBTK_INPUT(BitmapButton,In,"Commands to be executed separated by commas (;). Each single quote (') is replaced by a double quote (\").",std::string,""); BBTK_INPUT(BitmapButton,Bitmap,"Bitmap image of the button",wxBitmap*,""); BBTK_INPUT(BitmapButton,Label,"Label of the button",std::string,""); BBTK_INPUT(BitmapButton,Colour,"Button background color. By default (-1, -1, -1)",colorVector,"color"); BBTK_END_DESCRIBE_BLACK_BOX(BitmapButton); //===== // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost) //===== } // EO namespace bbwx #endif // __bbwxBitmapButton_h_INCLUDED__ #endif // _USE_WXWIDGETS_