]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/grid.i
bump subrelease number
[wxWidgets.git] / wxPython / src / grid.i
index d6f7f1c6eff934f50e8e347df3179cbc2a4e109a..69b0c9b4a65e3bcd3fa1ba6fe68163c2f2a8e1a2 100644 (file)
 %pythoncode { __docfilter__ = wx.__DocFilter(globals()) }
 
 
-%include _grid_rename.i
-
 MAKE_CONST_WXSTRING_NOSWIG(EmptyString);
-MAKE_CONST_WXSTRING_NOSWIG(PanelNameStr);
+MAKE_CONST_WXSTRING_NOSWIG(GridNameStr);
 MAKE_CONST_WXSTRING_NOSWIG(DefaultDateTimeFormat);
 
 //---------------------------------------------------------------------------
@@ -525,16 +523,19 @@ public:
 
 class wxGridCellRenderer : public wxGridCellWorker
 {
+public:
     virtual void Draw(wxGrid& grid,
                       wxGridCellAttr& attr,
                       wxDC& dc,
                       const wxRect& rect,
                       int row, int col,
                       bool isSelected);
+    
     virtual wxSize GetBestSize(wxGrid& grid,
                                wxGridCellAttr& attr,
                                wxDC& dc,
                                int row, int col);
+    
     virtual wxGridCellRenderer *Clone() const;
 };
 
@@ -680,6 +681,9 @@ public:
     void SetWidth(int width);
     int GetPrecision() const;
     void SetPrecision(int precision);
+
+    %property(Precision, GetPrecision, SetPrecision, doc="See `GetPrecision` and `SetPrecision`");
+    %property(Width, GetWidth, SetWidth, doc="See `GetWidth` and `SetWidth`");
 };
 
 
@@ -720,7 +724,7 @@ public:
 // wxGridCellEditor is an ABC, and several derived classes are available.
 // Classes implemented in Python should be derived from wxPyGridCellEditor.
 
-class  wxGridCellEditor : public wxGridCellWorker
+class wxGridCellEditor : public wxGridCellWorker
 {
 public:
     bool IsCreated();
@@ -746,9 +750,11 @@ public:
     virtual void StartingClick();
     virtual void HandleReturn(wxKeyEvent& event);
 
-    %pythonAppend Destroy "args[0].thisown = 0"
+    %pythonPrepend Destroy "args[0].this.own(False)"
     virtual void Destroy();
 
+    %property(CellAttr, GetCellAttr, SetCellAttr, doc="See `GetCellAttr` and `SetCellAttr`");
+    %property(Control, GetControl, SetControl, doc="See `GetControl` and `SetControl`");
 };
 
 
@@ -912,6 +918,8 @@ public:
     %pythonAppend wxGridCellTextEditor  "self._setOORInfo(self)"
     wxGridCellTextEditor();
     virtual wxString GetValue();
+
+    %property(Value, GetValue, doc="See `GetValue`");
 };
 
 
@@ -920,7 +928,6 @@ class wxGridCellNumberEditor : public wxGridCellTextEditor
 public:
     %pythonAppend wxGridCellNumberEditor  "self._setOORInfo(self)"
     wxGridCellNumberEditor(int min = -1, int max = -1);
-    virtual wxString GetValue();
 };
 
 
@@ -929,7 +936,6 @@ class wxGridCellFloatEditor : public wxGridCellTextEditor
 public:
     %pythonAppend wxGridCellFloatEditor  "self._setOORInfo(self)"
     wxGridCellFloatEditor(int width = -1, int precision = -1);
-    virtual wxString GetValue();
 };
 
 
@@ -938,7 +944,6 @@ class wxGridCellBoolEditor : public wxGridCellEditor
 public:
     %pythonAppend wxGridCellBoolEditor  "self._setOORInfo(self)"
     wxGridCellBoolEditor();
-    virtual wxString GetValue();
 };
 
 class wxGridCellChoiceEditor : public wxGridCellEditor
@@ -948,7 +953,6 @@ public:
     wxGridCellChoiceEditor(int choices = 0,
                            const wxString* choices_array = NULL,
                            bool allowOthers = false);
-    virtual wxString GetValue();
 };
 
 
@@ -957,7 +961,6 @@ class wxGridCellEnumEditor : public wxGridCellChoiceEditor
 public:
     %pythonAppend wxGridCellEnumEditor  "self._setOORInfo(self)"
     wxGridCellEnumEditor( const wxString& choices = wxPyEmptyString );
