X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/294f6bcbdb75d27785ee70472e63e53b4dc98e6b..eba99da4c0563e6508761272a1e1f1b791d0af6b:/include/wx/generic/gridsel.h

diff --git a/include/wx/generic/gridsel.h b/include/wx/generic/gridsel.h
index e30cbbac6b..49dc14acf6 100644
--- a/include/wx/generic/gridsel.h
+++ b/include/wx/generic/gridsel.h
@@ -11,31 +11,44 @@
 
 #include "wx/defs.h"
 
-#if defined(wxUSE_NEW_GRID) && (wxUSE_NEW_GRID)
+#if wxUSE_GRID
 
 #ifndef __WXGRIDSEL_H__
 #define __WXGRIDSEL_H__
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
 #pragma interface "gridsel.h"
 #endif
 
 #include "wx/grid.h"
 
-class WXDLLEXPORT wxGridSelection{
+class WXDLLIMPEXP_ADV wxGridSelection{
 public:
-    enum wxGridSelectionModes {wxGridSelectCells,
-			       wxGridSelectRows,
-			       wxGridSelectColumns};
-    wxGridSelection( wxGrid * grid, wxGridSelection::wxGridSelectionModes sel =
-		     wxGridSelection::wxGridSelectCells );
+    wxGridSelection( wxGrid * grid, wxGrid::wxGridSelectionModes sel =
+                     wxGrid::wxGridSelectCells );
     bool IsSelection();
     bool IsInSelection ( int row, int col );
-    void SelectRow( int row, bool addToSelected = FALSE );
-    void SelectCol( int col, bool addToSelected = FALSE );
-    void SelectBlock( int topRow, int leftCol, int bottomRow, int rightCol );
-    void SelectCell( int row, int col);
-    void ToggleCellSelection( int row, int col);
+    void SetSelectionMode(wxGrid::wxGridSelectionModes selmode);
+    wxGrid::wxGridSelectionModes GetSelectionMode() { return m_selectionMode; }
+    void SelectRow( int row,
+                    bool ControlDown = false,  bool ShiftDown = false,
+                    bool AltDown = false, bool MetaDown = false );
+    void SelectCol( int col,
+                    bool ControlDown = false,  bool ShiftDown = false,
+                    bool AltDown = false, bool MetaDown = false );
+    void SelectBlock( int topRow, int leftCol,
+                      int bottomRow, int rightCol,
+                      bool ControlDown = false,  bool ShiftDown = false,
+                      bool AltDown = false, bool MetaDown = false,
+                      bool sendEvent = true );
+    void SelectCell( int row, int col,
+                     bool ControlDown = false,  bool ShiftDown = false,
+                     bool AltDown = false, bool MetaDown = false,
+                     bool sendEvent = true );
+    void ToggleCellSelection( int row, int col,
+                              bool ControlDown = false,
+                              bool ShiftDown = false,
+                              bool AltDown = false, bool MetaDown = false );
     void ClearSelection();
 
     void UpdateRows( size_t pos, int numRows );
@@ -43,32 +56,37 @@ public:
 
 private:
     int BlockContain( int topRow1, int leftCol1,
-		       int bottomRow1, int rightCol1,
-		       int topRow2, int leftCol2,
-		       int bottomRow2, int rightCol2 );
+                       int bottomRow1, int rightCol1,
+                       int topRow2, int leftCol2,
+                       int bottomRow2, int rightCol2 );
       // returns 1, if Block1 contains Block2,
       //        -1, if Block2 contains Block1,
       //         0, otherwise
 
     int BlockContainsCell( int topRow, int leftCol,
-			   int bottomRow, int rightCol,
-			   int row, int col )
+                           int bottomRow, int rightCol,
+                           int row, int col )
       // returns 1, if Block contains Cell,
       //         0, otherwise
     {
         return ( topRow <= row && row <= bottomRow &&
-		 leftCol <= col && col <= rightCol );
+                 leftCol <= col && col <= rightCol );
     }
 
-    wxGridCellCoordsArray	m_cellSelection;
-    wxGridCellCoordsArray	m_blockSelectionTopLeft;
-    wxGridCellCoordsArray	m_blockSelectionBottomRight;
-    wxArrayInt			m_rowSelection;
-    wxArrayInt 			m_colSelection;
+    wxGridCellCoordsArray               m_cellSelection;
+    wxGridCellCoordsArray               m_blockSelectionTopLeft;
+    wxGridCellCoordsArray               m_blockSelectionBottomRight;
+    wxArrayInt                          m_rowSelection;
+    wxArrayInt                          m_colSelection;
 
-    wxGrid			*m_grid;
-    wxGridSelectionModes	m_selectionMode;
+    wxGrid                              *m_grid;
+    wxGrid::wxGridSelectionModes        m_selectionMode;
+
+    friend class WXDLLIMPEXP_ADV wxGrid;
+
+    DECLARE_NO_COPY_CLASS(wxGridSelection)
 };
 
-#endif	// #ifdef __WXGRIDSEL_H__
-#endif	// #ifndef wxUSE_NEW_GRID
+#endif  // #ifdef __WXGRIDSEL_H__
+#endif  // #ifndef wxUSE_GRID
+