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 bool ControlDown
= FALSE
, bool ShiftDown
= FALSE
,
34 bool AltDown
= FALSE
, bool MetaDown
= FALSE
);
35 void SelectCol( int col
, bool addToSelected
= FALSE
,
36 bool ControlDown
= FALSE
, bool ShiftDown
= FALSE
,
37 bool AltDown
= FALSE
, bool MetaDown
= FALSE
);
38 void SelectBlock( int topRow
, int leftCol
,
39 int bottomRow
, int rightCol
,
40 bool ControlDown
= FALSE
, bool ShiftDown
= FALSE
,
41 bool AltDown
= FALSE
, bool MetaDown
= FALSE
,
42 bool sendEvent
= TRUE
);
43 void SelectCell( int row
, int col
,
44 bool ControlDown
= FALSE
, bool ShiftDown
= FALSE
,
45 bool AltDown
= FALSE
, bool MetaDown
= FALSE
,
46 bool sendEvent
= TRUE
);
47 void ToggleCellSelection( int row
, int col
,
48 bool ControlDown
= FALSE
,
49 bool ShiftDown
= FALSE
,
50 bool AltDown
= FALSE
, bool MetaDown
= FALSE
);
51 void ClearSelection();
53 void UpdateRows( size_t pos
, int numRows
);
54 void UpdateCols( size_t pos
, int numCols
);
57 int BlockContain( int topRow1
, int leftCol1
,
58 int bottomRow1
, int rightCol1
,
59 int topRow2
, int leftCol2
,
60 int bottomRow2
, int rightCol2
);
61 // returns 1, if Block1 contains Block2,
62 // -1, if Block2 contains Block1,
65 int BlockContainsCell( int topRow
, int leftCol
,
66 int bottomRow
, int rightCol
,
68 // returns 1, if Block contains Cell,
71 return ( topRow
<= row
&& row
<= bottomRow
&&
72 leftCol
<= col
&& col
<= rightCol
);
75 wxGridCellCoordsArray m_cellSelection
;
76 wxGridCellCoordsArray m_blockSelectionTopLeft
;
77 wxGridCellCoordsArray m_blockSelectionBottomRight
;
78 wxArrayInt m_rowSelection
;
79 wxArrayInt m_colSelection
;
82 wxGrid::wxGridSelectionModes m_selectionMode
;
85 #endif // #ifdef __WXGRIDSEL_H__
86 #endif // #ifndef wxUSE_NEW_GRID