#define WXGRID_DEFAULT_COL_WIDTH 80
#define WXGRID_DEFAULT_COL_LABEL_HEIGHT 32
#define WXGRID_DEFAULT_ROW_LABEL_WIDTH 82
-#define WXGRID_LABEL_EDGE_ZONE 5
+#define WXGRID_LABEL_EDGE_ZONE 2
#define WXGRID_MIN_ROW_HEIGHT 15
#define WXGRID_MIN_COL_WIDTH 15
#define WXGRID_DEFAULT_SCROLLBAR_WIDTH 16
// You must override these functions in a derived table class
//
- virtual long GetNumberRows() = 0;
- virtual long GetNumberCols() = 0;
+ virtual int GetNumberRows() = 0;
+ virtual int GetNumberCols() = 0;
virtual bool IsEmptyCell( int row, int col ) = 0;
virtual wxString GetValue( int row, int col ) = 0;
virtual void SetValue( int row, int col, const wxString& value ) = 0;
// these are pure virtual in wxGridTableBase
//
- long GetNumberRows();
- long GetNumberCols();
+ int GetNumberRows();
+ int GetNumberCols();
wxString GetValue( int row, int col );
void SetValue( int row, int col, const wxString& s );
bool IsEmptyCell( int row, int col );
// default copy ctor is ok
- long GetRow() const { return m_row; }
- void SetRow( long n ) { m_row = n; }
- long GetCol() const { return m_col; }
- void SetCol( long n ) { m_col = n; }
- void Set( long row, long col ) { m_row = row; m_col = col; }
+ int GetRow() const { return m_row; }
+ void SetRow( int n ) { m_row = n; }
+ int GetCol() const { return m_col; }
+ void SetCol( int n ) { m_col = n; }
+ void Set( int row, int col ) { m_row = row; m_col = col; }
wxGridCellCoords& operator=( const wxGridCellCoords& other )
{
}
private:
- long m_row;
- long m_col;
+ int m_row;
+ int m_col;
};
wxGrid::wxGridSelectionModes selmode =
wxGrid::wxGridSelectCells );
+ void SetSelectionMode(wxGrid::wxGridSelectionModes selmode);
// ------ grid dimensions
//
void DoEndDragResizeCol();
wxGridTableBase * GetTable() const { return m_table; }
- bool SetTable( wxGridTableBase *table, bool takeOwnership=FALSE );
+ bool SetTable( wxGridTableBase *table, bool takeOwnership=FALSE,
+ wxGrid::wxGridSelectionModes selmode =
+ wxGrid::wxGridSelectCells );
void ClearGrid();
bool InsertRows( int pos = 0, int numRows = 1, bool updateLabels=TRUE );
void SetGridCursor( int row, int col )
{ SetCurrentCell( wxGridCellCoords(row, col) ); }
- bool MoveCursorUp();
- bool MoveCursorDown();
- bool MoveCursorLeft();
- bool MoveCursorRight();
+ bool MoveCursorUp( bool expandSelection );
+ bool MoveCursorDown( bool expandSelection );
+ bool MoveCursorLeft( bool expandSelection );
+ bool MoveCursorRight( bool expandSelection );
bool MovePageDown();
bool MovePageUp();
- bool MoveCursorUpBlock();
- bool MoveCursorDownBlock();
- bool MoveCursorLeftBlock();
- bool MoveCursorRightBlock();
+ bool MoveCursorUpBlock( bool expandSelection );
+ bool MoveCursorDownBlock( bool expandSelection );
+ bool MoveCursorLeftBlock( bool expandSelection );
+ bool MoveCursorRightBlock( bool expandSelection );
// ------ label and gridline formatting
int GetScrollPosX() { return 0; }
int GetScrollPosY() { return 0; }
- void SetScrollX( int x ) { }
- void SetScrollY( int y ) { }
+ void SetScrollX( int WXUNUSED(x) ) { }
+ void SetScrollY( int WXUNUSED(y) ) { }
void SetColumnWidth( int col, int width )
{ SetColSize( col, width ); }
void SetEditable( bool edit = TRUE ) { EnableEditing( edit ); }
bool GetEditInPlace() { return IsCellEditControlEnabled(); }
- void SetEditInPlace(bool edit = TRUE) { }
+ void SetEditInPlace(bool WXUNUSED(edit) = TRUE) { }
void SetCellAlignment( int align, int row, int col)
{ SetCellAlignment(row, col, align, wxCENTER); }
void SetCellBitmap(wxBitmap *WXUNUSED(bitmap), int WXUNUSED(row), int WXUNUSED(col))
{ }
void SetDividerPen(const wxPen& WXUNUSED(pen)) { }
- wxPen& GetDividerPen() const { return wxNullPen; }
+ wxPen& GetDividerPen() const;
void OnActivate(bool WXUNUSED(active)) {}
// ******** End of compatibility functions **********
virtual wxSize DoGetBestSize() const;
bool m_created;
- bool m_displayed;
wxGridWindow *m_gridWin;
wxGridRowLabelWindow *m_rowLabelWin;
wxGridCellCoords m_selectingTopLeft;
wxGridCellCoords m_selectingBottomRight;
+ wxGridCellCoords m_selectingKeyboard;
wxGridSelection *m_selection;
wxColour m_selectionBackground;
wxColour m_selectionForeground;
public:
wxGridEvent()
: wxNotifyEvent(), m_row(-1), m_col(-1), m_x(-1), m_y(-1),
- m_control(0), m_meta(0), m_shift(0), m_alt(0)
+ m_selecting(0), m_control(0), m_meta(0), m_shift(0), m_alt(0)
{
}
wxGridEvent(int id, wxEventType type, wxObject* obj,
- int row=-1, int col=-1, int x=-1, int y=-1,
+ int row=-1, int col=-1, int x=-1, int y=-1, bool sel = TRUE,
bool control=FALSE, bool shift=FALSE, bool alt=FALSE, bool meta=FALSE);
virtual int GetRow() { return m_row; }
virtual int GetCol() { return m_col; }
wxPoint GetPosition() { return wxPoint( m_x, m_y ); }
+ bool Selecting() { return m_selecting; }
bool ControlDown() { return m_control; }
bool MetaDown() { return m_meta; }
bool ShiftDown() { return m_shift; }
int m_col;
int m_x;
int m_y;
+ bool m_selecting;
bool m_control;
bool m_meta;
bool m_shift;
{
m_topLeft = wxGridNoCellCoords;
m_bottomRight = wxGridNoCellCoords;
+ m_selecting = FALSE;
m_control = FALSE;
m_meta = FALSE;
m_shift = FALSE;
wxGridRangeSelectEvent(int id, wxEventType type, wxObject* obj,
const wxGridCellCoords& topLeft,
const wxGridCellCoords& bottomRight,
+ bool sel = TRUE,
bool control=FALSE, bool shift=FALSE,
bool alt=FALSE, bool meta=FALSE);
int GetBottomRow() { return m_bottomRight.GetRow(); }
int GetLeftCol() { return m_topLeft.GetCol(); }
int GetRightCol() { return m_bottomRight.GetCol(); }
+ bool Selecting() { return m_selecting; }
bool ControlDown() { return m_control; }
bool MetaDown() { return m_meta; }
bool ShiftDown() { return m_shift; }
protected:
wxGridCellCoords m_topLeft;
wxGridCellCoords m_bottomRight;
+ bool m_selecting;
bool m_control;
bool m_meta;
bool m_shift;