]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/button.h
Correct wxImage::Size() again; add unit tests for it.
[wxWidgets.git] / include / wx / button.h
index e2d3dbcd85c72b78acda91f3e8c028cee374b83c..dfcf6610daf1f9a5bd259dee506498dad5703d97 100644 (file)
 // small as possible
 #define wxBU_EXACTFIT        0x0001
 
 // small as possible
 #define wxBU_EXACTFIT        0x0001
 
+// this flag can be used to disable using the text label in the button: it is
+// mostly useful when creating buttons showing bitmap and having stock id as
+// without it both the standard label corresponding to the stock id and the
+// bitmap would be shown
+#define wxBU_NOTEXT          0x0002
+
+
 #include "wx/bitmap.h"
 #include "wx/control.h"
 
 #include "wx/bitmap.h"
 #include "wx/control.h"
 
@@ -146,6 +153,19 @@ public:
         State_Max
     };
 
         State_Max
     };
 
+    // return true if this button shouldn't show the text label, either because
+    // it doesn't have it or because it was explicitly disabled with wxBU_NOTEXT
+    bool DontShowLabel() const
+    {
+        return HasFlag(wxBU_NOTEXT) || GetLabel().empty();
+    }
+
+    // return true if we do show the label
+    bool ShowsLabel() const
+    {
+        return !DontShowLabel();
+    }
+
 protected:
     // choose the default border for this window
     virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; }
 protected:
     // choose the default border for this window
     virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; }
@@ -155,8 +175,13 @@ protected:
     virtual void DoSetBitmap(const wxBitmap& WXUNUSED(bitmap),
                              State WXUNUSED(which))
         { }
     virtual void DoSetBitmap(const wxBitmap& WXUNUSED(bitmap),
                              State WXUNUSED(which))
         { }
+
+    virtual wxSize DoGetBitmapMargins() const
+        { return wxSize(0, 0); }
+
     virtual void DoSetBitmapMargins(wxCoord WXUNUSED(x), wxCoord WXUNUSED(y))
         { }
     virtual void DoSetBitmapMargins(wxCoord WXUNUSED(x), wxCoord WXUNUSED(y))
         { }
+
     virtual void DoSetBitmapPosition(wxDirection WXUNUSED(dir))
         { }
 
     virtual void DoSetBitmapPosition(wxDirection WXUNUSED(dir))
         { }