]> git.saurik.com Git - wxWidgets.git/commitdiff
re-indent sources
authorBart A.M. Jourquin <bart.jourquin@fucam.ac.be>
Mon, 31 Jan 2000 10:43:24 +0000 (10:43 +0000)
committerBart A.M. Jourquin <bart.jourquin@fucam.ac.be>
Mon, 31 Jan 2000 10:43:24 +0000 (10:43 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5746 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

demos/dbbrowse/browsedb.cpp
demos/dbbrowse/dbgrid.cpp
demos/dbbrowse/dbtree.cpp
demos/dbbrowse/dlguser.cpp
demos/dbbrowse/doc.cpp
demos/dbbrowse/pgmctrl.cpp
demos/dbbrowse/tabpgwin.cpp

index 3ee7463cfcfac8577b30973adf345659ad1ba6e4..dd09716aed4a6d9ea812d4651da9948b60a1ee35 100644 (file)
 //-- all #ifdefs that the whole Project needs. ------------------------------
 //---------------------------------------------------------------------------
 #ifdef __GNUG__
- #pragma implementation
- #pragma interface
+#pragma implementation
+#pragma interface
 #endif
 //---------------------------------------------------------------------------
 // For compilers that support precompilation, includes "wx/wx.h".
 #include "wx/wxprec.h"
 //---------------------------------------------------------------------------
 #ifdef __BORLANDC__
- #pragma hdrstop
+#pragma hdrstop
 #endif
 //---------------------------------------------------------------------------
 #ifndef WX_PRECOMP
- #include "wx/wx.h"
+#include "wx/wx.h"
 #endif
 //---------------------------------------------------------------------------
 #include <wx/dbtable.h>
@@ -38,65 +38,65 @@ extern DbList* WXDLLEXPORT PtrBegDbList;    /* from db.cpp, used in getting back
 //---------------------------------------------------------------------------
 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();
+  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";
- }
- 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;
+  /* 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:
+public:
   UserDialog(wxWindow* parent);
   virtual ~UserDialog();
   void OnOK(wxCommandEvent& event);
   wxString s_UserName, s_Password;
-
- private:
+  
+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):
+  END_EVENT_TABLE()
+  //---------------------------------------------------------------------------
+  UserDialog::UserDialog(wxWindow *parent):
     wxDialog(parent, -1, _("ODBC user"),wxDefaultPosition, wxSize(310, 300),wxDIALOG_MODAL | wxDEFAULT_DIALOG_STYLE)
 {
   wxLayoutConstraints* layout;
@@ -109,7 +109,7 @@ UserDialog::UserDialog(wxWindow *parent):
   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);
@@ -117,7 +117,7 @@ UserDialog::UserDialog(wxWindow *parent):
   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);
@@ -125,7 +125,7 @@ UserDialog::UserDialog(wxWindow *parent):
   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);
@@ -133,7 +133,7 @@ UserDialog::UserDialog(wxWindow *parent):
   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);
@@ -141,10 +141,10 @@ UserDialog::UserDialog(wxWindow *parent):
   layout->top.SameAs(m_Label2, wxBottom, 3);
   layout->height.AsIs();
   m_Password->SetConstraints(layout);
-
+  
   s_UserName = "";
   s_Password = "";
-
+  
   Layout();
 }
 //---------------------------------------------------------------------------
@@ -154,9 +154,9 @@ UserDialog::~UserDialog()
 //---------------------------------------------------------------------------
 void UserDialog::OnOK(wxCommandEvent& WXUNUSED(event))
 {
- strcpy(ConnectInf.Uid,  m_UserName->GetValue());
- strcpy(ConnectInf.AuthStr, m_Password->GetValue());
- EndModal(1);
 strcpy(ConnectInf.Uid,  m_UserName->GetValue());
 strcpy(ConnectInf.AuthStr, m_Password->GetValue());
 EndModal(1);
 }
 //////////////////////////////////////////////////////////////////////////////////
 // BJO 20000115 : end of  new stuff
@@ -164,12 +164,12 @@ void UserDialog::OnOK(wxCommandEvent& WXUNUSED(event))
 //---------------------------------------------------------------------------
 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();
 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()
@@ -179,371 +179,377 @@ BrowserDB::~BrowserDB()
 //--------------------------------------------------------------------------------------------
 bool BrowserDB::Initialize(int Quite)
 {
- if (!OnStartDB(Quite))
- {
-  wxLogMessage(_("\n\n-E-> BrowserDB::OnStartDB(%s) : Failed ! "),ODBCSource.c_str());
-  return FALSE;
- }
- return TRUE;
 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, "");
+    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)
-  {
-   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;
+    {
+      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;
 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,
 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,
+                     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,
+                     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;
+                     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;
 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 (!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(Temp0);
-  else
-   wxMessageBox("-E-> BrowserDB::OnExecSql - ExecSql()");
-  return FALSE;
- }
- if (!Quite)
- {
-  // wxLogMessage(_("\n-I-> BrowserDB::OnExecSql(%s) - End "),SQLStmt.c_str());
- }
- return TRUE;
+    {
+      // 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;
 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;
 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;
 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]  = "";
 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]   = "";
 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]   = "";
 }
 //----------------------------------------------------------------------------------------
+
+
+
+
+
+
index 9cbb9308916fd215dd3cf629b4619f5ed5ee735d..fedb8b8ee74cfe13a7428d6367e429266a9df29c 100644 (file)
 #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)
 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"));
 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()
@@ -75,297 +75,298 @@ 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"));
- //---------------------------------------------------------------------------
 //---------------------------------------------------------------------------
 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;
 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
 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
 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();
 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();
 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();
 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();
 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();
 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();
 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();
 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();
 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();
 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();
 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();
 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();
 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();
 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();
 }
 //---------------------------------------------------------------------------
+
index d262e2fae2e639d737b7fe1e38ed48391af67b43..8a3e2a461244208b50b64fb6ca5c701902680b82 100644 (file)
 //-- all #ifdefs that the whole Project needs. ------------------------------
 //---------------------------------------------------------------------------
 #ifdef __GNUG__
- #pragma implementation
- #pragma interface
+#pragma implementation
+#pragma interface
 #endif
 //---------------------------------------------------------------------------
 // For compilers that support precompilation, includes "wx/wx.h".
 #include "wx/wxprec.h"
 //---------------------------------------------------------------------------
 #ifdef __BORLANDC__
- #pragma hdrstop
+#pragma hdrstop
 #endif
 //---------------------------------------------------------------------------
 #ifndef WX_PRECOMP
- #include "wx/wx.h"
+#include "wx/wx.h"
 #endif
 //---------------------------------------------------------------------------
 #ifndef __WXMSW__
 //---------------------------------------------------------------------------
 static inline const char *bool2String(bool b)
 {
- return b ? "" : "not ";
 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)
 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)
+  : 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
 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));
 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"
+#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;
+  
 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;
 // 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
+  wxTreeItemId Root, Folder, Docu, Funkt;
+  int i,x,y;
+  wxString SQL_TYPE, DB_TYPE;
+  //----------------------------------------------------------------------------------------------------------------------------
+  if((pDoc->db_Br+i_Which)->Initialize(FALSE))
     {
-     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"));
-       }
+      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)
+        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() : 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;
+    {
+      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)
+  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 )
     {
-     // pDoc->OnChosenDSN(i);
+      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() );
+           */
+         //---------------------------------------------------
+       }
     }
-   }
-   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() );
-   */
-   //---------------------------------------------------
-  }
- }
 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);
-   }
-  }
- }
 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);
- }
 // 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);
-   }
-  }
- }
 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);
- }
 // 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();
 TreePos = event.GetPosition();
 }
 //------------------------------------------------------------------------------
+
+
index d4872af8bd30826801de795e35ba03f35b49d790..c3e6dbab177478e452143422e7c6c7f3931d55e9 100644 (file)
 //-- all #ifdefs that the whole Project needs. ------------------------------
 //---------------------------------------------------------------------------
 #ifdef __GNUG__
- #pragma implementation
- #pragma interface
+#pragma implementation
+#pragma interface
 #endif
 //---------------------------------------------------------------------------
 // For compilers that support precompilation, includes "wx/wx.h".
 #include "wx/wxprec.h"
 //---------------------------------------------------------------------------
 #ifdef __BORLANDC__
- #pragma hdrstop
+#pragma hdrstop
 #endif
 //---------------------------------------------------------------------------
 #ifndef WX_PRECOMP
- #include "wx/wx.h"
+#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)
+  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();
 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();
 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) )
 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);
 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);
 canceled = TRUE;
 EndModal(wxID_CANCEL);
 }
 //---------------------------------------------------------------------------
index 806ceaf397a79fbdcacaf85e5d171aa745956c70..1a34801643ee2c327097a69a7f2170558e17ca3b 100644 (file)
 //-- all #ifdefs that the whole Project needs. ------------------------------
 //---------------------------------------------------------------------------
 #ifdef __GNUG__
- #pragma implementation
- #pragma interface
+#pragma implementation
+#pragma interface
 #endif
 //---------------------------------------------------------------------------
 // For compilers that support precompilation, includes "wx/wx.h".
 #include "wx/wxprec.h"
 //---------------------------------------------------------------------------
 #ifdef __BORLANDC__
- #pragma hdrstop
+#pragma hdrstop
 #endif
 //---------------------------------------------------------------------------
 #ifndef WX_PRECOMP
- #include "wx/wx.h"
+#include "wx/wx.h"
 #endif
 //---------------------------------------------------------------------------
 //---------------------------------------------------------------------------
@@ -33,7 +33,7 @@
 //---------------------------------------------------------------------------
 //-- Some Global Vars for all Files (extern in ?.h needed) -----------------
 // Global structure for holding ODBC connection information
- struct DbStuff DbConnectInf;
+struct DbStuff DbConnectInf;
 //---------------------------------------------------------------------------
 wxConfigBase   *p_ProgramCfg;       // All Config and Path information
 wxLogTextCtrl  *p_LogBook;          // All Log messages
@@ -41,287 +41,287 @@ 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;
 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");
 // ----------------------------------------------------------
 // -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;
 //-------------------------------------------------------------------
 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;
 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;
 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)
