Sample program for new wxGrid classes.
Define wxUSE_NEW_GRID as 1 in setup.h to use the new wxGrid. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3839 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
		
							
								
								
									
										23
									
								
								samples/newgrid/Makefile.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								samples/newgrid/Makefile.in
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,23 @@ | |||||||
|  | # | ||||||
|  | # File:		makefile.unx | ||||||
|  | # Author:	Julian Smart | ||||||
|  | # Created:	1998 | ||||||
|  | # Updated:	 | ||||||
|  | # Copyright:	(c) 1998 Julian Smart | ||||||
|  | # | ||||||
|  | # "%W% %G%" | ||||||
|  | # | ||||||
|  | # Makefile for new wxGrid example (UNIX). | ||||||
|  |  | ||||||
|  | top_srcdir = @top_srcdir@ | ||||||
|  | top_builddir = ../.. | ||||||
|  | program_dir = samples/newgrid | ||||||
|  |  | ||||||
|  | DATAFILES = | ||||||
|  |  | ||||||
|  | PROGRAM=griddemo | ||||||
|  |  | ||||||
|  | OBJECTS=$(PROGRAM).o | ||||||
|  |  | ||||||
|  | include ../../src/makeprog.env | ||||||
|  |  | ||||||
							
								
								
									
										482
									
								
								samples/newgrid/griddemo.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										482
									
								
								samples/newgrid/griddemo.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,482 @@ | |||||||
