| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321 | 
							- /////////////////////////////////////////////////////////////////////////////
 
- // Name:        griddemo.h
 
- // Purpose:     Grid control wxWidgets sample
 
- // Author:      Michael Bedward
 
- // Modified by:
 
- // Copyright:   (c) Michael Bedward, Julian Smart
 
- // Licence:     wxWindows licence
 
- /////////////////////////////////////////////////////////////////////////////
 
- #ifndef griddemo_h
 
- #define griddemo_h
 
- class wxGrid;
 
- class GridApp : public wxApp
 
- {
 
- public:
 
-     bool OnInit();
 
- };
 
- class GridFrame : public wxFrame
 
- {
 
-     wxGrid         *grid;
 
- #if wxUSE_LOG
 
-     wxTextCtrl     *logWin;
 
-     wxLogTextCtrl  *logger;
 
- #endif // wxUSE_LOG
 
-     void SetDefaults();
 
-     void ToggleRowLabels( wxCommandEvent& );
 
-     void ToggleColLabels( wxCommandEvent& );
 
-     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 ResizeCell( wxCommandEvent& );
 
-     void SetLabelColour( wxCommandEvent& );
 
-     void SetLabelTextColour( wxCommandEvent& );
 
-     void SetLabelFont(wxCommandEvent &);
 
-     void SetRowLabelHorizAlignment( wxCommandEvent& );
 
-     void SetRowLabelVertAlignment( wxCommandEvent& );
 
-     void SetColLabelHorizAlignment( wxCommandEvent& );
 
-     void SetColLabelVertAlignment( wxCommandEvent& );
 
-     void SetGridLineColour( wxCommandEvent& );
 
-     void SetCellFgColour(wxCommandEvent &);
 
-     void SetCellBgColour(wxCommandEvent &);
 
-     void InsertRow( wxCommandEvent& );
 
-     void InsertCol( wxCommandEvent& );
 
-     void DeleteSelectedRows( wxCommandEvent& );
 
-     void DeleteSelectedCols( wxCommandEvent& );
 
-     void ClearGrid( wxCommandEvent& );
 
-     void SelectCells( wxCommandEvent& );
 
-     void SelectRows( wxCommandEvent& );
 
-     void SelectCols( wxCommandEvent& );
 
-     void SelectRowsOrCols( 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 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 OnQuit( wxCommandEvent& );
 
-     void About( wxCommandEvent& );
 
-     void OnVTable( wxCommandEvent& );
 
-     void OnBugsTable( wxCommandEvent& );
 
-     void OnTabularTable( wxCommandEvent& );
 
-     void OnGridRender( wxCommandEvent& event );
 
-     void OnRenderPaint( wxPaintEvent& event );
 
-     enum
 
-     {
 
-         ID_TOGGLEROWLABELS = 100,
 
-         ID_TOGGLECOLLABELS,
 
-         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_SETLABEL_FONT,
 
-         ID_ROWLABELALIGN,
 
-         ID_ROWLABELHORIZALIGN,
 
-         ID_ROWLABELVERTALIGN,
 
-         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_DELETEROW,
 
-         ID_DELETECOL,
 
-         ID_CLEARGRID,
 
-         ID_CHANGESEL,
 
-         ID_SELCELLS,
 
-         ID_SELROWS,
 
-         ID_SELCOLS,
 
-         ID_SELROWSORCOLS,
 
-         ID_SET_CELL_FG_COLOUR,
 
-         ID_SET_CELL_BG_COLOUR,
 
-         ID_VTABLE,
 
-         ID_BUGS_TABLE,
 
-         ID_TABULAR_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_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_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;
 
-     wxDECLARE_EVENT_TABLE();
 
- };
 
- class MyGridCellRenderer : public wxGridCellStringRenderer
 
- {
 
- public:
 
-     virtual void Draw(wxGrid& grid,
 
-                       wxGridCellAttr& attr,
 
-                       wxDC& dc,
 
-                       const wxRect& rect,
 
-                       int row, int col,
 
-                       bool isSelected);
 
- };
 
- // ----------------------------------------------------------------------------
 
- // demonstration of virtual table which doesn't store all of its data in
 
- // memory
 
- // ----------------------------------------------------------------------------
 
- class BigGridTable : public wxGridTableBase
 
- {
 
- public:
 
-     BigGridTable(long sizeGrid) { m_sizeGrid = sizeGrid; }
 
-     int GetNumberRows() { return m_sizeGrid; }
 
-     int GetNumberCols() { return m_sizeGrid; }
 
-     wxString GetValue( int row, int col )
 
-     {
 
-         return wxString::Format(wxT("(%d, %d)"), row, col);
 
-     }
 
-     void SetValue( int , int , const wxString&  ) { /* ignore */ }
 
-     bool IsEmptyCell( int , int  ) { return false; }
 
- private:
 
-     long m_sizeGrid;
 
- };
 
- class BigGridFrame : public wxFrame
 
- {
 
- public:
 
-     BigGridFrame(long sizeGrid);
 
- private:
 
-     wxGrid*       m_grid;
 
-     BigGridTable* m_table;
 
- };
 
- // ----------------------------------------------------------------------------
 
- // 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
 
 
  |