1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/generic/gridsel.h
3 // Purpose: wxGridSelection
8 // Copyright: (c) Stefan Neis
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
14 #if defined(wxUSE_NEW_GRID) && (wxUSE_NEW_GRID)
16 #ifndef __WXGRIDSEL_H__
17 #define __WXGRIDSEL_H__
20 #pragma interface "gridsel.h"
25 class WXDLLEXPORT wxGridSelection
{
27 wxGridSelection( wxGrid
* grid
, wxGrid
::wxGridSelectionModes sel
=
28 wxGrid
::wxGridSelectCells
);
30 bool IsInSelection ( int row
, int col
);
31 void SelectRow( int row
, bool addToSelected
= FALSE
);
32 void SelectCol( int col
, bool addToSelected
= FALSE
);
33 void SelectBlock( int topRow
, int leftCol
, int bottomRow
, int rightCol
);
34 void SelectCell( int row
, int col
);
35 void ToggleCellSelection( int row
, int col
);
36 void ClearSelection();
38 void UpdateRows( size_t pos
, int numRows
);
39 void UpdateCols( size_t pos
, int numCols
);
42 int BlockContain( int topRow1
, int leftCol1
,
43 int bottomRow1
, int rightCol1
,
44 int topRow2
, int leftCol2
,
45 int bottomRow2
, int rightCol2
);
46 // returns 1, if Block1 contains Block2,
47 // -1, if Block2 contains Block1,
50 int BlockContainsCell( int topRow
, int leftCol
,
51 int bottomRow
, int rightCol
,
53 // returns 1, if Block contains Cell,
56 return ( topRow
<= row
&& row
<= bottomRow
&&
57 leftCol
<= col
&& col
<= rightCol
);
60 wxGridCellCoordsArray m_cellSelection
;
61 wxGridCellCoordsArray m_blockSelectionTopLeft
;
62 wxGridCellCoordsArray m_blockSelectionBottomRight
;
63 wxArrayInt m_rowSelection
;
64 wxArrayInt m_colSelection
;
67 wxGrid
::wxGridSelectionModes m_selectionMode
;
70 #endif // #ifdef __WXGRIDSEL_H__
71 #endif // #ifndef wxUSE_NEW_GRID