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 SetSelectionMode(wxGrid
::wxGridSelectionModes selmode
);
32 void SelectRow( int row
, bool addToSelected
= FALSE
);
33 void SelectCol( int col
, bool addToSelected
= FALSE
);
34 void SelectBlock( int topRow
, int leftCol
, int bottomRow
, int rightCol
);
35 void SelectCell( int row
, int col
);
36 void ToggleCellSelection( int row
, int col
);
37 void ClearSelection();
39 void UpdateRows( size_t pos
, int numRows
);
40 void UpdateCols( size_t pos
, int numCols
);
43 int BlockContain( int topRow1
, int leftCol1
,
44 int bottomRow1
, int rightCol1
,
45 int topRow2
, int leftCol2
,
46 int bottomRow2
, int rightCol2
);
47 // returns 1, if Block1 contains Block2,
48 // -1, if Block2 contains Block1,
51 int BlockContainsCell( int topRow
, int leftCol
,
52 int bottomRow
, int rightCol
,
54 // returns 1, if Block contains Cell,
57 return ( topRow
<= row
&& row
<= bottomRow
&&
58 leftCol
<= col
&& col
<= rightCol
);
61 wxGridCellCoordsArray m_cellSelection
;
62 wxGridCellCoordsArray m_blockSelectionTopLeft
;
63 wxGridCellCoordsArray m_blockSelectionBottomRight
;
64 wxArrayInt m_rowSelection
;
65 wxArrayInt m_colSelection
;
68 wxGrid
::wxGridSelectionModes m_selectionMode
;
71 #endif // #ifdef __WXGRIDSEL_H__
72 #endif // #ifndef wxUSE_NEW_GRID