]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/newgrid/griddemo.h
Moved the cleanup code to an EVT_WINDOW_DESTROY handler.
[wxWidgets.git] / samples / newgrid / griddemo.h
index 5d48a2c58c21e6e93c9de38bf179a6f7feab49e9..7ef57a40d5069fca976ccf9345604c704a122586 100644 (file)
@@ -40,8 +40,11 @@ class GridFrame : public wxFrame
     void ToggleRowSizing( wxCommandEvent& );
     void ToggleColSizing( wxCommandEvent& );
     void ToggleGridSizing( wxCommandEvent& );
+    void ToggleGridLines( wxCommandEvent& );
+    void AutoSizeCols( wxCommandEvent& );
     void SetLabelColour( wxCommandEvent& );
     void SetLabelTextColour( wxCommandEvent& );
+    void SetLabelFont(wxCommandEvent &);
     void SetRowLabelHorizAlignment( wxCommandEvent& );
     void SetRowLabelVertAlignment( wxCommandEvent& );
     void SetColLabelHorizAlignment( wxCommandEvent& );
@@ -56,6 +59,19 @@ class GridFrame : public wxFrame
     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& );
@@ -68,6 +84,9 @@ class GridFrame : public wxFrame
     void OnEditorShown(wxGridEvent&);
     void OnEditorHidden(wxGridEvent&);
 
+    void OnSetHighlightWidth(wxCommandEvent&);
+    void OnSetROHighlightWidth(wxCommandEvent&);
+
 public:
     GridFrame();
     ~GridFrame();
@@ -76,6 +95,7 @@ public:
     void About( wxCommandEvent& );
     void OnVTable( wxCommandEvent& );
     void OnBugsTable( wxCommandEvent& );
+    void OnSmallGrid( wxCommandEvent& );
 
     enum
     {
@@ -85,8 +105,11 @@ public:
         ID_TOGGLEROWSIZING,
         ID_TOGGLECOLSIZING,
         ID_TOGGLEGRIDSIZING,
+        ID_TOGGLEGRIDLINES,
+        ID_AUTOSIZECOLS,
         ID_SETLABELCOLOUR,
         ID_SETLABELTEXTCOLOUR,
+        ID_SETLABEL_FONT,
         ID_ROWLABELALIGN,
         ID_ROWLABELHORIZALIGN,
         ID_ROWLABELVERTALIGN,
@@ -99,15 +122,37 @@ public:
         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_SMALL_GRID,
+        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()
 };
 
@@ -132,11 +177,11 @@ 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 */ }
@@ -156,6 +201,23 @@ private:
     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
 // ----------------------------------------------------------------------------
@@ -165,8 +227,8 @@ class BugsGridTable : public wxGridTableBase
 public:
     BugsGridTable();
 
-    virtual long GetNumberRows();
-    virtual long GetNumberCols();
+    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 );
@@ -190,5 +252,6 @@ public:
     BugsGridFrame();
 };
 
+
 #endif // griddemo_h