-    virtual wxString GetValue();
 };
 
 
@@ -966,7 +969,6 @@ class wxGridCellAutoWrapStringEditor : public wxGridCellTextEditor
 public:
     %pythonAppend wxGridCellAutoWrapStringEditor  "self._setOORInfo(self)"
     wxGridCellAutoWrapStringEditor();
-    virtual wxString GetValue();
 };
 
 
@@ -1051,6 +1053,14 @@ public:
     bool IsReadOnly() const;
     wxAttrKind GetKind();
     void SetDefAttr(wxGridCellAttr* defAttr);
+    
+    %property(Alignment, GetAlignment, SetAlignment, doc="See `GetAlignment` and `SetAlignment`");
+    %property(BackgroundColour, GetBackgroundColour, SetBackgroundColour, doc="See `GetBackgroundColour` and `SetBackgroundColour`");
+    %property(Font, GetFont, SetFont, doc="See `GetFont` and `SetFont`");
+    %property(Kind, GetKind, SetKind, doc="See `GetKind` and `SetKind`");
+    %property(Overflow, GetOverflow, SetOverflow, doc="See `GetOverflow` and `SetOverflow`");
+    %property(Size, GetSize, SetSize, doc="See `GetSize` and `SetSize`");
+    %property(TextColour, GetTextColour, SetTextColour, doc="See `GetTextColour` and `SetTextColour`");
 };
 
 //---------------------------------------------------------------------------
@@ -1127,7 +1137,7 @@ class wxGridTableBase : public wxObject
 {
 public:
     // wxGridTableBase();   This is an ABC
-    //~wxGridTableBase();
+    ~wxGridTableBase();
 
     %extend {
         void _setOORInfo(PyObject* _self) {
@@ -1185,6 +1195,10 @@ public:
     virtual void SetRowAttr(wxGridCellAttr *attr, int row);
     virtual void SetColAttr(wxGridCellAttr *attr, int col);
 
+    %property(AttrProvider, GetAttrProvider, SetAttrProvider, doc="See `GetAttrProvider` and `SetAttrProvider`");
+    %property(NumberCols, GetNumberCols, doc="See `GetNumberCols`");
+    %property(NumberRows, GetNumberRows, doc="See `GetNumberRows`");
+    %property(View, GetView, SetView, doc="See `GetView` and `SetView`");
 };
 
 
@@ -1331,7 +1345,7 @@ public:
     wxPyGridTableBase();
     void _setCallbackInfo(PyObject* self, PyObject* _class);
 
-    %pythonAppend Destroy "args[0].thisown = 0"
+    %pythonPrepend Destroy "args[0].this.own(False)"
     %extend { void Destroy() { delete self; } }
 
     wxString GetTypeName( int row, int col );
@@ -1420,6 +1434,11 @@ public:
     int  GetCommandInt();
     void SetCommandInt2( int comInt2 );
     int  GetCommandInt2();
+
+    %property(CommandInt, GetCommandInt, SetCommandInt, doc="See `GetCommandInt` and `SetCommandInt`");
+    %property(CommandInt2, GetCommandInt2, SetCommandInt2, doc="See `GetCommandInt2` and `SetCommandInt2`");
+    %property(Id, GetId, SetId, doc="See `GetId` and `SetId`");
+    %property(TableObject, GetTableObject, SetTableObject, doc="See `GetTableObject` and `SetTableObject`");
 };
 
 
@@ -1534,8 +1553,33 @@ public:
     void SetCol( int n );
     void Set( int row, int col );
 
-    bool operator==( const wxGridCellCoords& other ) const;
-    bool operator!=( const wxGridCellCoords& other ) const;
+    %extend {
+        KeepGIL(__eq__);
+        DocStr(__eq__, "Test for equality of GridCellCoords objects.", "");
+        bool __eq__(PyObject* other) {
+            wxGridCellCoords  temp, *obj = &temp;
+            if ( other == Py_None ) return false;
+            if ( ! wxGridCellCoords_helper(other, &obj) ) {
+                PyErr_Clear();
+                return false;
+            }
+            return self->operator==(*obj);
+        }
+
+        
+        KeepGIL(__ne__);
+        DocStr(__ne__, "Test for inequality of GridCellCoords objects.", "");
+        bool __ne__(PyObject* other) {
+            wxGridCellCoords  temp, *obj = &temp;
+            if ( other == Py_None ) return true;
+            if ( ! wxGridCellCoords_helper(other, &obj)) {
+                PyErr_Clear();
+                return true;
+            }
+            return self->operator!=(*obj);
+        }
+    }
+
 
     %extend {
         PyObject* Get() {
@@ -1557,6 +1601,8 @@ public:
         else: raise IndexError
     }
 
+    %property(Col, GetCol, SetCol, doc="See `GetCol` and `SetCol`");
+    %property(Row, GetRow, SetRow, doc="See `GetRow` and `SetRow`");
 };
 
 
@@ -1590,7 +1636,7 @@ public:
             const wxPoint& pos = wxDefaultPosition,
             const wxSize& size = wxDefaultSize,
             long style = wxWANTS_CHARS,
-            const wxString& name = wxPyPanelNameStr);
+            const wxString& name = wxPyGridNameStr);
 
     %RenameCtor(PreGrid,  wxGrid());
 