- {
+  // 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_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;
+  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;;
 // 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ü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;
 // Temp0.Printf(_("\nmjDoc::OnLeer(%s) : auch diese funktion steht eines Tages zur Verfü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)
+  END_EVENT_TABLE()
+  //----------------------------------------------------------------------------------------
+  // Define a constructor for my p_Splitter
+  DocSplitterWindow::DocSplitterWindow(wxWindow *parent, wxWindowID id) : wxSplitterWindow(parent, id)
 {
 }
 //----------------------------------------------------------------------------------------
index 2c03f3d3c1af50d0a28961bee39c358af4ed2ad1..638d483317dabeb5831ddb168dfd7659e1ca7615 100644 (file)
 //-- all #ifdefs that the whole Project needs. ------------------------------
 //---------------------------------------------------------------------------
 #ifdef __GNUG__
- #pragma implementation
- #pragma interface
+#pragma implementation
+#pragma interface
 #endif
 //---------------------------------------------------------------------------
 // For compilers that support precompilation, includes "wx/wx.h".
 #include "wx/wxprec.h"
 //---------------------------------------------------------------------------
 #ifdef __BORLANDC__
- #pragma hdrstop
+#pragma hdrstop
 #endif
 //---------------------------------------------------------------------------
 #ifndef WX_PRECOMP
- #include "wx/wx.h"
+#include "wx/wx.h"
 #endif
 //---------------------------------------------------------------------------
 #ifndef __WXMSW__
- #include "bitmaps/d_closed.xpm"
- #include "bitmaps/d_open.xpm"
- #include "bitmaps/f_closed.xpm"
- #include "bitmaps/f_open.xpm"
- #include "bitmaps/logo.xpm"
- #include "bitmaps/dsnclose.xpm"
- #include "bitmaps/dsnopen.xpm"
+#include "bitmaps/d_closed.xpm"
+#include "bitmaps/d_open.xpm"
+#include "bitmaps/f_closed.xpm"
+#include "bitmaps/f_open.xpm"
+#include "bitmaps/logo.xpm"
+#include "bitmaps/dsnclose.xpm"
+#include "bitmaps/dsnopen.xpm"
 #endif
 //---------------------------------------------------------------------------
 //-- all #includes that every .cpp needs             --- 19990807.mj10777 ---
@@ -44,7 +44,7 @@
 //---------------------------------------------------------------------------
 static inline const char *bool2String(bool b)
 {
- return b ? "" : "not ";
 return b ? "" : "not ";
 }
 //---------------------------------------------------------------------------
 BEGIN_EVENT_TABLE(PgmCtrl, wxTreeCtrl)
@@ -52,245 +52,245 @@ BEGIN_EVENT_TABLE(PgmCtrl, wxTreeCtrl)
   EVT_LEFT_DCLICK(PgmCtrl::OnSelChanged)
   EVT_TREE_ITEM_RIGHT_CLICK(TREE_CTRL_PGM,PgmCtrl::OnRightSelect)
   EVT_MENU(PGMCTRL_ODBC_USER,PgmCtrl::OnUserPassword)
-END_EVENT_TABLE()
-//---------------------------------------------------------------------------
-// PgmCtrl implementation
-//---------------------------------------------------------------------------
-IMPLEMENT_DYNAMIC_CLASS(PgmCtrl, wxTreeCtrl)
-//---------------------------------------------------------------------------
-PgmCtrl::PgmCtrl(wxWindow *parent) : wxTreeCtrl(parent)
+  END_EVENT_TABLE()
+  //---------------------------------------------------------------------------
+  // PgmCtrl implementation
+  //---------------------------------------------------------------------------
+  IMPLEMENT_DYNAMIC_CLASS(PgmCtrl, wxTreeCtrl)
+  //---------------------------------------------------------------------------
+  PgmCtrl::PgmCtrl(wxWindow *parent) : wxTreeCtrl(parent)
 {
 }
 PgmCtrl::PgmCtrl(wxWindow *parent, const wxWindowID id,const wxPoint& pos, const wxSize& size, long style)
-          : wxTreeCtrl(parent, id, pos, size, 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
 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__) && defined(__WIN16__)
- // This is required in 16-bit Windows mode only because we can't load a specific (16x16)
- // icon image, so it comes out stretched
- p_imageListNormal->Add(wxBitmap("bitmap1", wxBITMAP_TYPE_BMP_RESOURCE));
- p_imageListNormal->Add(wxBitmap("bitmap2", wxBITMAP_TYPE_BMP_RESOURCE));
 // This is required in 16-bit Windows mode only because we can't load a specific (16x16)
 // icon image, so it comes out stretched
 p_imageListNormal->Add(wxBitmap("bitmap1", wxBITMAP_TYPE_BMP_RESOURCE));
 p_imageListNormal->Add(wxBitmap("bitmap2", wxBITMAP_TYPE_BMP_RESOURCE));
 #else
- p_imageListNormal->Add(wxICON(Logo));
- p_imageListNormal->Add(wxICON(DsnClosed));
- p_imageListNormal->Add(wxICON(DsnOpen));
- p_imageListNormal->Add(wxICON(DocClosed));
- p_imageListNormal->Add(wxICON(DocOpen));
- p_imageListNormal->Add(wxICON(FolderClosed));
- p_imageListNormal->Add(wxICON(FolderOpen));
 p_imageListNormal->Add(wxICON(Logo));
 p_imageListNormal->Add(wxICON(DsnClosed));
 p_imageListNormal->Add(wxICON(DsnOpen));
 p_imageListNormal->Add(wxICON(DocClosed));
 p_imageListNormal->Add(wxICON(DocOpen));
 p_imageListNormal->Add(wxICON(FolderClosed));
 p_imageListNormal->Add(wxICON(FolderOpen));
 #endif
-
- SetImageList(p_imageListNormal);
-
- // Add some items to the tree
- // AddTestItemsToTree(3, 2);
+  
 SetImageList(p_imageListNormal);
+  
 // Add some items to the tree
 // AddTestItemsToTree(3, 2);
 }
 //---------------------------------------------------------------------------
 PgmCtrl::~PgmCtrl()
 {
- // wxMessageBox("PgmCtrl::~PgmCtrl() - vor  DeleteAllItems");
- // DeleteAllItems();
- // wxMessageBox("nach DeleteAllItems");
- delete p_imageListNormal;
 // wxMessageBox("PgmCtrl::~PgmCtrl() - vor  DeleteAllItems");
 // DeleteAllItems();
 // wxMessageBox("nach DeleteAllItems");
 delete p_imageListNormal;
 }
 //---------------------------------------------------------------------------
 #undef TREE_EVENT_HANDLER
 //---------------------------------------------------------------------------
 int  PgmCtrl::OnPopulate()
 {
- wxTreeItemId Root, Folder, Docu;
- //----------------------------------------------------------------------------------------------------------------------------
- int i;
- double dTmp = 1234567.89;
- Temp0.Printf(_("%s Functions"),p_ProgramCfg->GetAppName().c_str());
- Root   = AddRoot(Temp0,TreeIc_Logo,TreeIc_Logo, new TreeData("Root"));
- //----------------------------------------------------------------------------------------------------------------------------
- Folder = AppendItem(Root, _("Program settings")   ,TreeIc_FolderClosed, TreeIc_FolderOpen, new TreeData("Settings"));
- p_ProgramCfg->Read("/Local/langid",&Temp0); p_ProgramCfg->Read("/Local/language",&Temp2);
- Temp1.Printf(_("locale (%s) ; Language (%s) ; Number(%2.2f)"),Temp0.c_str(), Temp2.c_str(), dTmp); Temp0.Empty();  Temp2.Empty();
- Docu   = AppendItem(Folder, Temp1                 ,TreeIc_DocClosed,          TreeIc_DocOpen,          new TreeData("Setting Language"));
- p_ProgramCfg->Read("/Paths/Work",&Temp0); Temp1.Printf(_("Work Path : %s"),Temp0.c_str()); Temp0.Empty();
- Docu   = AppendItem(Folder, Temp1                 ,TreeIc_DocClosed,          TreeIc_DocOpen,          new TreeData("Path Work"));
- Docu   = AppendItem(Folder, _("Change the language to English") ,TreeIc_DocClosed,          TreeIc_DocOpen,          new TreeData("Language English"));
- Docu   = AppendItem(Folder, _("Change the language to German")  ,TreeIc_DocClosed,          TreeIc_DocOpen,          new TreeData("Language German"));
- Docu   = AppendItem(Folder, _("Delete all wxConfigBase Entry's"),TreeIc_DocClosed,          TreeIc_DocOpen,          new TreeData("wxConfigBase Delete"));
- Folder = AppendItem(Root, "ODBC DSN"  ,TreeIc_FolderClosed, TreeIc_FolderOpen, new TreeData("ODBC-DSN"));
- for (i=0;i<pDoc->i_DSN;i++)
- {
-  Temp0.Printf("ODBC-%s",(pDoc->p_DSN+i)->Dsn.c_str());
-  Docu   = AppendItem(Folder,(pDoc->p_DSN+i)->Dsn ,TreeIc_DsnClosed,TreeIc_DsnOpen, new TreeData(Temp0));
- }
- //----------------------------------------------------------------------------------------------------------------------------
- popupMenu1 = NULL;
- popupMenu1 = new wxMenu("");
- popupMenu1->Append(PGMCTRL_ODBC_USER, _("Set Username and Password"));
- // popupMenu1->AppendSeparator();
- //----------------------------------------------------------------------------------------------------------------------------
- Expand(Root);
- Expand(Folder);
- //----------------------------------------------------------------------------------------------------------------------------
- return 0;
 wxTreeItemId Root, Folder, Docu;
 //----------------------------------------------------------------------------------------------------------------------------
 int i;
 double dTmp = 1234567.89;
 Temp0.Printf(_("%s Functions"),p_ProgramCfg->GetAppName().c_str());
 Root   = AddRoot(Temp0,TreeIc_Logo,TreeIc_Logo, new TreeData("Root"));
 //----------------------------------------------------------------------------------------------------------------------------
 Folder = AppendItem(Root, _("Program settings")   ,TreeIc_FolderClosed, TreeIc_FolderOpen, new TreeData("Settings"));
 p_ProgramCfg->Read("/Local/langid",&Temp0); p_ProgramCfg->Read("/Local/language",&Temp2);
 Temp1.Printf(_("locale (%s) ; Language (%s) ; Number(%2.2f)"),Temp0.c_str(), Temp2.c_str(), dTmp); Temp0.Empty();  Temp2.Empty();
 Docu   = AppendItem(Folder, Temp1                 ,TreeIc_DocClosed,          TreeIc_DocOpen,          new TreeData("Setting Language"));
 p_ProgramCfg->Read("/Paths/Work",&Temp0); Temp1.Printf(_("Work Path : %s"),Temp0.c_str()); Temp0.Empty();
 Docu   = AppendItem(Folder, Temp1                 ,TreeIc_DocClosed,          TreeIc_DocOpen,          new TreeData("Path Work"));
 Docu   = AppendItem(Folder, _("Change the language to English") ,TreeIc_DocClosed,          TreeIc_DocOpen,          new TreeData("Language English"));
 Docu   = AppendItem(Folder, _("Change the language to German")  ,TreeIc_DocClosed,          TreeIc_DocOpen,          new TreeData("Language German"));
 Docu   = AppendItem(Folder, _("Delete all wxConfigBase Entry's"),TreeIc_DocClosed,          TreeIc_DocOpen,          new TreeData("wxConfigBase Delete"));
 Folder = AppendItem(Root, "ODBC DSN"  ,TreeIc_FolderClosed, TreeIc_FolderOpen, new TreeData("ODBC-DSN"));
 for (i=0;i<pDoc->i_DSN;i++)
   {
+      Temp0.Printf("ODBC-%s",(pDoc->p_DSN+i)->Dsn.c_str());
+      Docu   = AppendItem(Folder,(pDoc->p_DSN+i)->Dsn ,TreeIc_DsnClosed,TreeIc_DsnOpen, new TreeData(Temp0));
   }
 //----------------------------------------------------------------------------------------------------------------------------
 popupMenu1 = NULL;
 popupMenu1 = new wxMenu("");
 popupMenu1->Append(PGMCTRL_ODBC_USER, _("Set Username and Password"));
 // popupMenu1->AppendSeparator();
 //----------------------------------------------------------------------------------------------------------------------------
 Expand(Root);
 Expand(Folder);
 //----------------------------------------------------------------------------------------------------------------------------
 return 0;
 }
 //---------------------------------------------------------------------------
 void PgmCtrl::OnSelChanged(wxTreeEvent& WXUNUSED(event))
 {
- int i;
- Temp0.Empty();   Temp1.Empty();
- pDoc->p_MainFrame->SetStatusText(Temp0,0);
- // Get the Information that we need
- wxTreeItemId itemId = GetSelection();
- TreeData *item = (TreeData *)GetItemData(itemId);
- if ( item != NULL )
- {
-  int Treffer = 0;
-  Temp1.Printf("%s",item->m_desc.c_str());
-  //-----------------------------------------------------------------------------------------
-  if (Temp1 == "Language English")
-  {
-   Temp0 = "std";
-   p_ProgramCfg->Write("/Local/langid",Temp0);
-   Temp0 = _("-I-> After a programm restart, the language will be changed to English.");
-   wxMessageBox(Temp0);
-  }
-  if (Temp1 == "Language German")
-  {
-   Temp0 = "de";
-   p_ProgramCfg->Write("/Local/langid",Temp0);
-   Temp0 = _("-I-> After a programm restart, the language will be changed to German.");
-   wxMessageBox(Temp0);
-  }
-  //-----------------------------------------------------------------------------------------
-  if (Temp1 == "wxConfigBase Delete")
-  {
-   if (p_ProgramCfg->DeleteAll()) // Default Diretory for wxFileSelector
-    Temp0 = _("-I-> wxConfigBase.p_ProgramCfg->DeleteAll() was succesfull.");
-   else
-    Temp0 = _("-E-> wxConfigBase.p_ProgramCfg->DeleteAll() was not succesfull !");
-   wxBell();     // Ding_a_Ling
-   Treffer++;
-  }
-  //-----------------------------------------------------------------------------------------
-  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)
+  int i;
+  Temp0.Empty();   Temp1.Empty();
+  pDoc->p_MainFrame->SetStatusText(Temp0,0);
+  // Get the Information that we need
+  wxTreeItemId itemId = GetSelection();
+  TreeData *item = (TreeData *)GetItemData(itemId);
+  if ( item != NULL )
     {
-     pDoc->OnChosenDSN(i);
-    }
-   }
-   Treffer++;
-  }
-  //-----------------------------------------------------------------------------------------
-  if (Treffer == 0)
-  {
-   //---------------------------------------------------
-   Temp0.Printf(_("Item '%s': %sselected, %sexpanded, %sbold,"
+      int Treffer = 0;
+      Temp1.Printf("%s",item->m_desc.c_str());
+      //-----------------------------------------------------------------------------------------
+      if (Temp1 == "Language English")
+       {
+         Temp0 = "std";
+         p_ProgramCfg->Write("/Local/langid",Temp0);
+         Temp0 = _("-I-> After a programm restart, the language will be changed to English.");
+         wxMessageBox(Temp0);
+       }
+      if (Temp1 == "Language German")
+       {
+         Temp0 = "de";
+         p_ProgramCfg->Write("/Local/langid",Temp0);
+         Temp0 = _("-I-> After a programm restart, the language will be changed to German.");
+         wxMessageBox(Temp0);
+       }
+      //-----------------------------------------------------------------------------------------
+      if (Temp1 == "wxConfigBase Delete")
+       {
+         if (p_ProgramCfg->DeleteAll()) // Default Diretory for wxFileSelector
+           Temp0 = _("-I-> wxConfigBase.p_ProgramCfg->DeleteAll() was succesfull.");
+         else
+           Temp0 = _("-E-> wxConfigBase.p_ProgramCfg->DeleteAll() was not succesfull !");
+         wxBell();     // Ding_a_Ling
+         Treffer++;
+       }
+      //-----------------------------------------------------------------------------------------
+      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-> PgmCtrl::OnSelChanged - %s",Temp0.c_str());
-   wxLogMessage( "%s", LogBuf.c_str() );
-   //---------------------------------------------------
-  }
- }
+                      item->m_desc.c_str(),
+                      bool2String(IsSelected(itemId)),
+                      bool2String(IsExpanded(itemId)),
+                      bool2String(IsBold(itemId)),
+                      GetChildrenCount(itemId),
+                      GetChildrenCount(itemId));
+         LogBuf.Printf("-I-> PgmCtrl::OnSelChanged - %s",Temp0.c_str());
+         wxLogMessage( "%s", LogBuf.c_str() );
+         //---------------------------------------------------
+       }
   }
 }
 //---------------------------------------------------------------------------
 void PgmCtrl::OnRightSelect(wxTreeEvent& WXUNUSED(event))
 {
- int i;
- Temp0.Empty();
- // Get the Information that we need
- wxTreeItemId itemId = GetSelection();
- DBTreeData *item = (DBTreeData *)GetItemData(itemId);
- SaveDSN.Empty();
- 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)
+  int i;
+  Temp0.Empty();
+  // Get the Information that we need
+  wxTreeItemId itemId = GetSelection();
+  DBTreeData *item = (DBTreeData *)GetItemData(itemId);
+  SaveDSN.Empty();
+  if ( item != NULL )
     {
-     SaveDSN = Temp1;
-     PopupMenu(popupMenu1,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)),
+      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)
+               {
+                 SaveDSN = Temp1;
+                 PopupMenu(popupMenu1,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() );
-   */
-   //---------------------------------------------------
-  }
- }
+               LogBuf.Printf("-I-> DBTree::OnSelChanged - %s",Temp0.c_str());
+               wxLogMessage( "%s", LogBuf.c_str() );
+               */
+         //---------------------------------------------------
+       }
   }
 }
 //------------------------------------------------------------------------------
 void PgmCtrl::OnMouseMove(wxMouseEvent &event)
 {
- TreePos = event.GetPosition();
 TreePos = event.GetPosition();
 }
 //------------------------------------------------------------------------------
 void PgmCtrl::OnUserPassword()
 {
- // wxMessageBox(SaveDSN);
- int i, rc=0;
- //-------------------------------------------
- DlgUser p_Dlg(this, "Username and Password", wxPoint(100, 100), wxSize(340, 170));
- //-------------------------------------------
- for (i=0;i<pDoc->i_DSN;i++)
- {
-  if (SaveDSN == (pDoc->p_DSN+i)->Dsn)
-  {
-   p_Dlg.s_DSN      = (pDoc->p_DSN+i)->Dsn;
-   p_Dlg.s_User     = (pDoc->p_DSN+i)->Usr;
-   p_Dlg.s_Password = (pDoc->p_DSN+i)->Pas;
-   p_Dlg.OnInit();
-   //--------------------
-   // Temp0.Printf("i(%d) ; s_DSN(%s) ; s_User(%s) ; s_Password(%s)",i,p_Dlg.s_DSN,p_Dlg.s_User,p_Dlg.s_Password);
-   // wxMessageBox(Temp0);
-   if (p_Dlg.ShowModal() == wxID_OK)
-   {
-    (pDoc->p_DSN+i)->Usr = p_Dlg.s_User;
-    (pDoc->p_DSN+i)->Pas = p_Dlg.s_Password;
-    (pDoc->db_Br+i)->UserName  = (pDoc->p_DSN+i)->Usr;
-    (pDoc->db_Br+i)->Password  = (pDoc->p_DSN+i)->Pas;
-   }
-   p_Dlg.Destroy();
-   //--------------------
-   goto Weiter; // We have what we want, leave
-  }
- }
 // wxMessageBox(SaveDSN);
 int i, rc=0;
 //-------------------------------------------
 DlgUser p_Dlg(this, "Username and Password", wxPoint(100, 100), wxSize(340, 170));
 //-------------------------------------------
 for (i=0;i<pDoc->i_DSN;i++)
   {
+      if (SaveDSN == (pDoc->p_DSN+i)->Dsn)
+       {
+         p_Dlg.s_DSN      = (pDoc->p_DSN+i)->Dsn;
+         p_Dlg.s_User     = (pDoc->p_DSN+i)->Usr;
+         p_Dlg.s_Password = (pDoc->p_DSN+i)->Pas;
+         p_Dlg.OnInit();
+         //--------------------
+         // Temp0.Printf("i(%d) ; s_DSN(%s) ; s_User(%s) ; s_Password(%s)",i,p_Dlg.s_DSN,p_Dlg.s_User,p_Dlg.s_Password);
+         // wxMessageBox(Temp0);
+         if (p_Dlg.ShowModal() == wxID_OK)
+           {
+             (pDoc->p_DSN+i)->Usr = p_Dlg.s_User;
+             (pDoc->p_DSN+i)->Pas = p_Dlg.s_Password;
+             (pDoc->db_Br+i)->UserName  = (pDoc->p_DSN+i)->Usr;
+             (pDoc->db_Br+i)->Password  = (pDoc->p_DSN+i)->Pas;
+           }
+         p_Dlg.Destroy();
+         //--------------------
+         goto Weiter; // We have what we want, leave
+       }
   }
  Weiter:
- //-------------------------------------------
- SaveDSN.Empty();
 //-------------------------------------------
 SaveDSN.Empty();
 }
 //---------------------------------------------------------------------------
