]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/db/listdb.h
added a few encoding convenience methods for pc-mac encoding and string handling...
[wxWidgets.git] / samples / db / listdb.h
index 0d966c961ecb352a797b16e6514fe89d27b78542..070a0982e2528ce42e3b051d4519d07acdce9c86 100644 (file)
@@ -9,15 +9,12 @@
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
+#ifdef __GNUG__
 #pragma interface "listdb.h"
 #pragma interface "listdb.h"
+#endif
 
 /*
 
 /*
-/*
-// SYNOPSIS START
-
-       Contains dialog class for creating a data table lookup listbox
-
-// SYNOPSIS STOP
+    Contains dialog class for creating a data table lookup listbox
 */
 
 #ifndef LISTDB_DOT_H
 */
 
 #ifndef LISTDB_DOT_H
 
 #include <wx/dbtable.h>
 
 
 #include <wx/dbtable.h>
 
-const LOOKUP_COL_LEN = 250;
-
-// Global database connection
-extern wxDB *READONLY_DB;
+const int LOOKUP_COL_LEN = 250;
 
 // Clookup class
 
 // 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(wxChar *tblName, wxChar *colName, wxDb *pDb, const wxString &defDir="");
 
 };  // Clookup
 
 
 };  // Clookup
 
+
 // Clookup2 class
 // 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(wxChar *tblName, wxChar *colName1, wxChar *colName2, wxDb *pDb, const wxString &defDir="");
 
 };  // Clookup2
 
 
 };  // Clookup2
 
-class ClookUpDlg : public wxDialogBox
+
+// 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            OnCommand(wxWindow& win, wxCommandEvent& event);
-               bool            OnClose();
-               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,
+                    wxChar  *windowTitle,
+                    wxChar  *tableName,
+                    wxChar  *colName,
+                    wxChar  *where,
+                    wxChar  *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,
+                    wxChar  *windowTitle,
+                    wxChar  *tableName,
+                    wxChar  *dispCol1,                  // Must have at least 1 display column
+                    wxChar  *dispCol2,                  // Optional
+                    wxChar  *where,
+                    wxChar  *orderBy,
+                    wxDb    *pDb,                       // Database connection pointer
+                    const wxString &defDir,
+                    bool     distinctValues,            // e.g. SELECT DISTINCT ...
+                    wxChar  *selectStmt = 0,            // 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
+
+DECLARE_EVENT_TABLE()
+};  // class ClookUpDlg
+
+#define LOOKUP_DIALOG                   500
+
+#define LOOKUP_DIALOG_SELECT            501
+#define LOOKUP_DIALOG_OK                502
+#define LOOKUP_DIALOG_CANCEL            503
 
 #endif  // LISTDB_DOT_H
 
 
 #endif  // LISTDB_DOT_H