@@ -1604,9 +1650,14 @@ public:
                  const wxPoint& pos = wxDefaultPosition,
                  const wxSize& size = wxDefaultSize,
                  long style = wxWANTS_CHARS,
-                 const wxString& name = wxPyPanelNameStr );
-
+                 const wxString& name = wxPyGridNameStr );
 
+    // Override the global renamer to leave these as they are, for backwards
+    // compatibility
+    %rename(wxGridSelectCells)   wxGridSelectCells;
+    %rename(wxGridSelectRows)    wxGridSelectRows;
+    %rename(wxGridSelectColumns) wxGridSelectColumns;
+    
     enum wxGridSelectionModes {
         wxGridSelectCells,
         wxGridSelectRows,
@@ -1634,9 +1685,12 @@ public:
 
 
     wxGridTableBase * GetTable() const;
+
+    %disownarg(wxGridTableBase *);
     bool SetTable( wxGridTableBase *table, bool takeOwnership=false,
                    WXGRIDSELECTIONMODES selmode =
                    wxGrid::wxGridSelectCells );
+    %cleardisown(wxGridTableBase *);
 
     void ClearGrid();
     bool InsertRows( int pos = 0, int numRows = 1, bool updateLabels=true );
@@ -1715,7 +1769,7 @@ public:
     }
 
     int  YToRow( int y );
-    int  XToCol( int x );
+    int  XToCol( int x, bool clipToMinMax = false );
 
     int  YToEdgeOfRow( int y );
     int  XToEdgeOfCol( int x );
@@ -1773,6 +1827,12 @@ public:
     wxString GetRowLabelValue( int row );
     wxString GetColLabelValue( int col );
     wxColour GetGridLineColour();
+
+    virtual wxPen GetDefaultGridLinePen();
+    virtual wxPen GetRowGridLinePen(int row);
+    virtual wxPen GetColGridLinePen(int col);
+    
+    
     wxColour GetCellHighlightColour();
     int      GetCellHighlightPenWidth();
     int      GetCellHighlightROPenWidth();
@@ -1798,6 +1858,9 @@ public:
     void     EnableDragColSize( bool enable = true );
     void     DisableDragColSize();
     bool     CanDragColSize();
+    void     EnableDragColMove( bool enable = true );
+    void     DisableDragColMove() { EnableDragColMove( false ); }
+    bool     CanDragColMove() { return m_canDragColMove; }
     void     EnableDragGridSize(bool enable = true);
     void     DisableDragGridSize();
     bool     CanDragGridSize();
@@ -1848,7 +1911,7 @@ public:
 
     DocDeclA(
         void, GetCellAlignment( int row, int col, int *OUTPUT, int *OUTPUT ),
-        "GetCellAlignment() -> (horiz, vert)");
+        "GetCellAlignment(int row, int col) -> (horiz, vert)");
 
     bool     GetDefaultCellOverflow();
     bool     GetCellOverflow( int row, int col );
@@ -1863,6 +1926,10 @@ public:
 
     void     SetColSize( int col, int width );
 
+    int GetColAt( int colPos ) const;
+    void SetColPos( int colID, int newPos );
+    int GetColPos( int colID ) const;
+    
     // automatically size the column or row to fit to its contents, if
     // setAsMin is True, this optimal width will also be set as minimal width
     // for this column
@@ -2012,6 +2079,55 @@ public:
 
     static wxVisualAttributes
     GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
