]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/wxPython/src/windows2.i
more updates
[wxWidgets.git] / utils / wxPython / src / windows2.i
index 40b18656d56e581db88d7d5e4cf59e0901bdb5c2..6aa7c46e7c5f20fc0543b367cc82bc09f251fa24 100644 (file)
@@ -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(wxFontf);
     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(wxBitmapbitmap);
 };
 
 
@@ -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(wxFontfont, int row, int col);
+    %name(SetDefCellTextFont)void SetCellTextFont(wxFontfont);
     void SetCellValue(const wxString& val, int row, int col);
     void SetColumnWidth(int col, int width);
-    void SetDividerPen(wxPen *pen);
+    void SetDividerPen(wxPenpen);
     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(wxFontfont);
     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
-//
-//