From: Vadim Zeitlin Date: Mon, 21 Feb 2000 17:37:07 +0000 (+0000) Subject: make it possible to specify the virtual table size (this makes it easier to X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/1618dca721f74bbbcbca4ab05ea9a136b551e93a?ds=sidebyside make it possible to specify the virtual table size (this makes it easier to see that the memory taken by the grid doesn't depend on it with top) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6182 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/samples/newgrid/griddemo.cpp b/samples/newgrid/griddemo.cpp index 8521a16b1e..0b31be5e19 100644 --- a/samples/newgrid/griddemo.cpp +++ b/samples/newgrid/griddemo.cpp @@ -612,8 +612,18 @@ void GridFrame::OnQuit( wxCommandEvent& WXUNUSED(ev) ) void GridFrame::OnVTable(wxCommandEvent& ) { - BigGridFrame* win = new BigGridFrame(); - win->Show(TRUE); + static long s_sizeGrid = 10000; + + s_sizeGrid = wxGetNumberFromUser("Size of the table to create", + "Size: ", + "wxGridDemo question", + s_sizeGrid, + 0, 32000, this); + if ( s_sizeGrid != -1 ) + { + BigGridFrame* win = new BigGridFrame(s_sizeGrid); + win->Show(TRUE); + } } // ---------------------------------------------------------------------------- @@ -642,11 +652,11 @@ void MyGridCellRenderer::Draw(wxGrid& grid, // BigGridFrame and BigGridTable: Sample of a non-standard table // ---------------------------------------------------------------------------- -BigGridFrame::BigGridFrame() - : wxFrame(NULL, -1, "Plugin Virtual Table", wxDefaultPosition, - wxSize(500, 450)) +BigGridFrame::BigGridFrame(long sizeGrid) + : wxFrame(NULL, -1, "Plugin Virtual Table", + wxDefaultPosition, wxSize(500, 450)) { m_grid = new wxGrid(this, -1, wxDefaultPosition, wxDefaultSize); - m_table = new BigGridTable; + m_table = new BigGridTable(sizeGrid); m_grid->SetTable(m_table, TRUE); } diff --git a/samples/newgrid/griddemo.h b/samples/newgrid/griddemo.h index fe66d9e1fa..dc227bfd47 100644 --- a/samples/newgrid/griddemo.h +++ b/samples/newgrid/griddemo.h @@ -114,25 +114,35 @@ public: bool isSelected); }; +// ---------------------------------------------------------------------------- +// demonstration of virtual table which doesn't store all of its data in +// memory +// ---------------------------------------------------------------------------- -class BigGridTable : public wxGridTableBase { +class BigGridTable : public wxGridTableBase +{ public: - long GetNumberRows() { return 10000; } - long GetNumberCols() { return 10000; } + BigGridTable(long sizeGrid) { m_sizeGrid = sizeGrid; } + + long GetNumberRows() { return m_sizeGrid; } + long GetNumberCols() { return m_sizeGrid; } - wxString GetValue( int row, int col ) { - wxString str; - str.Printf("(%d, %d)", row, col); - return str; + wxString GetValue( int row, int col ) + { + return wxString::Format("(%d, %d)", row, col); } - void SetValue( int , int , const wxString& ) {} + void SetValue( int , int , const wxString& ) { /* ignore */ } bool IsEmptyCell( int , int ) { return FALSE; } + +private: + long m_sizeGrid; }; -class BigGridFrame : public wxFrame { +class BigGridFrame : public wxFrame +{ public: - BigGridFrame(); + BigGridFrame(long sizeGrid); private: wxGrid* m_grid; @@ -140,5 +150,5 @@ private: }; -#endif +#endif // griddemo_h