]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/grid.h
Chnaged includes to work without precompiled headers
[wxWidgets.git] / include / wx / generic / grid.h
index eb60563e1b314af6ee126cfb4759afa1e2361c10..5f707fb54b334b03d45a48622d01bb73a2810e25 100644 (file)
@@ -48,7 +48,7 @@
 #define WXGRID_DEFAULT_COL_WIDTH              80
 #define WXGRID_DEFAULT_COL_LABEL_HEIGHT       32
 #define WXGRID_DEFAULT_ROW_LABEL_WIDTH        82
-#define WXGRID_LABEL_EDGE_ZONE                 5
+#define WXGRID_LABEL_EDGE_ZONE                 2
 #define WXGRID_MIN_ROW_HEIGHT                 15
 #define WXGRID_MIN_COL_WIDTH                  15
 #define WXGRID_DEFAULT_SCROLLBAR_WIDTH        16
@@ -699,8 +699,8 @@ public:
 
     // You must override these functions in a derived table class
     //
-    virtual long GetNumberRows() = 0;
-    virtual long GetNumberCols() = 0;
+    virtual int GetNumberRows() = 0;
+    virtual int GetNumberCols() = 0;
     virtual bool IsEmptyCell( int row, int col ) = 0;
     virtual wxString GetValue( int row, int col ) = 0;
     virtual void SetValue( int row, int col, const wxString& value ) = 0;
@@ -843,8 +843,8 @@ public:
 
     // these are pure virtual in wxGridTableBase
     //
-    long GetNumberRows();
-    long GetNumberCols();
+    int GetNumberRows();
+    int GetNumberCols();
     wxString GetValue( int row, int col );
     void SetValue( int row, int col, const wxString& s );
     bool IsEmptyCell( int row, int col );
@@ -894,11 +894,11 @@ public:
 
     // default copy ctor is ok
 
-    long GetRow() const { return m_row; }
-    void SetRow( long n ) { m_row = n; }
-    long GetCol() const { return m_col; }
-    void SetCol( long n ) { m_col = n; }
-    void Set( long row, long col ) { m_row = row; m_col = col; }
+    int GetRow() const { return m_row; }
+    void SetRow( int n ) { m_row = n; }
+    int GetCol() const { return m_col; }
+    void SetCol( int n ) { m_col = n; }
+    void Set( int row, int col ) { m_row = row; m_col = col; }
 
     wxGridCellCoords& operator=( const wxGridCellCoords& other )
     {
@@ -926,8 +926,8 @@ public:
     }
 
 private:
-    long m_row;
-    long m_col;
+    int m_row;
+    int m_col;
 };
 
 
@@ -969,6 +969,7 @@ public:
                      wxGrid::wxGridSelectionModes selmode =
                      wxGrid::wxGridSelectCells );
 
+    void SetSelectionMode(wxGrid::wxGridSelectionModes selmode);
 
     // ------ grid dimensions
     //
@@ -996,7 +997,9 @@ public:
     void DoEndDragResizeCol();
 
     wxGridTableBase * GetTable() const { return m_table; }
-    bool SetTable( wxGridTableBase *table, bool takeOwnership=FALSE );
+    bool SetTable( wxGridTableBase *table, bool takeOwnership=FALSE,
+                   wxGrid::wxGridSelectionModes selmode =
+                   wxGrid::wxGridSelectCells );
 
     void ClearGrid();
     bool InsertRows( int pos = 0, int numRows = 1, bool updateLabels=TRUE );
@@ -1102,16 +1105,16 @@ public:
     void SetGridCursor( int row, int col )
         { SetCurrentCell( wxGridCellCoords(row, col) ); }
 
-    bool MoveCursorUp();
-    bool MoveCursorDown();
-    bool MoveCursorLeft();
-    bool MoveCursorRight();
+    bool MoveCursorUp( bool expandSelection );
+    bool MoveCursorDown( bool expandSelection );
+    bool MoveCursorLeft( bool expandSelection );
+    bool MoveCursorRight( bool expandSelection );
     bool MovePageDown();
     bool MovePageUp();
-    bool MoveCursorUpBlock();
-    bool MoveCursorDownBlock();
-    bool MoveCursorLeftBlock();
-    bool MoveCursorRightBlock();
+    bool MoveCursorUpBlock( bool expandSelection );
+    bool MoveCursorDownBlock( bool expandSelection );
+    bool MoveCursorLeftBlock( bool expandSelection );
+    bool MoveCursorRightBlock( bool expandSelection );
 
 
     // ------ label and gridline formatting
@@ -1364,8 +1367,8 @@ public:
     int GetScrollPosX() { return 0; }
     int GetScrollPosY() { return 0; }
 