index 8ee68ecd49fb39a2d8e1a6b342db2158dfea65d4..f71d8640734fa42bdbfb1ffe0e72d5793148d03d 100644 (file)
 // Implementation for class twTabInfo
 //---------------------------------------------------------------------------
 IMPLEMENT_DYNAMIC_CLASS( twTabInfo, wxObject )
-//---------------------------------------------------------------------------
-twTabInfo::twTabInfo()
- : mpContent( 0 )
+  //---------------------------------------------------------------------------
+  twTabInfo::twTabInfo()
   : mpContent( 0 )
 {}
 //---------------------------------------------------------------------------
 twTabInfo::~twTabInfo()
 {
- // FOR NOW:: nothing
 // FOR NOW:: nothing
 }
 //---------------------------------------------------------------------------
 int twTabInfo::ImgWidth()
 {
- if ( mBitMap.Ok() ) return mBitMap.GetWidth();
 if ( mBitMap.Ok() ) return mBitMap.GetWidth();
   else return 0;
 }
 //---------------------------------------------------------------------------
 int twTabInfo::ImgHeight()
 {
- if ( mBitMap.Ok() ) return mBitMap.GetHeight();
 if ( mBitMap.Ok() ) return mBitMap.GetHeight();
   else return 0;
 }
 //---------------------------------------------------------------------------
 int twTabInfo::ImageToTxtGap( int prefGap )
 {
- if ( mBitMap.Ok() ) return prefGap;
 if ( mBitMap.Ok() ) return prefGap;
   else return 0;
 }
 //---------------------------------------------------------------------------
 bool twTabInfo::HasImg()
 {
- return mBitMap.Ok();
 return mBitMap.Ok();
 }
 //---------------------------------------------------------------------------
 // bool twTabInfo::HasText();
 unsigned int twTabInfo::HasText()
 {
- return mText.Length();
 return mText.Length();
 }
 //---------------------------------------------------------------------------
 wxBitmap& twTabInfo::GetImg()
 {
- return mBitMap;
 return mBitMap;
 }
 //---------------------------------------------------------------------------
 wxString& twTabInfo::GetText()
 {
- return mText;
 return mText;
 }
 //---------------------------------------------------------------------------
 wxWindow& twTabInfo::GetContent()
 {
- return *mpContent;
 return *mpContent;
 }
 //---------------------------------------------------------------------------
 // Implementation for class wxTabbedWindow
 //---------------------------------------------------------------------------
 IMPLEMENT_DYNAMIC_CLASS( wxTabbedWindow, wxPanel )
-//---------------------------------------------------------------------------
-BEGIN_EVENT_TABLE( wxTabbedWindow, wxPanel )
- EVT_SIZE ( wxTabbedWindow::OnSize )
- EVT_PAINT( wxTabbedWindow::OnPaint )
- EVT_LEFT_DOWN( wxTabbedWindow::OnLButtonDown )
-// TDB:: filciker reduction
-// EVT_ERASE_BACKGROUND( wxTabbedWindow::OnBkErase )
-END_EVENT_TABLE()
-//---------------------------------------------------------------------------
-wxTabbedWindow::wxTabbedWindow()
-
- : mpTabScroll  ( NULL ),
-   mpHorizScroll( NULL ),
-   mpVertScroll ( NULL ),
-
-   mVertGap ( 0 ),
-   mHorizGap( 0 ),
-
-   mTitleVertGap ( 3  ),
-   mTitleHorizGap( 4  ),
-   mImageTextGap ( 2  ),
-   mFirstTitleGap( 11 ),
-
-   mBorderOnlyWidth( 8 ),
-
-   mWhitePen( wxColour(255,255,255), 1, wxSOLID ),
-   mGrayPen ( wxColour(192,192,192), 1, wxSOLID ),
-   mDarkPen ( wxColour(128,128,128), 1, wxSOLID ),
-   mBlackPen( wxColour(  0,  0,  0), 1, wxSOLID ),
-
-   // state variables
-
-   mActiveTab  ( 0 ),
-   mTitleHeight( 0 ),
-   mLayoutType( wxTITLE_IMG_AND_TEXT )
+  //---------------------------------------------------------------------------
+  BEGIN_EVENT_TABLE( wxTabbedWindow, wxPanel )
 EVT_SIZE ( wxTabbedWindow::OnSize )
 EVT_PAINT( wxTabbedWindow::OnPaint )
 EVT_LEFT_DOWN( wxTabbedWindow::OnLButtonDown )
+  // TDB:: filciker reduction
+  // EVT_ERASE_BACKGROUND( wxTabbedWindow::OnBkErase )
+  END_EVENT_TABLE()
+  //---------------------------------------------------------------------------
+  wxTabbedWindow::wxTabbedWindow()
+  
   : mpTabScroll  ( NULL ),
