void ToggleRowLabels( wxCommandEvent& );
void ToggleColLabels( wxCommandEvent& );
void ToggleEditing( wxCommandEvent& );
+ void ToggleRowSizing( wxCommandEvent& );
+ void ToggleColSizing( wxCommandEvent& );
+ void ToggleGridSizing( wxCommandEvent& );
+ void ToggleGridLines( wxCommandEvent& );
+ void AutoSizeCols( wxCommandEvent& );
void SetLabelColour( wxCommandEvent& );
void SetLabelTextColour( wxCommandEvent& );
void SetRowLabelHorizAlignment( wxCommandEvent& );
void DeleteSelectedRows( wxCommandEvent& );
void DeleteSelectedCols( wxCommandEvent& );
void ClearGrid( wxCommandEvent& );
+ void SelectCells( wxCommandEvent& );
+ void SelectRows( wxCommandEvent& );
+ void SelectCols( wxCommandEvent& );
+
+ void DeselectCell(wxCommandEvent& event);
+ void DeselectCol(wxCommandEvent& event);
+ void DeselectRow(wxCommandEvent& event);
+ void DeselectAll(wxCommandEvent& event);
+ void SelectCell(wxCommandEvent& event);
+ void SelectCol(wxCommandEvent& event);
+ void SelectRow(wxCommandEvent& event);
+ void SelectAll(wxCommandEvent& event);
+ void OnAddToSelectToggle(wxCommandEvent& event);
void OnLabelLeftClick( wxGridEvent& );
void OnCellLeftClick( wxGridEvent& );
void OnEditorShown(wxGridEvent&);
void OnEditorHidden(wxGridEvent&);
+ void OnSetHighlightWidth(wxCommandEvent&);
+ void OnSetROHighlightWidth(wxCommandEvent&);
+
public:
GridFrame();
~GridFrame();
ID_TOGGLEROWLABELS = 100,
ID_TOGGLECOLLABELS,
ID_TOGGLEEDIT,
+ ID_TOGGLEROWSIZING,
+ ID_TOGGLECOLSIZING,
+ ID_TOGGLEGRIDSIZING,
+ ID_TOGGLEGRIDLINES,
+ ID_AUTOSIZECOLS,
ID_SETLABELCOLOUR,
ID_SETLABELTEXTCOLOUR,
ID_ROWLABELALIGN,
ID_DELETEROW,
ID_DELETECOL,
ID_CLEARGRID,
+ ID_CHANGESEL,
+ ID_SELCELLS,
+ ID_SELROWS,
+ ID_SELCOLS,
ID_SET_CELL_FG_COLOUR,
ID_SET_CELL_BG_COLOUR,
ID_ABOUT,
ID_VTABLE,
ID_BUGS_TABLE,
+ ID_SELECT_UNSELECT,
+ ID_SELECT_ALL,
+ ID_SELECT_ROW,
+ ID_SELECT_COL,
+ ID_SELECT_CELL,
+ ID_DESELECT_ALL,
+ ID_DESELECT_ROW,
+ ID_DESELECT_COL,
+ ID_DESELECT_CELL,
+
+ ID_SET_HIGHLIGHT_WIDTH,
+ ID_SET_RO_HIGHLIGHT_WIDTH,
ID_TESTFUNC
};
+ wxLog *m_logOld;
+
+ // add the cells to selection when using commands from select menu?
+ bool m_addToSel;
+
DECLARE_EVENT_TABLE()
};
// memory
// ----------------------------------------------------------------------------
-class SimpleTable : public wxGridStringTable {
-public:
- SimpleTable( int numRows, int numCols )
- : wxGridStringTable( numRows, numCols ) {}
-
- // override this to fake a row as all bools
- wxString GetTypeName( int row, int col )
- {
- if (row == 8)
- return wxT("bool");
- else if (row == 9 && col == 1)
- return wxT("unknown type"); // to test fallback
- else
- return wxGridStringTable::GetTypeName(row, col);
- }
-
-};
-
class BigGridTable : public wxGridTableBase
{
public:
BigGridTable(long sizeGrid) { m_sizeGrid = sizeGrid; }
- long GetNumberRows() { return m_sizeGrid; }
- long GetNumberCols() { return m_sizeGrid; }
+ int GetNumberRows() { return m_sizeGrid; }
+ int GetNumberCols() { return m_sizeGrid; }
wxString GetValue( int row, int col )
{
- return wxString::Format("(%d, %d)", row, col);
+ return wxString::Format(wxT("(%d, %d)"), row, col);
}
void SetValue( int , int , const wxString& ) { /* ignore */ }
};
// ----------------------------------------------------------------------------
-// another, more realistic, grid example
+// an example of custom attr provider: this one makes all odd rows appear grey
// ----------------------------------------------------------------------------
+class MyGridCellAttrProvider : public wxGridCellAttrProvider
+{
+public:
+ MyGridCellAttrProvider();
+ virtual ~MyGridCellAttrProvider();
+
+ virtual wxGridCellAttr *GetAttr(int row, int col,
+ wxGridCellAttr::wxAttrKind kind) const;
+
+private:
+ wxGridCellAttr *m_attrForOddRows;
+};
+
+// ----------------------------------------------------------------------------
+// another, more realistic, grid example: shows typed columns and more
+// ----------------------------------------------------------------------------
+
+class BugsGridTable : public wxGridTableBase
+{
+public:
+ BugsGridTable();
+
+ virtual int GetNumberRows();
+ virtual int GetNumberCols();
+ virtual bool IsEmptyCell( int row, int col );
+ virtual wxString GetValue( int row, int col );
+ virtual void SetValue( int row, int col, const wxString& value );
+
+ virtual wxString GetColLabelValue( int col );
+
+ virtual wxString GetTypeName( int row, int col );
+ virtual bool CanGetValueAs( int row, int col, const wxString& typeName );
+ virtual bool CanSetValueAs( int row, int col, const wxString& typeName );
+
+ virtual long GetValueAsLong( int row, int col );
+ virtual bool GetValueAsBool( int row, int col );
+
+ virtual void SetValueAsLong( int row, int col, long value );
+ virtual void SetValueAsBool( int row, int col, bool value );
+};
+
class BugsGridFrame : public wxFrame
{
public:
BugsGridFrame();
};
+
#endif // griddemo_h