+
+    %property(BatchCount, GetBatchCount, doc="See `GetBatchCount`");
+    %property(CellHighlightColour, GetCellHighlightColour, SetCellHighlightColour, doc="See `GetCellHighlightColour` and `SetCellHighlightColour`");
+    %property(CellHighlightPenWidth, GetCellHighlightPenWidth, SetCellHighlightPenWidth, doc="See `GetCellHighlightPenWidth` and `SetCellHighlightPenWidth`");
+    %property(CellHighlightROPenWidth, GetCellHighlightROPenWidth, SetCellHighlightROPenWidth, doc="See `GetCellHighlightROPenWidth` and `SetCellHighlightROPenWidth`");
+    %property(CellSize, GetCellSize, SetCellSize, doc="See `GetCellSize` and `SetCellSize`");
+    %property(ColLabelAlignment, GetColLabelAlignment, SetColLabelAlignment, doc="See `GetColLabelAlignment` and `SetColLabelAlignment`");
+    %property(ColLabelSize, GetColLabelSize, SetColLabelSize, doc="See `GetColLabelSize` and `SetColLabelSize`");
+    %property(ColLabelTextOrientation, GetColLabelTextOrientation, SetColLabelTextOrientation, doc="See `GetColLabelTextOrientation` and `SetColLabelTextOrientation`");
+    %property(ColMinimalAcceptableWidth, GetColMinimalAcceptableWidth, SetColMinimalAcceptableWidth, doc="See `GetColMinimalAcceptableWidth` and `SetColMinimalAcceptableWidth`");
+    %property(DefaultCellAlignment, GetDefaultCellAlignment, SetDefaultCellAlignment, doc="See `GetDefaultCellAlignment` and `SetDefaultCellAlignment`");
+    %property(DefaultCellBackgroundColour, GetDefaultCellBackgroundColour, SetDefaultCellBackgroundColour, doc="See `GetDefaultCellBackgroundColour` and `SetDefaultCellBackgroundColour`");
+    %property(DefaultCellFont, GetDefaultCellFont, SetDefaultCellFont, doc="See `GetDefaultCellFont` and `SetDefaultCellFont`");
+    %property(DefaultCellOverflow, GetDefaultCellOverflow, SetDefaultCellOverflow, doc="See `GetDefaultCellOverflow` and `SetDefaultCellOverflow`");
+    %property(DefaultCellTextColour, GetDefaultCellTextColour, SetDefaultCellTextColour, doc="See `GetDefaultCellTextColour` and `SetDefaultCellTextColour`");
+    %property(DefaultColLabelSize, GetDefaultColLabelSize, doc="See `GetDefaultColLabelSize`");
+    %property(DefaultColSize, GetDefaultColSize, SetDefaultColSize, doc="See `GetDefaultColSize` and `SetDefaultColSize`");
+    %property(DefaultEditor, GetDefaultEditor, SetDefaultEditor, doc="See `GetDefaultEditor` and `SetDefaultEditor`");
+    %property(DefaultGridLinePen, GetDefaultGridLinePen, doc="See `GetDefaultGridLinePen`");
+    %property(DefaultRenderer, GetDefaultRenderer, SetDefaultRenderer, doc="See `GetDefaultRenderer` and `SetDefaultRenderer`");
+    %property(DefaultRowLabelSize, GetDefaultRowLabelSize, doc="See `GetDefaultRowLabelSize`");
+    %property(DefaultRowSize, GetDefaultRowSize, SetDefaultRowSize, doc="See `GetDefaultRowSize` and `SetDefaultRowSize`");
+    %property(GridColLabelWindow, GetGridColLabelWindow, doc="See `GetGridColLabelWindow`");
+    %property(GridCornerLabelWindow, GetGridCornerLabelWindow, doc="See `GetGridCornerLabelWindow`");
+    %property(GridCursorCol, GetGridCursorCol, doc="See `GetGridCursorCol`");
+    %property(GridCursorRow, GetGridCursorRow, doc="See `GetGridCursorRow`");
+    %property(GridLineColour, GetGridLineColour, SetGridLineColour, doc="See `GetGridLineColour` and `SetGridLineColour`");
+    %property(GridRowLabelWindow, GetGridRowLabelWindow, doc="See `GetGridRowLabelWindow`");
+    %property(GridWindow, GetGridWindow, doc="See `GetGridWindow`");
+    %property(LabelBackgroundColour, GetLabelBackgroundColour, SetLabelBackgroundColour, doc="See `GetLabelBackgroundColour` and `SetLabelBackgroundColour`");
+    %property(LabelFont, GetLabelFont, SetLabelFont, doc="See `GetLabelFont` and `SetLabelFont`");
+    %property(LabelTextColour, GetLabelTextColour, SetLabelTextColour, doc="See `GetLabelTextColour` and `SetLabelTextColour`");
+    %property(NumberCols, GetNumberCols, doc="See `GetNumberCols`");
+    %property(NumberRows, GetNumberRows, doc="See `GetNumberRows`");
+    %property(RowLabelAlignment, GetRowLabelAlignment, SetRowLabelAlignment, doc="See `GetRowLabelAlignment` and `SetRowLabelAlignment`");
+    %property(RowLabelSize, GetRowLabelSize, SetRowLabelSize, doc="See `GetRowLabelSize` and `SetRowLabelSize`");
+    %property(RowMinimalAcceptableHeight, GetRowMinimalAcceptableHeight, SetRowMinimalAcceptableHeight, doc="See `GetRowMinimalAcceptableHeight` and `SetRowMinimalAcceptableHeight`");
+    %property(ScrollLineX, GetScrollLineX, SetScrollLineX, doc="See `GetScrollLineX` and `SetScrollLineX`");
+    %property(ScrollLineY, GetScrollLineY, SetScrollLineY, doc="See `GetScrollLineY` and `SetScrollLineY`");
+    %property(SelectedCells, GetSelectedCells, doc="See `GetSelectedCells`");
+    %property(SelectedCols, GetSelectedCols, doc="See `GetSelectedCols`");
+    %property(SelectedRows, GetSelectedRows, doc="See `GetSelectedRows`");
+    %property(SelectionBackground, GetSelectionBackground, SetSelectionBackground, doc="See `GetSelectionBackground` and `SetSelectionBackground`");
+    %property(SelectionBlockBottomRight, GetSelectionBlockBottomRight, doc="See `GetSelectionBlockBottomRight`");
+    %property(SelectionBlockTopLeft, GetSelectionBlockTopLeft, doc="See `GetSelectionBlockTopLeft`");
+    %property(SelectionForeground, GetSelectionForeground, SetSelectionForeground, doc="See `GetSelectionForeground` and `SetSelectionForeground`");
+    %property(SelectionMode, GetSelectionMode, SetSelectionMode, doc="See `GetSelectionMode` and `SetSelectionMode`");
+    %property(Table, GetTable, SetTable, doc="See `GetTable` and `SetTable`");
+    
 };
 
 