+      mpHorizScroll( NULL ),
+      mpVertScroll ( NULL ),
+      
+      mVertGap ( 0 ),
+      mHorizGap( 0 ),
+      
+      mTitleVertGap ( 3  ),
+      mTitleHorizGap( 4  ),
+      mImageTextGap ( 2  ),
+      mFirstTitleGap( 11 ),
+      
+      mBorderOnlyWidth( 8 ),
+      
+      mWhitePen( wxColour(255,255,255), 1, wxSOLID ),
+      mGrayPen ( wxColour(192,192,192), 1, wxSOLID ),
+      mDarkPen ( wxColour(128,128,128), 1, wxSOLID ),
+      mBlackPen( wxColour(  0,  0,  0), 1, wxSOLID ),
+      
+      // state variables
+      
+      mActiveTab  ( 0 ),
+      mTitleHeight( 0 ),
+      mLayoutType( wxTITLE_IMG_AND_TEXT )
 {}
 //---------------------------------------------------------------------------
 wxTabbedWindow::~wxTabbedWindow()
 {
- wxNode* pTab = mTabs.First();
-
- while( pTab )
- {
-  delete ((twTabInfo*)pTab->Data());
-  pTab = pTab->Next();
- }
 wxNode* pTab = mTabs.First();
+  
 while( pTab )
   {
+      delete ((twTabInfo*)pTab->Data());
+      pTab = pTab->Next();
   }
 }
 //---------------------------------------------------------------------------
 void wxTabbedWindow::SizeTabs(int x,int y, int width, int height, bool repant)
 {
- wxNode* pTabNode = mTabs.First();
- int n = 0;
-
 wxNode* pTabNode = mTabs.First();
 int n = 0;
+  
  while( pTabNode )
- {
-  twTabInfo& info = *((twTabInfo*)pTabNode->Data());
-
-  if ( n == mActiveTab )
-  {
-   //wxSizeEvent evt;
-   //info.mpContent->GetEventHandler()->ProcessEvent( evt );
-
-   info.mpContent->SetSize( x, y, width, height, 0 );
-   info.mpContent->Show(TRUE);
-   info.mpContent->Refresh();
-
-  }
-  else
-  {
-   info.mpContent->Show(FALSE);
-  }
-
-  pTabNode = pTabNode->Next();
-  ++n;
- }
  {
+     twTabInfo& info = *((twTabInfo*)pTabNode->Data());
+     
+     if ( n == mActiveTab )
+       {
+        //wxSizeEvent evt;
+        //info.mpContent->GetEventHandler()->ProcessEvent( evt );
+        
+        info.mpContent->SetSize( x, y, width, height, 0 );
+        info.mpContent->Show(TRUE);
+        info.mpContent->Refresh();
+        
+       }
+     else
+       {
+        info.mpContent->Show(FALSE);
+       }
+     
+     pTabNode = pTabNode->Next();
+     ++n;
  }
 }
 //---------------------------------------------------------------------------
 void wxTabbedWindow::AddTab( wxWindow* pContent,
-        wxString  tabText,
-        wxString  imageFileName,
-        long      imageType )
+                            wxString  tabText,
+                            wxString  imageFileName,
+                            long      imageType )
 {
- twTabInfo* pTab = new twTabInfo();
-
- pTab->mpContent = pContent;
- pTab->mText     = tabText;
-
- if ( wxFileExists( imageFileName ) &&
-
-   pTab->mBitMap.LoadFile( imageFileName, imageType ) )
- {
-  pTab->mImageFile = imageFileName;
-  pTab->mImageType = imageType;
- }
-
-
- if ( pContent->GetParent() == NULL )
-  pContent->Create( this, -1 );
-
- mTabs.Append( (wxObject*)pTab );
-
- RecalcLayout(TRUE);
-
- OnTabAdded( pTab );
 twTabInfo* pTab = new twTabInfo();
+  
 pTab->mpContent = pContent;
 pTab->mText     = tabText;
+  
 if ( wxFileExists( imageFileName ) &&
+       
+       pTab->mBitMap.LoadFile( imageFileName, imageType ) )
   {
+      pTab->mImageFile = imageFileName;
+      pTab->mImageType = imageType;
   }
+  
+  
 if ( pContent->GetParent() == NULL )
+    pContent->Create( this, -1 );
+  
 mTabs.Append( (wxObject*)pTab );
+  
 RecalcLayout(TRUE);
+  
 OnTabAdded( pTab );
 }
 //---------------------------------------------------------------------------
 void wxTabbedWindow::AddTab( wxWindow* pContent,
-       wxString  tabText, wxBitmap* pImage   )
+                            wxString  tabText, wxBitmap* pImage   )
 {
- twTabInfo* pTab = new twTabInfo();
-
- pTab->mpContent = pContent;
- pTab->mText     = tabText;
-
- if ( pImage )
-  pTab->mBitMap = *pImage;
-
- if ( pContent->GetParent() == NULL )
-  pContent->Create( this, -1 );
-
- mTabs.Append( (wxObject*)pTab );
- RecalcLayout(TRUE);
- OnTabAdded( pTab );
 twTabInfo* pTab = new twTabInfo();
+  
 pTab->mpContent = pContent;
 pTab->mText     = tabText;
+  
 if ( pImage )
+    pTab->mBitMap = *pImage;
+  
 if ( pContent->GetParent() == NULL )
+    pContent->Create( this, -1 );
+  
 mTabs.Append( (wxObject*)pTab );
 RecalcLayout(TRUE);
 OnTabAdded( pTab );
 }
 //---------------------------------------------------------------------------
 void wxTabbedWindow::RemoveTab( int tabNo )
 {
- twTabInfo* pTab = ((twTabInfo*)(mTabs.Nth( tabNo )->Data()));
- pTab->mpContent->Destroy();
- delete pTab;
- mTabs.DeleteNode( mTabs.Nth( tabNo ) );
- // if ( mActiveTab >= mTabs.Number() );
- if ( mActiveTab >= mTabs.Number() )
-  mActiveTab = mTabs.Number() - 1;
- SetActiveTab( mActiveTab );
 twTabInfo* pTab = ((twTabInfo*)(mTabs.Nth( tabNo )->Data()));
 pTab->mpContent->Destroy();
 delete pTab;
 mTabs.DeleteNode( mTabs.Nth( tabNo ) );
 // if ( mActiveTab >= mTabs.Number() );
 if ( mActiveTab >= mTabs.Number() )
+    mActiveTab = mTabs.Number() - 1;
 SetActiveTab( mActiveTab );
 }
 //---------------------------------------------------------------------------
 int wxTabbedWindow::GetTabCount()
@@ -244,20 +244,20 @@ int wxTabbedWindow::GetTabCount()
 //---------------------------------------------------------------------------
 wxWindow* wxTabbedWindow::GetTab( int tabNo )
 {
- return ((twTabInfo*)(mTabs.Nth( tabNo )->Data()))->mpContent;
 return ((twTabInfo*)(mTabs.Nth( tabNo )->Data()))->mpContent;
 }
 //---------------------------------------------------------------------------
 wxWindow* wxTabbedWindow::GetActiveTab()
 {
- // FIMXE:: this is lame
- return GetTab( mActiveTab );
 // FIMXE:: this is lame
 return GetTab( mActiveTab );
 }
 //---------------------------------------------------------------------------
 void wxTabbedWindow::SetActiveTab( int tabNo )
 {
- mActiveTab = tabNo;
- RecalcLayout(TRUE);
- Refresh();
 mActiveTab = tabNo;
 RecalcLayout(TRUE);
 Refresh();
 }
 //---------------------------------------------------------------------------
 // width of the decorations border (4 shade-lines), should not be changed
