/////////////////////////////////////////////////////////////////////////////
// Name: griddemo.h
-// Purpose: Grid control wxWindows sample
+// Purpose: Grid control wxWidgets sample
// Author: Michael Bedward
// Modified by:
// RCS-ID: $Id$
// Copyright: (c) Michael Bedward, Julian Smart
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef griddemo_h
#define griddemo_h
-#if !defined(wxUSE_NEW_GRID) || !(wxUSE_NEW_GRID)
- #error "This sample requires the new wxGrid class."
-#endif
-
class wxGrid;
class GridApp : public wxApp
class GridFrame : public wxFrame
{
wxGrid *grid;
+#if wxUSE_LOG
wxTextCtrl *logWin;
wxLogTextCtrl *logger;
- wxString logBuf;
+#endif // wxUSE_LOG
void SetDefaults();
void ToggleEditing( wxCommandEvent& );
void ToggleRowSizing( wxCommandEvent& );
void ToggleColSizing( wxCommandEvent& );
+ void ToggleColMoving( wxCommandEvent& );
void ToggleGridSizing( wxCommandEvent& );
+ void ToggleGridDragCell ( wxCommandEvent& );
+ void SetNativeColHeader ( wxCommandEvent& );
+ void SetCustomColHeader( wxCommandEvent& );
+ void SetDefaultColHeader( wxCommandEvent& );
+ void SetTabBehaviour( wxCommandEvent& );
+ void SetTabCustomHandler( wxCommandEvent& );
void ToggleGridLines( wxCommandEvent& );
void AutoSizeCols( wxCommandEvent& );
void CellOverflow( wxCommandEvent& );
void SelectCells( wxCommandEvent& );
void SelectRows( wxCommandEvent& );
void SelectCols( wxCommandEvent& );
+ void SelectRowsOrCols( wxCommandEvent& );
void DeselectCell(wxCommandEvent& event);
void DeselectCol(wxCommandEvent& event);
void SelectAll(wxCommandEvent& event);
void OnAddToSelectToggle(wxCommandEvent& event);
+ void AutoSizeRow(wxCommandEvent& event);
+ void AutoSizeCol(wxCommandEvent& event);
+ void AutoSizeRowLabel(wxCommandEvent& event);
+ void AutoSizeColLabel(wxCommandEvent& event);
+ void AutoSizeLabelsCol(wxCommandEvent& event);
+ void AutoSizeLabelsRow(wxCommandEvent& event);
+ void AutoSizeTable(wxCommandEvent& event);
+
+ void HideCol(wxCommandEvent& event);
+ void ShowCol(wxCommandEvent& event);
+ void HideRow(wxCommandEvent& event);
+ void ShowRow(wxCommandEvent& event);
+
+
void OnLabelLeftClick( wxGridEvent& );
void OnCellLeftClick( wxGridEvent& );
void OnRowSize( wxGridSizeEvent& );
void OnColSize( wxGridSizeEvent& );
+ void OnColAutoSize( wxGridSizeEvent& );
void OnSelectCell( wxGridEvent& );
void OnRangeSelected( wxGridRangeSelectEvent& );
+ void OnCellValueChanging( wxGridEvent& );
void OnCellValueChanged( wxGridEvent& );
+ void OnCellBeginDrag( wxGridEvent& );
void OnEditorShown(wxGridEvent&);
void OnEditorHidden(wxGridEvent&);
void OnSetHighlightWidth(wxCommandEvent&);
void OnSetROHighlightWidth(wxCommandEvent&);
+ void OnGridCustomTab(wxGridEvent& event);
+
public:
GridFrame();
~GridFrame();
void About( wxCommandEvent& );
void OnVTable( wxCommandEvent& );
void OnBugsTable( wxCommandEvent& );
- void OnSmallGrid( wxCommandEvent& );
+ void OnTabularTable( wxCommandEvent& );
+ void OnGridRender( wxCommandEvent& event );
+ void OnRenderPaint( wxPaintEvent& event );
enum
{
ID_TOGGLEEDIT,
ID_TOGGLEROWSIZING,
ID_TOGGLECOLSIZING,
+ ID_TOGGLECOLMOVING,
ID_TOGGLEGRIDSIZING,
+ ID_TOGGLEGRIDDRAGCELL,
ID_TOGGLEGRIDLINES,
ID_AUTOSIZECOLS,
ID_CELLOVERFLOW,
+ ID_HIDECOL,
+ ID_SHOWCOL,
+ ID_HIDEROW,
+ ID_SHOWROW,
ID_RESIZECELL,
ID_SETLABELCOLOUR,
ID_SETLABELTEXTCOLOUR,
ID_COLLABELALIGN,
ID_COLLABELHORIZALIGN,
ID_COLLABELVERTALIGN,
+ ID_COLDEFAULTHEADER,
+ ID_COLNATIVEHEADER,
+ ID_COLCUSTOMHEADER,
+ ID_TAB_STOP,
+ ID_TAB_WRAP,
+ ID_TAB_LEAVE,
+ ID_TAB_CUSTOM,
ID_GRIDLINECOLOUR,
ID_INSERTROW,
ID_INSERTCOL,
ID_SELCELLS,
ID_SELROWS,
ID_SELCOLS,
+ ID_SELROWSORCOLS,
ID_SET_CELL_FG_COLOUR,
ID_SET_CELL_BG_COLOUR,
- ID_ABOUT,
ID_VTABLE,
ID_BUGS_TABLE,
- ID_SMALL_GRID,
+ ID_TABULAR_TABLE,
ID_SELECT_UNSELECT,
ID_SELECT_ALL,
ID_SELECT_ROW,
ID_DESELECT_ROW,
ID_DESELECT_COL,
ID_DESELECT_CELL,
+ ID_SIZE_ROW,
+ ID_SIZE_COL,
+ ID_SIZE_ROW_LABEL,
+ ID_SIZE_COL_LABEL,
+ ID_SIZE_LABELS_COL,
+ ID_SIZE_LABELS_ROW,
+ ID_SIZE_GRID,
ID_SET_HIGHLIGHT_WIDTH,
ID_SET_RO_HIGHLIGHT_WIDTH,
- ID_TESTFUNC
+ ID_TESTFUNC,
+
+ ID_RENDER_ROW_LABEL,
+ ID_RENDER_COL_LABEL,
+ ID_RENDER_GRID_LINES,
+ ID_RENDER_GRID_BORDER,
+ ID_RENDER_SELECT_HLIGHT,
+ ID_RENDER_LOMETRIC,
+ ID_RENDER_COORDS,
+ ID_RENDER_ZOOM,
+ ID_RENDER_MARGIN,
+ ID_RENDER_DEFAULT_SIZE,
};
+#if wxUSE_LOG
wxLog *m_logOld;
+#endif // wxUSE_LOG
// add the cells to selection when using commands from select menu?
bool m_addToSel;
+ wxBitmap m_gridBitmap;
+
DECLARE_EVENT_TABLE()
};
}
void SetValue( int , int , const wxString& ) { /* ignore */ }
- bool IsEmptyCell( int , int ) { return FALSE; }
+ bool IsEmptyCell( int , int ) { return false; }
private:
long m_sizeGrid;
class BugsGridTable : public wxGridTableBase
{
public:
- BugsGridTable();
+ BugsGridTable() { }
virtual int GetNumberRows();
virtual int GetNumberCols();