-%module misc
-%{
/////////////////////////////////////////////////////////////////////////////
// Name: misc.i
// Purpose: Definitions of miscelaneous functions and classes
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
+%module misc
+%{
#include "helpers.h"
#include <wx/resource.h>
+#include <wx/tooltip.h>
%}
//----------------------------------------------------------------------
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);
+ long GetX();
+ long GetY();
%name(GetWidth) long GetX();
%name(GetHeight)long GetY();
%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,
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);
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);
long wxGetFreeMemory();
+#endif
void wxGetMousePosition(int* OUTPUT, int* OUTPUT);
bool wxIsBusy();
wxString wxNow();
+#ifdef __WXMSW__
bool wxShell(const wxString& command = wxPyEmptyStr);
void wxStartTimer();
+int wxGetOsVersion(int *OUTPUT, int *OUTPUT);
+#endif
+
bool wxYield();
+bool wxSafeYield();
-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);
}
+//---------------------------------------------------------------------------
+// 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
};
+//---------------------------------------------------------------------------
+// wxToolTip
+
+class wxToolTip {
+public:
+ wxToolTip(const wxString &tip);
+
+ void SetTip(const wxString& tip);
+ wxString GetTip();
+ // *** Not in the "public" interface void SetWindow(wxWindow *win);
+ wxWindow *GetWindow();
+};
+
+
+%inline %{
+ void wxToolTip_Enable(bool flag) {
+ wxToolTip::Enable(flag);
+ }
+
+ void wxToolTip_SetDelay(long milliseconds) {
+ wxToolTip::SetDelay(milliseconds);
+ }
+%}
+
//---------------------------------------------------------------------------
/////////////////////////////////////////////////////////////////////////////
//
// $Log$
+// Revision 1.14 1999/04/30 03:29:19 RD
+// wxPython 2.0b9, first phase (win32)
+// Added gobs of stuff, see wxPython/README.txt for details
+//
+// Revision 1.13.4.1 1999/03/27 23:29:15 RD
+//
+// wxPython 2.0b8
+// Python thread support
+// various minor additions
+// various minor fixes
+//
+// Revision 1.13 1999/02/25 07:08:34 RD
+//
+// wxPython version 2.0b5
+//
+// Revision 1.12 1999/02/20 10:02:37 RD
+//
+// Changes needed to enable wxGTK compatibility.
+//
+// Revision 1.11 1999/02/20 09:03:01 RD
+// Added wxWindow_FromHWND(hWnd) for wxMSW to construct a wxWindow from a
+// window handle. If you can get the window handle into the python code,
+// it should just work... More news on this later.
+//
+// Added wxImageList, wxToolTip.
+//
+// Re-enabled wxConfig.DeleteAll() since it is reportedly fixed for the
+// wxRegConfig class.
+//
+// As usual, some bug fixes, tweaks, etc.
+//
+// Revision 1.10 1999/01/30 07:30:14 RD
+//
+// Added wxSashWindow, wxSashEvent, wxLayoutAlgorithm, etc.
+//
+// Various cleanup, tweaks, minor additions, etc. to maintain
+// compatibility with the current wxWindows.
+//
+// Revision 1.9 1998/12/16 22:10:55 RD
+//
+// Tweaks needed to be able to build wxPython with wxGTK.
+//
+// Revision 1.8 1998/12/15 20:41:22 RD
+// Changed the import semantics from "from wxPython import *" to "from
+// wxPython.wx import *" This is for people who are worried about
+// namespace pollution, they can use "from wxPython import wx" and then
+// prefix all the wxPython identifiers with "wx."
+//
+// Added wxTaskbarIcon for wxMSW.
+//
+// Made the events work for wxGrid.
+//
+// Added wxConfig.
+//
+// Added wxMiniFrame for wxGTK, (untested.)
+//
+// Changed many of the args and return values that were pointers to gdi
+// objects to references to reflect changes in the wxWindows API.
+//
+// Other assorted fixes and additions.
+//
+// Revision 1.7 1998/11/25 08:45:27 RD
+//
+// Added wxPalette, wxRegion, wxRegionIterator, wxTaskbarIcon
+// Added events for wxGrid
+// Other various fixes and additions
+//
+// Revision 1.6 1998/11/15 23:03:46 RD
+// Removing some ifdef's for wxGTK
+//
+// Revision 1.5 1998/10/20 06:43:59 RD
+// New wxTreeCtrl wrappers (untested)
+// some changes in helpers
+// etc.
+//
+// Revision 1.4 1998/08/18 19:48:19 RD
+// more wxGTK compatibility things.
+//
+// It builds now but there are serious runtime problems...
+//
+// 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
//