X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/294f6bcbdb75d27785ee70472e63e53b4dc98e6b..333e57d578e9e0fb6555452b5a53698ffd85ee69:/include/wx/generic/gridsel.h?ds=sidebyside diff --git a/include/wx/generic/gridsel.h b/include/wx/generic/gridsel.h index e30cbbac6b..fff21a3684 100644 --- a/include/wx/generic/gridsel.h +++ b/include/wx/generic/gridsel.h @@ -9,33 +9,43 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#include "wx/defs.h" - -#if defined(wxUSE_NEW_GRID) && (wxUSE_NEW_GRID) +#ifndef _WX_GENERIC_GRIDSEL_H_ +#define _WX_GENERIC_GRIDSEL_H_ -#ifndef __WXGRIDSEL_H__ -#define __WXGRIDSEL_H__ +#include "wx/defs.h" -#ifdef __GNUG__ -#pragma interface "gridsel.h" -#endif +#if wxUSE_GRID #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 +53,36 @@ 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; + wxGrid::wxGridSelectionModes m_selectionMode; + + friend class WXDLLIMPEXP_FWD_ADV wxGrid; - wxGrid *m_grid; - wxGridSelectionModes m_selectionMode; + DECLARE_NO_COPY_CLASS(wxGridSelection) }; -#endif // #ifdef __WXGRIDSEL_H__ -#endif // #ifndef wxUSE_NEW_GRID +#endif // wxUSE_GRID +#endif // _WX_GENERIC_GRIDSEL_H_