| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 | 
							- /////////////////////////////////////////////////////////////////////////////
 
- // Name:        wx/generic/gridsel.h
 
- // Purpose:     wxGridSelection
 
- // Author:      Stefan Neis
 
- // Modified by:
 
- // Created:     20/02/2000
 
- // Copyright:   (c) Stefan Neis
 
- // Licence:     wxWindows licence
 
- /////////////////////////////////////////////////////////////////////////////
 
- #ifndef _WX_GENERIC_GRIDSEL_H_
 
- #define _WX_GENERIC_GRIDSEL_H_
 
- #include "wx/defs.h"
 
- #if wxUSE_GRID
 
- #include "wx/grid.h"
 
- class WXDLLIMPEXP_ADV wxGridSelection
 
- {
 
- public:
 
-     wxGridSelection(wxGrid *grid,
 
-                     wxGrid::wxGridSelectionModes sel = wxGrid::wxGridSelectCells);
 
-     bool IsSelection();
 
-     bool IsInSelection(int row, int col);
 
-     bool IsInSelection(const wxGridCellCoords& coords)
 
-     {
 
-         return IsInSelection(coords.GetRow(), coords.GetCol());
 
-     }
 
-     void SetSelectionMode(wxGrid::wxGridSelectionModes selmode);
 
-     wxGrid::wxGridSelectionModes GetSelectionMode() { return m_selectionMode; }
 
-     void SelectRow(int row, const wxKeyboardState& kbd = wxKeyboardState());
 
-     void SelectCol(int col, const wxKeyboardState& kbd = wxKeyboardState());
 
-     void SelectBlock(int topRow, int leftCol,
 
-                      int bottomRow, int rightCol,
 
-                      const wxKeyboardState& kbd = wxKeyboardState(),
 
-                      bool sendEvent = true );
 
-     void SelectBlock(const wxGridCellCoords& topLeft,
 
-                      const wxGridCellCoords& bottomRight,
 
-                      const wxKeyboardState& kbd = wxKeyboardState(),
 
-                      bool sendEvent = true )
 
-     {
 
-         SelectBlock(topLeft.GetRow(), topLeft.GetCol(),
 
-                     bottomRight.GetRow(), bottomRight.GetCol(),
 
-                     kbd, sendEvent);
 
-     }
 
-     void SelectCell(int row, int col,
 
-                     const wxKeyboardState& kbd = wxKeyboardState(),
 
-                     bool sendEvent = true);
 
-     void SelectCell(const wxGridCellCoords& coords,
 
-                     const wxKeyboardState& kbd = wxKeyboardState(),
 
-                     bool sendEvent = true)
 
-     {
 
-         SelectCell(coords.GetRow(), coords.GetCol(), kbd, sendEvent);
 
-     }
 
-     void ToggleCellSelection(int row, int col,
 
-                              const wxKeyboardState& kbd = wxKeyboardState());
 
-     void ToggleCellSelection(const wxGridCellCoords& coords,
 
-                              const wxKeyboardState& kbd = wxKeyboardState())
 
-     {
 
-         ToggleCellSelection(coords.GetRow(), coords.GetCol(), kbd);
 
-     }
 
-     void ClearSelection();
 
-     void UpdateRows( size_t pos, int numRows );
 
-     void UpdateCols( size_t pos, int numCols );
 
- private:
 
-     int BlockContain( int topRow1, int leftCol1,
 
-                        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 )
 
-       // returns 1, if Block contains Cell,
 
-       //         0, otherwise
 
-     {
 
-         return ( topRow <= row && row <= bottomRow &&
 
-                  leftCol <= col && col <= rightCol );
 
-     }
 
-     void SelectBlockNoEvent(int topRow, int leftCol,
 
-                             int bottomRow, int rightCol)
 
-     {
 
-         SelectBlock(topRow, leftCol, bottomRow, rightCol,
 
-                     wxKeyboardState(), false);
 
-     }
 
-     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;
 
-     wxDECLARE_NO_COPY_CLASS(wxGridSelection);
 
- };
 
- #endif  // wxUSE_GRID
 
- #endif  // _WX_GENERIC_GRIDSEL_H_
 
 
  |