00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef SO_WX_TOGGLE_BITMAP_BUTTON
00025 #define SO_WX_TOGGLE_BITMAP_BUTTON
00026
00028
00029
00030
00032
00033 #ifdef __GNUG__
00034 #pragma interface
00035 #endif
00036
00037 #include <Inventor/Wx/SoWx.h>
00038
00039 class SoWxBitmapToggleButton : public wxControl
00040 {
00041 public:
00042
00043 SoWxBitmapToggleButton();
00044
00045
00046 SoWxBitmapToggleButton( wxWindow* parent,
00047 wxWindowID id,
00048 const wxBitmap& bitmap,
00049 const wxPoint& pos = wxDefaultPosition,
00050 const wxSize& size = wxDefaultSize,
00051 long style = 0,
00052 const wxValidator& val = wxDefaultValidator,
00053 const wxString& name = "bitmapToggleButton" );
00054
00055
00056 ~SoWxBitmapToggleButton();
00057
00058
00059 bool Create( wxWindow* parent,
00060 wxWindowID id,
00061 const wxBitmap& bitmap,
00062 const wxPoint& pos = wxDefaultPosition,
00063 const wxSize& size = wxDefaultSize,
00064 long style = 0,
00065 const wxValidator& val = wxDefaultValidator,
00066 const wxString& name = "bitmapToggleButton" );
00067
00068
00069 bool GetValue() const;
00070
00071
00072 void SetValue( const bool state );
00073
00074
00075 void SetBitmap( const wxBitmap& bitmap );
00076
00077
00078 virtual void OnPaint( wxPaintEvent& event );
00079 virtual void OnLeftClick( wxMouseEvent& event );
00080 virtual void OnMouseOver( wxMouseEvent& event );
00081
00082 private:
00083
00084 virtual wxSize DoGetBestSize() const;
00085
00086 private:
00087 bool m_down;
00088 wxBitmap m_bitmap;
00089 bool m_over;
00090
00091 void Init();
00092 bool IsCursorOnButton();
00093
00094 DECLARE_DYNAMIC_CLASS( SoWxToggleBitmapButton )
00095 DECLARE_EVENT_TABLE()
00096 };
00097
00098
00099 #define wxEVT_COMMAND_BITMAP_TOGGLED (wxID_HIGHEST + 2001)
00100
00101
00102 #define EVT_BITMAP_TOGGLE(id,func) \
00103 EVT_CUSTOM(wxEVT_COMMAND_BITMAP_TOGGLED,id,func)
00104
00105
00106 #define wxBITMAP_TOGGLE_IS_UP 0
00107 #define wxBITMAP_TOGGLE_IS_DOWN 1
00108
00109 #endif // SO_WX_TOGGLE_BITMAP_BUTTON
00110
00111