]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_toolbar.i
ANSI/Unix build compilation fixes
[wxWidgets.git] / wxPython / src / _toolbar.i
index 4286bb886f2c5d6a14a63b7960b18d6af521dcbb..f027e49a7cae64023cbd3212886e4a16b42cd050 100644 (file)
@@ -34,6 +34,11 @@ enum wxToolBarToolStyle
 enum {
     wxTB_HORIZONTAL,
     wxTB_VERTICAL,
+    wxTB_TOP,
+    wxTB_LEFT,
+    wxTB_BOTTOM,
+    wxTB_RIGHT,
+
     wxTB_3DBUTTONS,
     wxTB_FLAT,
     wxTB_DOCKABLE,
@@ -43,6 +48,7 @@ enum {
     wxTB_NOALIGN,
     wxTB_HORZ_LAYOUT,
     wxTB_HORZ_TEXT,
+    wxTB_NO_TOOLTIPS
 };
 
 
@@ -96,6 +102,11 @@ public:
     void Detach();
     void Attach(wxToolBarBase *tbar);
 
+    // these methods are only for tools of wxITEM_DROPDOWN kind (but even such
+    // tools can have a NULL associated menu)
+    void SetDropdownMenu(wxMenu *menu);
+    wxMenu *GetDropdownMenu() const;
+
     //wxObject *GetClientData();
     %extend {
         // convert the ClientData back to a PyObject
@@ -121,6 +132,19 @@ public:
     SetBitmap1 = SetNormalBitmap
     SetBitmap2 = SetDisabledBitmap
     }
+    
+    %property(Bitmap, GetBitmap, doc="See `GetBitmap`");
+    %property(ClientData, GetClientData, SetClientData, doc="See `GetClientData` and `SetClientData`");
+    %property(Control, GetControl, doc="See `GetControl`");
+    %property(DisabledBitmap, GetDisabledBitmap, SetDisabledBitmap, doc="See `GetDisabledBitmap` and `SetDisabledBitmap`");
+    %property(Id, GetId, doc="See `GetId`");
+    %property(Kind, GetKind, doc="See `GetKind`");
+    %property(Label, GetLabel, SetLabel, doc="See `GetLabel` and `SetLabel`");
+    %property(LongHelp, GetLongHelp, SetLongHelp, doc="See `GetLongHelp` and `SetLongHelp`");
+    %property(NormalBitmap, GetNormalBitmap, SetNormalBitmap, doc="See `GetNormalBitmap` and `SetNormalBitmap`");
+    %property(ShortHelp, GetShortHelp, SetShortHelp, doc="See `GetShortHelp` and `SetShortHelp`");
+    %property(Style, GetStyle, doc="See `GetStyle`");
+    %property(ToolBar, GetToolBar, doc="See `GetToolBar`");
 };
 
 
@@ -282,6 +306,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 = '',
@@ -302,11 +327,13 @@ 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);
+    wxToolBarToolBase *AddControl(wxControl *control,
+                                  const wxString& label = wxEmptyString);
+    wxToolBarToolBase *InsertControl(size_t pos, wxControl *control,
+                                     const wxString& label = wxEmptyString);
     wxControl *FindControl( int id );
 
     wxToolBarToolBase *AddSeparator();
@@ -352,7 +379,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);
@@ -379,32 +406,91 @@ public:
 
     // return True if this is a vertical toolbar, otherwise False
     bool IsVertical();
+
+    size_t GetToolsCount() const;
+
+    // Set dropdown menu
+    bool SetDropdownMenu(int toolid, wxMenu *menu);
+
+    
+    %property(Margins, GetMargins, SetMargins, doc="See `GetMargins` and `SetMargins`");
+    %property(MaxCols, GetMaxCols, doc="See `GetMaxCols`");
+    %property(MaxRows, GetMaxRows, doc="See `GetMaxRows`");
+    %property(ToolBitmapSize, GetToolBitmapSize, SetToolBitmapSize, doc="See `GetToolBitmapSize` and `SetToolBitmapSize`");
+    %property(ToolMargins, GetToolMargins, doc="See `GetToolMargins`");
+    %property(ToolPacking, GetToolPacking, SetToolPacking, doc="See `GetToolPacking` and `SetToolPacking`");
+    %property(ToolSeparation, GetToolSeparation, SetToolSeparation, doc="See `GetToolSeparation` and `SetToolSeparation`");
+    %property(ToolSize, GetToolSize, doc="See `GetToolSize`");
+    %property(ToolsCount, GetToolsCount, doc="See `GetToolsCount`");
 };
 
 
 
 
+MustHaveApp(wxToolBar);
+
 class wxToolBar : public wxToolBarBase {
 public:
     %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);
+    // TODO: In 2.9 move these to the base class...
+    void SetToolNormalBitmap(int id, const wxBitmap& bitmap);
+    void SetToolDisabledBitmap(int id, const wxBitmap& bitmap);
+    
+    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
 //---------------------------------------------------------------------------