///////////////////////////////////////////////////////////////////////////////
// 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
*/
#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
{
wxChar lookupCol[LOOKUP_COL_LEN+1];
- Clookup(wxChar *tblName, wxChar *colName);
+ Clookup(wxString tblName, wxString colName, wxDb *pDb, const wxString &defDir=wxT(""));
}; // Clookup
+
// Clookup2 class
class Clookup2 : public wxDbTable
{
wxChar lookupCol1[LOOKUP_COL_LEN+1];
wxChar lookupCol2[LOOKUP_COL_LEN+1];
- Clookup2(wxChar *tblName, wxChar *colName1, wxChar *colName2, wxDb *pDb);
+ Clookup2(wxString tblName, wxString colName1, wxString colName2, wxDb *pDb, const wxString &defDir=wxT(""));
}; // Clookup2
+
+// ClookUpDlg class
class ClookUpDlg : public wxDialog
{
private:
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);
+ 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
// 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,
- wxChar *windowTitle,
- wxChar *tableName,
- wxChar *dispCol1, // Must have at least 1 display column
- wxChar *dispCol2, // Optional
- wxChar *where,
- wxChar *orderBy,
- 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
- 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