1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: SWIG definitions for StatusBar and ToolBar classes
9 // Copyright: (c) 1998 by Total Control Software
10 // Licence: wxWindows license
11 /////////////////////////////////////////////////////////////////////////////
18 #include <wx/toolbar.h>
19 #include <wx/tbarsmpl.h>
22 //----------------------------------------------------------------------
25 %include my_typemaps.i
27 // Import some definitions of other classes, etc.
33 %pragma(python) code = "import wx"
35 //---------------------------------------------------------------------------
37 class wxStatusBar : public wxWindow {
39 wxStatusBar(wxWindow* parent, wxWindowID id,
40 const wxPoint& pos = wxPyDefaultPosition,
41 const wxSize& size = wxPyDefaultSize,
42 long style = wxST_SIZEGRIP,
43 char* name = "statusBar");
45 %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
48 %new wxRect* GetFieldRect(long item) {
49 wxRect* rect= new wxRect;
50 self->GetFieldRect(item, *rect);
54 int GetFieldsCount(void);
55 wxString GetStatusText(int ir = 0);
56 void DrawField(wxDC& dc, int i);
57 void DrawFieldText(wxDC& dc, int i);
58 void InitColours(void);
60 // OnSysColourChanged(wxSysColourChangedEvent& event);
62 void SetFieldsCount(int number = 1);
63 void SetStatusText(const wxString& text, int i = 0);
64 void SetStatusWidths(int LCOUNT, int* LIST);
68 //---------------------------------------------------------------------------
75 void SetSize( long w, long h ) { m_width = w; m_height = h; }
76 long GetWidth () const { return m_width; }
77 long GetHeight () const { return m_height; }
82 wxObject * m_clientData;
92 bool m_deleteSecondBitmap;
97 wxString m_shortHelpString;
98 wxString m_longHelpString;
103 // class wxToolBarBase : public wxControl {
106 class wxToolBar : public wxControl {
108 wxToolBar(wxWindow* parent, wxWindowID id,
109 const wxPoint& pos = wxPyDefaultPosition,
110 const wxSize& size = wxPyDefaultSize,
111 long style = wxTB_HORIZONTAL | wxNO_BORDER,
112 char* name = "toolBar");
114 %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
117 void AddSeparator(void);
119 // Ignoge the clientData for now...
121 wxToolBarTool* AddTool(int toolIndex,
122 const wxBitmap& bitmap1,
123 const wxBitmap& bitmap2 = wxNullBitmap,
124 int isToggle = FALSE,
127 //wxObject* clientData = NULL,
128 const wxString& shortHelpString = wxPyEmptyStr,
129 const wxString& longHelpString = wxPyEmptyStr) {
130 return self->AddTool(toolIndex, bitmap1, bitmap2,
131 isToggle, xPos, yPos, NULL,
132 shortHelpString, longHelpString);
136 // void DrawTool(wxMemoryDC& memDC, wxToolBarTool* tool);
137 void EnableTool(int toolIndex, const bool enable);
139 wxToolBarTool* FindToolForPosition(const float x, const float y);
140 wxSize GetToolSize();
141 wxSize GetToolBitmapSize();
142 void SetToolBitmapSize(const wxSize& size);
143 // wxSize GetMargins();
145 // wxObject* GetToolClientData(int toolIndex);
147 bool GetToolEnabled(int toolIndex);
148 wxString GetToolLongHelp(int toolIndex);
149 int GetToolPacking();
150 int GetToolSeparation();
151 wxString GetToolShortHelp(int toolIndex);
152 bool GetToolState(int toolIndex);
154 // TODO: figure out how to handle these
155 //bool OnLeftClick(int toolIndex, bool toggleDown);
156 //void OnMouseEnter(int toolIndex);
157 //void OnRightClick(int toolIndex, float x, float y);
161 void SetToolLongHelp(int toolIndex, const wxString& helpString);
162 void SetToolShortHelp(int toolIndex, const wxString& helpString);
163 void SetMargins(const wxSize& size);
164 void SetToolPacking(int packing);
165 void SetToolSeparation(int separation);
166 void ToggleTool(int toolIndex, const bool toggle);
171 // // The Native Toolbar
172 // class wxToolBar : public wxToolBarBase {
174 // wxToolBar(wxWindow* parent, wxWindowID id,
175 // const wxPoint& pos = wxPyDefaultPosition,
176 // const wxSize& size = wxPyDefaultSize,
177 // long style = wxTB_HORIZONTAL | wxNO_BORDER,
178 // char* name = "toolBar");
180 // %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
185 // // A generic toolbar
186 // class wxToolBarSimple : public wxToolBarBase {
188 // wxToolBarSimple(wxWindow* parent, wxWindowID id,
189 // const wxPoint& pos = wxPyDefaultPosition,
190 // const wxSize& size = wxPyDefaultSize,
191 // long style = wxTB_HORIZONTAL | wxNO_BORDER,
192 // char* name = "toolBar");
194 // %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
199 //---------------------------------------------------------------------------
201 /////////////////////////////////////////////////////////////////////////////
204 // Revision 1.4 1998/12/17 14:07:43 RR
205 // Removed minor differences between wxMSW and wxGTK
207 // Revision 1.3 1998/12/15 20:41:23 RD
208 // Changed the import semantics from "from wxPython import *" to "from
209 // wxPython.wx import *" This is for people who are worried about
210 // namespace pollution, they can use "from wxPython import wx" and then
211 // prefix all the wxPython identifiers with "wx."
213 // Added wxTaskbarIcon for wxMSW.
215 // Made the events work for wxGrid.
219 // Added wxMiniFrame for wxGTK, (untested.)
221 // Changed many of the args and return values that were pointers to gdi
222 // objects to references to reflect changes in the wxWindows API.
224 // Other assorted fixes and additions.
226 // Revision 1.2 1998/10/07 07:34:34 RD
227 // Version 0.4.1 for wxGTK
229 // Revision 1.1 1998/10/02 06:40:42 RD
231 // Version 0.4 of wxPython for MSW.