]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/grid/griddemo.h
Make wxMSW wxSpinCtrl "not enough space" messages more helpful.
[wxWidgets.git] / samples / grid / griddemo.h
index 3fa91e0ce50ac126c9af37db574de78235b4449f..749b06784fc246fade71039c722098eb1602b544 100644 (file)
@@ -1,21 +1,17 @@
 /////////////////////////////////////////////////////////////////////////////
 // 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
@@ -28,9 +24,10 @@ public:
 class GridFrame : public wxFrame
 {
     wxGrid         *grid;
+#if wxUSE_LOG
     wxTextCtrl     *logWin;
     wxLogTextCtrl  *logger;
-    wxString       logBuf;
+#endif // wxUSE_LOG
 
     void SetDefaults();
 
@@ -39,7 +36,14 @@ class GridFrame : public wxFrame
     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& );
@@ -64,6 +68,7 @@ class GridFrame : public wxFrame
     void SelectCells( wxCommandEvent& );
     void SelectRows( wxCommandEvent& );
     void SelectCols( wxCommandEvent& );
+    void SelectRowsOrCols( wxCommandEvent& );
 
     void DeselectCell(wxCommandEvent& event);
     void DeselectCol(wxCommandEvent& event);
@@ -75,13 +80,30 @@ class GridFrame : public wxFrame
     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&);
@@ -89,6 +111,8 @@ class GridFrame : public wxFrame
     void OnSetHighlightWidth(wxCommandEvent&);
     void OnSetROHighlightWidth(wxCommandEvent&);
 
+    void OnGridCustomTab(wxGridEvent& event);
+
 public:
     GridFrame();
     ~GridFrame();
@@ -97,7 +121,9 @@ public:
     void About( wxCommandEvent& );
     void OnVTable( wxCommandEvent& );
     void OnBugsTable( wxCommandEvent& );
-    void OnSmallGrid( wxCommandEvent& );
+    void OnTabularTable( wxCommandEvent& );
+    void OnGridRender( wxCommandEvent& event );
+    void OnRenderPaint( wxPaintEvent& event );
 
     enum
     {
@@ -106,10 +132,16 @@ public:
         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,
@@ -120,6 +152,13 @@ public:
         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,
@@ -130,12 +169,12 @@ public:
         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,
@@ -145,18 +184,40 @@ public:
         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()
 };
 
@@ -189,7 +250,7 @@ public:
     }
 
     void SetValue( int , int , const wxString&  ) { /* ignore */ }
-    bool IsEmptyCell( int , int  ) { return FALSE; }
+    bool IsEmptyCell( int , int  ) { return false; }
 
 private:
     long m_sizeGrid;
@@ -229,7 +290,7 @@ private:
 class BugsGridTable : public wxGridTableBase
 {
 public:
-    BugsGridTable();
+    BugsGridTable() { }
 
     virtual int GetNumberRows();
     virtual int GetNumberCols();