@@ -265,879 +265,880 @@ void wxTabbedWindow::SetActiveTab( int tabNo )
 #define BORDER_SZ 4
 //---------------------------------------------------------------------------
 void wxTabbedWindow::DrawShadedRect( int x, int y, int width, int height,
-            wxPen& upperPen, wxPen& lowerPen, wxDC& dc
-          )
+                                    wxPen& upperPen, wxPen& lowerPen, wxDC& dc
+                                    )
 {
- // darw the lightened upper-left sides of the rectangle
-
- dc.SetPen( upperPen );
- dc.DrawLine( x,y, x, y + height - 1 ); // vert
- dc.DrawLine( x,y, x + width - 1,  y ); // horiz
-
- // draw the unenlightened lower-right sides of the rectangle
-
- dc.SetPen( lowerPen );
- dc.DrawLine( x + width - 1,  y, x + width - 1, y + height - 1 ); // vert
- dc.DrawLine( x, y + height - 1, x + width, y + height - 1 );     // horiz
 // darw the lightened upper-left sides of the rectangle
+  
 dc.SetPen( upperPen );
 dc.DrawLine( x,y, x, y + height - 1 ); // vert
 dc.DrawLine( x,y, x + width - 1,  y ); // horiz
+  
 // draw the unenlightened lower-right sides of the rectangle
+  
 dc.SetPen( lowerPen );
 dc.DrawLine( x + width - 1,  y, x + width - 1, y + height - 1 ); // vert
 dc.DrawLine( x, y + height - 1, x + width, y + height - 1 );     // horiz
 }
 //---------------------------------------------------------------------------
 void wxTabbedWindow::DrawDecorations( wxDC& dc )
 {
- // Protability NOTE::: DrawLine(..) draws a line from the first position,
- //                     but not including the point specified by last position.
- //                     This way Windows draws lines, not sure how Motif and Gtk
- //                     prots behave...
-
- int width, height;
 // Protability NOTE::: DrawLine(..) draws a line from the first position,
 //                     but not including the point specified by last position.
 //                     This way Windows draws lines, not sure how Motif and Gtk
 //                     prots behave...
+  
 int width, height;
   GetClientSize( &width, &height );
-
- // check if there's at least a bit of space to draw things
-
- if ( width  < mHorizGap*2 + BORDER_SZ*2+1 ||
-   height < mVertGap*2  + BORDER_SZ*2+1 + mTitleHeight
-    )
-  return;
-
- // step #1 - draw border around the tab content area
-
- // setup position for kind of "pencil"
- int curX = mHorizGap;
- int curY = mVertGap;
-
- int xSize = width  - mHorizGap*2;
- int ySize = height - mVertGap *2  - mTitleHeight;
-
- // layer 1 (upper white)
- DrawShadedRect( curX+0, curY+0, xSize-0, ySize-0,
-     mWhitePen, mBlackPen, dc  );
-
- // layer 2 (upper gray)
- DrawShadedRect( curX+1, curY+1, xSize-2-1, ySize-2-1,
-     mGrayPen, mGrayPen, dc  );
-
- // layer 3 (upper darkGray)
- DrawShadedRect( curX+2, curY+2, xSize-3-2, ySize-3-2,
-     mDarkPen, mWhitePen, dc  );
-
- // layer 4 (upper black)
- DrawShadedRect( curX+3, curY+3, xSize-4-3, ySize-4-3,
-     mBlackPen, mGrayPen, dc  );
-
- // add non-siemtric layer from the lower-right side (confroming to MFC-look)
-
- dc.SetPen( mDarkPen );
- dc.DrawLine( curX+1, curY + ySize - 2, curX + xSize - 1, curY + ySize - 2 );   // horiz
- dc.DrawLine( curX + xSize - 2, curY + 1, curX + xSize - 2, curY + ySize - 2 ); // vert
-
- // step #2 - draw tab title bars
-
- curX = mFirstTitleGap;
- curY = height - mVertGap - mTitleHeight;
-
- int tabNo = 0;
- wxNode* pNode = mTabs.First();
-
- while( pNode )
- {
-  // "hard-coded metafile" for decorations
-
-  twTabInfo& tab = *((twTabInfo*)(pNode->Data()));
-
-  xSize = tab.mDims.x;
-  ySize = mTitleHeight;
-
-  if ( tabNo == mActiveTab )
-  {
-   dc.SetPen( mGrayPen );
-   dc.DrawLine( curX+1, curY-2, curX+xSize-2, curY-2 );
-   dc.DrawLine( curX+1, curY-1, curX+xSize-2, curY-1 );
-  }
-
-  dc.SetPen( mWhitePen );
-
+  
 // check if there's at least a bit of space to draw things
+  
 if ( width  < mHorizGap*2 + BORDER_SZ*2+1 ||
+       height < mVertGap*2  + BORDER_SZ*2+1 + mTitleHeight
+       )
+    return;
+  
 // step #1 - draw border around the tab content area
+  
 // setup position for kind of "pencil"
 int curX = mHorizGap;
 int curY = mVertGap;
+  
 int xSize = width  - mHorizGap*2;
 int ySize = height - mVertGap *2  - mTitleHeight;
+  
 // layer 1 (upper white)
 DrawShadedRect( curX+0, curY+0, xSize-0, ySize-0,
+                 mWhitePen, mBlackPen, dc  );
+  
 // layer 2 (upper gray)
 DrawShadedRect( curX+1, curY+1, xSize-2-1, ySize-2-1,
+                 mGrayPen, mGrayPen, dc  );
+  
 // layer 3 (upper darkGray)
 DrawShadedRect( curX+2, curY+2, xSize-3-2, ySize-3-2,
+                 mDarkPen, mWhitePen, dc  );
+  
 // layer 4 (upper black)
 DrawShadedRect( curX+3, curY+3, xSize-4-3, ySize-4-3,
+                 mBlackPen, mGrayPen, dc  );
+  
 // add non-siemtric layer from the lower-right side (confroming to MFC-look)
+  
 dc.SetPen( mDarkPen );
 dc.DrawLine( curX+1, curY + ySize - 2, curX + xSize - 1, curY + ySize - 2 );   // horiz
 dc.DrawLine( curX + xSize - 2, curY + 1, curX + xSize - 2, curY + ySize - 2 ); // vert
+  
 // step #2 - draw tab title bars
+  
 curX = mFirstTitleGap;
 curY = height - mVertGap - mTitleHeight;
+  
 int tabNo = 0;
 wxNode* pNode = mTabs.First();
+  
 while( pNode )
   {
+      // "hard-coded metafile" for decorations
+      
+      twTabInfo& tab = *((twTabInfo*)(pNode->Data()));
+      
+      xSize = tab.mDims.x;
+      ySize = mTitleHeight;
+      
+      if ( tabNo == mActiveTab )
+       {
+         dc.SetPen( mGrayPen );
+         dc.DrawLine( curX+1, curY-2, curX+xSize-2, curY-2 );
+         dc.DrawLine( curX+1, curY-1, curX+xSize-2, curY-1 );
+       }
+      
+      dc.SetPen( mWhitePen );
+      
   if ( tabNo == mActiveTab )
-   dc.DrawLine( curX, curY-2, curX, curY+ySize-2 );
+    dc.DrawLine( curX, curY-2, curX, curY+ySize-2 );
   else
-   dc.DrawLine( curX, curY, curX, curY+ySize-2 );
-
+    dc.DrawLine( curX, curY, curX, curY+ySize-2 );
+  
   dc.SetPen( mDarkPen );
   dc.DrawLine( curX+1, curY+ySize-3, curX+1, curY+ySize-1 ); // to pix down
   dc.DrawLine( curX+2, curY+ySize-2, curX+xSize-2, curY+ySize-2 );
   dc.DrawLine( curX+xSize-3, curY+ySize-3, curX+xSize-2, curY+ySize-3 );
   if ( tabNo == mActiveTab )
-   dc.DrawLine( curX+xSize-2, curY+ySize-3, curX+xSize-2, curY-3 );
+    dc.DrawLine( curX+xSize-2, curY+ySize-3, curX+xSize-2, curY-3 );
   else
-   dc.DrawLine( curX+xSize-2, curY+ySize-3, curX+xSize-2, curY-1 );
-
+    dc.DrawLine( curX+xSize-2, curY+ySize-3, curX+xSize-2, curY-1 );
+  
   dc.SetPen( mBlackPen );
   dc.DrawLine( curX+xSize-1, curY, curX+xSize-1, curY+ySize-2 );
   dc.DrawLine( curX+xSize-2, curY+ySize-2, curX+xSize-3, curY+ySize-2 );
   dc.DrawLine( curX+xSize-3, curY+ySize-1, curX+1, curY+ySize-1 );
-
+  
   pNode = pNode->Next();
   ++tabNo;
-
+  
   // darw image and (or without) text centered within the
   // title bar rectangle
-
+  
   if ( mLayoutType != wxTITLE_BORDER_ONLY && tab.HasImg() )
-  {
-   wxMemoryDC tmpDc;
+    {
+      wxMemoryDC tmpDc;
       tmpDc.SelectObject( tab.GetImg() );
-
+      
       dc.Blit( curX + mTitleHorizGap,
-         curY + ( ySize - tab.ImgHeight() ) / 2,
-      tab.ImgWidth(),
-      tab.ImgHeight(),
-      &tmpDc, 0, 0, wxCOPY
-       );
-  }
-
+              curY + ( ySize - tab.ImgHeight() ) / 2,
+              tab.ImgWidth(),
+              tab.ImgHeight(),
+              &tmpDc, 0, 0, wxCOPY
+              );
+    }
+  
   if ( mLayoutType == wxTITLE_IMG_AND_TEXT && tab.HasText() )
-  {
-   long x,w,h;
-
-   // set select default font of the window into it's device context
-   dc.SetFont( GetLabelingFont() );
-
-   dc.SetTextBackground( GetBackgroundColour() );
-
-   dc.GetTextExtent(tab.mText, &w, &h );
-
-   x = curX + mTitleHorizGap +
-    tab.ImgWidth() + tab.ImageToTxtGap(mImageTextGap);
-
-   dc.DrawText( tab.GetText(), x, curY + ( ySize - h ) / 2 );
-  }
+    {
+      long x,w,h;
+      
+      // set select default font of the window into it's device context
+      dc.SetFont( GetLabelingFont() );
+      
+      dc.SetTextBackground( GetBackgroundColour() );
+      
+      dc.GetTextExtent(tab.mText, &w, &h );
+      
+      x = curX + mTitleHorizGap +
+       tab.ImgWidth() + tab.ImageToTxtGap(mImageTextGap);
+      
+      dc.DrawText( tab.GetText(), x, curY + ( ySize - h ) / 2 );
+    }
   curX += xSize;
-
- } // end of `while (pNode)'
+  
   } // end of `while (pNode)'
 }
 //---------------------------------------------------------------------------
 int wxTabbedWindow::HitTest( const wxPoint& pos )
 {
- int width, height;
 int width, height;
   GetClientSize( &width, &height );
-
- int curX = mFirstTitleGap;
- int curY = height - mVertGap - mTitleHeight;
-
- int     tabNo = 0;
- wxNode* pNode = mTabs.First();
-
- while( pNode )
- {
-  twTabInfo& tab = *((twTabInfo*)(pNode->Data()));
-
-  int w,h;
-  w = tab.mDims.x;
-  h = tab.mDims.y;
-  // hit test rectangle of the currnet tab title bar
-  if ( pos.x >= curX && pos.x < curX + tab.mDims.x  &&
-    pos.y >= curY && pos.y < curY + tab.mDims.y
-     )
-  {
-   return tabNo;
-  }
-
-  curX += tab.mDims.x;
-
-  pNode = pNode->Next();
-  ++tabNo;
- }
-
- return -1;
+  
 int curX = mFirstTitleGap;
 int curY = height - mVertGap - mTitleHeight;
+  
 int     tabNo = 0;
 wxNode* pNode = mTabs.First();
+  
 while( pNode )
   {
+      twTabInfo& tab = *((twTabInfo*)(pNode->Data()));
+      
+      int w,h;
+      w = tab.mDims.x;
+      h = tab.mDims.y;
+      // hit test rectangle of the currnet tab title bar
+      if ( pos.x >= curX && pos.x < curX + tab.mDims.x  &&
+          pos.y >= curY && pos.y < curY + tab.mDims.y
+          )
+       {
+         return tabNo;
+       }
+      
+      curX += tab.mDims.x;
+      
+      pNode = pNode->Next();
+      ++tabNo;
   }
+  
 return -1;
 }
 //---------------------------------------------------------------------------
 void wxTabbedWindow::HideInactiveTabs( bool andRepaint )
 {
- if ( !andRepaint )
-  return;
-
- wxNode* pNode = mTabs.First();
- int     tabNo = 0;
-
- while( pNode )
- {
-  if ( tabNo != mActiveTab )
 if ( !andRepaint )
+    return;
+  
 wxNode* pNode = mTabs.First();
 int     tabNo = 0;
+  
 while( pNode )
   {
+      if ( tabNo != mActiveTab )
   {
-   twTabInfo& tab = *((twTabInfo*)(pNode->Data()));
-   tab.mpContent->Show(FALSE);
+    twTabInfo& tab = *((twTabInfo*)(pNode->Data()));
+    tab.mpContent->Show(FALSE);
   }
-
-  pNode = pNode->Next();
-  ++tabNo;
- }
+      
+      pNode = pNode->Next();
+      ++tabNo;
   }
 }
 //---------------------------------------------------------------------------
 wxFont wxTabbedWindow::GetLabelingFont()
 {
- wxFont font;
 wxFont font;
 #ifdef __WINDOWS__
- font.SetFaceName("MS Sans Serif");
 font.SetFaceName("MS Sans Serif");
 #else
- font.SetFamily( wxSWISS );
 font.SetFamily( wxSWISS );
 #endif
-
- font.SetStyle(40);
- font.SetWeight(40);
- font.SetPointSize( 8 );
-
+  
 font.SetStyle(40);
 font.SetWeight(40);
 font.SetPointSize( 8 );
+  
 #ifdef __WINDOWS__
- font.RealizeResource();
 font.RealizeResource();
 #endif
-
- return font;
+  
 return font;
 }
 //---------------------------------------------------------------------------
 void wxTabbedWindow::RecalcLayout(bool andRepaint)
 {
- HideInactiveTabs(andRepaint);
-
- // resetup position of the active tab
-
- int width, height;
 HideInactiveTabs(andRepaint);
+  
 // resetup position of the active tab
+  
 int width, height;
   GetClientSize( &width, &height );
-
- int curX = mHorizGap + BORDER_SZ;
- int curY = mVertGap  + BORDER_SZ;
-
- int xSize = width  - mHorizGap*2 - BORDER_SZ*2-1;
- int ySize = height - mVertGap*2  - BORDER_SZ*2-1 - mTitleHeight;
-
- SizeTabs( curX, curY, xSize, ySize, andRepaint );
-
- // pass #1 - try to layout assuming it's wxTITLE_IMG_AND_TEXT
-
- mLayoutType = wxTITLE_IMG_AND_TEXT;
-
- wxNode* pNode = mTabs.First();
-
- curX = mFirstTitleGap; // the left-side gap
- mTitleHeight = 0;
-
- while( pNode )
- {
-  twTabInfo& tab = *((twTabInfo*)(pNode->Data()));
-
-  wxWindowDC dc(this);
-
-  long w,h;
-
-  // set select default font of the window into it's device context
+  
 int curX = mHorizGap + BORDER_SZ;
 int curY = mVertGap  + BORDER_SZ;
+  
 int xSize = width  - mHorizGap*2 - BORDER_SZ*2-1;
 int ySize = height - mVertGap*2  - BORDER_SZ*2-1 - mTitleHeight;
+  
 SizeTabs( curX, curY, xSize, ySize, andRepaint );
+  
 // pass #1 - try to layout assuming it's wxTITLE_IMG_AND_TEXT
+  
 mLayoutType = wxTITLE_IMG_AND_TEXT;
+  
 wxNode* pNode = mTabs.First();
+  
 curX = mFirstTitleGap; // the left-side gap
 mTitleHeight = 0;
+  
 while( pNode )
   {
+      twTabInfo& tab = *((twTabInfo*)(pNode->Data()));
+      
+      wxWindowDC dc(this);
+      
+      long w,h;
+      
+      // set select default font of the window into it's device context
   dc.SetFont( GetLabelingFont() );
-
+  
   dc.GetTextExtent(tab.mText, &w, &h );
-
+  
   tab.mDims.x = w + tab.ImageToTxtGap(mImageTextGap) +
-             tab.ImgWidth() + mTitleHorizGap*2;
-
+    tab.ImgWidth() + mTitleHorizGap*2;
+  
   tab.mDims.y  = wxMax( h, tab.ImgHeight() ) + mTitleVertGap*2;
   mTitleHeight = wxMax( mTitleHeight, tab.mDims.y );
-
-  curX += tab.mDims.x;
-
-  pNode = pNode->Next();
- }
-
- curX += mHorizGap; // the right-side gap
-
- // make all title bars of equel height
-
- pNode = mTabs.First();
-
- while( pNode )
- {
-  ((twTabInfo*)(pNode->Data()))->mDims.y = mTitleHeight;;
-  pNode = pNode->Next();
- }
-
- // if curX has'nt ran out of bounds, leave TITLE_IMG layout and return
- if ( curX < width - mHorizGap )
-  return;
-
- // pass #2 - try to layout assuming wxTITLE_IMG_ONLY
-
- mLayoutType = wxTITLE_IMG_ONLY;
-
- pNode = mTabs.First();
-
- curX = mFirstTitleGap; // the left-side gap
-
- int denomiator = mTabs.Number();
- if ( denomiator == 0 ) ++denomiator;
-
- mBorderOnlyWidth = (width - mFirstTitleGap - mHorizGap) / denomiator;
-
- while( pNode )
- {
-  twTabInfo& tab = *((twTabInfo*)(pNode->Data()));
-
-  if ( tab.HasImg() )
-  {
-   tab.mDims.x = tab.ImgWidth()  + mTitleHorizGap*2;
-   tab.mDims.y = tab.ImgHeight() + mTitleVertGap*2;
-  }
-  else
-  {
-   tab.mDims.x = mBorderOnlyWidth;
-   tab.mDims.y = mTitleHeight;
-  }
-
+  
   curX += tab.mDims.x;
-
+  
   pNode = pNode->Next();
- }
-
- curX += mHorizGap; // the right-side gap
-
+    }
+  
+  curX += mHorizGap; // the right-side gap
+  
+  // make all title bars of equel height
+  
+  pNode = mTabs.First();
+  
+  while( pNode )
+    {
+      ((twTabInfo*)(pNode->Data()))->mDims.y = mTitleHeight;;
+      pNode = pNode->Next();
+    }
+  
+  // if curX has'nt ran out of bounds, leave TITLE_IMG layout and return
+  if ( curX < width - mHorizGap )
+    return;
+  
+  // pass #2 - try to layout assuming wxTITLE_IMG_ONLY
+  
+  mLayoutType = wxTITLE_IMG_ONLY;
+  
+  pNode = mTabs.First();
+  
+  curX = mFirstTitleGap; // the left-side gap
+  
+  int denomiator = mTabs.Number();
+  if ( denomiator == 0 ) ++denomiator;
+  
+  mBorderOnlyWidth = (width - mFirstTitleGap - mHorizGap) / denomiator;
+  
+  while( pNode )
+    {
+      twTabInfo& tab = *((twTabInfo*)(pNode->Data()));
+      
+      if ( tab.HasImg() )
+       {
+         tab.mDims.x = tab.ImgWidth()  + mTitleHorizGap*2;
+         tab.mDims.y = tab.ImgHeight() + mTitleVertGap*2;
+       }
+      else
+       {
+         tab.mDims.x = mBorderOnlyWidth;
+         tab.mDims.y = mTitleHeight;
+       }
+      
+      curX += tab.mDims.x;
+      
+      pNode = pNode->Next();
+    }
+  
+  curX += mHorizGap; // the right-side gap
+  
  // if curX has'nt ran out of bounds, leave IMG_ONLY layout and return
- if ( curX < width  - mHorizGap )
-  return;
-
- // pass #3 - set the narrowest layout wxTITLE_BORDER_ONLY
-
- mLayoutType = wxTITLE_BORDER_ONLY;
-
- pNode = mTabs.First();
-
- while( pNode )
- {
-  twTabInfo& tab = *((twTabInfo*)(pNode->Data()));
-
-  tab.mDims.x = mBorderOnlyWidth;
-  tab.mDims.y = mTitleHeight;
-
-  pNode = pNode->Next();
- }
 if ( curX < width  - mHorizGap )
+    return;
+  
 // pass #3 - set the narrowest layout wxTITLE_BORDER_ONLY
+  
 mLayoutType = wxTITLE_BORDER_ONLY;
+  
 pNode = mTabs.First();
+  
 while( pNode )
   {
+      twTabInfo& tab = *((twTabInfo*)(pNode->Data()));
+      
+      tab.mDims.x = mBorderOnlyWidth;
+      tab.mDims.y = mTitleHeight;
+      
+      pNode = pNode->Next();
   }
 }
 //---------------------------------------------------------------------------
 // wx event handlers
 //---------------------------------------------------------------------------
 void wxTabbedWindow::OnPaint( wxPaintEvent& event )
 {
- wxPaintDC dc(this);
- DrawDecorations( dc );
 wxPaintDC dc(this);
 DrawDecorations( dc );
 }
 //---------------------------------------------------------------------------
 void wxTabbedWindow::OnSize ( wxSizeEvent& event )
 {
- SetBackgroundColour( wxColour( 192,192,192 ) );
- RecalcLayout(TRUE);
 SetBackgroundColour( wxColour( 192,192,192 ) );
 RecalcLayout(TRUE);
 }
 //---------------------------------------------------------------------------
 void wxTabbedWindow::OnBkErase( wxEraseEvent& event )
 {
- // do nothing
 // do nothing
 }
 //---------------------------------------------------------------------------
 void wxTabbedWindow::OnLButtonDown( wxMouseEvent& event )
 {
- // floats, why?
- int x = (int)event.m_x;
- int y = (int)event.m_y;
-
- int tabNo = HitTest( wxPoint(x,y) );
-
- if ( tabNo != -1 )
- {
-  SetActiveTab( tabNo );
- }
 // floats, why?
 int x = (int)event.m_x;
 int y = (int)event.m_y;
+  
 int tabNo = HitTest( wxPoint(x,y) );
+  
 if ( tabNo != -1 )
   {
+      SetActiveTab( tabNo );
   }
 }
 //---------------------------------------------------------------------------
 // Implementation for class wxPaggedWindow
 //---------------------------------------------------------------------------
 IMPLEMENT_DYNAMIC_CLASS( wxPaggedWindow, wxTabbedWindow )