-    void SetScrollX( int x ) { }
-    void SetScrollY( int y ) { }
+    void SetScrollX( int WXUNUSED(x) ) { }
+    void SetScrollY( int WXUNUSED(y) ) { }
 
     void SetColumnWidth( int col, int width )
         { SetColSize( col, width ); }
@@ -1467,7 +1470,7 @@ public:
     void SetEditable( bool edit = TRUE ) { EnableEditing( edit ); }
     bool GetEditInPlace() { return IsCellEditControlEnabled(); }
 
-    void SetEditInPlace(bool edit = TRUE) { }
+    void SetEditInPlace(bool WXUNUSED(edit) = TRUE) { }
 
     void SetCellAlignment( int align, int row, int col)
     { SetCellAlignment(row, col, align, wxCENTER); }
@@ -1475,7 +1478,7 @@ public:
     void SetCellBitmap(wxBitmap *WXUNUSED(bitmap), int WXUNUSED(row), int WXUNUSED(col))
     { }
     void SetDividerPen(const wxPen& WXUNUSED(pen)) { }
-    wxPen& GetDividerPen() const { return wxNullPen; }
+    wxPen& GetDividerPen() const;
     void OnActivate(bool WXUNUSED(active)) {}
 
     // ******** End of compatibility functions **********
@@ -1499,7 +1502,6 @@ protected:
     virtual wxSize DoGetBestSize() const;
 
     bool m_created;
-    bool m_displayed;
 
     wxGridWindow             *m_gridWin;
     wxGridRowLabelWindow     *m_rowLabelWin;
@@ -1521,6 +1523,7 @@ protected:
 
     wxGridCellCoords m_selectingTopLeft;
     wxGridCellCoords m_selectingBottomRight;
+    wxGridCellCoords m_selectingKeyboard;
     wxGridSelection  *m_selection;
     wxColour    m_selectionBackground;
     wxColour    m_selectionForeground;
@@ -1729,17 +1732,18 @@ class WXDLLEXPORT wxGridEvent : public wxNotifyEvent
 public:
     wxGridEvent()
         : wxNotifyEvent(), m_row(-1), m_col(-1), m_x(-1), m_y(-1),
-        m_control(0), m_meta(0), m_shift(0), m_alt(0)
+        m_selecting(0), m_control(0), m_meta(0), m_shift(0), m_alt(0)
         {
         }
 
     wxGridEvent(int id, wxEventType type, wxObject* obj,
-                int row=-1, int col=-1, int x=-1, int y=-1,
+                int row=-1, int col=-1, int x=-1, int y=-1, bool sel = TRUE,
                 bool control=FALSE, bool shift=FALSE, bool alt=FALSE, bool meta=FALSE);
 
     virtual int GetRow() { return m_row; }
     virtual int GetCol() { return m_col; }
     wxPoint     GetPosition() { return wxPoint( m_x, m_y ); }
+    bool        Selecting() { return m_selecting; }
     bool        ControlDown() { return m_control; }
     bool        MetaDown() { return m_meta; }
     bool        ShiftDown() { return m_shift; }
@@ -1750,6 +1754,7 @@ protected:
     int         m_col;
     int         m_x;
     int         m_y;
+    bool        m_selecting;
     bool        m_control;
     bool        m_meta;
     bool        m_shift;
@@ -1799,6 +1804,7 @@ public:
         {
             m_topLeft     = wxGridNoCellCoords;
             m_bottomRight = wxGridNoCellCoords;
+            m_selecting   = FALSE;
             m_control     = FALSE;
             m_meta        = FALSE;
             m_shift       = FALSE;
@@ -1808,6 +1814,7 @@ public:
     wxGridRangeSelectEvent(int id, wxEventType type, wxObject* obj,
                            const wxGridCellCoords& topLeft,
                            const wxGridCellCoords& bottomRight,
+                           bool sel = TRUE,
                            bool control=FALSE, bool shift=FALSE,
                            bool alt=FALSE, bool meta=FALSE);
 
@@ -1817,6 +1824,7 @@ public:
     int         GetBottomRow() { return m_bottomRight.GetRow(); }
     int         GetLeftCol()   { return m_topLeft.GetCol(); }
     int         GetRightCol()  { return m_bottomRight.GetCol(); }
+    bool        Selecting() { return m_selecting; }
     bool        ControlDown()  { return m_control; }
     bool        MetaDown()     { return m_meta; }
     bool        ShiftDown()    { return m_shift; }
@@ -1825,6 +1833,7 @@ public:
 protected:
     wxGridCellCoords  m_topLeft;
     wxGridCellCoords  m_bottomRight;
+    bool              m_selecting;
     bool              m_control;
     bool              m_meta;
     bool              m_shift;