]> git.saurik.com Git - wxWidgets.git/blobdiff - demos/dbbrowse/dbgrid.cpp
remove ODBC and DBgrid libraries
[wxWidgets.git] / demos / dbbrowse / dbgrid.cpp
diff --git a/demos/dbbrowse/dbgrid.cpp b/demos/dbbrowse/dbgrid.cpp
deleted file mode 100644 (file)
index d7a3b76..0000000
+++ /dev/null
@@ -1,424 +0,0 @@
-//----------------------------------------------------------------------------------------
-// Name:        DBGrid.cpp
-// Purpose:     wxGrid sample
-// Author:      Mark Johnson
-// Modified by: 19990929.mj10777 a reuseable DBGrid
-// Created:     19990929
-// Copyright:   (c)
-// Licence:     wxWindows license
-// RCS-ID:      $Id$
-//----------------------------------------------------------------------------------------
-
-// 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
-//----------------------------------------------------------------------------------------
-//-- all #includes that every .cpp needs             --- 19990807.mj10777 ----------------
-//----------------------------------------------------------------------------------------
-#include "std.h"    // sorgsam Pflegen !
-//----------------------------------------------------------------------------------------
-BEGIN_EVENT_TABLE(DBGrid, wxGrid)
-    EVT_MOTION (DBGrid::OnMouseMove)
-    // DBGrid
-    // ------------
-    EVT_GRID_CELL_CHANGE( DBGrid::OnCellChange )
-    EVT_GRID_CELL_LEFT_CLICK( DBGrid::OnCellLeftClick )
-    EVT_GRID_CELL_LEFT_DCLICK( DBGrid::OnCellLeftDClick )
-    EVT_GRID_CELL_RIGHT_CLICK( DBGrid::OnCellRightClick )
-    EVT_GRID_CELL_RIGHT_DCLICK( DBGrid::OnCellRightDClick )
-    // EVT_GRID_COL_SIZE( DBGrid::OnColSize )
-    // EVT_GRID_ROW_SIZE( DBGrid::OnRowSize )
-    EVT_GRID_EDITOR_SHOWN( DBGrid::OnEditorShown )
-    EVT_GRID_EDITOR_HIDDEN( DBGrid::OnEditorHidden )
-    EVT_GRID_LABEL_LEFT_CLICK( DBGrid::OnLabelLeftClick )
-    EVT_GRID_LABEL_LEFT_DCLICK( DBGrid::OnLabelLeftDClick )
-    EVT_GRID_LABEL_RIGHT_CLICK( DBGrid::OnLabelRightClick )
-    EVT_GRID_LABEL_RIGHT_DCLICK( DBGrid::OnLabelRightDClick )
-    EVT_GRID_RANGE_SELECT( DBGrid::OnRangeSelected )
-    EVT_GRID_ROW_SIZE( DBGrid::OnRowSize )
-    EVT_GRID_SELECT_CELL( DBGrid::OnSelectCell )
-    EVT_MENU(GRID_EDIT,DBGrid::OnModusEdit)
-    EVT_MENU(GRID_BROWSE,DBGrid::OnModusBrowse)
-END_EVENT_TABLE()
-
-//----------------------------------------------------------------------------------------
-//           wxListCtrl(parent, id, pos, size, style)
-//           wxGrid(parent,wxID_ANY,wxPoint( 0, 0 ), wxSize( 400, 300 ) );
-//----------------------------------------------------------------------------------------
-// DBGrid
-//----------------------------------------------------------------------------------------
-// DBGrid::DBGrid(wxWindow *parent, const wxWindowID id,const wxPoint& pos,const wxSize& size):
-//          wxGrid(parent, id, pos, size)
-DBGrid::DBGrid(wxWindow *parent, const wxWindowID id,const wxPoint& pos,const wxSize& size, long style):
-wxGrid(parent, id, pos, size, style)
-{
-    b_EditModus = false;
-    //---------------------------------------------------------------------------------------
-    popupMenu1 = new wxMenu;
-    popupMenu1->Append(GRID_EDIT, _("Edit Modus"));
-    popupMenu2 = new wxMenu;
-    popupMenu2->Append(GRID_BROWSE, _("Browse Modus"));
-}
-
-//----------------------------------------------------------------------------------------
-DBGrid::~DBGrid()
-{
-    delete popupMenu1;
-    delete popupMenu2;
-}
-
-//----------------------------------------------------------------------------------------
-int  DBGrid::OnTableView(wxString Table)
-{
-    wxStopWatch sw;
-    //---------------------------------------------------------------------------------------
-    int  x,y,z;
-    wxString Temp0;
-    wxBeginBusyCursor();
-    SetDefaultCellFont(* pDoc->ft_Doc);
-    //---------------------------------------------------------------------------------------
-    ct_BrowserDB = (db_Br+i_Which)->ct_BrowserDB;                       // Get the DSN Pointer
-    //---------------------------------------------------------------------------------------
-    if (ct_BrowserDB)                                                   // Valid pointer (!= NULL) ?
-    {      // Pointer is Valid, use the wxDatabase Information
-        for (x=0;x<ct_BrowserDB->numTables;x++)                            // go through the Tables
-        {
-            if (!wxStrcmp((ct_BrowserDB->pTableInf+x)->tableName,Table))      // is this our Table ?
-            {    // Yes, the Data of this Table shall be put into the Grid
-                int ValidTable = x;                                              // Save the Tablenumber
-                (db_Br+i_Which)->OnSelect(Table,false);                          // Select * from "table"
-                // Set the local Pointer to the Column Information we are going to use
-                (db_Br+i_Which)->cl_BrowserDB = (ct_BrowserDB->pTableInf+x)->pColInf;
-                if ((ct_BrowserDB->pTableInf+x)->pColInf)                        // Valid pointer (!= NULL) ?
-                {   // Pointer is Valid, Column Informationen sind Vorhanden
-                    int i = (db_Br+i_Which)->i_Records;                             // How many Records are there
-                    (db_Br+i_Which)->i_Which = ValidTable;                          // Still used ???? mj10777
-                    if (i == 0)     // If the Table is empty, then show one empty row
-                        i++;
-                    // wxLogMessage(_("\n-I-> DBGrid::OnTableView() : Vor CreateGrid"));
-                    CreateGrid(i,(ct_BrowserDB->pTableInf+x)->numCols);             // Records , Columns
-                    for (y=0;y<(ct_BrowserDB->pTableInf+x)->numCols;y++)            // Loop through the Fields
-                    {  // The Field / Column name is used here as Row Titel
-                        SetColLabelValue(y,((ct_BrowserDB->pTableInf+x)->pColInf+y)->colName);
-                        SetColSize(y,95);
-                    }  // for (y=0;y<(ct_BrowserDB->pTableInf+x)->numCols;y++)
-                    SetColSize(((ct_BrowserDB->pTableInf+x)->numCols-1),120);       // Make the last Column Wider
-                    // The Grid has been created, now fill it
-                    for (z=0;z<(db_Br+i_Which)->i_Records;z++)                      // Loop through the Records
-                    {
-                        Temp0.Printf(_T("%06d"),z+1);  SetRowLabelValue(z,Temp0);          // Set Row Lable Value
-                        (db_Br+i_Which)->OnGetNext((ct_BrowserDB->pTableInf+ValidTable)->numCols,false);
-                        for (y=0;y<(ct_BrowserDB->pTableInf+ValidTable)->numCols;y++) // Loop through the Fields
-                        { // BrowserDB::OnGetNext Formats the field Value into tablename
-                            SetCellValue(z, y,((db_Br+i_Which)->cl_BrowserDB+y)->tableName);
-                        }
-#if wxUSE_STATUSBAR
-                        if (z % 50 == 0)
-                        {
-                            Temp0.Printf(_("-I-> DBGrid::OnTableView(%s) - Record %6d (from %d) has been read."),Table.c_str(),z,(db_Br+i_Which)->i_Records);
-                            pDoc->p_MainFrame->SetStatusText(Temp0, 0);
-                        }
-#endif // wxUSE_STATUSBAR
-                    }  // for (z=0;z<(db_Br+i_Which)->i_Records;z++)
-                    Temp0.Printf(_("-I-> DBGrid::OnTableView(%s) - %6d Records have been read. - Time needed : %ld ms"),Table.c_str(),z,sw.Time());
-                    wxLogMessage(Temp0);
-#if wxUSE_STATUSBAR
-                    pDoc->p_MainFrame->SetStatusText(Temp0, 0);
-#endif // wxUSE_STATUSBAR
-                    // The Grid has been filled, now leave
-                    goto Weiter;
-                }   // if ((ct_BrowserDB->pTableInf+x)->pColInf)
-                else
-                    wxLogMessage(_("\n-E-> DBGrid::OnTableView() : Invalid Column Pointer : Failed"));
-            }    // if ((ct_BrowserDB->pTableInf+x)->tableType == "TABLE")
-        }     // for (x=0;x<ct_BrowserDB->numTables;x++)
-    }      // if (ct_BrowserDB)
-    else
-        wxLogMessage(_("\n-E-> DBGrid::OnTableView() : Invalid DSN Pointer : Failed"));
-    //---------------------------------------------------------------------------------------
-Weiter:
-    EnableEditing(b_EditModus);     // Deactivate in-place Editing
-    wxEndBusyCursor();
-    //---------------------------------------------------------------------------------------
-    wxLogMessage(_("-I-> DBGrid::OnTableView() - End"));
-    return 0;
-}
-
-//----------------------------------------------------------------------------------------
-void DBGrid::OnModusEdit(wxCommandEvent& WXUNUSED(event))
-{
-    b_EditModus = true;             // Needed by PopupMenu
-    EnableEditing(b_EditModus);     // Activate in-place Editing
-    UpdateDimensions();             // Redraw the Grid
-    // wxLogMessage(_("-I-> DBGrid::OnModusEdit() - End"));
-}
-
-//----------------------------------------------------------------------------------------
-void DBGrid::OnModusBrowse(wxCommandEvent& WXUNUSED(event))
-{
-    b_EditModus = false;            // Needed by PopupMenu
-    EnableEditing(b_EditModus);     // Deactivate in-place Editing
-    UpdateDimensions();             // Redraw the Grid
-    // wxLogMessage(_("-I-> DBGrid::OnModusBrowse() - End"));
-}
-
-//----------------------------------------------------------------------------------------
-void DBGrid::OnEditorShown( wxGridEvent& ev )
-{
-    // wxLogMessage(_("-I-> DBGrid::OnEditorShown() - End"));
-    ev.Skip();
-}
-
-//----------------------------------------------------------------------------------------
-void DBGrid::OnEditorHidden( wxGridEvent& ev )
-{
-    // wxLogMessage(_("-I-> DBGrid::OnEditorHidden() - End"));
-    ev.Skip();
-}
-
-//----------------------------------------------------------------------------------------
-void DBGrid::OnSelectCell( wxGridEvent& ev )
-{
-    logBuf = wxEmptyString;
-    logBuf << _T("Selected cell at row ") << ev.GetRow()
-        << _T(" col ") << ev.GetCol();
-    wxLogMessage( _T("%s"), logBuf.c_str() );
-    // you must call Skip() if you want the default processing
-    // to occur in wxGrid
-    ev.Skip();
-}
-
-//----------------------------------------------------------------------------------------
-void DBGrid::OnMouseMove(wxMouseEvent &event)
-{
-    MousePos = event.GetPosition();
-}
-
-//----------------------------------------------------------------------------------------
-void DBGrid::OnLabelLeftClick( wxGridEvent& ev )
-{
-    logBuf = _T("DBGrid::OnLabelLeftClick : ");
-    if ( ev.GetRow() != -1 )
-    {
-        logBuf << _T("row label ") << ev.GetRow();
-    }
-    else if ( ev.GetCol() != -1 )
-    {
-        logBuf << _T("col label ") << ev.GetCol();
-    }
-    else
-    {
-        logBuf << _T("corner label");
-    }
-    if ( ev.ShiftDown() )
-        logBuf << _T(" (shift down)");
-
-    // wxLogMessage( "%s", logBuf.c_str() );
-    logBuf += _T("\n");
-    wxLogMessage(logBuf.c_str());
-    ev.Skip();
-}
-
-//----------------------------------------------------------------------------------------
-void DBGrid::OnLabelRightClick( wxGridEvent& ev )
-{
-    //-------------------------------------------------------
-    if (b_EditModus)
-        PopupMenu(popupMenu2,MousePos.x,MousePos.y);
-    else
-        PopupMenu(popupMenu1,MousePos.x,MousePos.y);
-    //-------------------
-    logBuf = _T("DBGrid::OnLabelRightClick : ");
-    if ( ev.GetRow() != -1 )
-    {
-        logBuf << _T("row label ") << ev.GetRow();
-    }
-    else if ( ev.GetCol() != -1 )
-    {
-        logBuf << _T("col label ") << ev.GetCol();
-    }
-    else
-    {
-        logBuf << _T("corner label");
-    }
-    if ( ev.ShiftDown() )
-        logBuf << _T(" (shift down)");
-
-    // wxLogMessage( "%s", logBuf.c_str() );
-    logBuf += _T("\n");
-    wxLogMessage(logBuf.c_str());
-    ev.Skip();
-}
-
-//----------------------------------------------------------------------------------------
-void DBGrid::OnLabelLeftDClick( wxGridEvent& ev )
-{
-    logBuf = _T("DBGrid::OnLabelLeftDClick : ");
-    if ( ev.GetRow() != -1 )
-    {
-        logBuf << _T("row label ") << ev.GetRow();
-    }
-    else if ( ev.GetCol() != -1 )
-    {
-        logBuf << _T("col label ") << ev.GetCol();
-    }
-    else
-    {
-        logBuf << _T("corner label");
-    }
-    if ( ev.ShiftDown() )
-        logBuf << _T(" (shift down)");
-
-    // wxLogMessage( _T("%s"), logBuf.c_str() );
-    logBuf += _T("\n");
-    wxLogMessage(logBuf.c_str());
-    ev.Skip();
-}
-
-//----------------------------------------------------------------------------------------
-void DBGrid::OnLabelRightDClick( wxGridEvent& ev )
-{
-    logBuf = _T("DBGrid::OnLabelRightDClick : ");
-    if ( ev.GetRow() != -1 )
-    {
-        logBuf << _T("row label ") << ev.GetRow();
-    }
-    else if ( ev.GetCol() != -1 )
-    {
-        logBuf << _T("col label ") << ev.GetCol();
-    }
-    else
-    {
-        logBuf << _T("corner label");
-    }
-    if ( ev.ShiftDown() )
-        logBuf << _T(" (shift down)");
-    // wxLogMessage( "%s", logBuf.c_str() );
-    logBuf += _T("\n");
-    wxLogMessage(logBuf.c_str());
-    ev.Skip();
-}
-
-//----------------------------------------------------------------------------------------
-void DBGrid::OnCellLeftClick( wxGridEvent& ev )
-{
-    logBuf = _T("DBGrid::OnCellLeftClick : ");
-    logBuf << _T("Cell at row ") << ev.GetRow()
-        << _T(" col ") << ev.GetCol();
-    // wxLogMessage( "%s", logBuf.c_str() );
-    // wxMessageBox(logBuf);
-    logBuf += _T("\n");
-    wxLogMessage(logBuf.c_str());
-    // you must call event skip if you want default grid processing
-    // (cell highlighting etc.)
-    //
-    ev.Skip();
-}
-
-//----------------------------------------------------------------------------------------
-void DBGrid::OnCellRightClick( wxGridEvent& ev )
-{
-    logBuf = _T("DBGrid::OnCellRightClick : ");
-    logBuf << _T("Cell at row ") << ev.GetRow()
-        << _T(" col ") << ev.GetCol();
-    // wxLogMessage( "%s", logBuf.c_str() );
-    // wxMessageBox(logBuf);
-    logBuf += _T("\n");
-    wxLogMessage(logBuf.c_str());
-    // you must call event skip if you want default grid processing
-    // (cell highlighting etc.)
-    //
-    ev.Skip();
-}
-
-//----------------------------------------------------------------------------------------
-void DBGrid::OnCellLeftDClick( wxGridEvent& ev )
-{
-    logBuf = _T("DBGrid::OnCellLeftDClick : ");
-    logBuf << _T("Cell at row ") << ev.GetRow()
-        << _T(" col ") << ev.GetCol();
-    // wxLogMessage( "%s", logBuf.c_str() );
-    // wxMessageBox(logBuf);
-    logBuf += _T("\n");
-    wxLogMessage(logBuf.c_str());
-    // you must call event skip if you want default grid processing
-    // (cell highlighting etc.)
-    //
-    ev.Skip();
-}
-
-//----------------------------------------------------------------------------------------
-void DBGrid::OnCellRightDClick( wxGridEvent& ev )
-{
-    logBuf = _T("DBGrid::OnCellRightDClick : ");
-    logBuf << _T("Cell at row ") << ev.GetRow()
-        << _T(" col ") << ev.GetCol();
-    // wxLogMessage( "%s", logBuf.c_str() );
-    // wxMessageBox(logBuf);
-    logBuf += _T("\n");
-    wxLogMessage(logBuf.c_str());
-    // you must call event skip if you want default grid processing
-    // (cell highlighting etc.)
-    //
-    ev.Skip();
-}
-
-//----------------------------------------------------------------------------------------
-void DBGrid::OnCellChange( wxGridEvent& ev )
-{
-    logBuf = _T("DBGrid::OnCellChange : ");
-    logBuf << _T("Cell at row ") << ev.GetRow()
-        << _T(" col ") << ev.GetCol();
-    // wxLogMessage( "%s", logBuf.c_str() );
-    // wxMessageBox(logBuf);
-    logBuf += _T("\n");
-    wxLogMessage(logBuf.c_str());
-    // you must call event skip if you want default grid processing
-    // (cell highlighting etc.)
-    //
-    ev.Skip();
-}
-
-//----------------------------------------------------------------------------------------
-void DBGrid::OnRowSize( wxGridSizeEvent& ev )
-{
-    logBuf = _T("DBGrid::OnRowSize : ");
-    logBuf << _T("Resized row ") << ev.GetRowOrCol();
-    // wxLogMessage( "%s", logBuf.c_str() );
-    logBuf += _T("\n");
-    wxLogMessage(logBuf.c_str());
-    ev.Skip();
-}
-
-//----------------------------------------------------------------------------------------
-void DBGrid::OnColSize( wxGridSizeEvent& ev )
-{
-    logBuf = _T("DBGrid::OnColSize : ");
-    logBuf << _T("Resized col ") << ev.GetRowOrCol();
-    // wxLogMessage( "%s", logBuf.c_str() );
-    logBuf += _T("\n");
-    wxLogMessage(logBuf.c_str());
-    ev.Skip();
-}
-
-//----------------------------------------------------------------------------------------
-void DBGrid::OnRangeSelected( wxGridRangeSelectEvent& ev )
-{
-    logBuf = _T("DBGrid::OnRangeSelected : ");
-    logBuf  << _T("Selected cells from row ") << ev.GetTopRow()
-        << _T(" col ") << ev.GetLeftCol()
-        << _T(" to row ") << ev.GetBottomRow()
-        << _T(" col ") << ev.GetRightCol();
-    logBuf += _T("\n");
-    // wxLogMessage( "%s", logBuf.c_str() );
-    wxLogMessage(logBuf.c_str());
-    ev.Skip();
-}
-//----------------------------------------------------------------------------------------