]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/bmpbuttn.h
Unset the debug report preview dialog as critical window when it's hidden.
[wxWidgets.git] / include / wx / msw / bmpbuttn.h
index 444c147ae1f8aa906e13a7815c62f77300d1f5f7..aff0c0fe143963ddd4f5e9646749f340b5a07fc3 100644 (file)
 #include "wx/bitmap.h"
 #include "wx/brush.h"
 
 #include "wx/bitmap.h"
 #include "wx/brush.h"
 
-#define wxDEFAULT_BUTTON_MARGIN 4
-
-class WXDLLEXPORT wxBitmapButton: public wxBitmapButtonBase
+class WXDLLIMPEXP_CORE wxBitmapButton : public wxBitmapButtonBase
 {
 public:
 {
 public:
-    wxBitmapButton() { }
+    wxBitmapButton() { Init(); }
 
     wxBitmapButton(wxWindow *parent,
                    wxWindowID id,
 
     wxBitmapButton(wxWindow *parent,
                    wxWindowID id,
@@ -32,6 +30,8 @@ public:
                    const wxValidator& validator = wxDefaultValidator,
                    const wxString& name = wxButtonNameStr)
     {
                    const wxValidator& validator = wxDefaultValidator,
                    const wxString& name = wxButtonNameStr)
     {
+        Init();
+
         Create(parent, id, bitmap, pos, size, style, validator, name);
     }
 
         Create(parent, id, bitmap, pos, size, style, validator, name);
     }
 
@@ -44,28 +44,28 @@ public:
                 const wxValidator& validator = wxDefaultValidator,
                 const wxString& name = wxButtonNameStr);
 
                 const wxValidator& validator = wxDefaultValidator,
                 const wxString& name = wxButtonNameStr);
 
-    // Implementation
-    virtual bool SetBackgroundColour(const wxColour& colour);
-    virtual void SetDefault();
-    virtual bool MSWOnDraw(WXDRAWITEMSTRUCT *item);
-    virtual void DrawFace( WXHDC dc, int left, int top, int right, int bottom, bool sel );
-    virtual void DrawButtonFocus( WXHDC dc, int left, int top, int right, int bottom, bool sel );
-    virtual void DrawButtonDisable( WXHDC dc, int left, int top, int right, int bottom, bool with_marg );
-
 protected:
 protected:
-    virtual wxSize DoGetBestSize() const;
+    // common part of all ctors
+    void Init()
+    {
+        m_disabledSetByUser =
+        m_hoverSetByUser = false;
+    }
 
 
-    // invalidate m_brushDisabled when system colours change
-    void OnSysColourChanged(wxSysColourChangedEvent& event);
+    // reimplement some base class virtuals
+    virtual void DoSetBitmap(const wxBitmap& bitmap, State which);
 
 
+    // true if disabled bitmap was set by user, false if we created it
+    // ourselves from the normal one
+    bool m_disabledSetByUser;
 
 
-    // the brush we use to draw disabled buttons
-    wxBrush m_brushDisabled;
+    // true if hover bitmap was set by user, false if it was set from focused
+    // one
+    bool m_hoverSetByUser;
 
 
     DECLARE_EVENT_TABLE()
     DECLARE_DYNAMIC_CLASS_NO_COPY(wxBitmapButton)
 };
 
 
 
     DECLARE_EVENT_TABLE()
     DECLARE_DYNAMIC_CLASS_NO_COPY(wxBitmapButton)
 };
 
-#endif
-    // _WX_BMPBUTTN_H_
+#endif // _WX_BMPBUTTN_H_