First version of the DbBrowser demo program
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5715 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
BIN
demos/dbbrowse/bitmaps/col.ico
Normal file
After Width: | Height: | Size: 1.1 KiB |
23
demos/dbbrowse/bitmaps/col.xpm
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
/* XPM */
|
||||||
|
static char* COL_xpm[] = {
|
||||||
|
"16 16 4 1",
|
||||||
|
" c #000000",
|
||||||
|
"! c #000080",
|
||||||
|
"# c #C0C0C0",
|
||||||
|
"$ c #808080",
|
||||||
|
"$$$$$$$ $$$$",
|
||||||
|
"$######!!!!!### ",
|
||||||
|
"$######!!!!!### ",
|
||||||
|
"$######!!!!!### ",
|
||||||
|
"$######!###!### ",
|
||||||
|
"$# #!$$$!# # ",
|
||||||
|
"$# ####! !### ",
|
||||||
|
"$# #! ! !# # ",
|
||||||
|
"$# ####! !### ",
|
||||||
|
"$# #! ! !# # ",
|
||||||
|
"$# ####! !### ",
|
||||||
|
"$# #! ! !# # ",
|
||||||
|
"$$$$$$#! !### ",
|
||||||
|
" #! !# ",
|
||||||
|
" #!!!!!# ",
|
||||||
|
" "};
|
BIN
demos/dbbrowse/bitmaps/d_closed.ico
Normal file
After Width: | Height: | Size: 318 B |
26
demos/dbbrowse/bitmaps/d_closed.xpm
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
/* XPM */
|
||||||
|
static char * DocClosed_xpm[] = {
|
||||||
|
/* width height ncolors chars_per_pixel */
|
||||||
|
"16 16 4 1",
|
||||||
|
/* colors */
|
||||||
|
" s None c None",
|
||||||
|
". c #000000",
|
||||||
|
"& c #ff0000",
|
||||||
|
"+ c #ffffff",
|
||||||
|
/* pixels */
|
||||||
|
" ",
|
||||||
|
"........ ",
|
||||||
|
".++++++.. ",
|
||||||
|
".+.+.++.+. ",
|
||||||
|
".++++++.... ",
|
||||||
|
".+.+.+++++.. ",
|
||||||
|
".+++++++++.&. ",
|
||||||
|
".+.+.+.+.+.&&. ",
|
||||||
|
".+++++++++.&&&. ",
|
||||||
|
".+.+.+.+.+.&&&. ",
|
||||||
|
".+++++++++.&&. ",
|
||||||
|
".+.+.+.+.+.&. ",
|
||||||
|
".+++++++++.. ",
|
||||||
|
"........... ",
|
||||||
|
" ",
|
||||||
|
" "};
|
BIN
demos/dbbrowse/bitmaps/d_open.ico
Normal file
After Width: | Height: | Size: 318 B |
26
demos/dbbrowse/bitmaps/d_open.xpm
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
/* XPM */
|
||||||
|
static char * DocOpen_xpm[] = {
|
||||||
|
/* width height ncolors chars_per_pixel */
|
||||||
|
"16 16 4 1",
|
||||||
|
/* colors */
|
||||||
|
" s None c None",
|
||||||
|
". c #000000",
|
||||||
|
"& c #00ff00",
|
||||||
|
"+ c #ffffff",
|
||||||
|
/* pixels */
|
||||||
|
" ",
|
||||||
|
"........ ",
|
||||||
|
".++++++.. ",
|
||||||
|
".+.+.++.+. ",
|
||||||
|
".++++++.... ",
|
||||||
|
".+.+.+++++.. ",
|
||||||
|
".+++++++++.&. ",
|
||||||
|
".+.+.+.+.+.&&. ",
|
||||||
|
".+++++++++.&&&. ",
|
||||||
|
".+.+.+.+.+.&&&. ",
|
||||||
|
".+++++++++.&&. ",
|
||||||
|
".+.+.+.+.+.&. ",
|
||||||
|
".+++++++++.. ",
|
||||||
|
"........... ",
|
||||||
|
" ",
|
||||||
|
" "};
|
BIN
demos/dbbrowse/bitmaps/dsn.ico
Normal file
After Width: | Height: | Size: 1.1 KiB |
23
demos/dbbrowse/bitmaps/dsn.xpm
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
/* XPM */
|
||||||
|
static char* DSN_xpm[] = {
|
||||||
|
"16 16 4 1",
|
||||||
|
" c #000000",
|
||||||
|
"! c #C0C0C0",
|
||||||
|
"# c #808080",
|
||||||
|
"$ c #FFFF00",
|
||||||
|
" # ####### ",
|
||||||
|
" ###!#!!!!## ",
|
||||||
|
" #!#!!!!!!!!# ",
|
||||||
|
"$## !!###!!!!# ",
|
||||||
|
" # #!!!!!!!!# ",
|
||||||
|
" #!#!#!!!### ",
|
||||||
|
" $#!#!### ## ",
|
||||||
|
" # $!!#### # ",
|
||||||
|
" # !### ## ",
|
||||||
|
" # !!!#### # ",
|
||||||
|
" # !### ## ",
|
||||||
|
" # !!!#### # ",
|
||||||
|
" # !### ## ",
|
||||||
|
" # !!!#### # ",
|
||||||
|
" ## !### ## ",
|
||||||
|
" ######## "};
|
BIN
demos/dbbrowse/bitmaps/dsnclose.ico
Normal file
After Width: | Height: | Size: 1.1 KiB |
23
demos/dbbrowse/bitmaps/dsnclose.xpm
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
/* XPM */
|
||||||
|
static char* DsnClosed_xpm[] = {
|
||||||
|
"16 16 4 1",
|
||||||
|
" c #000000",
|
||||||
|
"! c #C0C0C0",
|
||||||
|
"# c #808080",
|
||||||
|
"$ c #FF0000",
|
||||||
|
" $ $##$### ",
|
||||||
|
" $#$!$!!!!## ",
|
||||||
|
" #!$!!!!!!!!# ",
|
||||||
|
"$$$ !!$$$!!!!# ",
|
||||||
|
" # $!!!!!!!!# ",
|
||||||
|
" $!$!$!!!### ",
|
||||||
|
" $!!$!#!$ ## ",
|
||||||
|
" # $!!#### # ",
|
||||||
|
" # !### ## ",
|
||||||
|
" # !!!#### # ",
|
||||||
|
" # !### ## ",
|
||||||
|
" # !!!#### # ",
|
||||||
|
" # !### ## ",
|
||||||
|
" # !!!#### # ",
|
||||||
|
" ## !### ## ",
|
||||||
|
" ######## "};
|
BIN
demos/dbbrowse/bitmaps/dsnopen.ico
Normal file
After Width: | Height: | Size: 1.1 KiB |
23
demos/dbbrowse/bitmaps/dsnopen.xpm
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
/* XPM */
|
||||||
|
static char* DsnOpen_xpm[] = {
|
||||||
|
"16 16 4 1",
|
||||||
|
" c #000000",
|
||||||
|
"! c #C0C0C0",
|
||||||
|
"# c #808080",
|
||||||
|
"$ c #00FF00",
|
||||||
|
" $ $##$### ",
|
||||||
|
" $#$!$!!!!## ",
|
||||||
|
" #!$!!!!!!!!# ",
|
||||||
|
"$$$ !!$$$!!!!# ",
|
||||||
|
" # $!!!!!!!!# ",
|
||||||
|
" $!$!$!!!### ",
|
||||||
|
" $!!$!#!$ ## ",
|
||||||
|
" # $!!#### # ",
|
||||||
|
" # !### ## ",
|
||||||
|
" # !!!#### # ",
|
||||||
|
" # !### ## ",
|
||||||
|
" # !!!#### # ",
|
||||||
|
" # !### ## ",
|
||||||
|
" # !!!#### # ",
|
||||||
|
" ## !### ## ",
|
||||||
|
" ######## "};
|
BIN
demos/dbbrowse/bitmaps/f_closed.ico
Normal file
After Width: | Height: | Size: 318 B |
28
demos/dbbrowse/bitmaps/f_closed.xpm
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
/* XPM */
|
||||||
|
static char * FolderClosed_xpm[] = {
|
||||||
|
/* width height ncolors chars_per_pixel */
|
||||||
|
"16 16 6 1",
|
||||||
|
/* colors */
|
||||||
|
" s None c None",
|
||||||
|
". c #000000",
|
||||||
|
"+ c #c0c0c0",
|
||||||
|
"@ c #808080",
|
||||||
|
"# c #ffff00",
|
||||||
|
"$ c #ffffff",
|
||||||
|
/* pixels */
|
||||||
|
" ",
|
||||||
|
" @@@@@ ",
|
||||||
|
" @#+#+#@ ",
|
||||||
|
" @#+#+#+#@@@@@@ ",
|
||||||
|
" @$$$$$$$$$$$$@.",
|
||||||
|
" @$#+#+#+#+#+#@.",
|
||||||
|
" @$+#+#+#+#+#+@.",
|
||||||
|
" @$#+#+#+#+#+#@.",
|
||||||
|
" @$+#+#+#+#+#+@.",
|
||||||
|
" @$#+#+#+#+#+#@.",
|
||||||
|
" @$+#+#+#+#+#+@.",
|
||||||
|
" @$#+#+#+#+#+#@.",
|
||||||
|
" @@@@@@@@@@@@@@.",
|
||||||
|
" ..............",
|
||||||
|
" ",
|
||||||
|
" "};
|
BIN
demos/dbbrowse/bitmaps/f_open.ico
Normal file
After Width: | Height: | Size: 318 B |
28
demos/dbbrowse/bitmaps/f_open.xpm
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
/* XPM */
|
||||||
|
static char * FolderOpen_xpm[] = {
|
||||||
|
/* width height ncolors chars_per_pixel */
|
||||||
|
"16 16 6 1",
|
||||||
|
/* colors */
|
||||||
|
" s None c None",
|
||||||
|
". c #000000",
|
||||||
|
"+ c #c0c0c0",
|
||||||
|
"@ c #808080",
|
||||||
|
"# c #ffff00",
|
||||||
|
"$ c #ffffff",
|
||||||
|
/* pixels */
|
||||||
|
" ",
|
||||||
|
" @@@@@ ",
|
||||||
|
" @$$$$$@ ",
|
||||||
|
" @$#+#+#$@@@@@@ ",
|
||||||
|
" @$+#+#+$$$$$$@.",
|
||||||
|
" @$#+#+#+#+#+#@.",
|
||||||
|
"@@@@@@@@@@@@@#@.",
|
||||||
|
"@$$$$$$$$$$@@+@.",
|
||||||
|
"@$#+#+#+#+##.@@.",
|
||||||
|
" @$#+#+#+#+#+.@.",
|
||||||
|
" @$+#+#+#+#+#.@.",
|
||||||
|
" @$+#+#+#+##@..",
|
||||||
|
" @@@@@@@@@@@@@.",
|
||||||
|
" .............",
|
||||||
|
" ",
|
||||||
|
" "};
|
BIN
demos/dbbrowse/bitmaps/key.ico
Normal file
After Width: | Height: | Size: 1.1 KiB |
26
demos/dbbrowse/bitmaps/key.xpm
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
/* XPM */
|
||||||
|
static char* XpmKEY_xpm[] = {
|
||||||
|
"16 16 7 1",
|
||||||
|
" c #000000",
|
||||||
|
"! c #008000",
|
||||||
|
"# c #808000",
|
||||||
|
"$ c #000080",
|
||||||
|
"% c #C0C0C0",
|
||||||
|
"& c #808080",
|
||||||
|
"' c #FFFF00",
|
||||||
|
" && ",
|
||||||
|
" ## #&% ",
|
||||||
|
" #'& $'#& ",
|
||||||
|
"#''& $'#% ",
|
||||||
|
"#''& %'#& ",
|
||||||
|
" #'''''%#% ",
|
||||||
|
" ##%%%'#% ",
|
||||||
|
" #%'# ",
|
||||||
|
" #'#& !!!!! ",
|
||||||
|
" %#'## !!!!! ",
|
||||||
|
" ###& !! !! ",
|
||||||
|
" #'## !!!!! ",
|
||||||
|
" ###& !!!! ",
|
||||||
|
" #'#& !! ",
|
||||||
|
" #%#& !!!! ",
|
||||||
|
" &% "};
|
BIN
demos/dbbrowse/bitmaps/keyf.ico
Normal file
After Width: | Height: | Size: 1.1 KiB |
26
demos/dbbrowse/bitmaps/keyf.xpm
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
/* XPM */
|
||||||
|
static char* XpmKEYF_xpm[] = {
|
||||||
|
"16 16 7 1",
|
||||||
|
" c #000000",
|
||||||
|
"! c #808000",
|
||||||
|
"# c #000080",
|
||||||
|
"$ c #C0C0C0",
|
||||||
|
"% c #808080",
|
||||||
|
"& c #FFFF00",
|
||||||
|
"' c #0000FF",
|
||||||
|
" %% ",
|
||||||
|
" !! !%$ ",
|
||||||
|
" !&% #&!% ",
|
||||||
|
"!&&% #&!$ ",
|
||||||
|
"!&&% $&!% ",
|
||||||
|
" !&&&&&$!$ ",
|
||||||
|
" !!$$$&!$ ",
|
||||||
|
" !$&!$ ",
|
||||||
|
" !&!% '''''' ",
|
||||||
|
" $!&!! '' ' ",
|
||||||
|
" !!!% '' ",
|
||||||
|
" !&!! ''' ",
|
||||||
|
" !!!% '' ",
|
||||||
|
" !&!% '' ",
|
||||||
|
" !$!% '''' ",
|
||||||
|
" %$ "};
|
BIN
demos/dbbrowse/bitmaps/logo.ico
Normal file
After Width: | Height: | Size: 1.1 KiB |
23
demos/dbbrowse/bitmaps/logo.xpm
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
/* XPM */
|
||||||
|
static char* Logo_xpm[] = {
|
||||||
|
"16 16 4 1",
|
||||||
|
" c #000000",
|
||||||
|
"! c #C0C0C0",
|
||||||
|
"# c #808080",
|
||||||
|
"$ c #FF0000",
|
||||||
|
" ###### ",
|
||||||
|
" ##!!! ## ",
|
||||||
|
" #!!! !!! # ",
|
||||||
|
" #!!! ! !! # ",
|
||||||
|
" #!! ! !!!! ",
|
||||||
|
" #!! ! !!!!! ",
|
||||||
|
" #!! !!!!! ",
|
||||||
|
" # !! # ",
|
||||||
|
" # !! ### $ ",
|
||||||
|
" #!!!!# !$$ ",
|
||||||
|
" # !!### ##!$$ ",
|
||||||
|
" #!!!!#### #!$$ ",
|
||||||
|
" # !!### ## #!$$",
|
||||||
|
" #!!!!#### # #$#",
|
||||||
|
" ##!!### ## # ",
|
||||||
|
" ######## "};
|
BIN
demos/dbbrowse/bitmaps/pgmctrl.bmp
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
demos/dbbrowse/bitmaps/pgmctrl.ico
Normal file
After Width: | Height: | Size: 1.1 KiB |
27
demos/dbbrowse/bitmaps/pgmctrl.xpm
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
/* XPM */
|
||||||
|
static char * PgmCtrl_xpm[] = {
|
||||||
|
/* width height ncolors chars_per_pixel */
|
||||||
|
"16 16 5 1",
|
||||||
|
/* colors */
|
||||||
|
" s None c None",
|
||||||
|
". c #000000",
|
||||||
|
"+ c #ff0000",
|
||||||
|
"@ c #0000ff",
|
||||||
|
"# c #ffffff",
|
||||||
|
/* pixels */
|
||||||
|
" ",
|
||||||
|
" ",
|
||||||
|
" ########## ",
|
||||||
|
" #........# ",
|
||||||
|
" #........# ",
|
||||||
|
" #........# ",
|
||||||
|
" #..########### ",
|
||||||
|
" #..#+++++++++# ",
|
||||||
|
" ####++#####++# ",
|
||||||
|
" #+#@@@@@#+# ",
|
||||||
|
" #+#@@@@@#+# ",
|
||||||
|
" #+#@@@@@#+# ",
|
||||||
|
" #++#####++# ",
|
||||||
|
" #+++++++++# ",
|
||||||
|
" ########### ",
|
||||||
|
" "};
|
BIN
demos/dbbrowse/bitmaps/tab.ico
Normal file
After Width: | Height: | Size: 1.1 KiB |
26
demos/dbbrowse/bitmaps/tab.xpm
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
/* XPM */
|
||||||
|
static char* TAB[] = {
|
||||||
|
"16 16 7 1",
|
||||||
|
" c #000000",
|
||||||
|
"! c #800080",
|
||||||
|
"# c #008080",
|
||||||
|
"$ c #C0C0C0",
|
||||||
|
"% c #808080",
|
||||||
|
"& c #0000FF",
|
||||||
|
"' c #00FFFF",
|
||||||
|
" ",
|
||||||
|
" ",
|
||||||
|
"!!!!!!!!!!!!!!!!",
|
||||||
|
"!&&&&&&&&&&&&&&!",
|
||||||
|
"!!!!!!!!!!!!!!!!",
|
||||||
|
"!'$'#$'$$$#$$$$!",
|
||||||
|
"!$'$#'$$$$#$$$$!",
|
||||||
|
"!##############!",
|
||||||
|
"!$'$#$$$$$#$$%$!",
|
||||||
|
"!'$$#$$$$$#$%$%!",
|
||||||
|
"!##############!",
|
||||||
|
"!$$$#$$%$$#%%%%!",
|
||||||
|
"!$$%#$%$%%#%%%%!",
|
||||||
|
"!!!!!!!!!!!!!!!!",
|
||||||
|
" ",
|
||||||
|
" "};
|
549
demos/dbbrowse/browsedb.cpp
Normal file
@@ -0,0 +1,549 @@
|
|||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// Name: BrowserDB.h,cpp
|
||||||
|
// Purpose: a wxDB;
|
||||||
|
// Author: Mark Johnson, mj10777@gmx.net
|
||||||
|
// Modified by:
|
||||||
|
// Created: 19991127.mj10777
|
||||||
|
// Copyright: (c) Mark Johnson
|
||||||
|
// Licence: wxWindows license
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
//-- 1)
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
//-- all #ifdefs that the whole Project needs. ------------------------------
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma implementation
|
||||||
|
#pragma interface
|
||||||
|
#endif
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// 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
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
#include <wx/dbtable.h>
|
||||||
|
#include "std.h"
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// Global structure for holding ODBC connection information
|
||||||
|
// - darf nur einmal im Projekte definiert werden ?? Extra Databasse Klasse ?
|
||||||
|
struct DbStuff ConnectInf; // F<>r DBase
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
extern DbList* WXDLLEXPORT PtrBegDbList; /* from db.cpp, used in getting back error results from db connections */
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
char *GetExtendedDBErrorMsg(char *ErrFile, int ErrLine)
|
||||||
|
{
|
||||||
|
static wxString msg;
|
||||||
|
wxString tStr;
|
||||||
|
if (ErrFile || ErrLine)
|
||||||
|
{
|
||||||
|
msg += "File: ";
|
||||||
|
msg += ErrFile;
|
||||||
|
msg += " Line: ";
|
||||||
|
tStr.Printf("%d",ErrLine);
|
||||||
|
msg += tStr.GetData();
|
||||||
|
// msg += "\n";
|
||||||
|
}
|
||||||
|
msg.Append ("\nODBC errors:\n");
|
||||||
|
// msg += "\n";
|
||||||
|
/* Scan through each database connection displaying
|
||||||
|
* any ODBC errors that have occured. */
|
||||||
|
for (DbList *pDbList = PtrBegDbList; pDbList; pDbList = pDbList->PtrNext)
|
||||||
|
{
|
||||||
|
// Skip over any free connections
|
||||||
|
if (pDbList->Free)
|
||||||
|
continue;
|
||||||
|
// Display errors for this connection
|
||||||
|
for (int i = 0; i < DB_MAX_ERROR_HISTORY; i++)
|
||||||
|
{
|
||||||
|
if (pDbList->PtrDb->errorList[i])
|
||||||
|
{
|
||||||
|
msg.Append(pDbList->PtrDb->errorList[i]);
|
||||||
|
if (strcmp(pDbList->PtrDb->errorList[i],"") != 0)
|
||||||
|
msg.Append("\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
msg += "\n";
|
||||||
|
return (char*) (const char*) msg;
|
||||||
|
} // GetExtendedDBErrorMsg
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// BJO 20000115 : New stuff : dialog to ask for username and password
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
class UserDialog : public wxDialog
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
UserDialog(wxWindow* parent);
|
||||||
|
virtual ~UserDialog();
|
||||||
|
void OnOK(wxCommandEvent& event);
|
||||||
|
wxString s_UserName, s_Password;
|
||||||
|
|
||||||
|
private:
|
||||||
|
wxButton *m_OK;
|
||||||
|
wxStaticText *m_Label1, *m_Label2;
|
||||||
|
wxTextCtrl *m_UserName, *m_Password;
|
||||||
|
|
||||||
|
|
||||||
|
DECLARE_EVENT_TABLE()
|
||||||
|
};
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
BEGIN_EVENT_TABLE(UserDialog, wxDialog)
|
||||||
|
EVT_BUTTON(wxID_OK, UserDialog::OnOK)
|
||||||
|
END_EVENT_TABLE()
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
UserDialog::UserDialog(wxWindow *parent):
|
||||||
|
wxDialog(parent, -1, _("ODBC user"),wxDefaultPosition, wxSize(310, 300),wxDIALOG_MODAL | wxDEFAULT_DIALOG_STYLE)
|
||||||
|
{
|
||||||
|
wxLayoutConstraints* layout;
|
||||||
|
SetAutoLayout(TRUE);
|
||||||
|
//-----------------------------------------------
|
||||||
|
m_OK = new wxButton(this, wxID_OK, _("Ok"));
|
||||||
|
layout = new wxLayoutConstraints;
|
||||||
|
layout->left.SameAs(this, wxLeft, 10);
|
||||||
|
layout->top.SameAs(this, wxTop,10);
|
||||||
|
layout->height.AsIs();
|
||||||
|
layout->width.Absolute(75);
|
||||||
|
m_OK->SetConstraints(layout);
|
||||||
|
|
||||||
|
m_Label1 = new wxStaticText(this, -1, _("User name:"));
|
||||||
|
layout = new wxLayoutConstraints;
|
||||||
|
layout->left.SameAs(m_OK, wxLeft);
|
||||||
|
layout->top.SameAs(m_OK, wxBottom, 10);
|
||||||
|
layout->height.AsIs();
|
||||||
|
layout->width.AsIs();
|
||||||
|
m_Label1->SetConstraints(layout);
|
||||||
|
|
||||||
|
m_UserName = new wxTextCtrl(this, -1, "");
|
||||||
|
layout = new wxLayoutConstraints;
|
||||||
|
layout->left.SameAs(m_OK, wxLeft);
|
||||||
|
layout->top.SameAs(m_Label1, wxBottom, 3);
|
||||||
|
layout->width.AsIs();
|
||||||
|
layout->height.AsIs();
|
||||||
|
m_UserName->SetConstraints(layout);
|
||||||
|
|
||||||
|
m_Label2 = new wxStaticText(this, -1, _("Password:"));
|
||||||
|
layout = new wxLayoutConstraints;
|
||||||
|
layout->left.SameAs(m_OK, wxLeft);
|
||||||
|
layout->top.SameAs(m_UserName, wxBottom, 10);
|
||||||
|
layout->height.AsIs();
|
||||||
|
layout->width.AsIs();
|
||||||
|
m_Label2->SetConstraints(layout);
|
||||||
|
|
||||||
|
m_Password = new wxTextCtrl(this, -1, "", wxDefaultPosition, wxDefaultSize, wxTE_PASSWORD);
|
||||||
|
layout = new wxLayoutConstraints;
|
||||||
|
layout->left.SameAs(m_OK, wxLeft);
|
||||||
|
layout->width.AsIs();
|
||||||
|
layout->top.SameAs(m_Label2, wxBottom, 3);
|
||||||
|
layout->height.AsIs();
|
||||||
|
m_Password->SetConstraints(layout);
|
||||||
|
|
||||||
|
s_UserName = "";
|
||||||
|
s_Password = "";
|
||||||
|
|
||||||
|
Layout();
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
UserDialog::~UserDialog()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
void UserDialog::OnOK(wxCommandEvent& WXUNUSED(event))
|
||||||
|
{
|
||||||
|
strcpy(ConnectInf.Uid, m_UserName->GetValue());
|
||||||
|
strcpy(ConnectInf.AuthStr, m_Password->GetValue());
|
||||||
|
EndModal(1);
|
||||||
|
}
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// BJO 20000115 : end of new stuff
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
BrowserDB::BrowserDB()
|
||||||
|
{
|
||||||
|
Zeiger_auf_NULL(0);
|
||||||
|
ODBCSource = ""; // ODBC data source name (created with ODBC Administrator under Win95/NT)
|
||||||
|
UserName = ""; // database username - must already exist in the data source
|
||||||
|
Password = ""; // password database username
|
||||||
|
OnFillSqlTyp();
|
||||||
|
OnFilldbTyp();
|
||||||
|
} // BrowserDB Constructor
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
BrowserDB::~BrowserDB()
|
||||||
|
{
|
||||||
|
Zeiger_auf_NULL(1); // Clean up Tables and Databases (Commit, Close und delete)
|
||||||
|
} // BrowserDB destructor
|
||||||
|
//--------------------------------------------------------------------------------------------
|
||||||
|
bool BrowserDB::Initialize(int Quite)
|
||||||
|
{
|
||||||
|
if (!OnStartDB(Quite))
|
||||||
|
{
|
||||||
|
wxLogMessage(_("\n\n-E-> BrowserDB::OnStartDB(%s) : Failed ! "),ODBCSource.c_str());
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
} // BrowserDB:Initialize
|
||||||
|
//--------------------------------------------------------------------------------------------
|
||||||
|
bool BrowserDB::OnStartDB(int Quite)
|
||||||
|
{
|
||||||
|
if (!Quite)
|
||||||
|
wxLogMessage(_("\n-I-> BrowserDB::OnStartDB(%s) : Begin "),ODBCSource.c_str());
|
||||||
|
if (db_BrowserDB != NULL)
|
||||||
|
{
|
||||||
|
if (!Quite)
|
||||||
|
wxLogMessage(_("\n-I-> BrowserDB::OnStartDB() : DB is allready open."));
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
// Initialize the ODBC Environment for Database Operations
|
||||||
|
if (SQLAllocEnv(&ConnectInf.Henv) != SQL_SUCCESS)
|
||||||
|
{
|
||||||
|
if (!Quite)
|
||||||
|
wxLogMessage(_("\n-E-> BrowserDB::OnStartDB() : DB CONNECTION ERROR : A problem occured while trying to get a connection to the data source"));
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// Connect to datasource
|
||||||
|
//---------------------------
|
||||||
|
DlgUser p_Dlg(pDoc->p_MainFrame, "Username and Password", wxPoint(100, 100), wxSize(340, 170));
|
||||||
|
p_Dlg.s_DSN = ODBCSource;
|
||||||
|
p_Dlg.s_User = UserName;
|
||||||
|
p_Dlg.s_Password = Password;
|
||||||
|
p_Dlg.OnInit();
|
||||||
|
if (p_Dlg.ShowModal() == wxID_OK)
|
||||||
|
{
|
||||||
|
(pDoc->p_DSN+i_Which)->Usr = p_Dlg.s_User;
|
||||||
|
(pDoc->p_DSN+i_Which)->Pas = p_Dlg.s_Password;
|
||||||
|
UserName = p_Dlg.s_User;
|
||||||
|
Password = p_Dlg.s_Password;
|
||||||
|
}
|
||||||
|
p_Dlg.Destroy();
|
||||||
|
//---------------------------
|
||||||
|
strcpy(ConnectInf.Dsn, ODBCSource); // ODBC data source name (created with ODBC Administrator under Win95/NT)
|
||||||
|
strcpy(ConnectInf.Uid, UserName); // database username - must already exist in the data source
|
||||||
|
strcpy(ConnectInf.AuthStr, Password); // password database username
|
||||||
|
db_BrowserDB = GetDbConnection(&ConnectInf);
|
||||||
|
// wxLogMessage(">>>%s<<<>>>%s<<<",UserName.c_str(),Password.c_str());
|
||||||
|
if (db_BrowserDB == NULL)
|
||||||
|
{
|
||||||
|
strcpy(ConnectInf.Dsn, "");
|
||||||
|
strcpy(ConnectInf.Uid, "");
|
||||||
|
strcpy(ConnectInf.AuthStr, "");
|
||||||
|
if (!Quite)
|
||||||
|
{
|
||||||
|
wxLogMessage(_("\n-E-> BrowserDB::OnConnectDataSource() DB CONNECTION ERROR : Unable to connect to the data source.\n\nCheck the name of your data source to verify it has been correctly entered/spelled.\n\nWith some databases, the user name and password must\nbe created with full rights to the table prior to making a connection\n(using tools provided by the database manufacturer)"));
|
||||||
|
wxLogMessage(_("-I-> BrowserDB::OnStartDB(%s) : End "),ODBCSource.c_str());
|
||||||
|
}
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
if (!Quite)
|
||||||
|
{
|
||||||
|
Temp1 = db_BrowserDB->GetDatabaseName();
|
||||||
|
Temp2 = db_BrowserDB->GetDataSource();
|
||||||
|
wxLogMessage(_("-I-> BrowserDB::OnGetDataSourceODBC() - DatabaseName(%s) ; DataSource(%s)"),Temp1.c_str(),Temp2.c_str());
|
||||||
|
wxLogMessage(_("-I-> BrowserDB::OnStartDB(%s) : End "),ODBCSource.c_str());
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
//--------------------------------------------------------------------------------------------
|
||||||
|
bool BrowserDB::OnCloseDB(int Quite)
|
||||||
|
{
|
||||||
|
if (!Quite)
|
||||||
|
wxLogMessage(_("-I-> BrowserDB::OnCloseDB() : Begin "));
|
||||||
|
if (db_BrowserDB)
|
||||||
|
{
|
||||||
|
db_BrowserDB->Close();
|
||||||
|
FreeDbConnection(db_BrowserDB);
|
||||||
|
|
||||||
|
// Free Environment Handle that ODBC uses
|
||||||
|
if (SQLFreeEnv(&ConnectInf.Henv) != SQL_SUCCESS)
|
||||||
|
{
|
||||||
|
// Error freeing environment handle
|
||||||
|
}
|
||||||
|
db_BrowserDB = NULL;
|
||||||
|
}
|
||||||
|
if (!Quite)
|
||||||
|
wxLogMessage(_("\n-I-> BrowserDB::OnCloseDB() : End "));
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------------------------
|
||||||
|
bool BrowserDB::OnGetNext(int Cols,int Quite)
|
||||||
|
{
|
||||||
|
SDWORD cb;
|
||||||
|
int i_dbDataType;
|
||||||
|
int i=0;
|
||||||
|
char s_temp[1024+1];
|
||||||
|
long l_temp;
|
||||||
|
double f_temp;
|
||||||
|
int AnzError=0;
|
||||||
|
TIMESTAMP_STRUCT t_temp;
|
||||||
|
wxString Temp0;
|
||||||
|
//-----------------------------
|
||||||
|
if (!db_BrowserDB->GetNext())
|
||||||
|
{
|
||||||
|
return FALSE;
|
||||||
|
Temp0.Printf(_("\n-E-> BrowserDB::OnGetNext - ODBC-Error with GetNext \n-E-> "));
|
||||||
|
Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
|
||||||
|
wxLogMessage(Temp0);
|
||||||
|
wxMessageBox(Temp0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for (i=0;i<Cols;i++)
|
||||||
|
{
|
||||||
|
strcpy((cl_BrowserDB+i)->tableName,"-E->");
|
||||||
|
i_dbDataType = (cl_BrowserDB->pColFor+i)->i_dbDataType;
|
||||||
|
if (i_dbDataType == 0) // Filter unsupported dbDataTypes
|
||||||
|
{
|
||||||
|
if (((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_VARCHAR) || ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_LONGVARCHAR))
|
||||||
|
i_dbDataType = DB_DATA_TYPE_VARCHAR;
|
||||||
|
if ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_C_DATE)
|
||||||
|
i_dbDataType = DB_DATA_TYPE_DATE;
|
||||||
|
if ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_C_BIT)
|
||||||
|
i_dbDataType = DB_DATA_TYPE_INTEGER;
|
||||||
|
if ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_NUMERIC)
|
||||||
|
i_dbDataType = DB_DATA_TYPE_VARCHAR;
|
||||||
|
if ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_REAL)
|
||||||
|
i_dbDataType = DB_DATA_TYPE_FLOAT;
|
||||||
|
}
|
||||||
|
if ((i_dbDataType == DB_DATA_TYPE_INTEGER) && ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_C_DOUBLE))
|
||||||
|
{ // DBASE Numeric
|
||||||
|
i_dbDataType = DB_DATA_TYPE_FLOAT;
|
||||||
|
}
|
||||||
|
switch(i_dbDataType)
|
||||||
|
{
|
||||||
|
case DB_DATA_TYPE_VARCHAR:
|
||||||
|
strcpy(s_temp,"");
|
||||||
|
if (!db_BrowserDB->GetData(i+1,(cl_BrowserDB->pColFor+i)->i_dbDataType,&s_temp,sizeof(s_temp), &cb))
|
||||||
|
{
|
||||||
|
Temp0.Printf(_("\n-E-> BrowserDB::OnGetNext - ODBC-Error with GetNext of >%s<.\n-E-> "),(cl_BrowserDB+i)->tableName);
|
||||||
|
Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
|
||||||
|
wxLogMessage(Temp0);
|
||||||
|
}
|
||||||
|
Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,s_temp);
|
||||||
|
strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
|
||||||
|
break;
|
||||||
|
case DB_DATA_TYPE_INTEGER:
|
||||||
|
l_temp = 0;
|
||||||
|
if (!db_BrowserDB->GetData(i+1,(cl_BrowserDB->pColFor+i)->i_sqlDataType,&l_temp,sizeof(l_temp), &cb))
|
||||||
|
{
|
||||||
|
Temp0.Printf(_("\n-E-> BrowserDB::OnGetData - ODBC-Error with GetNext \n-E-> "));
|
||||||
|
Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,l_temp);
|
||||||
|
strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case DB_DATA_TYPE_FLOAT:
|
||||||
|
f_temp = 0;
|
||||||
|
if (!db_BrowserDB->GetData(i+1,(cl_BrowserDB->pColFor+i)->i_sqlDataType,&f_temp,sizeof(f_temp), &cb))
|
||||||
|
{
|
||||||
|
Temp0.Printf(_("\n-E-> BrowserDB::OnGetData - ODBC-Error with GetNext \n-E-> "));
|
||||||
|
Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
|
||||||
|
wxMessageBox(Temp0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,f_temp);
|
||||||
|
strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case DB_DATA_TYPE_DATE:
|
||||||
|
t_temp.day = t_temp.month = t_temp.year = t_temp.hour = t_temp.minute = t_temp.second = t_temp.fraction = 0;
|
||||||
|
if (!db_BrowserDB->GetData(i+1,(cl_BrowserDB->pColFor+i)->i_sqlDataType,&t_temp,sizeof(t_temp), &cb))
|
||||||
|
{
|
||||||
|
Temp0.Printf(_("\n-E-> BrowserDB::OnGetData - ODBC-Error with GetNext \n-E-> "));
|
||||||
|
Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// i_Nation = 0 = timestamp , 1=EU, 2=UK, 3=International, 4=US
|
||||||
|
if (((cl_BrowserDB->pColFor+i)->i_Nation == 0) || // TS YYYY-MM-DD
|
||||||
|
((cl_BrowserDB->pColFor+i)->i_Nation == 3)) // IT YYYY-MM-DD
|
||||||
|
{
|
||||||
|
Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,t_temp.year,t_temp.month,t_temp.day,
|
||||||
|
t_temp.hour, t_temp.minute, t_temp.second, t_temp.fraction);
|
||||||
|
strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
|
||||||
|
}
|
||||||
|
if ( ((cl_BrowserDB->pColFor+i)->i_Nation == 1) || // EU DD.MM.YYYY
|
||||||
|
((cl_BrowserDB->pColFor+i)->i_Nation == 2)) // UK DD/MM/YYYY
|
||||||
|
{
|
||||||
|
Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,t_temp.day,t_temp.month,t_temp.year,
|
||||||
|
t_temp.hour, t_temp.minute, t_temp.second, t_temp.fraction);
|
||||||
|
strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
|
||||||
|
}
|
||||||
|
if ((cl_BrowserDB->pColFor+i)->i_Nation == 3) // US MM/DD/YYYY
|
||||||
|
{
|
||||||
|
Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,t_temp.month,t_temp.day,t_temp.year,
|
||||||
|
t_temp.hour, t_temp.minute, t_temp.second, t_temp.fraction);
|
||||||
|
strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
AnzError++;
|
||||||
|
if (AnzError <= 100)
|
||||||
|
{
|
||||||
|
Temp0 = (cl_BrowserDB+i)->colName;
|
||||||
|
wxLogMessage(_("-E-> BrowserDB::OnGetNext - DB_DATA_TYPE_?? (%d) in Col(%s)"),(cl_BrowserDB->pColFor+i)->i_dbDataType,Temp0.c_str());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return TRUE;
|
||||||
|
Temp0.Printf(_("-E-> unknown Format(%d) - sql(%d)"),(cl_BrowserDB->pColFor+i)->i_dbDataType,(cl_BrowserDB->pColFor+i)->i_sqlDataType);
|
||||||
|
strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
|
||||||
|
break;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// wxLogMessage("-E-> BrowserDB::OnGetNext - End");
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------------------------
|
||||||
|
bool BrowserDB::OnSelect(wxString tb_Name, int Quite)
|
||||||
|
{
|
||||||
|
wxString SQLStmt;
|
||||||
|
i_Records = 0;
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
SQLStmt.sprintf("SELECT * FROM %s",tb_Name.c_str());
|
||||||
|
if (!db_BrowserDB->ExecSql((char *)(SQLStmt.GetData())))
|
||||||
|
{
|
||||||
|
Temp0.Printf(_("\n-E-> BrowserDB::OnSelect - ODBC-Error with ExecSql of >%s<.\n-E-> "),tb_Name.c_str());
|
||||||
|
Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
|
||||||
|
wxLogMessage(Temp0);
|
||||||
|
wxMessageBox("-E-> BrowserDB::OnSelect - GetData()");
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
while (db_BrowserDB->GetNext())
|
||||||
|
{
|
||||||
|
i_Records++;
|
||||||
|
}
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
if (!db_BrowserDB->ExecSql((char *)(SQLStmt.GetData())))
|
||||||
|
{
|
||||||
|
Temp0.Printf(_("\n-E-> BrowserDB::OnSelect - ODBC-Error with ExecSql of >%s<.\n-E-> "),tb_Name.c_str());
|
||||||
|
Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
|
||||||
|
wxLogMessage(Temp0);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
// SetColDefs ( 0,"NAME", DB_DATA_TYPE_VARCHAR, Name, SQL_C_CHAR, sizeof(Name), TRUE, TRUE); // Primary index
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
if (!Quite)
|
||||||
|
{
|
||||||
|
wxLogMessage(_("\n-I-> BrowserDB::OnSelect(%s) Records(%d): End "),tb_Name.c_str(),i_Records);
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------------------------
|
||||||
|
bool BrowserDB::OnExecSql(wxString SQLStmt, int Quite)
|
||||||
|
{
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
if (!db_BrowserDB->ExecSql((char *)(SQLStmt.GetData())))
|
||||||
|
{
|
||||||
|
Temp0.Printf(_("\n-E-> BrowserDB::OnExecSQL - ODBC-Error with ExecSql of >%s<.\n-E-> "),SQLStmt.c_str());
|
||||||
|
Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
|
||||||
|
if (!Quite)
|
||||||
|
wxLogMessage(Temp0);
|
||||||
|
else
|
||||||
|
wxMessageBox("-E-> BrowserDB::OnExecSql - ExecSql()");
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
if (!Quite)
|
||||||
|
{
|
||||||
|
// wxLogMessage(_("\n-I-> BrowserDB::OnExecSql(%s) - End "),SQLStmt.c_str());
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------------------------
|
||||||
|
wxDbInf* BrowserDB::OnGetCatalog(int Quite)
|
||||||
|
{
|
||||||
|
char UName[255];
|
||||||
|
strcpy(UName,UserName);
|
||||||
|
ct_BrowserDB = db_BrowserDB->GetCatalog(UName);
|
||||||
|
return ct_BrowserDB;
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------------------------
|
||||||
|
wxColInf* BrowserDB::OnGetColumns(char *tableName, int numCols,int Quite)
|
||||||
|
{
|
||||||
|
char UName[255];
|
||||||
|
int i;
|
||||||
|
strcpy(UName,UserName);
|
||||||
|
cl_BrowserDB = db_BrowserDB->GetColumns(tableName,&numCols,UName);
|
||||||
|
cl_BrowserDB->pColFor = new wxColFor[numCols];
|
||||||
|
for (i=0;i<numCols;i++)
|
||||||
|
{
|
||||||
|
(cl_BrowserDB->pColFor+i)->Format(1,(cl_BrowserDB+i)->dbDataType,(cl_BrowserDB+i)->sqlDataType,
|
||||||
|
(cl_BrowserDB+i)->columnSize, (cl_BrowserDB+i)->decimalDigits);
|
||||||
|
}
|
||||||
|
return cl_BrowserDB;
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------------------------
|
||||||
|
void BrowserDB::Zeiger_auf_NULL(int Art)
|
||||||
|
{
|
||||||
|
if (Art == 1) // L<>schen
|
||||||
|
{
|
||||||
|
if (cl_BrowserDB != NULL)
|
||||||
|
{ // Destroy the memory
|
||||||
|
delete [] cl_BrowserDB;
|
||||||
|
}
|
||||||
|
if (ct_BrowserDB != NULL)
|
||||||
|
{ // Destroy the memory
|
||||||
|
delete [] ct_BrowserDB;
|
||||||
|
}
|
||||||
|
if (db_BrowserDB != NULL)
|
||||||
|
{
|
||||||
|
db_BrowserDB->CommitTrans();
|
||||||
|
db_BrowserDB->Close();
|
||||||
|
CloseDbConnections();
|
||||||
|
delete db_BrowserDB;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
cl_BrowserDB = NULL;
|
||||||
|
ct_BrowserDB = NULL;
|
||||||
|
db_BrowserDB = NULL;
|
||||||
|
p_LogWindow = NULL;
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------------------------
|
||||||
|
void BrowserDB::OnFillSqlTyp()
|
||||||
|
{
|
||||||
|
i_SqlTyp[1] = SQL_C_BINARY; s_SqlTyp[1] = "SQL_C_BINARY";
|
||||||
|
i_SqlTyp[2] = SQL_C_BIT; s_SqlTyp[2] = "SQL_C_BIT";
|
||||||
|
i_SqlTyp[3] = SQL_C_BOOKMARK; s_SqlTyp[3] = "SQL_C_BOOKMARK";
|
||||||
|
i_SqlTyp[4] = SQL_C_CHAR; s_SqlTyp[4] = "SQL_C_CHAR";
|
||||||
|
i_SqlTyp[5] = SQL_C_DATE; s_SqlTyp[5] = "SQL_C_DATE";
|
||||||
|
i_SqlTyp[6] = SQL_C_DEFAULT; s_SqlTyp[6] = "SQL_C_DEFAULT";
|
||||||
|
i_SqlTyp[7] = SQL_C_DOUBLE; s_SqlTyp[7] = "SQL_C_DOUBLE";
|
||||||
|
i_SqlTyp[8] = SQL_C_FLOAT; s_SqlTyp[8] = "SQL_C_FLOAT";
|
||||||
|
i_SqlTyp[9] = SQL_C_LONG; s_SqlTyp[9] = "SQL_C_LONG";
|
||||||
|
i_SqlTyp[10] = SQL_C_SHORT; s_SqlTyp[10] = "SQL_C_SHORT";
|
||||||
|
i_SqlTyp[11] = SQL_C_SLONG; s_SqlTyp[11] = "SQL_C_SLONG";
|
||||||
|
i_SqlTyp[12] = SQL_C_SSHORT; s_SqlTyp[12] = "SQL_C_SSHORT";
|
||||||
|
i_SqlTyp[13] = SQL_C_STINYINT; s_SqlTyp[13] = "SQL_C_STINYINT";
|
||||||
|
i_SqlTyp[14] = SQL_C_TIME; s_SqlTyp[14] = "SQL_C_TIME";
|
||||||
|
i_SqlTyp[15] = SQL_C_TIMESTAMP; s_SqlTyp[15] = "SQL_C_TIMESTAMP";
|
||||||
|
i_SqlTyp[16] = SQL_C_TINYINT; s_SqlTyp[16] = "SQL_C_TINYINT";
|
||||||
|
i_SqlTyp[17] = SQL_C_ULONG; s_SqlTyp[17] = "SQL_C_ULONG";
|
||||||
|
i_SqlTyp[18] = SQL_C_USHORT; s_SqlTyp[18] = "SQL_C_USHORT";
|
||||||
|
i_SqlTyp[19] = SQL_C_UTINYINT; s_SqlTyp[19] = "SQL_C_UTINYINT";
|
||||||
|
i_SqlTyp[20] = SQL_VARCHAR; s_SqlTyp[20] = "SQL_VARCHAR";
|
||||||
|
i_SqlTyp[21] = SQL_NUMERIC; s_SqlTyp[21] = "SQL_NUMERIC";
|
||||||
|
i_SqlTyp[22] = SQL_LONGVARCHAR; s_SqlTyp[22] = "SQL_LONGVARCHAR";
|
||||||
|
i_SqlTyp[23] = SQL_REAL; s_SqlTyp[23] = "SQL_REAL";
|
||||||
|
i_SqlTyp[0] = 23; s_SqlTyp[0] = "";
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------------------------
|
||||||
|
void BrowserDB::OnFilldbTyp()
|
||||||
|
{
|
||||||
|
i_dbTyp[1] = DB_DATA_TYPE_VARCHAR; s_dbTyp[1] = "DB_DATA_TYPE_VARCHAR";
|
||||||
|
i_dbTyp[2] = DB_DATA_TYPE_INTEGER; s_dbTyp[2] = "DB_DATA_TYPE_INTEGER";
|
||||||
|
i_dbTyp[3] = DB_DATA_TYPE_FLOAT; s_dbTyp[3] = "DB_DATA_TYPE_FLOAT";
|
||||||
|
i_dbTyp[4] = DB_DATA_TYPE_DATE; s_dbTyp[4] = "DB_DATA_TYPE_DATE";
|
||||||
|
i_dbTyp[0] = 4; s_dbTyp[0] = "";
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------------------------
|
76
demos/dbbrowse/browsedb.h
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// Name: browsedb.h
|
||||||
|
// Purpose: a wxDB ;
|
||||||
|
// Author: Mark Johnson, mj10777@gmx.net
|
||||||
|
// Modified by:
|
||||||
|
// Created: 19991127.mj10777
|
||||||
|
// Copyright: (c) Mark Johnson
|
||||||
|
// Licence: wxWindows license
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
//-- Zu tun in browsedb.h
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
//-- 1)
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// Global structure for holding ODBC connection information
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
extern struct DbStuff DbConnectInf;
|
||||||
|
class mjDoc;
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
class BrowserDB
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// Pointer to the main database connection used in the program. This
|
||||||
|
// pointer would normally be used for doing things as database lookups
|
||||||
|
// for user login names and passwords, getting workstation settings, etc.
|
||||||
|
// ---> IMPORTANT <---
|
||||||
|
//
|
||||||
|
// For each database object created which uses this wxDB pointer
|
||||||
|
// connection to the database, when a CommitTrans() or RollBackTrans()
|
||||||
|
// will commit or rollback EVERY object which uses this wxDB pointer.
|
||||||
|
//
|
||||||
|
// To allow each table object (those derived from wxTable) to be
|
||||||
|
// individually committed or rolled back, you MUST use a different
|
||||||
|
// instance of wxDB in the constructor of the table. Doing so creates
|
||||||
|
// more overhead, and will use more database connections (some DBs have
|
||||||
|
// connection limits...), so use connections sparringly.
|
||||||
|
//
|
||||||
|
// It is recommended that one "main" database connection be created for
|
||||||
|
// the entire program to use for READ-ONLY database accesses, but for each
|
||||||
|
// table object which will do a CommitTrans() or RollbackTrans() that a
|
||||||
|
// new wxDB object be created and used for it.
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
wxDB* db_BrowserDB;
|
||||||
|
wxDbInf* ct_BrowserDB;
|
||||||
|
wxColInf* cl_BrowserDB;
|
||||||
|
wxString ODBCSource, UserName, Password;
|
||||||
|
mjDoc *pDoc;
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
wxString Temp0, Temp1, Temp2, Temp3, Temp4, Temp5;
|
||||||
|
wxString ODBCText;
|
||||||
|
wxTextCtrl* p_LogWindow;
|
||||||
|
wxString s_SqlTyp[25];
|
||||||
|
int i_SqlTyp[25];
|
||||||
|
wxString s_dbTyp[5];
|
||||||
|
int i_dbTyp[5];
|
||||||
|
int i_Which;
|
||||||
|
int i_Records;
|
||||||
|
int i_Cols;
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
BrowserDB();
|
||||||
|
~BrowserDB();
|
||||||
|
void Zeiger_auf_NULL(int Art);
|
||||||
|
bool Initialize(int Quite);
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
bool OnStartDB(int Quite);
|
||||||
|
bool OnCloseDB(int Quite);
|
||||||
|
bool OnSelect(wxString tb_Name,int Quite);
|
||||||
|
bool OnExecSql(wxString SQLStmt,int Quite);
|
||||||
|
bool OnGetNext(int Cols,int Quite);
|
||||||
|
wxDbInf* OnGetCatalog(int Quite);
|
||||||
|
wxColInf* OnGetColumns(char *tableName, int numCols,int Quite);
|
||||||
|
void OnFillSqlTyp();
|
||||||
|
void OnFilldbTyp();
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
}; // BrowserDB class definition
|
||||||
|
//---------------------------------------------------------------------------
|
351
demos/dbbrowse/dbbrowse.cpp
Normal file
@@ -0,0 +1,351 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// Name: dbbrowse.cpp
|
||||||
|
// Purpose: Through ODBC - Databases Browsen
|
||||||
|
// Author: Mark Johnson, mj10777@gmx.net
|
||||||
|
// Modified by:
|
||||||
|
// BJO : Bart A.M. JOURQUIN
|
||||||
|
// Created: 19991127
|
||||||
|
// Copyright: (c) Mark Johnson
|
||||||
|
// Licence: wxWindows license
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
//-- all #ifdefs that the whole Project needs. ------------------------------
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma implementation
|
||||||
|
#pragma interface
|
||||||
|
#endif
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// 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
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
#ifndef __WXMSW__
|
||||||
|
#endif
|
||||||
|
#include "bitmaps/logo.xpm"
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
//-- all #includes that every .cpp needs --- 19990807.mj10777 ---
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
#include "std.h" // sorgsam Pflegen !
|
||||||
|
#include <iostream>
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
//-- Some Global Vars for this file ----------------------------------------
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
MainFrame *frame = NULL; // The one and only MainFrame
|
||||||
|
// wxLogNull logNo; // No Log messages
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// verify that the item is ok and insult the user if it is not
|
||||||
|
#define CHECK_ITEM(item) \
|
||||||
|
if (!item.IsOk()) \
|
||||||
|
{ \
|
||||||
|
wxMessageBox(_("Please select some item first!"),_("Tree sample error"), \
|
||||||
|
wxOK | wxICON_EXCLAMATION,this); \
|
||||||
|
return; \
|
||||||
|
} \
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
BEGIN_EVENT_TABLE(MainFrame, wxFrame)
|
||||||
|
EVT_MENU(QUIT, MainFrame::OnQuit)
|
||||||
|
EVT_MENU(ABOUT, MainFrame::OnAbout)
|
||||||
|
EVT_MENU(HELP, MainFrame::OnHelp)
|
||||||
|
EVT_SIZE(MainFrame::OnSize)
|
||||||
|
END_EVENT_TABLE()
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
IMPLEMENT_APP(MyApp)
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// `Main program' equivalent, creating windows and returning main app frame
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
bool MyApp::OnInit(void)
|
||||||
|
{
|
||||||
|
//---------------------------------------------------------------------------------------
|
||||||
|
// set the language to use
|
||||||
|
const char *langhelp = NULL;
|
||||||
|
const char *language = NULL;
|
||||||
|
const char *langid = NULL;
|
||||||
|
//---------------------------------------------------------------------------------------
|
||||||
|
#if wxUSE_LIBPNG
|
||||||
|
wxImage::AddHandler( new wxPNGHandler ); // use only when needed, otherwise big .exe's
|
||||||
|
#endif
|
||||||
|
/*
|
||||||
|
#if wxUSE_LIBJPEG
|
||||||
|
wxImage::AddHandler(new wxJPEGHandler ); // use only when needed, otherwise big .exe's
|
||||||
|
#endif
|
||||||
|
wxImage::AddHandler( new wxGIFHandler ); // use only when needed, otherwise big .exe's
|
||||||
|
wxImage::AddHandler( new wxPCXHandler ); // use only when needed, otherwise big .exe's
|
||||||
|
wxImage::AddHandler( new wxPNMHandler ); // use only when needed, otherwise big .exe's
|
||||||
|
*/
|
||||||
|
#ifdef __WXMSW__
|
||||||
|
// wxBitmap::AddHandler( new wxXPMFileHandler ); // use only when needed, otherwise big .exe's
|
||||||
|
// wxBitmap::AddHandler( new wxXPMDataHandler ); // use only when needed, otherwise big .exe's
|
||||||
|
#endif
|
||||||
|
//---------------------------------------------------------------------------------------
|
||||||
|
langid = "std"; // BJO20000125 instead of ""
|
||||||
|
switch ( argc )
|
||||||
|
{
|
||||||
|
default:
|
||||||
|
// ignore the other args, fall through
|
||||||
|
case 3:
|
||||||
|
language = argv[2];
|
||||||
|
langid = argv[1];
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
langid = argv[1];
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
break;
|
||||||
|
};
|
||||||
|
//---------------------------------------------------------------------------------------
|
||||||
|
// we're using wxConfig's "create-on-demand" feature: it will create the
|
||||||
|
// config object when it's used for the first time. It has a number of
|
||||||
|
// advantages compared with explicitly creating our wxConfig:
|
||||||
|
// 1) we don't pay for it if we don't use it
|
||||||
|
// 2) there is no danger to create it twice
|
||||||
|
|
||||||
|
// application and vendor name are used by wxConfig to construct the name
|
||||||
|
// of the config file/registry key and must be set before the first call
|
||||||
|
// to Get() if you want to override the default values (the application
|
||||||
|
// name is the name of the executable and the vendor name is the same)
|
||||||
|
//---------------------------------------------------------------------------------------
|
||||||
|
SetVendorName("mj10777");
|
||||||
|
SetAppName("DBBrowser"); // not needed, it's the default value
|
||||||
|
p_ProgramCfg = wxConfigBase::Get();
|
||||||
|
// p_ProgramCfg->DeleteAll();
|
||||||
|
p_ProgramCfg->SetPath("/");
|
||||||
|
wxString Temp0, Temp1;
|
||||||
|
Temp0.Empty();
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------
|
||||||
|
//-- Set the Language and remember it for the next time. --------------------------------
|
||||||
|
//---------------------------------------------------------------------------------------
|
||||||
|
langhelp = "help.std/dbbrowse.hhp";
|
||||||
|
if (langid == "std")
|
||||||
|
{
|
||||||
|
p_ProgramCfg->Read("/Local/langid",&Temp0); // >const char *langid< can't be used here
|
||||||
|
if (Temp0 == "")
|
||||||
|
langid = "std";
|
||||||
|
else
|
||||||
|
langid = Temp0;
|
||||||
|
}
|
||||||
|
Temp0 = langid;
|
||||||
|
p_ProgramCfg->Write("/Local/langid",Temp0); // >const char *langid< can't be used here
|
||||||
|
//---------------------------------------------------------------------------------------
|
||||||
|
// Support the following languages
|
||||||
|
if (Temp0 != "std")
|
||||||
|
{
|
||||||
|
if (Temp0 == "cz")
|
||||||
|
{
|
||||||
|
language = "czech"; // csy or czech
|
||||||
|
langhelp = "help.cz/dbbrowse.hhp";
|
||||||
|
}
|
||||||
|
if ((Temp0 == "de") || (Temp0 == "a"))
|
||||||
|
{
|
||||||
|
language = "german"; // deu or german
|
||||||
|
langhelp = "help.de/dbbrowse.hhp";
|
||||||
|
}
|
||||||
|
if (Temp0 == "fr")
|
||||||
|
{
|
||||||
|
language = "french"; // fra or french
|
||||||
|
langhelp = "help.fr/dbbrowse.hhp";
|
||||||
|
}
|
||||||
|
if (Temp0 == "pl")
|
||||||
|
{
|
||||||
|
language = "polish"; // plk or polish
|
||||||
|
langhelp = "help.pl/dbbrowse.hhp";
|
||||||
|
}
|
||||||
|
if (!m_locale.Init(language, langid, language)) // setlocale(LC_ALL,""); does not work
|
||||||
|
wxMessageBox("SetLocale error");
|
||||||
|
m_locale.AddCatalog("PgmText");
|
||||||
|
m_locale.AddCatalog("Help");
|
||||||
|
Temp0 = language;
|
||||||
|
p_ProgramCfg->Write("/Local/language",Temp0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Temp0 = "english";
|
||||||
|
p_ProgramCfg->Write("/Local/language",Temp0);
|
||||||
|
Temp0 = "std"; // allways english if not german or french (at the moment austrian)
|
||||||
|
}
|
||||||
|
|
||||||
|
Temp0 = "NONE";
|
||||||
|
p_ProgramCfg->Write("/NONE",Temp0);
|
||||||
|
p_ProgramCfg->Write("/Paths/NONE",Temp0);
|
||||||
|
p_ProgramCfg->Write("/MainFrame/NONE",Temp0);
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
p_ProgramCfg->Write("/Paths/Work",wxGetCwd());
|
||||||
|
p_ProgramCfg->SetPath("/");
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// or you could also write something like this:
|
||||||
|
// wxFileConfig *p_ProgramCfg = new wxFileConfig("conftest");
|
||||||
|
// wxConfigBase::Set(p_ProgramCfg);
|
||||||
|
// where you can also specify the file names explicitly if you wish.
|
||||||
|
// Of course, calling Set() is optional and you only must do it if
|
||||||
|
// you want to later retrieve this pointer with Get().
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// SetPath() understands ".."
|
||||||
|
// restore frame position and size
|
||||||
|
int x = p_ProgramCfg->Read("/MainFrame/x", 1), y = p_ProgramCfg->Read("/MainFrame/y", 1),
|
||||||
|
w = p_ProgramCfg->Read("/MainFrame/w", 600), h = p_ProgramCfg->Read("/MainFrame/h", 450);
|
||||||
|
//---------------------------------------------------------------------------------------
|
||||||
|
// Create the main frame window
|
||||||
|
frame = new MainFrame((wxFrame *) NULL, (char *) _("DBBrowser - mj10777"),x,y,w,h);
|
||||||
|
//---------------------------------------------------------------------------------------
|
||||||
|
// This reduces flicker effects - even better would be to define OnEraseBackground
|
||||||
|
// to do Temp0. When the list control's scrollbars are show or hidden, the
|
||||||
|
// frame is sent a background erase event.
|
||||||
|
//---------------------------------------------------------------------------------------
|
||||||
|
frame->SetBackgroundColour( *wxWHITE );
|
||||||
|
// frame->SetBackgroundColour(wxColour(255, 255, 255));
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------
|
||||||
|
// Make a menubar
|
||||||
|
wxMenu *file_menu = new wxMenu;
|
||||||
|
wxMenu *help_menu = new wxMenu;
|
||||||
|
|
||||||
|
help_menu->Append(HELP, _("&Help"));
|
||||||
|
help_menu->AppendSeparator();
|
||||||
|
help_menu->Append(ABOUT, _("&About"));
|
||||||
|
file_menu->Append(QUIT, _("E&xit"));
|
||||||
|
|
||||||
|
wxMenuBar *menu_bar = new wxMenuBar;
|
||||||
|
menu_bar->Append(file_menu, _("&File"));
|
||||||
|
menu_bar->Append(help_menu, _("&Help"));
|
||||||
|
frame->SetMenuBar(menu_bar);
|
||||||
|
frame->CreateStatusBar(1);
|
||||||
|
Temp0.Printf(_("%s has started !"),p_ProgramCfg->GetAppName().c_str());
|
||||||
|
frame->SetStatusText(Temp0, 0);
|
||||||
|
//---------------------------------------------------------------------------------------
|
||||||
|
int width, height;
|
||||||
|
frame->GetClientSize(&width, &height);
|
||||||
|
|
||||||
|
frame->p_Splitter = new DocSplitterWindow(frame, SPLITTER_WINDOW);
|
||||||
|
|
||||||
|
// p_Splitter->SetCursor(wxCursor(wxCURSOR_PENCIL));
|
||||||
|
frame->pDoc = new mjDoc();
|
||||||
|
frame->pDoc->p_MainFrame = frame;
|
||||||
|
frame->pDoc->p_Splitter = frame->p_Splitter;
|
||||||
|
frame->pDoc->p_Splitter->pDoc = frame->pDoc; // ControlBase: saving the Sash
|
||||||
|
if (!frame->pDoc->OnNewDocument())
|
||||||
|
frame->Close(TRUE);
|
||||||
|
// frame->Maximize();
|
||||||
|
// frame->SetSize(-1,-1); // the wxSplitter does not show correctly without this !
|
||||||
|
frame->SetClientSize(width, height); // the wxSplitter does not show correctly without this !
|
||||||
|
//---------------------------------------------------------------------------------------
|
||||||
|
//-- Problem : GetClientSize(Width,Hight) are not the same as the values given in the ---
|
||||||
|
//-- construction of the Frame. ---
|
||||||
|
//-- Solved : GetClientSize is called here and the difference is noted. When the ---
|
||||||
|
//-- Window is closed the diff. is added to the result of GetClientSize. ---
|
||||||
|
//---------------------------------------------------------------------------------------
|
||||||
|
frame->GetClientSize(&frame->DiffW, &frame->DiffH); frame->DiffW-=w; frame->DiffH-=h;
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
//-- Help : ---
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
frame->help.UseConfig(p_ProgramCfg);
|
||||||
|
frame->help.AddBook(langhelp);
|
||||||
|
/*
|
||||||
|
if (!frame->help.AddBook("helpfiles/dbbrowse.hhp"))
|
||||||
|
wxMessageBox("Failed adding book helpfiles/dbbrowse.hhp");
|
||||||
|
if (!frame->help.AddBook("helpfiles/testing.hhp"))
|
||||||
|
wxMessageBox("Failed adding book helpfiles/testing.hhp");
|
||||||
|
if (!frame->help.AddBook("helpfiles/another.hhp"))
|
||||||
|
wxMessageBox("Failed adding book helpfiles/another.hhp");
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------
|
||||||
|
p_ProgramCfg->Flush(TRUE); // sicher Objekt
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------
|
||||||
|
// Show the frame
|
||||||
|
frame->Show(TRUE);
|
||||||
|
SetTopWindow(frame);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// My frame constructor
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
MainFrame::MainFrame(wxFrame *frame, char *title, int x, int y, int w, int h):
|
||||||
|
wxFrame(frame, SPLITTER_FRAME, title, wxPoint(x, y), wxSize(w, h))
|
||||||
|
{
|
||||||
|
InitializeMenu();
|
||||||
|
// This reduces flicker effects - even better would be to define OnEraseBackground
|
||||||
|
// to do Temp0. When the list control's scrollbars are show or hidden, the
|
||||||
|
// frame is sent a background erase event.
|
||||||
|
SetBackgroundColour( *wxWHITE );
|
||||||
|
// frame->SetBackgroundColour(wxColour(255, 255, 255));
|
||||||
|
//---------------------------------------------------------------------------------------
|
||||||
|
// Give it an icon
|
||||||
|
SetIcon( wxICON(Logo) );
|
||||||
|
//---------------------------------------------------------------------------------------
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
MainFrame::~MainFrame(void)
|
||||||
|
{
|
||||||
|
// save the control's values to the config
|
||||||
|
if ( p_ProgramCfg == NULL )
|
||||||
|
return;
|
||||||
|
// save the frame position
|
||||||
|
int x, y, w, h;
|
||||||
|
GetPosition(&x, &y);
|
||||||
|
GetClientSize(&w, &h); w -= DiffW; h -= DiffH;
|
||||||
|
p_ProgramCfg->Write("/MainFrame/x", (long) x);
|
||||||
|
p_ProgramCfg->Write("/MainFrame/y", (long) y);
|
||||||
|
p_ProgramCfg->Write("/MainFrame/w", (long) w);
|
||||||
|
p_ProgramCfg->Write("/MainFrame/h", (long) h);
|
||||||
|
p_ProgramCfg->Write("/MainFrame/Sash", (long) pDoc->Sash);
|
||||||
|
// clean up: Set() returns the active config object as Get() does, but unlike
|
||||||
|
// Get() it doesn't try to create one if there is none (definitely not what
|
||||||
|
// we want here!)
|
||||||
|
// delete wxConfigBase::Set((wxConfigBase *) NULL);
|
||||||
|
p_ProgramCfg->Flush(TRUE); // sichert Objekt
|
||||||
|
delete frame->pDoc;
|
||||||
|
}
|
||||||
|
//--------------------------------------------------------------------------------------
|
||||||
|
void MainFrame::InitializeMenu()
|
||||||
|
{
|
||||||
|
//---------------------------------------------------------------------------------------
|
||||||
|
// Make a menubar
|
||||||
|
//---------------------------------------------------------------------------------------
|
||||||
|
wxMenu *file_menu = new wxMenu;
|
||||||
|
|
||||||
|
file_menu->Append(ABOUT, _("&About"));
|
||||||
|
file_menu->AppendSeparator();
|
||||||
|
file_menu->Append(QUIT, _("E&xit"));
|
||||||
|
|
||||||
|
|
||||||
|
wxMenuBar *menu_bar = new wxMenuBar;
|
||||||
|
menu_bar->Append(file_menu, _("&File"));
|
||||||
|
SetMenuBar(menu_bar);
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
void MainFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
|
||||||
|
{
|
||||||
|
// Close the help frame; this will cause the config data to
|
||||||
|
// get written.
|
||||||
|
if (help.GetFrame()) // returns NULL if no help frame active
|
||||||
|
help.GetFrame()->Close(TRUE);
|
||||||
|
Close(TRUE);
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
void MainFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
|
||||||
|
{
|
||||||
|
wxMessageDialog dialog(this, _("DBBrowser\nMark Johnson\nBerlin, Germany\nmj10777@gmx.net\n (c) 1999"),
|
||||||
|
_("About DBBrowser"), wxOK|wxCANCEL);
|
||||||
|
|
||||||
|
dialog.ShowModal();
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
void MainFrame::OnHelp(wxCommandEvent& WXUNUSED(event))
|
||||||
|
{
|
||||||
|
help.Display("Main page");
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
54
demos/dbbrowse/dbbrowse.h
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// Name: dbbrowse.h
|
||||||
|
// Purpose: Through ODBC - Databases Browsen
|
||||||
|
// Author: Mark Johnson, mj10777@gmx.net
|
||||||
|
// Modified by:
|
||||||
|
// Created: 19991127
|
||||||
|
// Copyright: (c) Mark Johnson
|
||||||
|
// Licence: wxWindows license
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// Define a new application type
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
class MyApp: public wxApp
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
bool OnInit(void);
|
||||||
|
wxLocale m_locale; // locale we'll be using
|
||||||
|
};
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// Define a new frame type
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
class MainFrame: public wxFrame
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
MainFrame(wxFrame *frame, char *title, int x, int y, int w, int h);
|
||||||
|
~MainFrame(void);
|
||||||
|
|
||||||
|
public:
|
||||||
|
// menu callbacks
|
||||||
|
void InitializeMenu();
|
||||||
|
void OnQuit(wxCommandEvent& event);
|
||||||
|
void OnAbout(wxCommandEvent& event);
|
||||||
|
void OnHelp(wxCommandEvent& event);
|
||||||
|
//--------------------------------------------------------
|
||||||
|
wxHtmlHelpController help;
|
||||||
|
//--------------------------------------------------------
|
||||||
|
int DiffW, DiffH;
|
||||||
|
mjDoc *pDoc;
|
||||||
|
DocSplitterWindow *p_Splitter;
|
||||||
|
//--------------------------------------------------------
|
||||||
|
DECLARE_EVENT_TABLE()
|
||||||
|
};
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// ID for the menu quit command
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
#define QUIT 1
|
||||||
|
#define ABOUT 2
|
||||||
|
#define HELP 3
|
||||||
|
#define SPLITTER_FRAME 100
|
||||||
|
#define SPLITTER_WINDOW 101
|
||||||
|
#define TREE_CTRL_PGM 102
|
||||||
|
#define GRID_CTRL 103
|
||||||
|
#define TREE_CTRL_DB 104
|
||||||
|
#define GRID_CTRL_DB 105
|
||||||
|
//------------------------------------------------------------------------------
|
15
demos/dbbrowse/dbbrowse.rc
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
Logo ICON "bitmaps\\logo.ico"
|
||||||
|
Col ICON "bitmaps\\col.ico"
|
||||||
|
DSNClosed ICON "bitmaps\\dsnclose.ico"
|
||||||
|
DSNOpen ICON "bitmaps\\dsnopen.ico"
|
||||||
|
KEY ICON "bitmaps\\key.ico"
|
||||||
|
KEYF ICON "bitmaps\\keyf.ico"
|
||||||
|
TAB ICON "bitmaps\\tab.ico"
|
||||||
|
DocClosed ICON "bitmaps\\d_closed.ico"
|
||||||
|
DocOpen ICON "bitmaps\\d_open.ico"
|
||||||
|
FolderClosed ICON "bitmaps\\f_closed.ico"
|
||||||
|
FolderOpen ICON "bitmaps\\f_open.ico"
|
||||||
|
PgmCtrl BITMAP "bitmaps\\pgmctrl.bmp"
|
||||||
|
|
||||||
|
#include "wx/msw/wx.rc"
|
||||||
|
#include "wx/html/msw/wxhtml.rc"
|
371
demos/dbbrowse/dbgrid.cpp
Normal file
@@ -0,0 +1,371 @@
|
|||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// Name: DBGrid.cpp
|
||||||
|
// Purpose: wxGrid sample
|
||||||
|
// Author: Mark Johnson
|
||||||
|
// Modified by: 19990929.mj10777 a reuseable DBGrid
|
||||||
|
// Created: 19990929
|
||||||
|
// RCS-ID:
|
||||||
|
// Copyright: (c)
|
||||||
|
// Licence: wxWindows license
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
//-- all #ifdefs that the whole Project needs. ------------------------------
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma implementation
|
||||||
|
#pragma interface
|
||||||
|
#endif
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// 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_LABEL_LEFT_CLICK( DBGrid::OnLabelLeftClick )
|
||||||
|
EVT_GRID_LABEL_RIGHT_CLICK( DBGrid::OnLabelRightClick )
|
||||||
|
EVT_GRID_LABEL_LEFT_DCLICK( DBGrid::OnLabelLeftDClick )
|
||||||
|
EVT_GRID_LABEL_RIGHT_DCLICK( DBGrid::OnLabelRightDClick )
|
||||||
|
EVT_GRID_CELL_LEFT_CLICK( DBGrid::OnCellLeftClick )
|
||||||
|
EVT_GRID_CELL_RIGHT_CLICK( DBGrid::OnCellRightClick )
|
||||||
|
EVT_GRID_CELL_LEFT_DCLICK( DBGrid::OnCellLeftDClick )
|
||||||
|
EVT_GRID_CELL_RIGHT_DCLICK( DBGrid::OnCellRightDClick )
|
||||||
|
EVT_GRID_ROW_SIZE( DBGrid::OnRowSize )
|
||||||
|
// EVT_GRID_COL_SIZE( DBGrid::OnColSize )
|
||||||
|
EVT_GRID_RANGE_SELECT( DBGrid::OnRangeSelected )
|
||||||
|
EVT_GRID_CELL_CHANGE( DBGrid::OnCellChange )
|
||||||
|
EVT_MENU(GRID_EDIT,DBGrid::OnModusEdit)
|
||||||
|
EVT_MENU(GRID_BROWSE,DBGrid::OnModusBrowse)
|
||||||
|
END_EVENT_TABLE()
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// wxListCtrl(parent, id, pos, size, style)
|
||||||
|
// wxGrid(parent,-1,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)
|
||||||
|
{
|
||||||
|
f_Temp = new wxFont(10,wxSWISS,wxNORMAL,wxBOLD,FALSE,"Comic Sans MS");
|
||||||
|
wxPanel::SetFont(* f_Temp);
|
||||||
|
b_EditModus = TRUE;
|
||||||
|
//----------------------------------------------------------------------------------------------------------------------------
|
||||||
|
popupMenu1 = new wxMenu("");
|
||||||
|
popupMenu1->Append(GRID_EDIT, _("Edit Modus"));
|
||||||
|
popupMenu2 = new wxMenu("");
|
||||||
|
popupMenu2->Append(GRID_BROWSE, _("Browse Modus"));
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
DBGrid::~DBGrid()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
int DBGrid::OnTableView(wxString Table)
|
||||||
|
{
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
int i=0,x,y,z, ValidTable=0;
|
||||||
|
wxString Temp0;
|
||||||
|
SetLabelFont(* f_Temp);
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
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
|
||||||
|
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
|
||||||
|
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++;
|
||||||
|
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("%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 (z % 50 == 0)
|
||||||
|
{
|
||||||
|
Temp0.Printf(_("-I-> DBGrid::OnTableView(%s) - Record %6d has been read."),Table.c_str(),z);
|
||||||
|
pDoc->p_MainFrame->SetStatusText(Temp0, 0);
|
||||||
|
}
|
||||||
|
} // for (z=0;z<(db_Br+i_Which)->i_Records;z++)
|
||||||
|
Temp0.Printf(_("-I-> DBGrid::OnTableView(%s) - %6d Records have been read."),Table.c_str(),z);
|
||||||
|
pDoc->p_MainFrame->SetStatusText(Temp0, 0);
|
||||||
|
// 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:
|
||||||
|
SetEditInPlace(b_EditModus); // Activate in-place Editing (FALSE)
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
wxLogMessage(_("-I-> DBGrid::OnTableView() - End"));
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
void DBGrid::OnModusEdit(wxMenu& menu, wxCommandEvent& event)
|
||||||
|
{
|
||||||
|
b_EditModus = TRUE; // Needed by PopupMenu
|
||||||
|
SetEditable(FALSE); // Do not Edit with Text Edit Control
|
||||||
|
SetEditInPlace(b_EditModus); // Deactivate in-place Editing
|
||||||
|
UpdateDimensions(); // Redraw the Grid
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
void DBGrid::OnModusBrowse(wxMenu& menu, wxCommandEvent& event)
|
||||||
|
{
|
||||||
|
b_EditModus = FALSE; // Needed by PopupMenu
|
||||||
|
SetEditInPlace(b_EditModus); // Deactivate in-place Editing
|
||||||
|
UpdateDimensions(); // Redraw the Grid
|
||||||
|
}
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
void DBGrid::OnMouseMove(wxMouseEvent &event)
|
||||||
|
{
|
||||||
|
MousePos = event.GetPosition();
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
void DBGrid::OnLabelLeftClick( wxGridEvent& ev )
|
||||||
|
{
|
||||||
|
logBuf = "DBGrid::OnLabelLeftClick : ";
|
||||||
|
if ( ev.GetRow() != -1 )
|
||||||
|
{
|
||||||
|
logBuf << "row label " << ev.GetRow();
|
||||||
|
}
|
||||||
|
else if ( ev.GetCol() != -1 )
|
||||||
|
{
|
||||||
|
logBuf << "col label " << ev.GetCol();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
logBuf << "corner label";
|
||||||
|
}
|
||||||
|
if ( ev.ShiftDown() )
|
||||||
|
logBuf << " (shift down)";
|
||||||
|
// wxLogMessage( "%s", logBuf.c_str() );
|
||||||
|
logBuf += "\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 = "DBGrid::OnLabelRightClick : ";
|
||||||
|
if ( ev.GetRow() != -1 )
|
||||||
|
{
|
||||||
|
logBuf << "row label " << ev.GetRow();
|
||||||
|
}
|
||||||
|
else if ( ev.GetCol() != -1 )
|
||||||
|
{
|
||||||
|
logBuf << "col label " << ev.GetCol();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
logBuf << "corner label";
|
||||||
|
}
|
||||||
|
if ( ev.ShiftDown() )
|
||||||
|
logBuf << " (shift down)";
|
||||||
|
// wxLogMessage( "%s", logBuf.c_str() );
|
||||||
|
logBuf += "\n";
|
||||||
|
wxLogMessage(logBuf.c_str());
|
||||||
|
ev.Skip();
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
void DBGrid::OnLabelLeftDClick( wxGridEvent& ev )
|
||||||
|
{
|
||||||
|
logBuf = "DBGrid::OnLabelLeftDClick : ";
|
||||||
|
if ( ev.GetRow() != -1 )
|
||||||
|
{
|
||||||
|
logBuf << "row label " << ev.GetRow();
|
||||||
|
}
|
||||||
|
else if ( ev.GetCol() != -1 )
|
||||||
|
{
|
||||||
|
logBuf << "col label " << ev.GetCol();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
logBuf << "corner label";
|
||||||
|
}
|
||||||
|
if ( ev.ShiftDown() )
|
||||||
|
logBuf << " (shift down)";
|
||||||
|
// wxLogMessage( "%s", logBuf.c_str() );
|
||||||
|
logBuf += "\n";
|
||||||
|
wxLogMessage(logBuf.c_str());
|
||||||
|
ev.Skip();
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
void DBGrid::OnLabelRightDClick( wxGridEvent& ev )
|
||||||
|
{
|
||||||
|
logBuf = "DBGrid::OnLabelRightDClick : ";
|
||||||
|
if ( ev.GetRow() != -1 )
|
||||||
|
{
|
||||||
|
logBuf << "row label " << ev.GetRow();
|
||||||
|
}
|
||||||
|
else if ( ev.GetCol() != -1 )
|
||||||
|
{
|
||||||
|
logBuf << "col label " << ev.GetCol();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
logBuf << "corner label";
|
||||||
|
}
|
||||||
|
if ( ev.ShiftDown() )
|
||||||
|
logBuf << " (shift down)";
|
||||||
|
// wxLogMessage( "%s", logBuf.c_str() );
|
||||||
|
logBuf += "\n";
|
||||||
|
wxLogMessage(logBuf.c_str());
|
||||||
|
ev.Skip();
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
void DBGrid::OnCellLeftClick( wxGridEvent& ev )
|
||||||
|
{
|
||||||
|
logBuf = "DBGrid::OnCellLeftClick : ";
|
||||||
|
logBuf << "Cell at row " << ev.GetRow()
|
||||||
|
<< " col " << ev.GetCol();
|
||||||
|
// wxLogMessage( "%s", logBuf.c_str() );
|
||||||
|
// wxMessageBox(logBuf);
|
||||||
|
logBuf += "\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 = "DBGrid::OnCellRightClick : ";
|
||||||
|
logBuf << "Cell at row " << ev.GetRow()
|
||||||
|
<< " col " << ev.GetCol();
|
||||||
|
// wxLogMessage( "%s", logBuf.c_str() );
|
||||||
|
// wxMessageBox(logBuf);
|
||||||
|
logBuf += "\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 = "DBGrid::OnCellLeftDClick : ";
|
||||||
|
logBuf << "Cell at row " << ev.GetRow()
|
||||||
|
<< " col " << ev.GetCol();
|
||||||
|
// wxLogMessage( "%s", logBuf.c_str() );
|
||||||
|
// wxMessageBox(logBuf);
|
||||||
|
logBuf += "\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 = "DBGrid::OnCellRightDClick : ";
|
||||||
|
logBuf << "Cell at row " << ev.GetRow()
|
||||||
|
<< " col " << ev.GetCol();
|
||||||
|
// wxLogMessage( "%s", logBuf.c_str() );
|
||||||
|
// wxMessageBox(logBuf);
|
||||||
|
logBuf += "\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 = "DBGrid::OnCellChange : ";
|
||||||
|
logBuf << "Cell at row " << ev.GetRow()
|
||||||
|
<< " col " << ev.GetCol();
|
||||||
|
// wxLogMessage( "%s", logBuf.c_str() );
|
||||||
|
// wxMessageBox(logBuf);
|
||||||
|
logBuf += "\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 = "DBGrid::OnRowSize : ";
|
||||||
|
logBuf << "Resized row " << ev.GetRowOrCol();
|
||||||
|
// wxLogMessage( "%s", logBuf.c_str() );
|
||||||
|
logBuf += "\n";
|
||||||
|
wxLogMessage(logBuf.c_str());
|
||||||
|
ev.Skip();
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
void DBGrid::OnColSize( wxGridSizeEvent& ev )
|
||||||
|
{
|
||||||
|
logBuf = "DBGrid::OnColSize : ";
|
||||||
|
logBuf << "Resized col " << ev.GetRowOrCol();
|
||||||
|
// wxLogMessage( "%s", logBuf.c_str() );
|
||||||
|
logBuf += "\n";
|
||||||
|
wxLogMessage(logBuf.c_str());
|
||||||
|
|
||||||
|
ev.Skip();
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
void DBGrid::OnRangeSelected( wxGridRangeSelectEvent& ev )
|
||||||
|
{
|
||||||
|
logBuf = "DBGrid::OnRangeSelected : ";
|
||||||
|
logBuf << "Selected cells from row " << ev.GetTopRow()
|
||||||
|
<< " col " << ev.GetLeftCol()
|
||||||
|
<< " to row " << ev.GetBottomRow()
|
||||||
|
<< " col " << ev.GetRightCol();
|
||||||
|
|
||||||
|
logBuf += "\n";
|
||||||
|
// wxLogMessage( "%s", logBuf.c_str() );
|
||||||
|
wxLogMessage(logBuf.c_str());
|
||||||
|
|
||||||
|
ev.Skip();
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
58
demos/dbbrowse/dbgrid.h
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// Name: DBGrid.h
|
||||||
|
// Purpose: DBGrid
|
||||||
|
// Author: Mark Johnson
|
||||||
|
// Modified by: 20000126.mj10777
|
||||||
|
// Created:
|
||||||
|
// RCS-ID:
|
||||||
|
// Copyright: (c) Mark Johnson
|
||||||
|
// Licence: wxWindows license
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
class mjDoc;
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
class DBGrid: public wxGrid
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
DBGrid(wxWindow *parent, const wxWindowID id,const wxPoint& pos,const wxSize& size, long style);
|
||||||
|
virtual ~DBGrid();
|
||||||
|
//-------------------------------------------
|
||||||
|
int i_TabArt; // Tab = 0 ; Page = 1;
|
||||||
|
int i_ViewNr; // View Nummer in Tab / Page
|
||||||
|
int i_Which; // Which View, Database is this/using
|
||||||
|
//-------------------------------------------
|
||||||
|
wxFont* f_Temp;
|
||||||
|
mjDoc* pDoc;
|
||||||
|
wxDbInf* ct_BrowserDB;
|
||||||
|
BrowserDB* db_Br;
|
||||||
|
wxMenu *popupMenu1; // OnDBClass
|
||||||
|
wxMenu *popupMenu2; // OnDBGrid & OnTableclass
|
||||||
|
bool b_EditModus;
|
||||||
|
//-------------------------------------------
|
||||||
|
wxString logBuf,Temp0;
|
||||||
|
wxPoint MousePos;
|
||||||
|
//-------------------------------------------
|
||||||
|
void OnModusEdit(wxMenu& menu, wxCommandEvent& event);
|
||||||
|
void OnModusBrowse(wxMenu& menu, wxCommandEvent& event);
|
||||||
|
void OnMouseMove(wxMouseEvent& event);
|
||||||
|
int OnTableView(wxString Table);
|
||||||
|
void OnLabelLeftClick( wxGridEvent& );
|
||||||
|
void OnLabelRightClick( wxGridEvent& );
|
||||||
|
void OnLabelLeftDClick( wxGridEvent& );
|
||||||
|
void OnLabelRightDClick( wxGridEvent& );
|
||||||
|
void OnCellLeftClick( wxGridEvent& );
|
||||||
|
void OnCellRightClick( wxGridEvent& );
|
||||||
|
void OnCellLeftDClick( wxGridEvent& );
|
||||||
|
void OnCellRightDClick( wxGridEvent& );
|
||||||
|
void OnRowSize( wxGridSizeEvent& );
|
||||||
|
void OnColSize( wxGridSizeEvent& );
|
||||||
|
void OnRangeSelected( wxGridRangeSelectEvent& );
|
||||||
|
void OnCellChange( wxGridEvent& );
|
||||||
|
//-------------------------------------------
|
||||||
|
DECLARE_EVENT_TABLE()
|
||||||
|
};
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
#define GRID_01_BEGIN 1200
|
||||||
|
#define GRID_BROWSE 1201
|
||||||
|
#define GRID_EDIT 1202
|
||||||
|
#define GRID_01_END 1203
|
||||||
|
//------------------------------------------------------------------------------
|
377
demos/dbbrowse/dbtree.cpp
Normal file
@@ -0,0 +1,377 @@
|
|||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// Name: DBTree.h
|
||||||
|
// Purpose: Programm Control with a Tree
|
||||||
|
// Author: Mark Johnson
|
||||||
|
// Modified by:
|
||||||
|
// Created: 19991129
|
||||||
|
// RCS-ID:
|
||||||
|
// Copyright: (c) Mark Johnson, Berlin Germany, mj10777@gmx.net
|
||||||
|
// Licence: wxWindows license
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
//-- all #ifdefs that the whole Project needs. ------------------------------
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma implementation
|
||||||
|
#pragma interface
|
||||||
|
#endif
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// 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
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
#ifndef __WXMSW__
|
||||||
|
#endif
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
//-- all #includes that every .cpp needs --- 19990807.mj10777 ---
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
#include "std.h" // sorgsam Pflegen !
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
//-- Global functions -------------------------------------------------------
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
static inline const char *bool2String(bool b)
|
||||||
|
{
|
||||||
|
return b ? "" : "not ";
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
BEGIN_EVENT_TABLE(DBTree, wxTreeCtrl)
|
||||||
|
EVT_MOTION (DBTree::OnMouseMove)
|
||||||
|
EVT_TREE_SEL_CHANGED(TREE_CTRL_DB, DBTree::OnSelChanged)
|
||||||
|
EVT_TREE_ITEM_RIGHT_CLICK(TREE_CTRL_DB,DBTree::OnRightSelect)
|
||||||
|
EVT_MENU(DATA_SHOW,DBTree::OnDBGrid)
|
||||||
|
EVT_MENU(DATA_DB,DBTree::OnDBClass)
|
||||||
|
EVT_MENU(DATA_TABLE,DBTree::OnTableClass)
|
||||||
|
EVT_MENU(DATA_TABLE_ALL,DBTree::OnTableClassAll)
|
||||||
|
END_EVENT_TABLE()
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// DBTree implementation
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
IMPLEMENT_DYNAMIC_CLASS(DBTree, wxTreeCtrl)
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
DBTree::DBTree(wxWindow *parent) : wxTreeCtrl(parent)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
DBTree::DBTree(wxWindow *parent, const wxWindowID id,const wxPoint& pos, const wxSize& size, long style)
|
||||||
|
: wxTreeCtrl(parent, id, pos, size, style)
|
||||||
|
{
|
||||||
|
wxFont* ft_Temp = new wxFont(10,wxSWISS,wxNORMAL,wxBOLD,FALSE,"Comic Sans MS");
|
||||||
|
SetFont(* ft_Temp);
|
||||||
|
|
||||||
|
// Make an image list containing small icons
|
||||||
|
p_imageListNormal = new wxImageList(16, 16, TRUE);
|
||||||
|
|
||||||
|
// should correspond to TreeIc_xxx enum
|
||||||
|
#if defined(__WXMSW__)
|
||||||
|
p_imageListNormal->Add(wxICON(Logo));
|
||||||
|
p_imageListNormal->Add(wxICON(DsnClosed));
|
||||||
|
p_imageListNormal->Add(wxICON(DsnOpen));
|
||||||
|
p_imageListNormal->Add(wxICON(TAB));
|
||||||
|
p_imageListNormal->Add(wxICON(COL));
|
||||||
|
p_imageListNormal->Add(wxICON(KEY));
|
||||||
|
p_imageListNormal->Add(wxICON(KEYF));
|
||||||
|
p_imageListNormal->Add(wxICON(DocOpen));
|
||||||
|
p_imageListNormal->Add(wxICON(DocOpen));
|
||||||
|
#else
|
||||||
|
#include "bitmaps/logo.xpm"
|
||||||
|
#include "bitmaps/dsnclose.xpm"
|
||||||
|
#include "bitmaps/dsnopen.xpm"
|
||||||
|
#include "bitmaps/tab.xpm"
|
||||||
|
#include "bitmaps/key.xpm"
|
||||||
|
#include "bitmaps/keyf.xpm"
|
||||||
|
#include "bitmaps/d_open.xpm"
|
||||||
|
#include "bitmaps/d_closed.xpm"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
SetImageList(p_imageListNormal);
|
||||||
|
ct_BrowserDB = NULL;
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
DBTree::~DBTree()
|
||||||
|
{
|
||||||
|
// wxLogMessage("DBTree::~DBTree() - Vor OnCloseDB()");
|
||||||
|
(pDoc->db_Br+i_Which)->OnCloseDB(FALSE);
|
||||||
|
// wxLogMessage("DBTree::~DBTree() - Nach OnCloseDB()");
|
||||||
|
(pDoc->db_Br+i_Which)->db_BrowserDB = NULL;
|
||||||
|
(pDoc->db_Br+i_Which)->ct_BrowserDB = NULL;
|
||||||
|
(pDoc->db_Br+i_Which)->cl_BrowserDB = NULL;
|
||||||
|
delete ct_BrowserDB;
|
||||||
|
delete p_imageListNormal;
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
#undef TREE_EVENT_HANDLER
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
int DBTree::OnPopulate()
|
||||||
|
{
|
||||||
|
wxTreeItemId Root, Folder, Docu, Funkt;
|
||||||
|
int i,x,y;
|
||||||
|
wxString SQL_TYPE, DB_TYPE;
|
||||||
|
//----------------------------------------------------------------------------------------------------------------------------
|
||||||
|
if((pDoc->db_Br+i_Which)->Initialize(FALSE))
|
||||||
|
{
|
||||||
|
ct_BrowserDB = (pDoc->db_Br+i_Which)->OnGetCatalog(FALSE);
|
||||||
|
if (ct_BrowserDB)
|
||||||
|
{ // Use the wxDatabase Information
|
||||||
|
Temp0.Printf("%s - (%s) (%s)", s_DSN.c_str(),ct_BrowserDB->catalog, ct_BrowserDB->schema);
|
||||||
|
Root = AddRoot(Temp0,TreeIc_DsnOpen,TreeIc_DsnOpen,new DBTreeData("Root"));
|
||||||
|
for (x=0;x<ct_BrowserDB->numTables;x++)
|
||||||
|
{
|
||||||
|
if (!wxStrcmp((ct_BrowserDB->pTableInf+x)->tableType,"TABLE")) // only TABLES
|
||||||
|
{
|
||||||
|
Temp0.Printf(_("Tablename(%s) with (%d)Columns ; Remarks(%s)"), (ct_BrowserDB->pTableInf+x)->tableName,
|
||||||
|
(ct_BrowserDB->pTableInf+x)->numCols,
|
||||||
|
(ct_BrowserDB->pTableInf+x)->tableRemarks);
|
||||||
|
Temp1.Printf("TN(%s",(ct_BrowserDB->pTableInf+x)->tableName);
|
||||||
|
//----
|
||||||
|
(ct_BrowserDB->pTableInf+x)->pColInf = (pDoc->db_Br+i_Which)->OnGetColumns((ct_BrowserDB->pTableInf+x)->tableName,(ct_BrowserDB->pTableInf+x)->numCols,FALSE);
|
||||||
|
//----
|
||||||
|
if ((ct_BrowserDB->pTableInf+x)->pColInf)
|
||||||
|
{
|
||||||
|
Temp0.Printf(_("Tablename(%s) with (%d)Columns ; Remarks(%s)"), (ct_BrowserDB->pTableInf+x)->tableName,
|
||||||
|
(ct_BrowserDB->pTableInf+x)->numCols,
|
||||||
|
(ct_BrowserDB->pTableInf+x)->tableRemarks);
|
||||||
|
Folder = AppendItem(Root,Temp0,TreeIc_TAB,TreeIc_TAB, new DBTreeData(Temp1));
|
||||||
|
for (y=0;y<(ct_BrowserDB->pTableInf+x)->numCols;y++)
|
||||||
|
{
|
||||||
|
Temp1.Printf("FN(%s",((ct_BrowserDB->pTableInf+x)->pColInf+y)->colName);
|
||||||
|
// Here is where we find out if the Column is a Primary / Foreign Key
|
||||||
|
if (((ct_BrowserDB->pTableInf+x)->pColInf+y)->PkCol != 0) // Primary Key
|
||||||
|
{
|
||||||
|
Docu = AppendItem(Folder,((ct_BrowserDB->pTableInf+x)->pColInf+y)->colName,TreeIc_KEY,TreeIc_KEY,new DBTreeData(Temp1));
|
||||||
|
Temp2.Printf(_("This Key is used in the following Tables : %s"),((ct_BrowserDB->pTableInf+x)->pColInf+y)->PkTableName);
|
||||||
|
Funkt = AppendItem(Docu,Temp2,TreeIc_DocClosed,TreeIc_DocOpen,new DBTreeData("KEY"));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
if (((ct_BrowserDB->pTableInf+x)->pColInf+y)->FkCol != 0) // Foreign Key
|
||||||
|
{
|
||||||
|
Docu = AppendItem(Folder,((ct_BrowserDB->pTableInf+x)->pColInf+y)->colName,TreeIc_KEYF,TreeIc_KEYF,new DBTreeData(Temp1));
|
||||||
|
Temp2.Printf(_("This Foreign Key comes from the following Table : %s"),((ct_BrowserDB->pTableInf+x)->pColInf+y)->FkTableName);
|
||||||
|
Funkt = AppendItem(Docu,Temp2,TreeIc_DocClosed,TreeIc_DocOpen,new DBTreeData("KEYF"));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
Docu = AppendItem(Folder,((ct_BrowserDB->pTableInf+x)->pColInf+y)->colName,TreeIc_COL,TreeIc_COL,new DBTreeData(Temp1));
|
||||||
|
SQL_TYPE.Printf(_("SQL_C_???? (%d)"),((ct_BrowserDB->pTableInf+x)->pColInf+y)->sqlDataType);
|
||||||
|
DB_TYPE.Printf(_("DB_DATA_TYPE_???? (%d)"),((ct_BrowserDB->pTableInf+x)->pColInf+y)->dbDataType);
|
||||||
|
for (i=1;i<=(pDoc->db_Br+i_Which)->i_SqlTyp[0];i++)
|
||||||
|
{
|
||||||
|
if (((ct_BrowserDB->pTableInf+x)->pColInf+y)->sqlDataType == (pDoc->db_Br+i_Which)->i_SqlTyp[i])
|
||||||
|
{
|
||||||
|
SQL_TYPE.Printf("%s(%d) ; ",(pDoc->db_Br+i_Which)->s_SqlTyp[i].c_str(),(pDoc->db_Br+i_Which)->i_SqlTyp[i]);
|
||||||
|
}
|
||||||
|
} // for (i=1;i<=i_SqlTyp[0];i++)
|
||||||
|
for (i=1;i<=(pDoc->db_Br+i_Which)->i_dbTyp[0];i++)
|
||||||
|
{
|
||||||
|
if (((ct_BrowserDB->pTableInf+x)->pColInf+y)->dbDataType == (pDoc->db_Br+i_Which)->i_dbTyp[i])
|
||||||
|
{
|
||||||
|
DB_TYPE.Printf("%s(%d)",(pDoc->db_Br+i_Which)->s_dbTyp[i].c_str(),(pDoc->db_Br+i_Which)->i_dbTyp[i]);
|
||||||
|
}
|
||||||
|
} // for (i=1;i<=i_dbTyp[0];i++)
|
||||||
|
SQL_TYPE += DB_TYPE;
|
||||||
|
Funkt = AppendItem(Docu,SQL_TYPE,TreeIc_DocClosed,TreeIc_DocOpen,new DBTreeData(SQL_TYPE));
|
||||||
|
SQL_TYPE.Printf("%10s %d,%d",((ct_BrowserDB->pTableInf+x)->pColInf+y)->typeName,
|
||||||
|
((ct_BrowserDB->pTableInf+x)->pColInf+y)->columnSize,
|
||||||
|
((ct_BrowserDB->pTableInf+x)->pColInf+y)->decimalDigits);
|
||||||
|
Funkt = AppendItem(Docu,SQL_TYPE,TreeIc_DocClosed,TreeIc_DocOpen,new DBTreeData(SQL_TYPE));
|
||||||
|
} // for (y=0;y<(ct_BrowserDB->pTableInf+x)->numCols;y++)
|
||||||
|
} // if ((ct_BrowserDB->pTableInf+x)->pColInf)
|
||||||
|
else
|
||||||
|
Folder = AppendItem(Root,Temp0,TreeIc_FolderClosed,TreeIc_FolderOpen, new DBTreeData(Temp1));
|
||||||
|
} // if ((ct_BrowserDB->pTableInf+x)->tableType == "TABLE")
|
||||||
|
} // for (x=0;x<ct_BrowserDB->numTables;x++)
|
||||||
|
} // if (ct_BrowserDB)
|
||||||
|
else
|
||||||
|
wxLogMessage(_("\n-E-> DBTree::OnPopulate() : Invalid Catalog Pointer : Failed"));
|
||||||
|
} // if((pDoc->db_Br+i_Which)->Initialize(FALSE))
|
||||||
|
else
|
||||||
|
{
|
||||||
|
wxLogMessage(_("\n-E-> DBTree::OnPopulate() : A valid Pointer could not be created : Failed"));
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------------------------------------------------------------
|
||||||
|
Expand(Root);
|
||||||
|
//----------------------------------------------------------------------------------------------------------------------------
|
||||||
|
popupMenu1 = NULL;
|
||||||
|
popupMenu1 = new wxMenu("");
|
||||||
|
popupMenu1->Append(DATA_DB, _("Make wxDB.cpp/h "));
|
||||||
|
popupMenu1->AppendSeparator();
|
||||||
|
popupMenu1->Append(DATA_TABLE_ALL, _("Make all wxTable.cpp/h classes"));
|
||||||
|
popupMenu2 = NULL;
|
||||||
|
popupMenu2 = new wxMenu("");
|
||||||
|
popupMenu2->Append(DATA_SHOW, _("Show Data"));
|
||||||
|
popupMenu2->AppendSeparator();
|
||||||
|
popupMenu2->Append(DATA_TABLE, _("Make wxTable.cpp/h "));
|
||||||
|
//----------------------------------------------------------------------------------------------------------------------------
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
void DBTree::OnSelChanged(wxTreeEvent& WXUNUSED(event))
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
Temp0.Empty();
|
||||||
|
pDoc->p_MainFrame->SetStatusText(Temp0,0);
|
||||||
|
// Get the Information that we need
|
||||||
|
wxTreeItemId itemId = GetSelection();
|
||||||
|
DBTreeData *item = (DBTreeData *)GetItemData(itemId);
|
||||||
|
if ( item != NULL )
|
||||||
|
{
|
||||||
|
int Treffer = 0;
|
||||||
|
Temp1.Printf("%s",item->m_desc.c_str());
|
||||||
|
//-----------------------------------------------------------------------------------------
|
||||||
|
if (Temp1.Contains("ODBC-"))
|
||||||
|
{
|
||||||
|
Temp1 = Temp1.Mid(5,wxSTRING_MAXLEN);
|
||||||
|
for (i=0;i<pDoc->i_DSN;i++)
|
||||||
|
{
|
||||||
|
if (Temp1 == (pDoc->p_DSN+i)->Dsn)
|
||||||
|
{
|
||||||
|
// pDoc->OnChosenDSN(i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Treffer++;
|
||||||
|
}
|
||||||
|
//-----------------------------------------------------------------------------------------
|
||||||
|
if (Treffer == 0)
|
||||||
|
{
|
||||||
|
//---------------------------------------------------
|
||||||
|
/*
|
||||||
|
Temp0.Printf(_("Item '%s': %sselected, %sexpanded, %sbold,"
|
||||||
|
"%u children (%u immediately under this item)."),
|
||||||
|
item->m_desc.c_str(),
|
||||||
|
bool2String(IsSelected(itemId)),
|
||||||
|
bool2String(IsExpanded(itemId)),
|
||||||
|
bool2String(IsBold(itemId)),
|
||||||
|
GetChildrenCount(itemId),
|
||||||
|
GetChildrenCount(itemId));
|
||||||
|
LogBuf.Printf("-I-> DBTree::OnSelChanged - %s",Temp0.c_str());
|
||||||
|
wxLogMessage( "%s", LogBuf.c_str() );
|
||||||
|
*/
|
||||||
|
//---------------------------------------------------
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
void DBTree::OnRightSelect(wxTreeEvent& WXUNUSED(event))
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
Temp0.Empty();
|
||||||
|
// Get the Information that we need
|
||||||
|
wxTreeItemId itemId = GetSelection();
|
||||||
|
DBTreeData *item = (DBTreeData *)GetItemData(itemId);
|
||||||
|
if ( item != NULL )
|
||||||
|
{
|
||||||
|
int Treffer = 0;
|
||||||
|
Temp1.Printf("%s",item->m_desc.c_str());
|
||||||
|
//-----------------------------------------------------------------------------------------
|
||||||
|
if (!wxStrcmp("Root",Temp1))
|
||||||
|
{
|
||||||
|
PopupMenu(popupMenu1,TreePos.x,TreePos.y);
|
||||||
|
Treffer++;
|
||||||
|
}
|
||||||
|
for (i=0;i<ct_BrowserDB->numTables;i++)
|
||||||
|
{
|
||||||
|
Temp2.Printf("TN(%s",(ct_BrowserDB->pTableInf+i)->tableName);
|
||||||
|
if (!wxStrcmp(Temp2,Temp1))
|
||||||
|
{
|
||||||
|
PopupMenu(popupMenu2,TreePos.x,TreePos.y);
|
||||||
|
Treffer++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//-----------------------------------------------------------------------------------------
|
||||||
|
if (Treffer == 0)
|
||||||
|
{
|
||||||
|
//---------------------------------------------------
|
||||||
|
/*
|
||||||
|
Temp0.Printf(_("Item '%s': %sselected, %sexpanded, %sbold,"
|
||||||
|
"%u children (%u immediately under this item)."),
|
||||||
|
item->m_desc.c_str(),
|
||||||
|
bool2String(IsSelected(itemId)),
|
||||||
|
bool2String(IsExpanded(itemId)),
|
||||||
|
bool2String(IsBold(itemId)),
|
||||||
|
GetChildrenCount(itemId),
|
||||||
|
GetChildrenCount(itemId));
|
||||||
|
LogBuf.Printf("-I-> DBTree::OnSelChanged - %s",Temp0.c_str());
|
||||||
|
wxLogMessage( "%s", LogBuf.c_str() );
|
||||||
|
*/
|
||||||
|
//---------------------------------------------------
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
void DBTree::OnDBGrid(wxMenu& , wxCommandEvent& event)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
// Get the Information that we need
|
||||||
|
wxTreeItemId itemId = GetSelection();
|
||||||
|
DBTreeData *item = (DBTreeData *)GetItemData(itemId);
|
||||||
|
if ( item != NULL )
|
||||||
|
{
|
||||||
|
Temp1.Printf("%s",item->m_desc.c_str());
|
||||||
|
for (i=0;i<ct_BrowserDB->numTables;i++)
|
||||||
|
{
|
||||||
|
Temp2.Printf("TN(%s",(ct_BrowserDB->pTableInf+i)->tableName);
|
||||||
|
if (!wxStrcmp(Temp2,Temp1))
|
||||||
|
{
|
||||||
|
// Temp0.Printf("(%d) Here is where a GridCtrl for >%s< will be called! ",i,(ct_BrowserDB->pTableInf+i)->tableName);
|
||||||
|
pDoc->OnChosenTbl(1,(ct_BrowserDB->pTableInf+i)->tableName);
|
||||||
|
// wxMessageBox(Temp0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
void DBTree::OnDBClass(wxMenu& , wxCommandEvent& event)
|
||||||
|
{
|
||||||
|
// int i;
|
||||||
|
// Get the Information that we need
|
||||||
|
wxTreeItemId itemId = GetSelection();
|
||||||
|
DBTreeData *item = (DBTreeData *)GetItemData(itemId);
|
||||||
|
if ( item != NULL )
|
||||||
|
{
|
||||||
|
Temp0.Printf(_("Here is where a wxDB Class for >%s< will be made! "),s_DSN.c_str());
|
||||||
|
wxMessageBox(Temp0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
void DBTree::OnTableClass(wxMenu& , wxCommandEvent& event)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
// Get the Information that we need
|
||||||
|
wxTreeItemId itemId = GetSelection();
|
||||||
|
DBTreeData *item = (DBTreeData *)GetItemData(itemId);
|
||||||
|
if ( item != NULL )
|
||||||
|
{
|
||||||
|
Temp1.Printf("%s",item->m_desc.c_str());
|
||||||
|
for (i=0;i<ct_BrowserDB->numTables;i++)
|
||||||
|
{
|
||||||
|
Temp2.Printf("TN(%s",(ct_BrowserDB->pTableInf+i)->tableName);
|
||||||
|
if (!wxStrcmp(Temp2,Temp1))
|
||||||
|
{
|
||||||
|
Temp0.Printf(_("(%d) Here is where a wxTable Class for >%s< will be made! "),i,(ct_BrowserDB->pTableInf+i)->tableName);
|
||||||
|
wxMessageBox(Temp0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
void DBTree::OnTableClassAll(wxMenu& , wxCommandEvent& event)
|
||||||
|
{
|
||||||
|
// int i;
|
||||||
|
// Get the Information that we need
|
||||||
|
wxTreeItemId itemId = GetSelection();
|
||||||
|
DBTreeData *item = (DBTreeData *)GetItemData(itemId);
|
||||||
|
if ( item != NULL )
|
||||||
|
{
|
||||||
|
Temp0.Printf(_("Here is where all wxTable Classes in >%s< will be made! "),s_DSN.c_str());
|
||||||
|
wxMessageBox(Temp0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
void DBTree::OnMouseMove(wxMouseEvent &event)
|
||||||
|
{
|
||||||
|
TreePos = event.GetPosition();
|
||||||
|
}
|
||||||
|
//------------------------------------------------------------------------------
|
84
demos/dbbrowse/dbtree.h
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// Name: DBTree.h
|
||||||
|
// Purpose: Shows ODBC Catalog entries for Databases
|
||||||
|
// Author: Mark Johnson
|
||||||
|
// Modified by: 19991129.mj10777
|
||||||
|
// Created: 19991129
|
||||||
|
// Copyright: (c) Mark Johnson
|
||||||
|
// Licence: wxWindows license
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
class mjDoc; // Declared in Doc.h file
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
class DBTreeData : public wxTreeItemData
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
DBTreeData(const wxString& desc) : m_desc(desc) { }
|
||||||
|
|
||||||
|
void ShowInfo(wxTreeCtrl *tree);
|
||||||
|
|
||||||
|
wxString m_desc;
|
||||||
|
};
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
class DBTree : public wxTreeCtrl
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
enum
|
||||||
|
{ // The order here must be the same as in m_imageListNormal !
|
||||||
|
TreeIc_Logo, // logo.ico
|
||||||
|
TreeIc_DsnClosed, // dsnclose.ico
|
||||||
|
TreeIc_DsnOpen, // dsnopen.ico
|
||||||
|
TreeIc_TAB, // tab.ico
|
||||||
|
TreeIc_COL, // col.ico
|
||||||
|
TreeIc_KEY, // key.ico
|
||||||
|
TreeIc_KEYF, // keyf.ico
|
||||||
|
TreeIc_DocClosed, // d_closed.ico
|
||||||
|
TreeIc_DocOpen, // d_open.ico
|
||||||
|
TreeIc_FolderClosed, // f_closed.ico
|
||||||
|
TreeIc_FolderOpen // f_open.ico
|
||||||
|
};
|
||||||
|
wxString Temp0, Temp1, Temp2, Temp3, Temp4, Temp5;
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
DBTree() { }
|
||||||
|
DBTree(wxWindow *parent);
|
||||||
|
DBTree(wxWindow *parent, const wxWindowID id,const wxPoint& pos, const wxSize& size,long style);
|
||||||
|
virtual ~DBTree();
|
||||||
|
mjDoc *pDoc;
|
||||||
|
wxDbInf *ct_BrowserDB;
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
int i_TabArt; // Tab = 0 ; Page = 1;
|
||||||
|
int i_ViewNr; // View Nummer in Tab / Page
|
||||||
|
int i_Which; // Which View, Database is this/using
|
||||||
|
wxString s_DSN; // Name of the Dataset
|
||||||
|
wxMenu *popupMenu1; // OnDBClass
|
||||||
|
wxMenu *popupMenu2; // OnDBGrid & OnTableclass
|
||||||
|
wxPoint TreePos;
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
wxImageList *p_imageListNormal;
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
public:
|
||||||
|
int OnPopulate();
|
||||||
|
void OnSelChanged(wxTreeEvent& event);
|
||||||
|
void OnRightSelect(wxTreeEvent& event);
|
||||||
|
void OnDBGrid(wxMenu& menu, wxCommandEvent& event);
|
||||||
|
void OnDBClass(wxMenu& menu, wxCommandEvent& event);
|
||||||
|
void OnTableClass(wxMenu& menu, wxCommandEvent& event);
|
||||||
|
void OnTableClassAll(wxMenu& menu, wxCommandEvent& event);
|
||||||
|
void OnMouseEvent(wxMouseEvent& event);
|
||||||
|
void OnMouseMove(wxMouseEvent& event);
|
||||||
|
public:
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// NB: due to an ugly wxMSW hack you _must_ use DECLARE_DYNAMIC_CLASS()
|
||||||
|
// if you want your overloaded OnCompareItems() to be called.
|
||||||
|
// OTOH, if you don't want it you may omit the next line - this will
|
||||||
|
// make default (alphabetical) sorting much faster under wxMSW.
|
||||||
|
DECLARE_DYNAMIC_CLASS(DBTree)
|
||||||
|
DECLARE_EVENT_TABLE()
|
||||||
|
};
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
#define POPUP_01_BEGIN 1100
|
||||||
|
#define DATA_SHOW 1101
|
||||||
|
#define DATA_DB 1102
|
||||||
|
#define DATA_TABLE 1103
|
||||||
|
#define DATA_TABLE_ALL 1104
|
||||||
|
#define POPUP_01_END 1117
|
||||||
|
//------------------------------------------------------------------------------
|
1643
demos/dbbrowse/de/de.po
Normal file
BIN
demos/dbbrowse/de/help.mo
Normal file
133
demos/dbbrowse/de/help.po
Normal file
@@ -0,0 +1,133 @@
|
|||||||
|
# for wxHelp
|
||||||
|
# Copyright (C) 2000 Free Software Foundation, Inc.
|
||||||
|
# Mark Johnson <mj10777@gmx.net>, 2000.
|
||||||
|
#
|
||||||
|
#-----------------------------------------------------------
|
||||||
|
#: ../Help
|
||||||
|
msgid "Help"
|
||||||
|
msgstr "Hilfe"
|
||||||
|
|
||||||
|
#: ../Help
|
||||||
|
msgid "Help: %s"
|
||||||
|
msgstr "Hilfe: %s"
|
||||||
|
|
||||||
|
#: ../Help
|
||||||
|
msgid "(Help)"
|
||||||
|
msgstr "(Hilfe)"
|
||||||
|
|
||||||
|
#: ../Help
|
||||||
|
msgid "Search"
|
||||||
|
msgstr "Suchen"
|
||||||
|
|
||||||
|
#: ../Help
|
||||||
|
msgid "<bookmarks>"
|
||||||
|
msgstr "<Lesezeichen>"
|
||||||
|
|
||||||
|
#: ../Help
|
||||||
|
msgid "Contents"
|
||||||
|
msgstr "Inhalt"
|
||||||
|
|
||||||
|
#: ../Help
|
||||||
|
msgid "Find"
|
||||||
|
msgstr "Suchen"
|
||||||
|
|
||||||
|
#: ../Help
|
||||||
|
msgid "Show all"
|
||||||
|
msgstr "Alles zeigen"
|
||||||
|
|
||||||
|
#: ../Help
|
||||||
|
msgid "%i of %i"
|
||||||
|
msgstr "%i von %i"
|
||||||
|
|
||||||
|
#: ../Help
|
||||||
|
msgid "Show/hide navigation panel"
|
||||||
|
msgstr "Suchbaum Ein-/Ausschalten"
|
||||||
|
|
||||||
|
#: ../Help
|
||||||
|
msgid "Go back to the previous HTML page"
|
||||||
|
msgstr "Vorherige HTLM Seite zeigen"
|
||||||
|
|
||||||
|
#: ../Help
|
||||||
|
msgid "Go forward to the next HTML page"
|
||||||
|
msgstr "N<>chste HTLM Seite zeigen"
|
||||||
|
|
||||||
|
#: ../Help
|
||||||
|
msgid "Add current page to bookmarks"
|
||||||
|
msgstr "Aktuelle HTLM Seite als Lesezeichen hinzuf<75>gen"
|
||||||
|
|
||||||
|
#: ../Help
|
||||||
|
msgid "Remove current page from bookmarks"
|
||||||
|
msgstr "Aktuelle HTLM Seite als Lesezeichen entfernen"
|
||||||
|
|
||||||
|
#: ../Help
|
||||||
|
msgid "Display options dialog"
|
||||||
|
msgstr "Anzeige Options Dialog"
|
||||||
|
|
||||||
|
#: ../Help
|
||||||
|
msgid "Help Browser Options"
|
||||||
|
msgstr "Hilfe Browser Optionen"
|
||||||
|
|
||||||
|
#: ../Help
|
||||||
|
msgid "Font size:"
|
||||||
|
msgstr "Font Gr<47><72>e:"
|
||||||
|
|
||||||
|
#: ../Help
|
||||||
|
msgid "small"
|
||||||
|
msgstr "Klein"
|
||||||
|
|
||||||
|
#: ../Help
|
||||||
|
msgid "medium"
|
||||||
|
msgstr "Mittel"
|
||||||
|
|
||||||
|
#: ../Help
|
||||||
|
msgid "large"
|
||||||
|
msgstr "Gro<72>"
|
||||||
|
|
||||||
|
#: ../Help
|
||||||
|
msgid "Preview:"
|
||||||
|
msgstr "Vorschau:"
|
||||||
|
|
||||||
|
#: ../Help
|
||||||
|
msgid "Show all items in index"
|
||||||
|
msgstr "Alle Themen im Index anzeigen"
|
||||||
|
|
||||||
|
#: ../Help
|
||||||
|
msgid "Display all index items that contain given substring. Search is case insensitive."
|
||||||
|
msgstr "Alle Themen im Index nach Suchbegriff durchsuchen. Gro<72>-/Kleinschreibung wird nicht beachtet"
|
||||||
|
|
||||||
|
#: ../Help
|
||||||
|
msgid "Search contents of help book(s) for all occurences of the text you typed above"
|
||||||
|
msgstr "Alle Hilfeb<65>cher nach Suchbegriff durchsuchen."
|
||||||
|
|
||||||
|
#: ../Help
|
||||||
|
msgid "all books"
|
||||||
|
msgstr "alle B<>cher"
|
||||||
|
|
||||||
|
#: ../Help
|
||||||
|
msgid "Case sensitive"
|
||||||
|
msgstr "Gro<72>-/Kleinschreibung"
|
||||||
|
|
||||||
|
#: ../Help
|
||||||
|
msgid "Whole words only"
|
||||||
|
msgstr "Als Wort"
|
||||||
|
|
||||||
|
#: ../Help
|
||||||
|
msgid "Searching..."
|
||||||
|
msgstr "Suchen..."
|
||||||
|
|
||||||
|
#: ../Help
|
||||||
|
msgid "No matching page found yet"
|
||||||
|
msgstr "Passende Seite noch nicht gefunden"
|
||||||
|
|
||||||
|
#: ../Help
|
||||||
|
msgid "Found %i matches"
|
||||||
|
msgstr "Suchbegriff %i mal gefunden"
|
||||||
|
|
||||||
|
#-----------------------------------------------------------
|
||||||
|
#: ../Help
|
||||||
|
msgid "Done"
|
||||||
|
msgstr ":-) Ich habe Fertig"
|
||||||
|
#-----------------------------------------------------------
|
||||||
|
#: ../Help
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
2
demos/dbbrowse/de/mo.cmd
Executable file
@@ -0,0 +1,2 @@
|
|||||||
|
msgfmt -o PgmText.mo PgmText.po
|
||||||
|
msgfmt -o Help.mo Help.po
|
1
demos/dbbrowse/de/mo_de.cmd
Executable file
@@ -0,0 +1 @@
|
|||||||
|
msgfmt -o wxStd.mo de.po
|
BIN
demos/dbbrowse/de/pgmtext.mo
Normal file
889
demos/dbbrowse/de/pgmtext.po
Normal file
@@ -0,0 +1,889 @@
|
|||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR Free Software Foundation, Inc.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#-----------------------------------------------------------
|
||||||
|
#: ../BrowserDB.cpp:68 ../BrowserDB.cpp:72 ../DBGrid.cpp:151 ../DBGrid.cpp:174 ../DBGrid.cpp:197 ../DBGrid.cpp:220 ../DBGrid.cpp:232 ../DBGrid.cpp:247 ../DBGrid.cpp:262 ../DBGrid.cpp:277 ../DBGrid.cpp:292 ../DBGrid.cpp:305 ../DBGrid.cpp:315 ../DBGrid.cpp:329
|
||||||
|
msgid "\n"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR Free Software Foundation, Inc.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#: ../BrowserDB.cpp:67 ../BrowserDB.cpp:79 ../BrowserDB.cpp:80 ../BrowserDB.cpp:81 ../BrowserDB.cpp:95 ../BrowserDB.cpp:127 ../BrowserDB.cpp:128 ../BrowserDB.cpp:129 ../BrowserDB.cpp:208 ../BrowserDB.cpp:358 ../BrowserDB.cpp:385 ../DBBrowser.cpp:87 ../DBBrowser.cpp:124 ../DBBrowser.cpp:127 ../DBTree.cpp:40 ../DBTree.cpp:200 ../Doc.cpp:100 ../Doc.cpp:121 ../Doc.cpp:149 ../Doc.cpp:150 ../Doc.cpp:189 ../Doc.cpp:238 ../Doc.cpp:251 ../PgmCtrl.cpp:45
|
||||||
|
#, fuzzy, c-format
|
||||||
|
msgid "\n"
|
||||||
|
"\n"
|
||||||
|
"-E-> BrowserDB::OnStartDB(%s) : Failed ! "
|
||||||
|
msgstr "\n"
|
||||||
|
"\n"
|
||||||
|
"-E-> BrowserDB::OnStartDB(%s) : Gescheitert ! "
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:131
|
||||||
|
msgid "\n"
|
||||||
|
"-E-> BrowserDB::OnConnectDataSource() DB CONNECTION ERROR : Unable to connect to the data source.\n"
|
||||||
|
msgstr "\n"
|
||||||
|
"-E-> BrowserDB::OnConnectDataSource() DB VERBINDUNGSFEHLER : Verbindungsaufbau zur Datenquelle nicht m<>glich.\n"
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:131
|
||||||
|
msgid "\n"
|
||||||
|
"-E-> BrowserDB::OnConnectDataSource() DB CONNECTION ERROR : Unable to connect to the data source.\n"
|
||||||
|
"\n"
|
||||||
|
"Check the name of your data source to verify it has been correctly entered/spelled.\n"
|
||||||
|
"\n"
|
||||||
|
"With some databases, the user name and password must\n"
|
||||||
|
"be created with full rights to the table prior to making a connection\n"
|
||||||
|
"(using tools provided by the database manufacturer)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:341
|
||||||
|
#, c-format
|
||||||
|
msgid "\n"
|
||||||
|
"-E-> BrowserDB::OnExecSQL - ODBC-Error with ExecSql of >%s<.\n"
|
||||||
|
"-E-> "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:225 ../BrowserDB.cpp:235 ../BrowserDB.cpp:238 ../BrowserDB.cpp:249 ../BrowserDB.cpp:252
|
||||||
|
msgid "\n"
|
||||||
|
"-E-> BrowserDB::OnGetData - ODBC-Error with GetNext \n"
|
||||||
|
"-E-> "
|
||||||
|
msgstr "\n"
|
||||||
|
"-E-> BrowserDB::OnGetData - ODBC-Fehler mit GetNext \n"
|
||||||
|
"-E-> "
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:180
|
||||||
|
msgid "\n"
|
||||||
|
"-E-> BrowserDB::OnGetNext - ODBC-Error with GetNext \n"
|
||||||
|
"-E-> "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:214
|
||||||
|
#, c-format
|
||||||
|
msgid "\n"
|
||||||
|
"-E-> BrowserDB::OnGetNext - ODBC-Error with GetNext of >%s<.\n"
|
||||||
|
"-E-> "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:279 ../BrowserDB.cpp:293 ../BrowserDB.cpp:307 ../BrowserDB.cpp:321
|
||||||
|
#, c-format
|
||||||
|
msgid "\n"
|
||||||
|
"-E-> BrowserDB::OnSelect - ODBC-Error with ExecSql of >%s<.\n"
|
||||||
|
"-E-> "
|
||||||
|
msgstr "\n"
|
||||||
|
"-E-> BrowserDB::OnSelect - ODBC-Fehler mit ExecSql >%s<.\n"
|
||||||
|
"-E-> "
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:115
|
||||||
|
msgid "\n"
|
||||||
|
"-E-> BrowserDB::OnStartDB() : DB CONNECTION ERROR : A problem occured while trying to get a connection to the data source"
|
||||||
|
msgstr "\n"
|
||||||
|
"-E-> BrowserDB::OnStartDB() DB VERBINDUNGSFEHLER : Verbindungsaufbau zur Datenquelle nicht m<>glich"
|
||||||
|
|
||||||
|
#: ../DBGrid.cpp:113 ../DBGrid.cpp:120
|
||||||
|
msgid "\n"
|
||||||
|
"-E-> DBGrid::OnTableView():: Invalid Column Pointer : Failed"
|
||||||
|
msgstr "\n"
|
||||||
|
"-E-> DBGrid::OnTableView():: Ung<6E>ltige Spalten-Zeiger : Gescheiter"
|
||||||
|
|
||||||
|
#: ../DBGrid.cpp:118 ../DBGrid.cpp:125
|
||||||
|
msgid "\n"
|
||||||
|
"-E-> DBGrid::OnTableView():: Invalid DSN Pointer : Failed"
|
||||||
|
msgstr "\n"
|
||||||
|
"-E-> DBGrid::OnTableView():: Ung<6E>ltige DSN Zeiger : Gescheitert"
|
||||||
|
|
||||||
|
#: ../DBTree.cpp:190 ../DBTree.cpp:191
|
||||||
|
msgid "\n"
|
||||||
|
"-E-> DBTree::OnPopulate() : A valid Pointer could not be created : Failed"
|
||||||
|
msgstr "\n"
|
||||||
|
"-E-> DBTree::OnPopulate() : Eine g<>ltiger Zeiger konnte nicht erstellt werden : Gescheitert"
|
||||||
|
|
||||||
|
#: ../DBTree.cpp:186 ../DBTree.cpp:187
|
||||||
|
msgid "\n"
|
||||||
|
"-E-> DBTree::OnPopulate() : Invalid Catalog Pointer : Failed"
|
||||||
|
msgstr "\n"
|
||||||
|
"-E-> DBTree::OnPopulate() : Ung<6E>liter Zeiger auf Katalog : Gescheitert"
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:148
|
||||||
|
msgid "\n"
|
||||||
|
"-I-> BrowserDB::OnCloseDB() : Begin "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:161
|
||||||
|
msgid "\n"
|
||||||
|
"-I-> BrowserDB::OnCloseDB() : Ende "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:139
|
||||||
|
#, c-format
|
||||||
|
msgid "\n"
|
||||||
|
"-I-> BrowserDB::OnGetDataSourceODBC() - DatabaseName(%s) ; DataSource(%s)"
|
||||||
|
msgstr "\n"
|
||||||
|
"-I-> BrowserDB::OnGetDataSourceODBC() - DatabaseName(%s) ; Datenquelle(%s)"
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:303 ../BrowserDB.cpp:331
|
||||||
|
#, c-format
|
||||||
|
msgid "\n"
|
||||||
|
"-I-> BrowserDB::OnSelect(%s) Records(%d): End "
|
||||||
|
msgstr "\n"
|
||||||
|
"-I-> BrowserDB::OnSelect(%s) S<>tze(%d): Ende "
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:104
|
||||||
|
#, c-format
|
||||||
|
msgid "\n"
|
||||||
|
"-I-> BrowserDB::OnStartDB(%s) : Begin "
|
||||||
|
msgstr "\n"
|
||||||
|
"-I-> BrowserDB::OnStartDB(%s) : Begin "
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:140
|
||||||
|
#, c-format
|
||||||
|
msgid "\n"
|
||||||
|
"-I-> BrowserDB::OnStartDB(%s) : End "
|
||||||
|
msgstr "\n"
|
||||||
|
"-I-> BrowserDB::OnStartDB(%s) : Ende "
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:108
|
||||||
|
msgid "\n"
|
||||||
|
"-I-> BrowserDB::OnStartDB() : DB is allready open."
|
||||||
|
msgstr "\n"
|
||||||
|
"-I-> BrowserDB::OnStartDB() : DB ist bereits ge<67>ffnet."
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:52
|
||||||
|
msgid "\n"
|
||||||
|
"ODBC errors:\n"
|
||||||
|
msgstr "\n"
|
||||||
|
"ODBC fehlern:\n"
|
||||||
|
|
||||||
|
#: ../Doc.cpp:268 ../Doc.cpp:281
|
||||||
|
#, c-format
|
||||||
|
msgid "\n"
|
||||||
|
"mjDoc::OnLeer(%s) : even this function will one day be available !"
|
||||||
|
msgstr "\n"
|
||||||
|
"mjDoc::OnLeer(%s) : eines Tages steht auch diese Funktion zur Verf<72>gung !"
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:47
|
||||||
|
msgid " Line: "
|
||||||
|
msgstr " Zeile: "
|
||||||
|
|
||||||
|
#: ../DBGrid.cpp:142 ../DBGrid.cpp:149 ../DBGrid.cpp:165 ../DBGrid.cpp:172 ../DBGrid.cpp:188 ../DBGrid.cpp:195 ../DBGrid.cpp:211 ../DBGrid.cpp:218
|
||||||
|
msgid " (shift down)"
|
||||||
|
msgstr " (shift down)"
|
||||||
|
|
||||||
|
#: ../Doc.cpp:208
|
||||||
|
msgid " ? "
|
||||||
|
msgstr " ?"
|
||||||
|
|
||||||
|
#: ../DBGrid.cpp:229 ../DBGrid.cpp:244 ../DBGrid.cpp:259 ../DBGrid.cpp:274 ../DBGrid.cpp:289 ../DBGrid.cpp:325 ../DBGrid.cpp:327
|
||||||
|
msgid " col "
|
||||||
|
msgstr " Spalte"
|
||||||
|
|
||||||
|
#: ../DBGrid.cpp:326
|
||||||
|
msgid " to row "
|
||||||
|
msgstr "Teile"
|
||||||
|
|
||||||
|
#: ../DBGrid.cpp:102
|
||||||
|
#, c-format
|
||||||
|
msgid "%06d"
|
||||||
|
msgstr "%06d"
|
||||||
|
|
||||||
|
#: ../DBTree.cpp:174
|
||||||
|
#, c-format
|
||||||
|
msgid "%10s %d,%d"
|
||||||
|
msgstr "%10s %d,%d"
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:48
|
||||||
|
#, c-format
|
||||||
|
msgid "%d"
|
||||||
|
msgstr "%d"
|
||||||
|
|
||||||
|
#: ../DBTree.cpp:215 ../DBTree.cpp:260 ../DBTree.cpp:300 ../DBTree.cpp:322 ../PgmCtrl.cpp:143 ../PgmCtrl.cpp:195
|
||||||
|
#, c-format
|
||||||
|
msgid "%s"
|
||||||
|
msgstr "%s"
|
||||||
|
|
||||||
|
#: ../DBTree.cpp:118
|
||||||
|
#, c-format
|
||||||
|
msgid "%s - (%s) (%s)"
|
||||||
|
msgstr "%s - (%s) (%s)"
|
||||||
|
|
||||||
|
#: ../PgmCtrl.cpp:104 ../PgmCtrl.cpp:107
|
||||||
|
#, c-format
|
||||||
|
msgid "%s Functions"
|
||||||
|
msgstr "%s Funktionen"
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:201 ../DBBrowser.cpp:211
|
||||||
|
#, c-format
|
||||||
|
msgid "%s has started !"
|
||||||
|
msgstr "%s wurde gestartet !"
|
||||||
|
|
||||||
|
#: ../DBTree.cpp:169
|
||||||
|
#, c-format
|
||||||
|
msgid "%s(%d)"
|
||||||
|
msgstr "%s(%d)"
|
||||||
|
|
||||||
|
#: ../DBTree.cpp:162
|
||||||
|
#, c-format
|
||||||
|
msgid "%s(%d) ; "
|
||||||
|
msgstr "%s(%d) ;"
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:193 ../DBBrowser.cpp:203 ../DBBrowser.cpp:289 ../DBBrowser.cpp:305
|
||||||
|
msgid "&About"
|
||||||
|
msgstr "&Info"
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:197 ../DBBrowser.cpp:207 ../DBBrowser.cpp:295 ../DBBrowser.cpp:311
|
||||||
|
msgid "&File"
|
||||||
|
msgstr "&Datei"
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:191 ../DBBrowser.cpp:198 ../DBBrowser.cpp:201 ../DBBrowser.cpp:208
|
||||||
|
msgid "&Help"
|
||||||
|
msgstr "&Hilfe"
|
||||||
|
|
||||||
|
#: ../DBTree.cpp:328 ../DBTree.cpp:332
|
||||||
|
#, c-format
|
||||||
|
msgid "(%d) Here is where a wxTable Class for >%s< will be made! "
|
||||||
|
msgstr "(%d) Hier ist wo eine wxTable Klasse f<>r >%s< erstellt wird!"
|
||||||
|
|
||||||
|
#: ../DBTree.cpp:328 ../DBTree.cpp:332
|
||||||
|
#, c-format
|
||||||
|
msgid "Here is where all wxTable Classes in >%s< will be made!"
|
||||||
|
msgstr "Hier ist wo alle wxTable Klassen f<>r >%s< erstellt wird!"
|
||||||
|
|
||||||
|
#: ../DBTree.cpp:328 ../DBTree.cpp:332
|
||||||
|
#, c-format
|
||||||
|
msgid "Here is where a wxDB Class for >%s< will be made!"
|
||||||
|
msgstr "Hier ist wo eine wxDB Klasse f<>r >%s< erstellt wird!"
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:189
|
||||||
|
msgid "-E->"
|
||||||
|
msgstr "-E->"
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:346
|
||||||
|
msgid "-E-> BrowserDB::OnExecSql - ExecSql()"
|
||||||
|
msgstr "-E-> BrowserDB::OnExecSql - ExecSql()"
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:285
|
||||||
|
#, c-format
|
||||||
|
msgid "-E-> BrowserDB::OnGetNext - DB_DATA_TYPE_?? (%d) in Col(%s)"
|
||||||
|
msgstr "-E-> BrowserDB::OnGetNext - DB_DATA_TYPE_?? (%d) in Spalte(%s)"
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:310
|
||||||
|
msgid "-E-> BrowserDB::OnSelect - GetData()"
|
||||||
|
msgstr "-E-> BrowserDB::OnSelect - GetData()"
|
||||||
|
|
||||||
|
#: ../Doc.cpp:173 ../Doc.cpp:186
|
||||||
|
msgid "-E-> Fatal situation"
|
||||||
|
msgstr "-E-> T<>tliche Situation"
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:261 ../BrowserDB.cpp:289
|
||||||
|
#, c-format
|
||||||
|
msgid "-E-> unknown Format(%d) - sql(%d)"
|
||||||
|
msgstr "-E-> unbekannte Format(%d) - sql(%d)"
|
||||||
|
|
||||||
|
#: ../PgmCtrl.cpp:162 ../PgmCtrl.cpp:165
|
||||||
|
msgid "-E-> wxConfigBase.p_ProgramCfg->DeleteAll() was not succesfull !"
|
||||||
|
msgstr "-E-> wxConfigBase.p_ProgramCfg->DeleteAll() war nicht Erfolgreich !"
|
||||||
|
|
||||||
|
#: ../PgmCtrl.cpp:146 ../PgmCtrl.cpp:149
|
||||||
|
msgid "-I-> After a programm restart, the language will be changed to English."
|
||||||
|
msgstr "-I-> Nach ein Programm neustart, wird die Sprache ins Englische ge<67>ndert."
|
||||||
|
|
||||||
|
#: ../PgmCtrl.cpp:153 ../PgmCtrl.cpp:156
|
||||||
|
msgid "-I-> After a programm restart, the language will be changed to German."
|
||||||
|
msgstr "-I-> Nach ein Programm neustart, wird die Sprache ins Deutsche ge<67>ndert."
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:148
|
||||||
|
msgid "-I-> BrowserDB::OnCloseDB() : Begin "
|
||||||
|
msgstr "-I-> BrowserDB::OnCloseDB() : Begin"
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:139
|
||||||
|
#, c-format
|
||||||
|
msgid "-I-> BrowserDB::OnGetDataSourceODBC() - DatabaseName(%s) ; DataSource(%s)"
|
||||||
|
msgstr "-I-> BrowserDB::OnGetDataSourceODBC() - DatabaseName(%s) ; DataSource(%s)"
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:140
|
||||||
|
#, c-format
|
||||||
|
msgid "-I-> BrowserDB::OnStartDB(%s) : End "
|
||||||
|
msgstr "-I-> BrowserDB::OnStartDB(%s) : Ende"
|
||||||
|
|
||||||
|
#: ../DBGrid.cpp:114
|
||||||
|
#, c-format
|
||||||
|
msgid "-I-> DBGrid::OnTableView(%s) - %6d Records have been read."
|
||||||
|
msgstr "-I-> DBGrid::OnTableView(%s) - %6d S<>tze wurde insgesamt gelesen."
|
||||||
|
|
||||||
|
#: ../DBGrid.cpp:110
|
||||||
|
#, c-format
|
||||||
|
msgid "-I-> DBGrid::OnTableView(%s) - Record %6d has been read."
|
||||||
|
msgstr "-I-> DBGrid::OnTableView(%s) - Satz %6d wurde gelesen."
|
||||||
|
|
||||||
|
#: ../DBGrid.cpp:129
|
||||||
|
msgid "-I-> DBGrid::OnTableView() - End"
|
||||||
|
msgstr "-I-> DBGrid::OnTableView() - Ende"
|
||||||
|
|
||||||
|
#: ../PgmCtrl.cpp:194
|
||||||
|
#, c-format
|
||||||
|
msgid "-I-> PgmCtrl::OnSelChanged - %s"
|
||||||
|
msgstr "-I-> PgmCtrl::OnSelChanged - %s"
|
||||||
|
|
||||||
|
#: ../Doc.cpp:126
|
||||||
|
#, c-format
|
||||||
|
msgid "-I-> mjDoc::OnInitView() - End - %d DSN's found"
|
||||||
|
msgstr "-I-> mjDoc::OnInitView() - Ende - %d DSN's found"
|
||||||
|
|
||||||
|
#: ../PgmCtrl.cpp:160 ../PgmCtrl.cpp:163
|
||||||
|
msgid "-I-> wxConfigBase.p_ProgramCfg->DeleteAll() was succesfull."
|
||||||
|
msgstr "-I-> wxConfigBase.p_ProgramCfg->DeleteAll() war erfolgreich."
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:116 ../DBBrowser.cpp:170
|
||||||
|
msgid "/"
|
||||||
|
msgstr "/"
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:124 ../DBBrowser.cpp:131 ../PgmCtrl.cpp:111 ../PgmCtrl.cpp:148 ../PgmCtrl.cpp:155
|
||||||
|
msgid "/Local/langid"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:156 ../DBBrowser.cpp:161 ../PgmCtrl.cpp:111
|
||||||
|
msgid "/Local/language"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:167
|
||||||
|
msgid "/MainFrame/NONE"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:289 ../Doc.cpp:81
|
||||||
|
msgid "/MainFrame/Sash"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:182 ../DBBrowser.cpp:288
|
||||||
|
msgid "/MainFrame/h"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:182 ../DBBrowser.cpp:287
|
||||||
|
msgid "/MainFrame/w"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:181 ../DBBrowser.cpp:285
|
||||||
|
msgid "/MainFrame/x"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:181 ../DBBrowser.cpp:286
|
||||||
|
msgid "/MainFrame/y"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:165
|
||||||
|
msgid "/NONE"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:166
|
||||||
|
msgid "/Paths/NONE"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:169 ../PgmCtrl.cpp:114
|
||||||
|
msgid "/Paths/Work"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:311 ../DBBrowser.cpp:327
|
||||||
|
msgid "About DBBrowser"
|
||||||
|
msgstr "Info <20>ber DBBrowser"
|
||||||
|
|
||||||
|
#: ../Doc.cpp:164
|
||||||
|
msgid "Adaptive S"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../DBGrid.cpp:228 ../DBGrid.cpp:243 ../DBGrid.cpp:258 ../DBGrid.cpp:273 ../DBGrid.cpp:288
|
||||||
|
msgid "Cell at row "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../PgmCtrl.cpp:113 ../PgmCtrl.cpp:116
|
||||||
|
msgid "Change the language to English"
|
||||||
|
msgstr "Sprache ins Englische <20>ndern"
|
||||||
|
|
||||||
|
#: ../PgmCtrl.cpp:114 ../PgmCtrl.cpp:117
|
||||||
|
msgid "Change the language to German"
|
||||||
|
msgstr "Sprache ins deutsch <20>ndern"
|
||||||
|
|
||||||
|
#: ../DBGrid.cpp:59 ../DBTree.cpp:61 ../Doc.cpp:105 ../PgmCtrl.cpp:63
|
||||||
|
msgid "Comic Sans MS"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:113
|
||||||
|
msgid "DBBrowser"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:326
|
||||||
|
msgid "DBBrowser\n"
|
||||||
|
"Mark Johnson\n"
|
||||||
|
"Berlin, Germany\n"
|
||||||
|
"mj10777@gmx.net\n"
|
||||||
|
" (c) 1999"
|
||||||
|
msgstr "DBBrowser\n"
|
||||||
|
"Mark Johnson\n"
|
||||||
|
"Berlin, Germany\n"
|
||||||
|
"mj10777@gmx.net\n"
|
||||||
|
" (c) 1999"
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:185
|
||||||
|
msgid "DBBrowser - mj10777"
|
||||||
|
msgstr "DBBrowser - mj10777"
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:185
|
||||||
|
msgid "Help: %s"
|
||||||
|
msgstr "Hilfe: %s"
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:185
|
||||||
|
msgid "noname"
|
||||||
|
msgstr "ohnename"
|
||||||
|
|
||||||
|
#: ../DBGrid.cpp:287
|
||||||
|
msgid "DBGrid::OnCellChange : "
|
||||||
|
msgstr "DBGrid::OnCellChange :"
|
||||||
|
|
||||||
|
#: ../DBGrid.cpp:227
|
||||||
|
msgid "DBGrid::OnCellLeftClick : "
|
||||||
|
msgstr "DBGrid::OnCellLeftClick :"
|
||||||
|
|
||||||
|
#: ../DBGrid.cpp:257
|
||||||
|
msgid "DBGrid::OnCellLeftDClick : "
|
||||||
|
msgstr "DBGrid::OnCellLeftDClick :"
|
||||||
|
|
||||||
|
#: ../DBGrid.cpp:242
|
||||||
|
msgid "DBGrid::OnCellRightClick : "
|
||||||
|
msgstr "DBGrid::OnCellRightClick :"
|
||||||
|
|
||||||
|
#: ../DBGrid.cpp:272
|
||||||
|
msgid "DBGrid::OnCellRightDClick : "
|
||||||
|
msgstr "DBGrid::OnCellRightDClick :"
|
||||||
|
|
||||||
|
#: ../DBGrid.cpp:312
|
||||||
|
msgid "DBGrid::OnColSize : "
|
||||||
|
msgstr "DBGrid::OnColSize :"
|
||||||
|
|
||||||
|
#: ../DBGrid.cpp:135
|
||||||
|
msgid "DBGrid::OnLabelLeftClick : "
|
||||||
|
msgstr "DBGrid::OnLabelLeftClick :"
|
||||||
|
|
||||||
|
#: ../DBGrid.cpp:181
|
||||||
|
msgid "DBGrid::OnLabelLeftDClick : "
|
||||||
|
msgstr "DBGrid::OnLabelLeftDClick :"
|
||||||
|
|
||||||
|
#: ../DBGrid.cpp:158
|
||||||
|
msgid "DBGrid::OnLabelRightClick : "
|
||||||
|
msgstr "DBGrid::OnLabelRightClick :"
|
||||||
|
|
||||||
|
#: ../DBGrid.cpp:204
|
||||||
|
msgid "DBGrid::OnLabelRightDClick : "
|
||||||
|
msgstr "DBGrid::OnLabelRightDClick :"
|
||||||
|
|
||||||
|
#: ../DBGrid.cpp:323
|
||||||
|
msgid "DBGrid::OnRangeSelected : "
|
||||||
|
msgstr "DBGrid::OnRangeSelected :"
|
||||||
|
|
||||||
|
#: ../DBGrid.cpp:302
|
||||||
|
msgid "DBGrid::OnRowSize : "
|
||||||
|
msgstr "DBGrid::OnRowSize :"
|
||||||
|
|
||||||
|
#: ../DBTree.cpp:157
|
||||||
|
#, c-format
|
||||||
|
msgid "DB_DATA_TYPE_???? (%d)"
|
||||||
|
msgstr "DB_DATA_TYPE_???? (%d)"
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:438
|
||||||
|
msgid "DB_DATA_TYPE_DATE"
|
||||||
|
msgstr "DB_DATA_TYPE_DATE"
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:437
|
||||||
|
msgid "DB_DATA_TYPE_FLOAT"
|
||||||
|
msgstr "DB_DATA_TYPE_FLOAT"
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:436
|
||||||
|
msgid "DB_DATA_TYPE_INTEGER"
|
||||||
|
msgstr "DB_DATA_TYPE_INTEGER"
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:435
|
||||||
|
msgid "DB_DATA_TYPE_VARCHAR"
|
||||||
|
msgstr "DB_DATA_TYPE_VARCHAR"
|
||||||
|
|
||||||
|
#: ../PgmCtrl.cpp:115 ../PgmCtrl.cpp:118
|
||||||
|
msgid "Delete all wxConfigBase Entry's"
|
||||||
|
msgstr "L<>sche alle wxConfigBase Eintragungen"
|
||||||
|
|
||||||
|
#: ../Doc.cpp:150
|
||||||
|
#, c-format
|
||||||
|
msgid "DsDesc(%s) - %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:194 ../DBBrowser.cpp:204 ../DBBrowser.cpp:291 ../DBBrowser.cpp:307
|
||||||
|
msgid "E&xit"
|
||||||
|
msgstr "&Beenden"
|
||||||
|
|
||||||
|
#: ../DBTree.cpp:139
|
||||||
|
#, c-format
|
||||||
|
msgid "FN(%s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:230
|
||||||
|
msgid "Failed adding book helpfiles/DBBrowser.hhp"
|
||||||
|
msgstr "helpfiles/DBBrowser.hhp konnte nicht hinzugef<65>gt"
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:234
|
||||||
|
msgid "Failed adding book helpfiles/another.hhp"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:232
|
||||||
|
msgid "Failed adding book helpfiles/testing.hhp"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:45
|
||||||
|
msgid "File: "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../PgmCtrl.cpp:186
|
||||||
|
#, c-format
|
||||||
|
msgid "Item '%s': %sselected, %sexpanded, %sbold,%u children (%u immediately under this item)."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../DBTree.cpp:145
|
||||||
|
msgid "KEY"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../DBTree.cpp:152
|
||||||
|
msgid "KEYF"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../PgmCtrl.cpp:116 ../PgmCtrl.cpp:145
|
||||||
|
msgid "Language English"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../PgmCtrl.cpp:117 ../PgmCtrl.cpp:152
|
||||||
|
msgid "Language German"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../Doc.cpp:113
|
||||||
|
msgid "LogBook"
|
||||||
|
msgstr "LogBuch"
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:334
|
||||||
|
msgid "Main page"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../DBTree.cpp:199 ../DBTree.cpp:203
|
||||||
|
msgid "Make wxDB.cpp/h "
|
||||||
|
msgstr "wxDB.cpp/h Erstellen"
|
||||||
|
|
||||||
|
#: ../DBTree.cpp:199 ../DBTree.cpp:203
|
||||||
|
msgid "Make all wxTable.cpp/h "
|
||||||
|
msgstr "Alle wxTable.cpp/h Erstellen"
|
||||||
|
|
||||||
|
#: ../DBTree.cpp:199 ../DBTree.cpp:203
|
||||||
|
msgid "Make wxTable.cpp/h "
|
||||||
|
msgstr "wxTable.cpp/h Erstellen"
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:164
|
||||||
|
msgid "NONE"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../Doc.cpp:171 ../Doc.cpp:184
|
||||||
|
msgid "No Dataset names found in ODBC!\n"
|
||||||
|
" Program will exit!\n"
|
||||||
|
"\n"
|
||||||
|
" Ciao"
|
||||||
|
msgstr "Keine Datenquellen in ODBC gefunden\n"
|
||||||
|
" Programm wird beendet!\n"
|
||||||
|
"\n"
|
||||||
|
" Ciao"
|
||||||
|
|
||||||
|
#: ../PgmCtrl.cpp:119
|
||||||
|
msgid "ODBC DSN"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../DBTree.cpp:217 ../PgmCtrl.cpp:170
|
||||||
|
msgid "ODBC-"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../PgmCtrl.cpp:122
|
||||||
|
#, c-format
|
||||||
|
msgid "ODBC-%s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../PgmCtrl.cpp:119
|
||||||
|
msgid "ODBC-DSN"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../PgmCtrl.cpp:115
|
||||||
|
msgid "Path Work"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../Doc.cpp:94 ../Doc.cpp:96
|
||||||
|
msgid "PgmCtrl"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:154
|
||||||
|
msgid "PgmText"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../PgmCtrl.cpp:107 ../PgmCtrl.cpp:110
|
||||||
|
msgid "Program settings"
|
||||||
|
msgstr "Programm Einstellungen"
|
||||||
|
|
||||||
|
#: ../DBGrid.cpp:313
|
||||||
|
msgid "Resized col "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../DBGrid.cpp:303
|
||||||
|
msgid "Resized row "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../DBTree.cpp:119 ../PgmCtrl.cpp:108
|
||||||
|
msgid "Root"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:304
|
||||||
|
#, c-format
|
||||||
|
msgid "SELECT * FROM %s"
|
||||||
|
msgstr "SELECT * FROM %s"
|
||||||
|
|
||||||
|
#: ../DBTree.cpp:156
|
||||||
|
#, c-format
|
||||||
|
msgid "SQL_C_???? (%d)"
|
||||||
|
msgstr "SQL_C_???? (%d)"
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:407
|
||||||
|
msgid "SQL_C_BINARY"
|
||||||
|
msgstr "SQL_C_BINARY"
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:408
|
||||||
|
msgid "SQL_C_BIT"
|
||||||
|
msgstr "SQL_C_BIT"
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:409
|
||||||
|
msgid "SQL_C_BOOKMARK"
|
||||||
|
msgstr "SQL_C_BOOKMARK"
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:410
|
||||||
|
msgid "SQL_C_CHAR"
|
||||||
|
msgstr "SQL_C_CHAR"
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:411
|
||||||
|
msgid "SQL_C_DATE"
|
||||||
|
msgstr "SQL_C_DATE"
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:412
|
||||||
|
msgid "SQL_C_DEFAULT"
|
||||||
|
msgstr "SQL_C_DEFAULT"
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:413
|
||||||
|
msgid "SQL_C_DOUBLE"
|
||||||
|
msgstr "SQL_C_DOUBLE"
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:414
|
||||||
|
msgid "SQL_C_FLOAT"
|
||||||
|
msgstr "SQL_C_FLOAT"
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:415
|
||||||
|
msgid "SQL_C_LONG"
|
||||||
|
msgstr "SQL_C_LONG"
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:416
|
||||||
|
msgid "SQL_C_SHORT"
|
||||||
|
msgstr "SQL_C_SHORT"
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:417
|
||||||
|
msgid "SQL_C_SLONG"
|
||||||
|
msgstr "SQL_C_SLONG"
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:418
|
||||||
|
msgid "SQL_C_SSHORT"
|
||||||
|
msgstr "SQL_C_SSHORT"
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:419
|
||||||
|
msgid "SQL_C_STINYINT"
|
||||||
|
msgstr "SQL_C_STINYINT"
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:420
|
||||||
|
msgid "SQL_C_TIME"
|
||||||
|
msgstr "SQL_C_TIME"
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:421
|
||||||
|
msgid "SQL_C_TIMESTAMP"
|
||||||
|
msgstr "SQL_C_TIMESTAMP"
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:422
|
||||||
|
msgid "SQL_C_TINYINT"
|
||||||
|
msgstr "SQL_C_TINYINT"
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:423
|
||||||
|
msgid "SQL_C_ULONG"
|
||||||
|
msgstr "SQL_C_ULONG"
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:424
|
||||||
|
msgid "SQL_C_USHORT"
|
||||||
|
msgstr "SQL_C_USHORT"
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:425
|
||||||
|
msgid "SQL_C_UTINYINT"
|
||||||
|
msgstr "SQL_C_UTINYINT"
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:428
|
||||||
|
msgid "SQL_LONGVARCHAR"
|
||||||
|
msgstr "SQL_LONGVARCHAR"
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:427
|
||||||
|
msgid "SQL_NUMERIC"
|
||||||
|
msgstr "SQL_NUMERIC"
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:429
|
||||||
|
msgid "SQL_REAL"
|
||||||
|
msgstr "SQL_REAL"
|
||||||
|
|
||||||
|
#: ../BrowserDB.cpp:426
|
||||||
|
msgid "SQL_VARCHAR"
|
||||||
|
msgstr "SQL_VARCHAR"
|
||||||
|
|
||||||
|
#: ../DBGrid.cpp:324
|
||||||
|
msgid "Selected cells from row "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:153
|
||||||
|
msgid "SetLocale error"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../PgmCtrl.cpp:110 ../PgmCtrl.cpp:113
|
||||||
|
msgid "Setting Language"
|
||||||
|
msgstr "Sprache setzen"
|
||||||
|
|
||||||
|
#: ../PgmCtrl.cpp:110
|
||||||
|
msgid "Settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../DBTree.cpp:197 ../DBTree.cpp:201
|
||||||
|
msgid "Show Data"
|
||||||
|
msgstr "Daten Zeigen"
|
||||||
|
|
||||||
|
#: ../DBTree.cpp:122
|
||||||
|
msgid "TABLE"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../DBTree.cpp:127 ../DBTree.cpp:264 ../DBTree.cpp:303 ../DBTree.cpp:325
|
||||||
|
#, c-format
|
||||||
|
msgid "TN(%s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../DBTree.cpp:124 ../DBTree.cpp:133 ../DBTree.cpp:134
|
||||||
|
#, c-format
|
||||||
|
msgid "Tablename(%s) with (%d)Columns ; Remarks(%s)"
|
||||||
|
msgstr "Tablename(%s) mit (%d)Spalten ; Bemerkungen(%s)"
|
||||||
|
|
||||||
|
#: ../DBTree.cpp:151 ../DBTree.cpp:152
|
||||||
|
#, c-format
|
||||||
|
msgid "This Foreign Key comes from the following Table : %s"
|
||||||
|
msgstr "diese Fremd-Schl<68>ssel stammt aus der folgende Tabelle : %s"
|
||||||
|
|
||||||
|
#: ../DBTree.cpp:144 ../DBTree.cpp:145
|
||||||
|
#, c-format
|
||||||
|
msgid "This Key is used in the following Tables : %s"
|
||||||
|
msgstr "Diese Schl<68>ssel wird in folgende Tabellen Verwendet : %s"
|
||||||
|
|
||||||
|
#: ../PgmCtrl.cpp:111 ../PgmCtrl.cpp:114
|
||||||
|
#, c-format
|
||||||
|
msgid "Work Path : %s"
|
||||||
|
msgstr "Arbeits Pfad : %s"
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:136
|
||||||
|
msgid "a"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../PgmCtrl.cpp:73
|
||||||
|
msgid "bitmap1"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../PgmCtrl.cpp:74
|
||||||
|
msgid "bitmap2"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../DBGrid.cpp:142 ../DBGrid.cpp:165 ../DBGrid.cpp:188 ../DBGrid.cpp:211
|
||||||
|
msgid "col label "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../DBGrid.cpp:146 ../DBGrid.cpp:169 ../DBGrid.cpp:192 ../DBGrid.cpp:215
|
||||||
|
msgid "corner label"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:148
|
||||||
|
msgid "cz"
|
||||||
|
msgstr "cz"
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:150
|
||||||
|
msgid "czech"
|
||||||
|
msgstr "czech"
|
||||||
|
|
||||||
|
#: ../Doc.cpp:166
|
||||||
|
msgid "dba"
|
||||||
|
msgstr "dba"
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:136 ../PgmCtrl.cpp:154
|
||||||
|
msgid "de"
|
||||||
|
msgstr "de"
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:160
|
||||||
|
msgid "english"
|
||||||
|
msgstr "english"
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:140
|
||||||
|
msgid "fr"
|
||||||
|
msgstr "fr"
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:142
|
||||||
|
msgid "french"
|
||||||
|
msgstr "french"
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:138
|
||||||
|
msgid "german"
|
||||||
|
msgstr "german"
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:239
|
||||||
|
msgid "helpfiles/DBBrowser.hhp"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:241
|
||||||
|
msgid "helpfiles/another.hhp"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:240
|
||||||
|
msgid "helpfiles/testing.hhp"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../PgmCtrl.cpp:109 ../PgmCtrl.cpp:112
|
||||||
|
#, c-format
|
||||||
|
msgid "locale (%s) ; Language (%s) ; Number(%2.2f)"
|
||||||
|
msgstr "locale (%s) ; Sprache (%s) ; Nummer(%2.2f)"
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:112
|
||||||
|
msgid "mj10777"
|
||||||
|
msgstr "mj10777"
|
||||||
|
|
||||||
|
#: ../DBTree.cpp:40 ../PgmCtrl.cpp:45
|
||||||
|
msgid "not "
|
||||||
|
msgstr "not"
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:144
|
||||||
|
msgid "pl"
|
||||||
|
msgstr "pl"
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:146
|
||||||
|
msgid "polish"
|
||||||
|
msgstr "polish"
|
||||||
|
|
||||||
|
#: ../DBGrid.cpp:138 ../DBGrid.cpp:161 ../DBGrid.cpp:184 ../DBGrid.cpp:207
|
||||||
|
msgid "row label "
|
||||||
|
msgstr "row label"
|
||||||
|
|
||||||
|
#: ../Doc.cpp:167
|
||||||
|
msgid "sql"
|
||||||
|
msgstr "sql"
|
||||||
|
|
||||||
|
#: ../DBBrowser.cpp:126 ../DBBrowser.cpp:134 ../DBBrowser.cpp:162 ../PgmCtrl.cpp:147
|
||||||
|
msgid "std"
|
||||||
|
msgstr "std"
|
||||||
|
|
||||||
|
#: ../PgmCtrl.cpp:115 ../PgmCtrl.cpp:118 ../PgmCtrl.cpp:157 ../PgmCtrl.cpp:160
|
||||||
|
msgid "wxConfigBase Delete"
|
||||||
|
msgstr "wxConfigBase L<>schen"
|
BIN
demos/dbbrowse/de/wxstd.mo
Normal file
12
demos/dbbrowse/de/xget.cfg
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
../BrowserDB.cpp
|
||||||
|
../BrowserDB.h
|
||||||
|
../DBBrowser.cpp
|
||||||
|
../DBBrowser.h
|
||||||
|
../DBGrid.cpp
|
||||||
|
../DBGrid.h
|
||||||
|
../DBTree.cpp
|
||||||
|
../DBTree.h
|
||||||
|
../Doc.cpp
|
||||||
|
../Doc.h
|
||||||
|
../PgmCtrl.cpp
|
||||||
|
../PgmCtrl.h
|
1
demos/dbbrowse/de/xget.cmd
Executable file
@@ -0,0 +1 @@
|
|||||||
|
xgettext -C -i -s -j -a -d PgmText -f xget.cfg
|
70
demos/dbbrowse/dlguser.cpp
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// Name: DlgUser.h,cpp
|
||||||
|
// Purpose: Dialog mit Variable Gestaltung durch DlgUser.wxr
|
||||||
|
// Author: Mark Johnson, mj10777@gmx.net
|
||||||
|
// Modified by: 19991105.mj10777
|
||||||
|
// Created: 19991105
|
||||||
|
// Copyright: (c) Mark Johnson
|
||||||
|
// Licence: wxWindows license
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
//-- all #ifdefs that the whole Project needs. ------------------------------
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma implementation
|
||||||
|
#pragma interface
|
||||||
|
#endif
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// 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 "dlguser.h"
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
DlgUser::DlgUser(wxWindow *parent, const wxString& title, const wxPoint& pos, const wxSize& size, const long WXUNUSED(style) ) :
|
||||||
|
wxDialog(parent, ID_DIALOG_DSN, title, pos, size, wxDEFAULT_DIALOG_STYLE|wxDIALOG_MODAL)
|
||||||
|
{
|
||||||
|
SetBackgroundColour("wheat");
|
||||||
|
wxButton *but1 = new wxButton(this, wxID_OK, "OK", wxPoint(55,110), wxSize(80, 30));
|
||||||
|
wxButton *but2 = new wxButton(this, wxID_CANCEL, "Cancel", wxPoint(210,110), wxSize(80, 30));
|
||||||
|
(void)new wxStaticText(this, -1,_("User ID"), wxPoint(20, 40), wxSize(50, 20),wxALIGN_LEFT);
|
||||||
|
(void)new wxStaticText(this, -1,_("Password"), wxPoint(20, 80), wxSize(50, 20),wxALIGN_LEFT);
|
||||||
|
// but1->SetFocus();
|
||||||
|
but1->SetDefault();
|
||||||
|
}
|
||||||
|
void DlgUser::OnInit()
|
||||||
|
{
|
||||||
|
wxString Temp; Temp.Printf(_(">>> %s <<< "),s_DSN.c_str());
|
||||||
|
(void)new wxStaticText(this, -1, Temp, wxPoint(10, 10), wxSize(300, 20),wxALIGN_CENTRE );
|
||||||
|
tc_User = new wxTextCtrl(this, ID_USER, s_User, wxPoint(75, 35), wxSize(200, 25), 0, wxDefaultValidator);
|
||||||
|
tc_Password = new wxTextCtrl(this, ID_PASSWORD, s_Password, wxPoint(75, 75), wxSize(200, 25),wxTE_PASSWORD, wxDefaultValidator);
|
||||||
|
tc_User->SetFocus();
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
BEGIN_EVENT_TABLE(DlgUser, wxDialog)
|
||||||
|
EVT_BUTTON(wxID_OK, DlgUser::OnOk)
|
||||||
|
EVT_BUTTON(wxID_CANCEL, DlgUser::OnCancel)
|
||||||
|
END_EVENT_TABLE()
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
void DlgUser::OnOk(wxCommandEvent& WXUNUSED(event) )
|
||||||
|
{
|
||||||
|
canceled = FALSE;
|
||||||
|
s_User = tc_User->GetValue();
|
||||||
|
s_Password = tc_Password->GetValue();
|
||||||
|
EndModal(wxID_OK);
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
void DlgUser::OnCancel(wxCommandEvent& WXUNUSED(event) )
|
||||||
|
{
|
||||||
|
canceled = TRUE;
|
||||||
|
EndModal(wxID_CANCEL);
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
33
demos/dbbrowse/dlguser.h
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// Name: DlgUser.h,cpp
|
||||||
|
// Purpose: Dialog mit Variable Gestaltung durch DlgUser.wxr
|
||||||
|
// Author: Mark Johnson, mj10777@gmx.net
|
||||||
|
// Modified by: 19991105.mj10777
|
||||||
|
// Created: 19991105
|
||||||
|
// Copyright: (c) Mark Johnson
|
||||||
|
// Licence: wxWindows license
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// DlgUser
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
#define ID_DIALOG_DSN 100
|
||||||
|
#define ID_DSN 101
|
||||||
|
#define ID_USER 102
|
||||||
|
#define ID_PASSWORD 103
|
||||||
|
#define ID_TEXT 104
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
class DlgUser: public wxDialog
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
bool canceled;
|
||||||
|
wxString s_DSN, s_User, s_Password;
|
||||||
|
wxTextCtrl *tc_User, *tc_Password;
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
DlgUser(wxWindow *parent, const wxString& title, const wxPoint& pos, const wxSize& size,const long style = wxDEFAULT_DIALOG_STYLE);
|
||||||
|
void OnInit();
|
||||||
|
void OnOk(wxCommandEvent& event);
|
||||||
|
void OnCancel(wxCommandEvent& event);
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
DECLARE_EVENT_TABLE()
|
||||||
|
};
|
||||||
|
//---------------------------------------------------------------------------
|
327
demos/dbbrowse/doc.cpp
Normal file
@@ -0,0 +1,327 @@
|
|||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// Name: Doc.cpp
|
||||||
|
// Purpose: Holds information for DBBrowser
|
||||||
|
// Author: Mark Johnson, mj10777@gmx.net
|
||||||
|
// Modified by: 19990808.mj10777
|
||||||
|
// BJO : Bart A.M. JOURQUIN
|
||||||
|
// Created: 19990808
|
||||||
|
// Copyright: (c) Mark Johnson
|
||||||
|
// Licence: wxWindows license
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
//-- all #ifdefs that the whole Project needs. ------------------------------
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma implementation
|
||||||
|
#pragma interface
|
||||||
|
#endif
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// 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 !
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
//-- Some Global Vars for all Files (extern in ?.h needed) -----------------
|
||||||
|
// Global structure for holding ODBC connection information
|
||||||
|
struct DbStuff DbConnectInf;
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
wxConfigBase *p_ProgramCfg; // All Config and Path information
|
||||||
|
wxLogTextCtrl *p_LogBook; // All Log messages
|
||||||
|
wxString LogBuf; // String for all Logs
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
mjDoc::mjDoc()
|
||||||
|
{
|
||||||
|
db_Br = NULL;
|
||||||
|
p_DSN = NULL;
|
||||||
|
i_DSN = 0;
|
||||||
|
p_Splitter = NULL;
|
||||||
|
p_MainFrame = NULL;
|
||||||
|
p_PgmCtrl = NULL; // Is not active
|
||||||
|
p_DBTree = NULL;
|
||||||
|
p_DBGrid = NULL;
|
||||||
|
p_LogWin = NULL;
|
||||||
|
p_TabArea = NULL;
|
||||||
|
p_PageArea = NULL;
|
||||||
|
i_TabNr = 0;
|
||||||
|
i_PageNr = 0;
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
mjDoc::~mjDoc()
|
||||||
|
{
|
||||||
|
// ----------------------------------------------------------
|
||||||
|
// -E-> The Tree Controls take to long to close : Why ??
|
||||||
|
// ----------------------------------------------------------
|
||||||
|
// wxMessageBox("-I-> end Doc");
|
||||||
|
p_TabArea->Show(FALSE); // Deactivate the Window
|
||||||
|
p_PageArea->Show(FALSE); // Deactivate the Window
|
||||||
|
p_PgmCtrl = NULL;
|
||||||
|
delete p_PgmCtrl;
|
||||||
|
delete [] p_DSN;
|
||||||
|
delete p_DBTree;
|
||||||
|
p_TabArea = NULL; delete p_TabArea;
|
||||||
|
p_PageArea = NULL; delete p_PageArea;
|
||||||
|
p_Splitter = NULL;
|
||||||
|
delete p_Splitter;
|
||||||
|
delete [] db_Br;
|
||||||
|
// wxMessageBox("~mjDoc");
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
bool mjDoc::OnNewDocument()
|
||||||
|
{
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
if (!OnInitView()) // LogBook is now activ
|
||||||
|
return FALSE;
|
||||||
|
p_PgmCtrl->OnPopulate();
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
bool mjDoc::OnInitView()
|
||||||
|
{
|
||||||
|
Sash = p_ProgramCfg->Read("/MainFrame/Sash", 200);
|
||||||
|
// wxMessageBox("OnInitView() - Begin ","-I->mjDoc::OnInitView");
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
// create "workplace" window
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
p_TabArea = new wxTabbedWindow(); // Init the Pointer
|
||||||
|
p_TabArea->Create(p_Splitter, -1);
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
p_PgmCtrl = new PgmCtrl(p_TabArea, TREE_CTRL_PGM,wxDefaultPosition, wxDefaultSize,
|
||||||
|
wxTR_HAS_BUTTONS | wxSUNKEN_BORDER);
|
||||||
|
p_PgmCtrl->i_TabArt = 0; // 0 = Tab ; 1 = Page
|
||||||
|
p_PgmCtrl->i_ViewNr = p_TabArea->GetTabCount()-1;
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
wxBitmap *p_FolderClose = new wxBitmap("PgmCtrl"); //, wxBITMAP_TYPE_BMP_RESOURCE); // BJO20000115
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
p_TabArea->AddTab(p_PgmCtrl,"PgmCtrl",p_FolderClose);
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
// now create "output" window
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
p_PageArea = new wxPaggedWindow(); // Init the Pointer
|
||||||
|
p_PageArea->Create(p_Splitter, -1);
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
p_LogWin = new wxTextCtrl(p_PageArea,-1,wxEmptyString,
|
||||||
|
wxDefaultPosition, wxDefaultSize,wxTE_MULTILINE );
|
||||||
|
wxFont* ft_Temp = new wxFont(10,wxSWISS,wxNORMAL,wxBOLD,FALSE,"Comic Sans MS");
|
||||||
|
p_LogWin->SetFont(* ft_Temp);
|
||||||
|
// Don't forget ! This is always : i_TabArt = 0 ; i_ViewNr = 1;
|
||||||
|
//------------------------------------------------------------------
|
||||||
|
p_LogBook = new wxLogTextCtrl(p_LogWin); // make p_LogWin the LogBook
|
||||||
|
p_LogBook->SetActiveTarget(p_LogBook);
|
||||||
|
p_LogBook->SetTimestamp( NULL );
|
||||||
|
//------------------------------------------------------------------
|
||||||
|
p_PageArea->AddTab(p_LogWin,_("LogBook"), "what is this?" );
|
||||||
|
i_TabNr = p_TabArea->GetTabCount()-1; // Add one when a new AddTab is done;
|
||||||
|
i_PageNr = p_PageArea->GetTabCount()-1; // Add one when a new AddTab is done;
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
p_PgmCtrl->pDoc = this;
|
||||||
|
p_TabArea->SetActiveTab(i_PageNr);
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
p_Splitter->Initialize(p_TabArea);
|
||||||
|
p_Splitter->SplitHorizontally(p_TabArea,p_PageArea,Sash);
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
if (!OnInitODBC())
|
||||||
|
return FALSE;
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
Temp0.Printf("-I-> mjDoc::OnInitView() - End - %d DSN's found",i_DSN);
|
||||||
|
p_MainFrame->SetStatusText(Temp0, 0);
|
||||||
|
wxLogMessage(Temp0);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------------------------
|
||||||
|
bool mjDoc::OnInitODBC()
|
||||||
|
{
|
||||||
|
char Dsn[SQL_MAX_DSN_LENGTH + 1];
|
||||||
|
char DsDesc[255]; // BJO20002501 instead of 512
|
||||||
|
Temp0 = "";
|
||||||
|
i_DSN = 0; // Counter
|
||||||
|
int i = 0;
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// Initialize the ODBC Environment for Database Operations
|
||||||
|
|
||||||
|
if (SQLAllocEnv(&DbConnectInf.Henv) != SQL_SUCCESS)
|
||||||
|
{
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
const char sep = 3; // separator character used in string between DSN ans DsDesc
|
||||||
|
wxStringList s_SortDSNList, s_SortDsDescList;
|
||||||
|
// BJO-20000127
|
||||||
|
// In order to have same sort result on both Dsn and DsDesc, create a 'keyed' string.
|
||||||
|
// The key will be removed after sorting
|
||||||
|
wxString KeyString;
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
while(GetDataSource(DbConnectInf.Henv, Dsn, sizeof(Dsn), DsDesc, sizeof(DsDesc)))
|
||||||
|
{
|
||||||
|
i_DSN++; // How many Dsn have we ?
|
||||||
|
KeyString.Printf("%s%c%s",Dsn, sep, DsDesc);
|
||||||
|
s_SortDSNList.Add(Dsn);
|
||||||
|
s_SortDsDescList.Add(KeyString);
|
||||||
|
}
|
||||||
|
s_SortDSNList.Sort(); //BJO
|
||||||
|
s_SortDsDescList.Sort(); //BJO
|
||||||
|
|
||||||
|
char ** s_SortDSN = s_SortDSNList.ListToArray(); //BJO
|
||||||
|
char ** s_SortDsDesc = s_SortDsDescList.ListToArray(); //BJO
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// Allocate n ODBC-DSN objects to hold the information
|
||||||
|
p_DSN = new DSN[i_DSN]; //BJO
|
||||||
|
for (i=0;i<i_DSN;i++)
|
||||||
|
{
|
||||||
|
KeyString = s_SortDsDesc[i];
|
||||||
|
KeyString = KeyString.AfterFirst(sep);
|
||||||
|
strcpy(s_SortDsDesc[i],KeyString.c_str());
|
||||||
|
(p_DSN+i)->Dsn = s_SortDSN[i];
|
||||||
|
(p_DSN+i)->Drv = s_SortDsDesc[i];
|
||||||
|
(p_DSN+i)->Usr = "";
|
||||||
|
(p_DSN+i)->Pas = "";
|
||||||
|
Temp0.Printf("%02d) Dsn(%s) DsDesc(%s)",i,(p_DSN+i)->Dsn,(p_DSN+i)->Drv);
|
||||||
|
wxLogMessage(Temp0);
|
||||||
|
}
|
||||||
|
i = 0;
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// Allocate n wxDatabase objects to hold the column information
|
||||||
|
db_Br = new BrowserDB[i_DSN];
|
||||||
|
for (i=0;i<i_DSN;i++)
|
||||||
|
{
|
||||||
|
(db_Br+i)->p_LogWindow = p_LogWin;
|
||||||
|
(db_Br+i)->ODBCSource = (p_DSN+i)->Dsn;
|
||||||
|
(db_Br+i)->UserName = (p_DSN+i)->Usr;
|
||||||
|
(db_Br+i)->Password = (p_DSN+i)->Pas;
|
||||||
|
(db_Br+i)->pDoc = this;
|
||||||
|
(db_Br+i)->i_Which = i;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (SQLFreeEnv(&DbConnectInf.Henv) != SQL_SUCCESS) // BJO20000125
|
||||||
|
{
|
||||||
|
// Error freeing environment handle
|
||||||
|
}
|
||||||
|
|
||||||
|
delete [] s_SortDSN;
|
||||||
|
delete [] s_SortDsDesc;
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
if (!i_DSN)
|
||||||
|
{
|
||||||
|
wxMessageBox(_("No Dataset names found in ODBC!\n" \
|
||||||
|
" Program will exit!\n\n" \
|
||||||
|
" Ciao"),"-E-> Fatal situation");
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------------------------
|
||||||
|
bool mjDoc::OnChosenDSN(int Which)
|
||||||
|
{
|
||||||
|
// wxLogMessage("OnChosenDSN(%d) - Begin",Which);
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
if (p_DBTree != NULL)
|
||||||
|
{
|
||||||
|
p_TabArea->Show(FALSE); // Deactivate the Window
|
||||||
|
p_TabArea->RemoveTab(p_DBTree->i_ViewNr);
|
||||||
|
p_TabArea->Show(TRUE); // Activate the Window
|
||||||
|
OnChosenTbl(77,"");
|
||||||
|
}
|
||||||
|
//-------------------------
|
||||||
|
p_TabArea->Show(FALSE); // Deactivate the Window
|
||||||
|
p_DBTree = new DBTree(p_TabArea, TREE_CTRL_DB,wxDefaultPosition, wxDefaultSize,
|
||||||
|
wxTR_HAS_BUTTONS | wxSUNKEN_BORDER);
|
||||||
|
p_TabArea->AddTab(p_DBTree,(p_DSN+Which)->Dsn," ? ");
|
||||||
|
p_DBTree->i_ViewNr = p_TabArea->GetTabCount()-1;
|
||||||
|
p_TabArea->Show(TRUE); // Deactivate the Window
|
||||||
|
p_DBTree->i_Which = Which;
|
||||||
|
p_DBTree->s_DSN = (p_DSN+Which)->Dsn;
|
||||||
|
p_DBTree->i_TabArt = 0;
|
||||||
|
p_DBTree->pDoc = this;
|
||||||
|
p_DBTree->OnPopulate();
|
||||||
|
p_TabArea->SetActiveTab(p_DBTree->i_ViewNr);
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// wxLogMessage("OnChosenDSN(%d) - End",Which);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------------------------
|
||||||
|
bool mjDoc::OnChosenTbl(int Tab,wxString Table)
|
||||||
|
{
|
||||||
|
// wxLogMessage("OnChosenTbl(%d,%s)",Tab,Table.c_str());
|
||||||
|
//-------------------------
|
||||||
|
if (p_DBGrid != NULL)
|
||||||
|
{
|
||||||
|
if (p_DBGrid->i_TabArt == 0)
|
||||||
|
{
|
||||||
|
p_TabArea->Show(FALSE); // Deactivate the Window
|
||||||
|
p_TabArea->RemoveTab(p_DBGrid->i_ViewNr);
|
||||||
|
p_TabArea->Show(TRUE); // Activate the Window
|
||||||
|
}
|
||||||
|
if (p_DBGrid->i_TabArt == 1)
|
||||||
|
{
|
||||||
|
p_PageArea->Show(FALSE); // Deactivate the Window
|
||||||
|
p_PageArea->RemoveTab(p_DBGrid->i_ViewNr);
|
||||||
|
p_PageArea->Show(TRUE); // Activate the Window
|
||||||
|
}
|
||||||
|
p_DBGrid = NULL;
|
||||||
|
delete p_DBGrid;
|
||||||
|
}
|
||||||
|
if (Tab == 77) // Delete only
|
||||||
|
return TRUE;
|
||||||
|
//-------------------------
|
||||||
|
if (Tab == 0) // Tabview
|
||||||
|
{
|
||||||
|
p_TabArea->Show(FALSE); // Deactivate the Window
|
||||||
|
p_DBGrid = new DBGrid(p_TabArea,GRID_CTRL_DB,wxDefaultPosition, wxDefaultSize,
|
||||||
|
wxSUNKEN_BORDER);
|
||||||
|
p_TabArea->AddTab(p_DBGrid, Table, "");
|
||||||
|
p_DBGrid->i_ViewNr = p_TabArea->GetTabCount()-1;
|
||||||
|
p_DBGrid->pDoc = this;
|
||||||
|
p_DBGrid->db_Br = db_Br;
|
||||||
|
p_DBGrid->OnTableView(Table);
|
||||||
|
p_TabArea->SetActiveTab(p_DBGrid->i_ViewNr);
|
||||||
|
p_TabArea->Show(TRUE); // Activate the Window
|
||||||
|
}
|
||||||
|
if (Tab == 1) // Pageview
|
||||||
|
{
|
||||||
|
p_PageArea->Show(FALSE); // Deactivate the Window
|
||||||
|
p_DBGrid = new DBGrid(p_PageArea,GRID_CTRL_DB,wxDefaultPosition, wxDefaultSize,
|
||||||
|
wxSUNKEN_BORDER);
|
||||||
|
p_PageArea->AddTab(p_DBGrid, Table, "");
|
||||||
|
p_DBGrid->i_ViewNr = p_PageArea->GetTabCount()-1;
|
||||||
|
p_DBGrid->pDoc = this;
|
||||||
|
p_DBGrid->db_Br = db_Br;
|
||||||
|
p_DBGrid->i_Which = p_DBTree->i_Which;
|
||||||
|
p_PageArea->Show(TRUE); // Activate the Window
|
||||||
|
p_DBGrid->OnTableView(Table);
|
||||||
|
p_PageArea->SetActiveTab(p_DBGrid->i_ViewNr);
|
||||||
|
}
|
||||||
|
p_DBGrid->i_TabArt = Tab;
|
||||||
|
//---*----------------------
|
||||||
|
return TRUE;;
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------------------------
|
||||||
|
void mjDoc::OnLeer(wxString Aufrufer)
|
||||||
|
{
|
||||||
|
// Temp0.Printf(_("\nmjDoc::OnLeer(%s) : auch diese funktion steht eines Tages zur Verf<72>gung !"),Aufrufer.c_str());
|
||||||
|
Temp0.Printf(_("\nmjDoc::OnLeer(%s) : even this function will one day be available !"),Aufrufer.c_str());
|
||||||
|
wxLogMessage(Temp0); Temp0.Empty();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------------------------
|
||||||
|
BEGIN_EVENT_TABLE(DocSplitterWindow, wxSplitterWindow)
|
||||||
|
END_EVENT_TABLE()
|
||||||
|
//----------------------------------------------------------------------------------------
|
||||||
|
// Define a constructor for my p_Splitter
|
||||||
|
DocSplitterWindow::DocSplitterWindow(wxWindow *parent, wxWindowID id) : wxSplitterWindow(parent, id)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------------------------
|
81
demos/dbbrowse/doc.h
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// Name: Doc.h
|
||||||
|
// Purpose: First attempt to make a MDIProgram with a Tree and ListView
|
||||||
|
// Author: Mark Johnson, mj10777@gmx.net
|
||||||
|
// Modified by: 19990808.mj10777
|
||||||
|
// Created: 19990808
|
||||||
|
// Copyright: (c) Mark Johnson
|
||||||
|
// Licence: wxWindows license
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
//-- Some Global Vars ------------------------------------------------------
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
class DSN
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
wxString Dsn;
|
||||||
|
wxString Drv;
|
||||||
|
wxString Pas;
|
||||||
|
wxString Usr;
|
||||||
|
};
|
||||||
|
// Global structure for holding ODBC connection information
|
||||||
|
extern struct DbStuff DbConnectInf;
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
extern wxConfigBase *p_ProgramCfg; // All Config and Path information
|
||||||
|
extern wxLogTextCtrl *p_LogBook; // All Log messages
|
||||||
|
extern wxString LogBuf; // String for all Logs
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
class PgmCtrl; // Declared in PgmCtrl.h file
|
||||||
|
class DocSplitterWindow; // Declared at the end of the file
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
class mjDoc
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
mjDoc();
|
||||||
|
virtual ~mjDoc();
|
||||||
|
int Sash;
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
//-- declare document Vars here ---------------------------------------------
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
wxString Temp0, Temp1, Temp2, Temp3, Temp4, Temp5;
|
||||||
|
BrowserDB *db_Br; // Pointer to wxDB
|
||||||
|
DSN *p_DSN;
|
||||||
|
int i_DSN; // Counter
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
DocSplitterWindow *p_Splitter;
|
||||||
|
wxFrame *p_MainFrame; // SDI Version
|
||||||
|
PgmCtrl *p_PgmCtrl;
|
||||||
|
DBTree *p_DBTree;
|
||||||
|
DBGrid *p_DBGrid;
|
||||||
|
wxTextCtrl *p_LogWin;
|
||||||
|
wxTabbedWindow *p_TabArea;
|
||||||
|
wxPaggedWindow *p_PageArea;
|
||||||
|
int i_TabNr; // Amount of active Views in Tab
|
||||||
|
int i_PageNr; // Amount of active Views in Page
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
//-- declare document Functions here ----------------------------------------
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
bool OnNewDocument();
|
||||||
|
bool OnInitView();
|
||||||
|
bool OnInitODBC();
|
||||||
|
bool OnChosenDSN(int Which);
|
||||||
|
bool OnChosenTbl(int Tab,wxString Table);
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
void OnLeer(wxString Aufrufer); // Dummy Funktion
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
};
|
||||||
|
class DocSplitterWindow: public wxSplitterWindow
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
mjDoc *pDoc;
|
||||||
|
DocSplitterWindow(wxWindow *parent, wxWindowID id);
|
||||||
|
virtual bool OnSashPositionChange(int newSashPosition)
|
||||||
|
{
|
||||||
|
if ( !wxSplitterWindow::OnSashPositionChange(newSashPosition) )
|
||||||
|
return FALSE;
|
||||||
|
pDoc->Sash = newSashPosition;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
DECLARE_EVENT_TABLE()
|
||||||
|
};
|
||||||
|
//---------------------------------------------------------------------------
|
BIN
demos/dbbrowse/fr/wxstd.mo
Normal file
2
demos/dbbrowse/g.cmd
Executable file
@@ -0,0 +1,2 @@
|
|||||||
|
DBBrowse
|
||||||
|
|
2
demos/dbbrowse/go.cmd
Executable file
@@ -0,0 +1,2 @@
|
|||||||
|
set WXWIN=F:\wxWindows
|
||||||
|
nmake -f makefile.vc FINAL=1
|
5
demos/dbbrowse/gogcc.cmd
Executable file
@@ -0,0 +1,5 @@
|
|||||||
|
set WXWIN=F:/wxWindows22B
|
||||||
|
set WXWIN=F:/wxWindows
|
||||||
|
make -f makefile.g95
|
||||||
|
rem st
|
||||||
|
set WXWIN=F:\wxWindows
|
3
demos/dbbrowse/govc.cmd
Executable file
@@ -0,0 +1,3 @@
|
|||||||
|
set WXWIN=F:\wxWindows22B
|
||||||
|
set WXWIN=F:\wxWindows
|
||||||
|
nmake -f makefile.vc FINAL=1
|
BIN
demos/dbbrowse/help.cz/wxstd.mo
Normal file
50
demos/dbbrowse/help.de/compiler.htm
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
||||||
|
<HTML><HEAD><TITLE>DBBrowser Hilfe : Compiler</TITLE></HEAD>
|
||||||
|
<BODY BGCOLOR=#C6DFC6><CENTER><IMG SRC="../help.png/logo.png"></CENTER><BR><CENTER><B>DBBrowser<BR>Mark Johnson, Berlin Germany<BR>mj10777@gmx.net</B><HR></CENTER>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY><TR bgcolor=#CCFFFF>
|
||||||
|
<TH><B><H3><IMG SRC="../help.png/logo.png"> DBBrowser : Wo wurde DBBrowser Compiliert und mit was ?</H3><BR>(deutsch)</B></FONT></TH>
|
||||||
|
</TABLE></TBODY></TR><P>
|
||||||
|
<B>Stand: 2000-01-23.01-mj10777</B><HR>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B><IMG SRC="../help.png/winnt.png"><IMG SRC="../help.png/server.png"> Windows NT 4.0 Server - SP 4</B></TH><TH bgcolor=#FFFFE0><B><IMG SRC="../help.png/msvc.png"> VC++ 6.0 Compiler</B></FONT></TH></TR>
|
||||||
|
</TABLE></TBODY>
|
||||||
|
<TABLE border=1><B><TBODY><TR bgcolor=#FFFFE0>
|
||||||
|
<TH><B>wxWindows CVS 21.01.2000 18:00</B></TH><TH><B>Statische Bibliothek<BR>nmake -f makefile.vc FINAL=1</B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE></TR>
|
||||||
|
<TABLE border=1><B><TBODY><TR bgcolor=#FFFFE0>
|
||||||
|
<TH><B>Mark Johnson, Berlin Germany</B></TH><TH><B>Kleine .EXE und stable</B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE></TR><HR>
|
||||||
|
<!-------------------------------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B><IMG SRC="../help.png/winnt.png"><IMG SRC="../help.png/server.png"> Windows NT 4.0 Server - SP 4</B></TH><TH bgcolor=#FFFFE0><B><IMG SRC="../help.png/gnu.png"> mingw32 gcc-2.95 Compiler</B></FONT></TH></TR>
|
||||||
|
</TABLE></TBODY>
|
||||||
|
<TABLE border=1><B><TBODY><TR bgcolor=#FFFFE0>
|
||||||
|
<TH><B>wxWindows CVS 21.01.2000 18:00</B></TH><TH><B>Statische Bibliothek<BR>make -f makefile.g95</B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE></TR>
|
||||||
|
<TABLE border=1><B><TBODY><TR bgcolor=#FFFFE0>
|
||||||
|
<TH><B>Mark Johnson, Berlin Germany</B></TH><TH><B>Gro<EFBFBD>e .EXE und instable</B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE></TR><HR>
|
||||||
|
<!-------------------------------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B><IMG SRC="../help.png/linux.png"><IMG SRC="../help.png/redh.png"> Linux - Redhat 6.1</B></TH><TH bgcolor=#FFFFE0><B><IMG SRC="../help.png/gnu.png"> gcc Compiler ? </B></FONT></TH></TR>
|
||||||
|
</TABLE></TBODY>
|
||||||
|
<TABLE border=1><B><TBODY><TR bgcolor=#FFFFE0>
|
||||||
|
<TH><B>wxWindows <IMG SRC="../help.png/gtk.png"> CVS ??.01.2000 ??:00</B></TH><TH><B>??</B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE></TR>
|
||||||
|
<TABLE border=1><B><TBODY><TR bgcolor=#FFFFE0>
|
||||||
|
<TH><B>??</B></TH><TH><B>??</B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE></TR><HR>
|
||||||
|
<!-------------------------------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B><IMG SRC="../help.png/linux.png"><IMG SRC="../help.png/suse.png" "WIDTH="45" HEIGHT="25""> Linux - SuSE 6.1</B></TH><TH bgcolor=#FFFFE0><B><IMG SRC="../help.png/gnu.png"> gcc Compiler ? </B></FONT></TH></TR>
|
||||||
|
</TABLE></TBODY>
|
||||||
|
<TABLE border=1><B><TBODY><TR bgcolor=#FFFFE0>
|
||||||
|
<TH><B>wxWindows <IMG SRC="../help.png/gtk.png"> CVS ??.01.2000 ??:00</B></TH><TH><B>??</B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE></TR>
|
||||||
|
<TABLE border=1><B><TBODY><TR bgcolor=#FFFFE0>
|
||||||
|
<TH><B>??</B></TH><TH><B>??</B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE></TR><HR>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
</BODY></HTML>
|
68
demos/dbbrowse/help.de/dbbrowse.hhc
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
||||||
|
<HTML>
|
||||||
|
<HEAD>
|
||||||
|
<meta name="GENERATOR" content="Microsoft® HTML Help Workshop 4.1">
|
||||||
|
<!-- Sitemap 1.0 -->
|
||||||
|
</HEAD><BODY>
|
||||||
|
<OBJECT type="text/site properties">
|
||||||
|
<param name="ImageType" value="Folder">
|
||||||
|
</OBJECT>
|
||||||
|
<UL>
|
||||||
|
<LI> <OBJECT type="text/sitemap">
|
||||||
|
<param name="Name" value="Pictograms die in diese Hilfe Dateien Verwendung finden">
|
||||||
|
<param name="ID" value=34>
|
||||||
|
<param name="Local" value="picgrams.htm">
|
||||||
|
</OBJECT>
|
||||||
|
<LI> <OBJECT type="text/sitemap">
|
||||||
|
<param name="Name" value="DBBrowser">
|
||||||
|
<param name="ID" value=34>
|
||||||
|
<param name="Local" value="dbbrowse.htm">
|
||||||
|
</OBJECT>
|
||||||
|
<UL>
|
||||||
|
<LI> <OBJECT type="text/sitemap">
|
||||||
|
<param name="Name" value="Wo wurde DBBrowser schon mal Compiliert ?">
|
||||||
|
<param name="Local" value="compiler.htm">
|
||||||
|
</OBJECT>
|
||||||
|
<LI> <OBJECT type="text/sitemap">
|
||||||
|
<param name="Name" value="Icon Verwendung (.ICO / .XPM)">
|
||||||
|
<param name="Local" value="icons.htm">
|
||||||
|
</OBJECT>
|
||||||
|
<LI> <OBJECT type="text/sitemap">
|
||||||
|
<param name="Name" value="Start Parameter (Sprache/Lokale Unterst<73>tzung)">
|
||||||
|
<param name="Local" value="startprm.htm">
|
||||||
|
</OBJECT>
|
||||||
|
<LI> <OBJECT type="text/sitemap">
|
||||||
|
<param name="Name" value="Was Funktioniert nicht ?">
|
||||||
|
<param name="Local" value="problems.htm">
|
||||||
|
</OBJECT>
|
||||||
|
<LI> <OBJECT type="text/sitemap">
|
||||||
|
<param name="Name" value="Was f<>r / Wann sind neue Funktionen geplanned ?">
|
||||||
|
<param name="Local" value="todo.htm">
|
||||||
|
</OBJECT>
|
||||||
|
</UL>
|
||||||
|
<LI> <OBJECT type="text/sitemap">
|
||||||
|
<param name="Name" value="Remstar ODBC">
|
||||||
|
<param name="Local" value="remstar.htm">
|
||||||
|
</OBJECT>
|
||||||
|
<UL>
|
||||||
|
<LI> <OBJECT type="text/sitemap">
|
||||||
|
<param name="Name" value="wxDB Class">
|
||||||
|
<param name="Local" value="wxdb.htm">
|
||||||
|
</OBJECT>
|
||||||
|
<UL>
|
||||||
|
<LI> <OBJECT type="text/sitemap">
|
||||||
|
<param name="Name" value="new wxDB::GetColumns (Beschreibung)">
|
||||||
|
<param name="Local" value="getcol.htm">
|
||||||
|
</OBJECT>
|
||||||
|
<LI> <OBJECT type="text/sitemap">
|
||||||
|
<param name="Name" value="new wxDB::GetColumns (Wie verwendet man es)">
|
||||||
|
<param name="Local" value="getcolsh.htm">
|
||||||
|
</OBJECT>
|
||||||
|
</UL>
|
||||||
|
<LI> <OBJECT type="text/sitemap">
|
||||||
|
<param name="Name" value="wxTable Class">
|
||||||
|
<param name="Local" value="wxtable.htm">
|
||||||
|
</OBJECT>
|
||||||
|
</UL>
|
||||||
|
</UL>
|
||||||
|
</BODY></HTML>
|
31
demos/dbbrowse/help.de/dbbrowse.hhk
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
||||||
|
<HTML>
|
||||||
|
<HEAD>
|
||||||
|
<meta name="GENERATOR" content="Microsoft® HTML Help Workshop 4.1">
|
||||||
|
<!-- Sitemap 1.0 -->
|
||||||
|
</HEAD><BODY>
|
||||||
|
<UL>
|
||||||
|
<LI> <OBJECT type="text/sitemap">
|
||||||
|
<param name="Name" value="1">
|
||||||
|
<param name="Name" value="DBBrowser">
|
||||||
|
<param name="Local" value="dbbrowse.htm">
|
||||||
|
</OBJECT>
|
||||||
|
<LI> <OBJECT type="text/sitemap">
|
||||||
|
<param name="Name" value="2">
|
||||||
|
<param name="Name" value="Remstar ODBC">
|
||||||
|
<param name="Local" value="remstar.htm">
|
||||||
|
</OBJECT>
|
||||||
|
<UL>
|
||||||
|
<LI> <OBJECT type="text/sitemap">
|
||||||
|
<param name="Name" value="3">
|
||||||
|
<param name="Name" value="wxDB Class">
|
||||||
|
<param name="Local" value="wxdb.htm">
|
||||||
|
</OBJECT>
|
||||||
|
<LI> <OBJECT type="text/sitemap">
|
||||||
|
<param name="Name" value="3">
|
||||||
|
<param name="Name" value="wxTable Class ">
|
||||||
|
<param name="Local" value="wxtable.htm">
|
||||||
|
</OBJECT>
|
||||||
|
</UL>
|
||||||
|
</UL>
|
||||||
|
</BODY></HTML>
|
22
demos/dbbrowse/help.de/dbbrowse.hhp
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
[OPTIONS]
|
||||||
|
Compatibility=1.1
|
||||||
|
Compiled file=testing.chm
|
||||||
|
Contents file=dbbrowse.hhc
|
||||||
|
Display compile progress=No
|
||||||
|
Index file=dbbrowse.hhk
|
||||||
|
Language=0x405 Hesky
|
||||||
|
Title=DBBrowser Handbuch
|
||||||
|
Default topic=sample.htm
|
||||||
|
|
||||||
|
[FILES]
|
||||||
|
dbbrowse.htm
|
||||||
|
compiler.htm
|
||||||
|
icons.htm
|
||||||
|
problems.htm
|
||||||
|
startprm.htm
|
||||||
|
picgrams.htm
|
||||||
|
remstar.htm
|
||||||
|
wxdb.htm
|
||||||
|
getcol.htm
|
||||||
|
getcolsh.htm
|
||||||
|
wxtable.htm
|
24
demos/dbbrowse/help.de/dbbrowse.htm
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
||||||
|
<HTML><HEAD><TITLE>DBBrowser Hilfe : <20>bersicht</TITLE></HEAD>
|
||||||
|
<BODY BGCOLOR=#C6DFC6><CENTER><IMG SRC="../help.png/logo.png"></CENTER><BR><CENTER><B>DBBrowser<BR>Mark Johnson, Berlin Germany<BR>mj10777@gmx.net</B><HR></CENTER>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY><TR bgcolor=#CCFFFF>
|
||||||
|
<TH><B><H3><IMG SRC="../help.png/logo.png"> DBBrowser</H3><BR>(deutsch)</B></FONT></TH>
|
||||||
|
</TABLE></TBODY></TR><P>
|
||||||
|
<B>Stand: 2000-01-22.01-mj10777</B><HR>
|
||||||
|
<!-------------------------------------------------------------->
|
||||||
|
<TABLE border=1><TBODY><TR>
|
||||||
|
<TH bgcolor=#FFFFAA><B></A></B></TH>
|
||||||
|
<TH bgcolor=#FFFFE0><B></B></FONT></TH>
|
||||||
|
</TR></TABLE></TBODY>
|
||||||
|
<TABLE border=1><TBODY><TR>
|
||||||
|
<TH bgcolor=#FFFFAA><B></A></B></TH>
|
||||||
|
<TH bgcolor=#FFFFE0><B></B></FONT></TH>
|
||||||
|
</TR></TABLE></TBODY>
|
||||||
|
<TABLE border=1><TBODY><TR>
|
||||||
|
<TH bgcolor=#FFFFAA><B></A></B></TH>
|
||||||
|
<TH bgcolor=#FFFFE0><B></B></FONT></TH>
|
||||||
|
</TR></TABLE></TBODY>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<HR>
|
||||||
|
</BODY></HTML>
|
118
demos/dbbrowse/help.de/getcol.htm
Normal file
@@ -0,0 +1,118 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
||||||
|
<HTML><HEAD><TITLE>DBBrowser Help : Remstar ODBC Classes</TITLE></HEAD>
|
||||||
|
<BODY BGCOLOR=#C6DFC6><CENTER><IMG SRC="../help.png/logo.png"></CENTER><BR><CENTER><B>DBBrowser<BR>Mark Johnson, Berlin Germany<BR>mj10777@gmx.net</B><HR></CENTER>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY><TR bgcolor=#CCFFFF>
|
||||||
|
<TH><B><H3><IMG SRC="../help.png/remstar.png"><BR>Remstar ODBC Classes :<BR>Die neue wxDB::GetColumns() Funktion<BR>Beschreibung</H3><BR>(deutsch)</B></FONT></TH>
|
||||||
|
</TABLE></TBODY></TR><P>
|
||||||
|
<B>Stand: 2000-01-23.01-mj10777</B><HR>
|
||||||
|
<!-------------------------------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY>
|
||||||
|
<TR><TH bgcolor=#CCFFFF><B>Es gibt 2 neue wxDB Funktionen : </B></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<!-------------------------------->
|
||||||
|
<A NAME="GETCOLUMNS">
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B><A HREF="#GETCOLUMNS">wxColInf *wxDB::GetColumns(char *tableName, int *numCols, const char *userID)</A></B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFFFE0><B>Diese Funktion sichert alle (<I><FONT color=#FF0000>int numCols</FONT>) Informationen aus der Tabelle (<I><FONT color=#FF0000>char *tableName</FONT></I>).<BR>Es gibt das Ergebnis in eine <A HREF="#WXCOLINF">wxColInf</A> Stuktur (Klasse)</B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<!-------------------------------->
|
||||||
|
<A NAME="GETKEYFIELDS"><P>
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B><A HREF="#GETKEYFIELDS">int wxDB::GetKeyFields(char *tableName, wxColInf* colInf,int noCols)</A></B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFFFE0><B>Versucht herauszufinden ob irgend welche (<I><FONT color=#FF0000>int noCols</FONT></I>) Spalten (<I><FONT color=#FF0000>wxColInf* colInf</FONT></I>)<BR> aus der Tabelle (<I><FONT color=#FF0000>char *tableName</FONT></I>) <IMG SRC="../help.png/key.png"> Prim<EFBFBD>r- oder <IMG SRC="../help.png/keyf.png"> Fremdschl<EFBFBD>ssel sind.<HR>Diese Funktion wird aus GetColumns() aufgerufen.</B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE><HR>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY>
|
||||||
|
<TR><TH bgcolor=#CCFFFF><B>Es gibt 4 neue wxDB Klassen (Strukturen) : </B></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<!-------------------------------->
|
||||||
|
<A NAME="WXDBINF"><P>
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B><A HREF="#WXDBINF">wxDbInf</A></B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFFFE0>
|
||||||
|
<B>Diese Klasse speichert alle ODBC-Informationen f<>r einen Datenbank :<HR>
|
||||||
|
Katalogeintrag (<I><FONT color=#FF0000>char catalog[128+1]</I></FONT>),<BR>
|
||||||
|
Schema (<I><FONT color=#FF0000>char schema[128+1]</I></FONT>)<BR>
|
||||||
|
der Anzahl gefundene Tabellen (<I><FONT color=#FF0000>int numTables</I></FONT>)<BR>
|
||||||
|
und eine Zeiger auf der (<I><A HREF="#WXTABLEINF">wxTableInf*</A><FONT color=#FF0000> pTableInf</FONT></I>) Struktur.
|
||||||
|
</B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<!-------------------------------->
|
||||||
|
<A NAME="WXTABLEINF"><P>
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B><A HREF="#WXTABLEINF">wxTableInf</A></B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFFFE0>
|
||||||
|
<B>Diese Klasse speichert alle ODBC-Informationen f<>r einen Tabelle :<HR>
|
||||||
|
Tabellename (<I><FONT color=#FF0000>char tableName[DB_MAX_TABLE_NAME_LEN+1]</I></FONT>),<BR>
|
||||||
|
Tabelletyp (<I><FONT color=#FF0000>char tableType[254+1]</I></FONT>) - "TABLE", "SYSTEM TABLE" etc. ,<BR>
|
||||||
|
Tabellen Bemerkungen (<I><FONT color=#FF0000>char tableRemarks[254+1]</I></FONT>),<BR>
|
||||||
|
der Anzahl gefundene Spalten (<I><FONT color=#FF0000>int numCols</I></FONT>)<BR>
|
||||||
|
und eine Zeiger auf der (<I><A HREF="#WXCOLINF">wxColInf*</A><FONT color=#FF0000> pColInf</FONT></I>) Struktur.
|
||||||
|
</B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<!-------------------------------->
|
||||||
|
<A NAME="WXCOLINF"><P>
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B><A HREF="#WXCOLINF">wxColInf</A></B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFFFE0>
|
||||||
|
<B>Diese Klasse speichert alle ODBC-Informationen f<>r einen Spalte :<HR>
|
||||||
|
Katalogeintrag (<I><FONT color=#FF0000>char catalog[128+1]</I></FONT>),<BR>
|
||||||
|
Schema (<I><FONT color=#FF0000>char schema[128+1]</I></FONT>)<BR>
|
||||||
|
Tabellename (<I><FONT color=#FF0000>char tableName[DB_MAX_TABLE_NAME_LEN+1]</I></FONT>),<BR>
|
||||||
|
Spaltenname (<I><FONT color=#FF0000>char colName[DB_MAX_COLUMN_NAME_LEN+1]</I></FONT>),<BR>
|
||||||
|
Datentyp (aus SQL) (<I><FONT color=#FF0000>SWORD sqlDataType</I></FONT>),<BR>
|
||||||
|
Datatyp-Name(aus SQL) (<I><FONT color=#FF0000>char typeName[128+1]</I></FONT>),<BR>
|
||||||
|
Spaltengr<67><72>e(aus SQL) (<I><FONT color=#FF0000>SWORD columnSize</I></FONT>),<BR>
|
||||||
|
Pufferl<72>nge(aus SQL) (<I><FONT color=#FF0000>SWORD bufferLength</I></FONT>),<BR>
|
||||||
|
Dezimalstellen(aus SQL) (<I><FONT color=#FF0000>short decimalDigets</I></FONT>),<BR>
|
||||||
|
numPrecRadix (aus SQL) (<I><FONT color=#FF0000>short numPrecRadix</I></FONT>),<BR>
|
||||||
|
Null-F<>hig (aus SQL) (<I><FONT color=#FF0000>short nullable</I></FONT>),<BR>
|
||||||
|
Bemerkungen (<I><FONT color=#FF0000>char remarks[254+1]</I></FONT>),<BR>
|
||||||
|
Datatype (from wxDB) (<I><FONT color=#FF0000>int dbDataType</I></FONT>),<BR>
|
||||||
|
Prim<69>rschl<68>ssel (<I><FONT color=#FF0000>int PkCol</I></FONT>) 0=Nein; 1= Erste Schl<68>ssel, 2 = Zweite Schl<68>ssel usw.,<BR>
|
||||||
|
Tabllennamen die diese Schl<68>ssel als Fremdschl<68>ssel verwenden (<I><FONT color=#FF0000>char PkTableName[DB_MAX_TABLE_NAME_LEN+1]</I></FONT>),<BR>
|
||||||
|
Foreign-Key (<I><FONT color=#FF0000>int FkCol</I></FONT>) 0=Nein; 1= Erste Schl<68>ssel, 2 = Zweite Schl<68>ssel usw.,<BR>
|
||||||
|
Tabellename wo diese Fremdschl<68>ssel als Prim<69>rschl<68>ssel (<I><FONT color=#FF0000>char FkTableName[DB_MAX_TABLE_NAME_LEN+1]</I></FONT>),<BR>
|
||||||
|
und eine Zeiger auf der (<I><A HREF="#WXCOLFOR">wxColFor*</A><FONT color=#FF0000> pColFor</FONT></I>) Struktur.
|
||||||
|
</B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<!-------------------------------->
|
||||||
|
<A NAME="WXCOLFOR"><P>
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B><A HREF="#WXCOLFOR">wxColFor</A></B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFFFE0>
|
||||||
|
<B>Diese Klasse speichert wie diese Spalte als String formatiert werden soll :<HR>
|
||||||
|
Ausgabestring (<I><FONT color=#FF0000>wxString s_Field</I></FONT>),<BR>
|
||||||
|
Formatierte Objekten (TIMESTAMP needs 7) (<I><FONT color=#FF0000>wxString s_Format[7]</I></FONT>),<BR>
|
||||||
|
Formatierte Objekten (<I><FONT color=#FF0000>wxString s_Menge[7]</I></FONT>),<BR>
|
||||||
|
Formatierte Objekten (TT MM YYYY HH MM SS m) (<I><FONT color=#FF0000>int i_Menge[7]</I></FONT>),<BR>
|
||||||
|
Nation (0=timestamp,1=EU,2=UK,3=International,4=US)<I><FONT color=#FF0000>int i_Nation</I></FONT>),<BR>
|
||||||
|
Datatyp (aus wxDB) (<I><FONT color=#FF0000>int I_dbDataType</I></FONT>),<BR>
|
||||||
|
Datatyp (aus SQL) (<I><FONT color=#FF0000>SWORD i_sqlDataType</I></FONT>),<HR>
|
||||||
|
int Format(int Nation, int dbDataType,SWORD sqlDataType,short columnSize,short decimalDigits);<BR>
|
||||||
|
Die Formatierte Objekten bekommen Standardwerte und Format() wird aufgerufen.<BR>
|
||||||
|
Die Programmierer k<>nnen, wenn sie was besonderes haben wollen , diese Werte <20>ndern und Format() nochmal aufrufen.
|
||||||
|
</B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<TABLE border=1><B><TBODY>
|
||||||
|
<TR><TH bgcolor=#FFBBBB><B>Diese Klasse ist eindeutig unterentwickelt !<BR>Es wurde erstmal zur Verwirklichung von DBGrid erstellt.<BR><EFBFBD>nderungen sind Wahrscheinlich. (Vorschl<68>ge sind Willkommen)</A></B></TH></TR>
|
||||||
|
</TBODY></TABLE><P>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFF777><B><A HREF="getcolsh.htm">Damit ist wohl alles klar</A>, oder ?</B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE><HR>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
</BODY></HTML>
|
53
demos/dbbrowse/help.de/getcolsh.htm
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
||||||
|
<HTML><HEAD><TITLE>DBBrowser Help : Remstar ODBC Classes</TITLE></HEAD>
|
||||||
|
<BODY BGCOLOR=#C6DFC6><CENTER><IMG SRC="../help.png/logo.png"></CENTER><BR><CENTER><B>DBBrowser<BR>Mark Johnson, Berlin Germany<BR>mj10777@gmx.net</B><HR></CENTER>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY><TR bgcolor=#CCFFFF>
|
||||||
|
<TH><B><H3><IMG SRC="../help.png/remstar.png"><BR>Remstar ODBC Classes :<BR>The new wxDB::GetColumns() Function<BR>How do you use it ?</H3><BR>(English)</B></FONT></TH>
|
||||||
|
</TABLE></TBODY></TR><P>
|
||||||
|
<B>Stand: 2000-01-23.01-mj10777</B><HR>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY>
|
||||||
|
<TR><TH bgcolor=#FFBBBB><B><IMG SRC="../help.png/imbau.png"></B></TH></TR>
|
||||||
|
</TBODY></TABLE><HR>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY>
|
||||||
|
<TR><TH bgcolor=#CCFFFF><B>How does it work ?</B></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<!-------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B>Basicly you use a 3 Dimentional Dynamic Array</B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFFFE0><B>wxDBInf --> wxTableInf --> wxColInf</B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE><P>
|
||||||
|
<!-------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY>
|
||||||
|
<TR><TH bgcolor=#CCFFFF><B>Using DBBrowser as the Example, I will try to explain how it works</B></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B>Sorry, the rest will have to come later !!</B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFFFE0><B></B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE><HR>
|
||||||
|
<!-------------------------------->
|
||||||
|
<!-------------------------------->
|
||||||
|
<!-------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B></B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFFFE0><B></B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE><HR>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY>
|
||||||
|
<TR><TH bgcolor=#FFBBBB><B></B></TH></TR>
|
||||||
|
</TBODY></TABLE><P>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFF777><B>Well now, <A HREF="getcol.htm">that makes everything clear</A> does't it?</B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE><HR>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
</BODY></HTML>
|
40
demos/dbbrowse/help.de/icons.htm
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
||||||
|
<HTML><HEAD><TITLE>DBBrowser Hilfe : Icons</TITLE></HEAD>
|
||||||
|
<BODY BGCOLOR=#C6DFC6><CENTER><IMG SRC="../help.png/logo.png"></CENTER><BR><CENTER><B>DBBrowser<BR>Mark Johnson, Berlin Germany<BR>mj10777@gmx.net</B><HR></CENTER>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY><TR bgcolor=#CCFFFF>
|
||||||
|
<TH><B><H3><IMG SRC="../help.png/logo.png"> DBBrowser : Icon Verwendung (.ICO / .XPM)</H3><BR>(deutsch)</B></FONT></TH>
|
||||||
|
</TABLE></TBODY></TR><P>
|
||||||
|
<B>Stand: 2000-01-22.01-mj10777</B><HR>
|
||||||
|
<!-------------------------------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY>
|
||||||
|
<TR><TH bgcolor=#CCFFFF><B>Welche Icons werden f<>r was verwendet ?</B></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<TABLE border=1><B><TBODY>
|
||||||
|
<TR><TH bgcolor=#FFBBBB><B>*.xpm sind nicht auf <IMG SRC="../help.png/linux.png"> Linux getestet !</B></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<!//--->
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B><IMG SRC="../help.png/col.png"> col.ico / col.xpm</B></TH><TH bgcolor=#FFFFE0><B>dbtree.cpp :<BR> ODBC Spalte in eine Tabelle (weder Prim<69>r- noch Fremdschl<68>ssel)</B></FONT></TH></TR>
|
||||||
|
<TR><TH bgcolor=#CCFFCC><B><IMG SRC="../help.png/d_closed.png"> d_closed.ico / d_closed.xpm</B></TH><TH><B>pgmctrl + dbtree.cpp :<BR>letzte Baumzweig (nicht angeklickt)</B></FONT></TH></TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B><IMG SRC="../help.png/d_open.png"> d_open.ico / d_open.xpm</B></TH><TH bgcolor=#FFFFE0><B>pgmctrl + dbtree.cpp :<BR>letzte Baumzweig (angeklickt)</B></FONT></TH></TR>
|
||||||
|
<TR><TH bgcolor=#CCFFCC><B><IMG SRC="../help.png/dsn.png"> dsn.ico / dsn.xpm</B></TH><TH><B>gute Frage</B></FONT></TH></TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B><IMG SRC="../help.png/dsnclose.png"> dsnclose.ico / dsnclose.xpm</B></TH><TH bgcolor=#FFFFE0><B>pgmctrl.cpp :<BR>Hauptzweig der ODBC-Datenquellebaum (nicht angeklickt)</B></FONT></TH></TR>
|
||||||
|
<TR><TH bgcolor=#CCFFCC><B><IMG SRC="../help.png/dsnopen.png"> dsnopen.ico / dsnopen.xpm</B></TH><TH><B>pgmctrl.cpp :<BR>Hauptzweig der ODBC-Datenquellebaum (angeklickt)</B></FONT></TH></TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B><IMG SRC="../help.png/f_closed.png"> f_closed.ico / f_closed.xpm</B></TH><TH bgcolor=#FFFFE0><B>pgmctrl.cpp :<BR>Hauptzweig der Programm-Einstellungsbaum (nicht angeklickt)</B></FONT></TH></TR>
|
||||||
|
<TR><TH bgcolor=#CCFFCC><B><IMG SRC="../help.png/f_open.png"> f_open.ico / f_open.xpm</B></TH><TH><B>pgmctrl.cpp :<BR>Hauptzweig der Programm-Einstellungsbaum (angeklickt)</B></FONT></TH></TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B><IMG SRC="../help.png/key.png"> key.ico / key.xpm</B></TH><TH bgcolor=#FFFFE0><B>dbtree.cpp :<BR> ODBC Prim<69>rschl<68>ssel-Spalte in eine Tablle</B></FONT></TH></TR>
|
||||||
|
<TR><TH bgcolor=#CCFFCC><B><IMG SRC="../help.png/keyf.png"> keyf.ico / keyf.xpm</B></TH><TH><B>dbtree.cpp :<BR> ODBC Fremdschl<68>ssel-Spalte in eine Tablle</B></FONT></TH></TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B><IMG SRC="../help.png/logo.png"> logo.ico / logo.xpm</B></TH><TH bgcolor=#FFFFE0><B>Programm Logo</B></FONT></TH></TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B><IMG SRC="../help.png/pgmctrl.png"> pgmctrl.ico / pgmctrl.xpm / pgmctrl.bmp</B></TH><TH bgcolor=#FFFFE0><B>pgmctrl.cpp :<BR> Tab Bitmap</B></FONT></TH></TR>
|
||||||
|
<TR><TH bgcolor=#CCFFCC><B><IMG SRC="../help.png/tab.png"> tab.ico / tab.xpm</B></TH><TH><B>dbtree.cpp :<BR> ODBC Tabelle</B></FONT></TH></TR>
|
||||||
|
</TR></TBODY></TABLE>
|
||||||
|
<TABLE border=1><B><TBODY><TR bgcolor=#FFF777>
|
||||||
|
<TH><B><A HREF="icons.htm">Alle andere Pictograms werden nicht in DBBrowser verwendet.<BR>(sind .png Files)</A></B></FONT></TH>
|
||||||
|
</TABLE></TBODY></TR>
|
||||||
|
<P><TABLE border=1><B><TBODY><TR bgcolor=#FFF777>
|
||||||
|
<TH><B>Hoffentlich wird der Zeit bald kommen, wo man auschlie_lich XPM Dateien verwenden darf.</B></FONT></TH>
|
||||||
|
</TABLE></TBODY></TR>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<HR>
|
||||||
|
</BODY></HTML>
|
37
demos/dbbrowse/help.de/picgrams.htm
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
||||||
|
<HTML><HEAD><TITLE>DBBrowser Help : Pictograms</TITLE></HEAD>
|
||||||
|
<BODY BGCOLOR=#C6DFC6><CENTER><IMG SRC="../help.png/logo.png"></CENTER><BR><CENTER><B>DBBrowser<BR>Mark Johnson, Berlin Germany<BR>mj10777@gmx.net</B><HR></CENTER>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY><TR bgcolor=#CCFFFF>
|
||||||
|
<TH><B><H3><IMG SRC="../help.png/logo.png"> DBBrowser : Verwendete Pictograms (*.png)</H3><BR>(deutsch)</B></FONT></TH>
|
||||||
|
</TABLE></TBODY></TR><P>
|
||||||
|
<B>Stand: 2000-01-23.01-mj10777</B><HR>
|
||||||
|
<!-------------------------------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY>
|
||||||
|
<TR><TH bgcolor=#CCFFFF><B>Die wahre Bedeutung der verwendete Pictograms in diese Hilfe Dateien</B></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<TABLE border=1><B><TBODY>
|
||||||
|
<TR><TH bgcolor=#FFF777><B>Alle Pictograms sind .PNG Dateien (Portable Network Graphics)<BR>Ich verwende Paint Shop Pro 5.01 um diese Dateien zuerstellen.</B></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B><IMG SRC="../help.png/imbau.png"> imbau.png</B></TH><TH bgcolor=#FFFFE0><B>Seite ist nicht fertig</B></FONT></TH></TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B><IMG SRC="../help.png/gnu.png"> gnu.png</B></TH><TH bgcolor=#FFFFE0><B>GNU Logo : gcc 2.95 Compiler</B></FONT></TH></TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B><IMG SRC="../help.png/gtk.png"> gtk.png</B></TH><TH bgcolor=#FFFFE0><B>GTK Logo : Grafische Bibliothek in Linux</B></FONT></TH></TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B><IMG SRC="../help.png/kde.png"> kde.png</B></TH><TH bgcolor=#FFFFE0><B>KDE Logo : Grafische System in Linux</B></FONT></TH></TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B><IMG SRC="../help.png/linux.png"> linux.png</B></TH><TH bgcolor=#FFFFE0><B>Linux Logo : Linux (Allgemein)</B></FONT></TH></TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B><IMG SRC="../help.png/motif.png"> motif.png</B></TH><TH bgcolor=#FFFFE0><B>Motif Logo : Grafische Bibliothek in Linux (ist diese Logo korrect ?)</B></FONT></TH></TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B><IMG SRC="../help.png/msvc.png"> msvc.png</B></TH><TH bgcolor=#FFFFE0><B>Microsoft VC++ Logo : VC++ 6.0 Compiler</B></FONT></TH></TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B><IMG SRC="../help.png/odbc.png"> odbc.png</B></TH><TH bgcolor=#FFFFE0><B>ODBC Logo </B></FONT></TH></TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B><IMG SRC="../help.png/remstar.png"> remstar.png</B></TH><TH bgcolor=#FFFFE0><B>Remstar Logo : Remstar ODBC-Klassen (http://www.remstar.com)</B></FONT></TH></TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B><IMG SRC="../help.png/redh.png"> redh.png</B></TH><TH bgcolor=#FFFFE0><B>Redhat Logo : Linux Vertreiber (http://www.redhat.com / .de)</B></FONT></TH></TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B><IMG SRC="../help.png/suse.png"> suse.png</B></TH><TH bgcolor=#FFFFE0><B>SuSE Logo : Linux Vertreiber (http://www.suse.com / .de)</B></FONT></TH></TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B><IMG SRC="../help.png/server.png"> server.png</B></TH><TH bgcolor=#FFFFE0><B>Server Logo </B></FONT></TH></TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B><IMG SRC="../help.png/wins.png"> wins.png</B></TH><TH bgcolor=#FFFFE0><B>Windows Logo : Windows (Allgemein) </B></FONT></TH></TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B><IMG SRC="../help.png/winnt.png"> winnt.png</B></TH><TH bgcolor=#FFFFE0><B>Windows-NT Logo : Windows-NT speziefisch</B></FONT></TH></TR>
|
||||||
|
</TR></TBODY></TABLE>
|
||||||
|
<P><TABLE border=1><B><TBODY><TR bgcolor=#FFF777>
|
||||||
|
<TH><B><A HREF="icons.htm">Alle andere Pictograms sind .PNG-Kopien von der DBBrowser-Icons.</A></B></FONT></TH>
|
||||||
|
</TABLE></TBODY></TR>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<HR>
|
||||||
|
</BODY></HTML>
|
76
demos/dbbrowse/help.de/problems.htm
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
||||||
|
<HTML><HEAD><TITLE>DBBrowser Hilfe : Probleme</TITLE></HEAD>
|
||||||
|
<BODY BGCOLOR=#C6DFC6><CENTER><IMG SRC="../help.png/logo.png"></CENTER><BR><CENTER><B>DBBrowser<BR>Mark Johnson, Berlin Germany<BR>mj10777@gmx.net</B><HR></CENTER>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY><TR bgcolor=#CCFFFF>
|
||||||
|
<TH><B><H3><IMG SRC="../help.png/logo.png"> DBBrowser : Was Funktionert nicht ?</H3><BR>(deutsch)</B></FONT></TH>
|
||||||
|
</TABLE></TBODY></TR><P>
|
||||||
|
<B>Stand: 2000-01-22.01-mj10777</B>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<HR><TABLE border=1><B><TBODY>
|
||||||
|
<TR><TH bgcolor=#CCFFFF><B>Allgemein</B></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B>Problem : <IMG SRC="../help.png/gnu.png"> </B></TH><TH bgcolor=#FFFFE0><B>Nur gcc 2.95 Compiler :<BR>Assurt failed in file ../../src/msw/fontutil.cpp at line 238: unknown font slant</B></FONT></TH></TR>
|
||||||
|
<TR><TH bgcolor=#CCFFCC><B>L<EFBFBD>sung :</B></TH><TH><B>nicht bekannt</B></FONT></TH></TR>
|
||||||
|
</TR></TBODY></TABLE><P>
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B>Problem : <IMG SRC="../help.png/gnu.png"> </B></TH><TH bgcolor=#FFFFE0><B>Nur gcc 2.95 Compiler :<BR>Assurt failed in file ../../src/msw/fontutil.cpp at line 249: unknown font weight</B></FONT></TH></TR>
|
||||||
|
<TR><TH bgcolor=#CCFFCC><B>L<EFBFBD>sung :</B></TH><TH><B>nicht bekannt</B></FONT></TH></TR>
|
||||||
|
</TR></TBODY></TABLE><P>
|
||||||
|
<HR><TABLE border=1><B><TBODY>
|
||||||
|
<TR><TH bgcolor=#CCFFFF><B>wxHtmlHelpController</B></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B>Problem :</B></TH><TH bgcolor=#FFFFE0><B>Wenn der Hilfe geschlossen wird wenn der Voll-HTML-Seite Modus an ist - sieht man nichts wenn Hilfe wieder gestartet wird. (Seite ist Grau)</B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFF777><B>Taste Links-Oben dr<64>cken um in die geteilte Seitenmodus wiederzugelangen.</B></FONT></TH></TR>
|
||||||
|
</TR></TBODY></TABLE>
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#CCFFCC><B>L<EFBFBD>sung :</B></TH><TH><B>unbekannt</B></FONT></TH></TR>
|
||||||
|
</TR></TBODY></TABLE><P>
|
||||||
|
<!-------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B>Problem :</B></TH><TH bgcolor=#FFFFE0><B>Die Rechteseite (HTLM-Seite) bldttert nicht bei der Verwendung der Maus-Mittelrad.<BR>Auf der Linkeseite funktioniert es.</B></FONT></TH></TR>
|
||||||
|
<TR><TH bgcolor=#CCFFCC><B>L<EFBFBD>sung :</B></TH><TH><B>unbekannt</B></FONT></TH></TR>
|
||||||
|
</TR></TBODY></TABLE><P>
|
||||||
|
<!-------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B>Problem :</B></TH><TH bgcolor=#FFFFE0><B>Warum Funktioniert die Aktulisierungs-Taste (F5) nicht?</B></FONT></TH></TR>
|
||||||
|
<TR><TH bgcolor=#CCFFCC><B>L<EFBFBD>sung :</B></TH><TH><B>unbekannt</B></FONT></TH></TR>
|
||||||
|
</TR></TBODY></TABLE><P>
|
||||||
|
<!-------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B>Problem :</B></TH><TH bgcolor=#FFFFE0><B>Wie kann die Hilfe Themenbezogen aufgerufen werden ? Eine bestimmte Seite wird ervffnet</B></FONT></TH></TR>
|
||||||
|
<TR><TH bgcolor=#CCFFCC><B>L<EFBFBD>sung :</B></TH><TH><B>unbekannt</B></FONT></TH></TR>
|
||||||
|
</TR></TBODY></TABLE><P>
|
||||||
|
<!-------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B>Problem :</B></TH><TH bgcolor=#FFFFE0><B>Bilder, die mit HelpView zusehen sind, erscheint nicht wenn OnHelp() aufgerufen wird.</B></FONT></TH></TR>
|
||||||
|
</TR></TBODY></TABLE>
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFBBBB><B>Logbuch : Warning: No handler found for image type.<BR>Warnung: Kein Handler f<>r Bildtyp gefunden<HR>Warum kamm diese Text nicht auf Deutsch ?</B></FONT></TH></TR>
|
||||||
|
</TR></TBODY></TABLE>
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#CCFFCC><B>L<EFBFBD>sung :</B></TH><TH><B><BR>Folgende Zeilen in DBBrowser.cpp(MyApp::OnInit()) hinzugef<65>gt: <HR>#if wxUSE_LIBPNG<BR>wxImage::AddHandler( new wxPNGHandler );<BR>#endif</B></FONT></TH></TR>
|
||||||
|
</TR></TBODY></TABLE><P>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<HR><TABLE border=1><B><TBODY>
|
||||||
|
<TR><TH bgcolor=#CCFFFF><B>wxGrid (Neue Version)</B></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B>Problem :</B></TH><TH bgcolor=#FFFFE0><B>Wenn wxGrid in wxPaggedWindows verwendet wird, funktioniert die Scrollbars nicht.</B></FONT></TH></TR>
|
||||||
|
<TR><TH bgcolor=#CCFFCC><B>L<EFBFBD>sung :</B></TH><TH><B>unbekannt</B></FONT></TH></TR>
|
||||||
|
</TR></TBODY></TABLE><P>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<HR><TABLE border=1><B><TBODY>
|
||||||
|
<TR><TH bgcolor=#CCFFFF><B>ndchste Problem</B></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B>Problem :</B></TH><TH bgcolor=#FFFFE0><B>irgend etwas taucht schon auf, wie immer.</B></FONT></TH></TR>
|
||||||
|
<TR><TH bgcolor=#CCFFCC><B>L<EFBFBD>sung :</B></TH><TH><B>unbekannt</B></FONT></TH></TR>
|
||||||
|
</TR></TBODY></TABLE><P>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<HR>
|
||||||
|
</BODY></HTML>
|
15
demos/dbbrowse/help.de/remstar.htm
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
||||||
|
<HTML><HEAD><TITLE>DBBrowser Help : Remstar ODBC Classes</TITLE></HEAD>
|
||||||
|
<BODY BGCOLOR=#C6DFC6><CENTER><IMG SRC="../help.png/logo.png"></CENTER><BR><CENTER><B>DBBrowser<BR>Mark Johnson, Berlin Germany<BR>mj10777@gmx.net</B><HR></CENTER>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY><TR bgcolor=#CCFFFF>
|
||||||
|
<TH><B><H3><IMG SRC="../help.png/remstar.png"> Remstar ODBC Klassen : </H3><BR>(deutsch)</B></FONT></TH>
|
||||||
|
</TABLE></TBODY></TR><P>
|
||||||
|
<B>Stand: 2000-01-22.01-mj10777</B><HR>
|
||||||
|
<!-------------------------------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY>
|
||||||
|
<TR><TH bgcolor=#CCFFFF><B>TODO</B></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<HR>
|
||||||
|
</BODY></HTML>
|
25
demos/dbbrowse/help.de/sample.htm
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
||||||
|
<HTML><HEAD><TITLE>DBBrowser Hilfe : Beispiel HTLM Seite</TITLE></HEAD>
|
||||||
|
<BODY BGCOLOR=#C6DFC6><CENTER><IMG SRC="../help.png/logo.png"></CENTER><BR><CENTER><B>DBBrowser<BR>Mark Johnson, Berlin Germany<BR>mj10777@gmx.net</B><HR></CENTER>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY><TR bgcolor=#CCFFFF>
|
||||||
|
<TH><B><H3><IMG SRC="../help.png/logo.png"> DBBrowser : Beispielseite</H3><BR>(deutsch)</B></FONT></TH>
|
||||||
|
</TABLE></TBODY></TR><P>
|
||||||
|
<B>Stand: 2000-01-22.01-mj10777</B><HR>
|
||||||
|
<!-------------------------------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY>
|
||||||
|
<TR><TH bgcolor=#CCFFFF><B>Blau (CCFFFF)</B></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B>Gelb (FFFFAA)</B></TH><TH bgcolor=#FFFFE0><B>Hellgelb (FFFFE0)</B></FONT></TH></TR>
|
||||||
|
<TR><TH bgcolor=#CCFFCC><B>Hellgr<EFBFBD>n <TH BGCOLOR=#CCFFCC><HR>Hintergrundsfarbe f<>r diese teil der Tabelle</B></TH><TH><B><BODY BGCOLOR=#C6DFC6><HR>Seitehintergrundsfarbe</B></FONT></TH></TR>
|
||||||
|
</TR></TBODY></TABLE>
|
||||||
|
<P><TABLE border=1><B><TBODY><TR bgcolor=#FFF777>
|
||||||
|
<TH><B>Gold <TR BGCOLOR=#FFF777><HR>Hintergrundsfarbe f<>r die Gesamte Tabelle</B></FONT></TH>
|
||||||
|
</TABLE></TBODY></TR>
|
||||||
|
<P><TABLE border=1><B><TBODY><TR bgcolor=#FFBBBB>
|
||||||
|
<TH><B>Rosa (FFBBBB)</B></FONT></TH>
|
||||||
|
</TABLE></TBODY></TR>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<HR>
|
||||||
|
</BODY></HTML>
|
24
demos/dbbrowse/help.de/startprm.htm
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
||||||
|
<HTML><HEAD><TITLE>DBBrowser Hilfe : Start parameter</TITLE></HEAD>
|
||||||
|
<BODY BGCOLOR=#C6DFC6><CENTER><IMG SRC="../help.png/logo.png"></CENTER><BR><CENTER><B>DBBrowser<BR>Mark Johnson, Berlin Germany<BR>mj10777@gmx.net</B><HR></CENTER>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY><TR bgcolor=#CCFFFF>
|
||||||
|
<TH><B><H3><IMG SRC="../help.png/logo.png"> DBBrowser : Start Parameter (Internationalizierung)</H3><BR>(deutsch)</B></FONT></TH>
|
||||||
|
</TABLE></TBODY></TR><P>
|
||||||
|
<B>Stand: 2000-01-22.01-mj10777</B><HR>
|
||||||
|
<!-------------------------------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY>
|
||||||
|
<TR><TH bgcolor=#CCFFFF><B>DBBrowser xx</B></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B>xx = Sprache</B></TH><TH bgcolor=#FFFFE0><B>cz, de, fr, pl und std (englisch)</B></FONT></TH></TR>
|
||||||
|
</TR></TBODY></TABLE>
|
||||||
|
<P><TABLE border=1><B><TBODY><TR bgcolor=#FFBBBB>
|
||||||
|
<TH><B>Zur Zeit gibt es f<>r Tschechisch (cz), Franz<6E>sch (fr) und Polnisch (pl) keine Hilfe Texte<HR>Alles wurde aber daf<61>r vorbereitet und der lokale wird gesetzt.</B></FONT></TH>
|
||||||
|
</TABLE></TBODY></TR>
|
||||||
|
<P><TABLE border=1><B><TBODY><TR bgcolor=#FFF777>
|
||||||
|
<TH><B>DBBrowser wird diese Einstellung solange verwenden bis sie ge<67>ndert werden (also auch nach Programm Neustart). (wxConfigBase)<HR>In "Programm Einstellungen" kann man (zur Zeit nur) zwischen englisch und deutsch hin und her umschalten.</B></FONT></TH>
|
||||||
|
</TABLE></TBODY></TR>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<HR>
|
||||||
|
</BODY></HTML>
|
80
demos/dbbrowse/help.de/todo.htm
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
||||||
|
<HTML><HEAD><TITLE>DBBrowser Help : Problems</TITLE></HEAD>
|
||||||
|
<BODY BGCOLOR=#C6DFC6><CENTER><IMG SRC="../help.png/logo.png"></CENTER><BR><CENTER><B>DBBrowser<BR>Mark Johnson, Berlin Germany<BR>mj10777@gmx.net</B><HR></CENTER>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY><TR bgcolor=#CCFFFF>
|
||||||
|
<TH><B><H3><IMG SRC="../help.png/logo.png"> DBBrowser : Was f<>r / Wann sind neue Funktionen geplanned ?</H3><BR>(deutsch)</B></FONT></TH>
|
||||||
|
</TABLE></TBODY></TR><P>
|
||||||
|
<B>Stand: 2000-01-22.01-mj10777</B>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<HR><TABLE border=1><B><TBODY>
|
||||||
|
<TR><TH bgcolor=#CCFFFF><B>Allgemein</B></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B>Funktion :</B></TH><TH bgcolor=#FFFFE0><B>Wann wird es M<>glich mehr als eine DSN / DBGrid Fenster aufzumachen?</B></FONT></TH></TR>
|
||||||
|
<TR><TH bgcolor=#CCFFCC><B>Zeitplan :</B></TH><TH><B>bald, da es f<>r mich wichtig ist.</B></FONT></TH></TR>
|
||||||
|
</TR></TBODY></TABLE><P>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<HR><TABLE border=1><B><TBODY>
|
||||||
|
<TR><TH bgcolor=#CCFFFF><B>DBGrid</B></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B>Funktion :</B></TH><TH bgcolor=#FFFFE0><B>Unterst<EFBFBD>tzung f<>r Neue, L<>schen und <20>ndern eines Datensatz.</B></FONT></TH></TR>
|
||||||
|
<TR><TH bgcolor=#CCFFCC><B>Zeitplan :</B></TH><TH><B>Irgenwann W<>hrend meine jetztige Projekt.</B></FONT></TH></TR>
|
||||||
|
</TR></TBODY></TABLE><P>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<HR><TABLE border=1><B><TBODY>
|
||||||
|
<TR><TH bgcolor=#CCFFFF><B>DBGrid</B></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B>Funktion :</B></TH><TH bgcolor=#FFFFE0><B>Wann werden Datens<6E>tze erst dann eingelesen wenn ben<65>tigt wird (Scrolling) ?</B></FONT></TH></TR>
|
||||||
|
<TR><TH bgcolor=#CCFFCC><B>Zeitplan :</B></TH><TH><B>Diese Funktion in f<>r wxGrid geplannt. Ich hoffe bald.</B></FONT></TH></TR>
|
||||||
|
</TR></TBODY></TABLE><P>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<HR><TABLE border=1><B><TBODY>
|
||||||
|
<TR><TH bgcolor=#CCFFFF><B>DBTree</B></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B>Funktion :</B></TH><TH bgcolor=#FFFFE0><B>Wann kann DBBrowser eine wxDB und wxTable .cpp/.h Dateien erstellen ?</B></FONT></TH></TR>
|
||||||
|
<TR><TH bgcolor=#CCFFCC><B>Zeitplan :</B></TH><TH><B>Die Funktionen OnDBClass(); OnClass() und OnClassAll(); sind daf<61>r vorbereitet..<HR>F<EFBFBD>r mich ist es nicht so wichtig. Irgend jemand wird es schon machen (vielleicht f<>r wxStudio ?)</B></FONT></TH></TR>
|
||||||
|
</TR></TBODY></TABLE><P>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<HR><TABLE border=1><B><TBODY>
|
||||||
|
<TR><TH bgcolor=#CCFFFF><B>24.01.2000 : George Tasker</B></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TH bgcolor=#FFFFAA><B>Have USER NAME and PASSWORD text widgets, or a menu item to enter them.</B></TH>
|
||||||
|
<TH bgcolor=#FFFFE0><B>25.01.2000 - done but must be tested
|
||||||
|
</B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TH bgcolor=#FFFFAA><B>Rather than have the "40 DSN's found" message at the end of the log book, Put that in the status bar of the frame.</B></TH>
|
||||||
|
<TH bgcolor=#FFFFE0><B>24.01.2000 - Done
|
||||||
|
</B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TH bgcolor=#FFFFAA><B>Make the grid cells READ-ONLY, since this is a browser (unless you want to make it an editor too -- good idea!)</B></TH>
|
||||||
|
<TH bgcolor=#FFFFE0><B>25.01.2000 - done : right mouse click on any grid lable and on popupmenu clicken
|
||||||
|
</B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TH bgcolor=#FFFFAA><B>Sort the DSNs in alphabetical order before putting them in the tree</B></TH>
|
||||||
|
<TH bgcolor=#FFFFE0><B>26.01.2000 - done
|
||||||
|
</B></FONT></TH>
|
||||||
|
</TR></TBODY></TABLE>
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TH bgcolor=#FFFFAA><B>Have program settings available from a TOOLS / OPTIONS menu</B></TH>
|
||||||
|
<TH bgcolor=#FFFFE0><B>Willdo
|
||||||
|
</B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<HR><TABLE border=1><B><TBODY>
|
||||||
|
<TR><TH bgcolor=#CCFFFF><B>neue Funktion</B></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B>Funktion :</B></TH><TH bgcolor=#FFFFE0><B>irgend etwas taucht schon auf, wie immer.</B></FONT></TH></TR>
|
||||||
|
<TR><TH bgcolor=#CCFFCC><B>Zeitplan :</B></TH><TH><B>unknown</B></FONT></TH></TR>
|
||||||
|
</TR></TBODY></TABLE><P>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<HR>
|
||||||
|
</BODY></HTML>
|
27
demos/dbbrowse/help.de/wxdb.htm
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
||||||
|
<HTML><HEAD><TITLE>DBBrowser Help : Remstar ODBC Classes</TITLE></HEAD>
|
||||||
|
<BODY BGCOLOR=#C6DFC6><CENTER><IMG SRC="../help.ng/logo.png"></CENTER><BR><CENTER><B>DBBrowser<BR>Mark Johnson, Berlin Germany<BR>mj10777@gmx.net</B><HR></CENTER>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY><TR bgcolor=#CCFFFF>
|
||||||
|
<TH><B><H3><IMG SRC="../help.png/remstar.png"><BR>Remstar ODBC Classes : wxDB</H3><BR>(deutsch)</B></FONT></TH>
|
||||||
|
</TABLE></TBODY></TR><P>
|
||||||
|
<B>Stand: 2000-01-23.01-mj10777</B><HR>
|
||||||
|
<!-------------------------------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY>
|
||||||
|
<TR><TH bgcolor=#CCFFFF><B>Es gibt 2 neue wxDB Funktionen : </B></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<TABLE border=1><TBODY><TR><B>
|
||||||
|
<TH><B><A HREF="getcol.htm"><FONT><B>Beschreibung der neue GetColumns()</B></FONT></A></TH>
|
||||||
|
<TH><B><FONT>und <A HREF="getcol.htm#GETKEXFIELDS">GetKeyFields()</A><BR><A HREF="getcol.htm#WXDBINF">wxDbInf</A><BR><A HREF="getcol.htm#WXTABLEINF">wxTableInf</A><BR><A HREF="getcol.htm#WXCOLINF">wxColInf</A><BR><A HREF="getcol.htm#WXCOLFOR">wxColFor</A></B></FONT></TH>
|
||||||
|
</TR><TR>
|
||||||
|
<TH><B><A HREF="getcolsh.htm"><FONT><B>Wie verwendet man die neue GetColumns()</B></FONT></A></TH>
|
||||||
|
<TH><B><FONT>und GetKeyFields()<BR>wxDbInf<BR>wxTableInf<BR>wxColInf<BR>wxColFor</B></FONT></TH>
|
||||||
|
</TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY><TR>
|
||||||
|
<TR><TH bgcolor=#FFF777><B>Die andere GetColumns() hat sich nicht ge<67>ndert.<BR>Die dort verwendete CcolInf is allerdings, in wirklichkeit, ein wxColInf ! (<I><FONT color=#FF0000>typedef wxColInf CcolInf;</I></FONT>)</B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE><HR>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
</BODY></HTML>
|
15
demos/dbbrowse/help.de/wxtable.htm
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
||||||
|
<HTML><HEAD><TITLE>DBBrowser Hilfe : Remstar ODBC Klassen</TITLE></HEAD>
|
||||||
|
<BODY BGCOLOR=#C6DFC6><CENTER><IMG SRC="../help.png/logo.png"></CENTER><BR><CENTER><B>DBBrowser<BR>Mark Johnson, Berlin Germany<BR>mj10777@gmx.net</B><HR></CENTER>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY><TR bgcolor=#CCFFFF>
|
||||||
|
<TH><B><H3><IMG SRC="../help.png/remstar.png"> Remstar ODBC Klassen : wxTable</H3><BR>(deutsch)</B></FONT></TH>
|
||||||
|
</TABLE></TBODY></TR><P>
|
||||||
|
<B>Stand: 2000-01-22.01-mj10777</B><HR>
|
||||||
|
<!-------------------------------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY>
|
||||||
|
<TR><TH bgcolor=#FFBBBB><B>Diese Klasse wird in DBBrowser nicht verwendet!</B></TH></TR>
|
||||||
|
</TBODY></TABLE>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<HR>
|
||||||
|
</BODY></HTML>
|
BIN
demos/dbbrowse/help.png/col.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
demos/dbbrowse/help.png/d_closed.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
demos/dbbrowse/help.png/d_open.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
demos/dbbrowse/help.png/dsn.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
demos/dbbrowse/help.png/dsnclose.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
demos/dbbrowse/help.png/dsnopen.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
demos/dbbrowse/help.png/f_closed.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
demos/dbbrowse/help.png/f_open.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
demos/dbbrowse/help.png/gnu.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
demos/dbbrowse/help.png/gtk.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
demos/dbbrowse/help.png/imbau.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
demos/dbbrowse/help.png/kde.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
demos/dbbrowse/help.png/key.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
demos/dbbrowse/help.png/keyf.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
demos/dbbrowse/help.png/linux.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
demos/dbbrowse/help.png/logo.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
demos/dbbrowse/help.png/motif.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
demos/dbbrowse/help.png/msvc.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
demos/dbbrowse/help.png/odbc.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
demos/dbbrowse/help.png/pgmctrl.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
demos/dbbrowse/help.png/redh.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
demos/dbbrowse/help.png/remstar.png
Normal file
After Width: | Height: | Size: 7.7 KiB |
BIN
demos/dbbrowse/help.png/server.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
demos/dbbrowse/help.png/suse.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
demos/dbbrowse/help.png/tab.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
demos/dbbrowse/help.png/winnt.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
demos/dbbrowse/help.png/wins.png
Normal file
After Width: | Height: | Size: 2.0 KiB |
50
demos/dbbrowse/help.std/compiler.htm
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
||||||
|
<HTML><HEAD><TITLE>DBBrowser Hilfe : Compiler</TITLE></HEAD>
|
||||||
|
<BODY BGCOLOR=#C6DFC6><CENTER><IMG SRC="../help.png/logo.png"></CENTER><BR><CENTER><B>DBBrowser<BR>Mark Johnson, Berlin Germany<BR>mj10777@gmx.net</B><HR></CENTER>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY><TR bgcolor=#CCFFFF>
|
||||||
|
<TH><B><H3><IMG SRC="../help.png/logo.png"> DBBrowser : Where has DBBrowser been Compilied ?</H3><BR>(English)</B></FONT></TH>
|
||||||
|
</TABLE></TBODY></TR><P>
|
||||||
|
<B>Stand: 2000-01-22.01-mj10777</B><HR>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B><IMG SRC="../help.png/winnt.png"><IMG SRC="../help.png/server.png"> Windows NT 4.0 Server - SP 4</B></TH><TH bgcolor=#FFFFE0><B><IMG SRC="../help.png/msvc.png"> VC++ 6.0 Compiler</B></FONT></TH></TR>
|
||||||
|
</TABLE></TBODY>
|
||||||
|
<TABLE border=1><B><TBODY><TR bgcolor=#FFFFE0>
|
||||||
|
<TH><B>wxWindows CVS 21.01.2000 18:00</B></TH><TH><B>Static Library<BR>nmake -f makefile.vc FINAL=1</B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE></TR>
|
||||||
|
<TABLE border=1><B><TBODY><TR bgcolor=#FFFFE0>
|
||||||
|
<TH><B>Mark Johnson, Berlin Germany</B></TH><TH><B>Small .EXE and stable</B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE></TR><HR>
|
||||||
|
<!-------------------------------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B><IMG SRC="../help.png/winnt.png"><IMG SRC="../help.png/server.png"> Windows NT 4.0 Server - SP 4</B></TH><TH bgcolor=#FFFFE0><B><IMG SRC="../help.png/gnu.png"> mingw32 gcc-2.95 Compiler</B></FONT></TH></TR>
|
||||||
|
</TABLE></TBODY>
|
||||||
|
<TABLE border=1><B><TBODY><TR bgcolor=#FFFFE0>
|
||||||
|
<TH><B>wxWindows CVS 21.01.2000 18:00</B></TH><TH><B>Static Library<BR>make -f makefile.g95</B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE></TR>
|
||||||
|
<TABLE border=1><B><TBODY><TR bgcolor=#FFFFE0>
|
||||||
|
<TH><B>Mark Johnson, Berlin Germany</B></TH><TH><B>Big .EXE and unstable</B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE></TR><HR>
|
||||||
|
<!-------------------------------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B><IMG SRC="../help.png/linux.png"><IMG SRC="../help.png/redh.png"> Linux - Redhat 6.1</B></TH><TH bgcolor=#FFFFE0><B><IMG SRC="../help.png/gnu.png"> gcc Compiler ? </B></FONT></TH></TR>
|
||||||
|
</TABLE></TBODY>
|
||||||
|
<TABLE border=1><B><TBODY><TR bgcolor=#FFFFE0>
|
||||||
|
<TH><B>wxWindows <IMG SRC="../help.png/gtk.png"> CVS ??.01.2000 ??:00</B></TH><TH><B>??</B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE></TR>
|
||||||
|
<TABLE border=1><B><TBODY><TR bgcolor=#FFFFE0>
|
||||||
|
<TH><B>??</B></TH><TH><B>??</B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE></TR><HR>
|
||||||
|
<!-------------------------------------------------------------->
|
||||||
|
<TABLE border=1><B><TBODY>
|
||||||
|
<TR><TH bgcolor=#FFFFAA><B><IMG SRC="../help.png/linux.png"><IMG SRC="../help.png/suse.png" "WIDTH="45" HEIGHT="25""> Linux - SuSE 6.1</B></TH><TH bgcolor=#FFFFE0><B><IMG SRC="../help.png/gnu.png"> gcc Compiler ? </B></FONT></TH></TR>
|
||||||
|
</TABLE></TBODY>
|
||||||
|
<TABLE border=1><B><TBODY><TR bgcolor=#FFFFE0>
|
||||||
|
<TH><B>wxWindows <IMG SRC="../help.png/gtk.png"> CVS ??.01.2000 ??:00</B></TH><TH><B>??</B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE></TR>
|
||||||
|
<TABLE border=1><B><TBODY><TR bgcolor=#FFFFE0>
|
||||||
|
<TH><B>??</B></TH><TH><B>??</B></FONT></TH></TR>
|
||||||
|
</TBODY></TABLE></TR><HR>
|
||||||
|
<!----------------------------------------------------------------------------------------------------------->
|
||||||
|
</BODY></HTML>
|