]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/db/listdb.h
2.8.0
[wxWidgets.git] / samples / db / listdb.h
index fb64588a42fed9d82eb7bcdfa2e77645d0c48a0e..237b94ca4b5eb287793e1c69992dacd9d5a5be30 100644 (file)
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // Name:        listdb.h
-// Purpose:     wxWindows database demo app
+// Purpose:     wxWidgets database demo app
 // Author:      George Tasker
 // Modified by:
 // Created:     1996
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
-#pragma interface "listdb.h"
-#endif
-
 /*
-       Contains dialog class for creating a data table lookup listbox
+    Contains dialog class for creating a data table lookup listbox
 */
 
 #ifndef LISTDB_DOT_H
 #define LISTDB_DOT_H
 
 
-#include <wx/dbtable.h>
+#include "wx/dbtable.h"
 
 const int LOOKUP_COL_LEN = 250;
 
-// Global database connection
-extern wxDB *READONLY_DB;
-
 // Clookup class
-class Clookup : public wxTable
+class Clookup : public wxDbTable
 {
-       public:
+    public:
 
-               char lookupCol[LOOKUP_COL_LEN+1];
+        wxChar lookupCol[LOOKUP_COL_LEN+1];
 
-               Clookup(char *tblName, char *colName);
+        Clookup(wxString tblName, wxString colName, wxDb *pDb, const wxString &defDir=wxT(""));
 
 };  // Clookup
 
+
 // Clookup2 class
-class Clookup2 : public wxTable
+class Clookup2 : public wxDbTable
 {
-       public:
+    public:
 
-               char lookupCol1[LOOKUP_COL_LEN+1];
-               char lookupCol2[LOOKUP_COL_LEN+1];
+        wxChar lookupCol1[LOOKUP_COL_LEN+1];
+        wxChar lookupCol2[LOOKUP_COL_LEN+1];
 
-               Clookup2(char *tblName, char *colName1, char *colName2, wxDB *pDb);
+        Clookup2(wxString tblName, wxString colName1, wxString colName2, wxDb *pDb, const wxString &defDir=wxT(""));
 
 };  // Clookup2
 