-//---------------------------------------------------------------------------
-BEGIN_EVENT_TABLE( wxPaggedWindow, wxTabbedWindow )
- EVT_SIZE     ( wxPaggedWindow::OnSize        )
- EVT_PAINT    ( wxPaggedWindow::OnPaint       )
- EVT_LEFT_DOWN( wxPaggedWindow::OnLButtonDown )
- EVT_LEFT_UP  ( wxPaggedWindow::OnLButtonUp   )
- EVT_MOTION   ( wxPaggedWindow::OnMouseMove   )
- EVT_SCROLL   ( wxPaggedWindow::OnScroll      )
-END_EVENT_TABLE()
-//---------------------------------------------------------------------------
-// border for pagged-window is 2 shaded-lines
-//---------------------------------------------------------------------------
+  //---------------------------------------------------------------------------
+  BEGIN_EVENT_TABLE( wxPaggedWindow, wxTabbedWindow )
 EVT_SIZE     ( wxPaggedWindow::OnSize        )
 EVT_PAINT    ( wxPaggedWindow::OnPaint       )
 EVT_LEFT_DOWN( wxPaggedWindow::OnLButtonDown )
 EVT_LEFT_UP  ( wxPaggedWindow::OnLButtonUp   )
 EVT_MOTION   ( wxPaggedWindow::OnMouseMove   )
 EVT_SCROLL   ( wxPaggedWindow::OnScroll      )
+  END_EVENT_TABLE()
+  //---------------------------------------------------------------------------
+  // border for pagged-window is 2 shaded-lines
+  //---------------------------------------------------------------------------
 #undef  BORDER_SZ
 #define BORDER_SZ 2
-//---------------------------------------------------------------------------
-wxPaggedWindow::wxPaggedWindow()
-
+  //---------------------------------------------------------------------------
+  wxPaggedWindow::wxPaggedWindow()
+  
     : mScrollEventInProgress( FALSE ),
-
-   mTabTrianGap(4),
-
-   mWhiteBrush( wxColour(255,255,255), wxSOLID ),
-   mGrayBrush ( wxColour(192,192,192), wxSOLID ),
-
-   mCurentRowOfs( 0 ),
-   mAdjustableTitleRowLen( 300 ),
-
-   mIsDragged    ( FALSE ),
-   mDagOrigin    ( 0 ),
-   mCursorChanged( FALSE ),
-   mResizeCursor ( wxCURSOR_SIZEWE ),
-   mNormalCursor ( wxCURSOR_ARROW  )
+      
+      mTabTrianGap(4),
+      
+      mWhiteBrush( wxColour(255,255,255), wxSOLID ),
+      mGrayBrush ( wxColour(192,192,192), wxSOLID ),
+      
+      mCurentRowOfs( 0 ),
+      mAdjustableTitleRowLen( 300 ),
+      
+      mIsDragged    ( FALSE ),
+      mDagOrigin    ( 0 ),
+      mCursorChanged( FALSE ),
+      mResizeCursor ( wxCURSOR_SIZEWE ),
+      mNormalCursor ( wxCURSOR_ARROW  )
 {
- mTitleVertGap = 2;
- mTitleHorizGap = 10;
 mTitleVertGap = 2;
 mTitleHorizGap = 10;
  mNoVertScroll = TRUE;       // Horizontale Scroll abschalten
 }
 //---------------------------------------------------------------------------
 wxPaggedWindow::~wxPaggedWindow()
 {
- // nothing (base class handles destruction)
 // nothing (base class handles destruction)
 }
 //---------------------------------------------------------------------------
 wxFont wxPaggedWindow::GetLabelingFont()
 {
- wxFont font;
-
 wxFont font;
+  
 #ifdef __WINDOWS__
- font.SetFaceName("Comic Sans MS");
 font.SetFaceName("Comic Sans MS");
 #else
- font.SetFamily( wxSWISS );
 font.SetFamily( wxSWISS );
 #endif
-
+  
  font.SetStyle(40);
  font.SetWeight(40);
  font.SetPointSize( 8 );
-
  return font;
 }
 //---------------------------------------------------------------------------
 void wxPaggedWindow::OnTabAdded( twTabInfo* pInfo )
 {
- int units = GetWholeTabRowLen() / 20;
 int units = GetWholeTabRowLen() / 20;
 
- mpTabScroll->SetScrollbar( 0, 1, units, 1, FALSE );
 mpTabScroll->SetScrollbar( 0, 1, units, 1, FALSE );
 }
 //---------------------------------------------------------------------------
 wxScrollBar& wxPaggedWindow::GetVerticalScrollBar()
 {
- return *mpVertScroll;
 return *mpVertScroll;
 }
 //---------------------------------------------------------------------------
 wxScrollBar& wxPaggedWindow::GetHorizontalScrollBar()
 {
- return *mpHorizScroll;
 return *mpHorizScroll;
 }
 //---------------------------------------------------------------------------
 int wxPaggedWindow::GetWholeTabRowLen()
 {
- wxNode* pNode = mTabs.First();
-
- int len = 0;
-
- while( pNode )
- {
-  twTabInfo& tab = *((twTabInfo*)(pNode->Data()));
-
-  len += tab.mDims.x;
-  pNode = pNode->Next();
- }
-
- return len;
 wxNode* pNode = mTabs.First();
+  
 int len = 0;
+  
 while( pNode )
   {
+      twTabInfo& tab = *((twTabInfo*)(pNode->Data()));
+      
+      len += tab.mDims.x;
+      pNode = pNode->Next();
   }
+  
 return len;
 }
 //---------------------------------------------------------------------------
 void wxPaggedWindow::DrawPaperBar( twTabInfo& tab, int x, int y,
-          wxBrush& brush, wxPen& pen, wxDC& dc )
+                                  wxBrush& brush, wxPen& pen, wxDC& dc )
 {
- wxPoint poly[4];
-
- // draw organizer-style paper outlet
-
- poly[0].x = x - mTabTrianGap;
- poly[0].y = y;
-
- poly[1].x = x + mTabTrianGap;
- poly[1].y = y + tab.mDims.y-1;
-
- poly[2].x = x + tab.mDims.x - mTabTrianGap;
- poly[2].y = y + tab.mDims.y-1;
-
- poly[3].x = x + tab.mDims.x + mTabTrianGap;
- poly[3].y = y;
-
- dc.SetPen( pen );
- dc.SetBrush( brush );
-
- dc.DrawPolygon( 4, poly );
-
- long w,h;
-
- // set select default font of the window into it's device context
- dc.SetFont( GetLabelingFont() );
-
- dc.SetTextBackground( brush.GetColour() );
-
- dc.GetTextExtent(tab.mText, &w, &h );
-
- if ( tab.HasImg() )
- {
-   wxMemoryDC tmpDc;
 wxPoint poly[4];
+  
 // draw organizer-style paper outlet
+  
 poly[0].x = x - mTabTrianGap;
 poly[0].y = y;
+  
 poly[1].x = x + mTabTrianGap;
 poly[1].y = y + tab.mDims.y-1;
+  
 poly[2].x = x + tab.mDims.x - mTabTrianGap;
 poly[2].y = y + tab.mDims.y-1;
+  
 poly[3].x = x + tab.mDims.x + mTabTrianGap;
 poly[3].y = y;
+  
 dc.SetPen( pen );
 dc.SetBrush( brush );
+  
 dc.DrawPolygon( 4, poly );
+  
 long w,h;
+  
 // set select default font of the window into it's device context
 dc.SetFont( GetLabelingFont() );
+  
 dc.SetTextBackground( brush.GetColour() );
+  
 dc.GetTextExtent(tab.mText, &w, &h );
+  
 if ( tab.HasImg() )
   {
+      wxMemoryDC tmpDc;
       tmpDc.SelectObject( tab.GetImg() );
-
+      
       dc.Blit( x + mTitleHorizGap,
-         y + ( tab.mDims.y - tab.ImgHeight() ) / 2,
-      tab.ImgWidth(),
-      tab.ImgHeight(),
-      &tmpDc, 0, 0, wxCOPY
-       );
- }
-
- if ( tab.HasText() )
- {
-  int tx = x + mTitleHorizGap +
-   tab.ImgWidth() + tab.ImageToTxtGap(mImageTextGap);
-
-  dc.DrawText( tab.GetText(), tx, y + ( tab.mDims.y - h ) / 2 );
- }
+              y + ( tab.mDims.y - tab.ImgHeight() ) / 2,
+              tab.ImgWidth(),
+              tab.ImgHeight(),
+              &tmpDc, 0, 0, wxCOPY
+              );
   }