@@ -2036,7 +2152,11 @@ public:
     bool        MetaDown();
     bool        ShiftDown();
     bool        AltDown();
+    bool        CmdDown();
 
+    %property(Col, GetCol, doc="See `GetCol`");
+    %property(Position, GetPosition, doc="See `GetPosition`");
+    %property(Row, GetRow, doc="See `GetRow`");
 };
 
 
@@ -2053,7 +2173,10 @@ public:
     bool        MetaDown();
     bool        ShiftDown();
     bool        AltDown();
+    bool        CmdDown();
 
+    %property(Position, GetPosition, doc="See `GetPosition`");
+    %property(RowOrCol, GetRowOrCol, doc="See `GetRowOrCol`");
 };
 
 
@@ -2078,6 +2201,14 @@ public:
     bool        MetaDown();
     bool        ShiftDown();
     bool        AltDown();
+    bool        CmdDown();
+
+    %property(BottomRightCoords, GetBottomRightCoords, doc="See `GetBottomRightCoords`");
+    %property(BottomRow, GetBottomRow, doc="See `GetBottomRow`");
+    %property(LeftCol, GetLeftCol, doc="See `GetLeftCol`");
+    %property(RightCol, GetRightCol, doc="See `GetRightCol`");
+    %property(TopLeftCoords, GetTopLeftCoords, doc="See `GetTopLeftCoords`");
+    %property(TopRow, GetTopRow, doc="See `GetTopRow`");
 };
 
 
@@ -2092,6 +2223,10 @@ public:
     void SetRow(int row);
     void SetCol(int col);
     void SetControl(wxControl* ctrl);
+
+    %property(Col, GetCol, SetCol, doc="See `GetCol` and `SetCol`");
+    %property(Control, GetControl, SetControl, doc="See `GetControl` and `SetControl`");
+    %property(Row, GetRow, SetRow, doc="See `GetRow` and `SetRow`");
 };