]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/grid.h
wxWindow no longer emits any scroll events after
[wxWidgets.git] / include / wx / generic / grid.h
index 7102bf12b52b7dc1b888a24b48848f7316e2958e..10636a77784cc02da7db182368cd0908ff0581e2 100644 (file)
@@ -347,6 +347,7 @@ private:
 
     void OnMouseEvent( wxMouseEvent& event );
     void OnKeyDown( wxKeyEvent& event );
+    void OnPaint( wxPaintEvent& event );
 
     DECLARE_DYNAMIC_CLASS(wxGridCornerLabelWindow)
     DECLARE_EVENT_TABLE()
@@ -391,7 +392,14 @@ class WXDLLEXPORT wxGrid : public wxScrolledWindow
 {
 public:
     wxGrid()
-        { Create(); }
+        { 
+            m_table          = (wxGridTableBase *) NULL;
+            m_gridWin        = (wxGridWindow *) NULL;
+            m_rowLabelWin    = (wxGridRowLabelWindow *) NULL;
+            m_colLabelWin    = (wxGridColLabelWindow *) NULL;
+            m_cornerLabelWin = (wxGridCornerLabelWindow *) NULL;
+            m_cellEditCtrl   = (wxWindow *) NULL;
+        }
 
     wxGrid( wxWindow *parent,
             wxWindowID id,
@@ -414,6 +422,7 @@ public:
     // ------ display update functions
     //
     void CalcRowLabelsExposed( wxRegion& reg );
+
     void CalcColLabelsExposed( wxRegion& reg );
     void CalcCellsExposed( wxRegion& reg );
 
@@ -447,6 +456,7 @@ public:
 
     void DrawRowLabels( wxDC& dc );
     void DrawRowLabel( wxDC& dc, int row );
+
     void DrawColLabels( wxDC& dc );
     void DrawColLabel( wxDC& dc, int col );
 
@@ -590,10 +600,12 @@ public:
     void     SetDefaultRowSize( int height, bool resizeExistingRows = FALSE );
     void     SetRowSize( int row, int height );
     void     SetDefaultColSize( int width, bool resizeExistingCols = FALSE );
+
     void     SetColSize( int col, int width );
     void     SetDefaultCellBackgroundColour( const wxColour& );
     void     SetCellBackgroundColour( int row, int col, const wxColour& );
     void     SetDefaultCellTextColour( const wxColour& );
+
     void     SetCellTextColour( int row, int col, const wxColour& );
     void     SetDefaultCellFont( const wxFont& );
     void     SetCellFont( int row, int col, const wxFont& );
@@ -666,11 +678,22 @@ public:
             *rightCol  = m_selectedBottomRight.GetCol();
         }
 
+
+    // This function returns the rectangle that encloses the block of cells
+    // limited by TopLeft and BottomRight cell in device coords and clipped
+    //  to the client size of the grid window.
+    //
+    wxRect BlockToDeviceRect( const wxGridCellCoords & topLeft,
+                             const wxGridCellCoords & bottomRight );
+
     // This function returns the rectangle that encloses the selected cells
     // in device coords and clipped to the client size of the grid window.
     //
-    wxRect SelectionToDeviceRect();
-
+    wxRect SelectionToDeviceRect()
+        {
+           return BlockToDeviceRect( m_selectedTopLeft,
+                                     m_selectedBottomRight );
+       }
 
 
     // ------ For compatibility with previous wxGrid only...
@@ -808,6 +831,7 @@ public:
     bool GetEditable() { return IsEditable(); }
     void SetEditable( bool edit = TRUE ) { EnableEditing( edit ); }
     bool GetEditInPlace() { return IsCellEditControlEnabled(); }
+
     void SetEditInPlace(bool edit = TRUE) { }
 
     void SetCellAlignment( int align, int row, int col)
@@ -951,9 +975,6 @@ protected:
     bool SetModelValues();
 
 
-    ////////////////////// Public section ////////////////////
-
-
     DECLARE_DYNAMIC_CLASS( wxGrid )
     DECLARE_EVENT_TABLE()
 };
@@ -1126,3 +1147,4 @@ const wxEventType EVT_GRID_CHANGE_SEL_LABEL = wxEVT_FIRST + 1578;
 #endif  // #ifndef __WXGRID_H__
 
 #endif  // ifndef wxUSE_NEW_GRID
+