+  
 if ( tab.HasText() )
   {
+      int tx = x + mTitleHorizGap +
+       tab.ImgWidth() + tab.ImageToTxtGap(mImageTextGap);
+      
+      dc.DrawText( tab.GetText(), tx, y + ( tab.mDims.y - h ) / 2 );
   }
 }
 //---------------------------------------------------------------------------
 void wxPaggedWindow::DrawDecorations( wxDC& dc )
 {
- // FIXME:: the is big body have to be split!
-
- int width, height;
 // FIXME:: the is big body have to be split!
+  
 int width, height;
   GetClientSize( &width, &height );
 
- int curX = mHorizGap;
- int curY = mVertGap;
-
- int xSize = width  - mHorizGap*2;
- int ySize = height - mVertGap*2;
-
- DrawShadedRect( curX, curY, xSize, ySize,
-              mDarkPen, mWhitePen, dc );
-
- DrawShadedRect( curX+1, curY+1, xSize-2, ySize-2,
-                 mBlackPen, mGrayPen, dc );
-
- // draw inactive tab title bars frist (left-to-right)
-
- wxNode* pNode = mTabs.First();
- int     tabNo = 0;
-
- /* OLD STUFF::
- curX = mTitleRowStart;
- curY = height - mVertGap - BORDER_SZ - mTitleHeight;
- */
-
- curX = mTabTrianGap;
- curY = 0;
-
- // FOR NOW:: avoid creating bitmap with invalid dimensions
-
- if ( mTitleRowLen < 1 || mTitleHeight < 1 ) return;
-
- wxMemoryDC tmpDc;
- wxBitmap   tmpBmp( mTitleRowLen, mTitleHeight );
-
- tmpDc.SelectObject( tmpBmp );
- tmpDc.SetPen( mGrayPen );
- tmpDc.SetBrush( mGrayBrush );
- tmpDc.DrawRectangle( 0,0, mTitleRowLen, mTitleHeight );
-
- tmpDc.SetDeviceOrigin( mCurentRowOfs, 0 );
-
- while( pNode )
- {
-  twTabInfo& tab = *((twTabInfo*)(pNode->Data()));
-
-  if ( tabNo != mActiveTab )
-
-   DrawPaperBar( tab, curX, curY, mGrayBrush, mBlackPen, tmpDc );
-
-  curX += tab.mDims.x;
-
-  pNode = pNode->Next();
-  ++tabNo;
- }
-
- // finally, draw the active tab (white-filled)
-
- pNode = mTabs.First();
- tabNo = 0;
-
- curX = mTabTrianGap;
-
- while( pNode )
- {
-  twTabInfo& tab = *((twTabInfo*)(pNode->Data()));
-
-  if ( tabNo == mActiveTab )
-  {
-   DrawPaperBar( tab, curX, curY, mWhiteBrush, mBlackPen, tmpDc );
-
-   tmpDc.SetPen( mWhitePen );
-
-   tmpDc.DrawLine( curX - mTabTrianGap+1, curY,
-                curX + tab.mDims.x + mTabTrianGap, curY );
-   break;
-  }
-  curX += tab.mDims.x;
-
-  pNode = pNode->Next();
-  ++tabNo;
- }
-
- // back to initial device origin
-
- tmpDc.SetDeviceOrigin( 0, 0 );
-
- // draw resize-hint-stick
-
- curX = mTitleRowLen - 6;
-
- DrawShadedRect( curX+0, 0+0, 6,   mTitleHeight,   mGrayPen,  mBlackPen, tmpDc );
- DrawShadedRect( curX+1, 0+1, 6-2, mTitleHeight-2, mWhitePen, mDarkPen,  tmpDc );
- DrawShadedRect( curX+2, 0+2, 6-4, mTitleHeight-4, mGrayPen,  mGrayPen,  tmpDc );
-
-
-
- dc.Blit( mTitleRowStart,
-       height - mVertGap - BORDER_SZ - mTitleHeight,
-    mTitleRowLen, mTitleHeight,
-    &tmpDc, 0,0, wxCOPY );
 int curX = mHorizGap;
 int curY = mVertGap;
+  
 int xSize = width  - mHorizGap*2;
 int ySize = height - mVertGap*2;
+  
 DrawShadedRect( curX, curY, xSize, ySize,
+                 mDarkPen, mWhitePen, dc );
+  
 DrawShadedRect( curX+1, curY+1, xSize-2, ySize-2,
+                 mBlackPen, mGrayPen, dc );
+  
 // draw inactive tab title bars frist (left-to-right)
+  
 wxNode* pNode = mTabs.First();
 int     tabNo = 0;
+  
 /* OLD STUFF::
    curX = mTitleRowStart;
    curY = height - mVertGap - BORDER_SZ - mTitleHeight;
    */
+  
 curX = mTabTrianGap;
 curY = 0;
+  
 // FOR NOW:: avoid creating bitmap with invalid dimensions
+  
 if ( mTitleRowLen < 1 || mTitleHeight < 1 ) return;
+  
 wxMemoryDC tmpDc;
 wxBitmap   tmpBmp( mTitleRowLen, mTitleHeight );
+  
 tmpDc.SelectObject( tmpBmp );
 tmpDc.SetPen( mGrayPen );
 tmpDc.SetBrush( mGrayBrush );
 tmpDc.DrawRectangle( 0,0, mTitleRowLen, mTitleHeight );
+
 tmpDc.SetDeviceOrigin( mCurentRowOfs, 0 );
+  
 while( pNode )
   {
+      twTabInfo& tab = *((twTabInfo*)(pNode->Data()));
+      
+      if ( tabNo != mActiveTab )
+       
+       DrawPaperBar( tab, curX, curY, mGrayBrush, mBlackPen, tmpDc );
+      
+      curX += tab.mDims.x;
+      
+      pNode = pNode->Next();
+      ++tabNo;
   }
+  
 // finally, draw the active tab (white-filled)
+  
 pNode = mTabs.First();
 tabNo = 0;
+  
 curX = mTabTrianGap;
+  
 while( pNode )
   {
+      twTabInfo& tab = *((twTabInfo*)(pNode->Data()));
+      
+      if ( tabNo == mActiveTab )
+       {
+         DrawPaperBar( tab, curX, curY, mWhiteBrush, mBlackPen, tmpDc );
+         
+         tmpDc.SetPen( mWhitePen );
+         
+         tmpDc.DrawLine( curX - mTabTrianGap+1, curY,
+                         curX + tab.mDims.x + mTabTrianGap, curY );
+         break;
+       }
+      curX += tab.mDims.x;
+      
+      pNode = pNode->Next();
+      ++tabNo;
   }
+  
 // back to initial device origin
+  
 tmpDc.SetDeviceOrigin( 0, 0 );
+  
 // draw resize-hint-stick
+  
 curX = mTitleRowLen - 6;
+  
 DrawShadedRect( curX+0, 0+0, 6,   mTitleHeight,   mGrayPen,  mBlackPen, tmpDc );
 DrawShadedRect( curX+1, 0+1, 6-2, mTitleHeight-2, mWhitePen, mDarkPen,  tmpDc );
 DrawShadedRect( curX+2, 0+2, 6-4, mTitleHeight-4, mGrayPen,  mGrayPen,  tmpDc );
+  
+  
+  
 dc.Blit( mTitleRowStart,
+          height - mVertGap - BORDER_SZ - mTitleHeight,
+          mTitleRowLen, mTitleHeight,
+          &tmpDc, 0,0, wxCOPY );
 }
 //---------------------------------------------------------------------------
 int wxPaggedWindow::HitTest( const wxPoint& pos )
 {
- return wxTabbedWindow::HitTest( pos );
 return wxTabbedWindow::HitTest( pos );
 }
 //---------------------------------------------------------------------------
 void wxPaggedWindow::RecalcLayout(bool andRepaint)
 {
- mTitleRowLen = mAdjustableTitleRowLen;
-
- if ( int(mpTabScroll) == -1 ) return;
-
- // scroll bars should be created after Create() for this window is called
- if ( !mpTabScroll )
- {
-  mpTabScroll   =
-   new wxScrollBar( this, -1, wxDefaultPosition, wxDefaultSize, wxSB_HORIZONTAL );
-
-  mpHorizScroll =
-    new wxScrollBar( this, -1, wxDefaultPosition, wxDefaultSize, wxSB_HORIZONTAL );
+  mTitleRowLen = mAdjustableTitleRowLen;
+  
+  if ( int(mpTabScroll) == -1 ) return;
+  
+  // scroll bars should be created after Create() for this window is called
+  if ( !mpTabScroll )
+    {
+      mpTabScroll   =
+       new wxScrollBar( this, -1, wxDefaultPosition, wxDefaultSize, wxSB_HORIZONTAL );
+      
+      mpHorizScroll =
+       new wxScrollBar( this, -1, wxDefaultPosition, wxDefaultSize, wxSB_HORIZONTAL );
+      if (!mNoVertScroll)       // Vertical Scroll (Original)
+       mpVertScroll = new wxScrollBar( this, -1, wxDefaultPosition, wxDefaultSize, wxSB_VERTICAL );
+    }
+  
+  {
+    int units = GetWholeTabRowLen() / 20;
+    
+    mpTabScroll->SetScrollbar( 0, 1, units, 1, FALSE );
+  }
+  
+  // resetup position of the active tab
+  
+  int thumbLen = 16; // FOR NOW:: hardcoded
+  
+  int width, height;
+  GetClientSize( &width, &height );
+  
+  mTitleHeight = thumbLen;
+  
+  int curX = mHorizGap + BORDER_SZ;
+  int curY = mVertGap  + BORDER_SZ;
+  
+  int xSize;
   if (!mNoVertScroll)       // Vertical Scroll (Original)
-   mpVertScroll = new wxScrollBar( this, -1, wxDefaultPosition, wxDefaultSize, wxSB_VERTICAL );
- }
-
- {
-  int units = GetWholeTabRowLen() / 20;
-
-  mpTabScroll->SetScrollbar( 0, 1, units, 1, FALSE );
- }
-
- // resetup position of the active tab
-
- int thumbLen = 16; // FOR NOW:: hardcoded
-
- int width, height;
- GetClientSize( &width, &height );
-
- mTitleHeight = thumbLen;
-
- int curX = mHorizGap + BORDER_SZ;
- int curY = mVertGap  + BORDER_SZ;
-
- int xSize;
- if (!mNoVertScroll)       // Vertical Scroll (Original)
-  xSize = width  - mHorizGap*2 - BORDER_SZ*2 - thumbLen;
- else
-  xSize = width  - mHorizGap*2 - BORDER_SZ*2;
-
- int ySize = height - mVertGap*2  - BORDER_SZ*2 - mTitleHeight;
-
- SizeTabs( curX, curY, xSize, ySize, andRepaint );
-
- // setup title bar LINES's horizontal scroll bar
-
- curY = height - mVertGap - BORDER_SZ - thumbLen;
-
- mpTabScroll->SetSize( curX, curY, thumbLen*2, thumbLen );
-
- // setup view's HORIZONTAL scroll bar
- curX += thumbLen*2;
-
- mTitleRowStart = curX;
- mFirstTitleGap = curX + mCurentRowOfs + mTabTrianGap;
-
- mTitleRowLen = wxMin( mAdjustableTitleRowLen,
+    xSize = width  - mHorizGap*2 - BORDER_SZ*2 - thumbLen;
+  else
+    xSize = width  - mHorizGap*2 - BORDER_SZ*2;
+  
+  int ySize = height - mVertGap*2  - BORDER_SZ*2 - mTitleHeight;
+  
+  SizeTabs( curX, curY, xSize, ySize, andRepaint );
+  
+  // setup title bar LINES's horizontal scroll bar
+  
+  curY = height - mVertGap - BORDER_SZ - thumbLen;
+  
+  mpTabScroll->SetSize( curX, curY, thumbLen*2, thumbLen );
+  
+  // setup view's HORIZONTAL scroll bar
+  curX += thumbLen*2;
+  
+  mTitleRowStart = curX;
+  mFirstTitleGap = curX + mCurentRowOfs + mTabTrianGap;
+  
+  mTitleRowLen = wxMin( mAdjustableTitleRowLen,
                     width - mHorizGap - BORDER_SZ - thumbLen*4 - curX );
-
- curX += mTitleRowLen;
-
- if (!mNoVertScroll)       // Vertical Scroll (Original)
-  mpHorizScroll->SetSize( curX, curY,width - curX - mHorizGap - BORDER_SZ - thumbLen, thumbLen );
- else
-  mpHorizScroll->SetSize( curX, curY,width - curX - mHorizGap - BORDER_SZ-4, thumbLen );
-
- // setup view's VERTICAL scroll bar
- if (!mNoVertScroll)       // Vertical Scroll (Original)
- {
-  curX = width - mHorizGap - BORDER_SZ - thumbLen;
-  curY = mVertGap  + BORDER_SZ;
-  mpVertScroll->SetSize( curX, curY, thumbLen,height - curY - mVertGap - BORDER_SZ - thumbLen);
- }
- // layout tab title bars
-
- mLayoutType = wxTITLE_IMG_AND_TEXT;
-
- wxNode* pNode = mTabs.First();
-
- while( pNode )
- {
-  twTabInfo& tab = *((twTabInfo*)(pNode->Data()));
-
-  wxWindowDC dc(this);
-
-  long w,h;
-
-  // set select default font of the window into it's device context
-  dc.SetFont( GetLabelingFont() );
-  dc.GetTextExtent(tab.mText, &w, &h );
-
-  tab.mDims.x = w + tab.ImageToTxtGap(mImageTextGap) +
-             tab.ImgWidth() + mTitleHorizGap*2;
-
-  tab.mDims.y  = mTitleHeight;
-
-  pNode = pNode->Next();
- }
-
- // disable title-bar scroller if there's nowhere to scroll to
-
- mpTabScroll->Enable( mTitleRowLen < GetWholeTabRowLen() || mCurentRowOfs < 0  );
+  
 curX += mTitleRowLen;
+  
 if (!mNoVertScroll)       // Vertical Scroll (Original)
+    mpHorizScroll->SetSize( curX, curY,width - curX - mHorizGap - BORDER_SZ - thumbLen, thumbLen );
 else
+    mpHorizScroll->SetSize( curX, curY,width - curX - mHorizGap - BORDER_SZ-4, thumbLen );
+  
 // setup view's VERTICAL scroll bar
 if (!mNoVertScroll)       // Vertical Scroll (Original)
   {
+      curX = width - mHorizGap - BORDER_SZ - thumbLen;
+      curY = mVertGap  + BORDER_SZ;
+      mpVertScroll->SetSize( curX, curY, thumbLen,height - curY - mVertGap - BORDER_SZ - thumbLen);
   }
 // layout tab title bars
+  
 mLayoutType = wxTITLE_IMG_AND_TEXT;
+  
 wxNode* pNode = mTabs.First();
+  
 while( pNode )
   {
+      twTabInfo& tab = *((twTabInfo*)(pNode->Data()));
+      
+      wxWindowDC dc(this);
+      
+      long w,h;
+      
+      // set select default font of the window into it's device context
+      dc.SetFont( GetLabelingFont() );
+      dc.GetTextExtent(tab.mText, &w, &h );
+      
+      tab.mDims.x = w + tab.ImageToTxtGap(mImageTextGap) +
+       tab.ImgWidth() + mTitleHorizGap*2;
+      
+      tab.mDims.y  = mTitleHeight;
+      
+      pNode = pNode->Next();
   }
+  
 // disable title-bar scroller if there's nowhere to scroll to
+  
 mpTabScroll->Enable( mTitleRowLen < GetWholeTabRowLen() || mCurentRowOfs < 0  );
 }
 //---------------------------------------------------------------------------
 // event handlers
 //---------------------------------------------------------------------------
 void wxPaggedWindow::OnPaint( wxPaintEvent& event )
 {
- wxPaintDC dc(this);
- DrawDecorations( dc );
 wxPaintDC dc(this);
 DrawDecorations( dc );
 }
 //---------------------------------------------------------------------------
 void wxPaggedWindow::OnSize ( wxSizeEvent& event )
 {
- wxTabbedWindow::OnSize(event);
 wxTabbedWindow::OnSize(event);
 }
 //---------------------------------------------------------------------------
 void wxPaggedWindow::OnLButtonDown( wxMouseEvent& event )
 {
- if ( mCursorChanged )
- {
-  mIsDragged = TRUE;
-  mDagOrigin = event.m_x;
-
-  mOriginalTitleRowLen = mAdjustableTitleRowLen;
-
-  CaptureMouse();
- }
- else
- {
-  wxTabbedWindow::OnLButtonDown( event );
- }
 if ( mCursorChanged )
   {
+      mIsDragged = TRUE;
+      mDagOrigin = event.m_x;
+      
+      mOriginalTitleRowLen = mAdjustableTitleRowLen;
+      
+      CaptureMouse();
   }
 else
   {
+      wxTabbedWindow::OnLButtonDown( event );
   }
 }
 //---------------------------------------------------------------------------
 void wxPaggedWindow::OnLButtonUp( wxMouseEvent& event )
 {
- if ( mIsDragged )
- {
-  mIsDragged     = FALSE;
-  mCursorChanged = FALSE;
-  SetCursor( mNormalCursor );
-
-  ReleaseMouse();
- }
 if ( mIsDragged )
   {
+      mIsDragged     = FALSE;
+      mCursorChanged = FALSE;
+      SetCursor( mNormalCursor );
+      
+      ReleaseMouse();
   }
 }
 //---------------------------------------------------------------------------
 void wxPaggedWindow::OnMouseMove( wxMouseEvent& event )
 {
- int width, height;
 int width, height;
   GetClientSize( &width, &height );
-
- if ( !mIsDragged )
- {
-  int y = height - mVertGap - BORDER_SZ - mTitleHeight;
-  int x = mTitleRowStart + mTitleRowLen - 6;
-
-  if ( event.m_x >= x && event.m_y >= y &&
-    event.m_x <  x + 6               &&
-    event.m_y <  y + mTitleHeight
-     )
-  {
-   if ( !mCursorChanged )
-   {
-    SetCursor( mResizeCursor );
-
-    mCursorChanged = TRUE;
-   }
-  }
+  
+  if ( !mIsDragged )
+    {
+      int y = height - mVertGap - BORDER_SZ - mTitleHeight;
+      int x = mTitleRowStart + mTitleRowLen - 6;
+      
+      if ( event.m_x >= x && event.m_y >= y &&
+          event.m_x <  x + 6               &&
+          event.m_y <  y + mTitleHeight
+          )
+       {
+         if ( !mCursorChanged )
+           {
+             SetCursor( mResizeCursor );
+             
+             mCursorChanged = TRUE;
+           }
+       }
+      else
+       if ( mCursorChanged )
+         {
+           SetCursor( mNormalCursor );
+           
+           mCursorChanged = FALSE;
+         }
+    }
   else
-  if ( mCursorChanged )
-  {
-   SetCursor( mNormalCursor );
-
-   mCursorChanged = FALSE;
-  }
- }
- else
- if ( mIsDragged )
- {
-  mAdjustableTitleRowLen = mOriginalTitleRowLen + ( event.m_x - mDagOrigin );
-
-  // FOR NOW:: fixed
-  if ( mAdjustableTitleRowLen < 6 ) mAdjustableTitleRowLen = 6;
-
-  wxWindowDC dc(this);
-  DrawDecorations( dc );
-
-  RecalcLayout(FALSE);
-
-  //Refresh();
- }
+    if ( mIsDragged )
+      {
+       mAdjustableTitleRowLen = mOriginalTitleRowLen + ( event.m_x - mDagOrigin );
+
+       // FOR NOW:: fixed
+       if ( mAdjustableTitleRowLen < 6 ) mAdjustableTitleRowLen = 6;
+       
+       wxWindowDC dc(this);
+       DrawDecorations( dc );
+       
+       RecalcLayout(FALSE);
+       
+       //Refresh();
+      }
 }
 //---------------------------------------------------------------------------
 void wxPaggedWindow::OnScroll( wxScrollEvent& event )
 {
-
- wxScrollBar* pSender = (wxScrollBar*)event.GetEventObject();
- // wxMessageBox("wxPaggedWindow::OnScroll","-I->");
- if ( pSender == mpTabScroll )
- {
-
-  int maxUnits = GetWholeTabRowLen() / 20;
-
-  mCurentRowOfs = -event.GetPosition()*maxUnits;
-
-  mFirstTitleGap = mTitleRowStart + mCurentRowOfs + mTabTrianGap;
-
-  // let' it automatically disable itself if it's time
-  mpTabScroll->Enable( mTitleRowLen < GetWholeTabRowLen() || mCurentRowOfs < 0 );
-
-  // repaint title bars
-  wxWindowDC dc(this);
-  DrawDecorations( dc );
- }
- else
- if ( !mScrollEventInProgress )
- {
-  mScrollEventInProgress = TRUE;
-
-  GetActiveTab()->GetEventHandler()->ProcessEvent( event );
- }
- else
- {
-  // event bounced back to us, from here we
-  // know that it has traveled the loop - thus it's processed!
-
-  mScrollEventInProgress = FALSE;
- }
+  
 wxScrollBar* pSender = (wxScrollBar*)event.GetEventObject();
 // wxMessageBox("wxPaggedWindow::OnScroll","-I->");
 if ( pSender == mpTabScroll )
   {
+      
+      int maxUnits = GetWholeTabRowLen() / 20;
+      
+      mCurentRowOfs = -event.GetPosition()*maxUnits;
+      
+      mFirstTitleGap = mTitleRowStart + mCurentRowOfs + mTabTrianGap;
+      
+      // let' it automatically disable itself if it's time
+      mpTabScroll->Enable( mTitleRowLen < GetWholeTabRowLen() || mCurentRowOfs < 0 );
+      
+      // repaint title bars
+      wxWindowDC dc(this);
+      DrawDecorations( dc );
   }
 else
   if ( !mScrollEventInProgress )
     {
+       mScrollEventInProgress = TRUE;
+       
+       GetActiveTab()->GetEventHandler()->ProcessEvent( event );
     }
   else
     {
+       // event bounced back to us, from here we
+       // know that it has traveled the loop - thus it's processed!
+       
+       mScrollEventInProgress = FALSE;
     }
 }
 //---------------------------------------------------------------------------
+