]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_button.i
Since the wxPyMake_wxObject typemap is also used for constructors we
[wxWidgets.git] / wxPython / src / _button.i
index a256519b401dd72836d97d38b0b2e365baecd3d9..de03872ce9eb0cf0a3c10b843db7792c45f2cc1b 100644 (file)
 //---------------------------------------------------------------------------
 %newgroup;
 
-
-%{
-    DECLARE_DEF_STRING(ButtonNameStr);
-%}
+MAKE_CONST_WXSTRING(ButtonNameStr);
 
 enum {
     wxBU_LEFT,
@@ -33,114 +30,195 @@ enum {
 
 //---------------------------------------------------------------------------
 
-// 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.
-//
-// Styles
-//    wxBU_LEFT:  Left-justifies the label. WIN32 only.
-//    wxBU_TOP:  Aligns the label to the top of the button. WIN32 only.
-//    wxBU_RIGHT:  Right-justifies the bitmap label. WIN32 only.
-//    wxBU_BOTTOM:  Aligns the label to the bottom of the button. WIN32 only.
-//    wxBU_EXACTFIT: Creates the button as small as possible instead of making
-//                   it of the standard size (which is the default behaviour.)
-//
-// Events
-//     EVT_BUTTON(win,id,func):
-//         Sent when the button is clicked.
-//
+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.", "
+
+Window Styles
+-------------
+    ==============   ==========================================
+    wx.BU_LEFT       Left-justifies the label. WIN32 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.
+    wx.BU_BOTTOM     Aligns the label to the bottom of the button.
+                     WIN32 only.
+    wx.BU_EXACTFIT   Creates the button as small as possible
+                     instead of making it of the standard size
+                     (which is the default behaviour.)
+    ==============   ==========================================
+
+Events
+------
+    ============     ==========================================
+    EVT_BUTTON       Sent when the button is clicked.
+    ============     ==========================================
+
+:see: `wx.BitmapButton`
+");
+
+MustHaveApp(wxButton);
+
 class wxButton : public wxControl
 {
 public:
-    %addtofunc wxButton         "self._setOORInfo(self)"
-    %addtofunc wxButton()       ""
-
-
-    // Constructor, creating and showing a button.
-    //
-    // parent:  Parent window.  Must not be None.
-    // id:      Button identifier.  A value of -1 indicates a default value.
-    // label:   The text to be displayed on the button.
-    // pos:     The button position on it's parent.
-    // size:    Button size.  If the default size (-1, -1) is specified then the
-    //          button is sized appropriately for the text.
-    // style:   Window style.  See wxButton.
-    // validator: Window validator.
-    // name:    Window name.
-    wxButton(wxWindow* parent, wxWindowID id, const wxString& label,
-             const wxPoint& pos = wxDefaultPosition,
-             const wxSize& size = wxDefaultSize,
-             long style = 0,
-             const wxValidator& validator = wxDefaultValidator,
-             const wxString& name = wxPyButtonNameStr);
-
-    // Default constructor
-    %name(PreButton)wxButton();
-
-    // Button creation function for two-step creation.
-    bool Create(wxWindow* parent, wxWindowID id, const wxString& label,
-             const wxPoint& pos = wxDefaultPosition,
-             const wxSize& size = wxDefaultSize,
-             long style = 0,
-             const wxValidator& validator = wxDefaultValidator,
-             const wxString& name = wxPyButtonNameStr);
-
-
-    // This sets the button to be the default item for the panel or dialog box.
-    //
-    // Under Windows, only dialog box buttons respond to this function. As
-    // normal under Windows and Motif, pressing return causes the default
-    // button to be depressed when the return key is pressed. See also
-    // wxWindow.SetFocus which sets the keyboard focus for windows and text
-    // panel items, and wxPanel.SetDefaultItem.
-    void SetDefault();
-
-
-#ifdef __WXMSW__
-    // show the image in the button in addition to the label
-    void SetImageLabel(const wxBitmap& bitmap);
-
-    // set the margins around the image
-    void SetImageMargins(wxCoord x, wxCoord y);
-#endif
-
-    // returns the default button size for this platform
-    static wxSize GetDefaultSize();
+    %pythonAppend wxButton         "self._setOORInfo(self)"
+    %pythonAppend wxButton()       ""
+
+
+    DocCtorStr(
+        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.", "");
+
+    DocCtorStrName(
+        wxButton(),
+        "Precreate a Button for 2-phase creation.", "",
+        PreButton);
+
+    DocDeclStr(
+        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.", "");
+    
+
+
+    DocDeclStr(
+        void , SetDefault(),
+        "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.", "");   
+
+    static wxVisualAttributes
+    GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
 };
 
 
 
 //---------------------------------------------------------------------------
 
+
+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.", "       
+
+Window Styles
+-------------
+    ==============  =============================================
+    wx.BU_AUTODRAW  If this is specified, the button will be drawn
+                    automatically using the label bitmap only,
+                    providing a 3D-look border. If this style is
+                    not specified, the button will be drawn
+                    without borders and using all provided
+                    bitmaps. WIN32 only.
+    wx.BU_LEFT      Left-justifies the label. WIN32 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.
+    wx.BU_BOTTOM    Aligns the label to the bottom of the
+                    button. WIN32 only.
+    wx.BU_EXACTFIT  Creates the button as small as possible
+                    instead of making it of the standard size
+                    (which is the default behaviour.)
+    ==============  =============================================
+
+Events
+------
+     ===========   ==================================
+     EVT_BUTTON    Sent when the button is clicked.
+     ===========   ==================================
+
+:see: `wx.Button`, `wx.Bitmap`
+");
+
+MustHaveApp(wxBitmapButton);
+
 class wxBitmapButton : public wxButton
 {
 public:
-    %addtofunc wxBitmapButton         "self._setOORInfo(self)"
-    %addtofunc wxBitmapButton()       ""
-
-    wxBitmapButton(wxWindow* parent, wxWindowID id, const wxBitmap& bitmap,
-                   const wxPoint& pos = wxDefaultPosition,
-                   const wxSize& size = wxDefaultSize,
-                   long style = wxBU_AUTODRAW,
-                   const wxValidator& validator = wxDefaultValidator,
-                   const wxString& name = wxPyButtonNameStr);
-    %name(PreBitmapButton)wxBitmapButton();
-
-    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,
-                const wxString& name = wxPyButtonNameStr);
-
-    wxBitmap GetBitmapLabel();
-    wxBitmap GetBitmapDisabled();
-    wxBitmap GetBitmapFocus();
-    wxBitmap GetBitmapSelected();
-    void SetBitmapDisabled(const wxBitmap& bitmap);
-    void SetBitmapFocus(const wxBitmap& bitmap);
-    void SetBitmapSelected(const wxBitmap& bitmap);
-    void SetBitmapLabel(const wxBitmap& bitmap);
+    %pythonAppend wxBitmapButton         "self._setOORInfo(self)"
+    %pythonAppend wxBitmapButton()       ""
+
+    DocCtorStr(
+        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.", "");
+
+    DocCtorStrName(
+        wxBitmapButton(),
+        "Precreate a BitmapButton for 2-phase creation.", "",
+        PreBitmapButton);
+
+    DocDeclStr(
+        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.", "");
+    
+
+    DocDeclStr(
+        wxBitmap , GetBitmapLabel(),
+        "Returns the label bitmap (the one passed to the constructor).", "");
+    
+    DocDeclStr(
+        wxBitmap , GetBitmapDisabled(),
+        "Returns the bitmap for the disabled state.", "");
+    
+    DocDeclStr(
+        wxBitmap , GetBitmapFocus(),
+        "Returns the bitmap for the focused state.", "");
+    
+
+    DocDeclStr(
+        wxBitmap , GetBitmapSelected(),
+        "Returns the bitmap for the selected state.", "");
+    
+
+    DocDeclStr(
+        void , SetBitmapDisabled(const wxBitmap& bitmap),
+        "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.", "");
+    
+
+    DocDeclStr(
+        void , SetBitmapSelected(const wxBitmap& bitmap),
+        "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.", "");
+    
 
     void SetMargins(int x, int y);
     int GetMarginX() const;