]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_button.i
helpers and typemaps for new GraphicsContext methods
[wxWidgets.git] / wxPython / src / _button.i
index be6ec069cc9187d989bc502d2d3fd162b24097a2..d29dd2c2a3bc4900db73ab13b5e426c6f5bce542 100644 (file)
@@ -24,6 +24,8 @@ enum {
     wxBU_RIGHT,
     wxBU_BOTTOM,
 
+    wxBU_ALIGN_MASK,
+
     wxBU_EXACTFIT,
     wxBU_AUTODRAW,
 };
@@ -33,17 +35,17 @@ enum {
 DocStr(wxButton,
 "A button is a control that contains a text string, and is one of the most
 common elements of a GUI.  It may be placed on a dialog box or panel, or
-indeed almost any other window.
+indeed almost any other window.", "
 
 Window Styles
 -------------
     ==============   ==========================================
-    wx.BU_LEFT       Left-justifies the label. WIN32 only.
+    wx.BU_LEFT       Left-justifies the label. Windows and GTK+ only.
     wx.BU_TOP        Aligns the label to the top of the button.
-                     WIN32 only.
-    wx.BU_RIGHT      Right-justifies the bitmap label. WIN32 only.
+                     Windows and GTK+ only.
+    wx.BU_RIGHT      Right-justifies the bitmap label. Windows and GTK+ only.
     wx.BU_BOTTOM     Aligns the label to the bottom of the button.
-                     WIN32 only.
+                     Windows and GTK+ only.
     wx.BU_EXACTFIT   Creates the button as small as possible
                      instead of making it of the standard size
                      (which is the default behaviour.)
@@ -58,47 +60,119 @@ Events
 :see: `wx.BitmapButton`
 ");
 
+
+MustHaveApp(wxButton);
+
 class wxButton : public wxControl
 {
 public:
     %pythonAppend wxButton         "self._setOORInfo(self)"
     %pythonAppend wxButton()       ""
+    %typemap(out) wxButton*;    // turn off this typemap
 
 
-    RefDoc(wxButton, "");
     DocCtorStr(
-        wxButton(wxWindow* parent, wxWindowID id, const wxString& label,
+        wxButton(wxWindow* parent, wxWindowID id=-1,
+                 const wxString& label=wxPyEmptyString,
                  const wxPoint& pos = wxDefaultPosition,
                  const wxSize& size = wxDefaultSize,
                  long style = 0,
                  const wxValidator& validator = wxDefaultValidator,
                  const wxString& name = wxPyButtonNameStr),
-        "Create and show a button.");
+        "Create and show a button.  The preferred way to create standard
+buttons is to use a standard ID and an empty label.  In this case
+wxWigets will automatically use a stock label that coresponds to the
+ID given.  In additon, the button will be decorated with stock icons
+under GTK+ 2.", "
+
+The stock IDs and coresponding labels are
+
+    =====================   ======================
+    wx.ID_ADD               'Add'
+    wx.ID_APPLY             '\&Apply'
+    wx.ID_BOLD              '\&Bold'
+    wx.ID_CANCEL            '\&Cancel'
+    wx.ID_CLEAR             '\&Clear'
+    wx.ID_CLOSE             '\&Close'
+    wx.ID_COPY              '\&Copy'
+    wx.ID_CUT               'Cu\&t'
+    wx.ID_DELETE            '\&Delete'
+    wx.ID_FIND              '\&Find'
+    wx.ID_REPLACE           'Find and rep\&lace'
+    wx.ID_BACKWARD          '\&Back'
+    wx.ID_DOWN              '\&Down'
+    wx.ID_FORWARD           '\&Forward'
+    wx.ID_UP                '\&Up'
+    wx.ID_HELP              '\&Help'
+    wx.ID_HOME              '\&Home'
+    wx.ID_INDENT            'Indent'
+    wx.ID_INDEX             '\&Index'
+    wx.ID_ITALIC            '\&Italic'
+    wx.ID_JUSTIFY_CENTER    'Centered'
+    wx.ID_JUSTIFY_FILL      'Justified'
+    wx.ID_JUSTIFY_LEFT      'Align Left'
+    wx.ID_JUSTIFY_RIGHT     'Align Right'
+    wx.ID_NEW               '\&New'
+    wx.ID_NO                '\&No'
+    wx.ID_OK                '\&OK'
+    wx.ID_OPEN              '\&Open'
+    wx.ID_PASTE             '\&Paste'
+    wx.ID_PREFERENCES       '\&Preferences'
+    wx.ID_PRINT             '\&Print'
+    wx.ID_PREVIEW           'Print previe\&w'
+    wx.ID_PROPERTIES        '\&Properties'
+    wx.ID_EXIT              '\&Quit'
+    wx.ID_REDO              '\&Redo'
+    wx.ID_REFRESH           'Refresh'
+    wx.ID_REMOVE            'Remove'
+    wx.ID_REVERT_TO_SAVED   'Revert to Saved'
+    wx.ID_SAVE              '\&Save'
+    wx.ID_SAVEAS            'Save \&As...'
+    wx.ID_STOP              '\&Stop'
+    wx.ID_UNDELETE          'Undelete'
+    wx.ID_UNDERLINE         '\&Underline'
+    wx.ID_UNDO              '\&Undo'
+    wx.ID_UNINDENT          '\&Unindent'
+    wx.ID_YES               '\&Yes'
+    wx.ID_ZOOM_100          '\&Actual Size'
+    wx.ID_ZOOM_FIT          'Zoom to \&Fit'
+    wx.ID_ZOOM_IN           'Zoom \&In'
+    wx.ID_ZOOM_OUT          'Zoom \&Out'
+    =====================   ======================
+");
 
     DocCtorStrName(
         wxButton(),
-        "Precreate a Button for 2-phase creation.",
+        "Precreate a Button for 2-phase creation.", "",
         PreButton);
 
+    // Turn it back on again
+    %typemap(out) wxButton* { $result = wxPyMake_wxObject($1, $owner); }
+
+
     DocDeclStr(
-        bool , Create(wxWindow* parent, wxWindowID id, const wxString& label,
+        bool , Create(wxWindow* parent, wxWindowID id=-1,
+                      const wxString& label=wxPyEmptyString,
                       const wxPoint& pos = wxDefaultPosition,
                       const wxSize& size = wxDefaultSize,
                       long style = 0,
                       const wxValidator& validator = wxDefaultValidator,
                       const wxString& name = wxPyButtonNameStr),
-        "Acutally create the GUI Button for 2-phase creation.");
+        "Acutally create the GUI Button for 2-phase creation.", "");
     
 
 
     DocDeclStr(
         void , SetDefault(),
-        "This sets the button to be the default item for the panel or dialog box.");
+        "This sets the button to be the default item for the panel or dialog box.", "");
     
 
     DocDeclStr(
         static wxSize , GetDefaultSize(),
-        "Returns the default button size for this platform.");   
+        "Returns the default button size for this platform.", "");   
+
+    static wxVisualAttributes
+    GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
 };
 
 
@@ -110,7 +184,7 @@ DocStr(wxBitmapButton,
 "A Button that contains a bitmap.  A bitmap button can be supplied with a
 single bitmap, and wxWidgets will draw all button states using this bitmap. If
 the application needs more control, additional bitmaps for the selected state,
-unpressed focused state, and greyed-out state may be supplied.
+unpressed focused state, and greyed-out state may be supplied.", "       
 
 Window Styles
 -------------
@@ -141,80 +215,105 @@ Events
 :see: `wx.Button`, `wx.Bitmap`
 ");
 
+MustHaveApp(wxBitmapButton);
+
 class wxBitmapButton : public wxButton
 {
 public:
     %pythonAppend wxBitmapButton         "self._setOORInfo(self)"
     %pythonAppend wxBitmapButton()       ""
-
-    RefDoc(wxBitmapButton, ""); // turn it off for the ctors
+    %typemap(out) wxBitmapButton*;    // turn off this typemap
 
     DocCtorStr(
-        wxBitmapButton(wxWindow* parent, wxWindowID id, const wxBitmap& bitmap,
+        wxBitmapButton(wxWindow* parent, wxWindowID id=-1,
+                       const wxBitmap& bitmap = wxNullBitmap,
                        const wxPoint& pos = wxDefaultPosition,
                        const wxSize& size = wxDefaultSize,
                        long style = wxBU_AUTODRAW,
                        const wxValidator& validator = wxDefaultValidator,
                        const wxString& name = wxPyButtonNameStr),
-        "Create and show a button with a bitmap for the label.");
+        "Create and show a button with a bitmap for the label.", "");
 
     DocCtorStrName(
         wxBitmapButton(),
-        "Precreate a BitmapButton for 2-phase creation.",
+        "Precreate a BitmapButton for 2-phase creation.", "",
         PreBitmapButton);
 
+    // Turn it back on again
+    %typemap(out) wxBitmapButton* { $result = wxPyMake_wxObject($1, $owner); }
+
+
     DocDeclStr(
-        bool , Create(wxWindow* parent, wxWindowID id, const wxBitmap& bitmap,
-                const wxPoint& pos = wxDefaultPosition,
-                const wxSize& size = wxDefaultSize,
-                long style = wxBU_AUTODRAW,
-                const wxValidator& validator = wxDefaultValidator,
+        bool , Create(wxWindow* parent, wxWindowID id=-1,
+                      const wxBitmap& bitmap = wxNullBitmap,
+                      const wxPoint& pos = wxDefaultPosition,
+                      const wxSize& size = wxDefaultSize,
+                      long style = wxBU_AUTODRAW,
+                      const wxValidator& validator = wxDefaultValidator,
                       const wxString& name = wxPyButtonNameStr),
-        "Acutally create the GUI BitmapButton for 2-phase creation.");
+        "Acutally create the GUI BitmapButton for 2-phase creation.", "");
     
 
     DocDeclStr(
         wxBitmap , GetBitmapLabel(),
-        "Returns the label bitmap (the one passed to the constructor).");
+        "Returns the label bitmap (the one passed to the constructor).", "");
     
     DocDeclStr(
         wxBitmap , GetBitmapDisabled(),
-        "Returns the bitmap for the disabled state.");
+        "Returns the bitmap for the disabled state.", "");
     
     DocDeclStr(
         wxBitmap , GetBitmapFocus(),
-        "Returns the bitmap for the focused state.");
+        "Returns the bitmap for the focused state.", "");
     
 
     DocDeclStr(
         wxBitmap , GetBitmapSelected(),
-        "Returns the bitmap for the selected state.");
+        "Returns the bitmap for the selected state.", "");
     
