%{
#include "helpers.h"
#include <wx/resource.h>
+#include <wx/tooltip.h>
%}
//----------------------------------------------------------------------
// Import some definitions of other classes, etc.
%import _defs.i
-//---------------------------------------------------------------------------
+//---------------------------------------------------------------------------
class wxSize {
public:
+ long x;
+ long y;
%name(width) long x;
%name(height)long y;
wxSize(long w=0, long h=0);
~wxSize();
void Set(long w, long h);
- %name(GetWidth) long GetX();
- %name(GetHeight)long GetY();
+ long GetX();
+ long GetY();
+ long GetWidth();
+ long GetHeight();
+ void SetWidth(long w);
+ void SetHeight(long h);
%addmethods {
- PyObject* __str__() {
+ PyObject* asTuple() {
PyObject* tup = PyTuple_New(2);
PyTuple_SET_ITEM(tup, 0, PyInt_FromLong(self->x));
PyTuple_SET_ITEM(tup, 1, PyInt_FromLong(self->y));
return tup;
}
}
+ %pragma(python) addtoclass = "def __str__(self): return str(self.asTuple())"
+ %pragma(python) addtoclass = "def __repr__(self): return str(self.asTuple())"
+
};
//---------------------------------------------------------------------------
self->x = x;
self->y = y;
}
- PyObject* __str__() {
+ PyObject* asTuple() {
PyObject* tup = PyTuple_New(2);
PyTuple_SET_ITEM(tup, 0, PyInt_FromLong(self->x));
PyTuple_SET_ITEM(tup, 1, PyInt_FromLong(self->y));
return tup;
}
}
+ %pragma(python) addtoclass = "def __str__(self): return str(self.asTuple())"
+ %pragma(python) addtoclass = "def __repr__(self): return str(self.asTuple())"
};
//---------------------------------------------------------------------------
long GetRight();
long x, y, width, height;
+
+ %addmethods {
+ PyObject* asTuple() {
+ PyObject* tup = PyTuple_New(4);
+ PyTuple_SET_ITEM(tup, 0, PyInt_FromLong(self->x));
+ PyTuple_SET_ITEM(tup, 1, PyInt_FromLong(self->y));
+ PyTuple_SET_ITEM(tup, 0, PyInt_FromLong(self->width));
+ PyTuple_SET_ITEM(tup, 1, PyInt_FromLong(self->height));
+ return tup;
+ }
+ }
+ %pragma(python) addtoclass = "def __str__(self): return str(self.asTuple())"
+ %pragma(python) addtoclass = "def __repr__(self): return str(self.asTuple())"
};
//---------------------------------------------------------------------------
// Dialog Functions
-char* wxFileSelector(char* message,
+wxString wxFileSelector(char* message,
char* default_path = NULL,
char* default_filename = NULL,
char* default_extension = NULL,
int x = -1, int y = -1,
bool centre = TRUE);
+
// TODO: Need to custom wrap this one...
// int wxGetMultipleChoice(char* message, char* caption,
// int LCOUNT, char** LIST,
wxWindow *parent = NULL,
int x = -1, int y = -1);
+long wxGetNumberFromUser(const wxString& message,
+ const wxString& prompt,
+ const wxString& caption,
+ long value,
+ long min = 0, long max = 100,
+ wxWindow *parent = NULL,
+ const wxPoint& pos = wxPyDefaultPosition);
+
//---------------------------------------------------------------------------
// GDI Functions
bool wxColourDisplay();
int wxDisplayDepth();
-void wxSetCursor(wxCursor *cursor);
+void wxSetCursor(wxCursor& cursor);
//---------------------------------------------------------------------------
// Miscellaneous functions
-long NewId();
-void RegisterId(long id);
+long wxNewId();
+void wxRegisterId(long id);
+%name(NewId) long wxNewId();
+%name(RegisterId) void wxRegisterId(long id);
+
void wxBeginBusyCursor(wxCursor *cursor = wxHOURGLASS_CURSOR);
void wxBell();
void wxDisplaySize(int *OUTPUT, int *OUTPUT);
void wxEndBusyCursor();
long wxExecute(const wxString& command, bool sync = FALSE);
-wxWindow * wxFindWindowByLabel(const wxString& label, wxWindow *parent=NULL);
-wxWindow * wxFindWindowByName(const wxString& name, wxWindow *parent=NULL);
#ifdef __WXMSW__
wxWindow * wxGetActiveWindow();
long wxGetElapsedTime(bool resetTimer = TRUE);
-#endif
long wxGetFreeMemory();
+#endif
void wxGetMousePosition(int* OUTPUT, int* OUTPUT);
bool wxIsBusy();
wxString wxNow();
-bool wxShell(const wxString& command = wxPyEmptyStr);
#ifdef __WXMSW__
+bool wxShell(const wxString& command = wxPyEmptyStr);
void wxStartTimer();
+int wxGetOsVersion(int *OUTPUT, int *OUTPUT);
#endif
+
+void wxSleep(int secs);
bool wxYield();
+bool wxSafeYield();
+void wxEnableTopLevelWindows(bool enable);
-int wxGetOsVersion(int *OUTPUT, int *OUTPUT);
%inline %{
char* wxGetResource(char *section, char *entry, char *file = NULL) {
char * retval;
bool wxResourceAddIdentifier(char *name, int value);
void wxResourceClear(void);
-wxBitmap * wxResourceCreateBitmap(char *resource);
-wxIcon * wxResourceCreateIcon(char *resource);
+wxBitmap wxResourceCreateBitmap(char *resource);
+wxIcon wxResourceCreateIcon(char *resource);
wxMenuBar * wxResourceCreateMenuBar(char *resource);
int wxResourceGetIdentifier(char *name);
bool wxResourceParseData(char *resource, wxResourceTable *table = NULL);
void Above(wxWindow *otherWin, int margin=0);
void Absolute(int value);
- void AsIs(void);
+ void AsIs();
void Below(wxWindow *otherWin, int margin=0);
- void Unconstrained(void);
+ void Unconstrained();
void LeftOf(wxWindow *otherWin, int margin=0);
void PercentOf(wxWindow *otherWin, wxEdge edge, int percent);
void RightOf(wxWindow *otherWin, int margin=0);
//---------------------------------------------------------------------------
-// Accelerator Entry and Table
+// Regions, etc.
+enum wxRegionContain {
+ wxOutRegion, wxPartRegion, wxInRegion
+};
+
+
+class wxRegion {
+public:
+ wxRegion();
+ ~wxRegion();
+
+ void Clear();
+ wxRegionContain Contains(long x, long y);
+ %name(ContainsPoint)wxRegionContain Contains(const wxPoint& pt);
+ %name(ContainsRect)wxRegionContain Contains(const wxRect& rect);
+
+ wxRect GetBox();
+ bool Intersect(const wxRect& rect);
#ifdef __WXMSW__
+ bool IsEmpty();
+#endif
+ bool Subtract(const wxRect& rect);
+ bool Union(const wxRect& rect);
+ bool Xor(const wxRect& rect);
+};
+
+
+
+class wxRegionIterator {
+public:
+ wxRegionIterator(const wxRegion& region);
+ ~wxRegionIterator();
+
+ long GetX();
+ long GetY();
+ long GetW();
+ long GetWidth();
+ long GetH();
+ long GetHeight();
+ wxRect GetRect();
+ bool HaveRects();
+ void Reset();
+
+ %addmethods {
+ void Next() {
+ (*self) ++;
+ }
+ };
+};
+
+
+
+//---------------------------------------------------------------------------
+// Accelerator Entry and Table
+
class wxAcceleratorEntry {
public:
wxAcceleratorEntry(int flags = 0, int keyCode = 0, int cmd = 0);
// ~wxAcceleratorEntry(); *** ?
};
-#endif
+
+//---------------------------------------------------------------------------
+
+enum {
+ wxSYS_WHITE_BRUSH,
+ wxSYS_LTGRAY_BRUSH,
+ wxSYS_GRAY_BRUSH,
+ wxSYS_DKGRAY_BRUSH,
+ wxSYS_BLACK_BRUSH,
+ wxSYS_NULL_BRUSH,
+ wxSYS_HOLLOW_BRUSH,
+ wxSYS_WHITE_PEN,
+ wxSYS_BLACK_PEN,
+ wxSYS_NULL_PEN,
+ wxSYS_OEM_FIXED_FONT,
+ wxSYS_ANSI_FIXED_FONT,
+ wxSYS_ANSI_VAR_FONT,
+ wxSYS_SYSTEM_FONT,
+ wxSYS_DEVICE_DEFAULT_FONT,
+ wxSYS_DEFAULT_PALETTE,
+ wxSYS_SYSTEM_FIXED_FONT,
+ wxSYS_DEFAULT_GUI_FONT,
+
+ wxSYS_COLOUR_SCROLLBAR,
+ wxSYS_COLOUR_BACKGROUND,
+ wxSYS_COLOUR_ACTIVECAPTION,
+ wxSYS_COLOUR_INACTIVECAPTION,
+ wxSYS_COLOUR_MENU,
+ wxSYS_COLOUR_WINDOW,
+ wxSYS_COLOUR_WINDOWFRAME,
+ wxSYS_COLOUR_MENUTEXT,
+ wxSYS_COLOUR_WINDOWTEXT,
+ wxSYS_COLOUR_CAPTIONTEXT,
+ wxSYS_COLOUR_ACTIVEBORDER,
+ wxSYS_COLOUR_INACTIVEBORDER,
+ wxSYS_COLOUR_APPWORKSPACE,
+ wxSYS_COLOUR_HIGHLIGHT,
+ wxSYS_COLOUR_HIGHLIGHTTEXT,
+ wxSYS_COLOUR_BTNFACE,
+ wxSYS_COLOUR_BTNSHADOW,
+ wxSYS_COLOUR_GRAYTEXT,
+ wxSYS_COLOUR_BTNTEXT,
+ wxSYS_COLOUR_INACTIVECAPTIONTEXT,
+ wxSYS_COLOUR_BTNHIGHLIGHT,
+
+ wxSYS_COLOUR_3DDKSHADOW,
+ wxSYS_COLOUR_3DLIGHT,
+ wxSYS_COLOUR_INFOTEXT,
+ wxSYS_COLOUR_INFOBK,
+
+ wxSYS_COLOUR_DESKTOP,
+ wxSYS_COLOUR_3DFACE,
+ wxSYS_COLOUR_3DSHADOW,
+ wxSYS_COLOUR_3DHIGHLIGHT,
+ wxSYS_COLOUR_3DHILIGHT,
+ wxSYS_COLOUR_BTNHILIGHT,
+
+ wxSYS_MOUSE_BUTTONS,
+ wxSYS_BORDER_X,
+ wxSYS_BORDER_Y,
+ wxSYS_CURSOR_X,
+ wxSYS_CURSOR_Y,
+ wxSYS_DCLICK_X,
+ wxSYS_DCLICK_Y,
+ wxSYS_DRAG_X,
+ wxSYS_DRAG_Y,
+ wxSYS_EDGE_X,
+ wxSYS_EDGE_Y,
+ wxSYS_HSCROLL_ARROW_X,
+ wxSYS_HSCROLL_ARROW_Y,
+ wxSYS_HTHUMB_X,
+ wxSYS_ICON_X,
+ wxSYS_ICON_Y,
+ wxSYS_ICONSPACING_X,
+ wxSYS_ICONSPACING_Y,
+ wxSYS_WINDOWMIN_X,
+ wxSYS_WINDOWMIN_Y,
+ wxSYS_SCREEN_X,
+ wxSYS_SCREEN_Y,
+ wxSYS_FRAMESIZE_X,
+ wxSYS_FRAMESIZE_Y,
+ wxSYS_SMALLICON_X,
+ wxSYS_SMALLICON_Y,
+ wxSYS_HSCROLL_Y,
+ wxSYS_VSCROLL_X,
+ wxSYS_VSCROLL_ARROW_X,
+ wxSYS_VSCROLL_ARROW_Y,
+ wxSYS_VTHUMB_Y,
+ wxSYS_CAPTION_Y,
+ wxSYS_MENU_Y,
+ wxSYS_NETWORK_PRESENT,
+ wxSYS_PENWINDOWS_PRESENT,
+ wxSYS_SHOW_SOUNDS,
+ wxSYS_SWAP_BUTTONS,
+};
+
+
+
+%inline %{
+
+ wxColour wxSystemSettings_GetSystemColour(int index) {
+ return wxSystemSettings::GetSystemColour(index);
+ }
+
+ wxFont wxSystemSettings_GetSystemFont(int index) {
+ return wxSystemSettings::GetSystemFont(index);
+ }
+
+ int wxSystemSettings_GetSystemMetric(int index) {
+ return wxSystemSettings::GetSystemMetric(index);
+ }
+%}
+
+//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
-/////////////////////////////////////////////////////////////////////////////
-//
-// $Log$
-// Revision 1.3 1998/08/16 04:31:10 RD
-// More wxGTK work.
-//
-// Revision 1.2 1998/08/15 07:36:41 RD
-// - Moved the header in the .i files out of the code that gets put into
-// the .cpp files. It caused CVS conflicts because of the RCS ID being
-// different each time.
-//
-// - A few minor fixes.
-//
-// Revision 1.1 1998/08/09 08:25:51 RD
-// Initial version
-//
-//