+
+// ClookUpDlg class
 class ClookUpDlg : public wxDialog
 {
-       private:
-               bool                     widgetPtrsSet;
-               int                      currentCursor;
-               Clookup         *lookup;
-               Clookup2                *lookup2;
-               int                      noDisplayCols;
-               int                      col1Len;
-
-               wxListBox       *pLookUpSelectList;
-               wxButton                *pLookUpOkBtn;
-               wxButton                *pLookUpCancelBtn;
-
-       public:
-
-               // This is a generic lookup constructor that will work with any table and any column
-               ClookUpDlg(wxWindow     *parent,
-                                         char          *windowTitle,
-                                         char          *tableName,
-                                         char          *colName,
-                                         char          *where,
-                                         char          *orderBy);
-
-               //
-               // This is a generic lookup constructor that will work with any table and any column.
-               // It extends the capabilites of the lookup dialog in the following ways:
-               //
-               //      1) 2 columns rather than one
-               // 2) The ability to select DISTINCT column values
-               //
-               // Only set distinctValues equal to true if necessary.  In many cases, the constraints
-               // of the index(es) will enforce this uniqueness.  Selecting DISTINCT does require
-               // overhead by the database to ensure that all values returned are distinct.  Therefore,
-               // use this ONLY when you need it.
-               //
-               // For complicated queries, you can pass in the sql select statement.  This would be
-               // necessary if joins are involved since by default both columns must come from the
-               // same table.
-               //
-               // If you do query by sql statement, you must pass in the maximum length of column1,
-               // since it cannot be derived when you query using your own sql statement.
-               //
-               // The optional database connection can be used if you'd like the lookup class
-               // to use a database pointer other than the global READONLY_DB.  This is necessary if
-               // records are being saved, but not committed to the db, yet should be included
-               // in the lookup window.
-               //
-               ClookUpDlg(wxWindow     *parent,
-                                         char          *windowTitle,
-                                         char          *tableName,
-                                         char          *dispCol1,                                      // Must have at least 1 display column
-                                         char          *dispCol2,                                      // Optional
-                                         char          *where,
-                                         char          *orderBy,
-                                         bool           distinctValues,                        // e.g. SELECT DISTINCT ...
-                                         char          *selectStmt = 0,                        // If you wish to query by SQLstmt (complicated lookups)
-                                         int                    maxLenCol1 = 0,                        // Mandatory if querying by SQLstmt
-                                         wxDB                  *pDb = READONLY_DB,             // Database connection pointer
-                                         bool           allowOk                = TRUE);                // is the OK button enabled
-
-               void     OnButton( wxCommandEvent &event );
-               void            OnCommand(wxWindow& win, wxCommandEvent& event);
-               void            OnClose(wxCloseEvent& event);
-               void            OnActivate(bool) {};  // necessary for hot keys
+    private:
+        bool             widgetPtrsSet;
+        int              currentCursor;
+        Clookup         *lookup;
+        Clookup2        *lookup2;
+        int              noDisplayCols;
+        int              col1Len;
+
+        wxListBox       *pLookUpSelectList;
+        wxButton        *pLookUpOkBtn;
+        wxButton        *pLookUpCancelBtn;
+
+    public:
+
+        // This is a generic lookup constructor that will work with any table and any column
+        ClookUpDlg(wxWindow         *parent,
+                    const wxString  &windowTitle,
+                    const wxString  &tableName,
+                    const wxString  &colName,
+                    const wxString  &where,
+                    const wxString  &orderBy,
+                    wxDb            *pDb,
+                    const wxString  &defDir);
+
+        //
+        // This is a generic lookup constructor that will work with any table and any column.
+        // It extends the capabilites of the lookup dialog in the following ways:
+        //
+        //    1) 2 columns rather than one
+        //    2) The ability to select DISTINCT column values
+        //
+        // Only set distinctValues equal to true if necessary.  In many cases, the constraints
+        // of the index(es) will enforce this uniqueness.  Selecting DISTINCT does require
+        // overhead by the database to ensure that all values returned are distinct.  Therefore,
+        // use this ONLY when you need it.
+        //
+        // For complicated queries, you can pass in the sql select statement.  This would be
+        // necessary if joins are involved since by default both columns must come from the
+        // same table.
+        //
+        // If you do query by sql statement, you must pass in the maximum length of column1,
+        // since it cannot be derived when you query using your own sql statement.
+        //
+        // The optional database connection can be used if you'd like the lookup class
+        // to use a database pointer other than the READONLY_DB of the app.  This is necessary
+        // if records are being saved, but not committed to the db, yet should be included
+        // in the lookup window.
+        //
+        ClookUpDlg(wxWindow *parent,
+                    const wxString  &windowTitle,
+                    const wxString  &tableName,
+                    const wxString  &dispCol1,                  // Must have at least 1 display column
+                    const wxString  &dispCol2,                  // Optional
+                    const wxString  &where,
+                    const wxString  &orderBy,
+                    wxDb            *pDb,                       // Database connection pointer
+                    const wxString  &defDir,
+                    bool             distinctValues,            // e.g. SELECT DISTINCT ...
+                    const wxString &selectStmt = wxEmptyString, // If you wish to query by SQLstmt (complicated lookups)
+                    int             maxLenCol1 = 0,             // Mandatory if querying by SQLstmt
+                    bool            allowOk    = true);         // is the OK button enabled
+
+        void        OnButton(wxCommandEvent &event);
+        void        OnCommand(wxWindow& win, wxCommandEvent& event);
+        void        OnClose(wxCloseEvent& event);
+        void        OnActivate(bool) {};  // necessary for hot keys
+        void        OnDClick(wxCommandEvent &event);
 
 DECLARE_EVENT_TABLE()
-};
+};  // class ClookUpDlg
 
 #define LOOKUP_DIALOG                   500