+    DocDeclStr(
+        wxBitmap , GetBitmapHover(),
+        "Returns the bitmap used when the mouse is over the button, may be invalid.", "");
+   
 
     DocDeclStr(
         void , SetBitmapDisabled(const wxBitmap& bitmap),
-        "Sets the bitmap for the disabled button appearance.");
+        "Sets the bitmap for the disabled button appearance.", "");
     
 
     DocDeclStr(
         void , SetBitmapFocus(const wxBitmap& bitmap),
-        "Sets the bitmap for the button appearance when it has the keyboard focus.");
+        "Sets the bitmap for the button appearance when it has the keyboard focus.", "");
     
 
     DocDeclStr(
         void , SetBitmapSelected(const wxBitmap& bitmap),
-        "Sets the bitmap for the selected (depressed) button appearance.");
+        "Sets the bitmap for the selected (depressed) button appearance.", "");
     
 
     DocDeclStr(
         void , SetBitmapLabel(const wxBitmap& bitmap),
         "Sets the bitmap label for the button.  This is the bitmap used for the
-unselected state, and for all other states if no other bitmaps are provided.");
-    
+unselected state, and for all other states if no other bitmaps are provided.", "");
 
+    
+    DocDeclStr(
+        void , SetBitmapHover(const wxBitmap& hover),
+        "Sets the bitmap to be shown when the mouse is over the button.  This function
+is new since wxWidgets version 2.7.0 and the hover bitmap is currently only
+supported in wxMSW.", "");
+    
     void SetMargins(int x, int y);
     int GetMarginX() const;
     int GetMarginY() const;
+    
+    %property(BitmapDisabled, GetBitmapDisabled, SetBitmapDisabled, doc="See `GetBitmapDisabled` and `SetBitmapDisabled`");
+    %property(BitmapFocus, GetBitmapFocus, SetBitmapFocus, doc="See `GetBitmapFocus` and `SetBitmapFocus`");
+    %property(BitmapHover, GetBitmapHover, SetBitmapHover, doc="See `GetBitmapHover` and `SetBitmapHover`");
+    %property(BitmapLabel, GetBitmapLabel, SetBitmapLabel, doc="See `GetBitmapLabel` and `SetBitmapLabel`");
+    %property(BitmapSelected, GetBitmapSelected, SetBitmapSelected, doc="See `GetBitmapSelected` and `SetBitmapSelected`");
+    %property(MarginX, GetMarginX, doc="See `GetMarginX`");
+    %property(MarginY, GetMarginY, doc="See `GetMarginY`");
 };