summaryrefslogtreecommitdiff
path: root/dbaccess
diff options
context:
space:
mode:
authorOliver Bolte <obo@openoffice.org>2009-02-13 07:10:18 +0000
committerOliver Bolte <obo@openoffice.org>2009-02-13 07:10:18 +0000
commitcaa3bf5c34c08e5e93a03deb3064792139f030bb (patch)
tree310615f123bf2788f736d905ec3a6d6cceade76c /dbaccess
parent129c1dbec778ccc818e0ece686ba37d0cbb4397e (diff)
CWS-TOOLING: integrate CWS dba31g
2009-02-06 09:31:37 +0100 fs r267443 : line ends 2009-02-06 09:31:16 +0100 fs r267442 : line ends 2009-01-26 09:21:13 +0100 msc r266904 : #i10000# reactive tests 2009-01-21 12:38:53 +0100 msc r266657 : #i98316# add bugid 2009-01-20 14:49:04 +0100 msc r266584 : i97307 2009-01-20 13:43:22 +0100 oj r266572 : #i978i97860# merge changes from dba31h 2009-01-19 12:12:27 +0100 oj r266487 : #i97307# wrong shortcuts 2009-01-12 11:45:03 +0100 fs r266139 : #i97867# ImplPaint: don't paint if there are not items (yet) 2009-01-08 20:34:46 +0100 fs r266039 : ignore output paths 2009-01-08 20:25:45 +0100 fs r266038 : spelling: unxols4 -> unxsols4 2009-01-08 20:16:10 +0100 fs r266037 : BUILD_QADEVOOO 2009-01-08 20:15:35 +0100 fs r266036 : ignore output paths 2009-01-07 22:47:01 +0100 fs r265978 : close the document after the test 2009-01-07 22:40:22 +0100 fs r265977 : tweak the test, some behavior worked in a timing-dependent fashion only 2009-01-07 13:21:48 +0100 lla r265961 : #i96526# need FileAccess instead of File due to URL incompatibity 2009-01-07 12:27:19 +0100 lla r265959 : #i96526# need FileAccess instead of File due to URL incompatibity 2009-01-06 13:30:04 +0100 fs r265917 : #158964# GetFormControl: don't accept requests for model which do not belong to the page displayed in the given view 2009-01-06 13:30:04 +0100 fs r265916 : #158964# GetUnoControl: don't accept requests for a view where a foreign page is displayed 2009-01-06 13:26:37 +0100 fs r265915 : #158964# FmXPageViewWinRec::dispose: catch exceptions (fixes the symptom, the root cause is fixed elsewhere) 2009-01-06 09:52:38 +0100 oj r265897 : #i97307# shortcuts 2009-01-06 09:41:26 +0100 fs r265896 : #i10000# 2009-01-05 13:40:38 +0100 fs r265866 : CWS-TOOLING: rebase CWS dba31g to trunk@265758 (milestone: DEV300:m38) 2008-12-18 11:35:43 +0100 fs r265678 : document the new InputRequired property 2008-12-17 07:25:18 +0100 oj r265578 : #i97307# insert new Accelerators handling in configuration 2008-12-16 09:52:27 +0100 lla r265526 : #i96526# error message is a problem with no existance default.otr occur 2008-12-16 09:33:14 +0100 oj r265525 : #i96948# remove merge conflict with StreamName 2008-12-16 09:22:12 +0100 oj r265524 : #i96935# set reportcomponent for custom shape 2008-12-15 10:32:38 +0100 oj r265463 : #i96965# do not add connection for selfreferencing table 2008-12-12 14:00:56 +0100 fs r265416 : #i97044# EnableFocusSelectionHide=FALSE => don't hide selection when not focused (this is more of a side effect), and preserve the selection when gaining the focus (this is the desired effect) 2008-12-11 15:32:32 +0100 fs r265319 : prevent a deadlock during complex.dbaccess.DatabaseDocument test 2008-12-11 15:31:25 +0100 fs r265317 : prevent a deadlock during complex.dbaccess.DatabaseDocument test 2008-12-11 13:45:06 +0100 fs r265296 : #i97137# 2008-12-11 12:43:00 +0100 fs r265285 : #i97134# 2008-12-10 13:20:28 +0100 lla r265175 : #94067# add (APP|SYS)FONT to XUnitConversion interface implementation 2008-12-10 13:08:22 +0100 lla r265173 : #i94067# add (APP|SYS)FONT 2008-12-10 09:21:39 +0100 fs r265151 : #i95010# implement a non-hacky solution for #i94033#, by making Begin/Do/EndCompleteRedraw virtual 2008-12-09 17:29:32 +0100 fs r265120 : #i96636#
Diffstat (limited to 'dbaccess')
-rw-r--r--dbaccess/inc/dbaccess_helpid.hrc952
-rw-r--r--dbaccess/qa/complex/dbaccess/DatabaseDocument.java17
-rw-r--r--dbaccess/source/core/dataaccess/ModelImpl.cxx5
-rw-r--r--dbaccess/source/core/dataaccess/ModelImpl.hxx9
-rw-r--r--dbaccess/source/core/dataaccess/databasedocument.cxx33
-rw-r--r--dbaccess/source/core/dataaccess/documentdefinition.cxx10
-rw-r--r--dbaccess/source/ext/macromigration/macromigrationpages.cxx725
-rw-r--r--dbaccess/source/ui/control/FieldDescControl.cxx4352
-rw-r--r--dbaccess/source/ui/control/sqledit.cxx5
-rw-r--r--dbaccess/source/ui/querydesign/QueryTableView.cxx2
-rw-r--r--dbaccess/util/hidother.src1037
11 files changed, 3556 insertions, 3591 deletions
diff --git a/dbaccess/inc/dbaccess_helpid.hrc b/dbaccess/inc/dbaccess_helpid.hrc
index e4f6785dba45..57ccd7bfcdb5 100644
--- a/dbaccess/inc/dbaccess_helpid.hrc
+++ b/dbaccess/inc/dbaccess_helpid.hrc
@@ -1,475 +1,477 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * $RCSfile: dbaccess_helpid.hrc,v $
- * $Revision: 1.73 $
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _DBA_DBACCESS_HELPID_HRC_
-#define _DBA_DBACCESS_HELPID_HRC_
-
-#ifndef _SOLAR_HRC
-#include <svtools/solar.hrc> // HID_DBACCESS_START
-#endif
-
-#define HID_DSADMIN_CHARSET (HID_DBACCESS_START + 9)
-
-#define HID_DLG_FILTERCRIT (HID_DBACCESS_START + 15)
-#define HID_DLG_ORDERCRIT (HID_DBACCESS_START + 16)
-
-#define HID_DATABROWSE_HEADER (HID_DBACCESS_START + 17)
-#define HID_CTL_TABBROWSER (HID_DBACCESS_START + 18)
-#define UID_DATABROWSE_DATAWINDOW (HID_DBACCESS_START + 19)
-#define HID_CTL_TREEVIEW (HID_DBACCESS_START + 20)
-#define UID_CTL_CONTENT (HID_DBACCESS_START + 21)
-#define HID_TLB_TABBROWSER (HID_DBACCESS_START + 22)
-#define HID_TLB_TREELISTBOX (HID_DBACCESS_START + 23)
-#define HID_DSADMIN_DIALOG (HID_DBACCESS_START + 24)
-
-
-#define HID_DSADMIN_TABCONTROL (HID_DBACCESS_START + 27)
-#define HID_DSADMIN_PAGE_GENERAL (HID_DBACCESS_START + 28)
-#define HID_DSADMIN_PAGE_DBASE (HID_DBACCESS_START + 29)
-#define HID_DSADMIN_PAGE_JDBC (HID_DBACCESS_START + 30)
-#define HID_DSADMIN_PAGE_ODBC (HID_DBACCESS_START + 31)
-#define HID_DSADMIN_PAGE_ADABAS (HID_DBACCESS_START + 32)
-#define HID_DSADMIN_PAGE_TEXT (HID_DBACCESS_START + 33)
-#define HID_DSADMIN_TABLE_SUBSCRIPTION (HID_DBACCESS_START + 34)
-#define HID_DSADMIN_DSACTIONS_NEWDS (HID_DBACCESS_START + 35)
-#define HID_DSADMIN_DSACTIONS_DELETEDS (HID_DBACCESS_START + 36)
-#define HID_DSADMIN_DSACTIONS_RESTOREDS (HID_DBACCESS_START + 37)
-#define HID_DSADMIN_DSNAME (HID_DBACCESS_START + 38)
-#define HID_DSADMIN_DSTYPE (HID_DBACCESS_START + 39)
-#define HID_DSADMIN_URL_GENERAL (HID_DBACCESS_START + 40)
-#define HID_DSADMIN_BROWSECONN (HID_DBACCESS_START + 41)
-#define HID_DSADMIN_LOGINTIMEOUT_NUMBER (HID_DBACCESS_START + 42)
-#define HID_DSADMIN_LOGINTIMEOUT_UNIT (HID_DBACCESS_START + 43)
-#define HID_DSADMIN_SHOWDELETED (HID_DBACCESS_START + 44)
-#define HID_DSADMIN_ALLOWLONG (HID_DBACCESS_START + 45)
-#define HID_DSADMIN_DBASE_INDICIES (HID_DBACCESS_START + 46)
-#define HID_DSADMIN_DRIVERCLASS (HID_DBACCESS_START + 47)
-#define HID_DSADMIN_ODBC_OPTIONS (HID_DBACCESS_START + 48)
-#define HID_DSADMIN_TEXT_HEADER (HID_DBACCESS_START + 49)
-#define HID_DSADMIN_FIELD_SEPARATOR (HID_DBACCESS_START + 50)
-#define HID_DSADMIN_TEXT_SEPARATOR (HID_DBACCESS_START + 51)
-#define HID_DSADMIN_DECIMAL_SEPARATOR (HID_DBACCESS_START + 52)
-#define HID_DSADMIN_THOUSANDS_SEPARATOR (HID_DBACCESS_START + 53)
-#define HID_DSADMIN_EXTENSION (HID_DBACCESS_START + 54)
-#define HID_DSADMIN_ALL_TABLES (HID_DBACCESS_START + 55)
-#define HID_DSADMIN_NO_TABLES (HID_DBACCESS_START + 56)
-#define HID_DSADMIN_SELECT_TABLES (HID_DBACCESS_START + 57)
-#define HID_DSADMIN_TABLE_SELECTOR (HID_DBACCESS_START + 58)
-#define HID_DSADMIN_SUPPRESS_VERSIONCL (HID_DBACCESS_START + 59)
-
-#define HID_GENERIC_SQL_ERROR (HID_DBACCESS_START + 60)
-
-#define HID_BROWSER_COLUMNFORMAT (HID_DBACCESS_START + 61)
-#define HID_BROWSER_COLUMNWIDTH (HID_DBACCESS_START + 62)
-#define HID_BROWSER_TABLEFORMAT (HID_DBACCESS_START + 63)
-#define HID_BROWSER_ROWHEIGHT (HID_DBACCESS_START + 64)
-#define HID_BROWSER_EDIT_DATABASE (HID_DBACCESS_START + 65)
-#define HID_BROWSER_CLOSECONN (HID_DBACCESS_START + 66)
-#define HID_BROWSER_REFRESHCONN (HID_DBACCESS_START + 67)
-
-#define HID_DLG_ROWHEIGHT (HID_DBACCESS_START + 68)
-#define HID_DLG_COLWIDTH (HID_DBACCESS_START + 69)
-
-
-#define HID_TLB_QUERYDESIGN (HID_DBACCESS_START + 70)
-#define HID_CTL_QRYSQLEDIT (HID_DBACCESS_START + 71)
-#define HID_DSADMIN_SPECIAL_MESSAGE (HID_DBACCESS_START + 72)
-
-#define HID_BROWSER_QUERY_CREATE_TEXT (HID_DBACCESS_START + 73)
-
-#define HID_DLG_ERROR (HID_DBACCESS_START + 74)
-#define HID_DLG_TEXT (HID_DBACCESS_START + 75)
-#define UID_SQLERROR_BUTTONMORE (HID_DBACCESS_START + 76)
-#define HID_DLG_SAVE_AS (HID_DBACCESS_START + 77)
-
-#define HID_BROWSER_QUERY_EDIT (HID_DBACCESS_START + 78)
-#define HID_BROWSER_QUERY_DELETE (HID_DBACCESS_START + 79)
-
-#define HID_DSADMIN_USER_ADO (HID_DBACCESS_START + 80)
-#define HID_DSADMIN_PWDREC_ADO (HID_DBACCESS_START + 81)
-#define HID_DSADMIN_CONNURL_ADOPAGE (HID_DBACCESS_START + 82)
-#define HID_DSADMIN_PAGE_ADO (HID_DBACCESS_START + 83)
-
-
-#define HID_JOINSH_ADDTAB_CLOSE (HID_DBACCESS_START + 84)
-#define HID_JOINSH_ADDTAB_TABLELIST (HID_DBACCESS_START + 85)
-#define HID_CTL_QRYDGNTAB (HID_DBACCESS_START + 86)
-#define HID_DLG_QRY_JOIN (HID_DBACCESS_START + 87)
-#define HID_DLG_QRY_JOINTYPE (HID_DBACCESS_START + 88)
-#define HID_JOINSH_ADDTAB_QUERYLIST (HID_DBACCESS_START + 89)
-#define HID_DLG_QRY_HELPTEXT (HID_DBACCESS_START + 92)
-
-#define HID_CTL_QRYDGNCRIT (HID_DBACCESS_START + 93)
-#define HID_QRYDGN_ROW_VISIBLE (HID_DBACCESS_START + 94)
-#define HID_QRYDGN_ROW_TABLE (HID_DBACCESS_START + 95)
-#define HID_QRYDGN_ROW_FIELD (HID_DBACCESS_START + 96)
-#define HID_QRYDGN_ROW_ORDER (HID_DBACCESS_START + 97)
-#define HID_QRYDGN_ROW_FUNCTION (HID_DBACCESS_START + 98)
-#define HID_QRYDGN_ROW_ALIAS (HID_DBACCESS_START + 99)
-#define HID_QRYDGN_ROW_CRIT (HID_DBACCESS_START + 100)
-
-#define HID_QUERY_FUNCTION (HID_DBACCESS_START + 101)
-#define HID_QUERY_TABLENAME (HID_DBACCESS_START + 102)
-#define HID_QUERY_ALIASNAME (HID_DBACCESS_START + 103)
-#define HID_QUERY_DISTINCT (HID_DBACCESS_START + 104)
-
-#define HID_BROWSER_QUERY_CREATE_DESIGN (HID_DBACCESS_START + 105)
-
-#define HID_DSADMIN_QUERIES (HID_DBACCESS_START + 106)
-#define HID_DSADMIN_QUERIES_NEW (HID_DBACCESS_START + 107)
-#define HID_DSADMIN_QUERIES_EDIT (HID_DBACCESS_START + 108)
-#define HID_DSADMIN_QUERIES_DELETE (HID_DBACCESS_START + 109)
-#define HID_DSADMIN_QUERYADMINISTRATION (HID_DBACCESS_START + 110)
-
-
-#define HID_TAB_DESIGN_TABLE_DESC (HID_DBACCESS_START + 111)
-#define HID_TAB_DESIGN_FIELDCONTROL (HID_DBACCESS_START + 112)
-#define HID_TABLE_DESIGN_HELP_WINDOW (HID_DBACCESS_START + 113)
-#define HID_TAB_DESIGN_DESCWIN (HID_DBACCESS_START + 114)
-#define HID_TAB_DESIGN_TABLE_PROPS (HID_DBACCESS_START + 115)
-#define HID_TABDESIGN_BACKGROUND (HID_DBACCESS_START + 116)
-#define HID_CTL_TABLEEDIT (HID_DBACCESS_START + 117)
-#define HID_TABDESIGN_NAMECELL (HID_DBACCESS_START + 118)
-#define HID_TABDESIGN_TYPECELL (HID_DBACCESS_START + 119)
-#define HID_TABDESIGN_COMMENTCELL (HID_DBACCESS_START + 120)
-#define SID_TABLEDESIGN_INSERTROWS (HID_DBACCESS_START + 121)
-#define SID_TABLEDESIGN_TABED_PRIMARYKEY (HID_DBACCESS_START + 122)
-#define HID_TLB_TABLEDESIGN (HID_DBACCESS_START + 123)
-#define HID_TAB_DESIGN_HELP_TEXT_FRAME (HID_DBACCESS_START + 124)
-#define HID_TABLE_DESIGN_TABPAGE_GENERAL (HID_DBACCESS_START + 125)
-#define HID_TAB_ENT_DEFAULT (HID_DBACCESS_START + 126)
-#define HID_TAB_ENT_FORMAT_SAMPLE (HID_DBACCESS_START + 127)
-#define HID_TAB_ENT_FORMAT (HID_DBACCESS_START + 128)
-#define HID_TAB_ENT_BOOL_DEFAULT (HID_DBACCESS_START + 129)
-#define HID_TAB_ENT_REQUIRED (HID_DBACCESS_START + 130)
-#define HID_TAB_ENT_AUTOINCREMENT (HID_DBACCESS_START + 131)
-#define HID_TAB_ENT_TEXT_LEN (HID_DBACCESS_START + 132)
-#define HID_TAB_ENT_TYPE (HID_DBACCESS_START + 133)
-#define HID_TAB_ENT_COLUMNNAME (HID_DBACCESS_START + 134)
-#define HID_TAB_ENT_NUMTYP (HID_DBACCESS_START + 135)
-#define HID_TAB_ENT_LEN (HID_DBACCESS_START + 136)
-#define HID_TAB_ENT_SCALE (HID_DBACCESS_START + 137)
-#define HID_BROWSER_TABLE_CREATE_DESIGN (HID_DBACCESS_START + 138)
-#define HID_BROWSER_TABLE_EDIT (HID_DBACCESS_START + 139)
-#define HID_BROWSER_TABLE_DELETE (HID_DBACCESS_START + 140)
-#define HID_SQLERROR_EXCHAIN_ERRORS (HID_DBACCESS_START + 141)
-#define HID_SQLERROR_EXCHAIN_TEXT (HID_DBACCESS_START + 142)
-#define HID_TAB_WIZ_COLUMN_SELECT (HID_DBACCESS_START + 146)
-#define HID_TAB_WIZ_TYPE_SELECT (HID_DBACCESS_START + 147)
-#define HID_TAB_NAMEMATCHING_COLS_AVAIL (HID_DBACCESS_START + 148)
-#define HID_TAB_NAMEMATCHING_COLS_ASSIGN (HID_DBACCESS_START + 149)
-#define HID_TAB_WIZ_COPYTABLE (HID_DBACCESS_START + 150)
-#define HID_TAB_WIZ_TABLENAME_EDIT (HID_DBACCESS_START + 151)
-#define HID_CTL_RELATIONTAB (HID_DBACCESS_START + 152)
-#define HID_TLB_RELATIONDESIGN (HID_DBACCESS_START + 153)
-#define HID_RELATIONDIALOG_LEFTFIELDCELL (HID_DBACCESS_START + 154)
-#define HID_RELATIONDIALOG_RIGHTFIELDCELL (HID_DBACCESS_START + 155)
-#define HID_RELDLG_KEYFIELDS (HID_DBACCESS_START + 156)
-#define HID_BROWSER_RELATION_DESIGN (HID_DBACCESS_START + 157)
-#define HID_TABLE_DESIGN_NO_CONNECTION (HID_DBACCESS_START + 158)
-#define HID_DSADMIN_CREATEDATABASE (HID_DBACCESS_START + 159)
-#define HID_BROWSER_COLUMNINFO (HID_DBACCESS_START + 160)
-#define HID_DSADMIN_USECATALOG (HID_DBACCESS_START + 161)
-#define HID_BROWSER_VIEW_CREATE_DESIGN (HID_DBACCESS_START + 162)
-#define HID_DSADMIN_DOCUMENTS (HID_DBACCESS_START + 166)
-#define HID_DSADMIN_DOCUMENTLINKS (HID_DBACCESS_START + 167)
-#define HID_DSADMIN_FILTER_EXPLANATION (HID_DBACCESS_START + 168)
-#define HID_CONFIRM_DROP_BUTTON_ALL (HID_DBACCESS_START + 169)
-#define HID_DSBROWSER_BOOKMARK_SELECTED (HID_DBACCESS_START + 170)
-#define HID_DSADMIN_TABLE_TOOLBOX (HID_DBACCESS_START + 171)
-#define HID_DSADMIN_QUERY_TOOLBOX (HID_DBACCESS_START + 172)
-#define HID_DSADMIN_BOOKMARK_TOOLBOX (HID_DBACCESS_START + 173)
-#define HID_DSADMIN_PAGE_LDAP (HID_DBACCESS_START + 174)
-#define HID_DSADMIN_LDAP_HOSTNAME (HID_DBACCESS_START + 175)
-#define HID_DSADMIN_LDAP_BASEDN (HID_DBACCESS_START + 176)
-#define HID_DSADMIN_LDAP_PORTNUMBER (HID_DBACCESS_START + 177)
-#define HID_DSBROWSER_BOOKMARKSELECTED (HID_DBACCESS_START + 178)
-#define HID_DSBROWSER_DISCONNECTING (HID_DBACCESS_START + 179)
-#define HID_TAB_PAGE_USERADMIN (HID_DBACCESS_START + 180)
-#define HID_TAB_PAGE_PBUSER (HID_DBACCESS_START + 181)
-#define HID_TAB_PAGE_PBCHGPWD (HID_DBACCESS_START + 182)
-#define HID_TAB_PAGE_PBUSERDELETE (HID_DBACCESS_START + 183)
-#define HID_TAB_PAGE_TBLGRANTS (HID_DBACCESS_START + 184)
-#define HID_TAB_PAGE_LBUSER (HID_DBACCESS_START + 185)
-#define HID_DSBROWSER_DIRECTSQL (HID_DBACCESS_START + 186)
-#define HID_DSADMIN_LDAP_ROWCOUNT (HID_DBACCESS_START + 187)
-#define HID_BROWSER_QUERY_EDITSQL (HID_DBACCESS_START + 189)
-#define HID_DSADMIN_PAGE_MOZILLA (HID_DBACCESS_START + 190)
-#define HID_DSADMIN_MOZILLA_PROFILE_NAME (HID_DBACCESS_START + 191)
-#define HID_DSADMIN_THUNDERBIRD_PROFILE_NAME (HID_DBACCESS_START + 192)
-#define HID_BROWSER_OPEN_DOCUMENT (HID_DBACCESS_START + 193)
-#define HID_BROWSER_EDIT_DOCUMENT (HID_DBACCESS_START + 194)
-#define HID_BROWSER_BEW_DOCUMENT (HID_DBACCESS_START + 195)
-#define HID_DLG_PASSWORD (HID_DBACCESS_START + 196)
-
-#define HID_DLGIDX_NEWINDEX (HID_DBACCESS_START + 197)
-#define HID_DLGIDX_DROPINDEX (HID_DBACCESS_START + 198)
-#define HID_DLGIDX_RENAMEINDEX (HID_DBACCESS_START + 199)
-#define HID_DLGIDX_SAVEINDEX (HID_DBACCESS_START + 200)
-#define HID_DLGIDX_RESETINDEX (HID_DBACCESS_START + 201)
-#define HID_DLGIDX_INDEXLIST (HID_DBACCESS_START + 202)
-#define UID_DLGINDEX_INDEXDETAILS_BACK (HID_DBACCESS_START + 203)
-#define UID_DLGINDEX_INDEXDETAILS_MAIN (HID_DBACCESS_START + 204)
-#define HID_DLGINDEX_INDEXDETAILS_FIELD (HID_DBACCESS_START + 205)
-#define HID_DLGINDEX_INDEXDETAILS_SORTORDER (HID_DBACCESS_START + 206)
-
-#define HID_DOCLINKEDIT_URL (HID_DBACCESS_START + 207)
-#define HID_QUERY_SQLMODE (HID_DBACCESS_START + 208)
-
-#define HID_BROWSER_REFRESH_REBUILDVIEW (HID_DBACCESS_START + 209)
-#define HID_BROWSER_RENAME_ENTRY (HID_DBACCESS_START + 210)
-
-#define HID_QUERY_EDIT_JOINCONNECTION (HID_DBACCESS_START + 211)
-
-#define HID_DLG_QRY_WINDOW_CONTROL (HID_DBACCESS_START + 212)
-#define HID_DLG_QRY_LEFT_TABLE (HID_DBACCESS_START + 213)
-#define HID_DLG_QRY_RIGHT_TABLE (HID_DBACCESS_START + 214)
-
-#define HID_DLG_REL_CASC_DEL (HID_DBACCESS_START + 215)
-#define HID_DLG_REL_NO_CASC_DEL (HID_DBACCESS_START + 216)
-#define HID_DLG_REL_CASC_DEL_NULL (HID_DBACCESS_START + 217)
-#define HID_DLG_REL_CASC_DEL_DEFAULT (HID_DBACCESS_START + 218)
-
-#define HID_DLG_REL_CASC_UPD (HID_DBACCESS_START + 219)
-#define HID_DLG_REL_NO_CASC_UPD (HID_DBACCESS_START + 220)
-#define HID_DLG_REL_CASC_UPD_NULL (HID_DBACCESS_START + 221)
-#define HID_DLG_REL_CASC_UPD_DEFAULT (HID_DBACCESS_START + 222)
-#define HID_BROWSER_SAVE_RECORD (HID_DBACCESS_START + 223)
-#define HID_BROWSER_UNDO_RECORD (HID_DBACCESS_START + 224)
-
-#define HID_DSADMIN_SQL92CHECK (HID_DBACCESS_START + 225)
-#define HID_DSADMIN_AUTOINCREMENTVALUE (HID_DBACCESS_START + 226)
-#define HID_DOCUMENT_CREATE_REPWIZ (HID_DBACCESS_START + 227)
-#define HID_TAB_AUTOINCREMENTVALUE (HID_DBACCESS_START + 228)
-#define HID_DSADMIN_RETRIEVE_AUTO (HID_DBACCESS_START + 229)
-#define HID_DSADMIN_AUTORETRIEVEENABLED (HID_DBACCESS_START + 230)
-
-#define HID_DSADMIN_PAGE_MYSQL_ODBC (HID_DBACCESS_START + 231)
-#define HID_TAB_PAGE_TABLEPRIVILEGES (HID_DBACCESS_START + 232)
-
-#define HID_DSADMIN_PAGE_USERDRIVER (HID_DBACCESS_START + 233)
-#define HID_DSADMIN_USER_DEFINED (HID_DBACCESS_START + 234)
-#define HID_DSADMIN_USERDEF_OPTIONS (HID_DBACCESS_START + 235)
-#define HID_DSADMIN_CHARSET_USERDEF (HID_DBACCESS_START + 236)
-#define HID_DSADMIN_USER_LDAP (HID_DBACCESS_START + 237)
-#define HID_DSADMIN_PWDREC_LDAP (HID_DBACCESS_START + 238)
-#define HID_DSADMIN_USESSL_LDAP (HID_DBACCESS_START + 239)
-#define HID_BROWSER_QUERY_WIZARD (HID_DBACCESS_START + 237)
-
-#define HID_DLG_RENAME (HID_DBACCESS_START + 237)
-
-#define HID_DSADMIN_PAGE_MYSQL_JDBC (HID_DBACCESS_START + 238)
-
-#define HID_DSADMIN_DBASE_PATH (HID_DBACCESS_START + 239)
-#define HID_DSADMIN_MYSQL_DATABASE (HID_DBACCESS_START + 240)
-#define HID_DSADMIN_MYSQL_ODBC_DATASOURCE (HID_DBACCESS_START + 241)
-#define HID_DSADMIN_ODBC_DATASOURCE (HID_DBACCESS_START + 242)
-#define HID_DSADMIN_ADABAS_DATABASE (HID_DBACCESS_START + 243)
-#define HID_DSADMIN_MSACCESS_MDB_FILE (HID_DBACCESS_START + 244)
-#define HID_DSADMIN_PAGE_MSACCESS (HID_DBACCESS_START + 245)
-#define HID_DSADMIN_FLAT_PATH (HID_DBACCESS_START + 246)
-#define HID_DSADMIN_CALC_PATH (HID_DBACCESS_START + 247)
-#define HID_DSADMIN_ADVANCED (HID_DBACCESS_START + 248)
-#define HID_DSADMIN_BOOLEANCOMPARISON (HID_DBACCESS_START + 249)
-#define HID_DSADMIN_ORACLE_DATABASE (HID_DBACCESS_START + 250)
-
-#define UID_APP_VIEW (HID_DBACCESS_START + 251)
-#define HID_APP_TABLE_TREE (HID_DBACCESS_START + 252)
-#define HID_APP_FORM_TREE (HID_DBACCESS_START + 253)
-#define HID_APP_QUERY_TREE (HID_DBACCESS_START + 254)
-#define HID_APP_REPORT_TREE (HID_DBACCESS_START + 255)
-#define UID_APP_DETAIL_VIEW (HID_DBACCESS_START + 256)
-#define UID_APP_VIEW_VERT_SPLIT (HID_DBACCESS_START + 257)
-#define UID_APP_VIEW_BORDER_WIN (HID_DBACCESS_START + 258)
-#define HID_APP_CREATION_LIST (HID_DBACCESS_START + 259)
-#define UID_APP_SWAP_VIEW (HID_DBACCESS_START + 260)
-#define UID_DLG_TABLE_FILTER (HID_DBACCESS_START + 261)
-#define HID_APP_SWAP_ICONCONTROL (HID_DBACCESS_START + 262)
-
-#define HID_DSADMIN_APPENDTABLEALIAS (HID_DBACCESS_START + 263)
-#define HID_DSADMIN_PARAMETERNAMESUBST (HID_DBACCESS_START + 264)
-#define HID_DSADMIN_IGNOREDRIVER_PRIV (HID_DBACCESS_START + 265)
-#define HID_DSADMIN_HOSTNAME (HID_DBACCESS_START + 266)
-#define HID_DSADMIN_PORTNUMBER (HID_DBACCESS_START + 267)
-
-#define HID_APP_HELP_TEXT (HID_DBACCESS_START + 268)
-#define HID_EXPLORERDLG_COLLECTION (HID_DBACCESS_START + 269)
-#define UID_APP_DATABASE_VIEW (HID_DBACCESS_START + 270)
-#define UID_APP_TASKS_VIEW (HID_DBACCESS_START + 271)
-#define UID_APP_CONTAINER_VIEW (HID_DBACCESS_START + 272)
-#define UID_APP_TASKS_WINDOW (HID_DBACCESS_START + 273)
-#define HID_APP_DESCRIPTION_TEXT (HID_DBACCESS_START + 274)
-#define UID_APP_DETAILPAGE_HELPER (HID_DBACCESS_START + 275)
-#define HID_APP_VIEW_PREVIEW_CB (HID_DBACCESS_START + 276)
-#define HID_APP_VIEW_PREVIEW_1 (HID_DBACCESS_START + 277)
-#define HID_APP_VIEW_PREVIEW_2 (HID_DBACCESS_START + 278)
-// free
-#define UID_APP_VIEW_HORZ_SPLIT (HID_DBACCESS_START + 280)
-#define UID_APP_VIEW_PREVIEW_1 (HID_DBACCESS_START + 281)
-#define HID_APP_VIEW_PREVIEW_3 (HID_DBACCESS_START + 282)
-
-#define HID_DSADMIN_TYPE_DIALOG (HID_DBACCESS_START + 283)
-#define HID_DSADMIN_ENABLEOUTERJOIN (HID_DBACCESS_START + 284)
-#define HID_DSADMIN_ADABASADMIN (HID_DBACCESS_START + 285)
-#define HID_DSADMIN_USERADMIN (HID_DBACCESS_START + 286)
-
-#define HID_DBWIZ_PREVIOUS (HID_DBACCESS_START + 287)
-#define HID_DBWIZ_NEXT (HID_DBACCESS_START + 288)
-#define HID_DBWIZ_CANCEL (HID_DBACCESS_START + 289)
-#define HID_DBWIZ_FINISH (HID_DBACCESS_START + 290)
-#define UID_DBWIZ_HELP (HID_DBACCESS_START + 291)
-
-#define HID_DSADMIN_CATALOG (HID_DBACCESS_START + 292)
-#define HID_DSADMIN_SCHEMA (HID_DBACCESS_START + 293)
-#define HID_DSADMIN_IGNOREINDEXAPPENDIX (HID_DBACCESS_START + 294)
-#define HID_DSADMIN_DOSLINEENDS (HID_DBACCESS_START + 295)
-
-#define HID_BROWSER_ADMINISTRATE (HID_DBACCESS_START + 296)
-
-#define HID_DSADMIN_AS_BEFORE_CORRELATION_NAME (HID_DBACCESS_START + 297)
-#define HID_DSADMIN_CHECK_REQUIRED_FIELDS (HID_DBACCESS_START + 298)
-
-#define HID_PAGE_DBWIZARD_GENERALPAGE (HID_DBACCESS_START + 300)
-#define HID_PAGE_DBWIZARD_GENERAL_RB_CREATEDBDATABASE (HID_DBACCESS_START + 301)
-#define HID_PAGE_DBWIZARD_GENERAL_RB_GETEXISTINGDATABASE (HID_DBACCESS_START + 302)
-
-#define HID_PAGE_DBWIZARD_DBASE_ET_DBASELOCATION (HID_DBACCESS_START + 304)
-#define HID_PAGE_DBWIZARD_DBASE_PB_DBASELOCATION (HID_DBACCESS_START + 305)
-
-
-#define HID_PAGE_DBWIZARD_TEXT_RB_ACCESSTXTFILES (HID_DBACCESS_START + 307)
-#define HID_PAGE_DBWIZARD_TEXT_RB_ACCESSCSVFILES (HID_DBACCESS_START + 308)
-#define HID_PAGE_DBWIZARD_TEXT_RB_ACCESSOTHERFILES (HID_DBACCESS_START + 309)
-#define HID_PAGE_DBWIZARD_TEXT_ET_OWNEXTENSION (HID_DBACCESS_START + 310)
-
-
-#define HID_PAGE_DBWIZARD_TEXT_ET_LOCATIONTEXTFILE (HID_DBACCESS_START + 311)
-#define HID_PAGE_DBWIZARD_TEXT_PB_LOCATIONTEXTFILE (HID_DBACCESS_START + 312)
-#define HID_PAGE_DBWIZARD_TEXT_CB_FIELDSEPARATOR (HID_DBACCESS_START + 313)
-#define HID_PAGE_DBWIZARD_TEXT_CB_TEXTSEPARATOR (HID_DBACCESS_START + 314)
-#define HID_PAGE_DBWIZARD_TEXT_CB_DECIMALSEPARATOR (HID_DBACCESS_START + 315)
-#define HID_PAGE_DBWIZARD_TEXT_CB_THOUSANDSSEPARATOR (HID_DBACCESS_START + 316)
-
-#define HID_PAGE_DBWIZARD_MSACCESS_ET_MSACCESSLOCATION (HID_DBACCESS_START + 317)
-#define HID_PAGE_DBWIZARD_MSACCESS_PB_MSACCESSLOCATION (HID_DBACCESS_START + 318)
-
-#define HID_PAGE_DBWIZARD_LDAP_ET_HOSTSERVER (HID_DBACCESS_START + 319)
-#define HID_PAGE_DBWIZARD_LDAP_ET_BASEDN (HID_DBACCESS_START + 320)
-#define HID_PAGE_DBWIZARD_LDAP_ET_PORTNUMBER (HID_DBACCESS_START + 321)
-#define HID_PAGE_DBWIZARD_LDAP_CB_USESSL (HID_DBACCESS_START + 322)
-#define HID_PAGE_DBWIZARD_LDAP_PB_TESTLDAPCONNECTION (HID_DBACCESS_START + 323)
-
-#define HID_PAGE_DBWIZARD_ADABAS_ET_ADABASNAME (HID_DBACCESS_START + 326)
-#define HID_PAGE_DBWIZARD_ADABAS_PB_ADABASNAME (HID_DBACCESS_START + 327)
-
-#define HID_PAGE_DBWIZARD_MYSQL_RB_CONNECTVIAODBC (HID_DBACCESS_START + 329)
-#define HID_PAGE_DBWIZARD_MYSQL_RB_CONNECTVIAJDBC (HID_DBACCESS_START + 330)
-
-#define HID_PAGE_DBWIZARD_ORACLE_ET_ORACLEDBNAME (HID_DBACCESS_START + 333)
-#define HID_PAGE_DBWIZARD_ORACLE_ET_ORACLEHOSTSERVER (HID_DBACCESS_START + 334)
-#define HID_PAGE_DBWIZARD_ORACLE_ET_ORACLEPORT (HID_DBACCESS_START + 335)
-#define HID_PAGE_DBWIZARD_ORACLE_ET_ORACLECLASS (HID_DBACCESS_START + 336)
-#define HID_PAGE_DBWIZARD_ORACLE_PB_TESTORACLECLASS (HID_DBACCESS_START + 337)
-
-#define HID_PAGE_DBWIZARD_JDBC_ET_JDBCURL (HID_DBACCESS_START + 340)
-#define HID_PAGE_DBWIZARD_JDBC_PB_JDBCURL (HID_DBACCESS_START + 341)
-
-#define HID_PAGE_DBWIZARD_JDBC_ET_JDBCCLASS (HID_DBACCESS_START + 342)
-#define HID_PAGE_DBWIZARD_JDBC_PB_TESTJDBCCLASS (HID_DBACCESS_START + 343)
-
-#define HID_PAGE_DBWIZARD_JDBC_ET_MYSQLDBNAME (HID_DBACCESS_START + 344)
-#define HID_PAGE_DBWIZARD_JDBC_ET_MYSQLHOSTSERVER (HID_DBACCESS_START + 345)
-#define HID_PAGE_DBWIZARD_JDBC_ET_MYSQLPORT (HID_DBACCESS_START + 346)
-#define HID_PAGE_DBWIZARD_JDBC_ET_MYSQLCLASS (HID_DBACCESS_START + 347)
-#define HID_PAGE_DBWIZARD_JDBC_PB_TESTMYSQLCLASS (HID_DBACCESS_START + 348)
-
-
-#define HID_PAGE_DBWIZARD_ADO_ET_ADOURL (HID_DBACCESS_START + 349)
-#define HID_PAGE_DBWIZARD_ADO_PB_ADOURL (HID_DBACCESS_START + 350)
-#define HID_PAGE_DBWIZARD_ADO_PB_TESTADOCONNECTION (HID_DBACCESS_START + 351)
-
-#define HID_PAGE_DBWIZARD_ODBC_ET_NAMEOFODBCDATASOURCE (HID_DBACCESS_START + 355)
-#define HID_PAGE_DBWIZARD_ODBC_PB_NAMEOFODBCDATASOURCE (HID_DBACCESS_START + 356)
-
-#define HID_PAGE_DBWIZARD_SPREADSHEET_ET_SPREADSHEETPATH (HID_DBACCESS_START + 359)
-#define HID_PAGE_DBWIZARD_SPREADSHEET_PB_SPREADSHEETPATH (HID_DBACCESS_START + 360)
-#define HID_PAGE_DBWIZARD_SPREADSHEET_CB_SPREADSHEETPASSWORDREQUIRED (HID_DBACCESS_START + 361)
-
-#define HID_PAGE_DBWIZARD_AUTHENTIFICATION_CB_GENERALPASSWORDREQUIRED (HID_DBACCESS_START + 365)
-#define HID_PAGE_DBWIZARD_AUTHENTIFICATION_ET_GENERALUSERNAME (HID_DBACCESS_START + 366)
-#define HID_PAGE_DBWIZARD_AUTHENTIFICATION_PB_TESTCONNECTION (HID_DBACCESS_START + 367)
-
-#define HID_PAGE_DBWIZARD_FINAL_RB_REGISTERDATASOURCE (HID_DBACCESS_START + 373)
-#define HID_PAGE_DBWIZARD_FINAL_RB_DONTREGISTERDATASOURCE (HID_DBACCESS_START + 374)
-#define HID_PAGE_DBWIZARD_FINAL_CB_STARTTABLEWIZARD (HID_DBACCESS_START + 375)
-#define HID_PAGE_DBWIZARD_FINAL_CB_OPENAFTERWARDS (HID_DBACCESS_START + 376)
-
-#define HID_PAGE_DBWIZARD_USERDEFINED_ET_BROWSE (HID_DBACCESS_START + 377)
-#define HID_PAGE_DBWIZARD_USERDEFINED_BROWSE (HID_DBACCESS_START + 378)
-#define HID_INDEX_DIALOG_ACTION_TB (HID_DBACCESS_START + 379)
-
-#define HID_DLG_DATABASE_WIZARD (HID_DBACCESS_START + 380)
-
-#define HID_EXTENSION_NOT_PRESENT_DLG ( HID_DBACCESS_START + 381)
-#define HID_DLG_QRY_JOIN_CONTROL ( HID_DBACCESS_START + 382)
-#define HID_DSADMIN_IGNORECURRENCY ( HID_DBACCESS_START + 383)
-
-// this one below have hid in number space HID_SBA_START
-#define HID_DLG_ADABAS_NEWDB (HID_SBA_START + 0)
-#define HID_DLG_ADABAS_DBNAME (HID_SBA_START + 1)
-#define HID_DLG_ADABAS_SYSUSR (HID_SBA_START + 2)
-#define HID_DLG_ADABAS_SYSPWD (HID_SBA_START + 3)
-#define HID_DLG_ADABAS_CONUSR (HID_SBA_START + 4)
-#define HID_DLG_ADABAS_CONPWD (HID_SBA_START + 5)
-#define HID_DLG_ADABAS_DATADEVSPACE_SIZE (HID_SBA_START + 6)
-#define HID_DLG_ADABAS_CACHE_SIZE (HID_SBA_START + 7)
-#define HID_DLG_ADABAS_USR (HID_SBA_START + 8)
-#define HID_DLG_ADABAS_DOMAINPWD (HID_SBA_START + 9)
-#define HID_DLG_ADABAS_RESTORE (HID_SBA_START + 10)
-#define HID_DLG_ADABAS_PBRESTORE (HID_SBA_START + 11)
-#define HID_DLG_ADABAS_SYSDEVSPACE (HID_SBA_START + 12)
-#define HID_DLG_ADABAS_PBSYSDEVSPACE (HID_SBA_START + 13)
-#define HID_DLG_ADABAS_TRANSACTIONLOG (HID_SBA_START + 14)
-#define HID_DLG_ADABAS_PBTRANSACTIONLOG (HID_SBA_START + 15)
-#define HID_DLG_ADABAS_DATADEVSPACE (HID_SBA_START + 16)
-#define HID_DLG_ADABAS_PBDATADEVSPACE (HID_SBA_START + 18)
-#define HID_DLG_ADABAS_TRANSACTIONLOG_SIZE (HID_SBA_START + 19)
-#define HID_DLG_ADABAS_CON_PWD (HID_SBA_START + 20)
-#define HID_DLG_ADABAS_SYS_PWD (HID_SBA_START + 21)
-#define HID_DLG_ADABAS_DOMAIN_PWD (HID_SBA_START + 22)
-//end of HID_SBA_START
-
-// don't forget to update the file util/hidother.src
-
-
-
-#endif // _DBA_DBACCESS_HELPID_HRC_
-
-
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: dbaccess_helpid.hrc,v $
+ * $Revision: 1.73 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _DBA_DBACCESS_HELPID_HRC_
+#define _DBA_DBACCESS_HELPID_HRC_
+
+#ifndef _SOLAR_HRC
+#include <svtools/solar.hrc> // HID_DBACCESS_START
+#endif
+
+#define HID_DSADMIN_CHARSET (HID_DBACCESS_START + 9)
+
+#define HID_DLG_FILTERCRIT (HID_DBACCESS_START + 15)
+#define HID_DLG_ORDERCRIT (HID_DBACCESS_START + 16)
+
+#define HID_DATABROWSE_HEADER (HID_DBACCESS_START + 17)
+#define HID_CTL_TABBROWSER (HID_DBACCESS_START + 18)
+#define UID_DATABROWSE_DATAWINDOW (HID_DBACCESS_START + 19)
+#define HID_CTL_TREEVIEW (HID_DBACCESS_START + 20)
+#define UID_CTL_CONTENT (HID_DBACCESS_START + 21)
+#define HID_TLB_TABBROWSER (HID_DBACCESS_START + 22)
+#define HID_TLB_TREELISTBOX (HID_DBACCESS_START + 23)
+#define HID_DSADMIN_DIALOG (HID_DBACCESS_START + 24)
+
+
+#define HID_DSADMIN_TABCONTROL (HID_DBACCESS_START + 27)
+#define HID_DSADMIN_PAGE_GENERAL (HID_DBACCESS_START + 28)
+#define HID_DSADMIN_PAGE_DBASE (HID_DBACCESS_START + 29)
+#define HID_DSADMIN_PAGE_JDBC (HID_DBACCESS_START + 30)
+#define HID_DSADMIN_PAGE_ODBC (HID_DBACCESS_START + 31)
+#define HID_DSADMIN_PAGE_ADABAS (HID_DBACCESS_START + 32)
+#define HID_DSADMIN_PAGE_TEXT (HID_DBACCESS_START + 33)
+#define HID_DSADMIN_TABLE_SUBSCRIPTION (HID_DBACCESS_START + 34)
+#define HID_DSADMIN_DSACTIONS_NEWDS (HID_DBACCESS_START + 35)
+#define HID_DSADMIN_DSACTIONS_DELETEDS (HID_DBACCESS_START + 36)
+#define HID_DSADMIN_DSACTIONS_RESTOREDS (HID_DBACCESS_START + 37)
+#define HID_DSADMIN_DSNAME (HID_DBACCESS_START + 38)
+#define HID_DSADMIN_DSTYPE (HID_DBACCESS_START + 39)
+#define HID_DSADMIN_URL_GENERAL (HID_DBACCESS_START + 40)
+#define HID_DSADMIN_BROWSECONN (HID_DBACCESS_START + 41)
+#define HID_DSADMIN_LOGINTIMEOUT_NUMBER (HID_DBACCESS_START + 42)
+#define HID_DSADMIN_LOGINTIMEOUT_UNIT (HID_DBACCESS_START + 43)
+#define HID_DSADMIN_SHOWDELETED (HID_DBACCESS_START + 44)
+#define HID_DSADMIN_ALLOWLONG (HID_DBACCESS_START + 45)
+#define HID_DSADMIN_DBASE_INDICIES (HID_DBACCESS_START + 46)
+#define HID_DSADMIN_DRIVERCLASS (HID_DBACCESS_START + 47)
+#define HID_DSADMIN_ODBC_OPTIONS (HID_DBACCESS_START + 48)
+#define HID_DSADMIN_TEXT_HEADER (HID_DBACCESS_START + 49)
+#define HID_DSADMIN_FIELD_SEPARATOR (HID_DBACCESS_START + 50)
+#define HID_DSADMIN_TEXT_SEPARATOR (HID_DBACCESS_START + 51)
+#define HID_DSADMIN_DECIMAL_SEPARATOR (HID_DBACCESS_START + 52)
+#define HID_DSADMIN_THOUSANDS_SEPARATOR (HID_DBACCESS_START + 53)
+#define HID_DSADMIN_EXTENSION (HID_DBACCESS_START + 54)
+#define HID_DSADMIN_ALL_TABLES (HID_DBACCESS_START + 55)
+#define HID_DSADMIN_NO_TABLES (HID_DBACCESS_START + 56)
+#define HID_DSADMIN_SELECT_TABLES (HID_DBACCESS_START + 57)
+#define HID_DSADMIN_TABLE_SELECTOR (HID_DBACCESS_START + 58)
+#define HID_DSADMIN_SUPPRESS_VERSIONCL (HID_DBACCESS_START + 59)
+
+#define HID_GENERIC_SQL_ERROR (HID_DBACCESS_START + 60)
+
+#define HID_BROWSER_COLUMNFORMAT (HID_DBACCESS_START + 61)
+#define HID_BROWSER_COLUMNWIDTH (HID_DBACCESS_START + 62)
+#define HID_BROWSER_TABLEFORMAT (HID_DBACCESS_START + 63)
+#define HID_BROWSER_ROWHEIGHT (HID_DBACCESS_START + 64)
+#define HID_BROWSER_EDIT_DATABASE (HID_DBACCESS_START + 65)
+#define HID_BROWSER_CLOSECONN (HID_DBACCESS_START + 66)
+#define HID_BROWSER_REFRESHCONN (HID_DBACCESS_START + 67)
+
+#define HID_DLG_ROWHEIGHT (HID_DBACCESS_START + 68)
+#define HID_DLG_COLWIDTH (HID_DBACCESS_START + 69)
+
+
+#define HID_TLB_QUERYDESIGN (HID_DBACCESS_START + 70)
+#define HID_CTL_QRYSQLEDIT (HID_DBACCESS_START + 71)
+#define HID_DSADMIN_SPECIAL_MESSAGE (HID_DBACCESS_START + 72)
+
+#define HID_BROWSER_QUERY_CREATE_TEXT (HID_DBACCESS_START + 73)
+
+#define HID_DLG_ERROR (HID_DBACCESS_START + 74)
+#define HID_DLG_TEXT (HID_DBACCESS_START + 75)
+#define UID_SQLERROR_BUTTONMORE (HID_DBACCESS_START + 76)
+#define HID_DLG_SAVE_AS (HID_DBACCESS_START + 77)
+
+#define HID_BROWSER_QUERY_EDIT (HID_DBACCESS_START + 78)
+#define HID_BROWSER_QUERY_DELETE (HID_DBACCESS_START + 79)
+
+#define HID_DSADMIN_USER_ADO (HID_DBACCESS_START + 80)
+#define HID_DSADMIN_PWDREC_ADO (HID_DBACCESS_START + 81)
+#define HID_DSADMIN_CONNURL_ADOPAGE (HID_DBACCESS_START + 82)
+#define HID_DSADMIN_PAGE_ADO (HID_DBACCESS_START + 83)
+
+
+#define HID_JOINSH_ADDTAB_CLOSE (HID_DBACCESS_START + 84)
+#define HID_JOINSH_ADDTAB_TABLELIST (HID_DBACCESS_START + 85)
+#define HID_CTL_QRYDGNTAB (HID_DBACCESS_START + 86)
+#define HID_DLG_QRY_JOIN (HID_DBACCESS_START + 87)
+#define HID_DLG_QRY_JOINTYPE (HID_DBACCESS_START + 88)
+#define HID_JOINSH_ADDTAB_QUERYLIST (HID_DBACCESS_START + 89)
+#define HID_DLG_QRY_HELPTEXT (HID_DBACCESS_START + 92)
+
+#define HID_CTL_QRYDGNCRIT (HID_DBACCESS_START + 93)
+#define HID_QRYDGN_ROW_VISIBLE (HID_DBACCESS_START + 94)
+#define HID_QRYDGN_ROW_TABLE (HID_DBACCESS_START + 95)
+#define HID_QRYDGN_ROW_FIELD (HID_DBACCESS_START + 96)
+#define HID_QRYDGN_ROW_ORDER (HID_DBACCESS_START + 97)
+#define HID_QRYDGN_ROW_FUNCTION (HID_DBACCESS_START + 98)
+#define HID_QRYDGN_ROW_ALIAS (HID_DBACCESS_START + 99)
+#define HID_QRYDGN_ROW_CRIT (HID_DBACCESS_START + 100)
+
+#define HID_QUERY_FUNCTION (HID_DBACCESS_START + 101)
+#define HID_QUERY_TABLENAME (HID_DBACCESS_START + 102)
+#define HID_QUERY_ALIASNAME (HID_DBACCESS_START + 103)
+#define HID_QUERY_DISTINCT (HID_DBACCESS_START + 104)
+
+#define HID_BROWSER_QUERY_CREATE_DESIGN (HID_DBACCESS_START + 105)
+
+#define HID_DSADMIN_QUERIES (HID_DBACCESS_START + 106)
+#define HID_DSADMIN_QUERIES_NEW (HID_DBACCESS_START + 107)
+#define HID_DSADMIN_QUERIES_EDIT (HID_DBACCESS_START + 108)
+#define HID_DSADMIN_QUERIES_DELETE (HID_DBACCESS_START + 109)
+#define HID_DSADMIN_QUERYADMINISTRATION (HID_DBACCESS_START + 110)
+
+
+#define HID_TAB_DESIGN_TABLE_DESC (HID_DBACCESS_START + 111)
+#define HID_TAB_DESIGN_FIELDCONTROL (HID_DBACCESS_START + 112)
+#define HID_TABLE_DESIGN_HELP_WINDOW (HID_DBACCESS_START + 113)
+#define HID_TAB_DESIGN_DESCWIN (HID_DBACCESS_START + 114)
+#define HID_TAB_DESIGN_TABLE_PROPS (HID_DBACCESS_START + 115)
+#define HID_TABDESIGN_BACKGROUND (HID_DBACCESS_START + 116)
+#define HID_CTL_TABLEEDIT (HID_DBACCESS_START + 117)
+#define HID_TABDESIGN_NAMECELL (HID_DBACCESS_START + 118)
+#define HID_TABDESIGN_TYPECELL (HID_DBACCESS_START + 119)
+#define HID_TABDESIGN_COMMENTCELL (HID_DBACCESS_START + 120)
+#define SID_TABLEDESIGN_INSERTROWS (HID_DBACCESS_START + 121)
+#define SID_TABLEDESIGN_TABED_PRIMARYKEY (HID_DBACCESS_START + 122)
+#define HID_TLB_TABLEDESIGN (HID_DBACCESS_START + 123)
+#define HID_TAB_DESIGN_HELP_TEXT_FRAME (HID_DBACCESS_START + 124)
+#define HID_TABLE_DESIGN_TABPAGE_GENERAL (HID_DBACCESS_START + 125)
+#define HID_TAB_ENT_DEFAULT (HID_DBACCESS_START + 126)
+#define HID_TAB_ENT_FORMAT_SAMPLE (HID_DBACCESS_START + 127)
+#define HID_TAB_ENT_FORMAT (HID_DBACCESS_START + 128)
+#define HID_TAB_ENT_BOOL_DEFAULT (HID_DBACCESS_START + 129)
+#define HID_TAB_ENT_REQUIRED (HID_DBACCESS_START + 130)
+#define HID_TAB_ENT_AUTOINCREMENT (HID_DBACCESS_START + 131)
+#define HID_TAB_ENT_TEXT_LEN (HID_DBACCESS_START + 132)
+#define HID_TAB_ENT_TYPE (HID_DBACCESS_START + 133)
+#define HID_TAB_ENT_COLUMNNAME (HID_DBACCESS_START + 134)
+#define HID_TAB_ENT_NUMTYP (HID_DBACCESS_START + 135)
+#define HID_TAB_ENT_LEN (HID_DBACCESS_START + 136)
+#define HID_TAB_ENT_SCALE (HID_DBACCESS_START + 137)
+#define HID_BROWSER_TABLE_CREATE_DESIGN (HID_DBACCESS_START + 138)
+#define HID_BROWSER_TABLE_EDIT (HID_DBACCESS_START + 139)
+#define HID_BROWSER_TABLE_DELETE (HID_DBACCESS_START + 140)
+#define HID_SQLERROR_EXCHAIN_ERRORS (HID_DBACCESS_START + 141)
+#define HID_SQLERROR_EXCHAIN_TEXT (HID_DBACCESS_START + 142)
+#define HID_TAB_WIZ_COLUMN_SELECT (HID_DBACCESS_START + 146)
+#define HID_TAB_WIZ_TYPE_SELECT (HID_DBACCESS_START + 147)
+#define HID_TAB_NAMEMATCHING_COLS_AVAIL (HID_DBACCESS_START + 148)
+#define HID_TAB_NAMEMATCHING_COLS_ASSIGN (HID_DBACCESS_START + 149)
+#define HID_TAB_WIZ_COPYTABLE (HID_DBACCESS_START + 150)
+#define HID_TAB_WIZ_TABLENAME_EDIT (HID_DBACCESS_START + 151)
+#define HID_CTL_RELATIONTAB (HID_DBACCESS_START + 152)
+#define HID_TLB_RELATIONDESIGN (HID_DBACCESS_START + 153)
+#define HID_RELATIONDIALOG_LEFTFIELDCELL (HID_DBACCESS_START + 154)
+#define HID_RELATIONDIALOG_RIGHTFIELDCELL (HID_DBACCESS_START + 155)
+#define HID_RELDLG_KEYFIELDS (HID_DBACCESS_START + 156)
+#define HID_BROWSER_RELATION_DESIGN (HID_DBACCESS_START + 157)
+#define HID_TABLE_DESIGN_NO_CONNECTION (HID_DBACCESS_START + 158)
+#define HID_DSADMIN_CREATEDATABASE (HID_DBACCESS_START + 159)
+#define HID_BROWSER_COLUMNINFO (HID_DBACCESS_START + 160)
+#define HID_DSADMIN_USECATALOG (HID_DBACCESS_START + 161)
+#define HID_BROWSER_VIEW_CREATE_DESIGN (HID_DBACCESS_START + 162)
+#define HID_DSADMIN_DOCUMENTS (HID_DBACCESS_START + 166)
+#define HID_DSADMIN_DOCUMENTLINKS (HID_DBACCESS_START + 167)
+#define HID_DSADMIN_FILTER_EXPLANATION (HID_DBACCESS_START + 168)
+#define HID_CONFIRM_DROP_BUTTON_ALL (HID_DBACCESS_START + 169)
+#define HID_DSBROWSER_BOOKMARK_SELECTED (HID_DBACCESS_START + 170)
+#define HID_DSADMIN_TABLE_TOOLBOX (HID_DBACCESS_START + 171)
+#define HID_DSADMIN_QUERY_TOOLBOX (HID_DBACCESS_START + 172)
+#define HID_DSADMIN_BOOKMARK_TOOLBOX (HID_DBACCESS_START + 173)
+#define HID_DSADMIN_PAGE_LDAP (HID_DBACCESS_START + 174)
+#define HID_DSADMIN_LDAP_HOSTNAME (HID_DBACCESS_START + 175)
+#define HID_DSADMIN_LDAP_BASEDN (HID_DBACCESS_START + 176)
+#define HID_DSADMIN_LDAP_PORTNUMBER (HID_DBACCESS_START + 177)
+#define HID_DSBROWSER_BOOKMARKSELECTED (HID_DBACCESS_START + 178)
+#define HID_DSBROWSER_DISCONNECTING (HID_DBACCESS_START + 179)
+#define HID_TAB_PAGE_USERADMIN (HID_DBACCESS_START + 180)
+#define HID_TAB_PAGE_PBUSER (HID_DBACCESS_START + 181)
+#define HID_TAB_PAGE_PBCHGPWD (HID_DBACCESS_START + 182)
+#define HID_TAB_PAGE_PBUSERDELETE (HID_DBACCESS_START + 183)
+#define HID_TAB_PAGE_TBLGRANTS (HID_DBACCESS_START + 184)
+#define HID_TAB_PAGE_LBUSER (HID_DBACCESS_START + 185)
+#define HID_DSBROWSER_DIRECTSQL (HID_DBACCESS_START + 186)
+#define HID_DSADMIN_LDAP_ROWCOUNT (HID_DBACCESS_START + 187)
+#define HID_BROWSER_QUERY_EDITSQL (HID_DBACCESS_START + 189)
+#define HID_DSADMIN_PAGE_MOZILLA (HID_DBACCESS_START + 190)
+#define HID_DSADMIN_MOZILLA_PROFILE_NAME (HID_DBACCESS_START + 191)
+#define HID_DSADMIN_THUNDERBIRD_PROFILE_NAME (HID_DBACCESS_START + 192)
+#define HID_BROWSER_OPEN_DOCUMENT (HID_DBACCESS_START + 193)
+#define HID_BROWSER_EDIT_DOCUMENT (HID_DBACCESS_START + 194)
+#define HID_BROWSER_BEW_DOCUMENT (HID_DBACCESS_START + 195)
+#define HID_DLG_PASSWORD (HID_DBACCESS_START + 196)
+
+#define HID_DLGIDX_NEWINDEX (HID_DBACCESS_START + 197)
+#define HID_DLGIDX_DROPINDEX (HID_DBACCESS_START + 198)
+#define HID_DLGIDX_RENAMEINDEX (HID_DBACCESS_START + 199)
+#define HID_DLGIDX_SAVEINDEX (HID_DBACCESS_START + 200)
+#define HID_DLGIDX_RESETINDEX (HID_DBACCESS_START + 201)
+#define HID_DLGIDX_INDEXLIST (HID_DBACCESS_START + 202)
+#define UID_DLGINDEX_INDEXDETAILS_BACK (HID_DBACCESS_START + 203)
+#define UID_DLGINDEX_INDEXDETAILS_MAIN (HID_DBACCESS_START + 204)
+#define HID_DLGINDEX_INDEXDETAILS_FIELD (HID_DBACCESS_START + 205)
+#define HID_DLGINDEX_INDEXDETAILS_SORTORDER (HID_DBACCESS_START + 206)
+
+#define HID_DOCLINKEDIT_URL (HID_DBACCESS_START + 207)
+#define HID_QUERY_SQLMODE (HID_DBACCESS_START + 208)
+
+#define HID_BROWSER_REFRESH_REBUILDVIEW (HID_DBACCESS_START + 209)
+#define HID_BROWSER_RENAME_ENTRY (HID_DBACCESS_START + 210)
+
+#define HID_QUERY_EDIT_JOINCONNECTION (HID_DBACCESS_START + 211)
+
+#define HID_DLG_QRY_WINDOW_CONTROL (HID_DBACCESS_START + 212)
+#define HID_DLG_QRY_LEFT_TABLE (HID_DBACCESS_START + 213)
+#define HID_DLG_QRY_RIGHT_TABLE (HID_DBACCESS_START + 214)
+
+#define HID_DLG_REL_CASC_DEL (HID_DBACCESS_START + 215)
+#define HID_DLG_REL_NO_CASC_DEL (HID_DBACCESS_START + 216)
+#define HID_DLG_REL_CASC_DEL_NULL (HID_DBACCESS_START + 217)
+#define HID_DLG_REL_CASC_DEL_DEFAULT (HID_DBACCESS_START + 218)
+
+#define HID_DLG_REL_CASC_UPD (HID_DBACCESS_START + 219)
+#define HID_DLG_REL_NO_CASC_UPD (HID_DBACCESS_START + 220)
+#define HID_DLG_REL_CASC_UPD_NULL (HID_DBACCESS_START + 221)
+#define HID_DLG_REL_CASC_UPD_DEFAULT (HID_DBACCESS_START + 222)
+#define HID_BROWSER_SAVE_RECORD (HID_DBACCESS_START + 223)
+#define HID_BROWSER_UNDO_RECORD (HID_DBACCESS_START + 224)
+
+#define HID_DSADMIN_SQL92CHECK (HID_DBACCESS_START + 225)
+#define HID_DSADMIN_AUTOINCREMENTVALUE (HID_DBACCESS_START + 226)
+#define HID_DOCUMENT_CREATE_REPWIZ (HID_DBACCESS_START + 227)
+#define HID_TAB_AUTOINCREMENTVALUE (HID_DBACCESS_START + 228)
+#define HID_DSADMIN_RETRIEVE_AUTO (HID_DBACCESS_START + 229)
+#define HID_DSADMIN_AUTORETRIEVEENABLED (HID_DBACCESS_START + 230)
+
+#define HID_DSADMIN_PAGE_MYSQL_ODBC (HID_DBACCESS_START + 231)
+#define HID_TAB_PAGE_TABLEPRIVILEGES (HID_DBACCESS_START + 232)
+
+#define HID_DSADMIN_PAGE_USERDRIVER (HID_DBACCESS_START + 233)
+#define HID_DSADMIN_USER_DEFINED (HID_DBACCESS_START + 234)
+#define HID_DSADMIN_USERDEF_OPTIONS (HID_DBACCESS_START + 235)
+#define HID_DSADMIN_CHARSET_USERDEF (HID_DBACCESS_START + 236)
+#define HID_DSADMIN_USER_LDAP (HID_DBACCESS_START + 237)
+#define HID_DSADMIN_PWDREC_LDAP (HID_DBACCESS_START + 238)
+#define HID_DSADMIN_USESSL_LDAP (HID_DBACCESS_START + 239)
+#define HID_BROWSER_QUERY_WIZARD (HID_DBACCESS_START + 237)
+
+#define HID_DLG_RENAME (HID_DBACCESS_START + 237)
+
+#define HID_DSADMIN_PAGE_MYSQL_JDBC (HID_DBACCESS_START + 238)
+
+#define HID_DSADMIN_DBASE_PATH (HID_DBACCESS_START + 239)
+#define HID_DSADMIN_MYSQL_DATABASE (HID_DBACCESS_START + 240)
+#define HID_DSADMIN_MYSQL_ODBC_DATASOURCE (HID_DBACCESS_START + 241)
+#define HID_DSADMIN_ODBC_DATASOURCE (HID_DBACCESS_START + 242)
+#define HID_DSADMIN_ADABAS_DATABASE (HID_DBACCESS_START + 243)
+#define HID_DSADMIN_MSACCESS_MDB_FILE (HID_DBACCESS_START + 244)
+#define HID_DSADMIN_PAGE_MSACCESS (HID_DBACCESS_START + 245)
+#define HID_DSADMIN_FLAT_PATH (HID_DBACCESS_START + 246)
+#define HID_DSADMIN_CALC_PATH (HID_DBACCESS_START + 247)
+#define HID_DSADMIN_ADVANCED (HID_DBACCESS_START + 248)
+#define HID_DSADMIN_BOOLEANCOMPARISON (HID_DBACCESS_START + 249)
+#define HID_DSADMIN_ORACLE_DATABASE (HID_DBACCESS_START + 250)
+
+#define UID_APP_VIEW (HID_DBACCESS_START + 251)
+#define HID_APP_TABLE_TREE (HID_DBACCESS_START + 252)
+#define HID_APP_FORM_TREE (HID_DBACCESS_START + 253)
+#define HID_APP_QUERY_TREE (HID_DBACCESS_START + 254)
+#define HID_APP_REPORT_TREE (HID_DBACCESS_START + 255)
+#define UID_APP_DETAIL_VIEW (HID_DBACCESS_START + 256)
+#define UID_APP_VIEW_VERT_SPLIT (HID_DBACCESS_START + 257)
+#define UID_APP_VIEW_BORDER_WIN (HID_DBACCESS_START + 258)
+#define HID_APP_CREATION_LIST (HID_DBACCESS_START + 259)
+#define UID_APP_SWAP_VIEW (HID_DBACCESS_START + 260)
+#define UID_DLG_TABLE_FILTER (HID_DBACCESS_START + 261)
+#define HID_APP_SWAP_ICONCONTROL (HID_DBACCESS_START + 262)
+
+#define HID_DSADMIN_APPENDTABLEALIAS (HID_DBACCESS_START + 263)
+#define HID_DSADMIN_PARAMETERNAMESUBST (HID_DBACCESS_START + 264)
+#define HID_DSADMIN_IGNOREDRIVER_PRIV (HID_DBACCESS_START + 265)
+#define HID_DSADMIN_HOSTNAME (HID_DBACCESS_START + 266)
+#define HID_DSADMIN_PORTNUMBER (HID_DBACCESS_START + 267)
+
+#define HID_APP_HELP_TEXT (HID_DBACCESS_START + 268)
+#define HID_EXPLORERDLG_COLLECTION (HID_DBACCESS_START + 269)
+#define UID_APP_DATABASE_VIEW (HID_DBACCESS_START + 270)
+#define UID_APP_TASKS_VIEW (HID_DBACCESS_START + 271)
+#define UID_APP_CONTAINER_VIEW (HID_DBACCESS_START + 272)
+#define UID_APP_TASKS_WINDOW (HID_DBACCESS_START + 273)
+#define HID_APP_DESCRIPTION_TEXT (HID_DBACCESS_START + 274)
+#define UID_APP_DETAILPAGE_HELPER (HID_DBACCESS_START + 275)
+#define HID_APP_VIEW_PREVIEW_CB (HID_DBACCESS_START + 276)
+#define HID_APP_VIEW_PREVIEW_1 (HID_DBACCESS_START + 277)
+#define HID_APP_VIEW_PREVIEW_2 (HID_DBACCESS_START + 278)
+// free
+#define UID_APP_VIEW_HORZ_SPLIT (HID_DBACCESS_START + 280)
+#define UID_APP_VIEW_PREVIEW_1 (HID_DBACCESS_START + 281)
+#define HID_APP_VIEW_PREVIEW_3 (HID_DBACCESS_START + 282)
+
+#define HID_DSADMIN_TYPE_DIALOG (HID_DBACCESS_START + 283)
+#define HID_DSADMIN_ENABLEOUTERJOIN (HID_DBACCESS_START + 284)
+#define HID_DSADMIN_ADABASADMIN (HID_DBACCESS_START + 285)
+#define HID_DSADMIN_USERADMIN (HID_DBACCESS_START + 286)
+
+#define HID_DBWIZ_PREVIOUS (HID_DBACCESS_START + 287)
+#define HID_DBWIZ_NEXT (HID_DBACCESS_START + 288)
+#define HID_DBWIZ_CANCEL (HID_DBACCESS_START + 289)
+#define HID_DBWIZ_FINISH (HID_DBACCESS_START + 290)
+#define UID_DBWIZ_HELP (HID_DBACCESS_START + 291)
+
+#define HID_DSADMIN_CATALOG (HID_DBACCESS_START + 292)
+#define HID_DSADMIN_SCHEMA (HID_DBACCESS_START + 293)
+#define HID_DSADMIN_IGNOREINDEXAPPENDIX (HID_DBACCESS_START + 294)
+#define HID_DSADMIN_DOSLINEENDS (HID_DBACCESS_START + 295)
+
+#define HID_BROWSER_ADMINISTRATE (HID_DBACCESS_START + 296)
+
+#define HID_DSADMIN_AS_BEFORE_CORRELATION_NAME (HID_DBACCESS_START + 297)
+#define HID_DSADMIN_CHECK_REQUIRED_FIELDS (HID_DBACCESS_START + 298)
+
+#define HID_PAGE_DBWIZARD_GENERALPAGE (HID_DBACCESS_START + 300)
+#define HID_PAGE_DBWIZARD_GENERAL_RB_CREATEDBDATABASE (HID_DBACCESS_START + 301)
+#define HID_PAGE_DBWIZARD_GENERAL_RB_GETEXISTINGDATABASE (HID_DBACCESS_START + 302)
+
+#define HID_PAGE_DBWIZARD_DBASE_ET_DBASELOCATION (HID_DBACCESS_START + 304)
+#define HID_PAGE_DBWIZARD_DBASE_PB_DBASELOCATION (HID_DBACCESS_START + 305)
+
+
+#define HID_PAGE_DBWIZARD_TEXT_RB_ACCESSTXTFILES (HID_DBACCESS_START + 307)
+#define HID_PAGE_DBWIZARD_TEXT_RB_ACCESSCSVFILES (HID_DBACCESS_START + 308)
+#define HID_PAGE_DBWIZARD_TEXT_RB_ACCESSOTHERFILES (HID_DBACCESS_START + 309)
+#define HID_PAGE_DBWIZARD_TEXT_ET_OWNEXTENSION (HID_DBACCESS_START + 310)
+
+
+#define HID_PAGE_DBWIZARD_TEXT_ET_LOCATIONTEXTFILE (HID_DBACCESS_START + 311)
+#define HID_PAGE_DBWIZARD_TEXT_PB_LOCATIONTEXTFILE (HID_DBACCESS_START + 312)
+#define HID_PAGE_DBWIZARD_TEXT_CB_FIELDSEPARATOR (HID_DBACCESS_START + 313)
+#define HID_PAGE_DBWIZARD_TEXT_CB_TEXTSEPARATOR (HID_DBACCESS_START + 314)
+#define HID_PAGE_DBWIZARD_TEXT_CB_DECIMALSEPARATOR (HID_DBACCESS_START + 315)
+#define HID_PAGE_DBWIZARD_TEXT_CB_THOUSANDSSEPARATOR (HID_DBACCESS_START + 316)
+
+#define HID_PAGE_DBWIZARD_MSACCESS_ET_MSACCESSLOCATION (HID_DBACCESS_START + 317)
+#define HID_PAGE_DBWIZARD_MSACCESS_PB_MSACCESSLOCATION (HID_DBACCESS_START + 318)
+
+#define HID_PAGE_DBWIZARD_LDAP_ET_HOSTSERVER (HID_DBACCESS_START + 319)
+#define HID_PAGE_DBWIZARD_LDAP_ET_BASEDN (HID_DBACCESS_START + 320)
+#define HID_PAGE_DBWIZARD_LDAP_ET_PORTNUMBER (HID_DBACCESS_START + 321)
+#define HID_PAGE_DBWIZARD_LDAP_CB_USESSL (HID_DBACCESS_START + 322)
+#define HID_PAGE_DBWIZARD_LDAP_PB_TESTLDAPCONNECTION (HID_DBACCESS_START + 323)
+
+#define HID_PAGE_DBWIZARD_ADABAS_ET_ADABASNAME (HID_DBACCESS_START + 326)
+#define HID_PAGE_DBWIZARD_ADABAS_PB_ADABASNAME (HID_DBACCESS_START + 327)
+
+#define HID_PAGE_DBWIZARD_MYSQL_RB_CONNECTVIAODBC (HID_DBACCESS_START + 329)
+#define HID_PAGE_DBWIZARD_MYSQL_RB_CONNECTVIAJDBC (HID_DBACCESS_START + 330)
+
+#define HID_PAGE_DBWIZARD_ORACLE_ET_ORACLEDBNAME (HID_DBACCESS_START + 333)
+#define HID_PAGE_DBWIZARD_ORACLE_ET_ORACLEHOSTSERVER (HID_DBACCESS_START + 334)
+#define HID_PAGE_DBWIZARD_ORACLE_ET_ORACLEPORT (HID_DBACCESS_START + 335)
+#define HID_PAGE_DBWIZARD_ORACLE_ET_ORACLECLASS (HID_DBACCESS_START + 336)
+#define HID_PAGE_DBWIZARD_ORACLE_PB_TESTORACLECLASS (HID_DBACCESS_START + 337)
+
+#define HID_PAGE_DBWIZARD_JDBC_ET_JDBCURL (HID_DBACCESS_START + 340)
+#define HID_PAGE_DBWIZARD_JDBC_PB_JDBCURL (HID_DBACCESS_START + 341)
+
+#define HID_PAGE_DBWIZARD_JDBC_ET_JDBCCLASS (HID_DBACCESS_START + 342)
+#define HID_PAGE_DBWIZARD_JDBC_PB_TESTJDBCCLASS (HID_DBACCESS_START + 343)
+
+#define HID_PAGE_DBWIZARD_JDBC_ET_MYSQLDBNAME (HID_DBACCESS_START + 344)
+#define HID_PAGE_DBWIZARD_JDBC_ET_MYSQLHOSTSERVER (HID_DBACCESS_START + 345)
+#define HID_PAGE_DBWIZARD_JDBC_ET_MYSQLPORT (HID_DBACCESS_START + 346)
+#define HID_PAGE_DBWIZARD_JDBC_ET_MYSQLCLASS (HID_DBACCESS_START + 347)
+#define HID_PAGE_DBWIZARD_JDBC_PB_TESTMYSQLCLASS (HID_DBACCESS_START + 348)
+
+
+#define HID_PAGE_DBWIZARD_ADO_ET_ADOURL (HID_DBACCESS_START + 349)
+#define HID_PAGE_DBWIZARD_ADO_PB_ADOURL (HID_DBACCESS_START + 350)
+#define HID_PAGE_DBWIZARD_ADO_PB_TESTADOCONNECTION (HID_DBACCESS_START + 351)
+
+#define HID_PAGE_DBWIZARD_ODBC_ET_NAMEOFODBCDATASOURCE (HID_DBACCESS_START + 355)
+#define HID_PAGE_DBWIZARD_ODBC_PB_NAMEOFODBCDATASOURCE (HID_DBACCESS_START + 356)
+
+#define HID_PAGE_DBWIZARD_SPREADSHEET_ET_SPREADSHEETPATH (HID_DBACCESS_START + 359)
+#define HID_PAGE_DBWIZARD_SPREADSHEET_PB_SPREADSHEETPATH (HID_DBACCESS_START + 360)
+#define HID_PAGE_DBWIZARD_SPREADSHEET_CB_SPREADSHEETPASSWORDREQUIRED (HID_DBACCESS_START + 361)
+
+#define HID_PAGE_DBWIZARD_AUTHENTIFICATION_CB_GENERALPASSWORDREQUIRED (HID_DBACCESS_START + 365)
+#define HID_PAGE_DBWIZARD_AUTHENTIFICATION_ET_GENERALUSERNAME (HID_DBACCESS_START + 366)
+#define HID_PAGE_DBWIZARD_AUTHENTIFICATION_PB_TESTCONNECTION (HID_DBACCESS_START + 367)
+
+#define HID_PAGE_DBWIZARD_FINAL_RB_REGISTERDATASOURCE (HID_DBACCESS_START + 373)
+#define HID_PAGE_DBWIZARD_FINAL_RB_DONTREGISTERDATASOURCE (HID_DBACCESS_START + 374)
+#define HID_PAGE_DBWIZARD_FINAL_CB_STARTTABLEWIZARD (HID_DBACCESS_START + 375)
+#define HID_PAGE_DBWIZARD_FINAL_CB_OPENAFTERWARDS (HID_DBACCESS_START + 376)
+
+#define HID_PAGE_DBWIZARD_USERDEFINED_ET_BROWSE (HID_DBACCESS_START + 377)
+#define HID_PAGE_DBWIZARD_USERDEFINED_BROWSE (HID_DBACCESS_START + 378)
+#define HID_INDEX_DIALOG_ACTION_TB (HID_DBACCESS_START + 379)
+
+#define HID_DLG_DATABASE_WIZARD (HID_DBACCESS_START + 380)
+
+#define HID_EXTENSION_NOT_PRESENT_DLG ( HID_DBACCESS_START + 381)
+#define HID_DLG_QRY_JOIN_CONTROL ( HID_DBACCESS_START + 382)
+#define HID_DSADMIN_IGNORECURRENCY ( HID_DBACCESS_START + 383)
+
+#define HID_MACRO_MIGRATION_BACKUP_LOCATION ( HID_DBACCESS_START + 384)
+
+// this one below have hid in number space HID_SBA_START
+#define HID_DLG_ADABAS_NEWDB (HID_SBA_START + 0)
+#define HID_DLG_ADABAS_DBNAME (HID_SBA_START + 1)
+#define HID_DLG_ADABAS_SYSUSR (HID_SBA_START + 2)
+#define HID_DLG_ADABAS_SYSPWD (HID_SBA_START + 3)
+#define HID_DLG_ADABAS_CONUSR (HID_SBA_START + 4)
+#define HID_DLG_ADABAS_CONPWD (HID_SBA_START + 5)
+#define HID_DLG_ADABAS_DATADEVSPACE_SIZE (HID_SBA_START + 6)
+#define HID_DLG_ADABAS_CACHE_SIZE (HID_SBA_START + 7)
+#define HID_DLG_ADABAS_USR (HID_SBA_START + 8)
+#define HID_DLG_ADABAS_DOMAINPWD (HID_SBA_START + 9)
+#define HID_DLG_ADABAS_RESTORE (HID_SBA_START + 10)
+#define HID_DLG_ADABAS_PBRESTORE (HID_SBA_START + 11)
+#define HID_DLG_ADABAS_SYSDEVSPACE (HID_SBA_START + 12)
+#define HID_DLG_ADABAS_PBSYSDEVSPACE (HID_SBA_START + 13)
+#define HID_DLG_ADABAS_TRANSACTIONLOG (HID_SBA_START + 14)
+#define HID_DLG_ADABAS_PBTRANSACTIONLOG (HID_SBA_START + 15)
+#define HID_DLG_ADABAS_DATADEVSPACE (HID_SBA_START + 16)
+#define HID_DLG_ADABAS_PBDATADEVSPACE (HID_SBA_START + 18)
+#define HID_DLG_ADABAS_TRANSACTIONLOG_SIZE (HID_SBA_START + 19)
+#define HID_DLG_ADABAS_CON_PWD (HID_SBA_START + 20)
+#define HID_DLG_ADABAS_SYS_PWD (HID_SBA_START + 21)
+#define HID_DLG_ADABAS_DOMAIN_PWD (HID_SBA_START + 22)
+//end of HID_SBA_START
+
+// don't forget to update the file util/hidother.src
+
+
+
+#endif // _DBA_DBACCESS_HELPID_HRC_
+
+
diff --git a/dbaccess/qa/complex/dbaccess/DatabaseDocument.java b/dbaccess/qa/complex/dbaccess/DatabaseDocument.java
index 0d12fd33b763..82e7c8dc8a80 100644
--- a/dbaccess/qa/complex/dbaccess/DatabaseDocument.java
+++ b/dbaccess/qa/complex/dbaccess/DatabaseDocument.java
@@ -702,11 +702,12 @@ public class DatabaseDocument extends TestCase implements com.sun.star.document.
impl_startObservingEvents( "prepare for '" + context + "'" );
databaseDoc = (XModel)UnoRuntime.queryInterface( XModel.class,
loader.loadComponentFromURL( newURL, "_blank", 0, impl_getDefaultLoadArgs() ) );
- impl_waitForEvent( m_globalEvents, "OnLoad", 5000 );
+ int previousOnLoadEventPos = impl_waitForEvent( m_globalEvents, "OnLoad", 5000 );
// ... and another document ...
String otherURL = impl_copyTempFile( databaseDoc.getURL() );
XModel otherDoc = (XModel)UnoRuntime.queryInterface( XModel.class,
loader.loadComponentFromURL( otherURL, "_blank", 0, impl_getDefaultLoadArgs() ) );
+ impl_waitForEvent( m_globalEvents, "OnLoad", 5000, previousOnLoadEventPos + 1 );
impl_raise( otherDoc );
// ... and switch between the two
@@ -715,6 +716,7 @@ public class DatabaseDocument extends TestCase implements com.sun.star.document.
impl_stopObservingEvents( m_globalEvents, new String[] { "OnUnfocus", "OnFocus" }, context );
// cleanup
+ impl_startObservingEvents( "cleanup after '" + context + "'" );
impl_closeDocument( databaseDoc );
impl_closeDocument( otherDoc );
}
@@ -789,7 +791,13 @@ public class DatabaseDocument extends TestCase implements com.sun.star.document.
}
// --------------------------------------------------------------------------------------------------------
- void impl_waitForEvent( Vector _eventQueue, String _expectedEvent, int _maxMilliseconds )
+ int impl_waitForEvent( Vector _eventQueue, String _expectedEvent, int _maxMilliseconds )
+ {
+ return impl_waitForEvent( _eventQueue, _expectedEvent, _maxMilliseconds, 0 );
+ }
+
+ // --------------------------------------------------------------------------------------------------------
+ int impl_waitForEvent( Vector _eventQueue, String _expectedEvent, int _maxMilliseconds, int _firstQueueElementToCheck )
{
synchronized ( _eventQueue )
{
@@ -797,11 +805,11 @@ public class DatabaseDocument extends TestCase implements com.sun.star.document.
while ( waitedMilliseconds < _maxMilliseconds )
{
- for ( int i=0; i<_eventQueue.size(); ++i )
+ for ( int i=_firstQueueElementToCheck; i<_eventQueue.size(); ++i )
{
if ( _expectedEvent.equals( _eventQueue.get(i) ) )
// found the event in the queue
- return;
+ return i;
}
// wait a little, perhaps the event will still arrive
@@ -815,6 +823,7 @@ public class DatabaseDocument extends TestCase implements com.sun.star.document.
}
failed( "expected event '" + _expectedEvent + "' did not arrive after " + _maxMilliseconds + " milliseconds" );
+ return -1;
}
// --------------------------------------------------------------------------------------------------------
diff --git a/dbaccess/source/core/dataaccess/ModelImpl.cxx b/dbaccess/source/core/dataaccess/ModelImpl.cxx
index b3e329c6889a..5759e8299c1c 100644
--- a/dbaccess/source/core/dataaccess/ModelImpl.cxx
+++ b/dbaccess/source/core/dataaccess/ModelImpl.cxx
@@ -324,7 +324,6 @@ ODatabaseModelImpl::ODatabaseModelImpl( const Reference< XMultiServiceFactory >&
,m_pDBContext( &_rDBContext )
,m_refCount(0)
,m_bHasAnyObjectWithMacros( false )
- ,m_bHasMacroStorages( false )
,m_bModificationLock( false )
,m_bDocumentInitialized( false )
,m_aContext( _rxFactory )
@@ -364,7 +363,6 @@ ODatabaseModelImpl::ODatabaseModelImpl(
,m_pDBContext( &_rDBContext )
,m_refCount(0)
,m_bHasAnyObjectWithMacros( false )
- ,m_bHasMacroStorages( false )
,m_bModificationLock( false )
,m_bDocumentInitialized( false )
,m_aContext( _rxFactory )
@@ -1391,9 +1389,8 @@ Reference< XStorage > ODatabaseModelImpl::getLastCommitDocumentStorage()
sal_Bool ODatabaseModelImpl::documentStorageHasMacros() const
{
// does our root storage contain macros?
- if ( ::sfx2::DocumentMacroMode::storageHasMacros( m_xDocumentStorage ) )
+ if ( ::sfx2::DocumentMacroMode::storageHasMacros( const_cast< ODatabaseModelImpl* >( this )->getOrCreateRootStorage() ) )
{
- const_cast< ODatabaseModelImpl* >( this )->m_bHasMacroStorages = true;
return true;
}
diff --git a/dbaccess/source/core/dataaccess/ModelImpl.hxx b/dbaccess/source/core/dataaccess/ModelImpl.hxx
index f7628aa45b40..b12c76287c5c 100644
--- a/dbaccess/source/core/dataaccess/ModelImpl.hxx
+++ b/dbaccess/source/core/dataaccess/ModelImpl.hxx
@@ -190,8 +190,6 @@ private:
/// do we have any object (forms/reports) which contains macros?
bool m_bHasAnyObjectWithMacros;
- /// does our root storage have macro/script sub storages?
- bool m_bHasMacroStorages;
/// true if setting the Modified flag of the document is currently locked
bool m_bModificationLock;
@@ -417,13 +415,6 @@ public:
*/
bool hasAnyObjectWithMacros() const { return m_bHasAnyObjectWithMacros; }
- /** determines whether the document storage has sub storages used to store macros/scripts
-
- Though the current version does not allow creating such documents, later versions will, so
- we need to be prepared when we encounter them.
- */
- bool hasMacroStorages() const { return m_bHasMacroStorages; }
-
/** checks our document's macro execution mode, using the interaction handler as supplied with our
load arguments
*/
diff --git a/dbaccess/source/core/dataaccess/databasedocument.cxx b/dbaccess/source/core/dataaccess/databasedocument.cxx
index e26b52727353..9ca995e8db39 100644
--- a/dbaccess/source/core/dataaccess/databasedocument.cxx
+++ b/dbaccess/source/core/dataaccess/databasedocument.cxx
@@ -78,9 +78,6 @@
#include <comphelper/storagehelper.hxx>
#include <cppuhelper/exc_hlp.hxx>
#include <framework/titlehelper.hxx>
-#include <com/sun/star/task/FutureDocumentVersionProductUpdateRequest.hpp>
-#include <com/sun/star/task/InteractionClassification.hpp>
-#include <com/sun/star/task/XInteractionAskLater.hpp>
#include <tools/debug.hxx>
#include <tools/diagnose_ex.h>
#include <tools/errcode.hxx>
@@ -545,36 +542,6 @@ void SAL_CALL ODatabaseDocument::connectController( const Reference< XController
// check/adjust our macro mode.
m_pImpl->checkMacrosOnLoading();
-
- // If we encounter a document which already contains macros in the document storage (instead of
- // macros in the form's/report's storages), then this has been written by a newer version of OOo (>=3.1).
- // In this case, warn the user, too.
- if ( m_pImpl->hasMacroStorages() )
- {
- ::comphelper::NamedValueCollection aArgs( m_pImpl->getResource() );
- Reference< XInteractionHandler > xInteraction;
- xInteraction = aArgs.getOrDefault( "InteractionHandler", xInteraction );
- if ( xInteraction.is() )
- {
- FutureDocumentVersionProductUpdateRequest aUpdateRequest;
- aUpdateRequest.Classification = InteractionClassification_QUERY;
- aUpdateRequest.DocumentURL = getURL();
-
- ::rtl::Reference< ::comphelper::OInteractionRequest > pRequest = new ::comphelper::OInteractionRequest( makeAny( aUpdateRequest ) );
- pRequest->addContinuation( new ::comphelper::OInteractionApprove );
- pRequest->addContinuation( new ::comphelper::OInteractionDisapprove );
- pRequest->addContinuation( new ::comphelper::OInteraction< XInteractionAskLater >() );
-
- try
- {
- xInteraction->handle( pRequest.get() );
- }
- catch( const Exception& )
- {
- DBG_UNHANDLED_EXCEPTION();
- }
- }
- }
}
// -----------------------------------------------------------------------------
diff --git a/dbaccess/source/core/dataaccess/documentdefinition.cxx b/dbaccess/source/core/dataaccess/documentdefinition.cxx
index 50c3083fbc9a..4e724c571235 100644
--- a/dbaccess/source/core/dataaccess/documentdefinition.cxx
+++ b/dbaccess/source/core/dataaccess/documentdefinition.cxx
@@ -1543,15 +1543,7 @@ namespace
// -----------------------------------------------------------------------------
sal_Bool ODocumentDefinition::objectSupportsEmbeddedScripts() const
{
-// bool bAllowDocumentMacros = !m_pImpl->m_pDataSource || m_pImpl->m_pDataSource->hasAnyObjectWithMacros();
- // TODO: revert to the disabled code. The current version is just to be able
- // to integrate an intermediate version of the CWS, which should behave as
- // if no macros in DB docs are allowed
- bool bAllowDocumentMacros = !m_pImpl->m_pDataSource->hasMacroStorages();
- // even if the current version is not able to create documents which contain macros,
- // later versions will be. Such documents contain macro/script storages in the
- // document root storage, in which case we need to disable the per-form/report
- // scripting.
+ bool bAllowDocumentMacros = !m_pImpl->m_pDataSource || m_pImpl->m_pDataSource->hasAnyObjectWithMacros();
// if *any* of the objects of the database document already has macros, we continue to allow it
// to have them, until the user did a migration.
diff --git a/dbaccess/source/ext/macromigration/macromigrationpages.cxx b/dbaccess/source/ext/macromigration/macromigrationpages.cxx
index f46db80f7d73..b84040731170 100644
--- a/dbaccess/source/ext/macromigration/macromigrationpages.cxx
+++ b/dbaccess/source/ext/macromigration/macromigrationpages.cxx
@@ -1,361 +1,364 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * $RCSfile: macromigrationpages.cxx,v $
- * $Revision: 1.3.2.4 $
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_dbaccess.hxx"
-
-#include "dbmm_module.hxx"
-#include "dbmm_global.hrc"
-#include "macromigration.hrc"
-#include "macromigrationpages.hxx"
-#include "macromigrationdialog.hxx"
-
-/** === begin UNO includes === **/
-#include <com/sun/star/frame/XModel.hpp>
-/** === end UNO includes === **/
-
-#include <tools/urlobj.hxx>
-#include <tools/diagnose_ex.h>
-#include <vcl/metric.hxx>
-
-//........................................................................
-namespace dbmm
-{
-//........................................................................
-
- /** === begin UNO using === **/
- using ::com::sun::star::uno::Reference;
- using ::com::sun::star::uno::XInterface;
- using ::com::sun::star::uno::UNO_QUERY;
- using ::com::sun::star::uno::UNO_QUERY_THROW;
- using ::com::sun::star::uno::UNO_SET_THROW;
- using ::com::sun::star::uno::Exception;
- using ::com::sun::star::uno::RuntimeException;
- using ::com::sun::star::uno::Any;
- using ::com::sun::star::uno::makeAny;
- using ::com::sun::star::uno::Sequence;
- using ::com::sun::star::frame::XModel;
- /** === end UNO using === **/
-
- //====================================================================
- //= MacroMigrationPage
- //====================================================================
- //--------------------------------------------------------------------
- MacroMigrationPage::MacroMigrationPage( MacroMigrationDialog& _rParentDialog, const ResId& _rRes )
- :MacroMigrationPage_Base( &_rParentDialog, _rRes )
- ,m_aHeader( this, MacroMigrationResId( FT_HEADER ) )
- {
- Font aFont( m_aHeader.GetFont() );
- aFont.SetWeight( WEIGHT_BOLD );
- m_aHeader.SetFont( aFont );
- }
-
- //--------------------------------------------------------------------
- MacroMigrationPage::~MacroMigrationPage()
- {
- }
-
- //--------------------------------------------------------------------
- const MacroMigrationDialog& MacroMigrationPage::getDialog() const
- {
- return *dynamic_cast< const MacroMigrationDialog* >( GetParent() );
- }
-
- //--------------------------------------------------------------------
- MacroMigrationDialog& MacroMigrationPage::getDialog()
- {
- return *dynamic_cast< MacroMigrationDialog* >( GetParent() );
- }
-
- //====================================================================
- //= PreparationPage
- //====================================================================
- //--------------------------------------------------------------------
- PreparationPage::PreparationPage( MacroMigrationDialog& _rParentDialog )
- :MacroMigrationPage( _rParentDialog, MacroMigrationResId( TP_PREPARE ) )
- ,m_aIntroduction ( this, MacroMigrationResId( FT_INTRODUCTION ) )
- ,m_aCloseDocError( this, MacroMigrationResId( FT_CLOSE_DOC_ERROR ) )
- {
- FreeResource();
- }
-
- //--------------------------------------------------------------------
- void PreparationPage::showCloseDocsError( bool _bShow )
- {
- m_aCloseDocError.Show( _bShow );
- }
-
- //--------------------------------------------------------------------
- TabPage* PreparationPage::Create( ::svt::RoadmapWizard& _rParentDialog )
- {
- return new PreparationPage( dynamic_cast< MacroMigrationDialog& >( _rParentDialog ) );
- }
-
- //====================================================================
- //= SaveDBDocPage
- //====================================================================
- //--------------------------------------------------------------------
- SaveDBDocPage::SaveDBDocPage( MacroMigrationDialog& _rParentDialog )
- :MacroMigrationPage( _rParentDialog, MacroMigrationResId( TP_SAVE_DBDOC_AS ) )
- ,m_aExplanation ( this, MacroMigrationResId( FT_EXPLANATION ) )
- ,m_aSaveAsLabel ( this, MacroMigrationResId( FT_SAVE_AS_LABEL ) )
- ,m_aSaveAsLocation ( this, MacroMigrationResId( ED_SAVE_AS_LOCATION ) )
- ,m_aBrowseSaveAsLocation( this, MacroMigrationResId( PB_BROWSE_SAVE_AS_LOCATION ) )
- ,m_aStartMigration ( this, MacroMigrationResId( FT_START_MIGRATION ) )
- ,m_aLocationController( _rParentDialog.getComponentContext(), m_aSaveAsLocation, m_aBrowseSaveAsLocation )
- {
- FreeResource();
-
- m_aSaveAsLocation.SetModifyHdl( LINK( this, SaveDBDocPage, OnLocationModified ) );
- m_aSaveAsLocation.SetDropDownLineCount( 20 );
-
- impl_updateLocationDependentItems();
- }
-
- //--------------------------------------------------------------------
- void SaveDBDocPage::impl_updateLocationDependentItems()
- {
- updateDialogTravelUI();
- m_aStartMigration.Show( m_aSaveAsLocation.GetText().Len() > 0 );
- }
-
- //--------------------------------------------------------------------
- IMPL_LINK( SaveDBDocPage, OnLocationModified, Edit*, /**/ )
- {
- impl_updateLocationDependentItems();
- return 0L;
- }
-
- //--------------------------------------------------------------------
- void SaveDBDocPage::initializePage()
- {
- OWizardPage::initializePage();
-
- try
- {
- // get the document's current URL
- Reference< XModel > xDocument( getDialog().getDocument(), UNO_QUERY_THROW );
- INetURLObject aURLParser( xDocument->getURL() );
- OSL_ENSURE( aURLParser.GetProtocol() != INET_PROT_NOT_VALID, "SaveDBDocPage::initializePage: illegal document URL!" );
-
- ::rtl::OUStringBuffer aBaseName( aURLParser.getBase() );
- aBaseName.appendAscii( ".backup" );
- aURLParser.setBase( aBaseName.makeStringAndClear() );
-
- m_aLocationController.setURL( aURLParser.GetMainURL( INetURLObject::NO_DECODE ) );
- impl_updateLocationDependentItems();
- }
- catch( const Exception& )
- {
- DBG_UNHANDLED_EXCEPTION();
- }
- }
-
- //--------------------------------------------------------------------
- bool SaveDBDocPage::canAdvance() const
- {
- if ( !MacroMigrationPage::canAdvance() )
- return false;
-
- return m_aSaveAsLocation.GetText().Len() > 0;
- }
-
- //--------------------------------------------------------------------
- sal_Bool SaveDBDocPage::commitPage( CommitPageReason _eReason )
- {
- if ( !MacroMigrationPage::commitPage( _eReason ) )
- return sal_False;
-
- if ( eTravelBackward == _eReason )
- return sal_True;
-
- if ( !m_aLocationController.prepareCommit() )
- return sal_False;
-
- return sal_True;
- }
-
- //--------------------------------------------------------------------
- TabPage* SaveDBDocPage::Create( ::svt::RoadmapWizard& _rParentDialog )
- {
- return new SaveDBDocPage( dynamic_cast< MacroMigrationDialog& >( _rParentDialog ) );
- }
-
- //====================================================================
- //= ProgressPage
- //====================================================================
- //--------------------------------------------------------------------
- ProgressPage::ProgressPage( MacroMigrationDialog& _rParentDialog )
- :MacroMigrationPage( _rParentDialog, MacroMigrationResId( TP_MIGRATE ) )
- ,m_aObjectCount ( this, MacroMigrationResId( FT_OBJECT_COUNT ) )
- ,m_aCurrentObjectLabel ( this, MacroMigrationResId( FT_CURRENT_OBJECT_LABEL ) )
- ,m_aCurrentObject ( this, MacroMigrationResId( FT_CURRENT_OBJECT ) )
- ,m_aCurrentActionLabel ( this, MacroMigrationResId( FT_CURRENT_PROGRESS_LABEL ) )
- ,m_aCurrentAction ( this, MacroMigrationResId( FT_CURRENT_PROGRESS ) )
- ,m_aCurrentProgress ( this, MacroMigrationResId( WND_CURRENT_PROGRESS ) )
- ,m_aAllProgressLabel ( this, MacroMigrationResId( FT_ALL_PROGRESS_LABEL ) )
- ,m_aAllProgressText ( this, MacroMigrationResId( FT_OBJECT_COUNT_PROGRESS ) )
- ,m_aAllProgress ( this, MacroMigrationResId( WND_ALL_PROGRESS ) )
- ,m_aMigrationDone ( this, MacroMigrationResId( FT_MIGRATION_DONE ) )
- {
- FreeResource();
- }
-
- //--------------------------------------------------------------------
- TabPage* ProgressPage::Create( ::svt::RoadmapWizard& _rParentDialog )
- {
- return new ProgressPage( dynamic_cast< MacroMigrationDialog& >( _rParentDialog ) );
- }
-
- //--------------------------------------------------------------------
- void ProgressPage::setDocumentCounts( const sal_Int32 _nForms, const sal_Int32 _nReports )
- {
- String sText( m_aObjectCount.GetText() );
- sText.SearchAndReplaceAscii( "$forms$", String::CreateFromInt32( _nForms ) );
- sText.SearchAndReplaceAscii( "$reports$", String::CreateFromInt32( _nReports ) );
- m_aObjectCount.SetText( sText );
- }
-
- //--------------------------------------------------------------------
- void ProgressPage::onFinishedSuccessfully()
- {
- m_aMigrationDone.Show();
- }
-
- //--------------------------------------------------------------------
- void ProgressPage::startObject( const ::rtl::OUString& _rObjectName, const ::rtl::OUString& _rCurrentAction, const sal_uInt32 _nRange )
- {
- m_aCurrentObject.SetText( _rObjectName );
- m_aCurrentAction.SetText( _rCurrentAction );
- m_aCurrentProgress.SetRange( _nRange );
- m_aCurrentProgress.SetValue( (sal_uInt32)0 );
-
- // since this is currently called from the main thread, which does not have the chance
- // to re-schedule, we need to explicitly update the display
- m_aCurrentObject.Update();
- m_aCurrentAction.Update();
- Update();
- }
-
- //--------------------------------------------------------------------
- void ProgressPage::setObjectProgressText( const ::rtl::OUString& _rText )
- {
- m_aCurrentAction.SetText( _rText );
- m_aCurrentAction.Update();
- Update();
- }
-
- //--------------------------------------------------------------------
- void ProgressPage::setObjectProgressValue( const sal_uInt32 _nValue )
- {
- m_aCurrentProgress.SetValue( _nValue );
- Update();
- }
-
- //--------------------------------------------------------------------
- void ProgressPage::endObject()
- {
- m_aCurrentAction.SetText( String() );
- m_aCurrentProgress.SetValue( m_aCurrentProgress.GetRange() );
- m_aCurrentAction.Update();
- Update();
- }
-
- //--------------------------------------------------------------------
- void ProgressPage::start( const sal_uInt32 _nOverallRange )
- {
- m_aAllProgress.SetRange( _nOverallRange );
- Update();
- }
-
- //--------------------------------------------------------------------
- void ProgressPage::setOverallProgressText( const ::rtl::OUString& _rText )
- {
- m_aAllProgressText.SetText( _rText );
- Update();
- }
-
- //--------------------------------------------------------------------
- void ProgressPage::setOverallProgressValue( const sal_uInt32 _nValue )
- {
- m_aAllProgress.SetValue( _nValue );
- Update();
- }
-
- //====================================================================
- //= ResultPage
- //====================================================================
- //--------------------------------------------------------------------
- ResultPage::ResultPage( MacroMigrationDialog& _rParentDialog )
- :MacroMigrationPage( _rParentDialog, MacroMigrationResId( TP_SUMMARY ) )
- ,m_aChangesLabel( this, MacroMigrationResId( FT_CHANGES_LABEL ) )
- ,m_aChanges ( this, MacroMigrationResId( ED_CHANGES ) )
- ,m_aSuccessful ( MacroMigrationResId( STR_SUCCESSFUL ) )
- ,m_aUnsuccessful( MacroMigrationResId( STR_UNSUCCESSFUL ) )
- {
- FreeResource();
- }
-
- //--------------------------------------------------------------------
- TabPage* ResultPage::Create( ::svt::RoadmapWizard& _rParentDialog )
- {
- return new ResultPage( dynamic_cast< MacroMigrationDialog& >( _rParentDialog ) );
- }
-
- //--------------------------------------------------------------------
- void ResultPage::displayMigrationLog( const bool _bSuccessful, const String& _rSummary )
- {
- m_aChangesLabel.SetText( _bSuccessful ? m_aSuccessful : m_aUnsuccessful );
- m_aChanges.SetText( _rSummary );
-
- // resize m_aChangesLabel and m_aChances as needed for the label text to fit
- Rectangle aOriginalLabelSize( m_aChangesLabel.GetPosPixel(), m_aChangesLabel.GetSizePixel() );
- // assume 3 lines, at most
- Rectangle aNewLabelSize( aOriginalLabelSize );
- aNewLabelSize.Bottom() = aNewLabelSize.Top() + m_aChangesLabel.LogicToPixel( Size( 0, 3*8 ), MAP_APPFONT ).Height();
- TextRectInfo aInfo;
- aNewLabelSize = m_aChangesLabel.GetTextRect( aNewLabelSize, m_aChangesLabel.GetText(), TEXT_DRAW_MULTILINE | TEXT_DRAW_WORDBREAK, &aInfo );
- aNewLabelSize.Bottom() = aNewLabelSize.Top() + m_aChangesLabel.LogicToPixel( Size( 0, aInfo.GetLineCount() * 8 ), MAP_APPFONT ).Height();
-
- m_aChangesLabel.SetSizePixel( aNewLabelSize.GetSize() );
-
- long nChangesDiff = aNewLabelSize.GetHeight() - aOriginalLabelSize.GetHeight();
- Size aChangesSize( m_aChanges.GetSizePixel() );
- aChangesSize.Height() -= nChangesDiff;
- m_aChanges.SetSizePixel( aChangesSize );
-
- Point aChangesPos( m_aChanges.GetPosPixel() );
- aChangesPos.Y() += nChangesDiff;
- m_aChanges.SetPosPixel( aChangesPos );
- }
-
-//........................................................................
-} // namespace dbmm
-//........................................................................
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: macromigrationpages.cxx,v $
+ * $Revision: 1.3.2.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+// MARKER(update_precomp.py): autogen include statement, do not remove
+#include "precompiled_dbaccess.hxx"
+
+#include "dbaccess_helpid.hrc"
+#include "dbmm_module.hxx"
+#include "dbmm_global.hrc"
+#include "macromigration.hrc"
+#include "macromigrationpages.hxx"
+#include "macromigrationdialog.hxx"
+
+/** === begin UNO includes === **/
+#include <com/sun/star/frame/XModel.hpp>
+/** === end UNO includes === **/
+
+#include <tools/urlobj.hxx>
+#include <tools/diagnose_ex.h>
+#include <vcl/metric.hxx>
+
+//........................................................................
+namespace dbmm
+{
+//........................................................................
+
+ /** === begin UNO using === **/
+ using ::com::sun::star::uno::Reference;
+ using ::com::sun::star::uno::XInterface;
+ using ::com::sun::star::uno::UNO_QUERY;
+ using ::com::sun::star::uno::UNO_QUERY_THROW;
+ using ::com::sun::star::uno::UNO_SET_THROW;
+ using ::com::sun::star::uno::Exception;
+ using ::com::sun::star::uno::RuntimeException;
+ using ::com::sun::star::uno::Any;
+ using ::com::sun::star::uno::makeAny;
+ using ::com::sun::star::uno::Sequence;
+ using ::com::sun::star::frame::XModel;
+ /** === end UNO using === **/
+
+ //====================================================================
+ //= MacroMigrationPage
+ //====================================================================
+ //--------------------------------------------------------------------
+ MacroMigrationPage::MacroMigrationPage( MacroMigrationDialog& _rParentDialog, const ResId& _rRes )
+ :MacroMigrationPage_Base( &_rParentDialog, _rRes )
+ ,m_aHeader( this, MacroMigrationResId( FT_HEADER ) )
+ {
+ Font aFont( m_aHeader.GetFont() );
+ aFont.SetWeight( WEIGHT_BOLD );
+ m_aHeader.SetFont( aFont );
+ }
+
+ //--------------------------------------------------------------------
+ MacroMigrationPage::~MacroMigrationPage()
+ {
+ }
+
+ //--------------------------------------------------------------------
+ const MacroMigrationDialog& MacroMigrationPage::getDialog() const
+ {
+ return *dynamic_cast< const MacroMigrationDialog* >( GetParent() );
+ }
+
+ //--------------------------------------------------------------------
+ MacroMigrationDialog& MacroMigrationPage::getDialog()
+ {
+ return *dynamic_cast< MacroMigrationDialog* >( GetParent() );
+ }
+
+ //====================================================================
+ //= PreparationPage
+ //====================================================================
+ //--------------------------------------------------------------------
+ PreparationPage::PreparationPage( MacroMigrationDialog& _rParentDialog )
+ :MacroMigrationPage( _rParentDialog, MacroMigrationResId( TP_PREPARE ) )
+ ,m_aIntroduction ( this, MacroMigrationResId( FT_INTRODUCTION ) )
+ ,m_aCloseDocError( this, MacroMigrationResId( FT_CLOSE_DOC_ERROR ) )
+ {
+ FreeResource();
+ }
+
+ //--------------------------------------------------------------------
+ void PreparationPage::showCloseDocsError( bool _bShow )
+ {
+ m_aCloseDocError.Show( _bShow );
+ }
+
+ //--------------------------------------------------------------------
+ TabPage* PreparationPage::Create( ::svt::RoadmapWizard& _rParentDialog )
+ {
+ return new PreparationPage( dynamic_cast< MacroMigrationDialog& >( _rParentDialog ) );
+ }
+
+ //====================================================================
+ //= SaveDBDocPage
+ //====================================================================
+ //--------------------------------------------------------------------
+ SaveDBDocPage::SaveDBDocPage( MacroMigrationDialog& _rParentDialog )
+ :MacroMigrationPage( _rParentDialog, MacroMigrationResId( TP_SAVE_DBDOC_AS ) )
+ ,m_aExplanation ( this, MacroMigrationResId( FT_EXPLANATION ) )
+ ,m_aSaveAsLabel ( this, MacroMigrationResId( FT_SAVE_AS_LABEL ) )
+ ,m_aSaveAsLocation ( this, MacroMigrationResId( ED_SAVE_AS_LOCATION ) )
+ ,m_aBrowseSaveAsLocation( this, MacroMigrationResId( PB_BROWSE_SAVE_AS_LOCATION ) )
+ ,m_aStartMigration ( this, MacroMigrationResId( FT_START_MIGRATION ) )
+ ,m_aLocationController( _rParentDialog.getComponentContext(), m_aSaveAsLocation, m_aBrowseSaveAsLocation )
+ {
+ FreeResource();
+
+ m_aSaveAsLocation.SetModifyHdl( LINK( this, SaveDBDocPage, OnLocationModified ) );
+ m_aSaveAsLocation.SetDropDownLineCount( 20 );
+
+ m_aSaveAsLocation.SetHelpId( HID_MACRO_MIGRATION_BACKUP_LOCATION );
+
+ impl_updateLocationDependentItems();
+ }
+
+ //--------------------------------------------------------------------
+ void SaveDBDocPage::impl_updateLocationDependentItems()
+ {
+ updateDialogTravelUI();
+ m_aStartMigration.Show( m_aSaveAsLocation.GetText().Len() > 0 );
+ }
+
+ //--------------------------------------------------------------------
+ IMPL_LINK( SaveDBDocPage, OnLocationModified, Edit*, /**/ )
+ {
+ impl_updateLocationDependentItems();
+ return 0L;
+ }
+
+ //--------------------------------------------------------------------
+ void SaveDBDocPage::initializePage()
+ {
+ OWizardPage::initializePage();
+
+ try
+ {
+ // get the document's current URL
+ Reference< XModel > xDocument( getDialog().getDocument(), UNO_QUERY_THROW );
+ INetURLObject aURLParser( xDocument->getURL() );
+ OSL_ENSURE( aURLParser.GetProtocol() != INET_PROT_NOT_VALID, "SaveDBDocPage::initializePage: illegal document URL!" );
+
+ ::rtl::OUStringBuffer aBaseName( aURLParser.getBase() );
+ aBaseName.appendAscii( ".backup" );
+ aURLParser.setBase( aBaseName.makeStringAndClear() );
+
+ m_aLocationController.setURL( aURLParser.GetMainURL( INetURLObject::NO_DECODE ) );
+ impl_updateLocationDependentItems();
+ }
+ catch( const Exception& )
+ {
+ DBG_UNHANDLED_EXCEPTION();
+ }
+ }
+
+ //--------------------------------------------------------------------
+ bool SaveDBDocPage::canAdvance() const
+ {
+ if ( !MacroMigrationPage::canAdvance() )
+ return false;
+
+ return m_aSaveAsLocation.GetText().Len() > 0;
+ }
+
+ //--------------------------------------------------------------------
+ sal_Bool SaveDBDocPage::commitPage( CommitPageReason _eReason )
+ {
+ if ( !MacroMigrationPage::commitPage( _eReason ) )
+ return sal_False;
+
+ if ( eTravelBackward == _eReason )
+ return sal_True;
+
+ if ( !m_aLocationController.prepareCommit() )
+ return sal_False;
+
+ return sal_True;
+ }
+
+ //--------------------------------------------------------------------
+ TabPage* SaveDBDocPage::Create( ::svt::RoadmapWizard& _rParentDialog )
+ {
+ return new SaveDBDocPage( dynamic_cast< MacroMigrationDialog& >( _rParentDialog ) );
+ }
+
+ //====================================================================
+ //= ProgressPage
+ //====================================================================
+ //--------------------------------------------------------------------
+ ProgressPage::ProgressPage( MacroMigrationDialog& _rParentDialog )
+ :MacroMigrationPage( _rParentDialog, MacroMigrationResId( TP_MIGRATE ) )
+ ,m_aObjectCount ( this, MacroMigrationResId( FT_OBJECT_COUNT ) )
+ ,m_aCurrentObjectLabel ( this, MacroMigrationResId( FT_CURRENT_OBJECT_LABEL ) )
+ ,m_aCurrentObject ( this, MacroMigrationResId( FT_CURRENT_OBJECT ) )
+ ,m_aCurrentActionLabel ( this, MacroMigrationResId( FT_CURRENT_PROGRESS_LABEL ) )
+ ,m_aCurrentAction ( this, MacroMigrationResId( FT_CURRENT_PROGRESS ) )
+ ,m_aCurrentProgress ( this, MacroMigrationResId( WND_CURRENT_PROGRESS ) )
+ ,m_aAllProgressLabel ( this, MacroMigrationResId( FT_ALL_PROGRESS_LABEL ) )
+ ,m_aAllProgressText ( this, MacroMigrationResId( FT_OBJECT_COUNT_PROGRESS ) )
+ ,m_aAllProgress ( this, MacroMigrationResId( WND_ALL_PROGRESS ) )
+ ,m_aMigrationDone ( this, MacroMigrationResId( FT_MIGRATION_DONE ) )
+ {
+ FreeResource();
+ }
+
+ //--------------------------------------------------------------------
+ TabPage* ProgressPage::Create( ::svt::RoadmapWizard& _rParentDialog )
+ {
+ return new ProgressPage( dynamic_cast< MacroMigrationDialog& >( _rParentDialog ) );
+ }
+
+ //--------------------------------------------------------------------
+ void ProgressPage::setDocumentCounts( const sal_Int32 _nForms, const sal_Int32 _nReports )
+ {
+ String sText( m_aObjectCount.GetText() );
+ sText.SearchAndReplaceAscii( "$forms$", String::CreateFromInt32( _nForms ) );
+ sText.SearchAndReplaceAscii( "$reports$", String::CreateFromInt32( _nReports ) );
+ m_aObjectCount.SetText( sText );
+ }
+
+ //--------------------------------------------------------------------
+ void ProgressPage::onFinishedSuccessfully()
+ {
+ m_aMigrationDone.Show();
+ }
+
+ //--------------------------------------------------------------------
+ void ProgressPage::startObject( const ::rtl::OUString& _rObjectName, const ::rtl::OUString& _rCurrentAction, const sal_uInt32 _nRange )
+ {
+ m_aCurrentObject.SetText( _rObjectName );
+ m_aCurrentAction.SetText( _rCurrentAction );
+ m_aCurrentProgress.SetRange( _nRange );
+ m_aCurrentProgress.SetValue( (sal_uInt32)0 );
+
+ // since this is currently called from the main thread, which does not have the chance
+ // to re-schedule, we need to explicitly update the display
+ m_aCurrentObject.Update();
+ m_aCurrentAction.Update();
+ Update();
+ }
+
+ //--------------------------------------------------------------------
+ void ProgressPage::setObjectProgressText( const ::rtl::OUString& _rText )
+ {
+ m_aCurrentAction.SetText( _rText );
+ m_aCurrentAction.Update();
+ Update();
+ }
+
+ //--------------------------------------------------------------------
+ void ProgressPage::setObjectProgressValue( const sal_uInt32 _nValue )
+ {
+ m_aCurrentProgress.SetValue( _nValue );
+ Update();
+ }
+
+ //--------------------------------------------------------------------
+ void ProgressPage::endObject()
+ {
+ m_aCurrentAction.SetText( String() );
+ m_aCurrentProgress.SetValue( m_aCurrentProgress.GetRange() );
+ m_aCurrentAction.Update();
+ Update();
+ }
+
+ //--------------------------------------------------------------------
+ void ProgressPage::start( const sal_uInt32 _nOverallRange )
+ {
+ m_aAllProgress.SetRange( _nOverallRange );
+ Update();
+ }
+
+ //--------------------------------------------------------------------
+ void ProgressPage::setOverallProgressText( const ::rtl::OUString& _rText )
+ {
+ m_aAllProgressText.SetText( _rText );
+ Update();
+ }
+
+ //--------------------------------------------------------------------
+ void ProgressPage::setOverallProgressValue( const sal_uInt32 _nValue )
+ {
+ m_aAllProgress.SetValue( _nValue );
+ Update();
+ }
+
+ //====================================================================
+ //= ResultPage
+ //====================================================================
+ //--------------------------------------------------------------------
+ ResultPage::ResultPage( MacroMigrationDialog& _rParentDialog )
+ :MacroMigrationPage( _rParentDialog, MacroMigrationResId( TP_SUMMARY ) )
+ ,m_aChangesLabel( this, MacroMigrationResId( FT_CHANGES_LABEL ) )
+ ,m_aChanges ( this, MacroMigrationResId( ED_CHANGES ) )
+ ,m_aSuccessful ( MacroMigrationResId( STR_SUCCESSFUL ) )
+ ,m_aUnsuccessful( MacroMigrationResId( STR_UNSUCCESSFUL ) )
+ {
+ FreeResource();
+ }
+
+ //--------------------------------------------------------------------
+ TabPage* ResultPage::Create( ::svt::RoadmapWizard& _rParentDialog )
+ {
+ return new ResultPage( dynamic_cast< MacroMigrationDialog& >( _rParentDialog ) );
+ }
+
+ //--------------------------------------------------------------------
+ void ResultPage::displayMigrationLog( const bool _bSuccessful, const String& _rSummary )
+ {
+ m_aChangesLabel.SetText( _bSuccessful ? m_aSuccessful : m_aUnsuccessful );
+ m_aChanges.SetText( _rSummary );
+
+ // resize m_aChangesLabel and m_aChances as needed for the label text to fit
+ Rectangle aOriginalLabelSize( m_aChangesLabel.GetPosPixel(), m_aChangesLabel.GetSizePixel() );
+ // assume 3 lines, at most
+ Rectangle aNewLabelSize( aOriginalLabelSize );
+ aNewLabelSize.Bottom() = aNewLabelSize.Top() + m_aChangesLabel.LogicToPixel( Size( 0, 3*8 ), MAP_APPFONT ).Height();
+ TextRectInfo aInfo;
+ aNewLabelSize = m_aChangesLabel.GetTextRect( aNewLabelSize, m_aChangesLabel.GetText(), TEXT_DRAW_MULTILINE | TEXT_DRAW_WORDBREAK, &aInfo );
+ aNewLabelSize.Bottom() = aNewLabelSize.Top() + m_aChangesLabel.LogicToPixel( Size( 0, aInfo.GetLineCount() * 8 ), MAP_APPFONT ).Height();
+
+ m_aChangesLabel.SetSizePixel( aNewLabelSize.GetSize() );
+
+ long nChangesDiff = aNewLabelSize.GetHeight() - aOriginalLabelSize.GetHeight();
+ Size aChangesSize( m_aChanges.GetSizePixel() );
+ aChangesSize.Height() -= nChangesDiff;
+ m_aChanges.SetSizePixel( aChangesSize );
+
+ Point aChangesPos( m_aChanges.GetPosPixel() );
+ aChangesPos.Y() += nChangesDiff;
+ m_aChanges.SetPosPixel( aChangesPos );
+ }
+
+//........................................................................
+} // namespace dbmm
+//........................................................................
diff --git a/dbaccess/source/ui/control/FieldDescControl.cxx b/dbaccess/source/ui/control/FieldDescControl.cxx
index 322b044316a6..4b008bcc3261 100644
--- a/dbaccess/source/ui/control/FieldDescControl.cxx
+++ b/dbaccess/source/ui/control/FieldDescControl.cxx
@@ -1,2176 +1,2176 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * $RCSfile: FieldDescControl.cxx,v $
- * $Revision: 1.49.68.1 $
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_dbaccess.hxx"
-
-#define ITEMID_HORJUSTIFY SID_ATTR_ALIGN_HOR_JUSTIFY
-#define ITEMID_VERJUSTIFY SID_ATTR_ALIGN_VER_JUSTIFY
-//#define ITEMID_ORIENTATION SID_ATTR_ALIGN_ORIENTATION
-#define ITEMID_LINEBREAK SID_ATTR_ALIGN_LINEBREAK
-#define ITEMID_MARGIN SID_ATTR_ALIGN_MARGIN
-
-#ifndef DBAUI_FIELDDESCRIPTIONCONTROL_HXX
-#include "FieldDescControl.hxx"
-#endif
-#ifndef DBAUI_FIELDCONTROLS_HXX
-#include "FieldControls.hxx"
-#endif
-#ifndef _ZFORLIST_HXX //autogen
-#define _ZFORLIST_DECLARE_TABLE // ohne das bekomme ich einen Compiler-Fehler in <svtools/zforlist.hxx>
-#include <svtools/zforlist.hxx>
-#endif
-#ifndef _TOOLS_DEBUG_HXX
-#include <tools/debug.hxx>
-#endif
-#ifndef DBAUI_TABLEDESIGNHELPBAR_HXX
-#include "TableDesignHelpBar.hxx"
-#endif
-#ifndef _SV_SCRBAR_HXX
-#include <vcl/scrbar.hxx>
-#endif
-#ifndef _SV_BUTTON_HXX
-#include <vcl/button.hxx>
-#endif
-#ifndef _SVX_NUMFMTSH_HXX
-#include <svx/numfmtsh.hxx>
-#endif
-#ifndef _DBU_CONTROL_HRC_
-#include "dbu_control.hrc"
-#endif
-#ifndef _DBU_TBL_HRC_
-#include "dbu_tbl.hrc"
-#endif
-
-#ifndef _SV_SVAPP_HXX
-#include <vcl/svapp.hxx>
-#endif
-#ifndef _SV_FIXED_HXX
-#include <vcl/fixed.hxx>
-#endif
-#ifndef _SV_MSGBOX_HXX
-#include <vcl/msgbox.hxx>
-#endif
-#ifndef _VECTOR_
-#include <vector>
-#endif
-#ifndef DBAUI_FIELDDESCRIPTIONS_HXX
-#include "FieldDescriptions.hxx"
-#endif
-#ifndef _SFXITEMPOOL_HXX
-#include <svtools/itempool.hxx>
-#endif
-#ifndef DBAUI_SBATTRDLG_HXX
-#include "dlgattr.hxx"
-#endif
-#ifndef _SVX_SVXIDS_HRC
-#include <svx/svxids.hrc>
-#endif
-#ifndef _SVX_ALGITEM_HXX
-#include <svx/algitem.hxx>
-#endif
-#ifndef _SFXRNGITEM_HXX
-#include <svtools/rngitem.hxx>
-#endif
-#ifndef _SFXINTITEM_HXX
-#include <svtools/intitem.hxx>
-#endif
-#ifndef _COM_SUN_STAR_LANG_XUNOTUNNEL_HPP_
-#include <com/sun/star/lang/XUnoTunnel.hpp>
-#endif
-#ifndef _COM_SUN_STAR_UTIL_NUMBERFORMAT_HPP_
-#include <com/sun/star/util/NumberFormat.hpp>
-#endif
-#ifndef _COM_SUN_STAR_UTIL_XNUMBERFORMATPREVIEWER_HPP_
-#include <com/sun/star/util/XNumberFormatPreviewer.hpp>
-#endif
-#ifndef _COM_SUN_STAR_UTIL_XNUMBERFORMATTYPES_HPP_
-#include <com/sun/star/util/XNumberFormatTypes.hpp>
-#endif
-#ifndef _COM_SUN_STAR_BEANS_XPROPERTYSET_HPP_
-#include <com/sun/star/beans/XPropertySet.hpp>
-#endif
-#ifndef DBAUI_ENUMTYPES_HXX
-#include "QEnumTypes.hxx"
-#endif
-#ifndef _DBA_DBACCESS_HELPID_HRC_
-#include "dbaccess_helpid.hrc"
-#endif
-#ifndef _NUMUNO_HXX
-#include <svtools/numuno.hxx>
-#endif
-#ifndef _CONNECTIVITY_DBTOOLS_HXX_
-#include <connectivity/dbtools.hxx>
-#endif
-#ifndef _COMPHELPER_NUMBERS_HXX_
-#include <comphelper/numbers.hxx>
-#endif
-#ifndef DBAUI_TOOLS_HXX
-#include "UITools.hxx"
-#endif
-#include <memory>
-#ifndef _DBHELPER_DBCONVERSION_HXX_
-#include <connectivity/dbconversion.hxx>
-#endif
-#ifndef _TRANSFER_HXX
-#include <svtools/transfer.hxx>
-#endif
-
-using namespace dbaui;
-using namespace dbtools;
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::beans;
-using namespace ::com::sun::star::lang;
-using namespace ::com::sun::star::sdbc;
-using namespace ::com::sun::star::util;
-
-//==================================================================
-
-// fuer die Controls auf der OFieldDescGenPage
-#define CONTROL_SPACING_X 18 // 6
-#define CONTROL_SPACING_Y 4
-#define CONTROL_HEIGHT 10
-#define CONTROL_WIDTH_1 160 // 100
-#define CONTROL_WIDTH_2 100 // 60
-#define CONTROL_WIDTH_3 250
-#define CONTROL_WIDTH_4 (CONTROL_WIDTH_3 - 20 - 5)
-
-#define SBA_DEF_RANGEFORMAT (100 + 143) // RangeItem
-#define SBA_DEF_FMTVALUE (100 + 144) // SfxULONG, Format
-#define SBA_ATTR_ALIGN_HOR_JUSTIFY (100 + 145) // SvxHorJustifyItem
-
-#define HSCROLL_STEP 20
-
-
-namespace
-{
- // -----------------------------------------------------------------------------
- double checkDoubleForDateFormat(double _nValue,sal_Int32 _nFormatKey,const Reference< ::com::sun::star::util::XNumberFormatter>& _xNumberFormatter)
- {
- double nValue = _nValue;
- sal_Int32 nNumberFormat = ::comphelper::getNumberFormatType(_xNumberFormatter,_nFormatKey);
- if( (nNumberFormat & ::com::sun::star::util::NumberFormat::DATE) == ::com::sun::star::util::NumberFormat::DATE
- || (nNumberFormat & ::com::sun::star::util::NumberFormat::DATETIME) == ::com::sun::star::util::NumberFormat::DATETIME )
- {
- nValue = DBTypeConversion::toStandardDbDate(DBTypeConversion::getNULLDate(_xNumberFormatter->getNumberFormatsSupplier()),nValue);
- }
-
- return nValue;
- }
- // -----------------------------------------------------------------------------
-}
-
-//==================================================================
-// class OFieldDescControl
-//==================================================================
-
-DBG_NAME(OFieldDescControl)
-
-//==================================================================
-OFieldDescControl::OFieldDescControl( Window* pParent, const ResId& rResId, OTableDesignHelpBar* pHelpBar)
- :TabPage( pParent, rResId )
- ,pHelp( pHelpBar )
- ,pLastFocusWindow(NULL)
- ,m_pActFocusWindow(NULL)
- ,pDefaultText(NULL)
- ,pRequiredText(NULL)
- ,pAutoIncrementText(NULL)
- ,pTextLenText(NULL)
- ,pNumTypeText(NULL)
- ,pLengthText(NULL)
- ,pScaleText(NULL)
- ,pFormatText(NULL)
- ,pBoolDefaultText(NULL)
- ,m_pColumnNameText(NULL)
- ,m_pTypeText(NULL)
- ,m_pAutoIncrementValueText(NULL)
- ,pRequired(NULL)
- ,pNumType(NULL)
- ,pAutoIncrement(NULL)
- ,pDefault(NULL)
- ,pTextLen(NULL)
- ,pLength(NULL)
- ,pScale(NULL)
- ,pFormatSample(NULL)
- ,pBoolDefault(NULL)
- ,m_pColumnName(NULL)
- ,m_pType(NULL)
- ,m_pAutoIncrementValue(NULL)
- ,pFormat(NULL)
- ,m_pVertScroll( NULL )
- ,m_pHorzScroll( NULL )
- ,m_pPreviousType()
- ,nCurChildId(1)
- ,m_nPos(-1)
- ,aYes(ModuleRes(STR_VALUE_YES))
- ,aNo(ModuleRes(STR_VALUE_NO))
- ,m_nOldVThumb( 0 )
- ,m_nOldHThumb( 0 )
- ,m_nWidth(50)
- ,nDelayedGrabFocusEvent(0)
- ,m_bAdded(sal_False)
- ,m_bRightAligned(false)
- ,pActFieldDescr(NULL)
-{
- DBG_CTOR(OFieldDescControl,NULL);
-
- m_pVertScroll = new ScrollBar(this, WB_VSCROLL | WB_REPEAT | WB_DRAG);
- m_pHorzScroll = new ScrollBar(this, WB_HSCROLL | WB_REPEAT | WB_DRAG);
- m_pVertScroll->SetScrollHdl(LINK(this, OFieldDescControl, OnScroll));
- m_pHorzScroll->SetScrollHdl(LINK(this, OFieldDescControl, OnScroll));
- m_pVertScroll->Show();
- m_pHorzScroll->Show();
-
- m_pVertScroll->EnableClipSiblings();
- m_pHorzScroll->EnableClipSiblings();
-
- m_pVertScroll->SetLineSize(1);
- m_pVertScroll->SetPageSize(1);
- m_pHorzScroll->SetLineSize(1);
- m_pHorzScroll->SetPageSize(1);
-
- m_nOldVThumb = m_nOldHThumb = 0;
-}
-//------------------------------------------------------------------------------
-OFieldDescControl::OFieldDescControl( Window* pParent, OTableDesignHelpBar* pHelpBar )
- :TabPage( pParent, WB_3DLOOK | WB_DIALOGCONTROL )
- ,pHelp( pHelpBar )
- ,pLastFocusWindow(NULL)
- ,m_pActFocusWindow(NULL)
- ,pDefaultText(NULL)
- ,pRequiredText(NULL)
- ,pAutoIncrementText(NULL)
- ,pTextLenText(NULL)
- ,pNumTypeText(NULL)
- ,pLengthText(NULL)
- ,pScaleText(NULL)
- ,pFormatText(NULL)
- ,pBoolDefaultText(NULL)
- ,m_pColumnNameText(NULL)
- ,m_pTypeText(NULL)
- ,m_pAutoIncrementValueText(NULL)
- ,pRequired(NULL)
- ,pNumType(NULL)
- ,pAutoIncrement(NULL)
- ,pDefault(NULL)
- ,pTextLen(NULL)
- ,pLength(NULL)
- ,pScale(NULL)
- ,pFormatSample(NULL)
- ,pBoolDefault(NULL)
- ,m_pColumnName(NULL)
- ,m_pType(NULL)
- ,m_pAutoIncrementValue(NULL)
- ,pFormat(NULL)
- ,m_pVertScroll( NULL )
- ,m_pHorzScroll( NULL )
- ,m_pPreviousType()
- ,nCurChildId(1)
- ,m_nPos(-1)
- ,aYes(ModuleRes(STR_VALUE_YES))
- ,aNo(ModuleRes(STR_VALUE_NO))
- ,m_nOldVThumb( 0 )
- ,m_nOldHThumb( 0 )
- ,m_nWidth(50)
- ,nDelayedGrabFocusEvent(0)
- ,m_bAdded(sal_False)
- ,m_bRightAligned(false)
- ,pActFieldDescr(NULL)
-{
- DBG_CTOR(OFieldDescControl,NULL);
-
- m_pVertScroll = new ScrollBar(this, WB_VSCROLL | WB_REPEAT | WB_DRAG);
- m_pHorzScroll = new ScrollBar(this, WB_HSCROLL | WB_REPEAT | WB_DRAG);
- m_pVertScroll->SetScrollHdl(LINK(this, OFieldDescControl, OnScroll));
- m_pHorzScroll->SetScrollHdl(LINK(this, OFieldDescControl, OnScroll));
- m_pVertScroll->Show();
- m_pHorzScroll->Show();
-
- m_pVertScroll->EnableClipSiblings();
- m_pHorzScroll->EnableClipSiblings();
-
- m_pVertScroll->SetLineSize(1);
- m_pVertScroll->SetPageSize(1);
- m_pHorzScroll->SetLineSize(1);
- m_pHorzScroll->SetPageSize(1);
-
- m_nOldVThumb = m_nOldHThumb = 0;
-
-}
-
-//------------------------------------------------------------------------------
-OFieldDescControl::~OFieldDescControl()
-{
- DBG_DTOR(OFieldDescControl,NULL);
-
- {
- ::std::auto_ptr<Window> aTemp(m_pVertScroll);
- m_pVertScroll = NULL;
- }
- {
- ::std::auto_ptr<Window> aTemp(m_pHorzScroll);
- m_pHorzScroll = NULL;
- }
- if ( m_bAdded )
- ::dbaui::notifySystemWindow(this,this,::comphelper::mem_fun(&TaskPaneList::RemoveWindow));
- pLastFocusWindow = NULL;
-
- //////////////////////////////////////////////////////////////////////
- // Childs zerstoeren
- DeactivateAggregate( tpDefault );
- DeactivateAggregate( tpRequired );
- DeactivateAggregate( tpTextLen );
- DeactivateAggregate( tpNumType );
- DeactivateAggregate( tpScale );
- DeactivateAggregate( tpLength );
- DeactivateAggregate( tpFormat );
- DeactivateAggregate( tpAutoIncrement );
- DeactivateAggregate( tpBoolDefault );
- DeactivateAggregate( tpColumnName );
- DeactivateAggregate( tpType );
- DeactivateAggregate( tpAutoIncrementValue );
-
- if(nDelayedGrabFocusEvent)
- Application::RemoveUserEvent(nDelayedGrabFocusEvent);
-}
-
-//------------------------------------------------------------------------------
-String OFieldDescControl::BoolStringPersistent(const String& rUIString) const
-{
- static String aZero('0');
- static String aOne('1');
-
- if (rUIString == aNo)
- return aZero;
- if (rUIString == aYes)
- return aOne;
- return String();
-}
-
-//------------------------------------------------------------------------------
-String OFieldDescControl::BoolStringUI(const String& rPersistentString) const
-{
- static String aZero('0');
- static String aOne('1');
- static String aNone(ModuleRes(STR_VALUE_NONE));
-
- // FS - 66161 - 14.05.1999 - aeltere Versionen haben eventuell einen sprachabhaengigen String als Default gespeichert
- if (rPersistentString.Equals(aYes) || rPersistentString.Equals(aNo))
- return rPersistentString;
-
- if (rPersistentString == aZero)
- return aNo;
- if (rPersistentString == aOne)
- return aYes;
-
- return aNone;
-}
-
-//------------------------------------------------------------------------------
-void OFieldDescControl::Init()
-{
- Reference< ::com::sun::star::util::XNumberFormatter > xFormatter = GetFormatter();
- ::dbaui::setEvalDateFormatForFormatter(xFormatter);
-}
-
-//------------------------------------------------------------------------------
-IMPL_LINK(OFieldDescControl, OnScroll, ScrollBar*, /*pBar*/)
-{
- ScrollAllAggregates();
- return 0;
-}
-// -----------------------------------------------------------------------------
-namespace
-{
- void getMaxXPosition(Window* _pWindow,long& _rnMaxXPosition)
- {
- if (_pWindow)
- {
- long nTemp = _pWindow->GetSizePixel().Width() + _pWindow->GetPosPixel().X();
- _rnMaxXPosition = ::std::max(_rnMaxXPosition, nTemp);
- }
- }
-}
-//------------------------------------------------------------------------------
-void OFieldDescControl::CheckScrollBars()
-{
- // ein paar Berechnungen zur neuen Position der ScrollBars
- Size szOverallSize = GetSizePixel();
- long nHScrollHeight = m_pHorzScroll->GetSizePixel().Height();
- long nVScrollWidth = m_pVertScroll->GetSizePixel().Width();
-
- long nNewHWidth = szOverallSize.Width() - nVScrollWidth;
- long nNewVHeight = szOverallSize.Height() - nHScrollHeight;
-
- sal_Bool bNeedHScrollBar(sal_False), bNeedVScrollBar(sal_False);
-
- // die Bereiche anpassen
- // brauche ich ScrollBars eigentlich ?
- // horizontal :
- long lMaxXPosition = 0;
- Control* ppAggregates[] = { pRequired, pNumType, pAutoIncrement, pDefault, pTextLen, pLength, pScale, pFormat, m_pColumnName, m_pType,m_pAutoIncrementValue};
- for (sal_uInt16 i=0; i<sizeof(ppAggregates)/sizeof(ppAggregates[0]); ++i)
- getMaxXPosition(ppAggregates[i],lMaxXPosition);
-
- if (m_pHorzScroll)
- lMaxXPosition += m_pHorzScroll->GetThumbPos() * HSCROLL_STEP;
-
- long lMaxXAvailable = szOverallSize.Width();
- bNeedHScrollBar = lMaxXPosition > lMaxXAvailable;
- // aendert sich vielleicht noch
-
- // vertikal
- // wieviel Controls habe ich
- sal_uInt16 nActive = CountActiveAggregates();
- // welches ist das letzte, was ganz drauf passt ?
- sal_uInt16 nLastVisible;
- const sal_Int32 nControlHeight = LogicToPixel(Size(0, CONTROL_HEIGHT),MAP_APPFONT).Height();
- const sal_Int32 nControl_Spacing_y = LogicToPixel(Size(0, CONTROL_SPACING_Y),MAP_APPFONT).Height();
- if (bNeedHScrollBar)
- nLastVisible = static_cast<sal_uInt16>((szOverallSize.Height() - nControl_Spacing_y - nHScrollHeight) / (nControl_Spacing_y + nControlHeight));
- else
- nLastVisible = static_cast<sal_uInt16>((szOverallSize.Height() - nControl_Spacing_y) / (nControl_Spacing_y + nControlHeight));
- bNeedVScrollBar = nActive>nLastVisible;
-
- if (bNeedVScrollBar)
- {
- // in die urspruengliche Berechnung von lMaxXAvailable ist nicht mit eingegangen, dass ich eine VScrollBar habe, also muss ich
- // das nachholen
- lMaxXAvailable -= nVScrollWidth;
- if (!bNeedHScrollBar && (lMaxXPosition > lMaxXAvailable))
- {
- // durch die vertikale brauche ich jetzt ploetzlich doch eine horizontale
- bNeedHScrollBar = sal_True;
- // nLastVisible anpassen
- nLastVisible = static_cast<sal_uInt16>((szOverallSize.Height() - nControl_Spacing_y - nHScrollHeight) / (nControl_Spacing_y + nControlHeight));
- // bNeedVScrollBar aendert sich nicht : es ist schon auf sal_True und nLastVisible wird hoechstens kleiner
- }
- }
-
- // jetzt kann ich sie wirklich positionieren und ihre Parameter setzen
- if (bNeedVScrollBar)
- {
- m_pVertScroll->Show();
- m_pVertScroll->SetRangeMax(nActive - nLastVisible);
-// m_pVertScroll->SetThumbPos(0);
-
- m_pVertScroll->SetPosSizePixel( Point(nNewHWidth, 0), Size(nVScrollWidth, szOverallSize.Height()) );
- }
- else
- {
- m_pVertScroll->Hide();
- m_pVertScroll->SetRangeMax(0);
- m_pVertScroll->SetThumbPos(0);
- }
-
- if (bNeedHScrollBar)
- {
- m_pHorzScroll->Show();
- m_pHorzScroll->SetRangeMax((lMaxXPosition - lMaxXAvailable + HSCROLL_STEP - 1 )/HSCROLL_STEP);
-// m_pHorzScroll->SetThumbPos(0);
-
- m_pHorzScroll->SetPosSizePixel( Point(0, nNewVHeight), Size(bNeedVScrollBar ? nNewHWidth : szOverallSize.Width(), nHScrollHeight) );
- }
- else
- {
- m_pHorzScroll->Hide();
- m_pHorzScroll->SetRangeMax(0);
- m_pHorzScroll->SetThumbPos(0);
- }
-}
-
-//------------------------------------------------------------------------------
-void OFieldDescControl::Resize()
-{
- CheckScrollBars();
- ScrollAllAggregates();
-}
-
-//------------------------------------------------------------------------------
-inline void OFieldDescControl::ScrollAggregate(Control* pText, Control* pInput, Control* pButton, long nDeltaX, long nDeltaY)
-{
- if (!pText)
- return;
- pText->SetPosPixel(pText->GetPosPixel() + Point(nDeltaX, nDeltaY));
- pInput->SetPosPixel(pInput->GetPosPixel() + Point(nDeltaX, nDeltaY));
- if (pButton)
- pButton->SetPosPixel(pButton->GetPosPixel() + Point(nDeltaX, nDeltaY));
-}
-
-//------------------------------------------------------------------------------
-void OFieldDescControl::ScrollAllAggregates()
-{
- long nDeltaX = 0, nDeltaY = 0;
- if (m_nOldHThumb != m_pHorzScroll->GetThumbPos())
- {
- nDeltaX = (m_nOldHThumb - m_pHorzScroll->GetThumbPos()) * HSCROLL_STEP;
- m_nOldHThumb = m_pHorzScroll->GetThumbPos();
- }
-
- if (m_nOldVThumb != m_pVertScroll->GetThumbPos())
- {
- const sal_Int32 nControlHeight = LogicToPixel(Size(0, CONTROL_HEIGHT),MAP_APPFONT).Height();
- const sal_Int32 nControl_Spacing_y = LogicToPixel(Size(0, CONTROL_SPACING_Y),MAP_APPFONT).Height();
- nDeltaY = (m_nOldVThumb - m_pVertScroll->GetThumbPos()) * (nControl_Spacing_y + nControlHeight);
- m_nOldVThumb = m_pVertScroll->GetThumbPos();
- }
-
- if (nDeltaX || nDeltaY)
- {
- Control* ppAggregates[] = { pRequired, pNumType
- , pAutoIncrement, pDefault
- , pTextLen, pLength
- , pScale, m_pColumnName
- , m_pType, m_pAutoIncrementValue};
- Control* ppAggregatesText[] = { pRequiredText, pNumTypeText
- , pAutoIncrementText, pDefaultText
- , pTextLenText, pLengthText
- , pScaleText, m_pColumnNameText
- , m_pTypeText, m_pAutoIncrementValueText};
- OSL_ENSURE(sizeof(ppAggregates)/sizeof(ppAggregates[0]) == sizeof(ppAggregatesText)/sizeof(ppAggregatesText[0]),"Lists are not identical!");
-
- for (sal_uInt16 i=0; i<sizeof(ppAggregates)/sizeof(ppAggregates[0]); ++i)
- ScrollAggregate(ppAggregatesText[i],ppAggregates[i],NULL,nDeltaX, nDeltaY);
-
- ScrollAggregate(pFormatText,pFormatSample,pFormat,nDeltaX, nDeltaY);
- }
-}
-
-//------------------------------------------------------------------------------
-sal_uInt16 OFieldDescControl::CountActiveAggregates() const
-{
- Control* ppAggregates[] = { pRequired, pNumType, pAutoIncrement, pDefault, pTextLen, pLength, pScale, pFormat, m_pColumnName, m_pType,m_pAutoIncrementValue};
- sal_uInt16 nVisibleAggregates = 0;
- for (sal_uInt16 i=0; i<sizeof(ppAggregates)/sizeof(ppAggregates[0]); ++i)
- if (ppAggregates[i])
- ++nVisibleAggregates;
- return nVisibleAggregates;
-}
-
-//------------------------------------------------------------------------------
-void OFieldDescControl::SetReadOnly( sal_Bool bReadOnly )
-{
- DBG_CHKTHIS(OFieldDescControl,NULL);
- //////////////////////////////////////////////////////////////////////
- // Controls enablen/disablen
- Control* ppAggregates[] = { pRequired, pNumType
- , pAutoIncrement, pDefault
- , pTextLen, pLength
- , pScale, m_pColumnName
- , m_pType, m_pAutoIncrementValue
- , pFormat};
- Control* ppAggregatesText[] = { pRequiredText, pNumTypeText
- , pAutoIncrementText, pDefaultText
- , pTextLenText, pLengthText
- , pScaleText, m_pColumnNameText
- , m_pTypeText, m_pAutoIncrementValueText
- , pFormatText};
-
- OSL_ENSURE(sizeof(ppAggregates)/sizeof(ppAggregates[0]) == sizeof(ppAggregatesText)/sizeof(ppAggregatesText[0]),"Lists are not identical!");
-
- for (sal_uInt16 i=0; i<sizeof(ppAggregates)/sizeof(ppAggregates[0]); ++i)
- {
- if ( ppAggregatesText[i] )
- ppAggregatesText[i]->Enable( !bReadOnly );
- if ( ppAggregates[i] )
- ppAggregates[i]->Enable( !bReadOnly );
- }
-}
-
-//------------------------------------------------------------------------------
-String OFieldDescControl::GetControlText( sal_uInt16 nControlId )
-{
- DBG_CHKTHIS(OFieldDescControl,NULL);
- //////////////////////////////////////////////////////////////////////
- // Texte der Controls auslesen
- switch( nControlId )
- {
- case FIELD_PROPERTY_BOOL_DEFAULT:
- if (pBoolDefault)
- return pBoolDefault->GetSelectEntry();
- break;
- case FIELD_PROPERTY_DEFAULT:
- if (pDefault)
- return pDefault->GetText();
- break;
- case FIELD_PROPERTY_REQUIRED:
- if (pRequired)
- return pRequired->GetSelectEntry();
- break;
- case FIELD_PROPERTY_TEXTLEN:
- if (pTextLen)
- return String::CreateFromInt64(pTextLen->GetValue());
- case FIELD_PROPERTY_NUMTYPE:
- if (pNumType)
- return pNumType->GetSelectEntry();
- break;
- case FIELD_PROPERTY_AUTOINC:
- if (pAutoIncrement)
- return pAutoIncrement->GetSelectEntry();
- break;
- case FIELD_PROPERTY_LENGTH:
- if (pLength)
- return pLength->GetText();
- break;
- case FIELD_PROPERTY_SCALE:
- if (pScale)
- return pScale->GetText();
- break;
- case FIELD_PROPERTY_FORMAT:
- if (pFormatSample)
- return pFormatSample->GetText();
- break;
- case FIELD_PRPOERTY_COLUMNNAME:
- if(m_pColumnName)
- return m_pColumnName->GetText();
- case FIELD_PRPOERTY_TYPE:
- if(m_pType)
- return m_pType->GetSelectEntry();
- break;
- case FIELD_PRPOERTY_AUTOINCREMENT:
- if(m_pAutoIncrementValue)
- return m_pAutoIncrementValue->GetText();
- }
-
- return String();
-}
-
-//------------------------------------------------------------------------------
-void OFieldDescControl::SetControlText( sal_uInt16 nControlId, const String& rText )
-{
- DBG_CHKTHIS(OFieldDescControl,NULL);
- //////////////////////////////////////////////////////////////////////
- // Texte der Controls setzen
- switch( nControlId )
- {
- case FIELD_PROPERTY_BOOL_DEFAULT:
- if (pBoolDefault)
- {
- String sOld = pBoolDefault->GetSelectEntry();
- pBoolDefault->SelectEntry(rText);
- if (!sOld.Equals(rText))
- LINK(this, OFieldDescControl, ChangeHdl).Call(pBoolDefault);
- }
- break;
- case FIELD_PROPERTY_DEFAULT:
- if (pDefault)
- {
- pDefault->SetText(rText);
- UpdateFormatSample(pActFieldDescr);
- }
- break;
-
- case FIELD_PROPERTY_REQUIRED:
- if (pRequired)
- pRequired->SelectEntry(rText);
- break;
-
-
- case FIELD_PROPERTY_TEXTLEN:
- if (pTextLen)
- pTextLen->SetText(rText);
- break;
-
- case FIELD_PROPERTY_NUMTYPE:
- if (pNumType)
- pNumType->SelectEntry(rText);
- break;
-
- case FIELD_PROPERTY_AUTOINC:
- if (pAutoIncrement)
- {
- String sOld = pAutoIncrement->GetSelectEntry();
- pAutoIncrement->SelectEntry(rText);
- if (!sOld.Equals(rText))
- LINK(this, OFieldDescControl, ChangeHdl).Call(pAutoIncrement);
- }
- break;
-
- case FIELD_PROPERTY_LENGTH:
- if (pLength)
- pLength->SetText(rText);
- break;
-
- case FIELD_PROPERTY_SCALE:
- if (pScale)
- pScale->SetText(rText);
- break;
-
- case FIELD_PROPERTY_FORMAT:
- if (pActFieldDescr)
- UpdateFormatSample(pActFieldDescr);
- break;
- case FIELD_PRPOERTY_COLUMNNAME:
- if(m_pColumnName)
- m_pColumnName->SetText(rText);
- break;
- case FIELD_PRPOERTY_TYPE:
- if(m_pType)
- m_pType->SelectEntry(rText);
- break;
- case FIELD_PRPOERTY_AUTOINCREMENT:
- if(m_pAutoIncrementValue)
- m_pAutoIncrementValue->SetText(rText);
- break;
- }
-}
-
-//------------------------------------------------------------------------
-IMPL_LINK( OFieldDescControl, FormatClickHdl, Button *, /*pButton*/ )
-{
- DBG_CHKTHIS(OFieldDescControl,NULL);
- //////////////////////////////////////////////////////////////////////
- // Temporaere Column erzeugen, mit der Datenaustausch mit Dialog erfolgt
- if( !pActFieldDescr )
- return 0;
-
- sal_Int32 nOldFormatKey(pActFieldDescr->GetFormatKey());
- SvxCellHorJustify rOldJustify = pActFieldDescr->GetHorJustify();
- Reference< XNumberFormatsSupplier > xSupplier = GetFormatter()->getNumberFormatsSupplier();
- SvNumberFormatsSupplierObj* pSupplierImpl = SvNumberFormatsSupplierObj::getImplementation( xSupplier );
-
- SvNumberFormatter* pFormatter = pSupplierImpl->GetNumberFormatter();
- sal_uInt16 nFlags;
- if(::dbaui::callColumnFormatDialog(this,pFormatter,pActFieldDescr->GetType(),nOldFormatKey,rOldJustify,nFlags,sal_True))
- {
- sal_Bool bModified = sal_False;
- if(nOldFormatKey != pActFieldDescr->GetFormatKey())
- {
- pActFieldDescr->SetFormatKey( nOldFormatKey );
- bModified = sal_True;
- }
- if(rOldJustify != pActFieldDescr->GetHorJustify())
- {
- pActFieldDescr->SetHorJustify( rOldJustify );
- bModified = sal_True;
- }
-
- if(bModified)
- {
- SetModified(sal_True);
- UpdateFormatSample(pActFieldDescr);
- }
- }
- return 0;
-}
-
-// -----------------------------------------------------------------------
-void OFieldDescControl::SetModified(sal_Bool /*bModified*/)
-{
-}
-//------------------------------------------------------------------------
-IMPL_LINK( OFieldDescControl, ChangeHdl, ListBox *, pListBox )
-{
- DBG_CHKTHIS(OFieldDescControl,NULL);
- if ( !pActFieldDescr )
- return 0;
-
- if ( pListBox->GetSavedValue() != pListBox->GetSelectEntryPos() )
- SetModified(sal_True);
-
- // Sonderbehandlund f"ur Bool Felder
- if(pListBox == pRequired && pBoolDefault )
- {
- // wenn pRequired auf sal_True gesetzt ist, dann darf das sal_Bool Feld nicht den Eintrag <<keiner>> besitzen
- String sDef = BoolStringUI(::comphelper::getString(pActFieldDescr->GetControlDefault()));
-
- if(pRequired->GetSelectEntryPos() == 0) // JA
- {
- pBoolDefault->RemoveEntry(String(ModuleRes(STR_VALUE_NONE)));
- if (!sDef.Equals(aYes) && !sDef.Equals(aNo))
- pBoolDefault->SelectEntryPos(1); // nein als Default
- else
- pBoolDefault->SelectEntry(sDef);
- }
- else if(pBoolDefault->GetEntryCount() < 3)
- {
- pBoolDefault->InsertEntry(String(ModuleRes(STR_VALUE_NONE)));
- pBoolDefault->SelectEntry(sDef);
- }
- }
-
- // nur fuer AutoIncrement eine Sonderbehandlung
- if (pListBox == pAutoIncrement)
- {
- if(pListBox->GetSelectEntryPos() == 1)
- { // no
- DeactivateAggregate( tpAutoIncrementValue );
- if(pActFieldDescr->IsPrimaryKey())
- DeactivateAggregate( tpRequired );
- else if( pActFieldDescr->getTypeInfo()->bNullable )
- {
- ActivateAggregate( tpRequired );
- if(pRequired)
- {
- if( pActFieldDescr->IsNullable() )
- pRequired->SelectEntryPos( 1 ); // no
- else
- pRequired->SelectEntryPos( 0 ); // yes
- }
- }
- ActivateAggregate( tpDefault );
- }
- else
- {
- DeactivateAggregate( tpRequired );
- DeactivateAggregate( tpDefault );
- ActivateAggregate( tpAutoIncrementValue );
- }
- // und jetzt alle nach oben schieben
- ArrangeAggregates();
- }
-
- if(pListBox == m_pType)
- {
- TOTypeInfoSP pTypeInfo = getTypeInfo(m_pType->GetSelectEntryPos());
- pActFieldDescr->FillFromTypeInfo(pTypeInfo,sal_True,sal_False); // SetType(pTypeInfo);
-
- DisplayData(pActFieldDescr);
- CellModified(-1, m_pType->GetPos());
- }
-
- return 0;
-}
-//------------------------------------------------------------------------------
-// alle Control neu anordnen, so dass sie in fester Reihenfolge und wirklich
-// OBEN auf der DescriptionPage stehen
-void OFieldDescControl::ArrangeAggregates()
-{
- DBG_CHKTHIS(OFieldDescControl,NULL);
- // die Beschreibung eines Controls
- struct AGGREGATE_DESCRIPTION
- {
- Control* pctrlInputControl; // das eigentliche Control zur Eingabe
- Control* pctrlTextControl; // das Label dazu
- USHORT nPosSizeArgument; // das zweite Argument fuer SetPosSize
- };
- AGGREGATE_DESCRIPTION adAggregates[] = {
- { m_pColumnName, m_pColumnNameText, 1},
- { m_pType, m_pTypeText, 1},
- { pAutoIncrement, pAutoIncrementText, 1 },
- { m_pAutoIncrementValue, m_pAutoIncrementValueText, 3 },
- { pNumType, pNumTypeText, 1 },
- { pRequired, pRequiredText, 1 },
- { pTextLen, pTextLenText, 1 },
- { pLength, pLengthText, 1 },
- { pScale, pScaleText, 1 },
- { pDefault, pDefaultText, 3 },
- { pFormatSample, pFormatText, 4 },
- { pBoolDefault, pBoolDefaultText, 1 },
- };
-
- long nMaxWidth = 0;
- for (size_t i=0; i<sizeof(adAggregates)/sizeof(adAggregates[0]); i++)
- {
- if (adAggregates[i].pctrlTextControl)
- {
- nMaxWidth = ::std::max<long>(OutputDevice::GetTextWidth(adAggregates[i].pctrlTextControl->GetText()),nMaxWidth);
- }
- }
-
- OSL_ENSURE(nMaxWidth != 0,"Invalid width!");
-
- // und los ...
- int nCurrentControlPos = 0;
- Control* pZOrderPredecessor = NULL;
- for (size_t i=0; i<sizeof(adAggregates)/sizeof(adAggregates[0]); i++)
- {
- if (adAggregates[i].pctrlInputControl)
- {
- SetPosSize(&adAggregates[i].pctrlTextControl, nCurrentControlPos, 0);
- SetPosSize(&adAggregates[i].pctrlInputControl, nCurrentControlPos, adAggregates[i].nPosSizeArgument);
-
- // die Z-Order so, dass die Controls auch wirklich in derselben Reihenfolge durchwandert werden koennen, in der sie
- // hier angeordnet wurden
- adAggregates[i].pctrlInputControl->SetZOrder(pZOrderPredecessor, pZOrderPredecessor ? WINDOW_ZORDER_BEHIND : WINDOW_ZORDER_FIRST);
- pZOrderPredecessor = adAggregates[i].pctrlInputControl;
-
- if (adAggregates[i].pctrlInputControl == pFormatSample)
- {
- pFormat->SetZOrder(pZOrderPredecessor, WINDOW_ZORDER_BEHIND);
- pZOrderPredecessor = pFormat;
- }
-
- ++nCurrentControlPos;
- }
- }
-
- // eine Sonderbehandlung fuer die Format-Controls
- if (pFormat)
- {
- Point ptSamplePos(pFormatSample->GetPosPixel());
- Size szSampleSize(pFormatSample->GetSizePixel());
- pFormat->SetPosPixel(Point(ptSamplePos.X() + szSampleSize.Width() + 5, ptSamplePos.Y()));
- }
-
- // als letztes noch die ScrollBars in der ZOrder ganz nach oben
- m_pVertScroll->SetZOrder(NULL, WINDOW_ZORDER_FIRST);
- m_pHorzScroll->SetZOrder(NULL, WINDOW_ZORDER_FIRST);
-}
-
-//------------------------------------------------------------------------------
-void OFieldDescControl::ActivateAggregate( EControlType eType )
-{
- DBG_CHKTHIS(OFieldDescControl,NULL);
- //////////////////////////////////////////////////////////////////////
- // Controls erzeugen
- switch( eType )
- {
- case tpDefault:
- if( pDefault )
- return;
- m_nPos++;
- pDefaultText =new FixedText( this );
- pDefaultText->SetText( ModuleRes(STR_DEFAULT_VALUE) );
- pDefault = new OPropEditCtrl( this, STR_HELP_DEFAULT_VALUE, FIELD_PROPERTY_DEFAULT, WB_BORDER );
- pDefault->SetHelpId(HID_TAB_ENT_DEFAULT);
- // SetPosSize( (Control**)&pDefaultText, m_nPos, 0 );
- // SetPosSize( (Control**)&pDefault, m_nPos, 3 );
-
- pDefault->SetGetFocusHdl(LINK(this, OFieldDescControl, OnControlFocusGot));
- pDefault->SetLoseFocusHdl(LINK(this, OFieldDescControl, OnControlFocusLost));
-
- pDefaultText->EnableClipSiblings();
- pDefault->EnableClipSiblings();
- break;
- case tpAutoIncrementValue:
- if( m_pAutoIncrementValue || !isAutoIncrementValueEnabled() )
- return;
- m_nPos++;
- m_pAutoIncrementValueText =new FixedText( this );
- m_pAutoIncrementValueText->SetText( ModuleRes(STR_AUTOINCREMENT_VALUE) );
- m_pAutoIncrementValue = new OPropEditCtrl( this, STR_HELP_AUTOINCREMENT_VALUE, FIELD_PRPOERTY_AUTOINCREMENT, WB_BORDER );
- m_pAutoIncrementValue->SetHelpId(HID_TAB_AUTOINCREMENTVALUE);
- // SetPosSize( (Control**)&m_pAutoIncrementValueText, m_nPos, 0 );
- // SetPosSize( (Control**)&m_pAutoIncrementValue, m_nPos, 3 );
-
- m_pAutoIncrementValue->SetGetFocusHdl(LINK(this, OFieldDescControl, OnControlFocusGot));
- m_pAutoIncrementValue->SetLoseFocusHdl(LINK(this, OFieldDescControl, OnControlFocusLost));
-
- m_pAutoIncrementValueText->EnableClipSiblings();
- m_pAutoIncrementValue->EnableClipSiblings();
- m_pAutoIncrementValue->SetText( getAutoIncrementValue() );
- break;
-
- case tpRequired:
- {
- if( pRequired )
- return;
- Reference< XDatabaseMetaData> xMetaData = getMetaData();
-
- if(xMetaData.is() && xMetaData->supportsNonNullableColumns())
- {
- m_nPos++;
- pRequiredText =new FixedText( this );
- pRequiredText->SetText( ModuleRes(STR_FIELD_REQUIRED) );
- pRequired = new OPropListBoxCtrl( this, STR_HELP_FIELD_REQUIRED, FIELD_PROPERTY_REQUIRED, WB_DROPDOWN);
- pRequired->SetHelpId(HID_TAB_ENT_REQUIRED);
-
- pRequired->InsertEntry( aYes );
- pRequired->InsertEntry( aNo );
- pRequired->SelectEntryPos(1);
- pRequired->SetSelectHdl(LINK(this,OFieldDescControl,ChangeHdl));
-
- pRequired->SetGetFocusHdl(LINK(this, OFieldDescControl, OnControlFocusGot));
- pRequired->SetLoseFocusHdl(LINK(this, OFieldDescControl, OnControlFocusLost));
-
- pRequiredText->EnableClipSiblings();
- pRequired->EnableClipSiblings();
- }
- }
- break;
- case tpAutoIncrement:
- {
- if( pAutoIncrement )
- return;
- m_nPos++;
- pAutoIncrementText =new FixedText( this );
- pAutoIncrementText->SetText( ModuleRes(STR_FIELD_AUTOINCREMENT) );
- pAutoIncrement = new OPropListBoxCtrl( this, STR_HELP_AUTOINCREMENT, FIELD_PROPERTY_AUTOINC, WB_DROPDOWN );
- pAutoIncrement->SetHelpId(HID_TAB_ENT_AUTOINCREMENT);
-
- pAutoIncrement->InsertEntry( aYes );
- pAutoIncrement->InsertEntry( aNo );
- pAutoIncrement->SelectEntryPos(0);
- pAutoIncrement->SetSelectHdl(LINK(this,OFieldDescControl,ChangeHdl));
-
- pAutoIncrement->SetGetFocusHdl(LINK(this, OFieldDescControl, OnControlFocusGot));
- pAutoIncrement->SetLoseFocusHdl(LINK(this, OFieldDescControl, OnControlFocusLost));
-
- pAutoIncrementText->EnableClipSiblings();
- pAutoIncrement->EnableClipSiblings();
- }
- break;
- case tpTextLen:
- if( pTextLen )
- return;
- m_nPos++;
- pTextLenText =new FixedText( this );
- pTextLenText->SetText( ModuleRes(STR_TEXT_LENGTH) );
-
- pTextLen = new OPropNumericEditCtrl( this, STR_HELP_TEXT_LENGTH, FIELD_PROPERTY_TEXTLEN, WB_BORDER );
- pTextLen->SetDecimalDigits(0);
- pTextLen->SetMin(0);
- pTextLen->SetMax(0x7FFFFFFF); // soll draussen geaendert werden, wenn noetig
- pTextLen->SetStrictFormat(TRUE);
-
- pTextLen->SetHelpId(HID_TAB_ENT_TEXT_LEN);
-
- pTextLen->SetGetFocusHdl(LINK(this, OFieldDescControl, OnControlFocusGot));
- pTextLen->SetLoseFocusHdl(LINK(this, OFieldDescControl, OnControlFocusLost));
-
- pTextLenText->EnableClipSiblings();
- pTextLen->EnableClipSiblings();
- break;
-
- case tpType:
- if( m_pType)
- return;
- m_nPos++;
- m_pTypeText =new FixedText( this );
- m_pTypeText->SetText( ModuleRes(STR_TAB_FIELD_DATATYPE) );
- m_pType = new OPropListBoxCtrl( this, STR_HELP_AUTOINCREMENT, FIELD_PRPOERTY_TYPE, WB_DROPDOWN );
- m_pType->SetHelpId(HID_TAB_ENT_TYPE);
- m_pType->SetDropDownLineCount(20);
- {
- const OTypeInfoMap* pTypeInfo = getTypeInfo();
- OTypeInfoMap::const_iterator aIter = pTypeInfo->begin();
- for(;aIter != pTypeInfo->end();++aIter)
- m_pType->InsertEntry( aIter->second->aUIName );
- }
- m_pType->SelectEntryPos(0);
- m_pType->SetSelectHdl(LINK(this,OFieldDescControl,ChangeHdl));
-
- m_pType->SetGetFocusHdl(LINK(this, OFieldDescControl, OnControlFocusGot));
- m_pType->SetLoseFocusHdl(LINK(this, OFieldDescControl, OnControlFocusLost));
-
- m_pTypeText->EnableClipSiblings();
- m_pType->EnableClipSiblings();
- break;
- case tpColumnName:
- if( m_pColumnName )
- return;
- m_nPos++;
- {
- Reference< XDatabaseMetaData> xMetaData = getMetaData();
- sal_uInt32 nMax = xMetaData.is() ? xMetaData->getMaxColumnNameLength() : EDIT_NOLIMIT;
- m_pColumnNameText =new FixedText( this );
- m_pColumnNameText->SetText( ModuleRes(STR_TAB_FIELD_NAME) );
- ::rtl::OUString aTmpString( xMetaData.is() ? xMetaData->getExtraNameCharacters() : ::rtl::OUString() );
- m_pColumnName = new OPropColumnEditCtrl( this,
- aTmpString,
- STR_HELP_DEFAULT_VALUE,
- FIELD_PRPOERTY_COLUMNNAME,
- WB_BORDER );
- m_pColumnName->SetHelpId(HID_TAB_ENT_COLUMNNAME);
- m_pColumnName->SetMaxTextLen(xub_StrLen( nMax ? nMax : EDIT_NOLIMIT));
- m_pColumnName->setCheck( isSQL92CheckEnabled(getConnection()) );
- }
-
- m_pColumnName->SetGetFocusHdl(LINK(this, OFieldDescControl, OnControlFocusGot));
- m_pColumnName->SetLoseFocusHdl(LINK(this, OFieldDescControl, OnControlFocusLost));
-
- m_pColumnNameText->EnableClipSiblings();
- m_pColumnName->EnableClipSiblings();
- break;
- case tpNumType:
- if( pNumType )
- return;
- m_nPos++;
- pNumTypeText =new FixedText( this );
- pNumTypeText->SetText( ModuleRes(STR_NUMERIC_TYPE) );
-
- pNumType = new OPropListBoxCtrl( this, STR_HELP_NUMERIC_TYPE, FIELD_PROPERTY_NUMTYPE, WB_DROPDOWN );
- pNumType->SetDropDownLineCount(5);
- pNumType->SetHelpId(HID_TAB_ENT_NUMTYP);
-
- pNumType->InsertEntry( String::CreateFromAscii("Byte") );
- pNumType->InsertEntry( String::CreateFromAscii("SmallInt") );
- pNumType->InsertEntry( String::CreateFromAscii("Integer") );
- pNumType->InsertEntry( String::CreateFromAscii("Single") );
- pNumType->InsertEntry( String::CreateFromAscii("Double") );
- pNumType->SelectEntryPos(2);
- pNumType->SetSelectHdl(LINK(this,OFieldDescControl,ChangeHdl));
-
- pNumType->SetGetFocusHdl(LINK(this, OFieldDescControl, OnControlFocusGot));
- pNumType->SetLoseFocusHdl(LINK(this, OFieldDescControl, OnControlFocusLost));
-
- pNumTypeText->EnableClipSiblings();
- pNumType->EnableClipSiblings();
- break;
-
- case tpLength:
- if( pLength )
- return;
- m_nPos++;
- pLengthText =new FixedText( this );
- pLengthText->SetText( ModuleRes(STR_LENGTH) );
-
- pLength = new OPropNumericEditCtrl( this, STR_HELP_LENGTH, FIELD_PROPERTY_LENGTH, WB_BORDER );
- pLength->SetDecimalDigits(0);
- pLength->SetMin(0);
- pLength->SetMax(0x7FFFFFFF); // soll draussen geaendert werden, wenn noetig
- pLength->SetStrictFormat(TRUE);
-
- pLength->SetHelpId(HID_TAB_ENT_LEN);
-
- pLength->SetGetFocusHdl(LINK(this, OFieldDescControl, OnControlFocusGot));
- pLength->SetLoseFocusHdl(LINK(this, OFieldDescControl, OnControlFocusLost));
-
- pLengthText->EnableClipSiblings();
- pLength->EnableClipSiblings();
- break;
-
- case tpScale:
- if( pScale )
- return;
- m_nPos++;
- pScaleText =new FixedText( this );
- pScaleText->SetText( ModuleRes(STR_SCALE) );
- pScale = new OPropNumericEditCtrl( this, STR_HELP_SCALE, FIELD_PROPERTY_SCALE, WB_BORDER );
- pScale->SetDecimalDigits(0);
- pScale->SetMin(0);
- pScale->SetMax(0x7FFFFFFF); // soll draussen geaendert werden, wenn noetig
- pScale->SetStrictFormat(TRUE);
-
- pScale->SetHelpId(HID_TAB_ENT_SCALE);
-
- pScale->SetGetFocusHdl(LINK(this, OFieldDescControl, OnControlFocusGot));
- pScale->SetLoseFocusHdl(LINK(this, OFieldDescControl, OnControlFocusLost));
-
- pScaleText->EnableClipSiblings();
- pScale->EnableClipSiblings();
- break;
-
- case tpFormat:
- if (!pFormat)
- {
- m_nPos++;
- pFormatText =new FixedText( this );
- pFormatText->SetText( ModuleRes(STR_FORMAT) );
-
- pFormatSample = new OPropEditCtrl( this, STR_HELP_FORMAT_CODE, -1, WB_BORDER );
- pFormatSample->SetHelpId(HID_TAB_ENT_FORMAT_SAMPLE);
- pFormatSample->SetReadOnly(sal_True);
- pFormatSample->Enable(sal_False);
-
- pFormat = new PushButton( this, ModuleRes(PB_FORMAT) );
- pFormat->SetHelpId(HID_TAB_ENT_FORMAT);
- const sal_Int32 nControlHeight = LogicToPixel(Size(0, CONTROL_HEIGHT),MAP_APPFONT).Height();
- pFormat->SetSizePixel(Size(nControlHeight, nControlHeight));
- pFormat->SetClickHdl( LINK( this, OFieldDescControl, FormatClickHdl ) );
-
- pFormatSample->SetGetFocusHdl(LINK(this, OFieldDescControl, OnControlFocusGot));
- pFormatSample->SetLoseFocusHdl(LINK(this, OFieldDescControl, OnControlFocusLost));
- pFormat->SetGetFocusHdl(LINK(this, OFieldDescControl, OnControlFocusGot));
- pFormat->SetLoseFocusHdl(LINK(this, OFieldDescControl, OnControlFocusLost));
-
- pFormatText->EnableClipSiblings();
- pFormatSample->EnableClipSiblings();
- pFormat->EnableClipSiblings();
- }
-
- UpdateFormatSample(pActFieldDescr);
- break;
- case tpBoolDefault:
- if (pBoolDefault)
- return;
-
- m_nPos++;
- pBoolDefaultText =new FixedText(this);
- pBoolDefaultText->SetText(ModuleRes(STR_DEFAULT_VALUE));
- pBoolDefault = new OPropListBoxCtrl( this, STR_HELP_BOOL_DEFAULT, FIELD_PROPERTY_BOOL_DEFAULT, WB_DROPDOWN );
- pBoolDefault->SetDropDownLineCount(3);
- pBoolDefault->InsertEntry(String(ModuleRes(STR_VALUE_NONE)));
- pBoolDefault->InsertEntry(aYes);
- pBoolDefault->InsertEntry(aNo);
- pBoolDefault->SetHelpId(HID_TAB_ENT_BOOL_DEFAULT);
-
- pBoolDefault->SetGetFocusHdl(LINK(this, OFieldDescControl, OnControlFocusGot));
- pBoolDefault->SetLoseFocusHdl(LINK(this, OFieldDescControl, OnControlFocusLost));
-
- pBoolDefaultText->EnableClipSiblings();
- pBoolDefault->EnableClipSiblings();
- break;
-
- }
-}
-
-//------------------------------------------------------------------------------
-void OFieldDescControl::DeactivateAggregate( EControlType eType )
-{
- DBG_CHKTHIS(OFieldDescControl,NULL);
- pLastFocusWindow = NULL;
- //////////////////////////////////////////////////////////////////////
- // Controls zerstoeren
- switch( eType )
- {
- case tpDefault:
- if( !pDefault )
- return;
- m_nPos--;
- pDefault->Hide();
- pDefaultText->Hide();
- delete pDefault;
- delete pDefaultText;
- pDefault = NULL;
- pDefaultText =NULL;
- break;
-
- case tpAutoIncrementValue:
- if( !m_pAutoIncrementValue )
- return;
- m_nPos--;
- m_pAutoIncrementValue->Hide();
- m_pAutoIncrementValueText->Hide();
- delete m_pAutoIncrementValue;
- delete m_pAutoIncrementValueText;
- m_pAutoIncrementValue = NULL;
- m_pAutoIncrementValueText =NULL;
- break;
-
- case tpColumnName:
- if( !m_pColumnName )
- return;
- m_nPos--;
- m_pColumnName->Hide();
- m_pColumnNameText->Hide();
- delete m_pColumnName;
- delete m_pColumnNameText;
- m_pColumnName = NULL;
- m_pColumnNameText =NULL;
- break;
-
- case tpType:
- if( !m_pType )
- return;
- m_nPos--;
- m_pType->Hide();
- m_pTypeText->Hide();
- delete m_pType;
- delete m_pTypeText;
- m_pType = NULL;
- m_pTypeText =NULL;
- break;
-
- case tpAutoIncrement:
- if( !pAutoIncrement )
- return;
- m_nPos--;
- pAutoIncrement->Hide();
- pAutoIncrementText->Hide();
- delete pAutoIncrement;
- delete pAutoIncrementText;
- pAutoIncrement = NULL;
- pAutoIncrementText =NULL;
- break;
-
- case tpRequired:
- if( !pRequired )
- return;
- m_nPos--;
- pRequired->Hide();
- pRequiredText->Hide();
- delete pRequired;
- delete pRequiredText;
- pRequired = NULL;
- pRequiredText =NULL;
- break;
-
- case tpTextLen:
- if( !pTextLen )
- return;
- m_nPos--;
- pTextLen->Hide();
- pTextLenText->Hide();
- delete pTextLen;
- delete pTextLenText;
- pTextLen = NULL;
- pTextLenText =NULL;
- break;
-
- case tpNumType:
- if( !pNumType )
- return;
- m_nPos--;
- pNumType->Hide();
- pNumTypeText->Hide();
- delete pNumType;
- delete pNumTypeText;
- pNumType = NULL;
- pNumTypeText =NULL;
- break;
-
- case tpLength:
- if( !pLength )
- return;
- m_nPos--;
- pLength->Hide();
- pLengthText->Hide();
- delete pLength;
- delete pLengthText;
- pLength = NULL;
- pLengthText =NULL;
- break;
-
- case tpScale:
- if( !pScale )
- return;
- m_nPos--;
- pScale->Hide();
- pScaleText->Hide();
- delete pScale;
- delete pScaleText;
- pScale = NULL;
- pScaleText =NULL;
- break;
-
- case tpFormat:
- if( !pFormat )
- return;
- pFormatText->Hide();
- pFormatSample->Hide();
- pFormat->Hide();
- delete pFormatText;
- delete pFormatSample;
- delete pFormat;
- pFormatText =NULL;
- pFormatSample = NULL;
- pFormat = NULL;
- break;
- case tpBoolDefault:
- if (!pBoolDefault)
- return;
- m_nPos--;
- pBoolDefault->Hide();
- pBoolDefaultText->Hide();
- delete pBoolDefault;
- delete pBoolDefaultText;
- pBoolDefault = NULL;
- pBoolDefaultText =NULL;
- break;
-
- }
-}
-
-//------------------------------------------------------------------------------
-void OFieldDescControl::SetPosSize( Control** ppControl, long nRow, sal_uInt16 nCol )
-{
- DBG_CHKTHIS(OFieldDescControl,NULL);
-
- //////////////////////////////////////////////////////////////////////
- // Groesse ermitteln
- const sal_Int32 nControlHeight = LogicToPixel(Size(0, CONTROL_HEIGHT),MAP_APPFONT).Height();
- Size aSize;
- switch( nCol )
- {
- case 0:
- aSize.Width() = CONTROL_WIDTH_1;
- aSize.Height() = nControlHeight;
- break;
- case 1:
- if ( isRightAligned() )
- aSize.Width() = LogicToPixel(Size(m_nWidth, 0),MAP_APPFONT).Width();
- else
- aSize.Width() = CONTROL_WIDTH_2;
- aSize.Height() = nControlHeight;
- break;
- case 2:
- if ( isRightAligned() )
- aSize.Width() = LogicToPixel(Size(m_nWidth, 0),MAP_APPFONT).Width();
- else
- aSize.Width() = CONTROL_WIDTH_2;
- aSize.Height() = long(1.5*nControlHeight);
- break;
- case 3:
- if ( isRightAligned() )
- aSize.Width() = LogicToPixel(Size(m_nWidth, 0),MAP_APPFONT).Width();
- else
- aSize.Width() = CONTROL_WIDTH_3;
- aSize.Height() = nControlHeight;
- break;
- case 4:
- if ( isRightAligned() )
- aSize.Width() = LogicToPixel(Size(m_nWidth, 0),MAP_APPFONT).Width();
- else
- aSize.Width() = CONTROL_WIDTH_4;
- aSize.Height() = nControlHeight;
- break;
- default:
- if ( isRightAligned() )
- aSize.Width() = LogicToPixel(Size(m_nWidth, 0),MAP_APPFONT).Width();
- else
- aSize.Width() = CONTROL_WIDTH_1;
- aSize.Height() = nControlHeight;
- }
-
-
- //////////////////////////////////////////////////////////////////////
- // Position ermitteln
- Point aPosition;
- switch( nCol )
- {
- case 0:
- aPosition.X() = 0;
- aPosition.Y() = 1;
- break;
- case 1:
- case 2:
- case 3:
- case 4:
- if ( isRightAligned() )
- {
- Size aOwnSize = GetSizePixel();
- aPosition.X() = aOwnSize.Width() - aSize.Width();
- }
- else
- aPosition.X() = CONTROL_WIDTH_1 + CONTROL_SPACING_X;
- break;
- default:
- aPosition.X() = 0;
- }
-
- (*ppControl)->SetSizePixel( aSize );
- aSize = (*ppControl)->GetSizePixel( );
-
- const sal_Int32 nControl_Spacing_y = LogicToPixel(Size(0, CONTROL_SPACING_Y),MAP_APPFONT).Height();
- aPosition.Y() += ((nRow+1)*nControl_Spacing_y) +
- (nRow*nControlHeight);
-
- //////////////////////////////////////////////////////////////////////
- // Control anzeigen
- (*ppControl)->SetPosSizePixel( aPosition, aSize );
- aSize = (*ppControl)->GetSizePixel();
-
- (*ppControl)->Show();
-}
-//------------------------------------------------------------------------------
-void OFieldDescControl::DisplayData(OFieldDescription* pFieldDescr )
-{
- DBG_CHKTHIS(OFieldDescControl,NULL);
- pActFieldDescr = pFieldDescr;
- if(!pFieldDescr)
- {
- DeactivateAggregate( tpDefault );
- DeactivateAggregate( tpRequired );
- DeactivateAggregate( tpTextLen );
- DeactivateAggregate( tpNumType );
- DeactivateAggregate( tpScale );
- DeactivateAggregate( tpLength );
- DeactivateAggregate( tpFormat );
- DeactivateAggregate( tpAutoIncrement );
- DeactivateAggregate( tpBoolDefault );
- DeactivateAggregate( tpColumnName );
- DeactivateAggregate( tpType );
- DeactivateAggregate( tpAutoIncrementValue );
- m_pPreviousType = TOTypeInfoSP();
- //////////////////////////////////////////////////////////////////////
- // Zeiger des gespeicherten Focus zuruecksetzen
- pLastFocusWindow = NULL;
- if ( m_bAdded )
- {
- ::dbaui::notifySystemWindow(this,this,::comphelper::mem_fun(&TaskPaneList::RemoveWindow));
- m_bAdded = sal_False;
- }
- return;
- }
-
- if ( !m_bAdded )
- {
- ::dbaui::notifySystemWindow(this,this,::comphelper::mem_fun(&TaskPaneList::AddWindow));
- m_bAdded = sal_True;
- }
-
- TOTypeInfoSP pFieldType;
- if( pFieldDescr )
- pFieldType = pFieldDescr->getTypeInfo();
-
- ActivateAggregate( tpColumnName );
- ActivateAggregate( tpType );
-
- OSL_ENSURE(pFieldType.get(),"We need a type information here!");
- //////////////////////////////////////////////////////////////////////
- // Wenn sich der Typ geaendert hat, Controls austauschen
- if( m_pPreviousType != pFieldType )
- {
- //////////////////////////////////////////////////////////////////////
- // Zeiger des gespeicherten Focus zuruecksetzen
- pLastFocusWindow = NULL;
-
- //////////////////////////////////////////////////////////////////////
- // Controls, die nicht mehr angezeigt werden duerfen
- DeactivateAggregate( tpNumType );
-
- //////////////////////////////////////////////////////////////////////
- // determine which controls we should show and which not
-
- // 1. the required control
- if ( pFieldType->bNullable )
- ActivateAggregate( tpRequired );
- else
- DeactivateAggregate( tpRequired );
-
- // 2. the autoincrement
- if ( pFieldType->bAutoIncrement )
- {
- DeactivateAggregate( tpRequired );
- DeactivateAggregate( tpDefault );
- ActivateAggregate( tpAutoIncrement );
- ActivateAggregate( tpAutoIncrementValue );
- }
- else
- {
- DeactivateAggregate( tpAutoIncrement );
- DeactivateAggregate( tpAutoIncrementValue );
- if(pFieldType->bNullable)
- ActivateAggregate( tpRequired );
- else
- DeactivateAggregate( tpRequired );
- ActivateAggregate( tpDefault );
- }
- // 3. the scale and precision
- if (pFieldType->nPrecision)
- {
- ActivateAggregate( tpLength );
- pLength->SetMax(::std::max<sal_Int32>(pFieldType->nPrecision,pFieldDescr->GetPrecision()));
- pLength->SetSpecialReadOnly(pFieldType->aCreateParams.getLength()==0);
- }
- else
- DeactivateAggregate( tpLength );
-
- if (pFieldType->nMaximumScale)
- {
- ActivateAggregate( tpScale );
- pScale->SetMax(::std::max<sal_Int32>(pFieldType->nMaximumScale,pFieldDescr->GetScale()));
- pScale->SetMin(pFieldType->nMinimumScale);
- static const ::rtl::OUString s_sPRECISION(RTL_CONSTASCII_USTRINGPARAM("PRECISION"));
- pScale->SetSpecialReadOnly(pFieldType->aCreateParams.getLength() == 0 || pFieldType->aCreateParams == s_sPRECISION);
- }
- else
- DeactivateAggregate( tpScale );
-
- // and now look for type specific things
- switch( pFieldType->nType )
- {
- case DataType::CHAR:
- case DataType::VARCHAR:
- case DataType::LONGVARCHAR:
- DeactivateAggregate( tpLength );
- DeactivateAggregate( tpBoolDefault );
-
- ActivateAggregate( tpDefault );
- ActivateAggregate( tpFormat );
- if (pFieldType->nPrecision)
- {
- ActivateAggregate( tpTextLen );
- pTextLen->SetMax(::std::max<sal_Int32>(pFieldType->nPrecision,pFieldDescr->GetPrecision()));
- pTextLen->SetSpecialReadOnly(pFieldType->aCreateParams.getLength()==0);
- }
- else
- DeactivateAggregate( tpTextLen );
- break;
- case DataType::DATE:
- case DataType::TIME:
- case DataType::TIMESTAMP:
- DeactivateAggregate( tpLength ); // we don't need a length for date types
- DeactivateAggregate( tpTextLen );
- DeactivateAggregate( tpBoolDefault );
-
- ActivateAggregate( tpDefault );
- ActivateAggregate( tpFormat );
- break;
- case DataType::BIT:
- case DataType::BOOLEAN:
- DeactivateAggregate( tpTextLen );
- DeactivateAggregate( tpFormat );
- DeactivateAggregate( tpDefault );
-
- ActivateAggregate( tpBoolDefault );
- break;
- case DataType::DECIMAL:
- case DataType::NUMERIC:
- case DataType::BIGINT:
- case DataType::FLOAT:
- case DataType::DOUBLE:
- case DataType::TINYINT:
- case DataType::SMALLINT:
- case DataType::INTEGER:
- case DataType::REAL:
- DeactivateAggregate( tpTextLen );
- DeactivateAggregate( tpBoolDefault );
-
- ActivateAggregate( tpFormat );
- break;
- case DataType::BINARY:
- case DataType::VARBINARY:
- DeactivateAggregate( tpDefault );
- DeactivateAggregate( tpRequired );
- DeactivateAggregate( tpTextLen );
- DeactivateAggregate( tpBoolDefault );
-
- ActivateAggregate( tpFormat );
- break;
- case DataType::LONGVARBINARY:
- case DataType::SQLNULL:
- case DataType::OBJECT:
- case DataType::DISTINCT:
- case DataType::STRUCT:
- case DataType::ARRAY:
- case DataType::BLOB:
- case DataType::CLOB:
- case DataType::REF:
- case DataType::OTHER:
- DeactivateAggregate( tpFormat );
- DeactivateAggregate( tpTextLen );
- DeactivateAggregate( tpBoolDefault );
-
- break;
- default:
- OSL_ENSURE(0,"Unknown type");
- }
- m_pPreviousType = pFieldType;
- }
- if(pFieldDescr)
- {
- if(pFieldDescr->IsPrimaryKey())
- {
- DeactivateAggregate( tpRequired );
- }
- else if ( !pAutoIncrement && pFieldType.get() )
- {
- if ( pFieldType->bNullable )
- ActivateAggregate( tpRequired );
- else
- DeactivateAggregate( tpRequired );
- }
- }
- //////////////////////////////////////////////////////////////////////
- // Controls initialisieren
- if( pAutoIncrement )
- {
- if ( pFieldDescr->IsAutoIncrement() )
- {
- pAutoIncrement->SelectEntryPos( 0 ); // yes
- ActivateAggregate( tpAutoIncrementValue );
- if ( m_pAutoIncrementValue )
- m_pAutoIncrementValue->SetText(pFieldDescr->GetAutoIncrementValue());
- DeactivateAggregate( tpRequired );
- DeactivateAggregate( tpDefault );
- }
- else
- {
- // disable autoincrement value because it should only be visible when autoincrement is to true
- DeactivateAggregate( tpAutoIncrementValue );
- pAutoIncrement->SelectEntryPos( 1 ); // no
- ActivateAggregate( tpDefault );
- // hat Auswirkungen auf pRequired
- if(!pFieldDescr->IsPrimaryKey())
- ActivateAggregate( tpRequired );
- }
- }
-
- if( pDefault )
- {
- pDefault->SetText( getControlDefault(pFieldDescr) );
- pDefault->ClearModifyFlag();
- }
-
- if( pBoolDefault )
- {
- // wenn pRequired auf sal_True gesetzt ist, dann darf das sal_Bool Feld nicht den Eintrag <<keiner>> besitzen
- String sDef = BoolStringUI(::comphelper::getString(pFieldDescr->GetControlDefault()));
-
- // sicher stellen das <<keiner>> nur vorhanden ist, wenn das Feld NULL sein darf
- if ( pFieldType.get() && !pFieldType->bNullable || !pFieldDescr->IsNullable() )
- {
- pFieldDescr->SetIsNullable(ColumnValue::NO_NULLS); // der Typ sagt das
-
- pBoolDefault->RemoveEntry(String(ModuleRes(STR_VALUE_NONE)));
- if ( !sDef.Equals(aYes) && !sDef.Equals(aNo) )
- pBoolDefault->SelectEntryPos(1); // nein als Default
- else
- pBoolDefault->SelectEntry(sDef);
-
- pFieldDescr->SetControlDefault(makeAny(::rtl::OUString(BoolStringPersistent(pBoolDefault->GetSelectEntry()))));
- }
- else if(pBoolDefault->GetEntryCount() < 3)
- {
- pBoolDefault->InsertEntry(String(ModuleRes(STR_VALUE_NONE)));
- pBoolDefault->SelectEntry(sDef);
- }
- else
- pBoolDefault->SelectEntry(sDef);
- }
-
- if( pRequired )
- {
- if( pFieldDescr->IsNullable() )
- pRequired->SelectEntryPos( 1 ); // no
- else
- pRequired->SelectEntryPos( 0 ); // yes
- }
-
- if( pTextLen )
- {
- pTextLen->SetText( String::CreateFromInt32(pFieldDescr->GetPrecision()) );
- pTextLen->ClearModifyFlag();
- }
-
- if( pNumType )
- {
- OSL_ENSURE(sal_False, "OFieldDescControl::DisplayData: invalid num type!");
- }
-
- if( pLength )
- pLength->SetText( String::CreateFromInt32(pFieldDescr->GetPrecision()) );
-
- if( pScale )
- pScale->SetText( String::CreateFromInt32(pFieldDescr->GetScale()) );
-
- if( pFormat )
- UpdateFormatSample(pFieldDescr);
-
- if(m_pColumnName)
- m_pColumnName->SetText(pFieldDescr->GetName());
-
- if(m_pType)
- {
- USHORT nPos = pFieldType.get() ? m_pType->GetEntryPos(String(pFieldDescr->getTypeInfo()->aUIName)) : LISTBOX_ENTRY_NOTFOUND;
- if(nPos == LISTBOX_ENTRY_NOTFOUND)
- {
- const OTypeInfoMap* pMap = getTypeInfo();
- OTypeInfoMap::const_iterator aIter = pMap->find(pFieldType.get() ? pFieldDescr->getTypeInfo()->nType : pFieldDescr->GetType());
- if(aIter == pMap->end() && !pMap->empty())
- {
- aIter = pMap->begin();
- if(pFieldDescr->GetPrecision() > aIter->second->nPrecision)
- pFieldDescr->SetPrecision(aIter->second->nPrecision);
- if(pFieldDescr->GetScale() > aIter->second->nMaximumScale)
- pFieldDescr->SetScale(0);
- if(!aIter->second->bNullable && pFieldDescr->IsNullable())
- pFieldDescr->SetIsNullable(ColumnValue::NO_NULLS);
- if(!aIter->second->bAutoIncrement && pFieldDescr->IsAutoIncrement())
- pFieldDescr->SetAutoIncrement(sal_False);
- }
- if ( aIter != pMap->end() )
- {
- pFieldDescr->SetType(aIter->second);
- }
- }
- m_pType->SelectEntry(pFieldDescr->getTypeInfo()->aUIName);
- }
-
-
- //////////////////////////////////////////////////////////////////////
- // Controls Enablen/Disablen
- sal_Bool bRead(IsReadOnly());
-
-
- ArrangeAggregates();
- CheckScrollBars();
- ScrollAllAggregates();
-
- SetReadOnly( bRead );
-}
-//------------------------------------------------------------------------
-IMPL_LINK(OFieldDescControl, DelayedGrabFocus, Control**, ppControl)
-{
- nDelayedGrabFocusEvent = 0;
- if (*ppControl)
- (*ppControl)->GrabFocus();
-
- return 0L;
-}
-
-//------------------------------------------------------------------------------
-IMPL_LINK(OFieldDescControl, OnControlFocusGot, Control*, pControl )
-{
- String strHelpText;
- OPropNumericEditCtrl* pNumeric = dynamic_cast< OPropNumericEditCtrl* >( pControl );
- if ( pNumeric )
- {
- pNumeric->SaveValue();
- strHelpText = pNumeric->GetHelp();
- }
-
- OPropColumnEditCtrl* pColumn = dynamic_cast< OPropColumnEditCtrl* >( pControl );
- if ( pColumn )
- {
- pColumn->SaveValue();
- strHelpText = pColumn->GetHelp();
- }
-
- OPropEditCtrl* pEdit = dynamic_cast< OPropEditCtrl* >( pControl );
- if ( pEdit )
- {
- pEdit->SaveValue();
- strHelpText = pEdit->GetHelp();
- }
-
- OPropListBoxCtrl* pListBox = dynamic_cast< OPropListBoxCtrl* >( pControl );
- if ( pListBox )
- {
- pListBox->SaveValue();
- strHelpText = pListBox->GetHelp();
- }
-
- if (pControl == pFormat)
- strHelpText =String(ModuleRes(STR_HELP_FORMAT_BUTTON));
-
- if (strHelpText.Len() && (pHelp != NULL))
- pHelp->SetHelpText(strHelpText);
-
- m_pActFocusWindow = pControl;
-
- return 0L;
-}
-
-//------------------------------------------------------------------------------
-IMPL_LINK(OFieldDescControl, OnControlFocusLost, Control*, pControl )
-{
- if ((pControl == pLength) || (pControl == pTextLen) || (pControl == pScale))
- {
- OPropNumericEditCtrl* pConverted = (OPropNumericEditCtrl*)pControl;
- if (pConverted->IsModified())
- CellModified(-1, pConverted->GetPos());
- }
- if(pControl == m_pColumnName)
- {
- OPropColumnEditCtrl* pConverted = (OPropColumnEditCtrl*)pControl;
- if (pConverted->IsModified())
- CellModified(-1, pConverted->GetPos());
- }
- else if ((pControl == pDefault) || (pControl == pFormatSample) || (pControl == m_pAutoIncrementValue) )
- {
- OPropEditCtrl* pConverted = (OPropEditCtrl*)pControl;
- if (pConverted->IsModified())
- CellModified(-1, pConverted->GetPos());
- }
- else if ((pControl == pRequired) || (pControl == pNumType) || (pControl == pAutoIncrement) || (pControl == pBoolDefault) || (pControl == m_pType))
- {
- OPropListBoxCtrl* pConverted = (OPropListBoxCtrl*)pControl;
- if (pConverted->IsModified())
- CellModified(-1, pConverted->GetPos());
- }
-
- if (pControl == pDefault)
- UpdateFormatSample(pActFieldDescr);
-
- implFocusLost(pControl);
-
- return 0L;
-}
-//------------------------------------------------------------------------------
-void OFieldDescControl::SaveData( OFieldDescription* pFieldDescr )
-{
- DBG_CHKTHIS(OFieldDescControl,NULL);
- if( !pFieldDescr )
- return;
-
- //////////////////////////////////////////////////////////////////////
- // Controls auslesen
- ::rtl::OUString sDefault;
- if (pDefault)
- {
- if ( pDefault->GetSavedValue() != pDefault->GetText() )
- sDefault = pDefault->GetText();
- }
- else if (pBoolDefault)
- {
- sDefault = BoolStringPersistent(pBoolDefault->GetSelectEntry());
- }
-
- if ( sDefault.getLength() )
- {
- sal_uInt32 nFormatKey;
- try
- {
- if ( isTextFormat(pFieldDescr,nFormatKey) || pBoolDefault )
- {
- pFieldDescr->SetControlDefault(makeAny(sDefault));
- }
- else
- {
- try
- {
- double nValue = GetFormatter()->convertStringToNumber(nFormatKey,sDefault);
- nValue = checkDoubleForDateFormat(nValue,nFormatKey,GetFormatter());
- pFieldDescr->SetControlDefault(makeAny(nValue));
- }
- catch(const Exception&)
- {
- if ( sDefault.getLength() )
- pFieldDescr->SetControlDefault(makeAny(sDefault));
- else
- pFieldDescr->SetControlDefault(Any());
- }
- }
- }
- catch(const Exception&)
- {
- }
- } // if ( sDefault.getLength() )
- else
- pFieldDescr->SetControlDefault(Any());
-
- if((pRequired && pRequired->GetSelectEntryPos() == 0) || pFieldDescr->IsPrimaryKey() || (pBoolDefault && pBoolDefault->GetEntryCount() == 2)) // yes
- pFieldDescr->SetIsNullable( ColumnValue::NO_NULLS );
- else
- pFieldDescr->SetIsNullable( ColumnValue::NULLABLE );
-
- if ( pAutoIncrement )
- pFieldDescr->SetAutoIncrement( pAutoIncrement->GetSelectEntryPos() == 0 );
-
- if( pTextLen )
- pFieldDescr->SetPrecision( static_cast<sal_Int32>(pTextLen->GetValue()) );
- else if( pLength )
- pFieldDescr->SetPrecision( static_cast<sal_Int32>(pLength->GetValue()) );
- if( pScale )
- pFieldDescr->SetScale( static_cast<sal_Int32>(pScale->GetValue()) );
-
- if(m_pColumnName)
- pFieldDescr->SetName(m_pColumnName->GetText());
-
- if ( m_pAutoIncrementValue && isAutoIncrementValueEnabled() )
- pFieldDescr->SetAutoIncrementValue(m_pAutoIncrementValue->GetText());
-}
-
-//------------------------------------------------------------------------------
-void OFieldDescControl::UpdateFormatSample(OFieldDescription* pFieldDescr)
-{
- if(!pFieldDescr)
- return;
- if(!pFormatSample)
- return;
-
- pFormatSample->SetText(getControlDefault(pFieldDescr,sal_False));
-}
-
-//------------------------------------------------------------------------------
-void OFieldDescControl::GetFocus()
-{
- DBG_CHKTHIS(OFieldDescControl,NULL);
- //////////////////////////////////////////////////////////////////////
- // Setzt den Focus auf das zuletzt aktive Control
- TabPage::GetFocus();
- if( pLastFocusWindow )
- {
- pLastFocusWindow->GrabFocus();
- pLastFocusWindow = NULL;
- }
-}
-
-//------------------------------------------------------------------------------
-void OFieldDescControl::implFocusLost(Window* _pWhich)
-{
- DBG_CHKTHIS(OFieldDescControl,NULL);
- DBG_ASSERT(!_pWhich || IsChild(_pWhich), "OFieldDescControl::implFocusLost : invalid window !");
-
- //////////////////////////////////////////////////////////////////////
- // Das aktive Control merken
- if (!pLastFocusWindow)
- pLastFocusWindow = _pWhich;
-
- //////////////////////////////////////////////////////////////////////
- // HelpText zuruecksetzen
- if (pHelp && !pHelp->HasChildPathFocus())
- pHelp->SetHelpText( String() );
-}
-
-//------------------------------------------------------------------------------
-void OFieldDescControl::LoseFocus()
-{
- DBG_CHKTHIS(OFieldDescControl,NULL);
-
- implFocusLost(NULL);
-
- TabPage::LoseFocus();
-}
-// -----------------------------------------------------------------------------
-sal_Bool OFieldDescControl::isCopyAllowed()
-{
- sal_Bool bAllowed = (m_pActFocusWindow != NULL) &&
- (m_pActFocusWindow == pDefault || m_pActFocusWindow == pFormatSample ||
- m_pActFocusWindow == pTextLen || m_pActFocusWindow == pLength ||
- m_pActFocusWindow == pScale || m_pActFocusWindow == m_pColumnName ||
- m_pActFocusWindow == m_pAutoIncrementValue) &&
- static_cast<Edit*>(m_pActFocusWindow)->GetSelected().Len() != 0;
-
- return bAllowed;
-}
-// -----------------------------------------------------------------------------
-sal_Bool OFieldDescControl::isCutAllowed()
-{
- sal_Bool bAllowed = (m_pActFocusWindow != NULL) &&
- (m_pActFocusWindow == pDefault || m_pActFocusWindow == pFormatSample ||
- m_pActFocusWindow == pTextLen || m_pActFocusWindow == pLength ||
- m_pActFocusWindow == pScale || m_pActFocusWindow == m_pColumnName ||
- m_pActFocusWindow == m_pAutoIncrementValue) &&
- static_cast<Edit*>(m_pActFocusWindow)->GetSelected().Len() != 0;
- return bAllowed;
-}
-// -----------------------------------------------------------------------------
-sal_Bool OFieldDescControl::isPasteAllowed()
-{
- sal_Bool bAllowed = (m_pActFocusWindow != NULL) &&
- (m_pActFocusWindow == pDefault || m_pActFocusWindow == pFormatSample ||
- m_pActFocusWindow == pTextLen || m_pActFocusWindow == pLength ||
- m_pActFocusWindow == pScale || m_pActFocusWindow == m_pColumnName ||
- m_pActFocusWindow == m_pAutoIncrementValue);
- if ( bAllowed )
- {
- TransferableDataHelper aTransferData(TransferableDataHelper::CreateFromSystemClipboard(GetParent()));
- bAllowed = aTransferData.HasFormat(SOT_FORMAT_STRING);
- }
- return bAllowed;
-}
-// -----------------------------------------------------------------------------
-void OFieldDescControl::cut()
-{
- if(isCutAllowed())
- static_cast<Edit*>(m_pActFocusWindow)->Cut();
-}
-// -----------------------------------------------------------------------------
-void OFieldDescControl::copy()
-{
- if(isCopyAllowed()) // this only checks if the focus window is valid
- static_cast<Edit*>(m_pActFocusWindow)->Copy();
-}
-// -----------------------------------------------------------------------------
-void OFieldDescControl::paste()
-{
- if(m_pActFocusWindow) // this only checks if the focus window is valid
- static_cast<Edit*>(m_pActFocusWindow)->Paste();
-}
-// -----------------------------------------------------------------------------
-sal_Bool OFieldDescControl::isTextFormat(const OFieldDescription* _pFieldDescr,sal_uInt32& _nFormatKey) const
-{
- _nFormatKey = _pFieldDescr->GetFormatKey();
- sal_Bool bTextFormat = sal_True;
-
- try
- {
- if (!_nFormatKey)
- {
- Reference< ::com::sun::star::util::XNumberFormatTypes> xNumberTypes(GetFormatter()->getNumberFormatsSupplier()->getNumberFormats(),UNO_QUERY);
- OSL_ENSURE(xNumberTypes.is(),"XNumberFormatTypes is null!");
-
- _nFormatKey = ::dbtools::getDefaultNumberFormat( _pFieldDescr->GetType(),
- _pFieldDescr->GetScale(),
- _pFieldDescr->IsCurrency(),
- xNumberTypes,
- GetLocale());
- }
- sal_Int32 nNumberFormat = ::comphelper::getNumberFormatType(GetFormatter(),_nFormatKey);
- bTextFormat = (nNumberFormat == ::com::sun::star::util::NumberFormat::TEXT);
- }
- catch(const Exception&)
- {
-
- }
-
- return bTextFormat;
-}
-// -----------------------------------------------------------------------------
-String OFieldDescControl::getControlDefault( const OFieldDescription* _pFieldDescr ,sal_Bool _bCheck) const
-{
- ::rtl::OUString sDefault;
- sal_Bool bCheck = !_bCheck || _pFieldDescr->GetControlDefault().hasValue();
- if ( bCheck )
- {
- sal_uInt32 nFormatKey;
- sal_Bool bTextFormat = sal_False;
- double nValue = 0.0;
-
- try
- {
- bTextFormat = isTextFormat(_pFieldDescr,nFormatKey);
- if ( _pFieldDescr->GetControlDefault() >>= sDefault )
- {
- if ( !bTextFormat )
- {
- if ( sDefault.getLength() )
- {
- try
- {
- nValue = GetFormatter()->convertStringToNumber(nFormatKey,sDefault);
- }
- catch(const Exception&)
- {
- return ::rtl::OUString(); // return empty string for format example
- }
- }
- }
- }
- else
- _pFieldDescr->GetControlDefault() >>= nValue;
-
-
- Reference< ::com::sun::star::util::XNumberFormatter> xNumberFormatter = GetFormatter();
- Reference<XPropertySet> xFormSet = xNumberFormatter->getNumberFormatsSupplier()->getNumberFormats()->getByKey(nFormatKey);
- OSL_ENSURE(xFormSet.is(),"XPropertySet is null!");
- ::rtl::OUString sFormat;
- xFormSet->getPropertyValue(::rtl::OUString::createFromAscii("FormatString")) >>= sFormat;
-
- if ( !bTextFormat )
- {
- Locale aLocale;
- ::comphelper::getNumberFormatProperty(xNumberFormatter,nFormatKey,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Locale"))) >>= aLocale;
-
- sal_Int32 nNumberFormat = ::comphelper::getNumberFormatType(xNumberFormatter,nFormatKey);
- if( (nNumberFormat & ::com::sun::star::util::NumberFormat::DATE) == ::com::sun::star::util::NumberFormat::DATE
- || (nNumberFormat & ::com::sun::star::util::NumberFormat::DATETIME) == ::com::sun::star::util::NumberFormat::DATETIME )
- {
- nValue = DBTypeConversion::toNullDate(DBTypeConversion::getNULLDate(xNumberFormatter->getNumberFormatsSupplier()),nValue);
- }
-
-
-
- Reference< ::com::sun::star::util::XNumberFormatPreviewer> xPreViewer(xNumberFormatter,UNO_QUERY);
- OSL_ENSURE(xPreViewer.is(),"XNumberFormatPreviewer is null!");
- sDefault = xPreViewer->convertNumberToPreviewString(sFormat,nValue,aLocale,sal_True);
- }
- else if ( !_bCheck || (sDefault.getLength() != 0) )
- sDefault = xNumberFormatter->formatString(nFormatKey,(sDefault.getLength() != 0 )? sDefault : sFormat);
- }
- catch(const Exception&)
- {
-
- }
- }
-
- return sDefault;
-}
-// -----------------------------------------------------------------------------
-
-
-
-
-
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: FieldDescControl.cxx,v $
+ * $Revision: 1.49.68.1 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+// MARKER(update_precomp.py): autogen include statement, do not remove
+#include "precompiled_dbaccess.hxx"
+
+#define ITEMID_HORJUSTIFY SID_ATTR_ALIGN_HOR_JUSTIFY
+#define ITEMID_VERJUSTIFY SID_ATTR_ALIGN_VER_JUSTIFY
+//#define ITEMID_ORIENTATION SID_ATTR_ALIGN_ORIENTATION
+#define ITEMID_LINEBREAK SID_ATTR_ALIGN_LINEBREAK
+#define ITEMID_MARGIN SID_ATTR_ALIGN_MARGIN
+
+#ifndef DBAUI_FIELDDESCRIPTIONCONTROL_HXX
+#include "FieldDescControl.hxx"
+#endif
+#ifndef DBAUI_FIELDCONTROLS_HXX
+#include "FieldControls.hxx"
+#endif
+#ifndef _ZFORLIST_HXX //autogen
+#define _ZFORLIST_DECLARE_TABLE // ohne das bekomme ich einen Compiler-Fehler in <svtools/zforlist.hxx>
+#include <svtools/zforlist.hxx>
+#endif
+#ifndef _TOOLS_DEBUG_HXX
+#include <tools/debug.hxx>
+#endif
+#ifndef DBAUI_TABLEDESIGNHELPBAR_HXX
+#include "TableDesignHelpBar.hxx"
+#endif
+#ifndef _SV_SCRBAR_HXX
+#include <vcl/scrbar.hxx>
+#endif
+#ifndef _SV_BUTTON_HXX
+#include <vcl/button.hxx>
+#endif
+#ifndef _SVX_NUMFMTSH_HXX
+#include <svx/numfmtsh.hxx>
+#endif
+#ifndef _DBU_CONTROL_HRC_
+#include "dbu_control.hrc"
+#endif
+#ifndef _DBU_TBL_HRC_
+#include "dbu_tbl.hrc"
+#endif
+
+#ifndef _SV_SVAPP_HXX
+#include <vcl/svapp.hxx>
+#endif
+#ifndef _SV_FIXED_HXX
+#include <vcl/fixed.hxx>
+#endif
+#ifndef _SV_MSGBOX_HXX
+#include <vcl/msgbox.hxx>
+#endif
+#ifndef _VECTOR_
+#include <vector>
+#endif
+#ifndef DBAUI_FIELDDESCRIPTIONS_HXX
+#include "FieldDescriptions.hxx"
+#endif
+#ifndef _SFXITEMPOOL_HXX
+#include <svtools/itempool.hxx>
+#endif
+#ifndef DBAUI_SBATTRDLG_HXX
+#include "dlgattr.hxx"
+#endif
+#ifndef _SVX_SVXIDS_HRC
+#include <svx/svxids.hrc>
+#endif
+#ifndef _SVX_ALGITEM_HXX
+#include <svx/algitem.hxx>
+#endif
+#ifndef _SFXRNGITEM_HXX
+#include <svtools/rngitem.hxx>
+#endif
+#ifndef _SFXINTITEM_HXX
+#include <svtools/intitem.hxx>
+#endif
+#ifndef _COM_SUN_STAR_LANG_XUNOTUNNEL_HPP_
+#include <com/sun/star/lang/XUnoTunnel.hpp>
+#endif
+#ifndef _COM_SUN_STAR_UTIL_NUMBERFORMAT_HPP_
+#include <com/sun/star/util/NumberFormat.hpp>
+#endif
+#ifndef _COM_SUN_STAR_UTIL_XNUMBERFORMATPREVIEWER_HPP_
+#include <com/sun/star/util/XNumberFormatPreviewer.hpp>
+#endif
+#ifndef _COM_SUN_STAR_UTIL_XNUMBERFORMATTYPES_HPP_
+#include <com/sun/star/util/XNumberFormatTypes.hpp>
+#endif
+#ifndef _COM_SUN_STAR_BEANS_XPROPERTYSET_HPP_
+#include <com/sun/star/beans/XPropertySet.hpp>
+#endif
+#ifndef DBAUI_ENUMTYPES_HXX
+#include "QEnumTypes.hxx"
+#endif
+#ifndef _DBA_DBACCESS_HELPID_HRC_
+#include "dbaccess_helpid.hrc"
+#endif
+#ifndef _NUMUNO_HXX
+#include <svtools/numuno.hxx>
+#endif
+#ifndef _CONNECTIVITY_DBTOOLS_HXX_
+#include <connectivity/dbtools.hxx>
+#endif
+#ifndef _COMPHELPER_NUMBERS_HXX_
+#include <comphelper/numbers.hxx>
+#endif
+#ifndef DBAUI_TOOLS_HXX
+#include "UITools.hxx"
+#endif
+#include <memory>
+#ifndef _DBHELPER_DBCONVERSION_HXX_
+#include <connectivity/dbconversion.hxx>
+#endif
+#ifndef _TRANSFER_HXX
+#include <svtools/transfer.hxx>
+#endif
+
+using namespace dbaui;
+using namespace dbtools;
+using namespace ::com::sun::star::uno;
+using namespace ::com::sun::star::beans;
+using namespace ::com::sun::star::lang;
+using namespace ::com::sun::star::sdbc;
+using namespace ::com::sun::star::util;
+
+//==================================================================
+
+// fuer die Controls auf der OFieldDescGenPage
+#define CONTROL_SPACING_X 18 // 6
+#define CONTROL_SPACING_Y 4
+#define CONTROL_HEIGHT 10
+#define CONTROL_WIDTH_1 160 // 100
+#define CONTROL_WIDTH_2 100 // 60
+#define CONTROL_WIDTH_3 250
+#define CONTROL_WIDTH_4 (CONTROL_WIDTH_3 - 20 - 5)
+
+#define SBA_DEF_RANGEFORMAT (100 + 143) // RangeItem
+#define SBA_DEF_FMTVALUE (100 + 144) // SfxULONG, Format
+#define SBA_ATTR_ALIGN_HOR_JUSTIFY (100 + 145) // SvxHorJustifyItem
+
+#define HSCROLL_STEP 20
+
+
+namespace
+{
+ // -----------------------------------------------------------------------------
+ double checkDoubleForDateFormat(double _nValue,sal_Int32 _nFormatKey,const Reference< ::com::sun::star::util::XNumberFormatter>& _xNumberFormatter)
+ {
+ double nValue = _nValue;
+ sal_Int32 nNumberFormat = ::comphelper::getNumberFormatType(_xNumberFormatter,_nFormatKey);
+ if( (nNumberFormat & ::com::sun::star::util::NumberFormat::DATE) == ::com::sun::star::util::NumberFormat::DATE
+ || (nNumberFormat & ::com::sun::star::util::NumberFormat::DATETIME) == ::com::sun::star::util::NumberFormat::DATETIME )
+ {
+ nValue = DBTypeConversion::toStandardDbDate(DBTypeConversion::getNULLDate(_xNumberFormatter->getNumberFormatsSupplier()),nValue);
+ }
+
+ return nValue;
+ }
+ // -----------------------------------------------------------------------------
+}
+
+//==================================================================
+// class OFieldDescControl
+//==================================================================
+
+DBG_NAME(OFieldDescControl)
+
+//==================================================================
+OFieldDescControl::OFieldDescControl( Window* pParent, const ResId& rResId, OTableDesignHelpBar* pHelpBar)
+ :TabPage( pParent, rResId )
+ ,pHelp( pHelpBar )
+ ,pLastFocusWindow(NULL)
+ ,m_pActFocusWindow(NULL)
+ ,pDefaultText(NULL)
+ ,pRequiredText(NULL)
+ ,pAutoIncrementText(NULL)
+ ,pTextLenText(NULL)
+ ,pNumTypeText(NULL)
+ ,pLengthText(NULL)
+ ,pScaleText(NULL)
+ ,pFormatText(NULL)
+ ,pBoolDefaultText(NULL)
+ ,m_pColumnNameText(NULL)
+ ,m_pTypeText(NULL)
+ ,m_pAutoIncrementValueText(NULL)
+ ,pRequired(NULL)
+ ,pNumType(NULL)
+ ,pAutoIncrement(NULL)
+ ,pDefault(NULL)
+ ,pTextLen(NULL)
+ ,pLength(NULL)
+ ,pScale(NULL)
+ ,pFormatSample(NULL)
+ ,pBoolDefault(NULL)
+ ,m_pColumnName(NULL)
+ ,m_pType(NULL)
+ ,m_pAutoIncrementValue(NULL)
+ ,pFormat(NULL)
+ ,m_pVertScroll( NULL )
+ ,m_pHorzScroll( NULL )
+ ,m_pPreviousType()
+ ,nCurChildId(1)
+ ,m_nPos(-1)
+ ,aYes(ModuleRes(STR_VALUE_YES))
+ ,aNo(ModuleRes(STR_VALUE_NO))
+ ,m_nOldVThumb( 0 )
+ ,m_nOldHThumb( 0 )
+ ,m_nWidth(50)
+ ,nDelayedGrabFocusEvent(0)
+ ,m_bAdded(sal_False)
+ ,m_bRightAligned(false)
+ ,pActFieldDescr(NULL)
+{
+ DBG_CTOR(OFieldDescControl,NULL);
+
+ m_pVertScroll = new ScrollBar(this, WB_VSCROLL | WB_REPEAT | WB_DRAG);
+ m_pHorzScroll = new ScrollBar(this, WB_HSCROLL | WB_REPEAT | WB_DRAG);
+ m_pVertScroll->SetScrollHdl(LINK(this, OFieldDescControl, OnScroll));
+ m_pHorzScroll->SetScrollHdl(LINK(this, OFieldDescControl, OnScroll));
+ m_pVertScroll->Show();
+ m_pHorzScroll->Show();
+
+ m_pVertScroll->EnableClipSiblings();
+ m_pHorzScroll->EnableClipSiblings();
+
+ m_pVertScroll->SetLineSize(1);
+ m_pVertScroll->SetPageSize(1);
+ m_pHorzScroll->SetLineSize(1);
+ m_pHorzScroll->SetPageSize(1);
+
+ m_nOldVThumb = m_nOldHThumb = 0;
+}
+//------------------------------------------------------------------------------
+OFieldDescControl::OFieldDescControl( Window* pParent, OTableDesignHelpBar* pHelpBar )
+ :TabPage( pParent, WB_3DLOOK | WB_DIALOGCONTROL )
+ ,pHelp( pHelpBar )
+ ,pLastFocusWindow(NULL)
+ ,m_pActFocusWindow(NULL)
+ ,pDefaultText(NULL)
+ ,pRequiredText(NULL)
+ ,pAutoIncrementText(NULL)
+ ,pTextLenText(NULL)
+ ,pNumTypeText(NULL)
+ ,pLengthText(NULL)
+ ,pScaleText(NULL)
+ ,pFormatText(NULL)
+ ,pBoolDefaultText(NULL)
+ ,m_pColumnNameText(NULL)
+ ,m_pTypeText(NULL)
+ ,m_pAutoIncrementValueText(NULL)
+ ,pRequired(NULL)
+ ,pNumType(NULL)
+ ,pAutoIncrement(NULL)
+ ,pDefault(NULL)
+ ,pTextLen(NULL)
+ ,pLength(NULL)
+ ,pScale(NULL)
+ ,pFormatSample(NULL)
+ ,pBoolDefault(NULL)
+ ,m_pColumnName(NULL)
+ ,m_pType(NULL)
+ ,m_pAutoIncrementValue(NULL)
+ ,pFormat(NULL)
+ ,m_pVertScroll( NULL )
+ ,m_pHorzScroll( NULL )
+ ,m_pPreviousType()
+ ,nCurChildId(1)
+ ,m_nPos(-1)
+ ,aYes(ModuleRes(STR_VALUE_YES))
+ ,aNo(ModuleRes(STR_VALUE_NO))
+ ,m_nOldVThumb( 0 )
+ ,m_nOldHThumb( 0 )
+ ,m_nWidth(50)
+ ,nDelayedGrabFocusEvent(0)
+ ,m_bAdded(sal_False)
+ ,m_bRightAligned(false)
+ ,pActFieldDescr(NULL)
+{
+ DBG_CTOR(OFieldDescControl,NULL);
+
+ m_pVertScroll = new ScrollBar(this, WB_VSCROLL | WB_REPEAT | WB_DRAG);
+ m_pHorzScroll = new ScrollBar(this, WB_HSCROLL | WB_REPEAT | WB_DRAG);
+ m_pVertScroll->SetScrollHdl(LINK(this, OFieldDescControl, OnScroll));
+ m_pHorzScroll->SetScrollHdl(LINK(this, OFieldDescControl, OnScroll));
+ m_pVertScroll->Show();
+ m_pHorzScroll->Show();
+
+ m_pVertScroll->EnableClipSiblings();
+ m_pHorzScroll->EnableClipSiblings();
+
+ m_pVertScroll->SetLineSize(1);
+ m_pVertScroll->SetPageSize(1);
+ m_pHorzScroll->SetLineSize(1);
+ m_pHorzScroll->SetPageSize(1);
+
+ m_nOldVThumb = m_nOldHThumb = 0;
+
+}
+
+//------------------------------------------------------------------------------
+OFieldDescControl::~OFieldDescControl()
+{
+ DBG_DTOR(OFieldDescControl,NULL);
+
+ {
+ ::std::auto_ptr<Window> aTemp(m_pVertScroll);
+ m_pVertScroll = NULL;
+ }
+ {
+ ::std::auto_ptr<Window> aTemp(m_pHorzScroll);
+ m_pHorzScroll = NULL;
+ }
+ if ( m_bAdded )
+ ::dbaui::notifySystemWindow(this,this,::comphelper::mem_fun(&TaskPaneList::RemoveWindow));
+ pLastFocusWindow = NULL;
+
+ //////////////////////////////////////////////////////////////////////
+ // Childs zerstoeren
+ DeactivateAggregate( tpDefault );
+ DeactivateAggregate( tpRequired );
+ DeactivateAggregate( tpTextLen );
+ DeactivateAggregate( tpNumType );
+ DeactivateAggregate( tpScale );
+ DeactivateAggregate( tpLength );
+ DeactivateAggregate( tpFormat );
+ DeactivateAggregate( tpAutoIncrement );
+ DeactivateAggregate( tpBoolDefault );
+ DeactivateAggregate( tpColumnName );
+ DeactivateAggregate( tpType );
+ DeactivateAggregate( tpAutoIncrementValue );
+
+ if(nDelayedGrabFocusEvent)
+ Application::RemoveUserEvent(nDelayedGrabFocusEvent);
+}
+
+//------------------------------------------------------------------------------
+String OFieldDescControl::BoolStringPersistent(const String& rUIString) const
+{
+ static String aZero('0');
+ static String aOne('1');
+
+ if (rUIString == aNo)
+ return aZero;
+ if (rUIString == aYes)
+ return aOne;
+ return String();
+}
+
+//------------------------------------------------------------------------------
+String OFieldDescControl::BoolStringUI(const String& rPersistentString) const
+{
+ static String aZero('0');
+ static String aOne('1');
+ static String aNone(ModuleRes(STR_VALUE_NONE));
+
+ // FS - 66161 - 14.05.1999 - aeltere Versionen haben eventuell einen sprachabhaengigen String als Default gespeichert
+ if (rPersistentString.Equals(aYes) || rPersistentString.Equals(aNo))
+ return rPersistentString;
+
+ if (rPersistentString == aZero)
+ return aNo;
+ if (rPersistentString == aOne)
+ return aYes;
+
+ return aNone;
+}
+
+//------------------------------------------------------------------------------
+void OFieldDescControl::Init()
+{
+ Reference< ::com::sun::star::util::XNumberFormatter > xFormatter = GetFormatter();
+ ::dbaui::setEvalDateFormatForFormatter(xFormatter);
+}
+
+//------------------------------------------------------------------------------
+IMPL_LINK(OFieldDescControl, OnScroll, ScrollBar*, /*pBar*/)
+{
+ ScrollAllAggregates();
+ return 0;
+}
+// -----------------------------------------------------------------------------
+namespace
+{
+ void getMaxXPosition(Window* _pWindow,long& _rnMaxXPosition)
+ {
+ if (_pWindow)
+ {
+ long nTemp = _pWindow->GetSizePixel().Width() + _pWindow->GetPosPixel().X();
+ _rnMaxXPosition = ::std::max(_rnMaxXPosition, nTemp);
+ }
+ }
+}
+//------------------------------------------------------------------------------
+void OFieldDescControl::CheckScrollBars()
+{
+ // ein paar Berechnungen zur neuen Position der ScrollBars
+ Size szOverallSize = GetSizePixel();
+ long nHScrollHeight = m_pHorzScroll->GetSizePixel().Height();
+ long nVScrollWidth = m_pVertScroll->GetSizePixel().Width();
+
+ long nNewHWidth = szOverallSize.Width() - nVScrollWidth;
+ long nNewVHeight = szOverallSize.Height() - nHScrollHeight;
+
+ sal_Bool bNeedHScrollBar(sal_False), bNeedVScrollBar(sal_False);
+
+ // die Bereiche anpassen
+ // brauche ich ScrollBars eigentlich ?
+ // horizontal :
+ long lMaxXPosition = 0;
+ Control* ppAggregates[] = { pRequired, pNumType, pAutoIncrement, pDefault, pTextLen, pLength, pScale, pFormat, m_pColumnName, m_pType,m_pAutoIncrementValue};
+ for (sal_uInt16 i=0; i<sizeof(ppAggregates)/sizeof(ppAggregates[0]); ++i)
+ getMaxXPosition(ppAggregates[i],lMaxXPosition);
+
+ if (m_pHorzScroll)
+ lMaxXPosition += m_pHorzScroll->GetThumbPos() * HSCROLL_STEP;
+
+ long lMaxXAvailable = szOverallSize.Width();
+ bNeedHScrollBar = lMaxXPosition > lMaxXAvailable;
+ // aendert sich vielleicht noch
+
+ // vertikal
+ // wieviel Controls habe ich
+ sal_uInt16 nActive = CountActiveAggregates();
+ // welches ist das letzte, was ganz drauf passt ?
+ sal_uInt16 nLastVisible;
+ const sal_Int32 nControlHeight = LogicToPixel(Size(0, CONTROL_HEIGHT),MAP_APPFONT).Height();
+ const sal_Int32 nControl_Spacing_y = LogicToPixel(Size(0, CONTROL_SPACING_Y),MAP_APPFONT).Height();
+ if (bNeedHScrollBar)
+ nLastVisible = static_cast<sal_uInt16>((szOverallSize.Height() - nControl_Spacing_y - nHScrollHeight) / (nControl_Spacing_y + nControlHeight));
+ else
+ nLastVisible = static_cast<sal_uInt16>((szOverallSize.Height() - nControl_Spacing_y) / (nControl_Spacing_y + nControlHeight));
+ bNeedVScrollBar = nActive>nLastVisible;
+
+ if (bNeedVScrollBar)
+ {
+ // in die urspruengliche Berechnung von lMaxXAvailable ist nicht mit eingegangen, dass ich eine VScrollBar habe, also muss ich
+ // das nachholen
+ lMaxXAvailable -= nVScrollWidth;
+ if (!bNeedHScrollBar && (lMaxXPosition > lMaxXAvailable))
+ {
+ // durch die vertikale brauche ich jetzt ploetzlich doch eine horizontale
+ bNeedHScrollBar = sal_True;
+ // nLastVisible anpassen
+ nLastVisible = static_cast<sal_uInt16>((szOverallSize.Height() - nControl_Spacing_y - nHScrollHeight) / (nControl_Spacing_y + nControlHeight));
+ // bNeedVScrollBar aendert sich nicht : es ist schon auf sal_True und nLastVisible wird hoechstens kleiner
+ }
+ }
+
+ // jetzt kann ich sie wirklich positionieren und ihre Parameter setzen
+ if (bNeedVScrollBar)
+ {
+ m_pVertScroll->Show();
+ m_pVertScroll->SetRangeMax(nActive - nLastVisible);
+// m_pVertScroll->SetThumbPos(0);
+
+ m_pVertScroll->SetPosSizePixel( Point(nNewHWidth, 0), Size(nVScrollWidth, szOverallSize.Height()) );
+ }
+ else
+ {
+ m_pVertScroll->Hide();
+ m_pVertScroll->SetRangeMax(0);
+ m_pVertScroll->SetThumbPos(0);
+ }
+
+ if (bNeedHScrollBar)
+ {
+ m_pHorzScroll->Show();
+ m_pHorzScroll->SetRangeMax((lMaxXPosition - lMaxXAvailable + HSCROLL_STEP - 1 )/HSCROLL_STEP);
+// m_pHorzScroll->SetThumbPos(0);
+
+ m_pHorzScroll->SetPosSizePixel( Point(0, nNewVHeight), Size(bNeedVScrollBar ? nNewHWidth : szOverallSize.Width(), nHScrollHeight) );
+ }
+ else
+ {
+ m_pHorzScroll->Hide();
+ m_pHorzScroll->SetRangeMax(0);
+ m_pHorzScroll->SetThumbPos(0);
+ }
+}
+
+//------------------------------------------------------------------------------
+void OFieldDescControl::Resize()
+{
+ CheckScrollBars();
+ ScrollAllAggregates();
+}
+
+//------------------------------------------------------------------------------
+inline void OFieldDescControl::ScrollAggregate(Control* pText, Control* pInput, Control* pButton, long nDeltaX, long nDeltaY)
+{
+ if (!pText)
+ return;
+ pText->SetPosPixel(pText->GetPosPixel() + Point(nDeltaX, nDeltaY));
+ pInput->SetPosPixel(pInput->GetPosPixel() + Point(nDeltaX, nDeltaY));
+ if (pButton)
+ pButton->SetPosPixel(pButton->GetPosPixel() + Point(nDeltaX, nDeltaY));
+}
+
+//------------------------------------------------------------------------------
+void OFieldDescControl::ScrollAllAggregates()
+{
+ long nDeltaX = 0, nDeltaY = 0;
+ if (m_nOldHThumb != m_pHorzScroll->GetThumbPos())
+ {
+ nDeltaX = (m_nOldHThumb - m_pHorzScroll->GetThumbPos()) * HSCROLL_STEP;
+ m_nOldHThumb = m_pHorzScroll->GetThumbPos();
+ }
+
+ if (m_nOldVThumb != m_pVertScroll->GetThumbPos())
+ {
+ const sal_Int32 nControlHeight = LogicToPixel(Size(0, CONTROL_HEIGHT),MAP_APPFONT).Height();
+ const sal_Int32 nControl_Spacing_y = LogicToPixel(Size(0, CONTROL_SPACING_Y),MAP_APPFONT).Height();
+ nDeltaY = (m_nOldVThumb - m_pVertScroll->GetThumbPos()) * (nControl_Spacing_y + nControlHeight);
+ m_nOldVThumb = m_pVertScroll->GetThumbPos();
+ }
+
+ if (nDeltaX || nDeltaY)
+ {
+ Control* ppAggregates[] = { pRequired, pNumType
+ , pAutoIncrement, pDefault
+ , pTextLen, pLength
+ , pScale, m_pColumnName
+ , m_pType, m_pAutoIncrementValue};
+ Control* ppAggregatesText[] = { pRequiredText, pNumTypeText
+ , pAutoIncrementText, pDefaultText
+ , pTextLenText, pLengthText
+ , pScaleText, m_pColumnNameText
+ , m_pTypeText, m_pAutoIncrementValueText};
+ OSL_ENSURE(sizeof(ppAggregates)/sizeof(ppAggregates[0]) == sizeof(ppAggregatesText)/sizeof(ppAggregatesText[0]),"Lists are not identical!");
+
+ for (sal_uInt16 i=0; i<sizeof(ppAggregates)/sizeof(ppAggregates[0]); ++i)
+ ScrollAggregate(ppAggregatesText[i],ppAggregates[i],NULL,nDeltaX, nDeltaY);
+
+ ScrollAggregate(pFormatText,pFormatSample,pFormat,nDeltaX, nDeltaY);
+ }
+}
+
+//------------------------------------------------------------------------------
+sal_uInt16 OFieldDescControl::CountActiveAggregates() const
+{
+ Control* ppAggregates[] = { pRequired, pNumType, pAutoIncrement, pDefault, pTextLen, pLength, pScale, pFormat, m_pColumnName, m_pType,m_pAutoIncrementValue};
+ sal_uInt16 nVisibleAggregates = 0;
+ for (sal_uInt16 i=0; i<sizeof(ppAggregates)/sizeof(ppAggregates[0]); ++i)
+ if (ppAggregates[i])
+ ++nVisibleAggregates;
+ return nVisibleAggregates;
+}
+
+//------------------------------------------------------------------------------
+void OFieldDescControl::SetReadOnly( sal_Bool bReadOnly )
+{
+ DBG_CHKTHIS(OFieldDescControl,NULL);
+ //////////////////////////////////////////////////////////////////////
+ // Controls enablen/disablen
+ Control* ppAggregates[] = { pRequired, pNumType
+ , pAutoIncrement, pDefault
+ , pTextLen, pLength
+ , pScale, m_pColumnName
+ , m_pType, m_pAutoIncrementValue
+ , pFormat};
+ Control* ppAggregatesText[] = { pRequiredText, pNumTypeText
+ , pAutoIncrementText, pDefaultText
+ , pTextLenText, pLengthText
+ , pScaleText, m_pColumnNameText
+ , m_pTypeText, m_pAutoIncrementValueText
+ , pFormatText};
+
+ OSL_ENSURE(sizeof(ppAggregates)/sizeof(ppAggregates[0]) == sizeof(ppAggregatesText)/sizeof(ppAggregatesText[0]),"Lists are not identical!");
+
+ for (sal_uInt16 i=0; i<sizeof(ppAggregates)/sizeof(ppAggregates[0]); ++i)
+ {
+ if ( ppAggregatesText[i] )
+ ppAggregatesText[i]->Enable( !bReadOnly );
+ if ( ppAggregates[i] )
+ ppAggregates[i]->Enable( !bReadOnly );
+ }
+}
+
+//------------------------------------------------------------------------------
+String OFieldDescControl::GetControlText( sal_uInt16 nControlId )
+{
+ DBG_CHKTHIS(OFieldDescControl,NULL);
+ //////////////////////////////////////////////////////////////////////
+ // Texte der Controls auslesen
+ switch( nControlId )
+ {
+ case FIELD_PROPERTY_BOOL_DEFAULT:
+ if (pBoolDefault)
+ return pBoolDefault->GetSelectEntry();
+ break;
+ case FIELD_PROPERTY_DEFAULT:
+ if (pDefault)
+ return pDefault->GetText();
+ break;
+ case FIELD_PROPERTY_REQUIRED:
+ if (pRequired)
+ return pRequired->GetSelectEntry();
+ break;
+ case FIELD_PROPERTY_TEXTLEN:
+ if (pTextLen)
+ return String::CreateFromInt64(pTextLen->GetValue());
+ case FIELD_PROPERTY_NUMTYPE:
+ if (pNumType)
+ return pNumType->GetSelectEntry();
+ break;
+ case FIELD_PROPERTY_AUTOINC:
+ if (pAutoIncrement)
+ return pAutoIncrement->GetSelectEntry();
+ break;
+ case FIELD_PROPERTY_LENGTH:
+ if (pLength)
+ return pLength->GetText();
+ break;
+ case FIELD_PROPERTY_SCALE:
+ if (pScale)
+ return pScale->GetText();
+ break;
+ case FIELD_PROPERTY_FORMAT:
+ if (pFormatSample)
+ return pFormatSample->GetText();
+ break;
+ case FIELD_PRPOERTY_COLUMNNAME:
+ if(m_pColumnName)
+ return m_pColumnName->GetText();
+ case FIELD_PRPOERTY_TYPE:
+ if(m_pType)
+ return m_pType->GetSelectEntry();
+ break;
+ case FIELD_PRPOERTY_AUTOINCREMENT:
+ if(m_pAutoIncrementValue)
+ return m_pAutoIncrementValue->GetText();
+ }
+
+ return String();
+}
+
+//------------------------------------------------------------------------------
+void OFieldDescControl::SetControlText( sal_uInt16 nControlId, const String& rText )
+{
+ DBG_CHKTHIS(OFieldDescControl,NULL);
+ //////////////////////////////////////////////////////////////////////
+ // Texte der Controls setzen
+ switch( nControlId )
+ {
+ case FIELD_PROPERTY_BOOL_DEFAULT:
+ if (pBoolDefault)
+ {
+ String sOld = pBoolDefault->GetSelectEntry();
+ pBoolDefault->SelectEntry(rText);
+ if (!sOld.Equals(rText))
+ LINK(this, OFieldDescControl, ChangeHdl).Call(pBoolDefault);
+ }
+ break;
+ case FIELD_PROPERTY_DEFAULT:
+ if (pDefault)
+ {
+ pDefault->SetText(rText);
+ UpdateFormatSample(pActFieldDescr);
+ }
+ break;
+
+ case FIELD_PROPERTY_REQUIRED:
+ if (pRequired)
+ pRequired->SelectEntry(rText);
+ break;
+
+
+ case FIELD_PROPERTY_TEXTLEN:
+ if (pTextLen)
+ pTextLen->SetText(rText);
+ break;
+
+ case FIELD_PROPERTY_NUMTYPE:
+ if (pNumType)
+ pNumType->SelectEntry(rText);
+ break;
+
+ case FIELD_PROPERTY_AUTOINC:
+ if (pAutoIncrement)
+ {
+ String sOld = pAutoIncrement->GetSelectEntry();
+ pAutoIncrement->SelectEntry(rText);
+ if (!sOld.Equals(rText))
+ LINK(this, OFieldDescControl, ChangeHdl).Call(pAutoIncrement);
+ }
+ break;
+
+ case FIELD_PROPERTY_LENGTH:
+ if (pLength)
+ pLength->SetText(rText);
+ break;
+
+ case FIELD_PROPERTY_SCALE:
+ if (pScale)
+ pScale->SetText(rText);
+ break;
+
+ case FIELD_PROPERTY_FORMAT:
+ if (pActFieldDescr)
+ UpdateFormatSample(pActFieldDescr);
+ break;
+ case FIELD_PRPOERTY_COLUMNNAME:
+ if(m_pColumnName)
+ m_pColumnName->SetText(rText);
+ break;
+ case FIELD_PRPOERTY_TYPE:
+ if(m_pType)
+ m_pType->SelectEntry(rText);
+ break;
+ case FIELD_PRPOERTY_AUTOINCREMENT:
+ if(m_pAutoIncrementValue)
+ m_pAutoIncrementValue->SetText(rText);
+ break;
+ }
+}
+
+//------------------------------------------------------------------------
+IMPL_LINK( OFieldDescControl, FormatClickHdl, Button *, /*pButton*/ )
+{
+ DBG_CHKTHIS(OFieldDescControl,NULL);
+ //////////////////////////////////////////////////////////////////////
+ // Temporaere Column erzeugen, mit der Datenaustausch mit Dialog erfolgt
+ if( !pActFieldDescr )
+ return 0;
+
+ sal_Int32 nOldFormatKey(pActFieldDescr->GetFormatKey());
+ SvxCellHorJustify rOldJustify = pActFieldDescr->GetHorJustify();
+ Reference< XNumberFormatsSupplier > xSupplier = GetFormatter()->getNumberFormatsSupplier();
+ SvNumberFormatsSupplierObj* pSupplierImpl = SvNumberFormatsSupplierObj::getImplementation( xSupplier );
+
+ SvNumberFormatter* pFormatter = pSupplierImpl->GetNumberFormatter();
+ sal_uInt16 nFlags;
+ if(::dbaui::callColumnFormatDialog(this,pFormatter,pActFieldDescr->GetType(),nOldFormatKey,rOldJustify,nFlags,sal_True))
+ {
+ sal_Bool bModified = sal_False;
+ if(nOldFormatKey != pActFieldDescr->GetFormatKey())
+ {
+ pActFieldDescr->SetFormatKey( nOldFormatKey );
+ bModified = sal_True;
+ }
+ if(rOldJustify != pActFieldDescr->GetHorJustify())
+ {
+ pActFieldDescr->SetHorJustify( rOldJustify );
+ bModified = sal_True;
+ }
+
+ if(bModified)
+ {
+ SetModified(sal_True);
+ UpdateFormatSample(pActFieldDescr);
+ }
+ }
+ return 0;
+}
+
+// -----------------------------------------------------------------------
+void OFieldDescControl::SetModified(sal_Bool /*bModified*/)
+{
+}
+//------------------------------------------------------------------------
+IMPL_LINK( OFieldDescControl, ChangeHdl, ListBox *, pListBox )
+{
+ DBG_CHKTHIS(OFieldDescControl,NULL);
+ if ( !pActFieldDescr )
+ return 0;
+
+ if ( pListBox->GetSavedValue() != pListBox->GetSelectEntryPos() )
+ SetModified(sal_True);
+
+ // Sonderbehandlund f"ur Bool Felder
+ if(pListBox == pRequired && pBoolDefault )
+ {
+ // wenn pRequired auf sal_True gesetzt ist, dann darf das sal_Bool Feld nicht den Eintrag <<keiner>> besitzen
+ String sDef = BoolStringUI(::comphelper::getString(pActFieldDescr->GetControlDefault()));
+
+ if(pRequired->GetSelectEntryPos() == 0) // JA
+ {
+ pBoolDefault->RemoveEntry(String(ModuleRes(STR_VALUE_NONE)));
+ if (!sDef.Equals(aYes) && !sDef.Equals(aNo))
+ pBoolDefault->SelectEntryPos(1); // nein als Default
+ else
+ pBoolDefault->SelectEntry(sDef);
+ }
+ else if(pBoolDefault->GetEntryCount() < 3)
+ {
+ pBoolDefault->InsertEntry(String(ModuleRes(STR_VALUE_NONE)));
+ pBoolDefault->SelectEntry(sDef);
+ }
+ }
+
+ // nur fuer AutoIncrement eine Sonderbehandlung
+ if (pListBox == pAutoIncrement)
+ {
+ if(pListBox->GetSelectEntryPos() == 1)
+ { // no
+ DeactivateAggregate( tpAutoIncrementValue );
+ if(pActFieldDescr->IsPrimaryKey())
+ DeactivateAggregate( tpRequired );
+ else if( pActFieldDescr->getTypeInfo()->bNullable )
+ {
+ ActivateAggregate( tpRequired );
+ if(pRequired)
+ {
+ if( pActFieldDescr->IsNullable() )
+ pRequired->SelectEntryPos( 1 ); // no
+ else
+ pRequired->SelectEntryPos( 0 ); // yes
+ }
+ }
+ ActivateAggregate( tpDefault );
+ }
+ else
+ {
+ DeactivateAggregate( tpRequired );
+ DeactivateAggregate( tpDefault );
+ ActivateAggregate( tpAutoIncrementValue );
+ }
+ // und jetzt alle nach oben schieben
+ ArrangeAggregates();
+ }
+
+ if(pListBox == m_pType)
+ {
+ TOTypeInfoSP pTypeInfo = getTypeInfo(m_pType->GetSelectEntryPos());
+ pActFieldDescr->FillFromTypeInfo(pTypeInfo,sal_True,sal_False); // SetType(pTypeInfo);
+
+ DisplayData(pActFieldDescr);
+ CellModified(-1, m_pType->GetPos());
+ }
+
+ return 0;
+}
+//------------------------------------------------------------------------------
+// alle Control neu anordnen, so dass sie in fester Reihenfolge und wirklich
+// OBEN auf der DescriptionPage stehen
+void OFieldDescControl::ArrangeAggregates()
+{
+ DBG_CHKTHIS(OFieldDescControl,NULL);
+ // die Beschreibung eines Controls
+ struct AGGREGATE_DESCRIPTION
+ {
+ Control* pctrlInputControl; // das eigentliche Control zur Eingabe
+ Control* pctrlTextControl; // das Label dazu
+ USHORT nPosSizeArgument; // das zweite Argument fuer SetPosSize
+ };
+ AGGREGATE_DESCRIPTION adAggregates[] = {
+ { m_pColumnName, m_pColumnNameText, 1},
+ { m_pType, m_pTypeText, 1},
+ { pAutoIncrement, pAutoIncrementText, 1 },
+ { m_pAutoIncrementValue, m_pAutoIncrementValueText, 3 },
+ { pNumType, pNumTypeText, 1 },
+ { pRequired, pRequiredText, 1 },
+ { pTextLen, pTextLenText, 1 },
+ { pLength, pLengthText, 1 },
+ { pScale, pScaleText, 1 },
+ { pDefault, pDefaultText, 3 },
+ { pFormatSample, pFormatText, 4 },
+ { pBoolDefault, pBoolDefaultText, 1 },
+ };
+
+ long nMaxWidth = 0;
+ for (size_t i=0; i<sizeof(adAggregates)/sizeof(adAggregates[0]); i++)
+ {
+ if (adAggregates[i].pctrlTextControl)
+ {
+ nMaxWidth = ::std::max<long>(OutputDevice::GetTextWidth(adAggregates[i].pctrlTextControl->GetText()),nMaxWidth);
+ }
+ }
+
+ OSL_ENSURE(nMaxWidth != 0,"Invalid width!");
+
+ // und los ...
+ int nCurrentControlPos = 0;
+ Control* pZOrderPredecessor = NULL;
+ for (size_t i=0; i<sizeof(adAggregates)/sizeof(adAggregates[0]); i++)
+ {
+ if (adAggregates[i].pctrlInputControl)
+ {
+ SetPosSize(&adAggregates[i].pctrlTextControl, nCurrentControlPos, 0);
+ SetPosSize(&adAggregates[i].pctrlInputControl, nCurrentControlPos, adAggregates[i].nPosSizeArgument);
+
+ // die Z-Order so, dass die Controls auch wirklich in derselben Reihenfolge durchwandert werden koennen, in der sie
+ // hier angeordnet wurden
+ adAggregates[i].pctrlInputControl->SetZOrder(pZOrderPredecessor, pZOrderPredecessor ? WINDOW_ZORDER_BEHIND : WINDOW_ZORDER_FIRST);
+ pZOrderPredecessor = adAggregates[i].pctrlInputControl;
+
+ if (adAggregates[i].pctrlInputControl == pFormatSample)
+ {
+ pFormat->SetZOrder(pZOrderPredecessor, WINDOW_ZORDER_BEHIND);
+ pZOrderPredecessor = pFormat;
+ }
+
+ ++nCurrentControlPos;
+ }
+ }
+
+ // eine Sonderbehandlung fuer die Format-Controls
+ if (pFormat)
+ {
+ Point ptSamplePos(pFormatSample->GetPosPixel());
+ Size szSampleSize(pFormatSample->GetSizePixel());
+ pFormat->SetPosPixel(Point(ptSamplePos.X() + szSampleSize.Width() + 5, ptSamplePos.Y()));
+ }
+
+ // als letztes noch die ScrollBars in der ZOrder ganz nach oben
+ m_pVertScroll->SetZOrder(NULL, WINDOW_ZORDER_FIRST);
+ m_pHorzScroll->SetZOrder(NULL, WINDOW_ZORDER_FIRST);
+}
+
+//------------------------------------------------------------------------------
+void OFieldDescControl::ActivateAggregate( EControlType eType )
+{
+ DBG_CHKTHIS(OFieldDescControl,NULL);
+ //////////////////////////////////////////////////////////////////////
+ // Controls erzeugen
+ switch( eType )
+ {
+ case tpDefault:
+ if( pDefault )
+ return;
+ m_nPos++;
+ pDefaultText =new FixedText( this );
+ pDefaultText->SetText( ModuleRes(STR_DEFAULT_VALUE) );
+ pDefault = new OPropEditCtrl( this, STR_HELP_DEFAULT_VALUE, FIELD_PROPERTY_DEFAULT, WB_BORDER );
+ pDefault->SetHelpId(HID_TAB_ENT_DEFAULT);
+ // SetPosSize( (Control**)&pDefaultText, m_nPos, 0 );
+ // SetPosSize( (Control**)&pDefault, m_nPos, 3 );
+
+ pDefault->SetGetFocusHdl(LINK(this, OFieldDescControl, OnControlFocusGot));
+ pDefault->SetLoseFocusHdl(LINK(this, OFieldDescControl, OnControlFocusLost));
+
+ pDefaultText->EnableClipSiblings();
+ pDefault->EnableClipSiblings();
+ break;
+ case tpAutoIncrementValue:
+ if( m_pAutoIncrementValue || !isAutoIncrementValueEnabled() )
+ return;
+ m_nPos++;
+ m_pAutoIncrementValueText =new FixedText( this );
+ m_pAutoIncrementValueText->SetText( ModuleRes(STR_AUTOINCREMENT_VALUE) );
+ m_pAutoIncrementValue = new OPropEditCtrl( this, STR_HELP_AUTOINCREMENT_VALUE, FIELD_PRPOERTY_AUTOINCREMENT, WB_BORDER );
+ m_pAutoIncrementValue->SetHelpId(HID_TAB_AUTOINCREMENTVALUE);
+ // SetPosSize( (Control**)&m_pAutoIncrementValueText, m_nPos, 0 );
+ // SetPosSize( (Control**)&m_pAutoIncrementValue, m_nPos, 3 );
+
+ m_pAutoIncrementValue->SetGetFocusHdl(LINK(this, OFieldDescControl, OnControlFocusGot));
+ m_pAutoIncrementValue->SetLoseFocusHdl(LINK(this, OFieldDescControl, OnControlFocusLost));
+
+ m_pAutoIncrementValueText->EnableClipSiblings();
+ m_pAutoIncrementValue->EnableClipSiblings();
+ m_pAutoIncrementValue->SetText( getAutoIncrementValue() );
+ break;
+
+ case tpRequired:
+ {
+ if( pRequired )
+ return;
+ Reference< XDatabaseMetaData> xMetaData = getMetaData();
+
+ if(xMetaData.is() && xMetaData->supportsNonNullableColumns())
+ {
+ m_nPos++;
+ pRequiredText =new FixedText( this );
+ pRequiredText->SetText( ModuleRes(STR_FIELD_REQUIRED) );
+ pRequired = new OPropListBoxCtrl( this, STR_HELP_FIELD_REQUIRED, FIELD_PROPERTY_REQUIRED, WB_DROPDOWN);
+ pRequired->SetHelpId(HID_TAB_ENT_REQUIRED);
+
+ pRequired->InsertEntry( aYes );
+ pRequired->InsertEntry( aNo );
+ pRequired->SelectEntryPos(1);
+ pRequired->SetSelectHdl(LINK(this,OFieldDescControl,ChangeHdl));
+
+ pRequired->SetGetFocusHdl(LINK(this, OFieldDescControl, OnControlFocusGot));
+ pRequired->SetLoseFocusHdl(LINK(this, OFieldDescControl, OnControlFocusLost));
+
+ pRequiredText->EnableClipSiblings();
+ pRequired->EnableClipSiblings();
+ }
+ }
+ break;
+ case tpAutoIncrement:
+ {
+ if( pAutoIncrement )
+ return;
+ m_nPos++;
+ pAutoIncrementText =new FixedText( this );
+ pAutoIncrementText->SetText( ModuleRes(STR_FIELD_AUTOINCREMENT) );
+ pAutoIncrement = new OPropListBoxCtrl( this, STR_HELP_AUTOINCREMENT, FIELD_PROPERTY_AUTOINC, WB_DROPDOWN );
+ pAutoIncrement->SetHelpId(HID_TAB_ENT_AUTOINCREMENT);
+
+ pAutoIncrement->InsertEntry( aYes );
+ pAutoIncrement->InsertEntry( aNo );
+ pAutoIncrement->SelectEntryPos(0);
+ pAutoIncrement->SetSelectHdl(LINK(this,OFieldDescControl,ChangeHdl));
+
+ pAutoIncrement->SetGetFocusHdl(LINK(this, OFieldDescControl, OnControlFocusGot));
+ pAutoIncrement->SetLoseFocusHdl(LINK(this, OFieldDescControl, OnControlFocusLost));
+
+ pAutoIncrementText->EnableClipSiblings();
+ pAutoIncrement->EnableClipSiblings();
+ }
+ break;
+ case tpTextLen:
+ if( pTextLen )
+ return;
+ m_nPos++;
+ pTextLenText =new FixedText( this );
+ pTextLenText->SetText( ModuleRes(STR_TEXT_LENGTH) );
+
+ pTextLen = new OPropNumericEditCtrl( this, STR_HELP_TEXT_LENGTH, FIELD_PROPERTY_TEXTLEN, WB_BORDER );
+ pTextLen->SetDecimalDigits(0);
+ pTextLen->SetMin(0);
+ pTextLen->SetMax(0x7FFFFFFF); // soll draussen geaendert werden, wenn noetig
+ pTextLen->SetStrictFormat(TRUE);
+
+ pTextLen->SetHelpId(HID_TAB_ENT_TEXT_LEN);
+
+ pTextLen->SetGetFocusHdl(LINK(this, OFieldDescControl, OnControlFocusGot));
+ pTextLen->SetLoseFocusHdl(LINK(this, OFieldDescControl, OnControlFocusLost));
+
+ pTextLenText->EnableClipSiblings();
+ pTextLen->EnableClipSiblings();
+ break;
+
+ case tpType:
+ if( m_pType)
+ return;
+ m_nPos++;
+ m_pTypeText =new FixedText( this );
+ m_pTypeText->SetText( ModuleRes(STR_TAB_FIELD_DATATYPE) );
+ m_pType = new OPropListBoxCtrl( this, STR_HELP_AUTOINCREMENT, FIELD_PRPOERTY_TYPE, WB_DROPDOWN );
+ m_pType->SetHelpId(HID_TAB_ENT_TYPE);
+ m_pType->SetDropDownLineCount(20);
+ {
+ const OTypeInfoMap* pTypeInfo = getTypeInfo();
+ OTypeInfoMap::const_iterator aIter = pTypeInfo->begin();
+ for(;aIter != pTypeInfo->end();++aIter)
+ m_pType->InsertEntry( aIter->second->aUIName );
+ }
+ m_pType->SelectEntryPos(0);
+ m_pType->SetSelectHdl(LINK(this,OFieldDescControl,ChangeHdl));
+
+ m_pType->SetGetFocusHdl(LINK(this, OFieldDescControl, OnControlFocusGot));
+ m_pType->SetLoseFocusHdl(LINK(this, OFieldDescControl, OnControlFocusLost));
+
+ m_pTypeText->EnableClipSiblings();
+ m_pType->EnableClipSiblings();
+ break;
+ case tpColumnName:
+ if( m_pColumnName )
+ return;
+ m_nPos++;
+ {
+ Reference< XDatabaseMetaData> xMetaData = getMetaData();
+ sal_uInt32 nMax = xMetaData.is() ? xMetaData->getMaxColumnNameLength() : EDIT_NOLIMIT;
+ m_pColumnNameText =new FixedText( this );
+ m_pColumnNameText->SetText( ModuleRes(STR_TAB_FIELD_NAME) );
+ ::rtl::OUString aTmpString( xMetaData.is() ? xMetaData->getExtraNameCharacters() : ::rtl::OUString() );
+ m_pColumnName = new OPropColumnEditCtrl( this,
+ aTmpString,
+ STR_HELP_DEFAULT_VALUE,
+ FIELD_PRPOERTY_COLUMNNAME,
+ WB_BORDER );
+ m_pColumnName->SetHelpId(HID_TAB_ENT_COLUMNNAME);
+ m_pColumnName->SetMaxTextLen(xub_StrLen( nMax ? nMax : EDIT_NOLIMIT));
+ m_pColumnName->setCheck( isSQL92CheckEnabled(getConnection()) );
+ }
+
+ m_pColumnName->SetGetFocusHdl(LINK(this, OFieldDescControl, OnControlFocusGot));
+ m_pColumnName->SetLoseFocusHdl(LINK(this, OFieldDescControl, OnControlFocusLost));
+
+ m_pColumnNameText->EnableClipSiblings();
+ m_pColumnName->EnableClipSiblings();
+ break;
+ case tpNumType:
+ if( pNumType )
+ return;
+ m_nPos++;
+ pNumTypeText =new FixedText( this );
+ pNumTypeText->SetText( ModuleRes(STR_NUMERIC_TYPE) );
+
+ pNumType = new OPropListBoxCtrl( this, STR_HELP_NUMERIC_TYPE, FIELD_PROPERTY_NUMTYPE, WB_DROPDOWN );
+ pNumType->SetDropDownLineCount(5);
+ pNumType->SetHelpId(HID_TAB_ENT_NUMTYP);
+
+ pNumType->InsertEntry( String::CreateFromAscii("Byte") );
+ pNumType->InsertEntry( String::CreateFromAscii("SmallInt") );
+ pNumType->InsertEntry( String::CreateFromAscii("Integer") );
+ pNumType->InsertEntry( String::CreateFromAscii("Single") );
+ pNumType->InsertEntry( String::CreateFromAscii("Double") );
+ pNumType->SelectEntryPos(2);
+ pNumType->SetSelectHdl(LINK(this,OFieldDescControl,ChangeHdl));
+
+ pNumType->SetGetFocusHdl(LINK(this, OFieldDescControl, OnControlFocusGot));
+ pNumType->SetLoseFocusHdl(LINK(this, OFieldDescControl, OnControlFocusLost));
+
+ pNumTypeText->EnableClipSiblings();
+ pNumType->EnableClipSiblings();
+ break;
+
+ case tpLength:
+ if( pLength )
+ return;
+ m_nPos++;
+ pLengthText =new FixedText( this );
+ pLengthText->SetText( ModuleRes(STR_LENGTH) );
+
+ pLength = new OPropNumericEditCtrl( this, STR_HELP_LENGTH, FIELD_PROPERTY_LENGTH, WB_BORDER );
+ pLength->SetDecimalDigits(0);
+ pLength->SetMin(0);
+ pLength->SetMax(0x7FFFFFFF); // soll draussen geaendert werden, wenn noetig
+ pLength->SetStrictFormat(TRUE);
+
+ pLength->SetHelpId(HID_TAB_ENT_LEN);
+
+ pLength->SetGetFocusHdl(LINK(this, OFieldDescControl, OnControlFocusGot));
+ pLength->SetLoseFocusHdl(LINK(this, OFieldDescControl, OnControlFocusLost));
+
+ pLengthText->EnableClipSiblings();
+ pLength->EnableClipSiblings();
+ break;
+
+ case tpScale:
+ if( pScale )
+ return;
+ m_nPos++;
+ pScaleText =new FixedText( this );
+ pScaleText->SetText( ModuleRes(STR_SCALE) );
+ pScale = new OPropNumericEditCtrl( this, STR_HELP_SCALE, FIELD_PROPERTY_SCALE, WB_BORDER );
+ pScale->SetDecimalDigits(0);
+ pScale->SetMin(0);
+ pScale->SetMax(0x7FFFFFFF); // soll draussen geaendert werden, wenn noetig
+ pScale->SetStrictFormat(TRUE);
+
+ pScale->SetHelpId(HID_TAB_ENT_SCALE);
+
+ pScale->SetGetFocusHdl(LINK(this, OFieldDescControl, OnControlFocusGot));
+ pScale->SetLoseFocusHdl(LINK(this, OFieldDescControl, OnControlFocusLost));
+
+ pScaleText->EnableClipSiblings();
+ pScale->EnableClipSiblings();
+ break;
+
+ case tpFormat:
+ if (!pFormat)
+ {
+ m_nPos++;
+ pFormatText =new FixedText( this );
+ pFormatText->SetText( ModuleRes(STR_FORMAT) );
+
+ pFormatSample = new OPropEditCtrl( this, STR_HELP_FORMAT_CODE, -1, WB_BORDER );
+ pFormatSample->SetHelpId(HID_TAB_ENT_FORMAT_SAMPLE);
+ pFormatSample->SetReadOnly(sal_True);
+ pFormatSample->Enable(sal_False);
+
+ pFormat = new PushButton( this, ModuleRes(PB_FORMAT) );
+ pFormat->SetHelpId(HID_TAB_ENT_FORMAT);
+ const sal_Int32 nControlHeight = LogicToPixel(Size(0, CONTROL_HEIGHT),MAP_APPFONT).Height();
+ pFormat->SetSizePixel(Size(nControlHeight, nControlHeight));
+ pFormat->SetClickHdl( LINK( this, OFieldDescControl, FormatClickHdl ) );
+
+ pFormatSample->SetGetFocusHdl(LINK(this, OFieldDescControl, OnControlFocusGot));
+ pFormatSample->SetLoseFocusHdl(LINK(this, OFieldDescControl, OnControlFocusLost));
+ pFormat->SetGetFocusHdl(LINK(this, OFieldDescControl, OnControlFocusGot));
+ pFormat->SetLoseFocusHdl(LINK(this, OFieldDescControl, OnControlFocusLost));
+
+ pFormatText->EnableClipSiblings();
+ pFormatSample->EnableClipSiblings();
+ pFormat->EnableClipSiblings();
+ }
+
+ UpdateFormatSample(pActFieldDescr);
+ break;
+ case tpBoolDefault:
+ if (pBoolDefault)
+ return;
+
+ m_nPos++;
+ pBoolDefaultText =new FixedText(this);
+ pBoolDefaultText->SetText(ModuleRes(STR_DEFAULT_VALUE));
+ pBoolDefault = new OPropListBoxCtrl( this, STR_HELP_BOOL_DEFAULT, FIELD_PROPERTY_BOOL_DEFAULT, WB_DROPDOWN );
+ pBoolDefault->SetDropDownLineCount(3);
+ pBoolDefault->InsertEntry(String(ModuleRes(STR_VALUE_NONE)));
+ pBoolDefault->InsertEntry(aYes);
+ pBoolDefault->InsertEntry(aNo);
+ pBoolDefault->SetHelpId(HID_TAB_ENT_BOOL_DEFAULT);
+
+ pBoolDefault->SetGetFocusHdl(LINK(this, OFieldDescControl, OnControlFocusGot));
+ pBoolDefault->SetLoseFocusHdl(LINK(this, OFieldDescControl, OnControlFocusLost));
+
+ pBoolDefaultText->EnableClipSiblings();
+ pBoolDefault->EnableClipSiblings();
+ break;
+
+ }
+}
+
+//------------------------------------------------------------------------------
+void OFieldDescControl::DeactivateAggregate( EControlType eType )
+{
+ DBG_CHKTHIS(OFieldDescControl,NULL);
+ pLastFocusWindow = NULL;
+ //////////////////////////////////////////////////////////////////////
+ // Controls zerstoeren
+ switch( eType )
+ {
+ case tpDefault:
+ if( !pDefault )
+ return;
+ m_nPos--;
+ pDefault->Hide();
+ pDefaultText->Hide();
+ delete pDefault;
+ delete pDefaultText;
+ pDefault = NULL;
+ pDefaultText =NULL;
+ break;
+
+ case tpAutoIncrementValue:
+ if( !m_pAutoIncrementValue )
+ return;
+ m_nPos--;
+ m_pAutoIncrementValue->Hide();
+ m_pAutoIncrementValueText->Hide();
+ delete m_pAutoIncrementValue;
+ delete m_pAutoIncrementValueText;
+ m_pAutoIncrementValue = NULL;
+ m_pAutoIncrementValueText =NULL;
+ break;
+
+ case tpColumnName:
+ if( !m_pColumnName )
+ return;
+ m_nPos--;
+ m_pColumnName->Hide();
+ m_pColumnNameText->Hide();
+ delete m_pColumnName;
+ delete m_pColumnNameText;
+ m_pColumnName = NULL;
+ m_pColumnNameText =NULL;
+ break;
+
+ case tpType:
+ if( !m_pType )
+ return;
+ m_nPos--;
+ m_pType->Hide();
+ m_pTypeText->Hide();
+ delete m_pType;
+ delete m_pTypeText;
+ m_pType = NULL;
+ m_pTypeText =NULL;
+ break;
+
+ case tpAutoIncrement:
+ if( !pAutoIncrement )
+ return;
+ m_nPos--;
+ pAutoIncrement->Hide();
+ pAutoIncrementText->Hide();
+ delete pAutoIncrement;
+ delete pAutoIncrementText;
+ pAutoIncrement = NULL;
+ pAutoIncrementText =NULL;
+ break;
+
+ case tpRequired:
+ if( !pRequired )
+ return;
+ m_nPos--;
+ pRequired->Hide();
+ pRequiredText->Hide();
+ delete pRequired;
+ delete pRequiredText;
+ pRequired = NULL;
+ pRequiredText =NULL;
+ break;
+
+ case tpTextLen:
+ if( !pTextLen )
+ return;
+ m_nPos--;
+ pTextLen->Hide();
+ pTextLenText->Hide();
+ delete pTextLen;
+ delete pTextLenText;
+ pTextLen = NULL;
+ pTextLenText =NULL;
+ break;
+
+ case tpNumType:
+ if( !pNumType )
+ return;
+ m_nPos--;
+ pNumType->Hide();
+ pNumTypeText->Hide();
+ delete pNumType;
+ delete pNumTypeText;
+ pNumType = NULL;
+ pNumTypeText =NULL;
+ break;
+
+ case tpLength:
+ if( !pLength )
+ return;
+ m_nPos--;
+ pLength->Hide();
+ pLengthText->Hide();
+ delete pLength;
+ delete pLengthText;
+ pLength = NULL;
+ pLengthText =NULL;
+ break;
+
+ case tpScale:
+ if( !pScale )
+ return;
+ m_nPos--;
+ pScale->Hide();
+ pScaleText->Hide();
+ delete pScale;
+ delete pScaleText;
+ pScale = NULL;
+ pScaleText =NULL;
+ break;
+
+ case tpFormat:
+ if( !pFormat )
+ return;
+ pFormatText->Hide();
+ pFormatSample->Hide();
+ pFormat->Hide();
+ delete pFormatText;
+ delete pFormatSample;
+ delete pFormat;
+ pFormatText =NULL;
+ pFormatSample = NULL;
+ pFormat = NULL;
+ break;
+ case tpBoolDefault:
+ if (!pBoolDefault)
+ return;
+ m_nPos--;
+ pBoolDefault->Hide();
+ pBoolDefaultText->Hide();
+ delete pBoolDefault;
+ delete pBoolDefaultText;
+ pBoolDefault = NULL;
+ pBoolDefaultText =NULL;
+ break;
+
+ }
+}
+
+//------------------------------------------------------------------------------
+void OFieldDescControl::SetPosSize( Control** ppControl, long nRow, sal_uInt16 nCol )
+{
+ DBG_CHKTHIS(OFieldDescControl,NULL);
+
+ //////////////////////////////////////////////////////////////////////
+ // Groesse ermitteln
+ const sal_Int32 nControlHeight = LogicToPixel(Size(0, CONTROL_HEIGHT),MAP_APPFONT).Height();
+ Size aSize;
+ switch( nCol )
+ {
+ case 0:
+ aSize.Width() = CONTROL_WIDTH_1;
+ aSize.Height() = nControlHeight;
+ break;
+ case 1:
+ if ( isRightAligned() )
+ aSize.Width() = LogicToPixel(Size(m_nWidth, 0),MAP_APPFONT).Width();
+ else
+ aSize.Width() = CONTROL_WIDTH_2;
+ aSize.Height() = nControlHeight;
+ break;
+ case 2:
+ if ( isRightAligned() )
+ aSize.Width() = LogicToPixel(Size(m_nWidth, 0),MAP_APPFONT).Width();
+ else
+ aSize.Width() = CONTROL_WIDTH_2;
+ aSize.Height() = long(1.5*nControlHeight);
+ break;
+ case 3:
+ if ( isRightAligned() )
+ aSize.Width() = LogicToPixel(Size(m_nWidth, 0),MAP_APPFONT).Width();
+ else
+ aSize.Width() = CONTROL_WIDTH_3;
+ aSize.Height() = nControlHeight;
+ break;
+ case 4:
+ if ( isRightAligned() )
+ aSize.Width() = LogicToPixel(Size(m_nWidth, 0),MAP_APPFONT).Width();
+ else
+ aSize.Width() = CONTROL_WIDTH_4;
+ aSize.Height() = nControlHeight;
+ break;
+ default:
+ if ( isRightAligned() )
+ aSize.Width() = LogicToPixel(Size(m_nWidth, 0),MAP_APPFONT).Width();
+ else
+ aSize.Width() = CONTROL_WIDTH_1;
+ aSize.Height() = nControlHeight;
+ }
+
+
+ //////////////////////////////////////////////////////////////////////
+ // Position ermitteln
+ Point aPosition;
+ switch( nCol )
+ {
+ case 0:
+ aPosition.X() = 0;
+ aPosition.Y() = 1;
+ break;
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ if ( isRightAligned() )
+ {
+ Size aOwnSize = GetSizePixel();
+ aPosition.X() = aOwnSize.Width() - aSize.Width();
+ }
+ else
+ aPosition.X() = CONTROL_WIDTH_1 + CONTROL_SPACING_X;
+ break;
+ default:
+ aPosition.X() = 0;
+ }
+
+ (*ppControl)->SetSizePixel( aSize );
+ aSize = (*ppControl)->GetSizePixel( );
+
+ const sal_Int32 nControl_Spacing_y = LogicToPixel(Size(0, CONTROL_SPACING_Y),MAP_APPFONT).Height();
+ aPosition.Y() += ((nRow+1)*nControl_Spacing_y) +
+ (nRow*nControlHeight);
+
+ //////////////////////////////////////////////////////////////////////
+ // Control anzeigen
+ (*ppControl)->SetPosSizePixel( aPosition, aSize );
+ aSize = (*ppControl)->GetSizePixel();
+
+ (*ppControl)->Show();
+}
+//------------------------------------------------------------------------------
+void OFieldDescControl::DisplayData(OFieldDescription* pFieldDescr )
+{
+ DBG_CHKTHIS(OFieldDescControl,NULL);
+ pActFieldDescr = pFieldDescr;
+ if(!pFieldDescr)
+ {
+ DeactivateAggregate( tpDefault );
+ DeactivateAggregate( tpRequired );
+ DeactivateAggregate( tpTextLen );
+ DeactivateAggregate( tpNumType );
+ DeactivateAggregate( tpScale );
+ DeactivateAggregate( tpLength );
+ DeactivateAggregate( tpFormat );
+ DeactivateAggregate( tpAutoIncrement );
+ DeactivateAggregate( tpBoolDefault );
+ DeactivateAggregate( tpColumnName );
+ DeactivateAggregate( tpType );
+ DeactivateAggregate( tpAutoIncrementValue );
+ m_pPreviousType = TOTypeInfoSP();
+ //////////////////////////////////////////////////////////////////////
+ // Zeiger des gespeicherten Focus zuruecksetzen
+ pLastFocusWindow = NULL;
+ if ( m_bAdded )
+ {
+ ::dbaui::notifySystemWindow(this,this,::comphelper::mem_fun(&TaskPaneList::RemoveWindow));
+ m_bAdded = sal_False;
+ }
+ return;
+ }
+
+ if ( !m_bAdded )
+ {
+ ::dbaui::notifySystemWindow(this,this,::comphelper::mem_fun(&TaskPaneList::AddWindow));
+ m_bAdded = sal_True;
+ }
+
+ TOTypeInfoSP pFieldType;
+ if( pFieldDescr )
+ pFieldType = pFieldDescr->getTypeInfo();
+
+ ActivateAggregate( tpColumnName );
+ ActivateAggregate( tpType );
+
+ OSL_ENSURE(pFieldType.get(),"We need a type information here!");
+ //////////////////////////////////////////////////////////////////////
+ // Wenn sich der Typ geaendert hat, Controls austauschen
+ if( m_pPreviousType != pFieldType )
+ {
+ //////////////////////////////////////////////////////////////////////
+ // Zeiger des gespeicherten Focus zuruecksetzen
+ pLastFocusWindow = NULL;
+
+ //////////////////////////////////////////////////////////////////////
+ // Controls, die nicht mehr angezeigt werden duerfen
+ DeactivateAggregate( tpNumType );
+
+ //////////////////////////////////////////////////////////////////////
+ // determine which controls we should show and which not
+
+ // 1. the required control
+ if ( pFieldType->bNullable )
+ ActivateAggregate( tpRequired );
+ else
+ DeactivateAggregate( tpRequired );
+
+ // 2. the autoincrement
+ if ( pFieldType->bAutoIncrement )
+ {
+ DeactivateAggregate( tpRequired );
+ DeactivateAggregate( tpDefault );
+ ActivateAggregate( tpAutoIncrement );
+ ActivateAggregate( tpAutoIncrementValue );
+ }
+ else
+ {
+ DeactivateAggregate( tpAutoIncrement );
+ DeactivateAggregate( tpAutoIncrementValue );
+ if(pFieldType->bNullable)
+ ActivateAggregate( tpRequired );
+ else
+ DeactivateAggregate( tpRequired );
+ ActivateAggregate( tpDefault );
+ }
+ // 3. the scale and precision
+ if (pFieldType->nPrecision)
+ {
+ ActivateAggregate( tpLength );
+ pLength->SetMax(::std::max<sal_Int32>(pFieldType->nPrecision,pFieldDescr->GetPrecision()));
+ pLength->SetSpecialReadOnly(pFieldType->aCreateParams.getLength()==0);
+ }
+ else
+ DeactivateAggregate( tpLength );
+
+ if (pFieldType->nMaximumScale)
+ {
+ ActivateAggregate( tpScale );
+ pScale->SetMax(::std::max<sal_Int32>(pFieldType->nMaximumScale,pFieldDescr->GetScale()));
+ pScale->SetMin(pFieldType->nMinimumScale);
+ static const ::rtl::OUString s_sPRECISION(RTL_CONSTASCII_USTRINGPARAM("PRECISION"));
+ pScale->SetSpecialReadOnly(pFieldType->aCreateParams.getLength() == 0 || pFieldType->aCreateParams == s_sPRECISION);
+ }
+ else
+ DeactivateAggregate( tpScale );
+
+ // and now look for type specific things
+ switch( pFieldType->nType )
+ {
+ case DataType::CHAR:
+ case DataType::VARCHAR:
+ case DataType::LONGVARCHAR:
+ DeactivateAggregate( tpLength );
+ DeactivateAggregate( tpBoolDefault );
+
+ ActivateAggregate( tpDefault );
+ ActivateAggregate( tpFormat );
+ if (pFieldType->nPrecision)
+ {
+ ActivateAggregate( tpTextLen );
+ pTextLen->SetMax(::std::max<sal_Int32>(pFieldType->nPrecision,pFieldDescr->GetPrecision()));
+ pTextLen->SetSpecialReadOnly(pFieldType->aCreateParams.getLength()==0);
+ }
+ else
+ DeactivateAggregate( tpTextLen );
+ break;
+ case DataType::DATE:
+ case DataType::TIME:
+ case DataType::TIMESTAMP:
+ DeactivateAggregate( tpLength ); // we don't need a length for date types
+ DeactivateAggregate( tpTextLen );
+ DeactivateAggregate( tpBoolDefault );
+
+ ActivateAggregate( tpDefault );
+ ActivateAggregate( tpFormat );
+ break;
+ case DataType::BIT:
+ case DataType::BOOLEAN:
+ DeactivateAggregate( tpTextLen );
+ DeactivateAggregate( tpFormat );
+ DeactivateAggregate( tpDefault );
+
+ ActivateAggregate( tpBoolDefault );
+ break;
+ case DataType::DECIMAL:
+ case DataType::NUMERIC:
+ case DataType::BIGINT:
+ case DataType::FLOAT:
+ case DataType::DOUBLE:
+ case DataType::TINYINT:
+ case DataType::SMALLINT:
+ case DataType::INTEGER:
+ case DataType::REAL:
+ DeactivateAggregate( tpTextLen );
+ DeactivateAggregate( tpBoolDefault );
+
+ ActivateAggregate( tpFormat );
+ break;
+ case DataType::BINARY:
+ case DataType::VARBINARY:
+ DeactivateAggregate( tpDefault );
+ DeactivateAggregate( tpRequired );
+ DeactivateAggregate( tpTextLen );
+ DeactivateAggregate( tpBoolDefault );
+
+ ActivateAggregate( tpFormat );
+ break;
+ case DataType::LONGVARBINARY:
+ case DataType::SQLNULL:
+ case DataType::OBJECT:
+ case DataType::DISTINCT:
+ case DataType::STRUCT:
+ case DataType::ARRAY:
+ case DataType::BLOB:
+ case DataType::CLOB:
+ case DataType::REF:
+ case DataType::OTHER:
+ DeactivateAggregate( tpFormat );
+ DeactivateAggregate( tpTextLen );
+ DeactivateAggregate( tpBoolDefault );
+
+ break;
+ default:
+ OSL_ENSURE(0,"Unknown type");
+ }
+ m_pPreviousType = pFieldType;
+ }
+ if(pFieldDescr)
+ {
+ if(pFieldDescr->IsPrimaryKey())
+ {
+ DeactivateAggregate( tpRequired );
+ }
+ else if ( !pAutoIncrement && pFieldType.get() )
+ {
+ if ( pFieldType->bNullable )
+ ActivateAggregate( tpRequired );
+ else
+ DeactivateAggregate( tpRequired );
+ }
+ }
+ //////////////////////////////////////////////////////////////////////
+ // Controls initialisieren
+ if( pAutoIncrement )
+ {
+ if ( pFieldDescr->IsAutoIncrement() )
+ {
+ pAutoIncrement->SelectEntryPos( 0 ); // yes
+ ActivateAggregate( tpAutoIncrementValue );
+ if ( m_pAutoIncrementValue )
+ m_pAutoIncrementValue->SetText(pFieldDescr->GetAutoIncrementValue());
+ DeactivateAggregate( tpRequired );
+ DeactivateAggregate( tpDefault );
+ }
+ else
+ {
+ // disable autoincrement value because it should only be visible when autoincrement is to true
+ DeactivateAggregate( tpAutoIncrementValue );
+ pAutoIncrement->SelectEntryPos( 1 ); // no
+ ActivateAggregate( tpDefault );
+ // hat Auswirkungen auf pRequired
+ if(!pFieldDescr->IsPrimaryKey())
+ ActivateAggregate( tpRequired );
+ }
+ }
+
+ if( pDefault )
+ {
+ pDefault->SetText( getControlDefault(pFieldDescr) );
+ pDefault->ClearModifyFlag();
+ }
+
+ if( pBoolDefault )
+ {
+ // wenn pRequired auf sal_True gesetzt ist, dann darf das sal_Bool Feld nicht den Eintrag <<keiner>> besitzen
+ String sDef = BoolStringUI(::comphelper::getString(pFieldDescr->GetControlDefault()));
+
+ // sicher stellen das <<keiner>> nur vorhanden ist, wenn das Feld NULL sein darf
+ if ( ( pFieldType.get() && !pFieldType->bNullable ) || !pFieldDescr->IsNullable() )
+ {
+ pFieldDescr->SetIsNullable(ColumnValue::NO_NULLS); // der Typ sagt das
+
+ pBoolDefault->RemoveEntry(String(ModuleRes(STR_VALUE_NONE)));
+ if ( !sDef.Equals(aYes) && !sDef.Equals(aNo) )
+ pBoolDefault->SelectEntryPos(1); // nein als Default
+ else
+ pBoolDefault->SelectEntry(sDef);
+
+ pFieldDescr->SetControlDefault(makeAny(::rtl::OUString(BoolStringPersistent(pBoolDefault->GetSelectEntry()))));
+ }
+ else if(pBoolDefault->GetEntryCount() < 3)
+ {
+ pBoolDefault->InsertEntry(String(ModuleRes(STR_VALUE_NONE)));
+ pBoolDefault->SelectEntry(sDef);
+ }
+ else
+ pBoolDefault->SelectEntry(sDef);
+ }
+
+ if( pRequired )
+ {
+ if( pFieldDescr->IsNullable() )
+ pRequired->SelectEntryPos( 1 ); // no
+ else
+ pRequired->SelectEntryPos( 0 ); // yes
+ }
+
+ if( pTextLen )
+ {
+ pTextLen->SetText( String::CreateFromInt32(pFieldDescr->GetPrecision()) );
+ pTextLen->ClearModifyFlag();
+ }
+
+ if( pNumType )
+ {
+ OSL_ENSURE(sal_False, "OFieldDescControl::DisplayData: invalid num type!");
+ }
+
+ if( pLength )
+ pLength->SetText( String::CreateFromInt32(pFieldDescr->GetPrecision()) );
+
+ if( pScale )
+ pScale->SetText( String::CreateFromInt32(pFieldDescr->GetScale()) );
+
+ if( pFormat )
+ UpdateFormatSample(pFieldDescr);
+
+ if(m_pColumnName)
+ m_pColumnName->SetText(pFieldDescr->GetName());
+
+ if(m_pType)
+ {
+ USHORT nPos = pFieldType.get() ? m_pType->GetEntryPos(String(pFieldDescr->getTypeInfo()->aUIName)) : LISTBOX_ENTRY_NOTFOUND;
+ if(nPos == LISTBOX_ENTRY_NOTFOUND)
+ {
+ const OTypeInfoMap* pMap = getTypeInfo();
+ OTypeInfoMap::const_iterator aIter = pMap->find(pFieldType.get() ? pFieldDescr->getTypeInfo()->nType : pFieldDescr->GetType());
+ if(aIter == pMap->end() && !pMap->empty())
+ {
+ aIter = pMap->begin();
+ if(pFieldDescr->GetPrecision() > aIter->second->nPrecision)
+ pFieldDescr->SetPrecision(aIter->second->nPrecision);
+ if(pFieldDescr->GetScale() > aIter->second->nMaximumScale)
+ pFieldDescr->SetScale(0);
+ if(!aIter->second->bNullable && pFieldDescr->IsNullable())
+ pFieldDescr->SetIsNullable(ColumnValue::NO_NULLS);
+ if(!aIter->second->bAutoIncrement && pFieldDescr->IsAutoIncrement())
+ pFieldDescr->SetAutoIncrement(sal_False);
+ }
+ if ( aIter != pMap->end() )
+ {
+ pFieldDescr->SetType(aIter->second);
+ }
+ }
+ m_pType->SelectEntry(pFieldDescr->getTypeInfo()->aUIName);
+ }
+
+
+ //////////////////////////////////////////////////////////////////////
+ // Controls Enablen/Disablen
+ sal_Bool bRead(IsReadOnly());
+
+
+ ArrangeAggregates();
+ CheckScrollBars();
+ ScrollAllAggregates();
+
+ SetReadOnly( bRead );
+}
+//------------------------------------------------------------------------
+IMPL_LINK(OFieldDescControl, DelayedGrabFocus, Control**, ppControl)
+{
+ nDelayedGrabFocusEvent = 0;
+ if (*ppControl)
+ (*ppControl)->GrabFocus();
+
+ return 0L;
+}
+
+//------------------------------------------------------------------------------
+IMPL_LINK(OFieldDescControl, OnControlFocusGot, Control*, pControl )
+{
+ String strHelpText;
+ OPropNumericEditCtrl* pNumeric = dynamic_cast< OPropNumericEditCtrl* >( pControl );
+ if ( pNumeric )
+ {
+ pNumeric->SaveValue();
+ strHelpText = pNumeric->GetHelp();
+ }
+
+ OPropColumnEditCtrl* pColumn = dynamic_cast< OPropColumnEditCtrl* >( pControl );
+ if ( pColumn )
+ {
+ pColumn->SaveValue();
+ strHelpText = pColumn->GetHelp();
+ }
+
+ OPropEditCtrl* pEdit = dynamic_cast< OPropEditCtrl* >( pControl );
+ if ( pEdit )
+ {
+ pEdit->SaveValue();
+ strHelpText = pEdit->GetHelp();
+ }
+
+ OPropListBoxCtrl* pListBox = dynamic_cast< OPropListBoxCtrl* >( pControl );
+ if ( pListBox )
+ {
+ pListBox->SaveValue();
+ strHelpText = pListBox->GetHelp();
+ }
+
+ if (pControl == pFormat)
+ strHelpText =String(ModuleRes(STR_HELP_FORMAT_BUTTON));
+
+ if (strHelpText.Len() && (pHelp != NULL))
+ pHelp->SetHelpText(strHelpText);
+
+ m_pActFocusWindow = pControl;
+
+ return 0L;
+}
+
+//------------------------------------------------------------------------------
+IMPL_LINK(OFieldDescControl, OnControlFocusLost, Control*, pControl )
+{
+ if ((pControl == pLength) || (pControl == pTextLen) || (pControl == pScale))
+ {
+ OPropNumericEditCtrl* pConverted = (OPropNumericEditCtrl*)pControl;
+ if (pConverted->IsModified())
+ CellModified(-1, pConverted->GetPos());
+ }
+ if(pControl == m_pColumnName)
+ {
+ OPropColumnEditCtrl* pConverted = (OPropColumnEditCtrl*)pControl;
+ if (pConverted->IsModified())
+ CellModified(-1, pConverted->GetPos());
+ }
+ else if ((pControl == pDefault) || (pControl == pFormatSample) || (pControl == m_pAutoIncrementValue) )
+ {
+ OPropEditCtrl* pConverted = (OPropEditCtrl*)pControl;
+ if (pConverted->IsModified())
+ CellModified(-1, pConverted->GetPos());
+ }
+ else if ((pControl == pRequired) || (pControl == pNumType) || (pControl == pAutoIncrement) || (pControl == pBoolDefault) || (pControl == m_pType))
+ {
+ OPropListBoxCtrl* pConverted = (OPropListBoxCtrl*)pControl;
+ if (pConverted->IsModified())
+ CellModified(-1, pConverted->GetPos());
+ }
+
+ if (pControl == pDefault)
+ UpdateFormatSample(pActFieldDescr);
+
+ implFocusLost(pControl);
+
+ return 0L;
+}
+//------------------------------------------------------------------------------
+void OFieldDescControl::SaveData( OFieldDescription* pFieldDescr )
+{
+ DBG_CHKTHIS(OFieldDescControl,NULL);
+ if( !pFieldDescr )
+ return;
+
+ //////////////////////////////////////////////////////////////////////
+ // Controls auslesen
+ ::rtl::OUString sDefault;
+ if (pDefault)
+ {
+ if ( pDefault->GetSavedValue() != pDefault->GetText() )
+ sDefault = pDefault->GetText();
+ }
+ else if (pBoolDefault)
+ {
+ sDefault = BoolStringPersistent(pBoolDefault->GetSelectEntry());
+ }
+
+ if ( sDefault.getLength() )
+ {
+ sal_uInt32 nFormatKey;
+ try
+ {
+ if ( isTextFormat(pFieldDescr,nFormatKey) || pBoolDefault )
+ {
+ pFieldDescr->SetControlDefault(makeAny(sDefault));
+ }
+ else
+ {
+ try
+ {
+ double nValue = GetFormatter()->convertStringToNumber(nFormatKey,sDefault);
+ nValue = checkDoubleForDateFormat(nValue,nFormatKey,GetFormatter());
+ pFieldDescr->SetControlDefault(makeAny(nValue));
+ }
+ catch(const Exception&)
+ {
+ if ( sDefault.getLength() )
+ pFieldDescr->SetControlDefault(makeAny(sDefault));
+ else
+ pFieldDescr->SetControlDefault(Any());
+ }
+ }
+ }
+ catch(const Exception&)
+ {
+ }
+ } // if ( sDefault.getLength() )
+ else
+ pFieldDescr->SetControlDefault(Any());
+
+ if((pRequired && pRequired->GetSelectEntryPos() == 0) || pFieldDescr->IsPrimaryKey() || (pBoolDefault && pBoolDefault->GetEntryCount() == 2)) // yes
+ pFieldDescr->SetIsNullable( ColumnValue::NO_NULLS );
+ else
+ pFieldDescr->SetIsNullable( ColumnValue::NULLABLE );
+
+ if ( pAutoIncrement )
+ pFieldDescr->SetAutoIncrement( pAutoIncrement->GetSelectEntryPos() == 0 );
+
+ if( pTextLen )
+ pFieldDescr->SetPrecision( static_cast<sal_Int32>(pTextLen->GetValue()) );
+ else if( pLength )
+ pFieldDescr->SetPrecision( static_cast<sal_Int32>(pLength->GetValue()) );
+ if( pScale )
+ pFieldDescr->SetScale( static_cast<sal_Int32>(pScale->GetValue()) );
+
+ if(m_pColumnName)
+ pFieldDescr->SetName(m_pColumnName->GetText());
+
+ if ( m_pAutoIncrementValue && isAutoIncrementValueEnabled() )
+ pFieldDescr->SetAutoIncrementValue(m_pAutoIncrementValue->GetText());
+}
+
+//------------------------------------------------------------------------------
+void OFieldDescControl::UpdateFormatSample(OFieldDescription* pFieldDescr)
+{
+ if(!pFieldDescr)
+ return;
+ if(!pFormatSample)
+ return;
+
+ pFormatSample->SetText(getControlDefault(pFieldDescr,sal_False));
+}
+
+//------------------------------------------------------------------------------
+void OFieldDescControl::GetFocus()
+{
+ DBG_CHKTHIS(OFieldDescControl,NULL);
+ //////////////////////////////////////////////////////////////////////
+ // Setzt den Focus auf das zuletzt aktive Control
+ TabPage::GetFocus();
+ if( pLastFocusWindow )
+ {
+ pLastFocusWindow->GrabFocus();
+ pLastFocusWindow = NULL;
+ }
+}
+
+//------------------------------------------------------------------------------
+void OFieldDescControl::implFocusLost(Window* _pWhich)
+{
+ DBG_CHKTHIS(OFieldDescControl,NULL);
+ DBG_ASSERT(!_pWhich || IsChild(_pWhich), "OFieldDescControl::implFocusLost : invalid window !");
+
+ //////////////////////////////////////////////////////////////////////
+ // Das aktive Control merken
+ if (!pLastFocusWindow)
+ pLastFocusWindow = _pWhich;
+
+ //////////////////////////////////////////////////////////////////////
+ // HelpText zuruecksetzen
+ if (pHelp && !pHelp->HasChildPathFocus())
+ pHelp->SetHelpText( String() );
+}
+
+//------------------------------------------------------------------------------
+void OFieldDescControl::LoseFocus()
+{
+ DBG_CHKTHIS(OFieldDescControl,NULL);
+
+ implFocusLost(NULL);
+
+ TabPage::LoseFocus();
+}
+// -----------------------------------------------------------------------------
+sal_Bool OFieldDescControl::isCopyAllowed()
+{
+ sal_Bool bAllowed = (m_pActFocusWindow != NULL) &&
+ (m_pActFocusWindow == pDefault || m_pActFocusWindow == pFormatSample ||
+ m_pActFocusWindow == pTextLen || m_pActFocusWindow == pLength ||
+ m_pActFocusWindow == pScale || m_pActFocusWindow == m_pColumnName ||
+ m_pActFocusWindow == m_pAutoIncrementValue) &&
+ static_cast<Edit*>(m_pActFocusWindow)->GetSelected().Len() != 0;
+
+ return bAllowed;
+}
+// -----------------------------------------------------------------------------
+sal_Bool OFieldDescControl::isCutAllowed()
+{
+ sal_Bool bAllowed = (m_pActFocusWindow != NULL) &&
+ (m_pActFocusWindow == pDefault || m_pActFocusWindow == pFormatSample ||
+ m_pActFocusWindow == pTextLen || m_pActFocusWindow == pLength ||
+ m_pActFocusWindow == pScale || m_pActFocusWindow == m_pColumnName ||
+ m_pActFocusWindow == m_pAutoIncrementValue) &&
+ static_cast<Edit*>(m_pActFocusWindow)->GetSelected().Len() != 0;
+ return bAllowed;
+}
+// -----------------------------------------------------------------------------
+sal_Bool OFieldDescControl::isPasteAllowed()
+{
+ sal_Bool bAllowed = (m_pActFocusWindow != NULL) &&
+ (m_pActFocusWindow == pDefault || m_pActFocusWindow == pFormatSample ||
+ m_pActFocusWindow == pTextLen || m_pActFocusWindow == pLength ||
+ m_pActFocusWindow == pScale || m_pActFocusWindow == m_pColumnName ||
+ m_pActFocusWindow == m_pAutoIncrementValue);
+ if ( bAllowed )
+ {
+ TransferableDataHelper aTransferData(TransferableDataHelper::CreateFromSystemClipboard(GetParent()));
+ bAllowed = aTransferData.HasFormat(SOT_FORMAT_STRING);
+ }
+ return bAllowed;
+}
+// -----------------------------------------------------------------------------
+void OFieldDescControl::cut()
+{
+ if(isCutAllowed())
+ static_cast<Edit*>(m_pActFocusWindow)->Cut();
+}
+// -----------------------------------------------------------------------------
+void OFieldDescControl::copy()
+{
+ if(isCopyAllowed()) // this only checks if the focus window is valid
+ static_cast<Edit*>(m_pActFocusWindow)->Copy();
+}
+// -----------------------------------------------------------------------------
+void OFieldDescControl::paste()
+{
+ if(m_pActFocusWindow) // this only checks if the focus window is valid
+ static_cast<Edit*>(m_pActFocusWindow)->Paste();
+}
+// -----------------------------------------------------------------------------
+sal_Bool OFieldDescControl::isTextFormat(const OFieldDescription* _pFieldDescr,sal_uInt32& _nFormatKey) const
+{
+ _nFormatKey = _pFieldDescr->GetFormatKey();
+ sal_Bool bTextFormat = sal_True;
+
+ try
+ {
+ if (!_nFormatKey)
+ {
+ Reference< ::com::sun::star::util::XNumberFormatTypes> xNumberTypes(GetFormatter()->getNumberFormatsSupplier()->getNumberFormats(),UNO_QUERY);
+ OSL_ENSURE(xNumberTypes.is(),"XNumberFormatTypes is null!");
+
+ _nFormatKey = ::dbtools::getDefaultNumberFormat( _pFieldDescr->GetType(),
+ _pFieldDescr->GetScale(),
+ _pFieldDescr->IsCurrency(),
+ xNumberTypes,
+ GetLocale());
+ }
+ sal_Int32 nNumberFormat = ::comphelper::getNumberFormatType(GetFormatter(),_nFormatKey);
+ bTextFormat = (nNumberFormat == ::com::sun::star::util::NumberFormat::TEXT);
+ }
+ catch(const Exception&)
+ {
+
+ }
+
+ return bTextFormat;
+}
+// -----------------------------------------------------------------------------
+String OFieldDescControl::getControlDefault( const OFieldDescription* _pFieldDescr ,sal_Bool _bCheck) const
+{
+ ::rtl::OUString sDefault;
+ sal_Bool bCheck = !_bCheck || _pFieldDescr->GetControlDefault().hasValue();
+ if ( bCheck )
+ {
+ sal_uInt32 nFormatKey;
+ sal_Bool bTextFormat = sal_False;
+ double nValue = 0.0;
+
+ try
+ {
+ bTextFormat = isTextFormat(_pFieldDescr,nFormatKey);
+ if ( _pFieldDescr->GetControlDefault() >>= sDefault )
+ {
+ if ( !bTextFormat )
+ {
+ if ( sDefault.getLength() )
+ {
+ try
+ {
+ nValue = GetFormatter()->convertStringToNumber(nFormatKey,sDefault);
+ }
+ catch(const Exception&)
+ {
+ return ::rtl::OUString(); // return empty string for format example
+ }
+ }
+ }
+ }
+ else
+ _pFieldDescr->GetControlDefault() >>= nValue;
+
+
+ Reference< ::com::sun::star::util::XNumberFormatter> xNumberFormatter = GetFormatter();
+ Reference<XPropertySet> xFormSet = xNumberFormatter->getNumberFormatsSupplier()->getNumberFormats()->getByKey(nFormatKey);
+ OSL_ENSURE(xFormSet.is(),"XPropertySet is null!");
+ ::rtl::OUString sFormat;
+ xFormSet->getPropertyValue(::rtl::OUString::createFromAscii("FormatString")) >>= sFormat;
+
+ if ( !bTextFormat )
+ {
+ Locale aLocale;
+ ::comphelper::getNumberFormatProperty(xNumberFormatter,nFormatKey,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Locale"))) >>= aLocale;
+
+ sal_Int32 nNumberFormat = ::comphelper::getNumberFormatType(xNumberFormatter,nFormatKey);
+ if( (nNumberFormat & ::com::sun::star::util::NumberFormat::DATE) == ::com::sun::star::util::NumberFormat::DATE
+ || (nNumberFormat & ::com::sun::star::util::NumberFormat::DATETIME) == ::com::sun::star::util::NumberFormat::DATETIME )
+ {
+ nValue = DBTypeConversion::toNullDate(DBTypeConversion::getNULLDate(xNumberFormatter->getNumberFormatsSupplier()),nValue);
+ }
+
+
+
+ Reference< ::com::sun::star::util::XNumberFormatPreviewer> xPreViewer(xNumberFormatter,UNO_QUERY);
+ OSL_ENSURE(xPreViewer.is(),"XNumberFormatPreviewer is null!");
+ sDefault = xPreViewer->convertNumberToPreviewString(sFormat,nValue,aLocale,sal_True);
+ }
+ else if ( !_bCheck || (sDefault.getLength() != 0) )
+ sDefault = xNumberFormatter->formatString(nFormatKey,(sDefault.getLength() != 0 )? sDefault : sFormat);
+ }
+ catch(const Exception&)
+ {
+
+ }
+ }
+
+ return sDefault;
+}
+// -----------------------------------------------------------------------------
+
+
+
+
+
diff --git a/dbaccess/source/ui/control/sqledit.cxx b/dbaccess/source/ui/control/sqledit.cxx
index b12f30cf1916..61bc0882570f 100644
--- a/dbaccess/source/ui/control/sqledit.cxx
+++ b/dbaccess/source/ui/control/sqledit.cxx
@@ -66,9 +66,12 @@ OSqlEdit::OSqlEdit( OQueryTextView* pParent, WinBits nWinStyle ) :
m_timerInvalidate.Start();
ImplSetFont();
- // listen for change of Font Setting
+ // listen for change of Font and Color Settings
StartListening(m_SourceViewConfig);
StartListening(m_ColorConfig);
+
+ //#i97044#
+ EnableFocusSelectionHide( FALSE );
}
//------------------------------------------------------------------------------
diff --git a/dbaccess/source/ui/querydesign/QueryTableView.cxx b/dbaccess/source/ui/querydesign/QueryTableView.cxx
index 8e42896b79c7..2d2623e4b246 100644
--- a/dbaccess/source/ui/querydesign/QueryTableView.cxx
+++ b/dbaccess/source/ui/querydesign/QueryTableView.cxx
@@ -636,7 +636,7 @@ void OQueryTableView::AddTabWin(const ::rtl::OUString& _rComposedName, const ::r
break;
}
}
- if(aIter != pTabWins->end())
+ if ( aIter != pTabWins->end() && pNewTabWin != aIter->second )
addConnections( this, *pNewTabWin, *static_cast<OQueryTableWindow*>(aIter->second), xFKeyColumns );
}
break;
diff --git a/dbaccess/util/hidother.src b/dbaccess/util/hidother.src
index bd4de3143e17..08a4620fee86 100644
--- a/dbaccess/util/hidother.src
+++ b/dbaccess/util/hidother.src
@@ -1,518 +1,519 @@
-/*************************************************************************
-*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * $RCSfile: hidother.src,v $
- * $Revision: 1.69 $
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
-************************************************************************/
-
-#include "../inc/dbaccess_helpid.hrc"
-#include "../inc/dbaccess_slotid.hrc"
-#ifndef _SBASLTID_HRC
-#include <svx/svxids.hrc>
-#endif
-
-hidspecial HID_DLG_FILTERCRIT { HelpId = HID_DLG_FILTERCRIT; };
-hidspecial HID_DLG_ORDERCRIT { HelpId = HID_DLG_ORDERCRIT; };
-hidspecial HID_DATABROWSE_HEADER { HelpId = HID_DATABROWSE_HEADER; };
-hidspecial HID_CTL_TABBROWSER { HelpId = HID_CTL_TABBROWSER; };
-hidspecial UID_DATABROWSE_DATAWINDOW { HelpId = UID_DATABROWSE_DATAWINDOW; };
-hidspecial HID_CTL_TREEVIEW { HelpId = HID_CTL_TREEVIEW; };
-hidspecial UID_CTL_CONTENT { HelpId = UID_CTL_CONTENT; };
-hidspecial HID_TLB_TABBROWSER { HelpId = HID_TLB_TABBROWSER; };
-hidspecial HID_TLB_TREELISTBOX { HelpId = HID_TLB_TREELISTBOX; };
-
-hidspecial HID_DSADMIN_DIALOG { HelpId = HID_DSADMIN_DIALOG; };
-hidspecial HID_DSADMIN_CHARSET { HelpId = HID_DSADMIN_CHARSET; };
-hidspecial HID_DSADMIN_TABCONTROL { HelpId = HID_DSADMIN_TABCONTROL; };
-hidspecial HID_DSADMIN_PAGE_GENERAL { HelpId = HID_DSADMIN_PAGE_GENERAL; };
-hidspecial HID_DSADMIN_PAGE_DBASE { HelpId = HID_DSADMIN_PAGE_DBASE; };
-hidspecial HID_DSADMIN_PAGE_JDBC { HelpId = HID_DSADMIN_PAGE_JDBC; };
-hidspecial HID_DSADMIN_PAGE_ODBC { HelpId = HID_DSADMIN_PAGE_ODBC; };
-hidspecial HID_DSADMIN_PAGE_ADABAS { HelpId = HID_DSADMIN_PAGE_ADABAS; };
-hidspecial HID_DSADMIN_PAGE_TEXT { HelpId = HID_DSADMIN_PAGE_TEXT; };
-hidspecial HID_DSADMIN_TABLE_SUBSCRIPTION { HelpId = HID_DSADMIN_TABLE_SUBSCRIPTION; };
-hidspecial HID_DSADMIN_DSACTIONS_NEWDS { HelpId = HID_DSADMIN_DSACTIONS_NEWDS; };
-hidspecial HID_DSADMIN_DSACTIONS_DELETEDS { HelpId = HID_DSADMIN_DSACTIONS_DELETEDS; };
-hidspecial HID_DSADMIN_DSACTIONS_RESTOREDS { HelpId = HID_DSADMIN_DSACTIONS_RESTOREDS; };
-hidspecial HID_DSADMIN_DSNAME { HelpId = HID_DSADMIN_DSNAME; };
-hidspecial HID_DSADMIN_DSTYPE { HelpId = HID_DSADMIN_DSTYPE; };
-hidspecial HID_DSADMIN_URL_GENERAL { HelpId = HID_DSADMIN_URL_GENERAL; };
-hidspecial HID_DSADMIN_BROWSECONN { HelpId = HID_DSADMIN_BROWSECONN; };
-hidspecial HID_DSADMIN_LOGINTIMEOUT_NUMBER { HelpId = HID_DSADMIN_LOGINTIMEOUT_NUMBER; };
-hidspecial HID_DSADMIN_LOGINTIMEOUT_UNIT { HelpId = HID_DSADMIN_LOGINTIMEOUT_UNIT; };
-hidspecial HID_DSADMIN_SHOWDELETED { HelpId = HID_DSADMIN_SHOWDELETED; };
-hidspecial HID_DSADMIN_ALLOWLONG { HelpId = HID_DSADMIN_ALLOWLONG; };
-hidspecial HID_DSADMIN_DBASE_INDICIES { HelpId = HID_DSADMIN_DBASE_INDICIES; };
-hidspecial HID_DSADMIN_DRIVERCLASS { HelpId = HID_DSADMIN_DRIVERCLASS; };
-hidspecial HID_DSADMIN_ODBC_OPTIONS { HelpId = HID_DSADMIN_ODBC_OPTIONS; };
-hidspecial HID_DSADMIN_TEXT_HEADER { HelpId = HID_DSADMIN_TEXT_HEADER; };
-hidspecial HID_DSADMIN_FIELD_SEPARATOR { HelpId = HID_DSADMIN_FIELD_SEPARATOR; };
-hidspecial HID_DSADMIN_TEXT_SEPARATOR { HelpId = HID_DSADMIN_TEXT_SEPARATOR; };
-hidspecial HID_DSADMIN_DECIMAL_SEPARATOR { HelpId = HID_DSADMIN_DECIMAL_SEPARATOR; };
-hidspecial HID_DSADMIN_THOUSANDS_SEPARATOR { HelpId = HID_DSADMIN_THOUSANDS_SEPARATOR; };
-hidspecial HID_DSADMIN_EXTENSION { HelpId = HID_DSADMIN_EXTENSION; };
-hidspecial HID_DSADMIN_ALL_TABLES { HelpId = HID_DSADMIN_ALL_TABLES; };
-hidspecial HID_DSADMIN_NO_TABLES { HelpId = HID_DSADMIN_NO_TABLES; };
-hidspecial HID_DSADMIN_SELECT_TABLES { HelpId = HID_DSADMIN_SELECT_TABLES; };
-hidspecial HID_DSADMIN_TABLE_SELECTOR { HelpId = HID_DSADMIN_TABLE_SELECTOR; };
-hidspecial HID_DSADMIN_SUPPRESS_VERSIONCL { HelpId = HID_DSADMIN_SUPPRESS_VERSIONCL; };
-hidspecial HID_GENERIC_SQL_ERROR { HelpId = HID_GENERIC_SQL_ERROR; };
-hidspecial HID_BROWSER_COLUMNFORMAT { HelpId = HID_BROWSER_COLUMNFORMAT; };
-hidspecial HID_BROWSER_COLUMNWIDTH { HelpId = HID_BROWSER_COLUMNWIDTH; };
-hidspecial HID_BROWSER_TABLEFORMAT { HelpId = HID_BROWSER_TABLEFORMAT; };
-hidspecial HID_BROWSER_ROWHEIGHT { HelpId = HID_BROWSER_ROWHEIGHT; };
-hidspecial HID_BROWSER_EDIT_DATABASE { HelpId = HID_BROWSER_EDIT_DATABASE; };
-hidspecial HID_BROWSER_CLOSECONN { HelpId = HID_BROWSER_CLOSECONN; };
-hidspecial HID_BROWSER_REFRESHCONN { HelpId = HID_BROWSER_REFRESHCONN; };
-hidspecial HID_DSADMIN_SPECIAL_MESSAGE { HelpId = HID_DSADMIN_SPECIAL_MESSAGE; };
-
-hidspecial HID_DLG_ROWHEIGHT { HelpId = HID_DLG_ROWHEIGHT; };
-hidspecial HID_DLG_COLWIDTH { HelpId = HID_DLG_COLWIDTH; };
-hidspecial HID_TLB_QUERYDESIGN { HelpId = HID_TLB_QUERYDESIGN; };
-hidspecial HID_CTL_QRYSQLEDIT { HelpId = HID_CTL_QRYSQLEDIT; };
-
-hidspecial HID_DSADMIN_SPECIAL_MESSAGE { HelpId = HID_DSADMIN_SPECIAL_MESSAGE; };
-
-hidspecial HID_BROWSER_QUERY_CREATE_DESIGN { HelpId = HID_BROWSER_QUERY_CREATE_DESIGN; };
-hidspecial HID_BROWSER_QUERY_CREATE_TEXT { HelpId = HID_BROWSER_QUERY_CREATE_TEXT; };
-
-hidspecial HID_DLG_ERROR { HelpId = HID_DLG_ERROR; };
-hidspecial HID_DLG_TEXT { HelpId = HID_DLG_TEXT; };
-hidspecial UID_SQLERROR_BUTTONMORE { HelpId = UID_SQLERROR_BUTTONMORE; };
-hidspecial HID_DLG_SAVE_AS { HelpId = HID_DLG_SAVE_AS; };
-hidspecial HID_BROWSER_QUERY_EDIT { HelpId = HID_BROWSER_QUERY_EDIT; };
-hidspecial HID_BROWSER_QUERY_DELETE { HelpId = HID_BROWSER_QUERY_DELETE; };
-
-hidspecial HID_DSADMIN_USER_ADO { HelpId = HID_DSADMIN_USER_ADO; };
-hidspecial HID_DSADMIN_PWDREC_ADO { HelpId = HID_DSADMIN_PWDREC_ADO; };
-hidspecial HID_DSADMIN_CONNURL_ADOPAGE { HelpId = HID_DSADMIN_CONNURL_ADOPAGE; };
-hidspecial HID_DSADMIN_PAGE_ADO { HelpId = HID_DSADMIN_PAGE_ADO; };
-
-hidspecial HID_JOINSH_ADDTAB_CLOSE { HelpId = HID_JOINSH_ADDTAB_CLOSE; };
-hidspecial HID_JOINSH_ADDTAB_TABLELIST { HelpId = HID_JOINSH_ADDTAB_TABLELIST; };
-hidspecial HID_JOINSH_ADDTAB_QUERYLIST { HelpId = HID_JOINSH_ADDTAB_QUERYLIST; };
-hidspecial HID_CTL_QRYDGNTAB { HelpId = HID_CTL_QRYDGNTAB; };
-hidspecial HID_DLG_QRY_JOIN { HelpId = HID_DLG_QRY_JOIN; };
-hidspecial HID_DLG_QRY_JOINTYPE { HelpId = HID_DLG_QRY_JOINTYPE; };
-hidspecial HID_DLG_QRY_HELPTEXT { HelpId = HID_DLG_QRY_HELPTEXT; };
-
-hidspecial HID_CTL_QRYDGNCRIT { HelpId = HID_CTL_QRYDGNCRIT; };
-hidspecial HID_QRYDGN_ROW_VISIBLE { HelpId = HID_QRYDGN_ROW_VISIBLE; };
-hidspecial HID_QRYDGN_ROW_TABLE { HelpId = HID_QRYDGN_ROW_TABLE; };
-hidspecial HID_QRYDGN_ROW_FIELD { HelpId = HID_QRYDGN_ROW_FIELD; };
-hidspecial HID_QRYDGN_ROW_ORDER { HelpId = HID_QRYDGN_ROW_ORDER; };
-hidspecial HID_QRYDGN_ROW_FUNCTION { HelpId = HID_QRYDGN_ROW_FUNCTION; };
-hidspecial HID_QRYDGN_ROW_ALIAS { HelpId = HID_QRYDGN_ROW_ALIAS; };
-hidspecial HID_QRYDGN_ROW_CRIT { HelpId = HID_QRYDGN_ROW_CRIT; };
-
-hidspecial HID_QUERY_FUNCTION { HelpId = HID_QUERY_FUNCTION; };
-hidspecial HID_QUERY_TABLENAME { HelpId = HID_QUERY_TABLENAME; };
-hidspecial HID_QUERY_ALIASNAME { HelpId = HID_QUERY_ALIASNAME; };
-hidspecial HID_QUERY_DISTINCT { HelpId = HID_QUERY_DISTINCT; };
-
-hidspecial HID_DSADMIN_QUERYADMINISTRATION { HelpId = HID_DSADMIN_QUERYADMINISTRATION; };
-hidspecial HID_DSADMIN_QUERIES { HelpId = HID_DSADMIN_QUERIES; };
-hidspecial HID_DSADMIN_QUERIES_NEW { HelpId = HID_DSADMIN_QUERIES_NEW; };
-hidspecial HID_DSADMIN_QUERIES_EDIT { HelpId = HID_DSADMIN_QUERIES_EDIT; };
-hidspecial HID_DSADMIN_QUERIES_DELETE { HelpId = HID_DSADMIN_QUERIES_DELETE; };
-
-hidspecial HID_TAB_DESIGN_TABLE_DESC { HelpId = HID_TAB_DESIGN_TABLE_DESC; };
-hidspecial HID_TAB_DESIGN_FIELDCONTROL { HelpId = HID_TAB_DESIGN_FIELDCONTROL; };
-hidspecial HID_TABLE_DESIGN_HELP_WINDOW { HelpId = HID_TABLE_DESIGN_HELP_WINDOW; };
-hidspecial HID_TAB_DESIGN_DESCWIN { HelpId = HID_TAB_DESIGN_DESCWIN; };
-hidspecial HID_TAB_DESIGN_TABLE_PROPS { HelpId = HID_TAB_DESIGN_TABLE_PROPS; };
-hidspecial HID_TABDESIGN_BACKGROUND { HelpId = HID_TABDESIGN_BACKGROUND; };
-hidspecial HID_CTL_TABLEEDIT { HelpId = HID_CTL_TABLEEDIT; };
-hidspecial HID_TABDESIGN_NAMECELL { HelpId = HID_TABDESIGN_NAMECELL; };
-hidspecial HID_TABDESIGN_TYPECELL { HelpId = HID_TABDESIGN_TYPECELL; };
-hidspecial HID_TABDESIGN_COMMENTCELL { HelpId = HID_TABDESIGN_COMMENTCELL; };
-hidspecial SID_TABLEDESIGN_INSERTROWS { HelpId = SID_TABLEDESIGN_INSERTROWS; };
-hidspecial SID_TABLEDESIGN_TABED_PRIMARYKEY { HelpId = SID_TABLEDESIGN_TABED_PRIMARYKEY; };
-hidspecial HID_TLB_TABLEDESIGN { HelpId = HID_TLB_TABLEDESIGN; };
-hidspecial HID_TAB_DESIGN_HELP_TEXT_FRAME { HelpId = HID_TAB_DESIGN_HELP_TEXT_FRAME; };
-hidspecial HID_TABLE_DESIGN_TABPAGE_GENERAL { HelpId = HID_TABLE_DESIGN_TABPAGE_GENERAL; };
-hidspecial HID_TAB_ENT_DEFAULT { HelpId = HID_TAB_ENT_DEFAULT; };
-hidspecial HID_TAB_ENT_FORMAT_SAMPLE { HelpId = HID_TAB_ENT_FORMAT_SAMPLE; };
-hidspecial HID_TAB_ENT_FORMAT { HelpId = HID_TAB_ENT_FORMAT; };
-hidspecial HID_TAB_ENT_BOOL_DEFAULT { HelpId = HID_TAB_ENT_BOOL_DEFAULT; };
-hidspecial HID_TAB_ENT_REQUIRED { HelpId = HID_TAB_ENT_REQUIRED; };
-hidspecial HID_TAB_ENT_AUTOINCREMENT { HelpId = HID_TAB_ENT_AUTOINCREMENT; };
-hidspecial HID_TAB_ENT_TEXT_LEN { HelpId = HID_TAB_ENT_TEXT_LEN; };
-hidspecial HID_TAB_ENT_TYPE { HelpId = HID_TAB_ENT_TYPE; };
-hidspecial HID_TAB_ENT_COLUMNNAME { HelpId = HID_TAB_ENT_COLUMNNAME; };
-hidspecial HID_TAB_ENT_NUMTYP { HelpId = HID_TAB_ENT_NUMTYP; };
-hidspecial HID_TAB_ENT_LEN { HelpId = HID_TAB_ENT_LEN; };
-hidspecial HID_TAB_ENT_SCALE { HelpId = HID_TAB_ENT_SCALE; };
-hidspecial HID_BROWSER_TABLE_CREATE_DESIGN { HelpId = HID_BROWSER_TABLE_CREATE_DESIGN; };
-hidspecial HID_BROWSER_TABLE_EDIT { HelpId = HID_BROWSER_TABLE_EDIT; };
-hidspecial HID_BROWSER_TABLE_DELETE { HelpId = HID_BROWSER_TABLE_DELETE; };
-hidspecial HID_SQLERROR_EXCHAIN_ERRORS { HelpId = HID_SQLERROR_EXCHAIN_ERRORS; };
-hidspecial HID_DBACCESS_START { HelpId = HID_DBACCESS_START; };
-hidspecial HID_SQLERROR_EXCHAIN_TEXT { HelpId = HID_SQLERROR_EXCHAIN_TEXT; };
-hidspecial HID_TAB_WIZ_COLUMN_SELECT { HelpId = HID_TAB_WIZ_COLUMN_SELECT; };
-hidspecial HID_TAB_WIZ_TYPE_SELECT { HelpId = HID_TAB_WIZ_TYPE_SELECT; };
-hidspecial HID_TAB_NAMEMATCHING_COLS_AVAIL { HelpId = HID_TAB_NAMEMATCHING_COLS_AVAIL; };
-hidspecial HID_TAB_NAMEMATCHING_COLS_ASSIGN { HelpId = HID_TAB_NAMEMATCHING_COLS_ASSIGN; };
-hidspecial HID_TAB_WIZ_COPYTABLE { HelpId = HID_TAB_WIZ_COPYTABLE; };
-hidspecial HID_TAB_WIZ_TABLENAME_EDIT { HelpId = HID_TAB_WIZ_TABLENAME_EDIT; };
-hidspecial HID_CTL_RELATIONTAB { HelpId = HID_CTL_RELATIONTAB; };
-hidspecial HID_TLB_RELATIONDESIGN { HelpId = HID_TLB_RELATIONDESIGN ; };
-hidspecial HID_RELATIONDIALOG_LEFTFIELDCELL { HelpId = HID_RELATIONDIALOG_LEFTFIELDCELL ; };
-hidspecial HID_RELATIONDIALOG_RIGHTFIELDCELL { HelpId = HID_RELATIONDIALOG_RIGHTFIELDCELL ; };
-hidspecial HID_RELDLG_KEYFIELDS { HelpId = HID_RELDLG_KEYFIELDS ; };
-hidspecial HID_BROWSER_RELATION_DESIGN { HelpId = HID_BROWSER_RELATION_DESIGN ; };
-hidspecial HID_TABLE_DESIGN_NO_CONNECTION { HelpId = HID_TABLE_DESIGN_NO_CONNECTION ; };
-hidspecial HID_DSADMIN_CREATEDATABASE { HelpId = HID_DSADMIN_CREATEDATABASE ; };
-hidspecial HID_BROWSER_COLUMNINFO { HelpId = HID_BROWSER_COLUMNINFO ; };
-hidspecial HID_DSADMIN_USECATALOG { HelpId = HID_DSADMIN_USECATALOG ; };
-hidspecial HID_BROWSER_VIEW_CREATE_DESIGN { HelpId = HID_BROWSER_VIEW_CREATE_DESIGN ; };
-hidspecial HID_DSADMIN_DOCUMENTS { HelpId = HID_DSADMIN_DOCUMENTS ; };
-hidspecial HID_DSADMIN_DOCUMENTLINKS { HelpId = HID_DSADMIN_DOCUMENTLINKS ; };
-
-hidspecial HID_DSADMIN_FILTER_EXPLANATION { HelpId = HID_DSADMIN_FILTER_EXPLANATION ; };
-hidspecial HID_CONFIRM_DROP_BUTTON_ALL { HelpId = HID_CONFIRM_DROP_BUTTON_ALL ; };
-hidspecial HID_DSBROWSER_BOOKMARK_SELECTED { HelpId = HID_DSBROWSER_BOOKMARK_SELECTED ; };
-hidspecial HID_DSADMIN_TABLE_TOOLBOX { HelpId = HID_DSADMIN_TABLE_TOOLBOX ; };
-hidspecial HID_DSADMIN_QUERY_TOOLBOX { HelpId = HID_DSADMIN_QUERY_TOOLBOX ; };
-hidspecial HID_DSADMIN_BOOKMARK_TOOLBOX { HelpId = HID_DSADMIN_BOOKMARK_TOOLBOX ; };
-hidspecial HID_DSADMIN_PAGE_LDAP { HelpId = HID_DSADMIN_PAGE_LDAP ; };
-hidspecial HID_DSADMIN_LDAP_HOSTNAME { HelpId = HID_DSADMIN_LDAP_HOSTNAME ; };
-hidspecial HID_DSADMIN_LDAP_BASEDN { HelpId = HID_DSADMIN_LDAP_BASEDN ; };
-hidspecial HID_DSADMIN_LDAP_PORTNUMBER { HelpId = HID_DSADMIN_LDAP_PORTNUMBER ; };
-hidspecial HID_DSADMIN_PAGE_MOZILLA { HelpId = HID_DSADMIN_PAGE_MOZILLA ; };
-hidspecial HID_DSADMIN_MOZILLA_PROFILE_NAME { HelpId = HID_DSADMIN_MOZILLA_PROFILE_NAME ; };
-
-hidspecial HID_TAB_PAGE_USERADMIN { HelpId = HID_TAB_PAGE_USERADMIN ; };
-hidspecial HID_TAB_PAGE_PBUSER { HelpId = HID_TAB_PAGE_PBUSER ; };
-hidspecial HID_TAB_PAGE_PBCHGPWD { HelpId = HID_TAB_PAGE_PBCHGPWD ; };
-hidspecial HID_TAB_PAGE_PBUSERDELETE { HelpId = HID_TAB_PAGE_PBUSERDELETE ; };
-hidspecial HID_TAB_PAGE_TBLGRANTS { HelpId = HID_TAB_PAGE_TBLGRANTS ; };
-hidspecial HID_TAB_PAGE_LBUSER { HelpId = HID_TAB_PAGE_LBUSER ; };
-hidspecial HID_DSBROWSER_BOOKMARKSELECTED { HelpId = HID_DSBROWSER_BOOKMARKSELECTED ; };
-hidspecial HID_DSBROWSER_DISCONNECTING { HelpId = HID_DSBROWSER_DISCONNECTING ; };
-hidspecial HID_DSBROWSER_DIRECTSQL { HelpId = HID_DSBROWSER_DIRECTSQL ; };
-hidspecial HID_DSADMIN_LDAP_ROWCOUNT { HelpId = HID_DSADMIN_LDAP_ROWCOUNT ; };
-hidspecial HID_DLG_PASSWORD { HelpId = HID_DLG_PASSWORD ; };
-hidspecial HID_BROWSER_QUERY_EDITSQL { HelpId = HID_BROWSER_QUERY_EDITSQL ; };
-hidspecial HID_BROWSER_OPEN_DOCUMENT { HelpId = HID_BROWSER_OPEN_DOCUMENT ; };
-hidspecial HID_BROWSER_EDIT_DOCUMENT { HelpId = HID_BROWSER_EDIT_DOCUMENT ; };
-hidspecial HID_BROWSER_BEW_DOCUMENT { HelpId = HID_BROWSER_BEW_DOCUMENT ; };
-
-hidspecial HID_DLGIDX_NEWINDEX { HelpId = HID_DLGIDX_NEWINDEX; }
-hidspecial HID_DLGIDX_DROPINDEX { HelpId = HID_DLGIDX_DROPINDEX; }
-hidspecial HID_DLGIDX_RENAMEINDEX { HelpId = HID_DLGIDX_RENAMEINDEX; }
-hidspecial HID_DLGIDX_SAVEINDEX { HelpId = HID_DLGIDX_SAVEINDEX; }
-hidspecial HID_DLGIDX_RESETINDEX { HelpId = HID_DLGIDX_RESETINDEX; }
-hidspecial HID_DLGIDX_INDEXLIST { HelpId = HID_DLGIDX_INDEXLIST; }
-hidspecial UID_DLGINDEX_INDEXDETAILS_BACK { HelpId = UID_DLGINDEX_INDEXDETAILS_BACK; }
-hidspecial UID_DLGINDEX_INDEXDETAILS_MAIN { HelpId = UID_DLGINDEX_INDEXDETAILS_MAIN; }
-hidspecial HID_DLGINDEX_INDEXDETAILS_FIELD { HelpId = HID_DLGINDEX_INDEXDETAILS_FIELD; }
-hidspecial HID_DLGINDEX_INDEXDETAILS_SORTORDER { HelpId = HID_DLGINDEX_INDEXDETAILS_SORTORDER; }
-hidspecial HID_DOCLINKEDIT_URL { HelpId = HID_DOCLINKEDIT_URL; }
-
-hidspecial HID_QUERY_SQLMODE { HelpId = HID_QUERY_SQLMODE ; };
-hidspecial HID_BROWSER_REFRESH_REBUILDVIEW { HelpId = HID_BROWSER_REFRESH_REBUILDVIEW ; };
-hidspecial HID_BROWSER_RENAME_ENTRY { HelpId = HID_BROWSER_RENAME_ENTRY ; };
-
-hidspecial HID_QUERY_EDIT_JOINCONNECTION { HelpId = HID_QUERY_EDIT_JOINCONNECTION ; };
-
-hidspecial HID_DLG_QRY_WINDOW_CONTROL { HelpId = HID_DLG_QRY_WINDOW_CONTROL ; };
-hidspecial HID_DLG_QRY_LEFT_TABLE { HelpId = HID_DLG_QRY_LEFT_TABLE ; };
-hidspecial HID_DLG_QRY_RIGHT_TABLE { HelpId = HID_DLG_QRY_RIGHT_TABLE ; };
-
-hidspecial HID_DLG_REL_CASC_DEL { HelpId = HID_DLG_REL_CASC_DEL ; };
-hidspecial HID_DLG_REL_NO_CASC_DEL { HelpId = HID_DLG_REL_NO_CASC_DEL ; };
-hidspecial HID_DLG_REL_CASC_DEL_NULL { HelpId = HID_DLG_REL_CASC_DEL_NULL ; };
-hidspecial HID_DLG_REL_CASC_DEL_DEFAULT { HelpId = HID_DLG_REL_CASC_DEL_DEFAULT ; };
-
-hidspecial HID_DLG_REL_CASC_UPD { HelpId = HID_DLG_REL_CASC_UPD ; };
-hidspecial HID_DLG_REL_NO_CASC_UPD { HelpId = HID_DLG_REL_NO_CASC_UPD ; };
-hidspecial HID_DLG_REL_CASC_UPD_NULL { HelpId = HID_DLG_REL_CASC_UPD_NULL ; };
-hidspecial HID_DLG_REL_CASC_UPD_DEFAULT { HelpId = HID_DLG_REL_CASC_UPD_DEFAULT ; };
-hidspecial HID_BROWSER_SAVE_RECORD { HelpId = HID_BROWSER_SAVE_RECORD ; };
-hidspecial HID_BROWSER_UNDO_RECORD { HelpId = HID_BROWSER_UNDO_RECORD ; };
-
-// missing pre processor for helpids so we have to include them here
-hidspecial SID_RELATION_ADD_RELATION { HelpId = SID_RELATION_ADD_RELATION ; };
-hidspecial SID_FM_NATIVESQL { HelpId = SID_FM_NATIVESQL ; };
-hidspecial SID_FM_ADDTABLE { HelpId = SID_FM_ADDTABLE ; };
-hidspecial SID_FM_EXECUTE { HelpId = SID_FM_EXECUTE ; };
-
-hidspecial HID_DSADMIN_SQL92CHECK { HelpId = HID_DSADMIN_SQL92CHECK ; };
-hidspecial HID_DSADMIN_AUTOINCREMENTVALUE { HelpId = HID_DSADMIN_AUTOINCREMENTVALUE ; };
-hidspecial HID_TAB_AUTOINCREMENTVALUE { HelpId = HID_TAB_AUTOINCREMENTVALUE ; };
-hidspecial HID_DOCUMENT_CREATE_REPWIZ { HelpId = HID_DOCUMENT_CREATE_REPWIZ ; };
-hidspecial HID_DSADMIN_RETRIEVE_AUTO { HelpId = HID_DSADMIN_RETRIEVE_AUTO ; };
-hidspecial HID_DSADMIN_AUTORETRIEVEENABLED { HelpId = HID_DSADMIN_AUTORETRIEVEENABLED ; };
-
-hidspecial HID_DSADMIN_PAGE_MYSQL_ODBC { HelpId = HID_DSADMIN_PAGE_MYSQL_ODBC ; };
-hidspecial HID_DSADMIN_PAGE_MYSQL_JDBC { HelpId = HID_DSADMIN_PAGE_MYSQL_JDBC ; };
-hidspecial HID_TAB_PAGE_TABLEPRIVILEGES { HelpId = HID_TAB_PAGE_TABLEPRIVILEGES ; };
-
-hidspecial HID_DSADMIN_PAGE_USERDRIVER { HelpId = HID_DSADMIN_PAGE_USERDRIVER ; };
-hidspecial HID_DSADMIN_USER_DEFINED { HelpId = HID_DSADMIN_USER_DEFINED ; };
-hidspecial HID_DSADMIN_USERDEF_OPTIONS { HelpId = HID_DSADMIN_USERDEF_OPTIONS ; };
-hidspecial HID_DSADMIN_CHARSET_USERDEF { HelpId = HID_DSADMIN_CHARSET_USERDEF ; };
-
-hidspecial HID_DLG_RENAME { HelpId = HID_DLG_RENAME ; };
-
-hidspecial HID_DSADMIN_DBASE_PATH { HelpId = HID_DSADMIN_DBASE_PATH ; };
-hidspecial HID_DSADMIN_MYSQL_DATABASE { HelpId = HID_DSADMIN_MYSQL_DATABASE ; };
-hidspecial HID_DSADMIN_MYSQL_ODBC_DATASOURCE { HelpId = HID_DSADMIN_MYSQL_ODBC_DATASOURCE ; };
-hidspecial HID_DSADMIN_ODBC_DATASOURCE { HelpId = HID_DSADMIN_ODBC_DATASOURCE ; };
-hidspecial HID_DSADMIN_ADABAS_DATABASE { HelpId = HID_DSADMIN_ADABAS_DATABASE ; };
-hidspecial HID_DSADMIN_MSACCESS_MDB_FILE { HelpId = HID_DSADMIN_MSACCESS_MDB_FILE ; };
-hidspecial HID_DSADMIN_PAGE_MSACCESS { HelpId = HID_DSADMIN_PAGE_MSACCESS ; };
-hidspecial HID_DSADMIN_FLAT_PATH { HelpId = HID_DSADMIN_FLAT_PATH ; };
-hidspecial HID_DSADMIN_CALC_PATH { HelpId = HID_DSADMIN_CALC_PATH ; };
-hidspecial HID_DSADMIN_ADVANCED { HelpId = HID_DSADMIN_ADVANCED ; };
-hidspecial HID_DSADMIN_BOOLEANCOMPARISON { HelpId = HID_DSADMIN_BOOLEANCOMPARISON ; };
-hidspecial HID_DSADMIN_ORACLE_DATABASE { HelpId = HID_DSADMIN_ORACLE_DATABASE ; };
-
-hidspecial UID_APP_VIEW { HelpId = UID_APP_VIEW ; };
-hidspecial HID_APP_TABLE_TREE { HelpId = HID_APP_TABLE_TREE ; };
-hidspecial HID_APP_FORM_TREE { HelpId = HID_APP_FORM_TREE ; };
-hidspecial HID_APP_QUERY_TREE { HelpId = HID_APP_QUERY_TREE ; };
-hidspecial HID_APP_REPORT_TREE { HelpId = HID_APP_REPORT_TREE ; };
-hidspecial UID_APP_DETAIL_VIEW { HelpId = UID_APP_DETAIL_VIEW; };
-hidspecial UID_APP_VIEW_VERT_SPLIT { HelpId = UID_APP_VIEW_VERT_SPLIT ; };
-hidspecial UID_APP_VIEW_BORDER_WIN { HelpId = UID_APP_VIEW_BORDER_WIN ; };
-hidspecial HID_APP_CREATION_LIST { HelpId = HID_APP_CREATION_LIST ; };
-hidspecial UID_APP_SWAP_VIEW { HelpId = UID_APP_SWAP_VIEW ; };
-hidspecial UID_DLG_TABLE_FILTER { HelpId = UID_DLG_TABLE_FILTER ; };
-hidspecial HID_APP_SWAP_ICONCONTROL { HelpId = HID_APP_SWAP_ICONCONTROL ; };
-
-hidspecial HID_DSADMIN_APPENDTABLEALIAS { HelpId = HID_DSADMIN_APPENDTABLEALIAS ; };
-hidspecial HID_DSADMIN_AS_BEFORE_CORRELATION_NAME { HelpId = HID_DSADMIN_AS_BEFORE_CORRELATION_NAME ; };
-hidspecial HID_DSADMIN_CHECK_REQUIRED_FIELDS { HelpId = HID_DSADMIN_CHECK_REQUIRED_FIELDS ; };
-hidspecial HID_DSADMIN_PARAMETERNAMESUBST { HelpId = HID_DSADMIN_PARAMETERNAMESUBST ; };
-hidspecial HID_DSADMIN_IGNOREDRIVER_PRIV { HelpId = HID_DSADMIN_IGNOREDRIVER_PRIV ; };
-hidspecial HID_DSADMIN_HOSTNAME { HelpId = HID_DSADMIN_HOSTNAME ; };
-hidspecial HID_DSADMIN_PORTNUMBER { HelpId = HID_DSADMIN_PORTNUMBER ; };
-
-hidspecial HID_APP_HELP_TEXT { HelpId = HID_APP_HELP_TEXT ; };
-hidspecial HID_EXPLORERDLG_COLLECTION { HelpId = HID_EXPLORERDLG_COLLECTION ; };
-hidspecial UID_APP_DATABASE_VIEW { HelpId = UID_APP_DATABASE_VIEW ; };
-hidspecial UID_APP_TASKS_VIEW { HelpId = UID_APP_TASKS_VIEW ; };
-hidspecial UID_APP_CONTAINER_VIEW { HelpId = UID_APP_CONTAINER_VIEW ; };
-hidspecial UID_APP_TASKS_WINDOW { HelpId = UID_APP_TASKS_WINDOW ; };
-hidspecial HID_APP_DESCRIPTION_TEXT { HelpId = HID_APP_DESCRIPTION_TEXT ; };
-hidspecial UID_APP_DETAILPAGE_HELPER { HelpId = UID_APP_DETAILPAGE_HELPER ; };
-
-hidspecial HID_APP_VIEW_PREVIEW_CB { HelpId = HID_APP_VIEW_PREVIEW_CB ; };
-hidspecial HID_APP_VIEW_PREVIEW_1 { HelpId = HID_APP_VIEW_PREVIEW_1 ; };
-hidspecial HID_APP_VIEW_PREVIEW_2 { HelpId = HID_APP_VIEW_PREVIEW_2 ; };
-hidspecial UID_APP_VIEW_HORZ_SPLIT { HelpId = UID_APP_VIEW_HORZ_SPLIT ; };
-hidspecial UID_APP_VIEW_PREVIEW_1 { HelpId = UID_APP_VIEW_PREVIEW_1 ; };
-hidspecial HID_APP_VIEW_PREVIEW_3 { HelpId = HID_APP_VIEW_PREVIEW_3 ; };
-
-hidspecial HID_DSADMIN_TYPE_DIALOG { HelpId = HID_DSADMIN_TYPE_DIALOG ; };
-hidspecial HID_DSADMIN_ENABLEOUTERJOIN { HelpId = HID_DSADMIN_ENABLEOUTERJOIN ; };
-hidspecial HID_DSADMIN_ADABASADMIN { HelpId = HID_DSADMIN_ADABASADMIN ; };
-hidspecial HID_DSADMIN_USERADMIN { HelpId = HID_DSADMIN_USERADMIN ; };
-
-hidspecial HID_DBWIZ_PREVIOUS { HelpId = HID_DBWIZ_PREVIOUS ; };
-hidspecial HID_DBWIZ_NEXT { HelpId = HID_DBWIZ_NEXT ; };
-hidspecial HID_DBWIZ_CANCEL { HelpId = HID_DBWIZ_CANCEL ; };
-hidspecial HID_DBWIZ_FINISH { HelpId = HID_DBWIZ_FINISH ; };
-hidspecial UID_DBWIZ_HELP { HelpId = UID_DBWIZ_HELP ; };
-
-hidspecial HID_DSADMIN_CATALOG { HelpId = HID_DSADMIN_CATALOG ; };
-hidspecial HID_DSADMIN_SCHEMA { HelpId = HID_DSADMIN_SCHEMA ; };
-hidspecial HID_DSADMIN_IGNOREINDEXAPPENDIX { HelpId = HID_DSADMIN_IGNOREINDEXAPPENDIX ; };
-
-hidspecial HID_PAGE_DBWIZARD_GENERALPAGE { HelpId = HID_PAGE_DBWIZARD_GENERALPAGE ; };
-hidspecial HID_PAGE_DBWIZARD_GENERAL_RB_CREATEDBDATABASE { HelpId = HID_PAGE_DBWIZARD_GENERAL_RB_CREATEDBDATABASE ; };
-hidspecial HID_PAGE_DBWIZARD_GENERAL_RB_GETEXISTINGDATABASE { HelpId = HID_PAGE_DBWIZARD_GENERAL_RB_GETEXISTINGDATABASE ; };
-
-hidspecial HID_PAGE_DBWIZARD_DBASE_ET_DBASELOCATION { HelpId = HID_PAGE_DBWIZARD_DBASE_ET_DBASELOCATION ; };
-hidspecial HID_PAGE_DBWIZARD_DBASE_PB_DBASELOCATION { HelpId = HID_PAGE_DBWIZARD_DBASE_PB_DBASELOCATION ; };
-
-hidspecial SID_INDEXDESIGN { HelpId = SID_INDEXDESIGN; };
-hidspecial SID_DOCUMENT_DATA_SOURCE { HelpId = SID_DOCUMENT_DATA_SOURCE; };
-hidspecial SID_DB_NEW { HelpId = SID_DB_NEW; };
-hidspecial SID_DB_APP_DISABLE_PREVIEW { HelpId = SID_DB_APP_DISABLE_PREVIEW; };
-hidspecial SID_DB_APP_DSCONNECTION_TYPE { HelpId = SID_DB_APP_DSCONNECTION_TYPE; };
-hidspecial SID_DB_APP_DSADVANCED_SETTINGS { HelpId = SID_DB_APP_DSADVANCED_SETTINGS; };
-
-hidspecial SID_DB_APP_VIEW_DOCINFO_PREVIEW { HelpId = SID_DB_APP_VIEW_DOCINFO_PREVIEW; };
-hidspecial SID_DB_APP_VIEW_DOC_PREVIEW { HelpId = SID_DB_APP_VIEW_DOC_PREVIEW; };
-hidspecial SID_DB_APP_VIEW_TABLES { HelpId = SID_DB_APP_VIEW_TABLES; };
-hidspecial SID_DB_APP_VIEW_QUERIES { HelpId = SID_DB_APP_VIEW_QUERIES; };
-hidspecial SID_DB_APP_DSIMPORT { HelpId = SID_DB_APP_DSIMPORT; };
-hidspecial SID_DB_APP_VIEW_FORMS { HelpId = SID_DB_APP_VIEW_FORMS; };
-hidspecial SID_DB_APP_DSRELDESIGN { HelpId = SID_DB_APP_DSRELDESIGN; };
-hidspecial SID_DB_APP_DSUSERADMIN { HelpId = SID_DB_APP_DSUSERADMIN; };
-hidspecial SID_DB_APP_TABLEFILTER { HelpId = SID_DB_APP_TABLEFILTER; };
-hidspecial SID_DB_APP_CLOSECONNECTION { HelpId = SID_DB_APP_CLOSECONNECTION; };
-hidspecial SID_DB_APP_DSPROPS { HelpId = SID_DB_APP_DSPROPS; };
-hidspecial SID_DB_APP_DBADMIN { HelpId = SID_DB_APP_DBADMIN; };
-
-hidspecial SID_DB_APP_CONVERTTOVIEW { HelpId = SID_DB_APP_CONVERTTOVIEW; };
-hidspecial SID_DB_APP_REFRESH_TABLES { HelpId = SID_DB_APP_REFRESH_TABLES; };
-hidspecial SID_DB_APP_VIEW_REPORTS { HelpId = SID_DB_APP_VIEW_REPORTS; };
-hidspecial SID_DB_APP_DSEXPORT { HelpId = SID_DB_APP_DSEXPORT; };
-
-hidspecial SID_DB_APP_TABLE_DELETE { HelpId = SID_DB_APP_TABLE_DELETE; };
-hidspecial SID_DB_APP_TABLE_RENAME { HelpId = SID_DB_APP_TABLE_RENAME; };
-hidspecial SID_DB_APP_TABLE_EDIT { HelpId = SID_DB_APP_TABLE_EDIT; };
-hidspecial SID_DB_APP_TABLE_OPEN { HelpId = SID_DB_APP_TABLE_OPEN; };
-
-hidspecial SID_DB_APP_QUERY_DELETE { HelpId = SID_DB_APP_QUERY_DELETE; };
-hidspecial SID_DB_APP_QUERY_RENAME { HelpId = SID_DB_APP_QUERY_RENAME; };
-hidspecial SID_DB_APP_QUERY_EDIT { HelpId = SID_DB_APP_QUERY_EDIT; };
-hidspecial SID_DB_APP_QUERY_OPEN { HelpId = SID_DB_APP_QUERY_OPEN; };
-
-hidspecial SID_DB_APP_FORM_DELETE { HelpId = SID_DB_APP_FORM_DELETE; };
-hidspecial SID_DB_APP_FORM_RENAME { HelpId = SID_DB_APP_FORM_RENAME; };
-hidspecial SID_DB_APP_FORM_EDIT { HelpId = SID_DB_APP_FORM_EDIT; };
-hidspecial SID_DB_APP_FORM_OPEN { HelpId = SID_DB_APP_FORM_OPEN; };
-
-hidspecial SID_DB_APP_REPORT_DELETE { HelpId = SID_DB_APP_REPORT_DELETE; };
-hidspecial SID_DB_APP_REPORT_RENAME { HelpId = SID_DB_APP_REPORT_RENAME; };
-hidspecial SID_DB_APP_REPORT_EDIT { HelpId = SID_DB_APP_REPORT_EDIT; };
-hidspecial SID_DB_APP_REPORT_OPEN { HelpId = SID_DB_APP_REPORT_OPEN; };
-
-hidspecial SID_DB_APP_DELETE { HelpId = SID_DB_APP_DELETE; };
-hidspecial SID_DB_APP_RENAME { HelpId = SID_DB_APP_RENAME; };
-hidspecial SID_DB_APP_EDIT { HelpId = SID_DB_APP_EDIT; };
-hidspecial SID_DB_APP_EDIT_SQL_VIEW { HelpId = SID_DB_APP_EDIT_SQL_VIEW; };
-hidspecial SID_DB_APP_OPEN { HelpId = SID_DB_APP_OPEN; };
-
-hidspecial SID_BROWSER_CLEAR_QUERY { HelpId = SID_BROWSER_CLEAR_QUERY; };
-hidspecial SID_RELATION_ADD_RELATION { HelpId = SID_RELATION_ADD_RELATION; };
-hidspecial SID_QUERY_VIEW_FUNCTIONS { HelpId = SID_QUERY_VIEW_FUNCTIONS; };
-hidspecial SID_QUERY_VIEW_TABLES { HelpId = SID_QUERY_VIEW_TABLES; };
-hidspecial SID_QUERY_VIEW_ALIASES { HelpId = SID_QUERY_VIEW_ALIASES; };
-hidspecial SID_QUERY_DISTINCT_VALUES { HelpId = SID_QUERY_DISTINCT_VALUES; };
-hidspecial SID_FORM_CREATE_REPWIZ_PRE_SEL { HelpId = SID_FORM_CREATE_REPWIZ_PRE_SEL; };
-hidspecial SID_REPORT_CREATE_REPWIZ_PRE_SEL { HelpId = SID_REPORT_CREATE_REPWIZ_PRE_SEL; };
-hidspecial SID_APP_NEW_REPORT_PRE_SEL { HelpId = SID_APP_NEW_REPORT_PRE_SEL; };
-
-hidspecial SID_APP_NEW_FOLDER { HelpId = SID_APP_NEW_FOLDER; };
-hidspecial SID_APP_NEW_FORM { HelpId = SID_APP_NEW_FORM; };
-hidspecial SID_DB_APP_PASTE_SPECIAL { HelpId = SID_DB_APP_PASTE_SPECIAL; };
-hidspecial SID_DB_QUERY_PREVIEW { HelpId = SID_DB_QUERY_PREVIEW; };
-
-hidspecial SID_DB_APP_STATUS_TYPE { HelpId = SID_DB_APP_STATUS_TYPE; };
-hidspecial SID_DB_APP_STATUS_DBNAME { HelpId = SID_DB_APP_STATUS_DBNAME; };
-hidspecial SID_DB_APP_STATUS_USERNAME { HelpId = SID_DB_APP_STATUS_USERNAME; };
-hidspecial SID_DB_APP_STATUS_HOSTNAME { HelpId = SID_DB_APP_STATUS_HOSTNAME; };
-
-hidspecial SID_DB_APP_SENDREPORTASMAIL { HelpId = SID_DB_APP_SENDREPORTASMAIL; };
-hidspecial SID_DB_APP_SENDREPORTTOWRITER { HelpId = SID_DB_APP_SENDREPORTTOWRITER; };
-hidspecial SID_DB_NEW_VIEW_SQL { HelpId = SID_DB_NEW_VIEW_SQL; };
-
-hidspecial HID_PAGE_DBWIZARD_TEXT_ET_LOCATIONTEXTFILE { HelpId = HID_PAGE_DBWIZARD_TEXT_ET_LOCATIONTEXTFILE ; };
-hidspecial HID_PAGE_DBWIZARD_TEXT_PB_LOCATIONTEXTFILE { HelpId = HID_PAGE_DBWIZARD_TEXT_PB_LOCATIONTEXTFILE ; };
-
-hidspecial HID_PAGE_DBWIZARD_TEXT_RB_ACCESSTXTFILES { HelpId = HID_PAGE_DBWIZARD_TEXT_RB_ACCESSTXTFILES ; };
-hidspecial HID_PAGE_DBWIZARD_TEXT_RB_ACCESSCSVFILES { HelpId = HID_PAGE_DBWIZARD_TEXT_RB_ACCESSCSVFILES ; };
-hidspecial HID_PAGE_DBWIZARD_TEXT_RB_ACCESSOTHERFILES { HelpId = HID_PAGE_DBWIZARD_TEXT_RB_ACCESSOTHERFILES ; };
-hidspecial HID_PAGE_DBWIZARD_TEXT_ET_OWNEXTENSION { HelpId = HID_PAGE_DBWIZARD_TEXT_ET_OWNEXTENSION ; };
-
-hidspecial HID_PAGE_DBWIZARD_TEXT_CB_FIELDSEPARATOR { HelpId = HID_PAGE_DBWIZARD_TEXT_CB_FIELDSEPARATOR ; };
-hidspecial HID_PAGE_DBWIZARD_TEXT_CB_TEXTSEPARATOR { HelpId = HID_PAGE_DBWIZARD_TEXT_CB_TEXTSEPARATOR ; };
-hidspecial HID_PAGE_DBWIZARD_TEXT_CB_DECIMALSEPARATOR { HelpId = HID_PAGE_DBWIZARD_TEXT_CB_DECIMALSEPARATOR ; };
-hidspecial HID_PAGE_DBWIZARD_TEXT_CB_THOUSANDSSEPARATOR { HelpId = HID_PAGE_DBWIZARD_TEXT_CB_THOUSANDSSEPARATOR ; };
-
-hidspecial HID_PAGE_DBWIZARD_MSACCESS_ET_MSACCESSLOCATION { HelpId = HID_PAGE_DBWIZARD_MSACCESS_ET_MSACCESSLOCATION ; };
-hidspecial HID_PAGE_DBWIZARD_MSACCESS_PB_MSACCESSLOCATION { HelpId = HID_PAGE_DBWIZARD_MSACCESS_PB_MSACCESSLOCATION ; };
-
-hidspecial HID_PAGE_DBWIZARD_LDAP_ET_HOSTSERVER { HelpId = HID_PAGE_DBWIZARD_LDAP_ET_HOSTSERVER ; };
-hidspecial HID_PAGE_DBWIZARD_LDAP_ET_BASEDN { HelpId = HID_PAGE_DBWIZARD_LDAP_ET_BASEDN ; };
-hidspecial HID_PAGE_DBWIZARD_LDAP_ET_PORTNUMBER { HelpId = HID_PAGE_DBWIZARD_LDAP_ET_PORTNUMBER ; };
-hidspecial HID_PAGE_DBWIZARD_LDAP_CB_USESSL { HelpId = HID_PAGE_DBWIZARD_LDAP_CB_USESSL ; };
-hidspecial HID_PAGE_DBWIZARD_LDAP_PB_TESTLDAPCONNECTION { HelpId = HID_PAGE_DBWIZARD_LDAP_PB_TESTLDAPCONNECTION ; };
-
-hidspecial HID_PAGE_DBWIZARD_ADABAS_ET_ADABASNAME { HelpId = HID_PAGE_DBWIZARD_ADABAS_ET_ADABASNAME ; };
-hidspecial HID_PAGE_DBWIZARD_ADABAS_PB_ADABASNAME { HelpId = HID_PAGE_DBWIZARD_ADABAS_PB_ADABASNAME ; };
-
-hidspecial HID_PAGE_DBWIZARD_MYSQL_RB_CONNECTVIAODBC { HelpId = HID_PAGE_DBWIZARD_MYSQL_RB_CONNECTVIAODBC ; };
-hidspecial HID_PAGE_DBWIZARD_MYSQL_RB_CONNECTVIAJDBC { HelpId = HID_PAGE_DBWIZARD_MYSQL_RB_CONNECTVIAJDBC ; };
-
-hidspecial HID_PAGE_DBWIZARD_ORACLE_ET_ORACLEDBNAME { HelpId = HID_PAGE_DBWIZARD_ORACLE_ET_ORACLEDBNAME ; };
-hidspecial HID_PAGE_DBWIZARD_ORACLE_ET_ORACLEHOSTSERVER { HelpId = HID_PAGE_DBWIZARD_ORACLE_ET_ORACLEHOSTSERVER ; };
-hidspecial HID_PAGE_DBWIZARD_ORACLE_ET_ORACLEPORT { HelpId = HID_PAGE_DBWIZARD_ORACLE_ET_ORACLEPORT ; };
-hidspecial HID_PAGE_DBWIZARD_ORACLE_ET_ORACLECLASS { HelpId = HID_PAGE_DBWIZARD_ORACLE_ET_ORACLECLASS ; };
-hidspecial HID_PAGE_DBWIZARD_ORACLE_PB_TESTORACLECLASS { HelpId = HID_PAGE_DBWIZARD_ORACLE_PB_TESTORACLECLASS ; };
-
-hidspecial HID_PAGE_DBWIZARD_JDBC_ET_JDBCURL { HelpId = HID_PAGE_DBWIZARD_JDBC_ET_JDBCURL ; };
-hidspecial HID_PAGE_DBWIZARD_JDBC_PB_JDBCURL { HelpId = HID_PAGE_DBWIZARD_JDBC_PB_JDBCURL ; };
-
-hidspecial HID_PAGE_DBWIZARD_JDBC_ET_MYSQLDBNAME { HelpId = HID_PAGE_DBWIZARD_JDBC_ET_MYSQLDBNAME ; };
-hidspecial HID_PAGE_DBWIZARD_JDBC_ET_MYSQLHOSTSERVER { HelpId = HID_PAGE_DBWIZARD_JDBC_ET_MYSQLHOSTSERVER ; };
-hidspecial HID_PAGE_DBWIZARD_JDBC_ET_MYSQLPORT { HelpId = HID_PAGE_DBWIZARD_JDBC_ET_MYSQLPORT ; };
-hidspecial HID_PAGE_DBWIZARD_JDBC_ET_MYSQLCLASS { HelpId = HID_PAGE_DBWIZARD_JDBC_ET_MYSQLCLASS ; };
-hidspecial HID_PAGE_DBWIZARD_JDBC_PB_TESTMYSQLCLASS { HelpId = HID_PAGE_DBWIZARD_JDBC_PB_TESTMYSQLCLASS ; };
-
-hidspecial HID_PAGE_DBWIZARD_ADO_ET_ADOURL { HelpId = HID_PAGE_DBWIZARD_ADO_ET_ADOURL ; };
-hidspecial HID_PAGE_DBWIZARD_ADO_PB_ADOURL { HelpId = HID_PAGE_DBWIZARD_ADO_PB_ADOURL ; };
-hidspecial HID_PAGE_DBWIZARD_ADO_PB_TESTADOCONNECTION { HelpId = HID_PAGE_DBWIZARD_ADO_PB_TESTADOCONNECTION ; };
-
-hidspecial HID_PAGE_DBWIZARD_ODBC_ET_NAMEOFODBCDATASOURCE { HelpId = HID_PAGE_DBWIZARD_ODBC_ET_NAMEOFODBCDATASOURCE ; };
-hidspecial HID_PAGE_DBWIZARD_ODBC_PB_NAMEOFODBCDATASOURCE { HelpId = HID_PAGE_DBWIZARD_ODBC_PB_NAMEOFODBCDATASOURCE ; };
-
-hidspecial HID_PAGE_DBWIZARD_SPREADSHEET_ET_SPREADSHEETPATH { HelpId = HID_PAGE_DBWIZARD_SPREADSHEET_ET_SPREADSHEETPATH ; };
-hidspecial HID_PAGE_DBWIZARD_SPREADSHEET_PB_SPREADSHEETPATH { HelpId = HID_PAGE_DBWIZARD_SPREADSHEET_PB_SPREADSHEETPATH ; };
-hidspecial HID_PAGE_DBWIZARD_SPREADSHEET_CB_SPREADSHEETPASSWORDREQUIRED { HelpId = HID_PAGE_DBWIZARD_SPREADSHEET_CB_SPREADSHEETPASSWORDREQUIRED ; };
-
-hidspecial HID_PAGE_DBWIZARD_AUTHENTIFICATION_CB_GENERALPASSWORDREQUIRED { HelpId = HID_PAGE_DBWIZARD_AUTHENTIFICATION_CB_GENERALPASSWORDREQUIRED ; };
-hidspecial HID_PAGE_DBWIZARD_AUTHENTIFICATION_ET_GENERALUSERNAME { HelpId = HID_PAGE_DBWIZARD_AUTHENTIFICATION_ET_GENERALUSERNAME ; };
-hidspecial HID_PAGE_DBWIZARD_FINAL_RB_REGISTERDATASOURCE { HelpId = HID_PAGE_DBWIZARD_FINAL_RB_REGISTERDATASOURCE ; };
-hidspecial HID_PAGE_DBWIZARD_FINAL_RB_DONTREGISTERDATASOURCE { HelpId = HID_PAGE_DBWIZARD_FINAL_RB_DONTREGISTERDATASOURCE ; };
-hidspecial HID_PAGE_DBWIZARD_FINAL_CB_STARTTABLEWIZARD { HelpId = HID_PAGE_DBWIZARD_FINAL_CB_STARTTABLEWIZARD ; };
-hidspecial HID_PAGE_DBWIZARD_FINAL_CB_OPENAFTERWARDS { HelpId = HID_PAGE_DBWIZARD_FINAL_CB_OPENAFTERWARDS ; };
-hidspecial HID_DSADMIN_USESSL_LDAP { HelpId = HID_DSADMIN_USESSL_LDAP ; };
-hidspecial HID_DSADMIN_DOSLINEENDS { HelpId = HID_DSADMIN_DOSLINEENDS ; };
-hidspecial SID_DB_QUERY_PREVIEW { HelpId = SID_DB_QUERY_PREVIEW ; };
-hidspecial HID_PAGE_DBWIZARD_USERDEFINED_ET_BROWSE { HelpId = HID_PAGE_DBWIZARD_USERDEFINED_ET_BROWSE ; };
-hidspecial HID_PAGE_DBWIZARD_USERDEFINED_BROWSE { HelpId = HID_PAGE_DBWIZARD_USERDEFINED_BROWSE ; };
-hidspecial HID_DLG_DATABASE_WIZARD { HelpId = HID_DLG_DATABASE_WIZARD ; };
-hidspecial HID_BROWSER_ADMINISTRATE { HelpId = HID_BROWSER_ADMINISTRATE ; };
-hidspecial HID_DSADMIN_IGNORECURRENCY { HelpId = HID_DSADMIN_IGNORECURRENCY ; };
-hidspecial HID_DLG_QRY_JOIN_CONTROL { HelpId = HID_DLG_QRY_JOIN_CONTROL ; };
-hidspecial HID_EXTENSION_NOT_PRESENT_DLG { HelpId = HID_EXTENSION_NOT_PRESENT_DLG ; };
-hidspecial HID_DLG_ADABAS_NEWDB { HelpId = HID_DLG_ADABAS_NEWDB; };
-hidspecial HID_DLG_ADABAS_DBNAME { HelpId = HID_DLG_ADABAS_DBNAME ; };
-hidspecial HID_DLG_ADABAS_SYSUSR { HelpId = HID_DLG_ADABAS_SYSUSR ; };
-hidspecial HID_DLG_ADABAS_SYSPWD { HelpId = HID_DLG_ADABAS_SYSPWD ; };
-hidspecial HID_DLG_ADABAS_CONUSR { HelpId = HID_DLG_ADABAS_CONUSR ; };
-hidspecial HID_DLG_ADABAS_CONPWD { HelpId = HID_DLG_ADABAS_CONPWD ; };
-hidspecial HID_DLG_ADABAS_DATADEVSPACE_SIZE { HelpId = HID_DLG_ADABAS_DATADEVSPACE_SIZE ; };
-hidspecial HID_DLG_ADABAS_CACHE_SIZE { HelpId = HID_DLG_ADABAS_CACHE_SIZE ; };
-hidspecial HID_DLG_ADABAS_USR { HelpId = HID_DLG_ADABAS_USR ; };
-hidspecial HID_DLG_ADABAS_DOMAINPWD { HelpId = HID_DLG_ADABAS_DOMAINPWD ; };
-hidspecial HID_DLG_ADABAS_RESTORE { HelpId = HID_DLG_ADABAS_RESTORE ; };
-hidspecial HID_DLG_ADABAS_PBRESTORE { HelpId = HID_DLG_ADABAS_PBRESTORE ; };
-hidspecial HID_DLG_ADABAS_SYSDEVSPACE { HelpId = HID_DLG_ADABAS_SYSDEVSPACE ; };
-hidspecial HID_DLG_ADABAS_PBSYSDEVSPACE { HelpId = HID_DLG_ADABAS_PBSYSDEVSPACE ; };
-hidspecial HID_DLG_ADABAS_TRANSACTIONLOG { HelpId = HID_DLG_ADABAS_TRANSACTIONLOG ; };
-hidspecial HID_DLG_ADABAS_PBTRANSACTIONLOG { HelpId = HID_DLG_ADABAS_PBTRANSACTIONLOG ; };
-hidspecial HID_DLG_ADABAS_DATADEVSPACE { HelpId = HID_DLG_ADABAS_DATADEVSPACE ; };
-hidspecial HID_DLG_ADABAS_PBDATADEVSPACE { HelpId = HID_DLG_ADABAS_PBDATADEVSPACE ; };
-hidspecial HID_DLG_ADABAS_TRANSACTIONLOG_SIZE { HelpId = HID_DLG_ADABAS_TRANSACTIONLOG_SIZE; };
-
+/*************************************************************************
+*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: hidother.src,v $
+ * $Revision: 1.69 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+************************************************************************/
+
+#include "../inc/dbaccess_helpid.hrc"
+#include "../inc/dbaccess_slotid.hrc"
+#ifndef _SBASLTID_HRC
+#include <svx/svxids.hrc>
+#endif
+
+hidspecial HID_DLG_FILTERCRIT { HelpId = HID_DLG_FILTERCRIT; };
+hidspecial HID_DLG_ORDERCRIT { HelpId = HID_DLG_ORDERCRIT; };
+hidspecial HID_DATABROWSE_HEADER { HelpId = HID_DATABROWSE_HEADER; };
+hidspecial HID_CTL_TABBROWSER { HelpId = HID_CTL_TABBROWSER; };
+hidspecial UID_DATABROWSE_DATAWINDOW { HelpId = UID_DATABROWSE_DATAWINDOW; };
+hidspecial HID_CTL_TREEVIEW { HelpId = HID_CTL_TREEVIEW; };
+hidspecial UID_CTL_CONTENT { HelpId = UID_CTL_CONTENT; };
+hidspecial HID_TLB_TABBROWSER { HelpId = HID_TLB_TABBROWSER; };
+hidspecial HID_TLB_TREELISTBOX { HelpId = HID_TLB_TREELISTBOX; };
+
+hidspecial HID_DSADMIN_DIALOG { HelpId = HID_DSADMIN_DIALOG; };
+hidspecial HID_DSADMIN_CHARSET { HelpId = HID_DSADMIN_CHARSET; };
+hidspecial HID_DSADMIN_TABCONTROL { HelpId = HID_DSADMIN_TABCONTROL; };
+hidspecial HID_DSADMIN_PAGE_GENERAL { HelpId = HID_DSADMIN_PAGE_GENERAL; };
+hidspecial HID_DSADMIN_PAGE_DBASE { HelpId = HID_DSADMIN_PAGE_DBASE; };
+hidspecial HID_DSADMIN_PAGE_JDBC { HelpId = HID_DSADMIN_PAGE_JDBC; };
+hidspecial HID_DSADMIN_PAGE_ODBC { HelpId = HID_DSADMIN_PAGE_ODBC; };
+hidspecial HID_DSADMIN_PAGE_ADABAS { HelpId = HID_DSADMIN_PAGE_ADABAS; };
+hidspecial HID_DSADMIN_PAGE_TEXT { HelpId = HID_DSADMIN_PAGE_TEXT; };
+hidspecial HID_DSADMIN_TABLE_SUBSCRIPTION { HelpId = HID_DSADMIN_TABLE_SUBSCRIPTION; };
+hidspecial HID_DSADMIN_DSACTIONS_NEWDS { HelpId = HID_DSADMIN_DSACTIONS_NEWDS; };
+hidspecial HID_DSADMIN_DSACTIONS_DELETEDS { HelpId = HID_DSADMIN_DSACTIONS_DELETEDS; };
+hidspecial HID_DSADMIN_DSACTIONS_RESTOREDS { HelpId = HID_DSADMIN_DSACTIONS_RESTOREDS; };
+hidspecial HID_DSADMIN_DSNAME { HelpId = HID_DSADMIN_DSNAME; };
+hidspecial HID_DSADMIN_DSTYPE { HelpId = HID_DSADMIN_DSTYPE; };
+hidspecial HID_DSADMIN_URL_GENERAL { HelpId = HID_DSADMIN_URL_GENERAL; };
+hidspecial HID_DSADMIN_BROWSECONN { HelpId = HID_DSADMIN_BROWSECONN; };
+hidspecial HID_DSADMIN_LOGINTIMEOUT_NUMBER { HelpId = HID_DSADMIN_LOGINTIMEOUT_NUMBER; };
+hidspecial HID_DSADMIN_LOGINTIMEOUT_UNIT { HelpId = HID_DSADMIN_LOGINTIMEOUT_UNIT; };
+hidspecial HID_DSADMIN_SHOWDELETED { HelpId = HID_DSADMIN_SHOWDELETED; };
+hidspecial HID_DSADMIN_ALLOWLONG { HelpId = HID_DSADMIN_ALLOWLONG; };
+hidspecial HID_DSADMIN_DBASE_INDICIES { HelpId = HID_DSADMIN_DBASE_INDICIES; };
+hidspecial HID_DSADMIN_DRIVERCLASS { HelpId = HID_DSADMIN_DRIVERCLASS; };
+hidspecial HID_DSADMIN_ODBC_OPTIONS { HelpId = HID_DSADMIN_ODBC_OPTIONS; };
+hidspecial HID_DSADMIN_TEXT_HEADER { HelpId = HID_DSADMIN_TEXT_HEADER; };
+hidspecial HID_DSADMIN_FIELD_SEPARATOR { HelpId = HID_DSADMIN_FIELD_SEPARATOR; };
+hidspecial HID_DSADMIN_TEXT_SEPARATOR { HelpId = HID_DSADMIN_TEXT_SEPARATOR; };
+hidspecial HID_DSADMIN_DECIMAL_SEPARATOR { HelpId = HID_DSADMIN_DECIMAL_SEPARATOR; };
+hidspecial HID_DSADMIN_THOUSANDS_SEPARATOR { HelpId = HID_DSADMIN_THOUSANDS_SEPARATOR; };
+hidspecial HID_DSADMIN_EXTENSION { HelpId = HID_DSADMIN_EXTENSION; };
+hidspecial HID_DSADMIN_ALL_TABLES { HelpId = HID_DSADMIN_ALL_TABLES; };
+hidspecial HID_DSADMIN_NO_TABLES { HelpId = HID_DSADMIN_NO_TABLES; };
+hidspecial HID_DSADMIN_SELECT_TABLES { HelpId = HID_DSADMIN_SELECT_TABLES; };
+hidspecial HID_DSADMIN_TABLE_SELECTOR { HelpId = HID_DSADMIN_TABLE_SELECTOR; };
+hidspecial HID_DSADMIN_SUPPRESS_VERSIONCL { HelpId = HID_DSADMIN_SUPPRESS_VERSIONCL; };
+hidspecial HID_GENERIC_SQL_ERROR { HelpId = HID_GENERIC_SQL_ERROR; };
+hidspecial HID_BROWSER_COLUMNFORMAT { HelpId = HID_BROWSER_COLUMNFORMAT; };
+hidspecial HID_BROWSER_COLUMNWIDTH { HelpId = HID_BROWSER_COLUMNWIDTH; };
+hidspecial HID_BROWSER_TABLEFORMAT { HelpId = HID_BROWSER_TABLEFORMAT; };
+hidspecial HID_BROWSER_ROWHEIGHT { HelpId = HID_BROWSER_ROWHEIGHT; };
+hidspecial HID_BROWSER_EDIT_DATABASE { HelpId = HID_BROWSER_EDIT_DATABASE; };
+hidspecial HID_BROWSER_CLOSECONN { HelpId = HID_BROWSER_CLOSECONN; };
+hidspecial HID_BROWSER_REFRESHCONN { HelpId = HID_BROWSER_REFRESHCONN; };
+hidspecial HID_DSADMIN_SPECIAL_MESSAGE { HelpId = HID_DSADMIN_SPECIAL_MESSAGE; };
+
+hidspecial HID_DLG_ROWHEIGHT { HelpId = HID_DLG_ROWHEIGHT; };
+hidspecial HID_DLG_COLWIDTH { HelpId = HID_DLG_COLWIDTH; };
+hidspecial HID_TLB_QUERYDESIGN { HelpId = HID_TLB_QUERYDESIGN; };
+hidspecial HID_CTL_QRYSQLEDIT { HelpId = HID_CTL_QRYSQLEDIT; };
+
+hidspecial HID_DSADMIN_SPECIAL_MESSAGE { HelpId = HID_DSADMIN_SPECIAL_MESSAGE; };
+
+hidspecial HID_BROWSER_QUERY_CREATE_DESIGN { HelpId = HID_BROWSER_QUERY_CREATE_DESIGN; };
+hidspecial HID_BROWSER_QUERY_CREATE_TEXT { HelpId = HID_BROWSER_QUERY_CREATE_TEXT; };
+
+hidspecial HID_DLG_ERROR { HelpId = HID_DLG_ERROR; };
+hidspecial HID_DLG_TEXT { HelpId = HID_DLG_TEXT; };
+hidspecial UID_SQLERROR_BUTTONMORE { HelpId = UID_SQLERROR_BUTTONMORE; };
+hidspecial HID_DLG_SAVE_AS { HelpId = HID_DLG_SAVE_AS; };
+hidspecial HID_BROWSER_QUERY_EDIT { HelpId = HID_BROWSER_QUERY_EDIT; };
+hidspecial HID_BROWSER_QUERY_DELETE { HelpId = HID_BROWSER_QUERY_DELETE; };
+
+hidspecial HID_DSADMIN_USER_ADO { HelpId = HID_DSADMIN_USER_ADO; };
+hidspecial HID_DSADMIN_PWDREC_ADO { HelpId = HID_DSADMIN_PWDREC_ADO; };
+hidspecial HID_DSADMIN_CONNURL_ADOPAGE { HelpId = HID_DSADMIN_CONNURL_ADOPAGE; };
+hidspecial HID_DSADMIN_PAGE_ADO { HelpId = HID_DSADMIN_PAGE_ADO; };
+
+hidspecial HID_JOINSH_ADDTAB_CLOSE { HelpId = HID_JOINSH_ADDTAB_CLOSE; };
+hidspecial HID_JOINSH_ADDTAB_TABLELIST { HelpId = HID_JOINSH_ADDTAB_TABLELIST; };
+hidspecial HID_JOINSH_ADDTAB_QUERYLIST { HelpId = HID_JOINSH_ADDTAB_QUERYLIST; };
+hidspecial HID_CTL_QRYDGNTAB { HelpId = HID_CTL_QRYDGNTAB; };
+hidspecial HID_DLG_QRY_JOIN { HelpId = HID_DLG_QRY_JOIN; };
+hidspecial HID_DLG_QRY_JOINTYPE { HelpId = HID_DLG_QRY_JOINTYPE; };
+hidspecial HID_DLG_QRY_HELPTEXT { HelpId = HID_DLG_QRY_HELPTEXT; };
+
+hidspecial HID_CTL_QRYDGNCRIT { HelpId = HID_CTL_QRYDGNCRIT; };
+hidspecial HID_QRYDGN_ROW_VISIBLE { HelpId = HID_QRYDGN_ROW_VISIBLE; };
+hidspecial HID_QRYDGN_ROW_TABLE { HelpId = HID_QRYDGN_ROW_TABLE; };
+hidspecial HID_QRYDGN_ROW_FIELD { HelpId = HID_QRYDGN_ROW_FIELD; };
+hidspecial HID_QRYDGN_ROW_ORDER { HelpId = HID_QRYDGN_ROW_ORDER; };
+hidspecial HID_QRYDGN_ROW_FUNCTION { HelpId = HID_QRYDGN_ROW_FUNCTION; };
+hidspecial HID_QRYDGN_ROW_ALIAS { HelpId = HID_QRYDGN_ROW_ALIAS; };
+hidspecial HID_QRYDGN_ROW_CRIT { HelpId = HID_QRYDGN_ROW_CRIT; };
+
+hidspecial HID_QUERY_FUNCTION { HelpId = HID_QUERY_FUNCTION; };
+hidspecial HID_QUERY_TABLENAME { HelpId = HID_QUERY_TABLENAME; };
+hidspecial HID_QUERY_ALIASNAME { HelpId = HID_QUERY_ALIASNAME; };
+hidspecial HID_QUERY_DISTINCT { HelpId = HID_QUERY_DISTINCT; };
+
+hidspecial HID_DSADMIN_QUERYADMINISTRATION { HelpId = HID_DSADMIN_QUERYADMINISTRATION; };
+hidspecial HID_DSADMIN_QUERIES { HelpId = HID_DSADMIN_QUERIES; };
+hidspecial HID_DSADMIN_QUERIES_NEW { HelpId = HID_DSADMIN_QUERIES_NEW; };
+hidspecial HID_DSADMIN_QUERIES_EDIT { HelpId = HID_DSADMIN_QUERIES_EDIT; };
+hidspecial HID_DSADMIN_QUERIES_DELETE { HelpId = HID_DSADMIN_QUERIES_DELETE; };
+
+hidspecial HID_TAB_DESIGN_TABLE_DESC { HelpId = HID_TAB_DESIGN_TABLE_DESC; };
+hidspecial HID_TAB_DESIGN_FIELDCONTROL { HelpId = HID_TAB_DESIGN_FIELDCONTROL; };
+hidspecial HID_TABLE_DESIGN_HELP_WINDOW { HelpId = HID_TABLE_DESIGN_HELP_WINDOW; };
+hidspecial HID_TAB_DESIGN_DESCWIN { HelpId = HID_TAB_DESIGN_DESCWIN; };
+hidspecial HID_TAB_DESIGN_TABLE_PROPS { HelpId = HID_TAB_DESIGN_TABLE_PROPS; };
+hidspecial HID_TABDESIGN_BACKGROUND { HelpId = HID_TABDESIGN_BACKGROUND; };
+hidspecial HID_CTL_TABLEEDIT { HelpId = HID_CTL_TABLEEDIT; };
+hidspecial HID_TABDESIGN_NAMECELL { HelpId = HID_TABDESIGN_NAMECELL; };
+hidspecial HID_TABDESIGN_TYPECELL { HelpId = HID_TABDESIGN_TYPECELL; };
+hidspecial HID_TABDESIGN_COMMENTCELL { HelpId = HID_TABDESIGN_COMMENTCELL; };
+hidspecial SID_TABLEDESIGN_INSERTROWS { HelpId = SID_TABLEDESIGN_INSERTROWS; };
+hidspecial SID_TABLEDESIGN_TABED_PRIMARYKEY { HelpId = SID_TABLEDESIGN_TABED_PRIMARYKEY; };
+hidspecial HID_TLB_TABLEDESIGN { HelpId = HID_TLB_TABLEDESIGN; };
+hidspecial HID_TAB_DESIGN_HELP_TEXT_FRAME { HelpId = HID_TAB_DESIGN_HELP_TEXT_FRAME; };
+hidspecial HID_TABLE_DESIGN_TABPAGE_GENERAL { HelpId = HID_TABLE_DESIGN_TABPAGE_GENERAL; };
+hidspecial HID_TAB_ENT_DEFAULT { HelpId = HID_TAB_ENT_DEFAULT; };
+hidspecial HID_TAB_ENT_FORMAT_SAMPLE { HelpId = HID_TAB_ENT_FORMAT_SAMPLE; };
+hidspecial HID_TAB_ENT_FORMAT { HelpId = HID_TAB_ENT_FORMAT; };
+hidspecial HID_TAB_ENT_BOOL_DEFAULT { HelpId = HID_TAB_ENT_BOOL_DEFAULT; };
+hidspecial HID_TAB_ENT_REQUIRED { HelpId = HID_TAB_ENT_REQUIRED; };
+hidspecial HID_TAB_ENT_AUTOINCREMENT { HelpId = HID_TAB_ENT_AUTOINCREMENT; };
+hidspecial HID_TAB_ENT_TEXT_LEN { HelpId = HID_TAB_ENT_TEXT_LEN; };
+hidspecial HID_TAB_ENT_TYPE { HelpId = HID_TAB_ENT_TYPE; };
+hidspecial HID_TAB_ENT_COLUMNNAME { HelpId = HID_TAB_ENT_COLUMNNAME; };
+hidspecial HID_TAB_ENT_NUMTYP { HelpId = HID_TAB_ENT_NUMTYP; };
+hidspecial HID_TAB_ENT_LEN { HelpId = HID_TAB_ENT_LEN; };
+hidspecial HID_TAB_ENT_SCALE { HelpId = HID_TAB_ENT_SCALE; };
+hidspecial HID_BROWSER_TABLE_CREATE_DESIGN { HelpId = HID_BROWSER_TABLE_CREATE_DESIGN; };
+hidspecial HID_BROWSER_TABLE_EDIT { HelpId = HID_BROWSER_TABLE_EDIT; };
+hidspecial HID_BROWSER_TABLE_DELETE { HelpId = HID_BROWSER_TABLE_DELETE; };
+hidspecial HID_SQLERROR_EXCHAIN_ERRORS { HelpId = HID_SQLERROR_EXCHAIN_ERRORS; };
+hidspecial HID_DBACCESS_START { HelpId = HID_DBACCESS_START; };
+hidspecial HID_SQLERROR_EXCHAIN_TEXT { HelpId = HID_SQLERROR_EXCHAIN_TEXT; };
+hidspecial HID_TAB_WIZ_COLUMN_SELECT { HelpId = HID_TAB_WIZ_COLUMN_SELECT; };
+hidspecial HID_TAB_WIZ_TYPE_SELECT { HelpId = HID_TAB_WIZ_TYPE_SELECT; };
+hidspecial HID_TAB_NAMEMATCHING_COLS_AVAIL { HelpId = HID_TAB_NAMEMATCHING_COLS_AVAIL; };
+hidspecial HID_TAB_NAMEMATCHING_COLS_ASSIGN { HelpId = HID_TAB_NAMEMATCHING_COLS_ASSIGN; };
+hidspecial HID_TAB_WIZ_COPYTABLE { HelpId = HID_TAB_WIZ_COPYTABLE; };
+hidspecial HID_TAB_WIZ_TABLENAME_EDIT { HelpId = HID_TAB_WIZ_TABLENAME_EDIT; };
+hidspecial HID_CTL_RELATIONTAB { HelpId = HID_CTL_RELATIONTAB; };
+hidspecial HID_TLB_RELATIONDESIGN { HelpId = HID_TLB_RELATIONDESIGN ; };
+hidspecial HID_RELATIONDIALOG_LEFTFIELDCELL { HelpId = HID_RELATIONDIALOG_LEFTFIELDCELL ; };
+hidspecial HID_RELATIONDIALOG_RIGHTFIELDCELL { HelpId = HID_RELATIONDIALOG_RIGHTFIELDCELL ; };
+hidspecial HID_RELDLG_KEYFIELDS { HelpId = HID_RELDLG_KEYFIELDS ; };
+hidspecial HID_BROWSER_RELATION_DESIGN { HelpId = HID_BROWSER_RELATION_DESIGN ; };
+hidspecial HID_TABLE_DESIGN_NO_CONNECTION { HelpId = HID_TABLE_DESIGN_NO_CONNECTION ; };
+hidspecial HID_DSADMIN_CREATEDATABASE { HelpId = HID_DSADMIN_CREATEDATABASE ; };
+hidspecial HID_BROWSER_COLUMNINFO { HelpId = HID_BROWSER_COLUMNINFO ; };
+hidspecial HID_DSADMIN_USECATALOG { HelpId = HID_DSADMIN_USECATALOG ; };
+hidspecial HID_BROWSER_VIEW_CREATE_DESIGN { HelpId = HID_BROWSER_VIEW_CREATE_DESIGN ; };
+hidspecial HID_DSADMIN_DOCUMENTS { HelpId = HID_DSADMIN_DOCUMENTS ; };
+hidspecial HID_DSADMIN_DOCUMENTLINKS { HelpId = HID_DSADMIN_DOCUMENTLINKS ; };
+
+hidspecial HID_DSADMIN_FILTER_EXPLANATION { HelpId = HID_DSADMIN_FILTER_EXPLANATION ; };
+hidspecial HID_CONFIRM_DROP_BUTTON_ALL { HelpId = HID_CONFIRM_DROP_BUTTON_ALL ; };
+hidspecial HID_DSBROWSER_BOOKMARK_SELECTED { HelpId = HID_DSBROWSER_BOOKMARK_SELECTED ; };
+hidspecial HID_DSADMIN_TABLE_TOOLBOX { HelpId = HID_DSADMIN_TABLE_TOOLBOX ; };
+hidspecial HID_DSADMIN_QUERY_TOOLBOX { HelpId = HID_DSADMIN_QUERY_TOOLBOX ; };
+hidspecial HID_DSADMIN_BOOKMARK_TOOLBOX { HelpId = HID_DSADMIN_BOOKMARK_TOOLBOX ; };
+hidspecial HID_DSADMIN_PAGE_LDAP { HelpId = HID_DSADMIN_PAGE_LDAP ; };
+hidspecial HID_DSADMIN_LDAP_HOSTNAME { HelpId = HID_DSADMIN_LDAP_HOSTNAME ; };
+hidspecial HID_DSADMIN_LDAP_BASEDN { HelpId = HID_DSADMIN_LDAP_BASEDN ; };
+hidspecial HID_DSADMIN_LDAP_PORTNUMBER { HelpId = HID_DSADMIN_LDAP_PORTNUMBER ; };
+hidspecial HID_DSADMIN_PAGE_MOZILLA { HelpId = HID_DSADMIN_PAGE_MOZILLA ; };
+hidspecial HID_DSADMIN_MOZILLA_PROFILE_NAME { HelpId = HID_DSADMIN_MOZILLA_PROFILE_NAME ; };
+
+hidspecial HID_TAB_PAGE_USERADMIN { HelpId = HID_TAB_PAGE_USERADMIN ; };
+hidspecial HID_TAB_PAGE_PBUSER { HelpId = HID_TAB_PAGE_PBUSER ; };
+hidspecial HID_TAB_PAGE_PBCHGPWD { HelpId = HID_TAB_PAGE_PBCHGPWD ; };
+hidspecial HID_TAB_PAGE_PBUSERDELETE { HelpId = HID_TAB_PAGE_PBUSERDELETE ; };
+hidspecial HID_TAB_PAGE_TBLGRANTS { HelpId = HID_TAB_PAGE_TBLGRANTS ; };
+hidspecial HID_TAB_PAGE_LBUSER { HelpId = HID_TAB_PAGE_LBUSER ; };
+hidspecial HID_DSBROWSER_BOOKMARKSELECTED { HelpId = HID_DSBROWSER_BOOKMARKSELECTED ; };
+hidspecial HID_DSBROWSER_DISCONNECTING { HelpId = HID_DSBROWSER_DISCONNECTING ; };
+hidspecial HID_DSBROWSER_DIRECTSQL { HelpId = HID_DSBROWSER_DIRECTSQL ; };
+hidspecial HID_DSADMIN_LDAP_ROWCOUNT { HelpId = HID_DSADMIN_LDAP_ROWCOUNT ; };
+hidspecial HID_DLG_PASSWORD { HelpId = HID_DLG_PASSWORD ; };
+hidspecial HID_BROWSER_QUERY_EDITSQL { HelpId = HID_BROWSER_QUERY_EDITSQL ; };
+hidspecial HID_BROWSER_OPEN_DOCUMENT { HelpId = HID_BROWSER_OPEN_DOCUMENT ; };
+hidspecial HID_BROWSER_EDIT_DOCUMENT { HelpId = HID_BROWSER_EDIT_DOCUMENT ; };
+hidspecial HID_BROWSER_BEW_DOCUMENT { HelpId = HID_BROWSER_BEW_DOCUMENT ; };
+
+hidspecial HID_DLGIDX_NEWINDEX { HelpId = HID_DLGIDX_NEWINDEX; }
+hidspecial HID_DLGIDX_DROPINDEX { HelpId = HID_DLGIDX_DROPINDEX; }
+hidspecial HID_DLGIDX_RENAMEINDEX { HelpId = HID_DLGIDX_RENAMEINDEX; }
+hidspecial HID_DLGIDX_SAVEINDEX { HelpId = HID_DLGIDX_SAVEINDEX; }
+hidspecial HID_DLGIDX_RESETINDEX { HelpId = HID_DLGIDX_RESETINDEX; }
+hidspecial HID_DLGIDX_INDEXLIST { HelpId = HID_DLGIDX_INDEXLIST; }
+hidspecial UID_DLGINDEX_INDEXDETAILS_BACK { HelpId = UID_DLGINDEX_INDEXDETAILS_BACK; }
+hidspecial UID_DLGINDEX_INDEXDETAILS_MAIN { HelpId = UID_DLGINDEX_INDEXDETAILS_MAIN; }
+hidspecial HID_DLGINDEX_INDEXDETAILS_FIELD { HelpId = HID_DLGINDEX_INDEXDETAILS_FIELD; }
+hidspecial HID_DLGINDEX_INDEXDETAILS_SORTORDER { HelpId = HID_DLGINDEX_INDEXDETAILS_SORTORDER; }
+hidspecial HID_DOCLINKEDIT_URL { HelpId = HID_DOCLINKEDIT_URL; }
+
+hidspecial HID_QUERY_SQLMODE { HelpId = HID_QUERY_SQLMODE ; };
+hidspecial HID_BROWSER_REFRESH_REBUILDVIEW { HelpId = HID_BROWSER_REFRESH_REBUILDVIEW ; };
+hidspecial HID_BROWSER_RENAME_ENTRY { HelpId = HID_BROWSER_RENAME_ENTRY ; };
+
+hidspecial HID_QUERY_EDIT_JOINCONNECTION { HelpId = HID_QUERY_EDIT_JOINCONNECTION ; };
+
+hidspecial HID_DLG_QRY_WINDOW_CONTROL { HelpId = HID_DLG_QRY_WINDOW_CONTROL ; };
+hidspecial HID_DLG_QRY_LEFT_TABLE { HelpId = HID_DLG_QRY_LEFT_TABLE ; };
+hidspecial HID_DLG_QRY_RIGHT_TABLE { HelpId = HID_DLG_QRY_RIGHT_TABLE ; };
+
+hidspecial HID_DLG_REL_CASC_DEL { HelpId = HID_DLG_REL_CASC_DEL ; };
+hidspecial HID_DLG_REL_NO_CASC_DEL { HelpId = HID_DLG_REL_NO_CASC_DEL ; };
+hidspecial HID_DLG_REL_CASC_DEL_NULL { HelpId = HID_DLG_REL_CASC_DEL_NULL ; };
+hidspecial HID_DLG_REL_CASC_DEL_DEFAULT { HelpId = HID_DLG_REL_CASC_DEL_DEFAULT ; };
+
+hidspecial HID_DLG_REL_CASC_UPD { HelpId = HID_DLG_REL_CASC_UPD ; };
+hidspecial HID_DLG_REL_NO_CASC_UPD { HelpId = HID_DLG_REL_NO_CASC_UPD ; };
+hidspecial HID_DLG_REL_CASC_UPD_NULL { HelpId = HID_DLG_REL_CASC_UPD_NULL ; };
+hidspecial HID_DLG_REL_CASC_UPD_DEFAULT { HelpId = HID_DLG_REL_CASC_UPD_DEFAULT ; };
+hidspecial HID_BROWSER_SAVE_RECORD { HelpId = HID_BROWSER_SAVE_RECORD ; };
+hidspecial HID_BROWSER_UNDO_RECORD { HelpId = HID_BROWSER_UNDO_RECORD ; };
+
+// missing pre processor for helpids so we have to include them here
+hidspecial SID_RELATION_ADD_RELATION { HelpId = SID_RELATION_ADD_RELATION ; };
+hidspecial SID_FM_NATIVESQL { HelpId = SID_FM_NATIVESQL ; };
+hidspecial SID_FM_ADDTABLE { HelpId = SID_FM_ADDTABLE ; };
+hidspecial SID_FM_EXECUTE { HelpId = SID_FM_EXECUTE ; };
+
+hidspecial HID_DSADMIN_SQL92CHECK { HelpId = HID_DSADMIN_SQL92CHECK ; };
+hidspecial HID_DSADMIN_AUTOINCREMENTVALUE { HelpId = HID_DSADMIN_AUTOINCREMENTVALUE ; };
+hidspecial HID_TAB_AUTOINCREMENTVALUE { HelpId = HID_TAB_AUTOINCREMENTVALUE ; };
+hidspecial HID_DOCUMENT_CREATE_REPWIZ { HelpId = HID_DOCUMENT_CREATE_REPWIZ ; };
+hidspecial HID_DSADMIN_RETRIEVE_AUTO { HelpId = HID_DSADMIN_RETRIEVE_AUTO ; };
+hidspecial HID_DSADMIN_AUTORETRIEVEENABLED { HelpId = HID_DSADMIN_AUTORETRIEVEENABLED ; };
+
+hidspecial HID_DSADMIN_PAGE_MYSQL_ODBC { HelpId = HID_DSADMIN_PAGE_MYSQL_ODBC ; };
+hidspecial HID_DSADMIN_PAGE_MYSQL_JDBC { HelpId = HID_DSADMIN_PAGE_MYSQL_JDBC ; };
+hidspecial HID_TAB_PAGE_TABLEPRIVILEGES { HelpId = HID_TAB_PAGE_TABLEPRIVILEGES ; };
+
+hidspecial HID_DSADMIN_PAGE_USERDRIVER { HelpId = HID_DSADMIN_PAGE_USERDRIVER ; };
+hidspecial HID_DSADMIN_USER_DEFINED { HelpId = HID_DSADMIN_USER_DEFINED ; };
+hidspecial HID_DSADMIN_USERDEF_OPTIONS { HelpId = HID_DSADMIN_USERDEF_OPTIONS ; };
+hidspecial HID_DSADMIN_CHARSET_USERDEF { HelpId = HID_DSADMIN_CHARSET_USERDEF ; };
+
+hidspecial HID_DLG_RENAME { HelpId = HID_DLG_RENAME ; };
+
+hidspecial HID_DSADMIN_DBASE_PATH { HelpId = HID_DSADMIN_DBASE_PATH ; };
+hidspecial HID_DSADMIN_MYSQL_DATABASE { HelpId = HID_DSADMIN_MYSQL_DATABASE ; };
+hidspecial HID_DSADMIN_MYSQL_ODBC_DATASOURCE { HelpId = HID_DSADMIN_MYSQL_ODBC_DATASOURCE ; };
+hidspecial HID_DSADMIN_ODBC_DATASOURCE { HelpId = HID_DSADMIN_ODBC_DATASOURCE ; };
+hidspecial HID_DSADMIN_ADABAS_DATABASE { HelpId = HID_DSADMIN_ADABAS_DATABASE ; };
+hidspecial HID_DSADMIN_MSACCESS_MDB_FILE { HelpId = HID_DSADMIN_MSACCESS_MDB_FILE ; };
+hidspecial HID_DSADMIN_PAGE_MSACCESS { HelpId = HID_DSADMIN_PAGE_MSACCESS ; };
+hidspecial HID_DSADMIN_FLAT_PATH { HelpId = HID_DSADMIN_FLAT_PATH ; };
+hidspecial HID_DSADMIN_CALC_PATH { HelpId = HID_DSADMIN_CALC_PATH ; };
+hidspecial HID_DSADMIN_ADVANCED { HelpId = HID_DSADMIN_ADVANCED ; };
+hidspecial HID_DSADMIN_BOOLEANCOMPARISON { HelpId = HID_DSADMIN_BOOLEANCOMPARISON ; };
+hidspecial HID_DSADMIN_ORACLE_DATABASE { HelpId = HID_DSADMIN_ORACLE_DATABASE ; };
+
+hidspecial UID_APP_VIEW { HelpId = UID_APP_VIEW ; };
+hidspecial HID_APP_TABLE_TREE { HelpId = HID_APP_TABLE_TREE ; };
+hidspecial HID_APP_FORM_TREE { HelpId = HID_APP_FORM_TREE ; };
+hidspecial HID_APP_QUERY_TREE { HelpId = HID_APP_QUERY_TREE ; };
+hidspecial HID_APP_REPORT_TREE { HelpId = HID_APP_REPORT_TREE ; };
+hidspecial UID_APP_DETAIL_VIEW { HelpId = UID_APP_DETAIL_VIEW; };
+hidspecial UID_APP_VIEW_VERT_SPLIT { HelpId = UID_APP_VIEW_VERT_SPLIT ; };
+hidspecial UID_APP_VIEW_BORDER_WIN { HelpId = UID_APP_VIEW_BORDER_WIN ; };
+hidspecial HID_APP_CREATION_LIST { HelpId = HID_APP_CREATION_LIST ; };
+hidspecial UID_APP_SWAP_VIEW { HelpId = UID_APP_SWAP_VIEW ; };
+hidspecial UID_DLG_TABLE_FILTER { HelpId = UID_DLG_TABLE_FILTER ; };
+hidspecial HID_APP_SWAP_ICONCONTROL { HelpId = HID_APP_SWAP_ICONCONTROL ; };
+
+hidspecial HID_DSADMIN_APPENDTABLEALIAS { HelpId = HID_DSADMIN_APPENDTABLEALIAS ; };
+hidspecial HID_DSADMIN_AS_BEFORE_CORRELATION_NAME { HelpId = HID_DSADMIN_AS_BEFORE_CORRELATION_NAME ; };
+hidspecial HID_DSADMIN_CHECK_REQUIRED_FIELDS { HelpId = HID_DSADMIN_CHECK_REQUIRED_FIELDS ; };
+hidspecial HID_DSADMIN_PARAMETERNAMESUBST { HelpId = HID_DSADMIN_PARAMETERNAMESUBST ; };
+hidspecial HID_DSADMIN_IGNOREDRIVER_PRIV { HelpId = HID_DSADMIN_IGNOREDRIVER_PRIV ; };
+hidspecial HID_DSADMIN_HOSTNAME { HelpId = HID_DSADMIN_HOSTNAME ; };
+hidspecial HID_DSADMIN_PORTNUMBER { HelpId = HID_DSADMIN_PORTNUMBER ; };
+
+hidspecial HID_APP_HELP_TEXT { HelpId = HID_APP_HELP_TEXT ; };
+hidspecial HID_EXPLORERDLG_COLLECTION { HelpId = HID_EXPLORERDLG_COLLECTION ; };
+hidspecial UID_APP_DATABASE_VIEW { HelpId = UID_APP_DATABASE_VIEW ; };
+hidspecial UID_APP_TASKS_VIEW { HelpId = UID_APP_TASKS_VIEW ; };
+hidspecial UID_APP_CONTAINER_VIEW { HelpId = UID_APP_CONTAINER_VIEW ; };
+hidspecial UID_APP_TASKS_WINDOW { HelpId = UID_APP_TASKS_WINDOW ; };
+hidspecial HID_APP_DESCRIPTION_TEXT { HelpId = HID_APP_DESCRIPTION_TEXT ; };
+hidspecial UID_APP_DETAILPAGE_HELPER { HelpId = UID_APP_DETAILPAGE_HELPER ; };
+
+hidspecial HID_APP_VIEW_PREVIEW_CB { HelpId = HID_APP_VIEW_PREVIEW_CB ; };
+hidspecial HID_APP_VIEW_PREVIEW_1 { HelpId = HID_APP_VIEW_PREVIEW_1 ; };
+hidspecial HID_APP_VIEW_PREVIEW_2 { HelpId = HID_APP_VIEW_PREVIEW_2 ; };
+hidspecial UID_APP_VIEW_HORZ_SPLIT { HelpId = UID_APP_VIEW_HORZ_SPLIT ; };
+hidspecial UID_APP_VIEW_PREVIEW_1 { HelpId = UID_APP_VIEW_PREVIEW_1 ; };
+hidspecial HID_APP_VIEW_PREVIEW_3 { HelpId = HID_APP_VIEW_PREVIEW_3 ; };
+
+hidspecial HID_DSADMIN_TYPE_DIALOG { HelpId = HID_DSADMIN_TYPE_DIALOG ; };
+hidspecial HID_DSADMIN_ENABLEOUTERJOIN { HelpId = HID_DSADMIN_ENABLEOUTERJOIN ; };
+hidspecial HID_DSADMIN_ADABASADMIN { HelpId = HID_DSADMIN_ADABASADMIN ; };
+hidspecial HID_DSADMIN_USERADMIN { HelpId = HID_DSADMIN_USERADMIN ; };
+
+hidspecial HID_DBWIZ_PREVIOUS { HelpId = HID_DBWIZ_PREVIOUS ; };
+hidspecial HID_DBWIZ_NEXT { HelpId = HID_DBWIZ_NEXT ; };
+hidspecial HID_DBWIZ_CANCEL { HelpId = HID_DBWIZ_CANCEL ; };
+hidspecial HID_DBWIZ_FINISH { HelpId = HID_DBWIZ_FINISH ; };
+hidspecial UID_DBWIZ_HELP { HelpId = UID_DBWIZ_HELP ; };
+
+hidspecial HID_DSADMIN_CATALOG { HelpId = HID_DSADMIN_CATALOG ; };
+hidspecial HID_DSADMIN_SCHEMA { HelpId = HID_DSADMIN_SCHEMA ; };
+hidspecial HID_DSADMIN_IGNOREINDEXAPPENDIX { HelpId = HID_DSADMIN_IGNOREINDEXAPPENDIX ; };
+
+hidspecial HID_PAGE_DBWIZARD_GENERALPAGE { HelpId = HID_PAGE_DBWIZARD_GENERALPAGE ; };
+hidspecial HID_PAGE_DBWIZARD_GENERAL_RB_CREATEDBDATABASE { HelpId = HID_PAGE_DBWIZARD_GENERAL_RB_CREATEDBDATABASE ; };
+hidspecial HID_PAGE_DBWIZARD_GENERAL_RB_GETEXISTINGDATABASE { HelpId = HID_PAGE_DBWIZARD_GENERAL_RB_GETEXISTINGDATABASE ; };
+
+hidspecial HID_PAGE_DBWIZARD_DBASE_ET_DBASELOCATION { HelpId = HID_PAGE_DBWIZARD_DBASE_ET_DBASELOCATION ; };
+hidspecial HID_PAGE_DBWIZARD_DBASE_PB_DBASELOCATION { HelpId = HID_PAGE_DBWIZARD_DBASE_PB_DBASELOCATION ; };
+
+hidspecial SID_INDEXDESIGN { HelpId = SID_INDEXDESIGN; };
+hidspecial SID_DOCUMENT_DATA_SOURCE { HelpId = SID_DOCUMENT_DATA_SOURCE; };
+hidspecial SID_DB_NEW { HelpId = SID_DB_NEW; };
+hidspecial SID_DB_APP_DISABLE_PREVIEW { HelpId = SID_DB_APP_DISABLE_PREVIEW; };
+hidspecial SID_DB_APP_DSCONNECTION_TYPE { HelpId = SID_DB_APP_DSCONNECTION_TYPE; };
+hidspecial SID_DB_APP_DSADVANCED_SETTINGS { HelpId = SID_DB_APP_DSADVANCED_SETTINGS; };
+
+hidspecial SID_DB_APP_VIEW_DOCINFO_PREVIEW { HelpId = SID_DB_APP_VIEW_DOCINFO_PREVIEW; };
+hidspecial SID_DB_APP_VIEW_DOC_PREVIEW { HelpId = SID_DB_APP_VIEW_DOC_PREVIEW; };
+hidspecial SID_DB_APP_VIEW_TABLES { HelpId = SID_DB_APP_VIEW_TABLES; };
+hidspecial SID_DB_APP_VIEW_QUERIES { HelpId = SID_DB_APP_VIEW_QUERIES; };
+hidspecial SID_DB_APP_DSIMPORT { HelpId = SID_DB_APP_DSIMPORT; };
+hidspecial SID_DB_APP_VIEW_FORMS { HelpId = SID_DB_APP_VIEW_FORMS; };
+hidspecial SID_DB_APP_DSRELDESIGN { HelpId = SID_DB_APP_DSRELDESIGN; };
+hidspecial SID_DB_APP_DSUSERADMIN { HelpId = SID_DB_APP_DSUSERADMIN; };
+hidspecial SID_DB_APP_TABLEFILTER { HelpId = SID_DB_APP_TABLEFILTER; };
+hidspecial SID_DB_APP_CLOSECONNECTION { HelpId = SID_DB_APP_CLOSECONNECTION; };
+hidspecial SID_DB_APP_DSPROPS { HelpId = SID_DB_APP_DSPROPS; };
+hidspecial SID_DB_APP_DBADMIN { HelpId = SID_DB_APP_DBADMIN; };
+
+hidspecial SID_DB_APP_CONVERTTOVIEW { HelpId = SID_DB_APP_CONVERTTOVIEW; };
+hidspecial SID_DB_APP_REFRESH_TABLES { HelpId = SID_DB_APP_REFRESH_TABLES; };
+hidspecial SID_DB_APP_VIEW_REPORTS { HelpId = SID_DB_APP_VIEW_REPORTS; };
+hidspecial SID_DB_APP_DSEXPORT { HelpId = SID_DB_APP_DSEXPORT; };
+
+hidspecial SID_DB_APP_TABLE_DELETE { HelpId = SID_DB_APP_TABLE_DELETE; };
+hidspecial SID_DB_APP_TABLE_RENAME { HelpId = SID_DB_APP_TABLE_RENAME; };
+hidspecial SID_DB_APP_TABLE_EDIT { HelpId = SID_DB_APP_TABLE_EDIT; };
+hidspecial SID_DB_APP_TABLE_OPEN { HelpId = SID_DB_APP_TABLE_OPEN; };
+
+hidspecial SID_DB_APP_QUERY_DELETE { HelpId = SID_DB_APP_QUERY_DELETE; };
+hidspecial SID_DB_APP_QUERY_RENAME { HelpId = SID_DB_APP_QUERY_RENAME; };
+hidspecial SID_DB_APP_QUERY_EDIT { HelpId = SID_DB_APP_QUERY_EDIT; };
+hidspecial SID_DB_APP_QUERY_OPEN { HelpId = SID_DB_APP_QUERY_OPEN; };
+
+hidspecial SID_DB_APP_FORM_DELETE { HelpId = SID_DB_APP_FORM_DELETE; };
+hidspecial SID_DB_APP_FORM_RENAME { HelpId = SID_DB_APP_FORM_RENAME; };
+hidspecial SID_DB_APP_FORM_EDIT { HelpId = SID_DB_APP_FORM_EDIT; };
+hidspecial SID_DB_APP_FORM_OPEN { HelpId = SID_DB_APP_FORM_OPEN; };
+
+hidspecial SID_DB_APP_REPORT_DELETE { HelpId = SID_DB_APP_REPORT_DELETE; };
+hidspecial SID_DB_APP_REPORT_RENAME { HelpId = SID_DB_APP_REPORT_RENAME; };
+hidspecial SID_DB_APP_REPORT_EDIT { HelpId = SID_DB_APP_REPORT_EDIT; };
+hidspecial SID_DB_APP_REPORT_OPEN { HelpId = SID_DB_APP_REPORT_OPEN; };
+
+hidspecial SID_DB_APP_DELETE { HelpId = SID_DB_APP_DELETE; };
+hidspecial SID_DB_APP_RENAME { HelpId = SID_DB_APP_RENAME; };
+hidspecial SID_DB_APP_EDIT { HelpId = SID_DB_APP_EDIT; };
+hidspecial SID_DB_APP_EDIT_SQL_VIEW { HelpId = SID_DB_APP_EDIT_SQL_VIEW; };
+hidspecial SID_DB_APP_OPEN { HelpId = SID_DB_APP_OPEN; };
+
+hidspecial SID_BROWSER_CLEAR_QUERY { HelpId = SID_BROWSER_CLEAR_QUERY; };
+hidspecial SID_RELATION_ADD_RELATION { HelpId = SID_RELATION_ADD_RELATION; };
+hidspecial SID_QUERY_VIEW_FUNCTIONS { HelpId = SID_QUERY_VIEW_FUNCTIONS; };
+hidspecial SID_QUERY_VIEW_TABLES { HelpId = SID_QUERY_VIEW_TABLES; };
+hidspecial SID_QUERY_VIEW_ALIASES { HelpId = SID_QUERY_VIEW_ALIASES; };
+hidspecial SID_QUERY_DISTINCT_VALUES { HelpId = SID_QUERY_DISTINCT_VALUES; };
+hidspecial SID_FORM_CREATE_REPWIZ_PRE_SEL { HelpId = SID_FORM_CREATE_REPWIZ_PRE_SEL; };
+hidspecial SID_REPORT_CREATE_REPWIZ_PRE_SEL { HelpId = SID_REPORT_CREATE_REPWIZ_PRE_SEL; };
+hidspecial SID_APP_NEW_REPORT_PRE_SEL { HelpId = SID_APP_NEW_REPORT_PRE_SEL; };
+
+hidspecial SID_APP_NEW_FOLDER { HelpId = SID_APP_NEW_FOLDER; };
+hidspecial SID_APP_NEW_FORM { HelpId = SID_APP_NEW_FORM; };
+hidspecial SID_DB_APP_PASTE_SPECIAL { HelpId = SID_DB_APP_PASTE_SPECIAL; };
+hidspecial SID_DB_QUERY_PREVIEW { HelpId = SID_DB_QUERY_PREVIEW; };
+
+hidspecial SID_DB_APP_STATUS_TYPE { HelpId = SID_DB_APP_STATUS_TYPE; };
+hidspecial SID_DB_APP_STATUS_DBNAME { HelpId = SID_DB_APP_STATUS_DBNAME; };
+hidspecial SID_DB_APP_STATUS_USERNAME { HelpId = SID_DB_APP_STATUS_USERNAME; };
+hidspecial SID_DB_APP_STATUS_HOSTNAME { HelpId = SID_DB_APP_STATUS_HOSTNAME; };
+
+hidspecial SID_DB_APP_SENDREPORTASMAIL { HelpId = SID_DB_APP_SENDREPORTASMAIL; };
+hidspecial SID_DB_APP_SENDREPORTTOWRITER { HelpId = SID_DB_APP_SENDREPORTTOWRITER; };
+hidspecial SID_DB_NEW_VIEW_SQL { HelpId = SID_DB_NEW_VIEW_SQL; };
+
+hidspecial HID_PAGE_DBWIZARD_TEXT_ET_LOCATIONTEXTFILE { HelpId = HID_PAGE_DBWIZARD_TEXT_ET_LOCATIONTEXTFILE ; };
+hidspecial HID_PAGE_DBWIZARD_TEXT_PB_LOCATIONTEXTFILE { HelpId = HID_PAGE_DBWIZARD_TEXT_PB_LOCATIONTEXTFILE ; };
+
+hidspecial HID_PAGE_DBWIZARD_TEXT_RB_ACCESSTXTFILES { HelpId = HID_PAGE_DBWIZARD_TEXT_RB_ACCESSTXTFILES ; };
+hidspecial HID_PAGE_DBWIZARD_TEXT_RB_ACCESSCSVFILES { HelpId = HID_PAGE_DBWIZARD_TEXT_RB_ACCESSCSVFILES ; };
+hidspecial HID_PAGE_DBWIZARD_TEXT_RB_ACCESSOTHERFILES { HelpId = HID_PAGE_DBWIZARD_TEXT_RB_ACCESSOTHERFILES ; };
+hidspecial HID_PAGE_DBWIZARD_TEXT_ET_OWNEXTENSION { HelpId = HID_PAGE_DBWIZARD_TEXT_ET_OWNEXTENSION ; };
+
+hidspecial HID_PAGE_DBWIZARD_TEXT_CB_FIELDSEPARATOR { HelpId = HID_PAGE_DBWIZARD_TEXT_CB_FIELDSEPARATOR ; };
+hidspecial HID_PAGE_DBWIZARD_TEXT_CB_TEXTSEPARATOR { HelpId = HID_PAGE_DBWIZARD_TEXT_CB_TEXTSEPARATOR ; };
+hidspecial HID_PAGE_DBWIZARD_TEXT_CB_DECIMALSEPARATOR { HelpId = HID_PAGE_DBWIZARD_TEXT_CB_DECIMALSEPARATOR ; };
+hidspecial HID_PAGE_DBWIZARD_TEXT_CB_THOUSANDSSEPARATOR { HelpId = HID_PAGE_DBWIZARD_TEXT_CB_THOUSANDSSEPARATOR ; };
+
+hidspecial HID_PAGE_DBWIZARD_MSACCESS_ET_MSACCESSLOCATION { HelpId = HID_PAGE_DBWIZARD_MSACCESS_ET_MSACCESSLOCATION ; };
+hidspecial HID_PAGE_DBWIZARD_MSACCESS_PB_MSACCESSLOCATION { HelpId = HID_PAGE_DBWIZARD_MSACCESS_PB_MSACCESSLOCATION ; };
+
+hidspecial HID_PAGE_DBWIZARD_LDAP_ET_HOSTSERVER { HelpId = HID_PAGE_DBWIZARD_LDAP_ET_HOSTSERVER ; };
+hidspecial HID_PAGE_DBWIZARD_LDAP_ET_BASEDN { HelpId = HID_PAGE_DBWIZARD_LDAP_ET_BASEDN ; };
+hidspecial HID_PAGE_DBWIZARD_LDAP_ET_PORTNUMBER { HelpId = HID_PAGE_DBWIZARD_LDAP_ET_PORTNUMBER ; };
+hidspecial HID_PAGE_DBWIZARD_LDAP_CB_USESSL { HelpId = HID_PAGE_DBWIZARD_LDAP_CB_USESSL ; };
+hidspecial HID_PAGE_DBWIZARD_LDAP_PB_TESTLDAPCONNECTION { HelpId = HID_PAGE_DBWIZARD_LDAP_PB_TESTLDAPCONNECTION ; };
+
+hidspecial HID_PAGE_DBWIZARD_ADABAS_ET_ADABASNAME { HelpId = HID_PAGE_DBWIZARD_ADABAS_ET_ADABASNAME ; };
+hidspecial HID_PAGE_DBWIZARD_ADABAS_PB_ADABASNAME { HelpId = HID_PAGE_DBWIZARD_ADABAS_PB_ADABASNAME ; };
+
+hidspecial HID_PAGE_DBWIZARD_MYSQL_RB_CONNECTVIAODBC { HelpId = HID_PAGE_DBWIZARD_MYSQL_RB_CONNECTVIAODBC ; };
+hidspecial HID_PAGE_DBWIZARD_MYSQL_RB_CONNECTVIAJDBC { HelpId = HID_PAGE_DBWIZARD_MYSQL_RB_CONNECTVIAJDBC ; };
+
+hidspecial HID_PAGE_DBWIZARD_ORACLE_ET_ORACLEDBNAME { HelpId = HID_PAGE_DBWIZARD_ORACLE_ET_ORACLEDBNAME ; };
+hidspecial HID_PAGE_DBWIZARD_ORACLE_ET_ORACLEHOSTSERVER { HelpId = HID_PAGE_DBWIZARD_ORACLE_ET_ORACLEHOSTSERVER ; };
+hidspecial HID_PAGE_DBWIZARD_ORACLE_ET_ORACLEPORT { HelpId = HID_PAGE_DBWIZARD_ORACLE_ET_ORACLEPORT ; };
+hidspecial HID_PAGE_DBWIZARD_ORACLE_ET_ORACLECLASS { HelpId = HID_PAGE_DBWIZARD_ORACLE_ET_ORACLECLASS ; };
+hidspecial HID_PAGE_DBWIZARD_ORACLE_PB_TESTORACLECLASS { HelpId = HID_PAGE_DBWIZARD_ORACLE_PB_TESTORACLECLASS ; };
+
+hidspecial HID_PAGE_DBWIZARD_JDBC_ET_JDBCURL { HelpId = HID_PAGE_DBWIZARD_JDBC_ET_JDBCURL ; };
+hidspecial HID_PAGE_DBWIZARD_JDBC_PB_JDBCURL { HelpId = HID_PAGE_DBWIZARD_JDBC_PB_JDBCURL ; };
+
+hidspecial HID_PAGE_DBWIZARD_JDBC_ET_MYSQLDBNAME { HelpId = HID_PAGE_DBWIZARD_JDBC_ET_MYSQLDBNAME ; };
+hidspecial HID_PAGE_DBWIZARD_JDBC_ET_MYSQLHOSTSERVER { HelpId = HID_PAGE_DBWIZARD_JDBC_ET_MYSQLHOSTSERVER ; };
+hidspecial HID_PAGE_DBWIZARD_JDBC_ET_MYSQLPORT { HelpId = HID_PAGE_DBWIZARD_JDBC_ET_MYSQLPORT ; };
+hidspecial HID_PAGE_DBWIZARD_JDBC_ET_MYSQLCLASS { HelpId = HID_PAGE_DBWIZARD_JDBC_ET_MYSQLCLASS ; };
+hidspecial HID_PAGE_DBWIZARD_JDBC_PB_TESTMYSQLCLASS { HelpId = HID_PAGE_DBWIZARD_JDBC_PB_TESTMYSQLCLASS ; };
+
+hidspecial HID_PAGE_DBWIZARD_ADO_ET_ADOURL { HelpId = HID_PAGE_DBWIZARD_ADO_ET_ADOURL ; };
+hidspecial HID_PAGE_DBWIZARD_ADO_PB_ADOURL { HelpId = HID_PAGE_DBWIZARD_ADO_PB_ADOURL ; };
+hidspecial HID_PAGE_DBWIZARD_ADO_PB_TESTADOCONNECTION { HelpId = HID_PAGE_DBWIZARD_ADO_PB_TESTADOCONNECTION ; };
+
+hidspecial HID_PAGE_DBWIZARD_ODBC_ET_NAMEOFODBCDATASOURCE { HelpId = HID_PAGE_DBWIZARD_ODBC_ET_NAMEOFODBCDATASOURCE ; };
+hidspecial HID_PAGE_DBWIZARD_ODBC_PB_NAMEOFODBCDATASOURCE { HelpId = HID_PAGE_DBWIZARD_ODBC_PB_NAMEOFODBCDATASOURCE ; };
+
+hidspecial HID_PAGE_DBWIZARD_SPREADSHEET_ET_SPREADSHEETPATH { HelpId = HID_PAGE_DBWIZARD_SPREADSHEET_ET_SPREADSHEETPATH ; };
+hidspecial HID_PAGE_DBWIZARD_SPREADSHEET_PB_SPREADSHEETPATH { HelpId = HID_PAGE_DBWIZARD_SPREADSHEET_PB_SPREADSHEETPATH ; };
+hidspecial HID_PAGE_DBWIZARD_SPREADSHEET_CB_SPREADSHEETPASSWORDREQUIRED { HelpId = HID_PAGE_DBWIZARD_SPREADSHEET_CB_SPREADSHEETPASSWORDREQUIRED ; };
+
+hidspecial HID_PAGE_DBWIZARD_AUTHENTIFICATION_CB_GENERALPASSWORDREQUIRED { HelpId = HID_PAGE_DBWIZARD_AUTHENTIFICATION_CB_GENERALPASSWORDREQUIRED ; };
+hidspecial HID_PAGE_DBWIZARD_AUTHENTIFICATION_ET_GENERALUSERNAME { HelpId = HID_PAGE_DBWIZARD_AUTHENTIFICATION_ET_GENERALUSERNAME ; };
+hidspecial HID_PAGE_DBWIZARD_FINAL_RB_REGISTERDATASOURCE { HelpId = HID_PAGE_DBWIZARD_FINAL_RB_REGISTERDATASOURCE ; };
+hidspecial HID_PAGE_DBWIZARD_FINAL_RB_DONTREGISTERDATASOURCE { HelpId = HID_PAGE_DBWIZARD_FINAL_RB_DONTREGISTERDATASOURCE ; };
+hidspecial HID_PAGE_DBWIZARD_FINAL_CB_STARTTABLEWIZARD { HelpId = HID_PAGE_DBWIZARD_FINAL_CB_STARTTABLEWIZARD ; };
+hidspecial HID_PAGE_DBWIZARD_FINAL_CB_OPENAFTERWARDS { HelpId = HID_PAGE_DBWIZARD_FINAL_CB_OPENAFTERWARDS ; };
+hidspecial HID_DSADMIN_USESSL_LDAP { HelpId = HID_DSADMIN_USESSL_LDAP ; };
+hidspecial HID_DSADMIN_DOSLINEENDS { HelpId = HID_DSADMIN_DOSLINEENDS ; };
+hidspecial SID_DB_QUERY_PREVIEW { HelpId = SID_DB_QUERY_PREVIEW ; };
+hidspecial HID_PAGE_DBWIZARD_USERDEFINED_ET_BROWSE { HelpId = HID_PAGE_DBWIZARD_USERDEFINED_ET_BROWSE ; };
+hidspecial HID_PAGE_DBWIZARD_USERDEFINED_BROWSE { HelpId = HID_PAGE_DBWIZARD_USERDEFINED_BROWSE ; };
+hidspecial HID_DLG_DATABASE_WIZARD { HelpId = HID_DLG_DATABASE_WIZARD ; };
+hidspecial HID_BROWSER_ADMINISTRATE { HelpId = HID_BROWSER_ADMINISTRATE ; };
+hidspecial HID_DSADMIN_IGNORECURRENCY { HelpId = HID_DSADMIN_IGNORECURRENCY ; };
+hidspecial HID_DLG_QRY_JOIN_CONTROL { HelpId = HID_DLG_QRY_JOIN_CONTROL ; };
+hidspecial HID_EXTENSION_NOT_PRESENT_DLG { HelpId = HID_EXTENSION_NOT_PRESENT_DLG ; };
+hidspecial HID_DLG_ADABAS_NEWDB { HelpId = HID_DLG_ADABAS_NEWDB; };
+hidspecial HID_DLG_ADABAS_DBNAME { HelpId = HID_DLG_ADABAS_DBNAME ; };
+hidspecial HID_DLG_ADABAS_SYSUSR { HelpId = HID_DLG_ADABAS_SYSUSR ; };
+hidspecial HID_DLG_ADABAS_SYSPWD { HelpId = HID_DLG_ADABAS_SYSPWD ; };
+hidspecial HID_DLG_ADABAS_CONUSR { HelpId = HID_DLG_ADABAS_CONUSR ; };
+hidspecial HID_DLG_ADABAS_CONPWD { HelpId = HID_DLG_ADABAS_CONPWD ; };
+hidspecial HID_DLG_ADABAS_DATADEVSPACE_SIZE { HelpId = HID_DLG_ADABAS_DATADEVSPACE_SIZE ; };
+hidspecial HID_DLG_ADABAS_CACHE_SIZE { HelpId = HID_DLG_ADABAS_CACHE_SIZE ; };
+hidspecial HID_DLG_ADABAS_USR { HelpId = HID_DLG_ADABAS_USR ; };
+hidspecial HID_DLG_ADABAS_DOMAINPWD { HelpId = HID_DLG_ADABAS_DOMAINPWD ; };
+hidspecial HID_DLG_ADABAS_RESTORE { HelpId = HID_DLG_ADABAS_RESTORE ; };
+hidspecial HID_DLG_ADABAS_PBRESTORE { HelpId = HID_DLG_ADABAS_PBRESTORE ; };
+hidspecial HID_DLG_ADABAS_SYSDEVSPACE { HelpId = HID_DLG_ADABAS_SYSDEVSPACE ; };
+hidspecial HID_DLG_ADABAS_PBSYSDEVSPACE { HelpId = HID_DLG_ADABAS_PBSYSDEVSPACE ; };
+hidspecial HID_DLG_ADABAS_TRANSACTIONLOG { HelpId = HID_DLG_ADABAS_TRANSACTIONLOG ; };
+hidspecial HID_DLG_ADABAS_PBTRANSACTIONLOG { HelpId = HID_DLG_ADABAS_PBTRANSACTIONLOG ; };
+hidspecial HID_DLG_ADABAS_DATADEVSPACE { HelpId = HID_DLG_ADABAS_DATADEVSPACE ; };
+hidspecial HID_DLG_ADABAS_PBDATADEVSPACE { HelpId = HID_DLG_ADABAS_PBDATADEVSPACE ; };
+hidspecial HID_DLG_ADABAS_TRANSACTIONLOG_SIZE { HelpId = HID_DLG_ADABAS_TRANSACTIONLOG_SIZE; };
+
+hidspecial HID_MACRO_MIGRATION_BACKUP_LOCATION { HelpId = HID_MACRO_MIGRATION_BACKUP_LOCATION; };