X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/03e9bead8a013fd207e9c3e35bcfdba22fef929d..5f4987fed4dc52a35f0ddd649ae1cf9e75bb92d3:/utils/wxPython/src/windows.i diff --git a/utils/wxPython/src/windows.i b/utils/wxPython/src/windows.i index 08e6ab1bb1..362e2b1dde 100644 --- a/utils/wxPython/src/windows.i +++ b/utils/wxPython/src/windows.i @@ -36,6 +36,7 @@ %import misc.i %import gdi.i +%pragma(python) code = "import wx" //--------------------------------------------------------------------------- @@ -65,9 +66,10 @@ public: long style = 0, char* name = "panel"); + %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)" void CaptureMouse(); - //void Center(int direction = wxHORIZONTAL); + void Center(int direction = wxHORIZONTAL); void Centre(int direction = wxHORIZONTAL); void ClientToScreen(int *BOTH, int *BOTH); bool Close(int force = FALSE); @@ -78,55 +80,44 @@ public: #endif void Enable(bool enable); //bool FakePopupMenu(wxMenu* menu, int x, int y); + %name(FindWindowByID) wxWindow* FindWindow(long id); + %name(FindWindowByName) wxWindow* FindWindow(const wxString& name); void Fit(); wxColour GetBackgroundColour(); -#ifdef __WXMSW__ int GetCharHeight(); int GetCharWidth(); -#endif - void GetClientSize(int *OUTPUT, int *OUTPUT); + %name(GetClientSizeTuple) void GetClientSize(int *OUTPUT, int *OUTPUT); + wxSize GetClientSize(); wxLayoutConstraints * GetConstraints(); #ifdef __WXMSW__ wxButton* GetDefaultItem(); #endif //wxEvtHandler* GetEventHandler(); - wxFont* GetFont(); -#ifdef __WXMSW__ + wxFont& GetFont(); wxColour GetForegroundColour(); wxWindow * GetGrandParent(); -#endif int GetId(); - void GetPosition(int *OUTPUT, int *OUTPUT); -#ifdef __WXMSW__ - wxString& GetLabel(); - wxString& GetName(); -#else wxString GetLabel(); wxString GetName(); -#endif wxWindow * GetParent(); + %name(GetPositionTuple) void GetPosition(int *OUTPUT, int *OUTPUT); + wxPoint GetPosition(); + wxRect GetRect(); int GetReturnCode(); int GetScrollThumb(int orientation); int GetScrollPos(int orientation); int GetScrollRange(int orientation); - void GetSize(int *OUTPUT, int *OUTPUT); -#ifdef __WXMSW__ + %name(GetSizeTuple) void GetSize(int *OUTPUT, int *OUTPUT); + wxSize GetSize(); void GetTextExtent(const wxString& string, int *OUTPUT, int *OUTPUT); // int* descent = NULL, int* externalLeading = NULL, const wxFont* font = NULL, bool use16 = FALSE) -#endif -#ifdef __WXMSW__ - wxString& GetTitle(); -#else wxString GetTitle(); -#endif long GetWindowStyleFlag(); void InitDialog(); bool IsEnabled(); bool IsRetained(); bool IsShown(); void Layout(); -#ifdef __WXMSW__ bool LoadFromResource(wxWindow* parent, const wxString& resourceName, const wxResourceTable* resourceTable = NULL); -#endif void Lower(); void MakeModal(bool flag); void Move(int x, int y); @@ -140,15 +131,14 @@ public: void ReleaseMouse(); void ScreenToClient(int *BOTH, int *BOTH); void ScrollWindow(int dx, int dy, const wxRect* rect = NULL); + void SetAcceleratorTable(const wxAcceleratorTable& accel); void SetAutoLayout(bool autoLayout); void SetBackgroundColour(const wxColour& colour); void SetConstraints(wxLayoutConstraints *constraints); void SetDoubleClick(bool allowDoubleClick); void SetFocus(); void SetFont(const wxFont& font); -#ifdef __WXMSW__ void SetForegroundColour(const wxColour& colour); -#endif void SetId(int id); void SetName(const wxString& name); void SetReturnCode(int retCode); @@ -169,12 +159,9 @@ public: } } -#ifdef __WXMSW__ void SetSizeHints(int minW=-1, int minH=-1, int maxW=-1, int maxH=-1, int incW=-1, int incH=-1); -#endif void SetClientSize(int width, int height); //void SetPalette(wxPalette* palette); - //void SetColourMap(wxColourMap *colourMap); void SetCursor(const wxCursor&cursor); //void SetEventHandler(wxEvtHandler* handler); void SetTitle(const wxString& title); @@ -186,8 +173,21 @@ public: void WarpPointer(int x, int y); #endif + %name(ConvertDialogPointToPixels) wxPoint ConvertDialogToPixels(const wxPoint& pt); + %name(ConvertDialogSizeToPixels) wxSize ConvertDialogToPixels(const wxSize& sz); + + %name(ConvertPixelPointToDialog) wxPoint ConvertPixelsToDialog(const wxPoint& pt); + %name(ConvertPixelSizeToDialog) wxSize ConvertPixelsToDialog(const wxSize& sz); + }; +%pragma(python) code = " +def wxDLG_PNT(win, point): + return win.ConvertDialogPointToPixels(point) + +def wxDLG_SZE(win, size): + return win.ConvertDialogPointToPixels(size) +" // Static method(s) #ifdef __WXMSW__ @@ -198,54 +198,6 @@ public: %} #endif -//---------------------------------------------------------------------- - -class wxFrame : public wxWindow { -public: - wxFrame(wxWindow* parent, const wxWindowID id, const wxString& title, - const wxPoint& pos = wxPyDefaultPosition, - const wxSize& size = wxPyDefaultSize, - long style = wxDEFAULT_FRAME_STYLE, - char* name = "frame"); - - void Centre(int direction = wxBOTH); -#ifdef __WXMSW__ - void Command(int id); -#endif - bool CreateStatusBar(int number = 1); - wxMenuBar* GetMenuBar(); - wxStatusBar* GetStatusBar(); -#ifdef __WXMSW__ - wxString& GetTitle(); -#else - wxString GetTitle(); -#endif -#ifdef __WXMSW__ - void Iconize(bool iconize); - bool IsIconized(); - void SetAcceleratorTable(const wxAcceleratorTable& accel); - void Maximize(bool maximize); -#endif - void SetIcon(const wxIcon& icon); - void SetMenuBar(wxMenuBar* menuBar); - void SetStatusText(const wxString& text, int number = 0); - void SetStatusWidths(int LCOUNT, int* LIST); // use typemap - void SetTitle(const wxString& title); - -}; - -//--------------------------------------------------------------------------- - -#ifdef __WXMSW__ -class wxMiniFrame : public wxFrame { -public: - wxMiniFrame(wxWindow* parent, const wxWindowID id, const wxString& title, - const wxPoint& pos = wxPyDefaultPosition, - const wxSize& size = wxPyDefaultSize, - long style = wxDEFAULT_FRAME_STYLE, - char* name = "frame"); -}; -#endif //--------------------------------------------------------------------------- @@ -258,6 +210,8 @@ public: long style = wxTAB_TRAVERSAL, const char* name = "panel"); + %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)" + void InitDialog(); }; @@ -273,14 +227,14 @@ public: long style = wxDEFAULT_DIALOG_STYLE, const char* name = "dialogBox"); + %pragma(python) addtomethod = "__init__:wx._StdDialogCallbacks(self)" + void Centre(int direction = wxBOTH); void EndModal(int retCode); wxString GetTitle(); -#ifdef __WXMSW__ void Iconize(bool iconize); bool IsIconized(); void SetModal(bool flag); -#endif bool IsModal(); void SetTitle(const wxString& title); bool Show(bool show); @@ -298,6 +252,9 @@ public: long style = wxHSCROLL | wxVSCROLL, char* name = "scrolledWindow"); + %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)" + %pragma(python) addtomethod = "__init__:wx._StdOnScrollCallbacks(self)" + void EnableScrolling(bool xScrolling, bool yScrolling); void GetScrollPixelsPerUnit(int* OUTPUT, int* OUTPUT); void GetVirtualSize(int* OUTPUT, int* OUTPUT); @@ -328,20 +285,19 @@ public: void Enable(int id, bool enable); int FindItem(const wxString& itemString); #ifdef __WXMSW__ - wxMenuItem* FindItemForId(int id); - wxString& GetHelpString(int id); - wxString GetLabel(int id); wxString GetTitle(); - void SetHelpString(int id, const wxString& helpString); void SetTitle(const wxString& title); #endif + wxMenuItem* FindItemForId(int id); + wxString GetHelpString(int id); + wxString GetLabel(int id); + void SetHelpString(int id, const wxString& helpString); bool IsChecked(int id); bool IsEnabled(int id); void SetLabel(int id, const wxString& label); }; -#ifdef __WXMSW__ // // This one knows how to set a callback and handle INC- and DECREFing it. To // be used for PopupMenus, but you must retain a referece to it while using @@ -352,7 +308,6 @@ public: wxPyMenu(const wxString& title = wxPyEmptyStr, PyObject* func = NULL); ~wxPyMenu(); }; -#endif //---------------------------------------------------------------------- @@ -364,10 +319,14 @@ public: void Check(int id, bool flag); bool Checked(int id); void Enable(int id, bool enable); + bool Enabled(int id); int FindMenuItem(const wxString& menuString, const wxString& itemString); +#ifdef __WXGTK__ + %name(FindItemForId) wxMenuItem* FindMenuItemById( int id ); +#endif #ifdef __WXMSW__ - void EnableTop(int pos, bool enable); wxMenuItem * FindItemForId(int id); + void EnableTop(int pos, bool enable); wxString GetHelpString(int id); wxString GetLabel(int id); void SetHelpString(int id, const wxString& helpString); @@ -375,6 +334,8 @@ public: wxString GetLabelTop(int pos); void SetLabelTop(int pos, const wxString& label); #endif + int GetMenuCount(); + wxMenu* GetMenu(int i); }; @@ -385,26 +346,53 @@ public: bool IsSeparator(); bool IsEnabled(); bool IsChecked(); + bool IsCheckable(); int GetId(); wxMenu* GetSubMenu(); #ifdef __WXMSW__ - const wxString& GetHelp(); void SetName(const wxString& strName); - void SetHelp(const wxString& strHelp); -#endif - void Enable(bool bDoEnable = TRUE); - void Check(bool bDoCheck = TRUE); -#ifdef __WXMSW__ void DeleteSubMenu(); const wxString& GetName(); #endif - bool IsCheckable(); + const wxString& GetHelp(); + void SetHelp(const wxString& strHelp); + void Enable(bool bDoEnable = TRUE); + void Check(bool bDoCheck = TRUE); }; //--------------------------------------------------------------------------- ///////////////////////////////////////////////////////////////////////////// // // $Log$ +// Revision 1.7 1998/12/15 20:41:25 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.6 1998/10/02 06:40:43 RD +// +// Version 0.4 of wxPython for MSW. +// +// Revision 1.5 1998/08/17 18:29:40 RD +// Removed an extra method definition +// +// Revision 1.4 1998/08/16 04:31:11 RD +// More wxGTK work. +// // Revision 1.3 1998/08/15 07:36:47 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