|  | // griddemo.cpp | ||||||
|  | // | ||||||
|  | //  grid test program | ||||||
|  |  | ||||||
|  |  | ||||||
|  | #ifdef __GNUG__ | ||||||
|  | #pragma implementation | ||||||
|  | #pragma interface | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | // For compilers that support precompilation, includes "wx/wx.h". | ||||||
|  | #include "wx/wxprec.h" | ||||||
|  |  | ||||||
|  | #ifdef __BORLANDC__ | ||||||
|  | #pragma hdrstop | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | #ifndef WX_PRECOMP | ||||||
|  | #include "wx/wx.h" | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | #include "wx/colordlg.h" | ||||||
|  |  | ||||||
|  | #include "wx/grid.h" | ||||||
|  |  | ||||||
|  | #include "griddemo.h" | ||||||
|  |  | ||||||
|  | IMPLEMENT_APP( GridApp ) | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | bool GridApp::OnInit() | ||||||
|  | { | ||||||
|  |     GridFrame *frame = new GridFrame; | ||||||
|  |     frame->Show( TRUE ); | ||||||
|  |      | ||||||
|  |     return TRUE; | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | BEGIN_EVENT_TABLE( GridFrame, wxFrame ) | ||||||
|  |     EVT_MENU( ID_TOGGLEROWLABELS,  GridFrame::ToggleRowLabels ) | ||||||
|  |     EVT_MENU( ID_TOGGLECOLLABELS,  GridFrame::ToggleColLabels )     | ||||||
|  |     EVT_MENU( ID_TOGGLECONTROLPANEL, GridFrame::ToggleControlPanel ) | ||||||
|  |     EVT_MENU( ID_TOGGLECELLEDIT, GridFrame::ToggleCellEdit ) | ||||||
|  |     EVT_MENU( ID_SETLABELCOLOUR, GridFrame::SetLabelColour )     | ||||||
|  |     EVT_MENU( ID_SETLABELTEXTCOLOUR, GridFrame::SetLabelTextColour )     | ||||||
|  |     EVT_MENU( ID_ROWLABELHORIZALIGN, GridFrame::SetRowLabelHorizAlignment )     | ||||||
|  |     EVT_MENU( ID_ROWLABELVERTALIGN, GridFrame::SetRowLabelVertAlignment )     | ||||||
|  |     EVT_MENU( ID_COLLABELHORIZALIGN, GridFrame::SetColLabelHorizAlignment )     | ||||||
|  |     EVT_MENU( ID_COLLABELVERTALIGN, GridFrame::SetColLabelVertAlignment )     | ||||||
|  |     EVT_MENU( ID_GRIDLINECOLOUR, GridFrame::SetGridLineColour ) | ||||||
|  |     EVT_MENU( ID_CLEARGRID, GridFrame::ClearGrid ) | ||||||
|  |     EVT_MENU( ID_ABOUT, GridFrame::About ) | ||||||
|  |     EVT_MENU( wxID_EXIT, GridFrame::OnQuit ) | ||||||
|  |  | ||||||
|  |     EVT_WXGRID_LABEL_LEFT_CLICK( GridFrame::OnLabelLeftClick ) | ||||||
|  |     EVT_WXGRID_CELL_LEFT_CLICK( GridFrame::OnCellLeftClick ) | ||||||
|  |     EVT_WXGRID_ROW_SIZE( GridFrame::OnRowSize ) | ||||||
|  |     EVT_WXGRID_COL_SIZE( GridFrame::OnColSize ) | ||||||
|  |     EVT_WXGRID_RANGE_SELECT( GridFrame::OnRangeSelected ) | ||||||
|  |     EVT_WXGRID_CELL_CHANGE( GridFrame::OnCellValueChanged ) | ||||||
|  | END_EVENT_TABLE() | ||||||
|  |  | ||||||
|  |      | ||||||
|  | GridFrame::GridFrame() | ||||||
|  |         : wxFrame( (wxFrame *)NULL, -1, "wxWindows grid class demo", | ||||||
|  |                    wxDefaultPosition, | ||||||
|  |                    wxDefaultSize ) | ||||||
|  | { | ||||||
|  |     int gridW = 600, gridH = 300; | ||||||
|  |     int logW = gridW, logH = 80; | ||||||
|  |      | ||||||
|  |     wxMenu *fileMenu = new wxMenu; | ||||||
|  |     fileMenu->Append( wxID_EXIT, "E&xit" ); | ||||||
|  |      | ||||||
|  |     wxMenu *viewMenu = new wxMenu; | ||||||
|  |     viewMenu->Append( ID_TOGGLEROWLABELS,  "&Row labels", "", TRUE ); | ||||||
|  |     viewMenu->Append( ID_TOGGLECOLLABELS,  "&Col labels", "", TRUE ); | ||||||
|  |     viewMenu->Append( ID_TOGGLECONTROLPANEL,  "To&p controls", "", TRUE ); | ||||||
|  |     viewMenu->Append( ID_TOGGLECELLEDIT,  "&In-place editing", "", TRUE ); | ||||||
|  |     viewMenu->Append( ID_SETLABELCOLOUR, "Set &label colour" ); | ||||||
|  |     viewMenu->Append( ID_SETLABELTEXTCOLOUR, "Set label &text colour" ); | ||||||
|  |      | ||||||
|  |     wxMenu *rowLabelMenu = new wxMenu; | ||||||
|  |  | ||||||
|  |     viewMenu->Append( ID_ROWLABELALIGN, "R&ow label alignment", | ||||||
|  |                       rowLabelMenu, | ||||||
|  |                       "Change alignment of row labels" ); | ||||||
|  |  | ||||||
|  |     rowLabelMenu->Append( ID_ROWLABELHORIZALIGN, "&Horizontal" ); | ||||||
|  |     rowLabelMenu->Append( ID_ROWLABELVERTALIGN, "&Vertical" );     | ||||||
|  |      | ||||||
|  |     wxMenu *colLabelMenu = new wxMenu; | ||||||
|  |  | ||||||
|  |     viewMenu->Append( ID_COLLABELALIGN, "Col l&abel alignment", | ||||||
|  |                       colLabelMenu, | ||||||
|  |                       "Change alignment of col labels" ); | ||||||
|  |  | ||||||
|  |     colLabelMenu->Append( ID_COLLABELHORIZALIGN, "&Horizontal" ); | ||||||
|  |     colLabelMenu->Append( ID_COLLABELVERTALIGN, "&Vertical" ); | ||||||
|  |  | ||||||
|  |     viewMenu->Append( ID_GRIDLINECOLOUR, "&Grid line colour" ); | ||||||
|  |     viewMenu->Append( ID_CLEARGRID, "Cl&ear grid cell contents" ); | ||||||
|  |  | ||||||
|  |     wxMenu *helpMenu = new wxMenu; | ||||||
|  |     helpMenu->Append( ID_ABOUT, "&About wxGrid demo" ); | ||||||
|  |      | ||||||
|  |     wxMenuBar *menuBar = new wxMenuBar; | ||||||
|  |     menuBar->Append( fileMenu, "&File" ); | ||||||
|  |     menuBar->Append( viewMenu, "&View" ); | ||||||
|  |     menuBar->Append( helpMenu, "&Help" ); | ||||||
|  |  | ||||||
|  |     SetMenuBar( menuBar ); | ||||||
|  |  | ||||||
|  |     grid = new wxGrid( this, | ||||||
|  |                        -1, | ||||||
|  |                        wxPoint( 0, 0 ), | ||||||
|  |                        wxSize( 400, 300 ) ); | ||||||
|  |              | ||||||
|  |     logWin = new wxTextCtrl( this, | ||||||
|  |                              -1, | ||||||
|  |                              wxEmptyString, | ||||||
|  |                              wxPoint( 0, gridH + 20 ), | ||||||
|  |                              wxSize( logW, logH ), | ||||||
|  |                              wxTE_MULTILINE ); | ||||||
|  |                               | ||||||
|  |     logger = new wxLogTextCtrl( logWin ); | ||||||
|  |     logger->SetActiveTarget( logger ); | ||||||
|  |     logger->SetTimestamp( NULL ); | ||||||
|  |  | ||||||
|  |     // this will create a grid and, by default, an associated grid | ||||||
|  |     // table for string data | ||||||
|  |     // | ||||||
|  |     grid->CreateGrid( 100, 100 ); | ||||||
|  |  | ||||||
|  |     grid->EnableTopEditControl( TRUE ); | ||||||
|  |      | ||||||
|  |     grid->SetRowSize( 0, 60 ); | ||||||
|  |     grid->SetCellValue( 0, 0, "Ctrl+Home\nwill go to\nthis cell" ); | ||||||
|  |      | ||||||
|  |     grid->SetCellValue( 0, 1, "Blah" ); | ||||||
|  |     grid->SetCellValue( 0, 2, "Blah" ); | ||||||
|  |  | ||||||
|  |     grid->SetCellValue( 0, 5, "Press\nCtrl+arrow\nto skip over\ncells" ); | ||||||
|  |  | ||||||
|  |     grid->SetRowSize( 99, 60 ); | ||||||
|  |     grid->SetCellValue( 99, 99, "Ctrl+End\nwill go to\nthis cell" ); | ||||||
|  |      | ||||||
|  |     wxBoxSizer *topSizer = new wxBoxSizer( wxVERTICAL ); | ||||||
|  |     topSizer->Add( grid, | ||||||
|  |                    1, | ||||||
|  |                    wxEXPAND ); | ||||||
|  |                     | ||||||
|  |     topSizer->Add( logWin, | ||||||
|  |                    0,  | ||||||
|  |                    wxEXPAND ); | ||||||
|  |                     | ||||||
|  |     SetAutoLayout( TRUE ); | ||||||
|  |     SetSizer( topSizer ); | ||||||
|  |      | ||||||
|  |     topSizer->Fit( this ); | ||||||
|  |     topSizer->SetSizeHints( this ); | ||||||
|  |      | ||||||
|  |     Centre(); | ||||||
|  |     SetDefaults(); | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | GridFrame::~GridFrame() | ||||||
|  | { | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void GridFrame::SetDefaults() | ||||||
|  | { | ||||||
|  |     GetMenuBar()->Check( ID_TOGGLEROWLABELS, TRUE ); | ||||||
|  |     GetMenuBar()->Check( ID_TOGGLECOLLABELS, TRUE ); | ||||||
|  |     GetMenuBar()->Check( ID_TOGGLECONTROLPANEL, TRUE ); | ||||||
|  |     GetMenuBar()->Check( ID_TOGGLECELLEDIT, TRUE ); | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | void GridFrame::ToggleRowLabels( wxCommandEvent& WXUNUSED(ev) ) | ||||||
|  | { | ||||||
|  |     if ( GetMenuBar()->IsChecked( ID_TOGGLEROWLABELS ) ) | ||||||
|  |     { | ||||||
|  |         grid->SetRowLabelSize( grid->GetDefaultRowLabelSize() ); | ||||||
|  |     } | ||||||
|  |     else | ||||||
|  |     { | ||||||
|  |         grid->SetRowLabelSize( 0 ); | ||||||
|  |     } | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | void GridFrame::ToggleColLabels( wxCommandEvent& WXUNUSED(ev) ) | ||||||
|  | { | ||||||
|  |     if ( GetMenuBar()->IsChecked( ID_TOGGLECOLLABELS ) ) | ||||||
|  |     { | ||||||
|  |         grid->SetColLabelSize( grid->GetDefaultColLabelSize() ); | ||||||
|  |     } | ||||||
|  |     else | ||||||
|  |     { | ||||||
|  |         grid->SetColLabelSize( 0 ); | ||||||
|  |     } | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | void GridFrame::ToggleControlPanel( wxCommandEvent& WXUNUSED(ev) ) | ||||||
|  | { | ||||||
|  |     grid->EnableTopEditControl(GetMenuBar()->IsChecked(ID_TOGGLECONTROLPANEL)); | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | void GridFrame::ToggleCellEdit( wxCommandEvent& WXUNUSED(ev) ) | ||||||
|  | { | ||||||
|  |     grid->EnableCellEditControl( | ||||||
|  |         GetMenuBar()->IsChecked( ID_TOGGLECELLEDIT ) ); | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | void GridFrame::SetLabelColour( wxCommandEvent& WXUNUSED(ev) ) | ||||||
|  | { | ||||||
|  |     wxColourDialog dlg( NULL ); | ||||||
|  |     if ( dlg.ShowModal() == wxID_OK ) | ||||||
|  |     { | ||||||
|  |         wxColourData retData; | ||||||
|  |         retData = dlg.GetColourData(); | ||||||
|  |         wxColour colour = retData.GetColour(); | ||||||
|  |  | ||||||
|  |         grid->SetLabelBackgroundColour( colour ); | ||||||
|  |     } | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | void GridFrame::SetLabelTextColour( wxCommandEvent& WXUNUSED(ev) ) | ||||||
|  | { | ||||||
|  |     wxColourDialog dlg( NULL ); | ||||||
|  |     if ( dlg.ShowModal() == wxID_OK ) | ||||||
|  |     { | ||||||
|  |         wxColourData retData; | ||||||
|  |         retData = dlg.GetColourData(); | ||||||
|  |         wxColour colour = retData.GetColour(); | ||||||
|  |  | ||||||
|  |         grid->SetLabelTextColour( colour ); | ||||||
|  |     } | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | void GridFrame::SetRowLabelHorizAlignment( wxCommandEvent& WXUNUSED(ev) ) | ||||||
|  | { | ||||||
|  |     int horiz, vert; | ||||||
|  |     grid->GetRowLabelAlignment( &horiz, &vert ); | ||||||
|  |      | ||||||
|  |     switch ( horiz ) | ||||||
|  |     { | ||||||
|  |         case wxLEFT: | ||||||
|  |             horiz = wxCENTRE; | ||||||
|  |             break; | ||||||
|  |              | ||||||
|  |         case wxCENTRE: | ||||||
|  |             horiz = wxRIGHT; | ||||||
|  |             break; | ||||||
|  |  | ||||||
|  |         case wxRIGHT: | ||||||
|  |             horiz = wxLEFT; | ||||||
|  |             break; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     grid->SetRowLabelAlignment( horiz, -1 ); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void GridFrame::SetRowLabelVertAlignment( wxCommandEvent& WXUNUSED(ev) ) | ||||||
|  | { | ||||||
|  |     int horiz, vert; | ||||||
|  |     grid->GetRowLabelAlignment( &horiz, &vert ); | ||||||
|  |      | ||||||
|  |     switch ( vert ) | ||||||
|  |     { | ||||||
|  |         case wxTOP: | ||||||
|  |             vert = wxCENTRE; | ||||||
|  |             break; | ||||||
|  |              | ||||||
|  |         case wxCENTRE: | ||||||
|  |             vert = wxBOTTOM; | ||||||
|  |             break; | ||||||
|  |  | ||||||
|  |         case wxBOTTOM: | ||||||
|  |             vert = wxTOP; | ||||||
|  |             break; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     grid->SetRowLabelAlignment( -1, vert ); | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | void GridFrame::SetColLabelHorizAlignment( wxCommandEvent& WXUNUSED(ev) ) | ||||||
|  | { | ||||||
|  |     int horiz, vert; | ||||||
|  |     grid->GetColLabelAlignment( &horiz, &vert ); | ||||||
|  |      | ||||||
|  |     switch ( horiz ) | ||||||
|  |     { | ||||||
|  |         case wxLEFT: | ||||||
|  |             horiz = wxCENTRE; | ||||||
|  |             break; | ||||||
|  |              | ||||||
|  |         case wxCENTRE: | ||||||
|  |             horiz = wxRIGHT; | ||||||
|  |             break; | ||||||
|  |  | ||||||
|  |         case wxRIGHT: | ||||||
|  |             horiz = wxLEFT; | ||||||
|  |             break; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     grid->SetColLabelAlignment( horiz, -1 ); | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | void GridFrame::SetColLabelVertAlignment( wxCommandEvent& WXUNUSED(ev) ) | ||||||
|  | { | ||||||
|  |     int horiz, vert; | ||||||
|  |     grid->GetColLabelAlignment( &horiz, &vert ); | ||||||
|  |      | ||||||
|  |     switch ( vert ) | ||||||
|  |     { | ||||||
|  |         case wxTOP: | ||||||
|  |             vert = wxCENTRE; | ||||||
|  |             break; | ||||||
|  |              | ||||||
|  |         case wxCENTRE: | ||||||
|  |             vert = wxBOTTOM; | ||||||
|  |             break; | ||||||
|  |  | ||||||
|  |         case wxBOTTOM: | ||||||
|  |             vert = wxTOP; | ||||||
|  |             break; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     grid->SetColLabelAlignment( -1, vert ); | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | void GridFrame::SetGridLineColour( wxCommandEvent& WXUNUSED(ev) ) | ||||||
|  | { | ||||||
|  |     wxColourDialog dlg( NULL ); | ||||||
|  |     if ( dlg.ShowModal() == wxID_OK ) | ||||||
|  |     { | ||||||
|  |         wxColourData retData; | ||||||
|  |         retData = dlg.GetColourData(); | ||||||
|  |         wxColour colour = retData.GetColour(); | ||||||
|  |  | ||||||
|  |         grid->SetGridLineColour( colour ); | ||||||
|  |     } | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | void GridFrame::ClearGrid( wxCommandEvent& WXUNUSED(ev) ) | ||||||
|  | { | ||||||
|  |     grid->ClearGrid(); | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | void GridFrame::About(  wxCommandEvent& WXUNUSED(ev) ) | ||||||
|  | { | ||||||
|  |     (void)wxMessageBox( "\n\nwxGrid demo \n\n" | ||||||
|  |                         "Michael Bedward \n" | ||||||
|  |                         "mbedward@ozemail.com.au \n\n", | ||||||
|  |                         "About", | ||||||
|  |                         wxOK ); | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | void GridFrame::OnSize( wxSizeEvent& WXUNUSED(ev) ) | ||||||
|  | { | ||||||
|  |     if ( grid && logWin ) | ||||||
|  |     { | ||||||
|  |         int cw, ch; | ||||||
|  |         GetClientSize( &cw, &ch ); | ||||||
|  |      | ||||||
|  |         int gridH = ch - 90; | ||||||
|  |         int logH  = 80; | ||||||
|  |         if ( gridH < 0 ) | ||||||
|  |         { | ||||||
|  |             gridH = ch; | ||||||
|  |         } | ||||||
|  |          | ||||||
|  |         grid->SetSize( 0, 0, cw, gridH ); | ||||||
|  |         logWin->SetSize( 0, gridH + 10, cw, logH ); | ||||||
|  |     } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void GridFrame::OnQuit( wxCommandEvent& WXUNUSED(ev) ) | ||||||
|  | { | ||||||
|  |     Close( TRUE ); | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | void GridFrame::OnLabelLeftClick( wxGridEvent& ev ) | ||||||
|  | { | ||||||
|  |     logBuf = ""; | ||||||
|  |     if ( ev.GetRow() != -1 ) | ||||||
|  |     { | ||||||
|  |         logBuf << "row label " << ev.GetRow(); | ||||||
|  |     } | ||||||
|  |     else if ( ev.GetCol() != -1 ) | ||||||
|  |     { | ||||||
|  |         logBuf << "col label " << ev.GetCol(); | ||||||
|  |     } | ||||||
|  |     else | ||||||
|  |     { | ||||||
|  |         logBuf << "corner label"; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     if ( ev.ShiftDown() ) logBuf << " (shift down)"; | ||||||
|  |     wxLogMessage( "%s", logBuf.c_str() ); | ||||||
|  |      | ||||||
|  |     ev.Skip(); | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | void GridFrame::OnCellLeftClick( wxGridEvent& ev ) | ||||||
|  | { | ||||||
|  |     logBuf = ""; | ||||||
|  |     logBuf << "Cell at row " << ev.GetRow() | ||||||
|  |            << " col " << ev.GetCol(); | ||||||
|  |     wxLogMessage( "%s", logBuf.c_str() ); | ||||||
|  |      | ||||||
|  |     // you must call event skip if you want default grid processing | ||||||
|  |     // (cell highlighting etc.) | ||||||
|  |     // | ||||||
|  |     ev.Skip(); | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | void GridFrame::OnRowSize( wxGridSizeEvent& ev ) | ||||||
|  | { | ||||||
|  |     logBuf = ""; | ||||||
|  |     logBuf << "Resized row " << ev.GetRowOrCol(); | ||||||
|  |     wxLogMessage( "%s", logBuf.c_str() ); | ||||||
|  |      | ||||||
|  |     ev.Skip(); | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | void GridFrame::OnColSize( wxGridSizeEvent& ev ) | ||||||
|  | { | ||||||
|  |     logBuf = ""; | ||||||
|  |     logBuf << "Resized col " << ev.GetRowOrCol(); | ||||||
|  |     wxLogMessage( "%s", logBuf.c_str() ); | ||||||
|  |      | ||||||
|  |     ev.Skip(); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void GridFrame::OnRangeSelected( wxGridRangeSelectEvent& ev ) | ||||||
|  | { | ||||||
|  |     logBuf = ""; | ||||||
|  |     logBuf  << "Selected cells from row " << ev.GetTopRow() | ||||||
|  |             << " col " << ev.GetLeftCol() | ||||||
|  |             << " to row " << ev.GetBottomRow() | ||||||
|  |             << " col " << ev.GetRightCol(); | ||||||
|  |      | ||||||
|  |     wxLogMessage( "%s", logBuf.c_str() ); | ||||||
|  |      | ||||||
|  |     ev.Skip(); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void GridFrame::OnCellValueChanged( wxGridEvent& ev ) | ||||||
|  | { | ||||||
|  |     logBuf = ""; | ||||||
|  |     logBuf  << "Value changed for cell at" | ||||||
|  |             << " row " << ev.GetRow()  | ||||||
|  |             << " col " << ev.GetCol(); | ||||||
|  |      | ||||||
|  |     wxLogMessage( "%s", logBuf.c_str() ); | ||||||
|  |      | ||||||
|  |     ev.Skip(); | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
							
								
								
									
										6
									
								
								samples/newgrid/griddemo.def
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								samples/newgrid/griddemo.def
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | |||||||
|  | NAME         GridDemo | ||||||
|  | DESCRIPTION  'wxGrid Demo' | ||||||
|  | EXETYPE      WINDOWS | ||||||
|  | CODE         PRELOAD MOVEABLE DISCARDABLE | ||||||
|  | DATA         PRELOAD MOVEABLE MULTIPLE | ||||||
|  |  | ||||||
							
								
								
									
										80
									
								
								samples/newgrid/griddemo.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										80
									
								
								samples/newgrid/griddemo.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,80 @@ | |||||||
|  | // griddemo.h | ||||||
|  | // | ||||||
|  | //  grid test program | ||||||
|  | // | ||||||
|  |  | ||||||
|  |  | ||||||
|  | #ifndef griddemo_h | ||||||
|  | #define griddemo_h | ||||||
|  |  | ||||||
|  |  | ||||||
|  | class wxGrid; | ||||||
|  |  | ||||||
|  | class GridApp : public wxApp | ||||||
|  | { | ||||||
|  |   public: | ||||||
|  |     bool OnInit(); | ||||||
|  | }; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | class GridFrame : public wxFrame | ||||||
|  | { | ||||||
|  |     wxGrid         *grid; | ||||||
|  |     wxTextCtrl     *logWin; | ||||||
|  |     wxLogTextCtrl  *logger; | ||||||
|  |     wxString       logBuf; | ||||||
|  |  | ||||||
|  |     void SetDefaults(); | ||||||
|  |     void ToggleRowLabels( wxCommandEvent& ); | ||||||
|  |     void ToggleColLabels( wxCommandEvent& ); | ||||||
|  |     void ToggleControlPanel( wxCommandEvent& ); | ||||||
|  |     void ToggleCellEdit( wxCommandEvent& ); | ||||||
|  |     void SetLabelColour( wxCommandEvent& ); | ||||||
|  |     void SetLabelTextColour( wxCommandEvent& ); | ||||||
|  |     void SetRowLabelHorizAlignment( wxCommandEvent& ); | ||||||
|  |     void SetRowLabelVertAlignment( wxCommandEvent& ); | ||||||
|  |     void SetColLabelHorizAlignment( wxCommandEvent& ); | ||||||
|  |     void SetColLabelVertAlignment( wxCommandEvent& ); | ||||||
|  |     void SetGridLineColour( wxCommandEvent& ); | ||||||
|  |     void ClearGrid( wxCommandEvent& ); | ||||||
|  |  | ||||||
|  |     void About( wxCommandEvent& ); | ||||||
|  |      | ||||||
|  |     void OnLabelLeftClick( wxGridEvent& ); | ||||||
|  |     void OnCellLeftClick( wxGridEvent& ); | ||||||
|  |     void OnRowSize( wxGridSizeEvent& ); | ||||||
|  |     void OnColSize( wxGridSizeEvent& ); | ||||||
|  |     void OnRangeSelected( wxGridRangeSelectEvent& ); | ||||||
|  |     void OnCellValueChanged( wxGridEvent& ); | ||||||
|  |      | ||||||
|  |   public: | ||||||
|  |     GridFrame(); | ||||||
|  |     ~GridFrame(); | ||||||
|  |  | ||||||
|  |     void OnSize( wxSizeEvent& ); | ||||||
|  |     void OnQuit( wxCommandEvent& ); | ||||||
|  |  | ||||||
|  |     enum { ID_TOGGLEROWLABELS = 100, | ||||||
|  |            ID_TOGGLECOLLABELS, | ||||||
|  |            ID_TOGGLECONTROLPANEL, | ||||||
|  |            ID_TOGGLECELLEDIT, | ||||||
|  |            ID_SETLABELCOLOUR, | ||||||
|  |            ID_SETLABELTEXTCOLOUR, | ||||||
|  |            ID_ROWLABELALIGN, | ||||||
|  |            ID_ROWLABELHORIZALIGN, | ||||||
|  |            ID_ROWLABELVERTALIGN, | ||||||
|  |            ID_COLLABELALIGN, | ||||||
|  |            ID_COLLABELHORIZALIGN, | ||||||
|  |            ID_COLLABELVERTALIGN, | ||||||
|  |            ID_GRIDLINECOLOUR, | ||||||
|  |            ID_CLEARGRID, | ||||||
|  |            ID_ABOUT, | ||||||
|  |  | ||||||
|  |            ID_TESTFUNC }; | ||||||
|  |          | ||||||
|  |     DECLARE_EVENT_TABLE() | ||||||
|  | }; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | #endif | ||||||
|  |  | ||||||
							
								
								
									
										2
									
								
								samples/newgrid/griddemo.rc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								samples/newgrid/griddemo.rc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | |||||||
|  | #include "wx/msw/wx.rc" | ||||||
|  |  | ||||||
							
								
								
									
										17
									
								
								samples/newgrid/makefile.b32
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								samples/newgrid/makefile.b32
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | |||||||
|  | # | ||||||
|  | # File:		makefile.b32 | ||||||
|  | # Author:	Michael Bedward | ||||||
|  | # Created:	1999 | ||||||
|  | # Updated:	 | ||||||
|  | # Copyright: | ||||||
|  | # | ||||||
|  | # Makefile : Builds sample for 32-bit BC++ | ||||||
|  |  | ||||||
|  | WXDIR = $(WXWIN) | ||||||
|  |  | ||||||
|  | TARGET=griddemo | ||||||
|  |  | ||||||
|  | OBJECTS = griddemo.obj | ||||||
|  |  | ||||||
|  | !include $(WXDIR)\src\makeprog.b32 | ||||||
|  |  | ||||||
							
								
								
									
										19
									
								
								samples/newgrid/makefile.bcc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								samples/newgrid/makefile.bcc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | |||||||
|  | # | ||||||
|  | # File:		makefile.bcc | ||||||
|  | # Author:	Michael Bedward | ||||||
|  | # Created:	1999 | ||||||
|  | # Updated:	 | ||||||
|  | # | ||||||
|  | # Builds a BC++ 16-bit sample | ||||||
|  |  | ||||||
|  | !if "$(WXWIN)" == "" | ||||||
|  | !error You must define the WXWIN variable in autoexec.bat, e.g. WXWIN=c:\wx | ||||||
|  | !endif | ||||||
|  |  | ||||||
|  | WXDIR = $(WXWIN) | ||||||
|  |  | ||||||
|  | TARGET=griddemo | ||||||
|  | OBJECTS=$(TARGET).obj | ||||||
|  |  | ||||||
|  | !include $(WXDIR)\src\makeprog.bcc | ||||||
|  |  | ||||||
							
								
								
									
										17
									
								
								samples/newgrid/makefile.dos
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								samples/newgrid/makefile.dos
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | |||||||
|  | # | ||||||
|  | # File:		makefile.dos | ||||||
|  | # Author:	Michael Bedward | ||||||
|  | # Created:	1999 | ||||||
|  | # Updated:	 | ||||||
|  | # | ||||||
|  | # Makefile : Builds 16-bit sample, VC++ 1.5 | ||||||
|  | # Use FINAL=1 argument to nmake to build final version with no debugging | ||||||
|  | # info | ||||||
|  |  | ||||||
|  | WXDIR = $(WXWIN) | ||||||
|  |  | ||||||
|  | TARGET=griddemo | ||||||
|  | OBJECTS=$(TARGET).obj | ||||||
|  |  | ||||||
|  | !include $(WXDIR)\src\makeprog.msc | ||||||
|  |  | ||||||
							
								
								
									
										15
									
								
								samples/newgrid/makefile.g95
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								samples/newgrid/makefile.g95
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | |||||||
|  | # | ||||||
|  | # File:         makefile.g95 | ||||||
|  | # Author:       Michael Bedward | ||||||
|  | # Created:      1999 | ||||||
|  | # Updated: | ||||||
|  | # | ||||||
|  | # Makefile for wxWindows sample (Cygwin/Mingw32). | ||||||
|  |  | ||||||
|  | WXDIR = ../.. | ||||||
|  |  | ||||||
|  | TARGET=griddemo | ||||||
|  | OBJECTS = $(TARGET).o | ||||||
|  |  | ||||||
|  | include $(WXDIR)\src\makeprog.g95 | ||||||
|  |  | ||||||
							
								
								
									
										36
									
								
								samples/newgrid/makefile.sc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								samples/newgrid/makefile.sc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,36 @@ | |||||||
|  | # Symantec C++ makefile | ||||||
|  |  | ||||||
|  | WXDIR = $(WXWIN) | ||||||
|  | WXLIB = $(WXDIR)\lib\wx.lib | ||||||
|  | INCDIR = $(WXDIR)\include | ||||||
|  | INCLUDE=$(INCDIR) | ||||||
|  | TARGET=griddemo | ||||||
|  |  | ||||||
|  | include $(WXDIR)\src\makesc.env | ||||||
|  |  | ||||||
|  | griddemo.exe: griddemo.obj $(DEFFILE) griddemo.res | ||||||
|  | 	*$(CC) $(LDFLAGS) -o$@ $** $(LIBS) | ||||||
|  |     *$(RC) -k griddemo.res | ||||||
|  |  | ||||||
|  | sc32.def: | ||||||
|  |      echo EXETYPE NT > sc32.def | ||||||
|  |      echo SUBSYSTEM WINDOWS >> sc32.def | ||||||
|  |  | ||||||
|  | sc16.def: | ||||||
|  |      echo NAME $(TARGET) > sc16.def | ||||||
|  |      echo EXETYPE WINDOWS >> sc16.def | ||||||
|  |      echo STUB         'WINSTUB.EXE' >> sc16.def | ||||||
|  |      echo CODE         PRELOAD MOVEABLE DISCARDABLE >> sc16.def | ||||||
|  |      echo DATA         PRELOAD MOVEABLE MULTIPLE >> sc16.def | ||||||
|  |      echo HEAPSIZE     1024 >> sc16.def | ||||||
|  |      echo STACKSIZE    8192 >> sc16.def | ||||||
|  |  | ||||||
|  | clean: | ||||||
|  |     -del *.obj | ||||||
|  | 	-del *.exe | ||||||
|  | 	-del *.res | ||||||
|  | 	-del *.map | ||||||
|  | 	-del *.rws | ||||||
|  |     -del sc32.def | ||||||
|  |     -del sc16.def | ||||||
|  |  | ||||||
							
								
								
									
										17
									
								
								samples/newgrid/makefile.vc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								samples/newgrid/makefile.vc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | |||||||
|  | # | ||||||
|  | # File:		makefile.vc | ||||||
|  | # Author:	Michael Bedward | ||||||
|  | # Created:	1999 | ||||||
|  | # Updated:	 | ||||||
|  | # | ||||||
|  | # Makefile : Builds sample (VC++, WIN32) | ||||||
|  | # Use FINAL=1 argument to nmake to build final version with no debug info. | ||||||
|  |  | ||||||
|  | # Set WXDIR for your system | ||||||
|  | WXDIR = $(WXWIN) | ||||||
|  |  | ||||||
|  | PROGRAM=griddemo | ||||||
|  | OBJECTS = $(PROGRAM).obj | ||||||
|  |  | ||||||
|  | !include $(WXDIR)\src\makeprog.vc | ||||||
|  |  | ||||||
							
								
								
									
										13
									
								
								samples/newgrid/makefile.wat
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								samples/newgrid/makefile.wat
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | |||||||
|  | # | ||||||
|  | # Makefile for WATCOM | ||||||
|  | # | ||||||
|  | # | ||||||
|  |  | ||||||
|  | WXDIR = $(%WXWIN) | ||||||
|  |  | ||||||
|  | PROGRAM = griddemo | ||||||
|  | OBJECTS = $(PROGRAM).obj | ||||||
|  |  | ||||||
|  | !include $(WXDIR)\src\makeprog.wat | ||||||
|  |  | ||||||
|  |  | ||||||
		Reference in New Issue
	
	Block a user