]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/db/listdb.h
don't lose the combobox text when it's opened and closed (patch 1684252, closes bug...
[wxWidgets.git] / samples / db / listdb.h
index 0f84b82e036c3688160cfd66d225ef2426583a73..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
@@ -9,10 +9,6 @@
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
-#pragma interface "listdb.h"
-#endif
-
 /*
     Contains dialog class for creating a data table lookup listbox
 */
 #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 wxDbTable
 {
     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 wxDbTable
 {
     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:
@@ -68,19 +64,21 @@ class ClookUpDlg : public wxDialog
     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);
+        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
+        //    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
@@ -95,30 +93,32 @@ class ClookUpDlg : public wxDialog
         // 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
+        // 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,
-                      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 );
+                    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