]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/wxPython/src/windows2.i
Added event class constructors
[wxWidgets.git] / utils / wxPython / src / windows2.i
index 63a0b08739c3a8068fcf9e37382eb6fae017decf..6aa7c46e7c5f20fc0543b367cc82bc09f251fa24 100644 (file)
@@ -120,7 +120,30 @@ public:
     %name(GetDefCellAlignment)int GetCellAlignment();
     wxColour& GetCellBackgroundColour(int row, int col);
     %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);
@@ -128,7 +151,7 @@ public:
     wxString& GetCellValue(int row, int col);
     int GetCols();
     int GetColumnWidth(int col);
-    wxRect& GetCurrentRect();
+    wxRect GetCurrentRect();
     int GetCursorColumn();
     int GetCursorRow();
     bool GetEditable();
@@ -174,6 +197,10 @@ public:
     void SetRowHeight(int row, int height);
 
     void UpdateDimensions();
+
+    bool GetEditInPlace();
+    void SetEditInPlace(int edit = TRUE);
+
 };
 
 
@@ -186,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();
 };
 
 
@@ -204,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);
 };
 
 
@@ -238,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,
@@ -250,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,
@@ -276,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);
@@ -329,63 +380,3 @@ public:
 #endif
 
 //---------------------------------------------------------------------------
-/////////////////////////////////////////////////////////////////////////////
-//
-// $Log$
-// Revision 1.9  1999/02/25 07:08:36  RD
-// wxPython version 2.0b5
-//
-// Revision 1.8  1998/12/17 18:05:53  RD
-//
-// wxPython 0.5.2
-// Minor fixes and SWIG code generation for RR's changes.  MSW and GTK
-// versions are much closer now!
-//
-// 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/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
-//
-//