X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b639c3c5ef53c4bdefd3b27aac1496787f024cb8..4f63da7e987a98af4d29583688f647a0ef7363ab:/utils/wxPython/src/windows2.i diff --git a/utils/wxPython/src/windows2.i b/utils/wxPython/src/windows2.i index 40b18656d5..6aa7c46e7c 100644 --- a/utils/wxPython/src/windows2.i +++ b/utils/wxPython/src/windows2.i @@ -35,7 +35,7 @@ %import controls.i %import events.i -%pragma(python) code = "import wxp" +%pragma(python) code = "import wx" //--------------------------------------------------------------------------- @@ -53,17 +53,17 @@ public: wxString& GetTextValue(); void SetTextValue(const wxString& str); - wxFont* GetFont(); - void SetFont(wxFont *f); + wxFont& GetFont(); + void SetFont(wxFont& f); wxColour& GetTextColour(); void SetTextColour(const wxColour& colour); wxColour& GetBackgroundColour(); void SetBackgroundColour(const wxColour& colour); - wxBrush* GetBackgroundBrush(); + wxBrush& GetBackgroundBrush(); int GetAlignment(); void SetAlignment(int align); wxBitmap* GetCellBitmap(); - void SetCellBitmap(wxBitmap *bitmap); + void SetCellBitmap(wxBitmap* bitmap); }; @@ -77,16 +77,16 @@ public: long style=0, char* name="grid"); - %pragma(python) addtomethod = "__init__:wxp._StdWindowCallbacks(self)" - %pragma(python) addtomethod = "__init__:wxp._checkForCallback(self, 'OnSelectCell', wxEVT_GRID_SELECT_CELL)" - %pragma(python) addtomethod = "__init__:wxp._checkForCallback(self, 'OnCreateCell', wxEVT_GRID_CREATE_CELL)" - %pragma(python) addtomethod = "__init__:wxp._checkForCallback(self, 'OnChangeLabels', wxEVT_GRID_CHANGE_LABELS)" - %pragma(python) addtomethod = "__init__:wxp._checkForCallback(self, 'OnChangeSelectionLabel', wxEVT_GRID_CHANGE_SEL_LABEL)" - %pragma(python) addtomethod = "__init__:wxp._checkForCallback(self, 'OnCellChange', wxEVT_GRID_CELL_CHANGE)" - %pragma(python) addtomethod = "__init__:wxp._checkForCallback(self, 'OnCellLeftClick', wxEVT_GRID_CELL_LCLICK)" - %pragma(python) addtomethod = "__init__:wxp._checkForCallback(self, 'OnCellRightClick', wxEVT_GRID_CELL_RCLICK)" - %pragma(python) addtomethod = "__init__:wxp._checkForCallback(self, 'OnLabelLeftClick', wxEVT_GRID_LABEL_LCLICK)" - %pragma(python) addtomethod = "__init__:wxp._checkForCallback(self, 'OnLabelRightClick', wxEVT_GRID_LABEL_RCLICK)" + %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)" + %pragma(python) addtomethod = "__init__:wx._checkForCallback(self, 'OnSelectCell', wxEVT_GRID_SELECT_CELL)" + %pragma(python) addtomethod = "__init__:wx._checkForCallback(self, 'OnCreateCell', wxEVT_GRID_CREATE_CELL)" + %pragma(python) addtomethod = "__init__:wx._checkForCallback(self, 'OnChangeLabels', wxEVT_GRID_CHANGE_LABELS)" + %pragma(python) addtomethod = "__init__:wx._checkForCallback(self, 'OnChangeSelectionLabel', wxEVT_GRID_CHANGE_SEL_LABEL)" + %pragma(python) addtomethod = "__init__:wx._checkForCallback(self, 'OnCellChange', wxEVT_GRID_CELL_CHANGE)" + %pragma(python) addtomethod = "__init__:wx._checkForCallback(self, 'OnCellLeftClick', wxEVT_GRID_CELL_LCLICK)" + %pragma(python) addtomethod = "__init__:wx._checkForCallback(self, 'OnCellRightClick', wxEVT_GRID_CELL_RCLICK)" + %pragma(python) addtomethod = "__init__:wx._checkForCallback(self, 'OnLabelLeftClick', wxEVT_GRID_LABEL_LCLICK)" + %pragma(python) addtomethod = "__init__:wx._checkForCallback(self, 'OnLabelRightClick', wxEVT_GRID_LABEL_RCLICK)" void AdjustScrollbars(); @@ -119,17 +119,39 @@ public: int GetCellAlignment(int row, int col); %name(GetDefCellAlignment)int GetCellAlignment(); wxColour& GetCellBackgroundColour(int row, int col); - %name(GetDefCellBackgroundColour) - wxColour& GetCellBackgroundColour(); + %name(GetDefCellBackgroundColour) wxColour& GetCellBackgroundColour(); + //wxGridCell *** GetCells(); + %addmethods { + PyObject* GetCells() { + int row, col; + PyObject* rows = PyList_New(0); + for (row=0; row < self->GetRows(); row++) { + PyObject* rowList = PyList_New(0); + for (col=0; col < self->GetCols(); col++) { + wxGridCell* cell = self->GetCell(row, col); + + bool doSave = wxPyRestoreThread(); + PyObject* pyCell = wxPyConstructObject(cell, "wxGridCell"); + wxPySaveThread(doSave); + + if (PyList_Append(rowList, pyCell) == -1) + return NULL; + } + if (PyList_Append(rows, rowList) == -1) + return NULL; + } + return rows; + } + } wxColour& GetCellTextColour(int row, int col); %name(GetDefCellTextColour)wxColour& GetCellTextColour(); - wxFont* GetCellTextFont(int row, int col); - %name(GetDefCellTextFont)wxFont* GetCellTextFont(); + wxFont& GetCellTextFont(int row, int col); + %name(GetDefCellTextFont)wxFont& GetCellTextFont(); wxString& GetCellValue(int row, int col); int GetCols(); int GetColumnWidth(int col); - wxRect& GetCurrentRect(); + wxRect GetCurrentRect(); int GetCursorColumn(); int GetCursorRow(); bool GetEditable(); @@ -138,7 +160,7 @@ public: wxColour& GetLabelBackgroundColour(); int GetLabelSize(int orientation); wxColour& GetLabelTextColour(); - wxFont* GetLabelTextFont(); + wxFont& GetLabelTextFont(); wxString& GetLabelValue(int orientation, int pos); int GetRowHeight(int row); int GetRows(); @@ -159,22 +181,26 @@ public: void SetCellBackgroundColour(const wxColour& colour); void SetCellTextColour(const wxColour& colour, int row, int col); %name(SetDefCellTextColour)void SetCellTextColour(const wxColour& colour); - void SetCellTextFont(wxFont *font, int row, int col); - %name(SetDefCellTextFont)void SetCellTextFont(wxFont *font); + void SetCellTextFont(wxFont& font, int row, int col); + %name(SetDefCellTextFont)void SetCellTextFont(wxFont& font); void SetCellValue(const wxString& val, int row, int col); void SetColumnWidth(int col, int width); - void SetDividerPen(wxPen *pen); + void SetDividerPen(wxPen& pen); void SetEditable(bool editable); void SetGridCursor(int row, int col); void SetLabelAlignment(int orientation, int alignment); void SetLabelBackgroundColour(const wxColour& value); void SetLabelSize(int orientation, int size); void SetLabelTextColour(const wxColour& value); - void SetLabelTextFont(wxFont *font); + void SetLabelTextFont(wxFont& font); void SetLabelValue(int orientation, const wxString& value, int pos); void SetRowHeight(int row, int height); void UpdateDimensions(); + + bool GetEditInPlace(); + void SetEditInPlace(int edit = TRUE); + }; @@ -187,6 +213,13 @@ public: bool m_control; bool m_shift; wxGridCell* m_cell; + + int GetRow(); + int GetCol(); + wxPoint GetPosition(); + bool ControlDown(); + bool ShiftDown(); + wxGridCell* GetCell(); }; @@ -205,10 +238,12 @@ enum { //--------------------------------------------------------------------------- -class wxNotebookEvent : public wxCommandEvent { +class wxNotebookEvent : public wxNotifyEvent { public: int GetSelection(); int GetOldSelection(); + void SetOldSelection(int page); + void SetSelection(int page); }; @@ -222,7 +257,7 @@ public: long style = 0, char* name = "notebook"); - %pragma(python) addtomethod = "__init__:wxp._StdWindowCallbacks(self)" + %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)" int GetPageCount(); int SetSelection(int nPage); @@ -239,10 +274,11 @@ public: // LINK ERROR: void SetPageSize(const wxSize& size); // LINK ERROR: void SetPadding(const wxSize& padding); bool DeletePage(int nPage); + bool RemovePage(int nPage); bool DeleteAllPages(); bool AddPage(/*wxNotebookPage*/ wxWindow *pPage, const wxString& strText, - bool bSelect = FALSE, + int bSelect = FALSE, int imageId = -1); #ifdef __WXMSW__ bool InsertPage(int nPage, @@ -251,12 +287,32 @@ public: bool bSelect = FALSE, int imageId = -1); #endif - wxNotebookPage *GetPage(int nPage); + /*wxNotebookPage*/ wxWindow *GetPage(int nPage); + + %addmethods { + void ResizeChildren() { + wxSizeEvent evt(self->GetClientSize()); + self->GetEventHandler()->ProcessEvent(evt); + } + } + }; //--------------------------------------------------------------------------- +class wxSplitterEvent : public wxCommandEvent { +public: + int GetSashPosition(); + int GetX(); + int GetY(); + wxWindow* GetWindowBeingRemoved(); + void SetSashPosition(int pos); +} + + + + class wxSplitterWindow : public wxWindow { public: wxSplitterWindow(wxWindow* parent, wxWindowID id, @@ -265,7 +321,7 @@ public: long style=wxSP_3D|wxCLIP_CHILDREN, char* name = "splitterWindow"); - %pragma(python) addtomethod = "__init__:wxp._StdWindowCallbacks(self)" + %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)" int GetBorderSize(); int GetMinimumPaneSize(); @@ -277,12 +333,6 @@ public: void Initialize(wxWindow* window); bool IsSplit(); - // TODO: How to handle callbacks that don't come from - // event system??? - // - //void OnDoubleClickSash(int x, int y); - //bool OnSashPositionChange(int newSashPosition); - //void OnUnsplit(wxWindow* removed); void SetBorderSize(int width); void SetSashPosition(int position, int redraw = TRUE); @@ -314,48 +364,19 @@ public: wxTaskBarIcon(); ~wxTaskBarIcon(); - %pragma(python) addtomethod = "__init__:wxp._checkForCallback(self, 'OnMouseMove', wxEVT_TASKBAR_MOVE)" - %pragma(python) addtomethod = "__init__:wxp._checkForCallback(self, 'OnLButtonDown', wxEVT_TASKBAR_LEFT_DOWN)" - %pragma(python) addtomethod = "__init__:wxp._checkForCallback(self, 'OnLButtonUp', wxEVT_TASKBAR_LEFT_UP)" - %pragma(python) addtomethod = "__init__:wxp._checkForCallback(self, 'OnRButtonDown', wxEVT_TASKBAR_RIGHT_DOWN)" - %pragma(python) addtomethod = "__init__:wxp._checkForCallback(self, 'OnRButtonUp', wxEVT_TASKBAR_RIGHT_UP)" - %pragma(python) addtomethod = "__init__:wxp._checkForCallback(self, 'OnLButtonDClick',wxEVT_TASKBAR_LEFT_DCLICK)" - %pragma(python) addtomethod = "__init__:wxp._checkForCallback(self, 'OnRButtonDClick',wxEVT_TASKBAR_RIGHT_DCLICK)" + %pragma(python) addtomethod = "__init__:wx._checkForCallback(self, 'OnMouseMove', wxEVT_TASKBAR_MOVE)" + %pragma(python) addtomethod = "__init__:wx._checkForCallback(self, 'OnLButtonDown', wxEVT_TASKBAR_LEFT_DOWN)" + %pragma(python) addtomethod = "__init__:wx._checkForCallback(self, 'OnLButtonUp', wxEVT_TASKBAR_LEFT_UP)" + %pragma(python) addtomethod = "__init__:wx._checkForCallback(self, 'OnRButtonDown', wxEVT_TASKBAR_RIGHT_DOWN)" + %pragma(python) addtomethod = "__init__:wx._checkForCallback(self, 'OnRButtonUp', wxEVT_TASKBAR_RIGHT_UP)" + %pragma(python) addtomethod = "__init__:wx._checkForCallback(self, 'OnLButtonDClick',wxEVT_TASKBAR_LEFT_DCLICK)" + %pragma(python) addtomethod = "__init__:wx._checkForCallback(self, 'OnRButtonDClick',wxEVT_TASKBAR_RIGHT_DCLICK)" bool SetIcon(const wxIcon& icon, const char* tooltip = ""); bool RemoveIcon(void); + bool PopupMenu(wxMenu *menu); + }; #endif //--------------------------------------------------------------------------- -///////////////////////////////////////////////////////////////////////////// -// -// $Log$ -// Revision 1.6 1998/11/25 08:45:28 RD -// Added wxPalette, wxRegion, wxRegionIterator, wxTaskbarIcon -// Added events for wxGrid -// Other various fixes and additions -// -// Revision 1.5 1998/11/03 09:21:57 RD -// fixed a typo -// -// Revision 1.4 1998/10/02 06:40:43 RD -// -// Version 0.4 of wxPython for MSW. -// -// Revision 1.3 1998/08/18 19:48:20 RD -// more wxGTK compatibility things. -// -// It builds now but there are serious runtime problems... -// -// Revision 1.2 1998/08/15 07:36:50 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:52 RD -// Initial version -// -//