]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/stattool.i
wxITEM_FOO instead of wxItem_Foo, for the sake of consistency
[wxWidgets.git] / wxPython / src / stattool.i
index 30ace47a474d5418868afa709be46598cf73869b..d26338a5961ba9761a1883697267efe3ae861ccb 100644 (file)
 %pragma(python) code = "import wx"
 
 
+//----------------------------------------------------------------------
+
 %{
-    static wxString wxPyEmptyStr("");
+    // Put some wx default wxChar* values into wxStrings.
+    DECLARE_DEF_STRING(StatusLineNameStr);
+    DECLARE_DEF_STRING(ToolBarNameStr);
+    static const wxString wxPyEmptyString(wxT(""));
 %}
 
 //---------------------------------------------------------------------------
 
 class wxStatusBar : public wxWindow {
 public:
-    wxStatusBar(wxWindow* parent, wxWindowID id,
-                const wxPoint& pos = wxDefaultPosition,
-                const wxSize& size = wxDefaultSize,
+    wxStatusBar(wxWindow* parent, wxWindowID id = -1,
                 long style = wxST_SIZEGRIP,
-                char* name = "statusBar");
+                const wxString& name = wxPyStatusLineNameStr);
     %name(wxPreStatusBar)wxStatusBar();
 
     bool Create(wxWindow* parent, wxWindowID id,
                 long style = wxST_SIZEGRIP,
-                char* name = "statusBar");
+                const wxString& name = wxPyStatusLineNameStr);
 
     %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
-    %pragma(python) addtomethod = "wxPreStatusBar:val._setOORInfo(self)"
+    %pragma(python) addtomethod = "wxPreStatusBar:val._setOORInfo(val)"
 
     %addmethods {
         %new wxRect* GetFieldRect(long item) {
@@ -95,8 +98,8 @@ public:
 //                        const wxBitmap& bitmap2 = wxNullBitmap,
 //                        bool toggle = FALSE,
 //                        wxObject *clientData = (wxObject *) NULL,
-//                        const wxString& shortHelpString = wxEmptyString,
-//                        const wxString& longHelpString = wxEmptyString);
+//                        const wxString& shortHelpString = wxPyEmptyString,
+//                        const wxString& longHelpString = wxPyEmptyString);
 //      wxToolBarToolBase(wxToolBarBase *tbar, wxControl *control);
 //      ~wxToolBarToolBase();
 
@@ -112,18 +115,20 @@ public:
     bool IsEnabled();
     bool IsToggled();
     bool CanBeToggled();
-    const wxBitmap& GetBitmap1();
-    const wxBitmap& GetBitmap2();
-    const wxBitmap& GetBitmap();
+    const wxBitmap& GetNormalBitmap();
+    const wxBitmap& GetDisabledBitmap();
+    wxBitmap GetBitmap();
+    wxString GetLabel();
     wxString GetShortHelp();
     wxString GetLongHelp();
     bool Enable(bool enable);
-    bool Toggle(bool toggle);
+    void Toggle();
     bool SetToggle(bool toggle);
     bool SetShortHelp(const wxString& help);
     bool SetLongHelp(const wxString& help);
-    void SetBitmap1(const wxBitmap& bmp);
-    void SetBitmap2(const wxBitmap& bmp);
+    void SetNormalBitmap(const wxBitmap& bmp);
+    void SetDisabledBitmap(const wxBitmap& bmp);
+    void SetLabel(const wxString& label);
     void Detach();
     void Attach(wxToolBarBase *tbar);
 
@@ -145,6 +150,13 @@ public:
             self->SetClientData(new wxPyUserData(clientData));
         }
     }
+
+    %pragma(python) addtoclass="
+    GetBitmap1 = GetNormalBitmap
+    GetBitmap2 = GetDisabledBitmap
+    SetBitmap1 = SetNormalBitmap
+    SetBitmap2 = SetDisabledBitmap
+    "
 };
 
 
@@ -161,8 +173,8 @@ public:
                                    const wxBitmap& pushedBitmap = wxNullBitmap,
                                    int isToggle = FALSE,
                                    PyObject *clientData = NULL,
