]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_toolbar.i
Use PyObject_AsReadBuffer in the typemap for getting buffer or buffer
[wxWidgets.git] / wxPython / src / _toolbar.i
index e8ee8dad4845b2239323dff689717e5f66ba87ef..70191aaa59f248c23b272457047cd0c5e0f01451 100644 (file)
@@ -15,9 +15,8 @@
 
 //---------------------------------------------------------------------------
 
-%{
-    DECLARE_DEF_STRING(ToolBarNameStr);
-%}
+MAKE_CONST_WXSTRING_NOSWIG(ToolBarNameStr);
+
 
 //---------------------------------------------------------------------------
 %newgroup;
@@ -44,6 +43,7 @@ enum {
     wxTB_NOALIGN,
     wxTB_HORZ_LAYOUT,
     wxTB_HORZ_TEXT,
+    wxTB_NO_TOOLTIPS,
 };
 
 
@@ -60,13 +60,13 @@ class wxToolBarToolBase : public wxObject {
 public:
 //      wxToolBarToolBase(wxToolBarBase *tbar = (wxToolBarBase *)NULL,
 //                        int id = wxID_SEPARATOR,
-//                        const wxString& label = wxEmptyString,
+//                        const wxString& label = wxPyEmptyString,
 //                        const wxBitmap& bmpNormal = wxNullBitmap,
 //                        const wxBitmap& bmpDisabled = wxNullBitmap,
 //                        wxItemKind kind = wxITEM_NORMAL,
 //                        wxObject *clientData = (wxObject *) NULL,
-//                        const wxString& shortHelpString = wxEmptyString,
-//                        const wxString& longHelpString = wxEmptyString)
+//                        const wxString& shortHelpString = wxPyEmptyString,
+//                        const wxString& longHelpString = wxPyEmptyString)
 //      ~wxToolBarToolBase();
 
     int GetId();
@@ -283,6 +283,7 @@ public:
 
     %# For consistency with the backwards compatible methods above, here are
     %# some non-'Label' versions of the Check and Radio methods
+
     def AddCheckTool(self, id, bitmap,
                      bmpDisabled = wx.NullBitmap,
                      shortHelp = '', longHelp = '',
@@ -303,8 +304,8 @@ public:
                               shortHelp, longHelp, clientData)
     }
 
-    %name(AddToolItem) wxToolBarToolBase *AddTool (wxToolBarToolBase *tool);
-    %name(InsertToolItem) wxToolBarToolBase *InsertTool (size_t pos, wxToolBarToolBase *tool);
+    %Rename(AddToolItem,  wxToolBarToolBase*, AddTool (wxToolBarToolBase *tool));
+    %Rename(InsertToolItem,  wxToolBarToolBase*, InsertTool (size_t pos, wxToolBarToolBase *tool));
 
     wxToolBarToolBase *AddControl(wxControl *control);
     wxToolBarToolBase *InsertControl(size_t pos, wxControl *control);
@@ -353,7 +354,7 @@ public:
     void SetToolLongHelp(int id, const wxString& helpString);
     wxString GetToolLongHelp(int id);
 
-    %name(SetMarginsXY) void SetMargins(int x, int y);
+    %Rename(SetMarginsXY,  void, SetMargins(int x, int y));
     void SetMargins(const wxSize& size);
     void SetToolPacking(int packing);
     void SetToolSeparation(int separation);
@@ -380,32 +381,73 @@ public:
 
     // return True if this is a vertical toolbar, otherwise False
     bool IsVertical();
+
+    size_t GetToolsCount() const;
 };
 
 
 
 
+MustHaveApp(wxToolBar);
+
 class wxToolBar : public wxToolBarBase {
 public:
-    %addtofunc wxToolBar         "self._setOORInfo(self)"
-    %addtofunc wxToolBar()       ""
-    
+    %pythonAppend wxToolBar         "self._setOORInfo(self)"
+    %pythonAppend wxToolBar()       ""
+    %typemap(out) wxToolBar*;    // turn off this typemap
     wxToolBar(wxWindow *parent,
-              wxWindowID id,
+              wxWindowID id=-1,
               const wxPoint& pos = wxDefaultPosition,
               const wxSize& size = wxDefaultSize,
               long style = wxNO_BORDER | wxTB_HORIZONTAL,
               const wxString& name = wxPyToolBarNameStr);
-    %name(PreToolBar)wxToolBar();
+    %RenameCtor(PreToolBar, wxToolBar());
+
+    // Turn it back on again
+    %typemap(out) wxToolBar* { $result = wxPyMake_wxObject($1, $owner); }
 
     bool Create(wxWindow *parent,
-              wxWindowID id,
+              wxWindowID id=-1,
               const wxPoint& pos = wxDefaultPosition,
               const wxSize& size = wxDefaultSize,
               long style = wxNO_BORDER | wxTB_HORIZONTAL,
               const wxString& name = wxPyToolBarNameStr);
 
-    wxToolBarToolBase *FindToolForPosition(wxCoord x, wxCoord y);
+    static wxVisualAttributes
+    GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
+};
+
+//---------------------------------------------------------------------------
+
+#if 0
+%{
+#include <wx/generic/buttonbar.h>
+%}
+
+MustHaveApp(wxToolBar);
+class  wxButtonToolBar : public wxToolBarBase
+{
+public:
+    %pythonAppend wxButtonToolBar         "self._setOORInfo(self)"
+    %pythonAppend wxButtonToolBar()       ""
+
+    wxButtonToolBar(wxWindow *parent,
+                    wxWindowID id=-1,
+                    const wxPoint& pos = wxDefaultPosition,
+                    const wxSize& size = wxDefaultSize,
+                    long style = 0,
+                    const wxString& name = wxPyToolBarNameStr);
+    %RenameCtor(PreButtonToolBar, wxButtonToolBar());
+
+
+    bool Create(wxWindow *parent,
+              wxWindowID id=-1,
+              const wxPoint& pos = wxDefaultPosition,
+              const wxSize& size = wxDefaultSize,
+              long style = 0,
+              const wxString& name = wxPyToolBarNameStr);
 };
 
+#endif
 //---------------------------------------------------------------------------