-                                   const wxString& shortHelpString = wxPyEmptyStr,
-                                   const wxString& longHelpString = wxPyEmptyStr) {
+                                   const wxString& shortHelpString = wxPyEmptyString,
+                                   const wxString& longHelpString = wxPyEmptyString) {
             wxPyUserData* udata = NULL;
             if (clientData)
                 udata = new wxPyUserData(clientData);
@@ -173,8 +185,8 @@ public:
         // This one is easier to use...
         wxToolBarToolBase *AddSimpleTool(int id,
                                          const wxBitmap& bitmap,
-                                         const wxString& shortHelpString = wxPyEmptyStr,
-                                         const wxString& longHelpString = wxPyEmptyStr,
+                                         const wxString& shortHelpString = wxPyEmptyString,
+                                         const wxString& longHelpString = wxPyEmptyString,
                                          int isToggle = FALSE) {
             return self->AddTool(id, bitmap, wxNullBitmap, isToggle, NULL,
                                  shortHelpString, longHelpString);
@@ -188,8 +200,8 @@ public:
                                       const wxBitmap& pushedBitmap = wxNullBitmap,
                                       int isToggle = FALSE,
                                       PyObject *clientData = NULL,
-                                      const wxString& shortHelpString = wxPyEmptyStr,
-                                      const wxString& longHelpString = wxPyEmptyStr) {
+                                      const wxString& shortHelpString = wxPyEmptyString,
+                                      const wxString& longHelpString = wxPyEmptyString) {
             wxPyUserData* udata = NULL;
             if (clientData)
                 udata = new wxPyUserData(clientData);
@@ -201,8 +213,8 @@ public:
         wxToolBarToolBase *InsertSimpleTool(size_t pos,
                                             int id,
                                             const wxBitmap& bitmap,
-                                            const wxString& shortHelpString = wxPyEmptyStr,
-                                            const wxString& longHelpString = wxPyEmptyStr,
+                                            const wxString& shortHelpString = wxPyEmptyString,
+                                            const wxString& longHelpString = wxPyEmptyString,
                                             int isToggle = FALSE) {
             return self->InsertTool(pos, id, bitmap, wxNullBitmap, isToggle, NULL,
                                     shortHelpString, longHelpString);
@@ -230,8 +242,8 @@ public:
 
     %addmethods {
         // convert the ClientData back to a PyObject
-        PyObject* GetToolClientData(int index) {
-            wxPyUserData* udata = (wxPyUserData*)self->GetToolClientData(index);
+        PyObject* GetToolClientData(int id) {
+            wxPyUserData* udata = (wxPyUserData*)self->GetToolClientData(id);
             if (udata) {
                 Py_INCREF(udata->m_obj);
                 return udata->m_obj;
@@ -241,8 +253,8 @@ public:
             }
         }
 
-        void SetToolClientData(int index, PyObject* clientData) {
-            self->SetToolClientData(index, new wxPyUserData(clientData));
+        void SetToolClientData(int id, PyObject* clientData) {
+            self->SetToolClientData(id, new wxPyUserData(clientData));
         }
     }
 
@@ -272,6 +284,12 @@ public:
     wxSize GetToolBitmapSize();
     wxSize GetToolSize();
 
+    // returns a (non separator) tool containing the point (x, y) or NULL if
+    // there is no tool at this point (corrdinates are client)
+    wxToolBarToolBase *FindToolForPosition(wxCoord x, wxCoord y);
+
+    // return TRUE if this is a vertical toolbar, otherwise FALSE
+    bool IsVertical();
 };
 
 
@@ -284,7 +302,7 @@ public:
               const wxPoint& pos = wxDefaultPosition,
               const wxSize& size = wxDefaultSize,
               long style = wxNO_BORDER | wxTB_HORIZONTAL,
-              const char* name = wxToolBarNameStr);
+              const wxString& name = wxPyToolBarNameStr);
     %name(wxPreToolBar)wxToolBar();
 
     bool Create(wxWindow *parent,
@@ -292,10 +310,10 @@ public:
               const wxPoint& pos = wxDefaultPosition,
               const wxSize& size = wxDefaultSize,
               long style = wxNO_BORDER | wxTB_HORIZONTAL,
-              const char* name = wxToolBarNameStr);
+              const wxString& name = wxPyToolBarNameStr);
 
     %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
-    %pragma(python) addtomethod = "wxPreToolBar:val._setOORInfo(self)"
+    %pragma(python) addtomethod = "wxPreToolBar:val._setOORInfo(val)"
 
     wxToolBarToolBase *FindToolForPosition(wxCoord x, wxCoord y);
 };
@@ -310,7 +328,7 @@ public:
                     const wxPoint& pos = wxDefaultPosition,
                     const wxSize& size = wxDefaultSize,
                     long style = wxNO_BORDER | wxTB_HORIZONTAL,
-                    const char* name = wxToolBarNameStr);
+                    const wxString& name = wxPyToolBarNameStr);
     %name(wxPreToolBarSimple)wxToolBarSimple();
 
     bool Create(wxWindow *parent,
@@ -318,10 +336,10 @@ public:
                     const wxPoint& pos = wxDefaultPosition,
                     const wxSize& size = wxDefaultSize,
                     long style = wxNO_BORDER | wxTB_HORIZONTAL,
-                    const char* name = wxToolBarNameStr);
+                    const wxString& name = wxPyToolBarNameStr);
 
     %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
-    %pragma(python) addtomethod = "wxPreToolBarSimple:val._setOORInfo(self)"
+    %pragma(python) addtomethod = "wxPreToolBarSimple:val._setOORInfo(val)"
 
     wxToolBarToolBase *FindToolForPosition(wxCoord x, wxCoord y);
 };