From 95117e7fefa9ae82431dcdffd1e58495730f6f54 Mon Sep 17 00:00:00 2001
From: Jens-Heiner Rechtien
Date: Mon, 18 Sep 2000 15:18:56 +0000
Subject: initial import
---
extensions/inc/appsettings.hxx | 79 +
extensions/inc/extensio.hrc | 110 +
extensions/inc/ucbhelper/ext_content.hxx | 401 ++++
extensions/prj/d.lst | 7 +
extensions/source/bibliography/bib.hrc | 114 +
extensions/source/bibliography/bib.src | 187 ++
extensions/source/bibliography/bibbeam.cxx | 309 +++
extensions/source/bibliography/bibbeam.hxx | 169 ++
extensions/source/bibliography/bibcont.cxx | 372 +++
extensions/source/bibliography/bibcont.hxx | 158 ++
extensions/source/bibliography/bibload.cxx | 881 +++++++
extensions/source/bibliography/bibmod.cxx | 409 ++++
extensions/source/bibliography/bibmod.hxx | 113 +
extensions/source/bibliography/bibprop.hrc | 211 ++
extensions/source/bibliography/bibresid.hxx | 80 +
extensions/source/bibliography/bibview.cxx | 193 ++
extensions/source/bibliography/bibview.hxx | 112 +
extensions/source/bibliography/datman.cxx | 2127 +++++++++++++++++
extensions/source/bibliography/datman.hrc | 137 ++
extensions/source/bibliography/datman.hxx | 253 ++
extensions/source/bibliography/datman.src | 1276 +++++++++++
extensions/source/bibliography/framectr.cxx | 629 +++++
extensions/source/bibliography/framectr.hxx | 198 ++
extensions/source/bibliography/general.cxx | 803 +++++++
extensions/source/bibliography/general.hxx | 225 ++
extensions/source/bibliography/hidother.src | 95 +
extensions/source/bibliography/makefile.mk | 225 ++
extensions/source/bibliography/menu.src | 594 +++++
extensions/source/bibliography/sections.hrc | 159 ++
extensions/source/bibliography/sections.src | 1538 +++++++++++++
extensions/source/bibliography/toolbar.cxx | 566 +++++
extensions/source/bibliography/toolbar.hrc | 77 +
extensions/source/bibliography/toolbar.hxx | 234 ++
extensions/source/bibliography/toolbar.src | 421 ++++
extensions/source/ole/comifaces.hxx | 90 +
extensions/source/ole/jscriptclasses.cxx | 350 +++
extensions/source/ole/jscriptclasses.hxx | 177 ++
extensions/source/ole/makefile.mk | 188 ++
extensions/source/ole/ole2uno.hxx | 408 ++++
extensions/source/ole/oledll.cxx | 85 +
extensions/source/ole/oleobjw.cxx | 1581 +++++++++++++
extensions/source/ole/oleobjw.hxx | 241 ++
extensions/source/ole/olethread.cxx | 109 +
extensions/source/ole/servprov.cxx | 898 ++++++++
extensions/source/ole/servprov.hxx | 308 +++
extensions/source/ole/servreg.cxx | 154 ++
extensions/source/ole/unoconversionutilities.hxx | 1574 +++++++++++++
extensions/source/ole/unoobjw.cxx | 2414 ++++++++++++++++++++
extensions/source/ole/unoobjw.hxx | 505 ++++
extensions/source/plugin/base/context.cxx | 364 +++
extensions/source/plugin/base/evtlstnr.cxx | 95 +
extensions/source/plugin/base/makefile.mk | 159 ++
extensions/source/plugin/base/manager.cxx | 316 +++
extensions/source/plugin/base/multiplx.cxx | 391 ++++
extensions/source/plugin/base/nfuncs.cxx | 576 +++++
extensions/source/plugin/base/plcom.cxx | 90 +
extensions/source/plugin/base/plctrl.cxx | 373 +++
extensions/source/plugin/base/plmodel.cxx | 243 ++
extensions/source/plugin/base/service.cxx | 206 ++
extensions/source/plugin/base/xplugin.cxx | 888 +++++++
extensions/source/plugin/inc/plugin/impl.hxx | 478 ++++
extensions/source/plugin/inc/plugin/model.hxx | 187 ++
extensions/source/plugin/inc/plugin/multiplx.hxx | 249 ++
extensions/source/plugin/inc/plugin/plcom.hxx | 114 +
extensions/source/plugin/inc/plugin/plctrl.hxx | 276 +++
.../source/plugin/inc/plugin/unx/sysplug.hxx | 111 +
.../source/plugin/inc/plugin/win/sysplug.hxx | 139 ++
extensions/source/plugin/unx/makefile.mk | 84 +
extensions/source/plugin/unx/sysplug.cxx | 269 +++
extensions/source/plugin/unx/unxmgr.cxx | 197 ++
extensions/source/plugin/util/makefile.mk | 125 +
extensions/source/plugin/util/makefile.pmk | 69 +
extensions/source/plugin/win/makefile.mk | 96 +
extensions/source/plugin/win/sysplug.cxx | 300 +++
extensions/source/plugin/win/winmgr.cxx | 392 ++++
extensions/source/resource/exports.dxp | 3 +
extensions/source/resource/makefile.mk | 133 ++
extensions/source/resource/resource.cxx | 583 +++++
extensions/source/scanner/exports.dxp | 3 +
extensions/source/scanner/grid.cxx | 642 ++++++
extensions/source/scanner/grid.hrc | 76 +
extensions/source/scanner/grid.hxx | 163 ++
extensions/source/scanner/grid.src | 211 ++
extensions/source/scanner/makefile.mk | 147 ++
extensions/source/scanner/sane.cxx | 979 ++++++++
extensions/source/scanner/sane.hxx | 232 ++
extensions/source/scanner/sanedlg.cxx | 1364 +++++++++++
extensions/source/scanner/sanedlg.hrc | 116 +
extensions/source/scanner/sanedlg.hxx | 199 ++
extensions/source/scanner/sanedlg.src | 700 ++++++
extensions/source/scanner/scanner.cxx | 162 ++
extensions/source/scanner/scanner.hxx | 172 ++
extensions/source/scanner/scanunx.cxx | 305 +++
extensions/source/scanner/scanwin.cxx | 852 +++++++
extensions/source/scanner/scnserv.cxx | 138 ++
extensions/source/scanner/twain.cxx | 563 +++++
extensions/source/scanner/twain.hxx | 132 ++
extensions/source/svg/makefile.mk | 134 ++
extensions/source/svg/svgaction.cxx | 1412 ++++++++++++
extensions/source/svg/svgaction.hxx | 196 ++
extensions/source/svg/svgcom.hxx | 144 ++
extensions/source/svg/svgprinter.cxx | 364 +++
extensions/source/svg/svgprinter.hxx | 101 +
extensions/source/svg/svguno.cxx | 167 ++
extensions/source/svg/svgwriter.cxx | 214 ++
extensions/source/svg/svgwriter.hxx | 94 +
extensions/source/xmlextract/makefile.mk | 125 +
extensions/source/xmlextract/xmxcom.hxx | 111 +
extensions/source/xmlextract/xmxtrct.cxx | 221 ++
extensions/source/xmlextract/xmxtrct.hxx | 88 +
extensions/source/xmlextract/xmxuno.cxx | 131 ++
extensions/stardiv/fontest/fontest.idl | 145 ++
extensions/stardiv/fontest/makefile.mk | 83 +
extensions/stardiv/oinstchk/makefile.mk | 82 +
extensions/stardiv/oinstchk/oinstchk.idl | 142 ++
extensions/stardiv/pgp/makefile.mk | 88 +
.../test/ole/AxTestComponents/AxTestComponents.cpp | 131 ++
.../test/ole/AxTestComponents/AxTestComponents.def | 9 +
.../test/ole/AxTestComponents/AxTestComponents.dsp | 323 +++
.../test/ole/AxTestComponents/AxTestComponents.idl | 158 ++
.../test/ole/AxTestComponents/AxTestComponents.rc | 198 ++
extensions/test/ole/AxTestComponents/Basic.cpp | 523 +++++
extensions/test/ole/AxTestComponents/Basic.h | 160 ++
extensions/test/ole/AxTestComponents/Basic.rgs | 26 +
extensions/test/ole/AxTestComponents/StdAfx.cpp | 69 +
extensions/test/ole/AxTestComponents/StdAfx.h | 87 +
extensions/test/ole/AxTestComponents/resource.h | 77 +
extensions/test/ole/JScriptNewStyle.htm | 1039 +++++++++
extensions/test/ole/OleClient/clientTest.cxx | 536 +++++
extensions/test/ole/OleClient/makefile.mk | 128 ++
extensions/test/ole/OleClient/readme.txt | 7 +
extensions/test/ole/OleConverterVar1/convTest.cxx | 678 ++++++
extensions/test/ole/OleConverterVar1/makefile.mk | 136 ++
extensions/test/ole/OleConverterVar1/readme.txt | 2 +
extensions/test/ole/OleConverterVar1/smartarray.h | 267 +++
extensions/test/ole/OleTest.htm | 943 ++++++++
extensions/test/ole/callUnoToJava.htm | 516 +++++
extensions/test/ole/cpnt/cpnt.cxx | 1545 +++++++++++++
extensions/test/ole/cpnt/exports.dxp | 3 +
extensions/test/ole/cpnt/makefile.mk | 146 ++
extensions/test/ole/cpnt/readme.txt | 5 +
extensions/test/ole/cpptest/StdAfx.cpp | 68 +
extensions/test/ole/cpptest/StdAfx.h | 85 +
extensions/test/ole/cpptest/cpptest.cpp | 113 +
extensions/test/ole/cpptest/cpptest.dsp | 113 +
extensions/test/ole/cpptest/cpptest.dsw | 29 +
extensions/test/ole/idl/oletest.idl | 309 +++
extensions/test/ole/unoTocomCalls/Test/StdAfx.cpp | 68 +
extensions/test/ole/unoTocomCalls/Test/StdAfx.h | 89 +
extensions/test/ole/unoTocomCalls/Test/Test.cpp | 277 +++
extensions/test/ole/unoTocomCalls/Test/Test.dsp | 113 +
.../ole/unoTocomCalls/XCallback_Impl/Basic.rgs | 26 +
.../ole/unoTocomCalls/XCallback_Impl/BasicTest.rgs | 26 +
.../ole/unoTocomCalls/XCallback_Impl/Callback.cpp | 517 +++++
.../ole/unoTocomCalls/XCallback_Impl/Callback.h | 167 ++
.../ole/unoTocomCalls/XCallback_Impl/Callback.rgs | 26 +
.../ole/unoTocomCalls/XCallback_Impl/Simple.cpp | 113 +
.../test/ole/unoTocomCalls/XCallback_Impl/Simple.h | 98 +
.../ole/unoTocomCalls/XCallback_Impl/Simple.rgs | 26 +
.../ole/unoTocomCalls/XCallback_Impl/StdAfx.cpp | 72 +
.../test/ole/unoTocomCalls/XCallback_Impl/StdAfx.h | 89 +
.../XCallback_Impl/XCallback_Impl.cpp | 134 ++
.../XCallback_Impl/XCallback_Impl.dsp | 335 +++
.../XCallback_Impl/XCallback_Impl.idl | 181 ++
.../unoTocomCalls/XCallback_Impl/XCallback_Impl.rc | 197 ++
.../ole/unoTocomCalls/XCallback_Impl/resource.h | 79 +
extensions/test/ole/unoTocomCalls/readme.txt | 6 +
extensions/test/pgp/TestPGP.java | 180 ++
extensions/test/pgp/makefile.mk | 161 ++
extensions/test/pgp/readme.txt | 34 +
extensions/test/sax/exports.dxp | 2 +
extensions/test/sax/factory.hxx | 65 +
extensions/test/sax/makefile.mk | 102 +
extensions/test/sax/testsax.cxx | 951 ++++++++
extensions/test/sax/testwriter.cxx | 811 +++++++
extensions/test/stm/datatest.cxx | 1108 +++++++++
extensions/test/stm/exports.dxp | 2 +
extensions/test/stm/makefile.mk | 99 +
extensions/test/stm/marktest.cxx | 718 ++++++
extensions/test/stm/pipetest.cxx | 483 ++++
extensions/test/stm/testfactreg.cxx | 203 ++
extensions/test/stm/testfactreg.hxx | 144 ++
extensions/util/makefile.pmk | 85 +
extensions/util/target.pmk | 70 +
extensions/workben/makefile.mk | 247 ++
extensions/workben/pythonautotest.cxx | 657 ++++++
extensions/workben/pythontest.cxx | 591 +++++
extensions/workben/testcomponent.cxx | 261 +++
extensions/workben/testframecontrol.cxx | 355 +++
extensions/workben/testpgp.cxx | 918 ++++++++
extensions/workben/testresource.cxx | 125 +
extensions/workben/testresource.src | 64 +
192 files changed, 60752 insertions(+)
create mode 100644 extensions/inc/appsettings.hxx
create mode 100644 extensions/inc/extensio.hrc
create mode 100644 extensions/inc/ucbhelper/ext_content.hxx
create mode 100644 extensions/prj/d.lst
create mode 100644 extensions/source/bibliography/bib.hrc
create mode 100644 extensions/source/bibliography/bib.src
create mode 100644 extensions/source/bibliography/bibbeam.cxx
create mode 100644 extensions/source/bibliography/bibbeam.hxx
create mode 100644 extensions/source/bibliography/bibcont.cxx
create mode 100644 extensions/source/bibliography/bibcont.hxx
create mode 100644 extensions/source/bibliography/bibload.cxx
create mode 100644 extensions/source/bibliography/bibmod.cxx
create mode 100644 extensions/source/bibliography/bibmod.hxx
create mode 100644 extensions/source/bibliography/bibprop.hrc
create mode 100644 extensions/source/bibliography/bibresid.hxx
create mode 100644 extensions/source/bibliography/bibview.cxx
create mode 100644 extensions/source/bibliography/bibview.hxx
create mode 100644 extensions/source/bibliography/datman.cxx
create mode 100644 extensions/source/bibliography/datman.hrc
create mode 100644 extensions/source/bibliography/datman.hxx
create mode 100644 extensions/source/bibliography/datman.src
create mode 100644 extensions/source/bibliography/framectr.cxx
create mode 100644 extensions/source/bibliography/framectr.hxx
create mode 100644 extensions/source/bibliography/general.cxx
create mode 100644 extensions/source/bibliography/general.hxx
create mode 100644 extensions/source/bibliography/hidother.src
create mode 100644 extensions/source/bibliography/makefile.mk
create mode 100644 extensions/source/bibliography/menu.src
create mode 100644 extensions/source/bibliography/sections.hrc
create mode 100644 extensions/source/bibliography/sections.src
create mode 100644 extensions/source/bibliography/toolbar.cxx
create mode 100644 extensions/source/bibliography/toolbar.hrc
create mode 100644 extensions/source/bibliography/toolbar.hxx
create mode 100644 extensions/source/bibliography/toolbar.src
create mode 100644 extensions/source/ole/comifaces.hxx
create mode 100644 extensions/source/ole/jscriptclasses.cxx
create mode 100644 extensions/source/ole/jscriptclasses.hxx
create mode 100644 extensions/source/ole/makefile.mk
create mode 100644 extensions/source/ole/ole2uno.hxx
create mode 100644 extensions/source/ole/oledll.cxx
create mode 100644 extensions/source/ole/oleobjw.cxx
create mode 100644 extensions/source/ole/oleobjw.hxx
create mode 100644 extensions/source/ole/olethread.cxx
create mode 100644 extensions/source/ole/servprov.cxx
create mode 100644 extensions/source/ole/servprov.hxx
create mode 100644 extensions/source/ole/servreg.cxx
create mode 100644 extensions/source/ole/unoconversionutilities.hxx
create mode 100644 extensions/source/ole/unoobjw.cxx
create mode 100644 extensions/source/ole/unoobjw.hxx
create mode 100644 extensions/source/plugin/base/context.cxx
create mode 100644 extensions/source/plugin/base/evtlstnr.cxx
create mode 100644 extensions/source/plugin/base/makefile.mk
create mode 100644 extensions/source/plugin/base/manager.cxx
create mode 100644 extensions/source/plugin/base/multiplx.cxx
create mode 100644 extensions/source/plugin/base/nfuncs.cxx
create mode 100644 extensions/source/plugin/base/plcom.cxx
create mode 100644 extensions/source/plugin/base/plctrl.cxx
create mode 100644 extensions/source/plugin/base/plmodel.cxx
create mode 100644 extensions/source/plugin/base/service.cxx
create mode 100644 extensions/source/plugin/base/xplugin.cxx
create mode 100644 extensions/source/plugin/inc/plugin/impl.hxx
create mode 100644 extensions/source/plugin/inc/plugin/model.hxx
create mode 100644 extensions/source/plugin/inc/plugin/multiplx.hxx
create mode 100644 extensions/source/plugin/inc/plugin/plcom.hxx
create mode 100644 extensions/source/plugin/inc/plugin/plctrl.hxx
create mode 100644 extensions/source/plugin/inc/plugin/unx/sysplug.hxx
create mode 100644 extensions/source/plugin/inc/plugin/win/sysplug.hxx
create mode 100644 extensions/source/plugin/unx/makefile.mk
create mode 100644 extensions/source/plugin/unx/sysplug.cxx
create mode 100644 extensions/source/plugin/unx/unxmgr.cxx
create mode 100644 extensions/source/plugin/util/makefile.mk
create mode 100644 extensions/source/plugin/util/makefile.pmk
create mode 100644 extensions/source/plugin/win/makefile.mk
create mode 100644 extensions/source/plugin/win/sysplug.cxx
create mode 100644 extensions/source/plugin/win/winmgr.cxx
create mode 100644 extensions/source/resource/exports.dxp
create mode 100644 extensions/source/resource/makefile.mk
create mode 100644 extensions/source/resource/resource.cxx
create mode 100644 extensions/source/scanner/exports.dxp
create mode 100644 extensions/source/scanner/grid.cxx
create mode 100644 extensions/source/scanner/grid.hrc
create mode 100644 extensions/source/scanner/grid.hxx
create mode 100644 extensions/source/scanner/grid.src
create mode 100644 extensions/source/scanner/makefile.mk
create mode 100644 extensions/source/scanner/sane.cxx
create mode 100644 extensions/source/scanner/sane.hxx
create mode 100644 extensions/source/scanner/sanedlg.cxx
create mode 100644 extensions/source/scanner/sanedlg.hrc
create mode 100644 extensions/source/scanner/sanedlg.hxx
create mode 100644 extensions/source/scanner/sanedlg.src
create mode 100644 extensions/source/scanner/scanner.cxx
create mode 100644 extensions/source/scanner/scanner.hxx
create mode 100644 extensions/source/scanner/scanunx.cxx
create mode 100644 extensions/source/scanner/scanwin.cxx
create mode 100644 extensions/source/scanner/scnserv.cxx
create mode 100644 extensions/source/scanner/twain.cxx
create mode 100644 extensions/source/scanner/twain.hxx
create mode 100644 extensions/source/svg/makefile.mk
create mode 100644 extensions/source/svg/svgaction.cxx
create mode 100644 extensions/source/svg/svgaction.hxx
create mode 100644 extensions/source/svg/svgcom.hxx
create mode 100644 extensions/source/svg/svgprinter.cxx
create mode 100644 extensions/source/svg/svgprinter.hxx
create mode 100644 extensions/source/svg/svguno.cxx
create mode 100644 extensions/source/svg/svgwriter.cxx
create mode 100644 extensions/source/svg/svgwriter.hxx
create mode 100644 extensions/source/xmlextract/makefile.mk
create mode 100644 extensions/source/xmlextract/xmxcom.hxx
create mode 100644 extensions/source/xmlextract/xmxtrct.cxx
create mode 100644 extensions/source/xmlextract/xmxtrct.hxx
create mode 100644 extensions/source/xmlextract/xmxuno.cxx
create mode 100644 extensions/stardiv/fontest/fontest.idl
create mode 100644 extensions/stardiv/fontest/makefile.mk
create mode 100644 extensions/stardiv/oinstchk/makefile.mk
create mode 100644 extensions/stardiv/oinstchk/oinstchk.idl
create mode 100644 extensions/stardiv/pgp/makefile.mk
create mode 100644 extensions/test/ole/AxTestComponents/AxTestComponents.cpp
create mode 100644 extensions/test/ole/AxTestComponents/AxTestComponents.def
create mode 100644 extensions/test/ole/AxTestComponents/AxTestComponents.dsp
create mode 100644 extensions/test/ole/AxTestComponents/AxTestComponents.idl
create mode 100644 extensions/test/ole/AxTestComponents/AxTestComponents.rc
create mode 100644 extensions/test/ole/AxTestComponents/Basic.cpp
create mode 100644 extensions/test/ole/AxTestComponents/Basic.h
create mode 100644 extensions/test/ole/AxTestComponents/Basic.rgs
create mode 100644 extensions/test/ole/AxTestComponents/StdAfx.cpp
create mode 100644 extensions/test/ole/AxTestComponents/StdAfx.h
create mode 100644 extensions/test/ole/AxTestComponents/resource.h
create mode 100644 extensions/test/ole/JScriptNewStyle.htm
create mode 100644 extensions/test/ole/OleClient/clientTest.cxx
create mode 100644 extensions/test/ole/OleClient/makefile.mk
create mode 100644 extensions/test/ole/OleClient/readme.txt
create mode 100644 extensions/test/ole/OleConverterVar1/convTest.cxx
create mode 100644 extensions/test/ole/OleConverterVar1/makefile.mk
create mode 100644 extensions/test/ole/OleConverterVar1/readme.txt
create mode 100644 extensions/test/ole/OleConverterVar1/smartarray.h
create mode 100644 extensions/test/ole/OleTest.htm
create mode 100644 extensions/test/ole/callUnoToJava.htm
create mode 100644 extensions/test/ole/cpnt/cpnt.cxx
create mode 100644 extensions/test/ole/cpnt/exports.dxp
create mode 100644 extensions/test/ole/cpnt/makefile.mk
create mode 100644 extensions/test/ole/cpnt/readme.txt
create mode 100644 extensions/test/ole/cpptest/StdAfx.cpp
create mode 100644 extensions/test/ole/cpptest/StdAfx.h
create mode 100644 extensions/test/ole/cpptest/cpptest.cpp
create mode 100644 extensions/test/ole/cpptest/cpptest.dsp
create mode 100644 extensions/test/ole/cpptest/cpptest.dsw
create mode 100644 extensions/test/ole/idl/oletest.idl
create mode 100644 extensions/test/ole/unoTocomCalls/Test/StdAfx.cpp
create mode 100644 extensions/test/ole/unoTocomCalls/Test/StdAfx.h
create mode 100644 extensions/test/ole/unoTocomCalls/Test/Test.cpp
create mode 100644 extensions/test/ole/unoTocomCalls/Test/Test.dsp
create mode 100644 extensions/test/ole/unoTocomCalls/XCallback_Impl/Basic.rgs
create mode 100644 extensions/test/ole/unoTocomCalls/XCallback_Impl/BasicTest.rgs
create mode 100644 extensions/test/ole/unoTocomCalls/XCallback_Impl/Callback.cpp
create mode 100644 extensions/test/ole/unoTocomCalls/XCallback_Impl/Callback.h
create mode 100644 extensions/test/ole/unoTocomCalls/XCallback_Impl/Callback.rgs
create mode 100644 extensions/test/ole/unoTocomCalls/XCallback_Impl/Simple.cpp
create mode 100644 extensions/test/ole/unoTocomCalls/XCallback_Impl/Simple.h
create mode 100644 extensions/test/ole/unoTocomCalls/XCallback_Impl/Simple.rgs
create mode 100644 extensions/test/ole/unoTocomCalls/XCallback_Impl/StdAfx.cpp
create mode 100644 extensions/test/ole/unoTocomCalls/XCallback_Impl/StdAfx.h
create mode 100644 extensions/test/ole/unoTocomCalls/XCallback_Impl/XCallback_Impl.cpp
create mode 100644 extensions/test/ole/unoTocomCalls/XCallback_Impl/XCallback_Impl.dsp
create mode 100644 extensions/test/ole/unoTocomCalls/XCallback_Impl/XCallback_Impl.idl
create mode 100644 extensions/test/ole/unoTocomCalls/XCallback_Impl/XCallback_Impl.rc
create mode 100644 extensions/test/ole/unoTocomCalls/XCallback_Impl/resource.h
create mode 100644 extensions/test/ole/unoTocomCalls/readme.txt
create mode 100644 extensions/test/pgp/TestPGP.java
create mode 100644 extensions/test/pgp/makefile.mk
create mode 100644 extensions/test/pgp/readme.txt
create mode 100644 extensions/test/sax/exports.dxp
create mode 100644 extensions/test/sax/factory.hxx
create mode 100644 extensions/test/sax/makefile.mk
create mode 100644 extensions/test/sax/testsax.cxx
create mode 100644 extensions/test/sax/testwriter.cxx
create mode 100644 extensions/test/stm/datatest.cxx
create mode 100644 extensions/test/stm/exports.dxp
create mode 100644 extensions/test/stm/makefile.mk
create mode 100644 extensions/test/stm/marktest.cxx
create mode 100644 extensions/test/stm/pipetest.cxx
create mode 100644 extensions/test/stm/testfactreg.cxx
create mode 100644 extensions/test/stm/testfactreg.hxx
create mode 100644 extensions/util/makefile.pmk
create mode 100644 extensions/util/target.pmk
create mode 100644 extensions/workben/makefile.mk
create mode 100644 extensions/workben/pythonautotest.cxx
create mode 100644 extensions/workben/pythontest.cxx
create mode 100644 extensions/workben/testcomponent.cxx
create mode 100644 extensions/workben/testframecontrol.cxx
create mode 100644 extensions/workben/testpgp.cxx
create mode 100644 extensions/workben/testresource.cxx
create mode 100644 extensions/workben/testresource.src
(limited to 'extensions')
diff --git a/extensions/inc/appsettings.hxx b/extensions/inc/appsettings.hxx
new file mode 100644
index 000000000000..66c421327f3d
--- /dev/null
+++ b/extensions/inc/appsettings.hxx
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * $RCSfile: appsettings.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: hr $ $Date: 2000-09-18 16:16:39 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+#ifndef _APPSETTINGS_HXX
+#define _APPSETTINGS_HXX
+
+#ifndef __STARDIV_UNO_UTIL_CONTAINR_HXX__
+#include
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+XNameContainer* getApplicationSettings();
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
diff --git a/extensions/inc/extensio.hrc b/extensions/inc/extensio.hrc
new file mode 100644
index 000000000000..7a25a4893cee
--- /dev/null
+++ b/extensions/inc/extensio.hrc
@@ -0,0 +1,110 @@
+/*************************************************************************
+ *
+ * $RCSfile: extensio.hrc,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: hr $ $Date: 2000-09-18 16:16:39 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+#ifndef __EXTENSIONS_INC_EXTENSIO_HRC__
+#define __EXTENSIONS_INC_EXTENSIO_HRC__
+
+#include
+
+#define HID_PROTOCOLS HID_EXTENSIONS_START
+
+#define HID_BIB_CHANGESOURCE (HID_EXTENSIONS_START + 1)
+#define HID_BIB_MAPPINGDLG (HID_EXTENSIONS_START + 2)
+#define HID_BIB_TBX_TABLE (HID_EXTENSIONS_START + 3)
+#define HID_BIB_TBX_SEARCH (HID_EXTENSIONS_START + 4)
+#define HID_BIB_TBX_AUTOFILTER (HID_EXTENSIONS_START + 5)
+
+#define HID_BIB_IDENTIFIER_POS (HID_EXTENSIONS_START + 6)
+#define HID_BIB_AUTHORITYTYPE_POS (HID_EXTENSIONS_START + 7)
+#define HID_BIB_AUTHOR_POS (HID_EXTENSIONS_START + 8)
+#define HID_BIB_TITLE_POS (HID_EXTENSIONS_START + 9)
+#define HID_BIB_YEAR_POS (HID_EXTENSIONS_START + 10)
+#define HID_BIB_ISBN_POS (HID_EXTENSIONS_START + 11)
+#define HID_BIB_BOOKTITLE_POS (HID_EXTENSIONS_START + 12)
+#define HID_BIB_CHAPTER_POS (HID_EXTENSIONS_START + 13)
+#define HID_BIB_EDITION_POS (HID_EXTENSIONS_START + 14)
+#define HID_BIB_EDITOR_POS (HID_EXTENSIONS_START + 15)
+#define HID_BIB_HOWPUBLISHED_POS (HID_EXTENSIONS_START + 16)
+#define HID_BIB_INSTITUTION_POS (HID_EXTENSIONS_START + 17)
+#define HID_BIB_JOURNAL_POS (HID_EXTENSIONS_START + 18)
+#define HID_BIB_MONTH_POS (HID_EXTENSIONS_START + 19)
+#define HID_BIB_NOTE_POS (HID_EXTENSIONS_START + 20)
+#define HID_BIB_ANNOTE_POS (HID_EXTENSIONS_START + 21)
+#define HID_BIB_NUMBER_POS (HID_EXTENSIONS_START + 22)
+#define HID_BIB_ORGANIZATIONS_POS (HID_EXTENSIONS_START + 23)
+#define HID_BIB_PAGES_POS (HID_EXTENSIONS_START + 24)
+#define HID_BIB_PUBLISHER_POS (HID_EXTENSIONS_START + 25)
+#define HID_BIB_ADDRESS_POS (HID_EXTENSIONS_START + 26)
+#define HID_BIB_SCHOOL_POS (HID_EXTENSIONS_START + 27)
+#define HID_BIB_SERIES_POS (HID_EXTENSIONS_START + 28)
+#define HID_BIB_REPORTTYPE_POS (HID_EXTENSIONS_START + 29)
+#define HID_BIB_VOLUME_POS (HID_EXTENSIONS_START + 30)
+#define HID_BIB_URL_POS (HID_EXTENSIONS_START + 31)
+#define HID_BIB_CUSTOM1_POS (HID_EXTENSIONS_START + 32)
+#define HID_BIB_CUSTOM2_POS (HID_EXTENSIONS_START + 33)
+#define HID_BIB_CUSTOM3_POS (HID_EXTENSIONS_START + 34)
+#define HID_BIB_CUSTOM4_POS (HID_EXTENSIONS_START + 35)
+#define HID_BIB_CUSTOM5_POS (HID_EXTENSIONS_START + 36)
+
+#define HID_BIB_DB_TBX (HID_EXTENSIONS_START + 37)
+#define HID_BIB_DB_GRIDCTRL (HID_EXTENSIONS_START + 38)
+
+
+#endif
diff --git a/extensions/inc/ucbhelper/ext_content.hxx b/extensions/inc/ucbhelper/ext_content.hxx
new file mode 100644
index 000000000000..ccd20d621862
--- /dev/null
+++ b/extensions/inc/ucbhelper/ext_content.hxx
@@ -0,0 +1,401 @@
+/*************************************************************************
+ *
+ * $RCSfile: ext_content.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: hr $ $Date: 2000-09-18 16:16:39 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+
+#ifndef _UCBHELPER_CONTENT_HXX_
+#define _UCBHELPER_CONTENT_HXX_
+
+#include
+#include
+#include
+#include
+
+#include
+
+#ifndef _COM_SUN_STAR_UCB_XCOMMANDTASKPROCESSOR_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_UCB_XCOMMANDINFO_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_UCB_XCONTENT_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_UCB_XPROPERTYTASKPROCESSOR_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_UCB_XCONTENTIDENTIFIER_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_BEANS_XPROPERTIESCHANGELISTENER_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_LANG_XCOMPONENT_HPP_
+#include
+#endif
+
+#include
+#include
+
+#if defined(TF_TYPE) || (SUPD >= 564)
+using namespace cppu;
+#endif
+using namespace com::sun::star::ucb;
+using namespace com::sun::star::uno;
+using namespace com::sun::star::beans;
+using namespace com::sun::star::lang;
+using namespace std;
+using namespace rtl;
+using namespace osl;
+
+
+
+template class safe_list : public osl::Mutex, public std::list< Type > {};
+
+class OSimpleContentIdentifier : public OWeakObject,
+ public XContentIdentifier
+{
+private:
+ OUString Identifier;
+ OUString ProviderScheme;
+
+public:
+ OSimpleContentIdentifier( const OUString& rIdentifier, const OUString& rProviderScheme );
+
+ // XInterface
+#if defined(TF_TYPE) || (SUPD >= 564)
+ virtual Any SAL_CALL queryInterface( const Type &type ) throw( RuntimeException );
+#else
+ virtual sal_Bool SAL_CALL queryInterface( const Uik& type, Any& ifc ) throw( RuntimeException );
+#endif
+ virtual void SAL_CALL acquire() throw(RuntimeException);
+ virtual void SAL_CALL release() throw(RuntimeException);
+
+ // XContentIdentifier
+ virtual OUString SAL_CALL getContentIdentifier() throw(RuntimeException);
+ virtual OUString SAL_CALL getContentProviderScheme() throw(RuntimeException);
+};
+
+
+//---------------------------------------------------------------------------
+//
+// FileSystemContent
+//
+//---------------------------------------------------------------------------
+
+class OContent :
+public OWeakObject,
+public XContent,
+public XCommandTaskProcessor,
+public XPropertyTaskProcessor,
+public XCommandInfo,
+public XPropertySetInfo,
+public XComponent
+{
+public:
+ struct PropertyChangeEventInfo
+ {
+ OUString Name;
+ long Handle;
+
+ PropertyChangeEventInfo() : Handle( -1 ) {}
+
+ inline int operator ==( const PropertyChangeEventInfo& crInfo ) const
+ { return Handle == crInfo.Handle && Handle > 0 || Name == crInfo.Name; }
+ #ifdef __SUNPRO_CC
+ inline int operator <( const PropertyChangeEventInfo& crInfo ) const
+ { return Handle != crInfo.Handle ? Handle < crInfo.Handle : Name < crInfo.Name; }
+ #endif
+ };
+
+ struct PropertyChangeListenerInfo
+ {
+ Reference< XPropertiesChangeListener > xListener;
+ list< PropertyChangeEventInfo > aEventInfos;
+
+ inline int operator ==( const PropertyChangeListenerInfo& crInfo ) const
+ { return xListener == crInfo.xListener; }
+ #ifdef __SUNPRO_CC
+ inline int operator <( const PropertyChangeListenerInfo& crInfo ) const
+ { return xListener < crInfo.xListener; }
+ #endif
+ };
+
+protected:
+ Sequence< PropertyChangeEvent > matchListenerEvents( const Sequence< PropertyChangeEvent >& crEvents, const PropertyChangeListenerInfo & crInfo );
+
+ safe_list< Reference< XContentEventListener > > m_aContentListeners;
+ safe_list< Reference< XEventListener > > m_aComponentListeners;
+ safe_list< PropertyChangeListenerInfo > m_aPropertyChangeListeners;
+public:
+ virtual ~OContent() {}
+
+ virtual void broadcastContentEvent( const ContentEvent & crEvent );
+ virtual void broadcastPropertiesChangeEvents( const Sequence< PropertyChangeEvent >& crEvents );
+
+ // To be implemented by inheritents
+ virtual Any doCommand( const Command & crCommand ) = 0;
+
+ // XInterface
+#if defined(TF_TYPE) || (SUPD >= 564)
+ virtual Any SAL_CALL queryInterface( const Type &type ) throw( RuntimeException );
+#else
+ virtual sal_Bool SAL_CALL queryInterface( const Uik& type, Any& ifc ) throw( RuntimeException );
+#endif
+
+ virtual void SAL_CALL acquire() throw(RuntimeException);
+ virtual void SAL_CALL release() throw(RuntimeException);
+
+ // XContent
+ virtual void SAL_CALL addContentEventListener( const Reference< XContentEventListener >& rListener ) throw();
+ virtual void SAL_CALL removeContentEventListener( const Reference< XContentEventListener >& rListener ) throw();
+
+ // XComponent
+ virtual void SAL_CALL dispose() throw();
+ virtual void SAL_CALL addEventListener( const Reference< XEventListener >& xListener ) throw();
+ virtual void SAL_CALL removeEventListener( const Reference< XEventListener >& xListener ) throw();
+
+ // XCommmandTaskProcessor
+ virtual Reference< XCommandInfo > SAL_CALL getCommandsInfo() throw();
+
+ // XCommandInfo
+ virtual CommandInfo SAL_CALL getCommandInfoByName( const OUString& rName ) throw( UnsupportedCommandException );
+ virtual CommandInfo SAL_CALL getCommandInfoByHandle( long nHandle ) throw( UnsupportedCommandException );
+ virtual sal_Bool SAL_CALL hasCommandByName( const OUString& rName ) throw();
+ virtual sal_Bool SAL_CALL hasCommandByHandle( long nHandle ) throw();
+
+ // XPropertyTaskProcessor
+ virtual Reference< XPropertySetInfo > SAL_CALL getPropertySetInfo() throw();
+
+ // XPropertySetInfo
+ virtual Property SAL_CALL getPropertyByName( const OUString& Name ) throw( UnknownPropertyException );
+ virtual sal_Bool SAL_CALL hasPropertyByName( const OUString& Name ) throw();
+ virtual void SAL_CALL addPropertiesChangeListener( const Sequence< OUString >& Names, const Reference< XPropertiesChangeListener >& xListener ) throw();
+ virtual void SAL_CALL removePropertiesChangeListener( const Sequence< OUString >& Names, const Reference< XPropertiesChangeListener >& xListener ) throw();
+};
+
+//---------------------------------------------------------------------------
+//
+// FolderContent
+//
+//---------------------------------------------------------------------------
+
+// supported Commands
+static const sal_Int32 OPEN = 0;
+static const sal_Int32 CLOSE = 1;
+
+class OFolderContent : public OContent
+{
+protected:
+ // Already provided children
+ safe_list< XContent > m_aChildList;
+
+ // OContent
+ virtual Any doCommand( const Command & crCommand );
+
+ // new methods, can be overloaded
+ virtual Any doOpenCommand();
+ virtual Any doCloseCommand();
+
+ // To be implemented by inheritants
+ virtual Sequence< XContent > getAllChildren() = 0;
+
+public:
+
+ // XCommmandTaskProcessor
+ virtual Reference< XCommandTask > SAL_CALL createCommandTask(const Command& rCommand, const Reference< XContentTaskEnvironment >& rEnvironment ) throw();
+
+ // XCommandInfo
+ virtual Sequence< CommandInfo > SAL_CALL getCommands() throw();
+};
+
+//---------------------------------------------------------------------------
+//
+// OContentTask
+//
+//---------------------------------------------------------------------------
+
+class OContentTask :
+public OWeakObject,
+public XContentTask
+{
+ Guard< OContent > m_aContentGuard;
+protected:
+ OContent *m_pContent;
+ Reference< XContentTaskEnvironment > m_xEnvironment;
+ ContentTaskStatus m_eStatus;
+ oslThread m_aThread;
+
+ static void executeWorker( void * );
+ virtual ContentTaskStatus setStatus( ContentTaskStatus eStatus );
+
+ // To be implemented by inheritants
+ virtual void doExecute() = 0;
+public:
+ OContentTask( const Reference< XContentTaskEnvironment >& xEnv, OContent *pContent );
+ virtual ~OContentTask();
+
+ // XInterface
+#if defined(TF_TYPE) || (SUPD >= 564)
+ virtual Any SAL_CALL queryInterface( const Type &type ) throw( RuntimeException );
+#else
+ virtual sal_Bool SAL_CALL queryInterface( const Uik& type, Any& ifc ) throw( RuntimeException );
+#endif
+
+ virtual void SAL_CALL acquire() throw(RuntimeException);
+ virtual void SAL_CALL release() throw(RuntimeException);
+
+ // XContentTask
+ virtual void SAL_CALL start() throw();
+ virtual void SAL_CALL execute() throw( Exception );
+ virtual void SAL_CALL abort() throw();
+ virtual ContentTaskStatus SAL_CALL getStatus() throw();
+ virtual Reference< XContentTaskEnvironment > SAL_CALL getEnvironment() throw();
+};
+
+//---------------------------------------------------------------------------
+//
+// OCommandTask
+//
+//---------------------------------------------------------------------------
+
+class OCommandTask :
+public OContentTask,
+public XCommandTask
+{
+protected:
+ Command m_aCommand;
+ Any m_aResult;
+
+public:
+ OCommandTask( const Reference< XContentTaskEnvironment >& xEnv, OContent *pContent, const Command& rCommand );
+ virtual ~OCommandTask();
+
+ virtual void doExecute();
+
+ // XInterface
+#if defined(TF_TYPE) || (SUPD >= 564)
+ virtual Any SAL_CALL queryInterface( const Type &type ) throw( RuntimeException );
+#else
+ virtual sal_Bool SAL_CALL queryInterface( const Uik& type, Any& ifc ) throw( RuntimeException );
+#endif
+ virtual void SAL_CALL acquire() throw(RuntimeException);
+ virtual void SAL_CALL release() throw(RuntimeException);
+
+ // XContentTask
+ virtual void SAL_CALL start() throw();
+ virtual void SAL_CALL execute() throw( Exception );
+ virtual void SAL_CALL abort() throw();
+ virtual ContentTaskStatus SAL_CALL getStatus() throw();
+ virtual Reference< XContentTaskEnvironment > SAL_CALL getEnvironment() throw();
+
+ // XCommandTask
+ virtual Command SAL_CALL getCommand() throw();
+ virtual Any SAL_CALL getResult() throw();
+};
+
+//---------------------------------------------------------------------------
+//
+// OPropertyTask
+//
+//---------------------------------------------------------------------------
+
+class OPropertyTask :
+public OContentTask,
+public XPropertyTask
+{
+protected:
+ Sequence< PropertyValueInfo > m_aProperties;
+ PropertyTaskType m_eType;
+public:
+ OPropertyTask(const Reference< XContentTaskEnvironment >& Environment, OContent *pContent, const Sequence< PropertyValue >& Properties, PropertyTaskType Type );
+ virtual ~OPropertyTask();
+
+ virtual void doExecute();
+
+ // To be implemented by inheritants
+ virtual Any setPropertyValue( PropertyValueInfo & rProperty ) = 0;
+ virtual void getPropertyValue( PropertyValueInfo & rProperty ) = 0;
+
+ // XInterface
+#if defined(TF_TYPE) || (SUPD >= 564)
+ virtual Any SAL_CALL queryInterface( const Type &type ) throw( RuntimeException );
+#else
+ virtual sal_Bool SAL_CALL queryInterface( const Uik& type, Any& ifc ) throw( RuntimeException );
+#endif
+ virtual void SAL_CALL acquire() throw(RuntimeException);
+ virtual void SAL_CALL release() throw(RuntimeException);
+
+ // XContentTask
+ virtual void SAL_CALL start() throw();
+ virtual void SAL_CALL execute() throw( Exception );
+ virtual void SAL_CALL abort() throw();
+ virtual ContentTaskStatus SAL_CALL getStatus() throw();
+ virtual Reference< XContentTaskEnvironment > SAL_CALL getEnvironment() throw();
+
+ // XPropertyTask
+ PropertyTaskType SAL_CALL getType() throw();
+ Sequence< PropertyValueInfo > SAL_CALL getProperties() throw();
+};
+
+#endif // _UCBHELPER_CONTENT_HXX_
+
+
diff --git a/extensions/prj/d.lst b/extensions/prj/d.lst
new file mode 100644
index 000000000000..23be9a44ac42
--- /dev/null
+++ b/extensions/prj/d.lst
@@ -0,0 +1,7 @@
+..\%__SRC%\bin\*.dll %_DEST%\bin%_EXT%\*.dll
+..\%__SRC%\class\*.jar %_DEST%\bin%_EXT%\*.jar
+..\%__SRC%\lib\*.so %_DEST%\lib%_EXT%\*.so
+..\%__SRC%\lib\*.sl %_DEST%\lib%_EXT%\*.sl
+..\%__SRC%\bin\*.bin %_DEST%\bin%_EXT%\*.bin
+..\%__SRC%\misc\*.hid %_DEST%\bin%_EXT%\*.hid
+..\%__SRC%\bin\*.res %_DEST%\bin%_EXT%\*.res
diff --git a/extensions/source/bibliography/bib.hrc b/extensions/source/bibliography/bib.hrc
new file mode 100644
index 000000000000..b2af8523b10e
--- /dev/null
+++ b/extensions/source/bibliography/bib.hrc
@@ -0,0 +1,114 @@
+/*************************************************************************
+ *
+ * $RCSfile: bib.hrc,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: hr $ $Date: 2000-09-18 16:16:44 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+#ifndef BIB_HRC
+#define BIB_HRC
+
+#include
+
+#ifndef RID_BIB_START
+#define RID_BIB_START RID_EXTENSIONS_START
+#endif
+
+// ResIDs
+
+//Dialogs (100)
+#define RID_BIB_DIALOG (RID_BIB_START)
+#define RID_TP_GENERAL (RID_BIB_DIALOG)
+#define RID_DLG_MAPPING (RID_BIB_DIALOG + 1)
+#define RID_DLG_DBCHANGE (RID_BIB_DIALOG + 2)
+
+//Controls(100)
+#define RID_BIB_CONTROLS (RID_BIB_START + 100)
+#define RID_BIB_BMPEXPANDER (RID_BIB_CONTROLS)
+#define RID_BIB_TOOLBAR (RID_BIB_CONTROLS+ 1)
+
+//Menu(100)
+#define RID_BIB_MENU (RID_BIB_CONTROLS + 100)
+#define RID_MAIN_MENU (RID_BIB_MENU +1)
+//#define RID_MAIN_ME_HIERARCHICAL (RID_BIB_MENU +2)
+#define RID_MAIN_ME_NEWENTRY (RID_BIB_MENU +3)
+#define RID_MAIN_ME_CHANGEENTRY (RID_BIB_MENU +4)
+#define RID_MAIN_ME_REMOVEENTRY (RID_BIB_MENU +5)
+#define RID_MAIN_ME_SEARCH (RID_BIB_MENU +6)
+#define RID_MAIN_ME_FIELDDLG (RID_BIB_MENU +7)
+//#define RID_MAIN_ME_LAYOUT (RID_BIB_MENU +8)
+#define RID_MAIN_ME_MAPPING (RID_BIB_MENU +9)
+#define RID_MAIN_ME_DBSOURCE (RID_BIB_MENU +10)
+
+#define RID_POPUP_ME_VIEW (RID_BIB_MENU +50)
+
+// Strings (500)
+#define RID_BIB_STRING (RID_BIB_START + 200)
+#define RID_BIB_STR_SECTION (RID_BIB_STRING + 1)
+#define RID_BIB_STR_FIELDSELECTION (RID_BIB_STRING + 2)
+#define RID_BIB_STR_TABWIN_PREFIX (RID_BIB_STRING + 3)
+#define RID_BIB_STR_FRAME_TITLE (RID_BIB_STRING + 4)
+#define RID_MAP_QUESTION (RID_BIB_STRING + 5)
+
+// HelpIDs *** nicht bestaetigt ***
+#ifndef HID_BIB_START
+#define HID_BIB_START 5000
+#define HID_DLG_MAPPING (HID_BIB_START + 1)
+#define HID_DLG_DBCHANGE (HID_BIB_START + 2)
+#define HID_SELECTION_TLB (HID_BIB_START + 3)
+#endif
+
+#endif
diff --git a/extensions/source/bibliography/bib.src b/extensions/source/bibliography/bib.src
new file mode 100644
index 000000000000..ed37b2ad2f0f
--- /dev/null
+++ b/extensions/source/bibliography/bib.src
@@ -0,0 +1,187 @@
+/*************************************************************************
+ *
+ * $RCSfile: bib.src,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: hr $ $Date: 2000-09-18 16:16:44 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+#include "bib.hrc"
+
+ImageList RID_BIB_BMPEXPANDER
+{
+ ImageBitmap = Bitmap { File = "expander.bmp" ; };
+ IdList = { 1 ; 2 ; 3 ; 4 ; 5 ; 6 ; 7 ; 8 ; 9 ; };
+ IdCount = { 9 ; };
+};
+
+String RID_BIB_STR_SECTION
+{
+ Text = "Abschnitt";
+ Text [ ENGLISH ] = "Section" ;
+ Text[ english_us ] = "Section";
+ Text[ portuguese ] = "Seco";
+ Text[ russian ] = "";
+ Text[ greek ] = "";
+ Text[ dutch ] = "Sectie";
+ Text[ french ] = "Section";
+ Text[ spanish ] = "Seccin";
+ Text[ italian ] = "Sezione";
+ Text[ danish ] = "Sektion";
+ Text[ swedish ] = "Avsnitt";
+ Text[ polish ] = "Sekcja";
+ Text[ portuguese_brazilian ] = "Section";
+ Text[ japanese ] = "";
+ Text[ korean ] = "";
+ Text[ chinese_simplified ] = "";
+ Text[ chinese_traditional ] = "Ϭq";
+ Text[ arabic ] = "";
+ Text[ turkish ] = "Blm";
+};
+
+String RID_BIB_STR_FIELDSELECTION
+{
+ Text = "Feldauswahl:" ;
+ Text [ English ] = "Fieldselection:" ;
+ Text[ english_us ] = "Field selection:";
+ Text[ portuguese ] = "Seleco de campo:";
+ Text[ russian ] = " :";
+ Text[ greek ] = " :";
+ Text[ dutch ] = "Veldselectie:";
+ Text[ french ] = "Slection de champ :";
+ Text[ spanish ] = "Seleccin de campo:";
+ Text[ italian ] = "Selezione campo:";
+ Text[ danish ] = "Feltudvalg:";
+ Text[ swedish ] = "Flturval:";
+ Text[ polish ] = "Wybr pola:";
+ Text[ portuguese_brazilian ] = "Fieldselection:";
+ Text[ japanese ] = "̨ޑI:";
+ Text[ korean ] = "ʵ :";
+ Text[ chinese_simplified ] = "ѡ";
+ Text[ chinese_traditional ] = "G";
+ Text[ arabic ] = " :";
+ Text[ turkish ] = "Alan seimi:";
+ Text[ language_user1 ] = " ";
+};
+
+String RID_BIB_STR_TABWIN_PREFIX
+{
+ Text = "Tabelle;Abfrage;Sql;Sql [Native]" ;
+ Text [ English ] = "Table;Query;Sql;Sql [Native]" ;
+ Text[ english_us ] = "Table;Query;Sql;Sql [Native]";
+ Text[ portuguese ] = "Tabela; Consulta; Sql;Sql [Native]";
+ Text[ russian ] = ";;Sql;Sql [Native]";
+ Text[ greek ] = ";;Sql;Sql [Native]";
+ Text[ dutch ] = "Tabel;Query;Sql;Sql [Native]";
+ Text[ french ] = "Table;Requte;Sql;Sql [Natif]";
+ Text[ spanish ] = "Tabla;Consulta;Sql;Sql [Native]";
+ Text[ italian ] = "Tabella;Ricerca;Sql;Sql [native]";
+ Text[ danish ] = "Tabel;Foresprgsel;Sql;Sql [native]";
+ Text[ swedish ] = "Tabell;Skning;Sql;Sql [Native]";
+ Text[ polish ] = "Tabela;Kwerenda;Sql;Sql [Native]";
+ Text[ portuguese_brazilian ] = "Table;Query;Sql;Sql [Native]";
+ Text[ japanese ] = "ð;ذ;Sql;Sql [Native]";
+ Text[ korean ] = "̺;;Sql;Sql [Native]";
+ Text[ chinese_simplified ] = ";ѯ;Sql;Sql [Native]";
+ Text[ chinese_traditional ] = ";d;Sql;Sql [Native]";
+ Text[ arabic ] = ";;Sql;Sql [Native]";
+ Text[ turkish ] = "Tablo;Sorgu;Sql;Sql [Native]";
+};
+String RID_BIB_STR_FRAME_TITLE
+{
+ Text = "Literaturdatenbank" ;
+ Text [ English ] = "Bibliography database" ;
+ Text[ english_us ] = "Bibliography Database";
+ Text[ portuguese ] = "Base de dados bibliogrfica";
+ Text[ russian ] = " ";
+ Text[ greek ] = " ";
+ Text[ dutch ] = "Literatuurdatabase";
+ Text[ french ] = "Base de donnes bibliographique";
+ Text[ spanish ] = "Base de datos bibliogrfica";
+ Text[ italian ] = "Database bibliografico";
+ Text[ danish ] = "Litteraturdatabase";
+ Text[ swedish ] = "Litteraturdatabas";
+ Text[ polish ] = "Bibliograficzna baza danych";
+ Text[ portuguese_brazilian ] = "Bibliography database";
+ Text[ japanese ] = "Ǘްް";
+ Text[ korean ] = " ͺ̽";
+ Text[ chinese_simplified ] = "ݿ";
+ Text[ chinese_traditional ] = "mƮw";
+ Text[ arabic ] = " ";
+ Text[ turkish ] = "Kaynaka veritaban";
+};
+String RID_MAP_QUESTION
+{
+ Text = "Mchten Sie die Spaltenzuordnung bearbeiten?" ;
+ Text [ English ] = "Dow you want to edit the column arrangement" ;
+ Text[ english_us ] = "Do you want to edit the column arrangement?";
+ Text[ portuguese ] = "Editar disposio de colunas?";
+ Text[ russian ] = " ?";
+ Text[ greek ] = " ;";
+ Text[ dutch ] = "Wilt u de kolomindeling veranderen?";
+ Text[ french ] = "Souhaitez-vous diter l'assignation des colonnes ?";
+ Text[ spanish ] = "Desea modificar el orden de las columnas?";
+ Text[ italian ] = "Volete modificare l'ordine delle colonne?";
+ Text[ danish ] = "Vil du redigere kolonnetildelingen?";
+ Text[ swedish ] = "Vill Du redigera kolumntilldelningen?";
+ Text[ polish ] = "Chcesz edytowa przyporzdkowanie kolumn?";
+ Text[ portuguese_brazilian ] = "Dow you want to edit the column arrangement";
+ Text[ japanese ] = "̕ނҏW܂?";
+ Text[ korean ] = " 迭 Ͻðڽϱ?";
+ Text[ chinese_simplified ] = "Ҫ༭е˳";
+ Text[ chinese_traditional ] = "znsH";
+ Text[ arabic ] = " Ͽ";
+ Text[ turkish ] = "Stunlar dzenlemek istiyor musunuz?";
+};
diff --git a/extensions/source/bibliography/bibbeam.cxx b/extensions/source/bibliography/bibbeam.cxx
new file mode 100644
index 000000000000..7848eab220b1
--- /dev/null
+++ b/extensions/source/bibliography/bibbeam.cxx
@@ -0,0 +1,309 @@
+/*************************************************************************
+ *
+ * $RCSfile: bibbeam.cxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: hr $ $Date: 2000-09-18 16:16:44 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef _OSL_MUTEX_HXX_
+#include
+#endif
+#ifndef _URLOBJ_HXX
+#include
+#endif
+#ifndef _TOOLKIT_UNOHLP_HXX
+#include
+#endif
+
+#ifndef _UNOTOOLS_PROCESSFACTORY_HXX_
+#include
+#endif
+
+#ifndef _COM_SUN_STAR_AWT_POSSIZE_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_FRAME_XDISPATCH_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_UTIL_XURLTRANSFORMER_HPP_
+#include
+#endif
+
+#include
+#include
+#include
+
+#ifndef _SV_LSTBOX_HXX //autogen wg. form::component::ListBox
+#include
+#endif
+
+#ifndef _SV_EDIT_HXX //autogen wg. Edit
+#include
+#endif
+
+#ifndef _TOOLS_DEBUG_HXX //autogen wg. DBG_ASSERT
+#include
+#endif
+
+#include "bibbeam.hxx"
+#include "toolbar.hrc"
+#include "bibresid.hxx"
+#include "datman.hxx"
+
+using namespace rtl;
+using namespace ::com::sun::star;
+using namespace ::com::sun::star::awt;
+using namespace ::com::sun::star::beans;
+using namespace ::com::sun::star::uno;
+
+#define C2U(cChar) OUString::createFromAscii(cChar)
+
+#define PROPERTY_FRAME 1
+#define ID_TOOLBAR 1
+#define ID_GRIDWIN 2
+#define ID_ALPHAWIN 3
+
+rtl::OUString gGridModelCommand( OUString::createFromAscii(".uno:Bib/newGridModel"));
+
+BibGridwin::BibGridwin(Window* pParent, WinBits nStyle):
+ DockingWindow(pParent,nStyle)
+{
+ aCtrContainer = VCLUnoHelper::CreateControlContainer(this);
+}
+
+BibGridwin::~BibGridwin()
+{
+}
+
+void BibGridwin::Resize()
+{
+ if(xGridWinRef.is())
+ {
+ ::Size aSize = GetOutputSizePixel();
+ xGridWinRef->setPosSize(0, 0, aSize.Width(),aSize.Height(), PosSize::SIZE);
+ }
+}
+void BibGridwin::createGridWin(const uno::Reference< XControlModel > & xGModel)
+{
+ xGridModel=xGModel;
+
+ if( aCtrContainer.is())
+ {
+ uno::Reference< lang::XMultiServiceFactory > xMgr = utl::getProcessServiceFactory();
+
+ if ( xGridModel.is() && xMgr.is())
+ {
+ uno::Reference< XPropertySet > xPropSet( xGridModel, UNO_QUERY );
+
+ if ( xPropSet.is() && xGridModel.is() )
+ {
+ uno::Any aAny = xPropSet->getPropertyValue( C2U("DefaultControl") );
+ rtl::OUString aControlName;
+ aAny >>= aControlName;
+
+ xControl=uno::Reference< XControl > (xMgr->createInstance( aControlName ), UNO_QUERY );
+ if ( xControl.is() )
+ {
+ xControl->setModel( xGridModel);
+ }
+ }
+
+ if ( xControl.is() )
+ {
+ // Peer als Child zu dem FrameWindow
+ aCtrContainer->addControl(C2U("Bla"), xControl);
+ xGridWinRef=uno::Reference< XWindow > (xControl, UNO_QUERY );
+ xGridWinRef->setVisible( sal_True );
+ xControl->setDesignMode(sal_False);
+ ::Size aSize = GetOutputSizePixel();
+ xGridWinRef->setPosSize(0, 0, aSize.Width(),aSize.Height(), PosSize::POSSIZE);
+// Window* pWindow = ::GetWindow( xGridWinRef );
+// pWindow->SetHelpId(HID_BIB_DB_GRIDCTRL);
+
+ }
+ }
+ }
+}
+
+void BibGridwin::disposeGridWin()
+{
+ if ( xControl.is() )
+ {
+ aCtrContainer->removeControl(xControl);
+ xControl->dispose();
+ }
+}
+
+void BibGridwin::changeGridModel(const uno::Reference< XControlModel > & xGModel)
+{
+ xGridModel=xGModel;
+
+ if ( xControl.is() )
+ {
+ xControl->setModel( xGridModel);
+ }
+}
+
+
+void BibGridwin::statusChanged(const frame::FeatureStateEvent& rEvt)throw( uno::RuntimeException )
+{
+ if(rEvt.FeatureURL.Complete == gGridModelCommand)
+ {
+ if(IsEnabled() != rEvt.IsEnabled) Enable(rEvt.IsEnabled);
+
+ uno::Any aModel=rEvt.State;
+ if(aModel.getValueType()==::getCppuType((Reference< XControlModel>*)0))
+ {
+ uno::Reference< XControlModel > xGModel=*(uno::Reference< XControlModel > *) aModel.getValue();
+ changeGridModel(xGModel);
+ }
+ }
+};
+
+
+
+
+BibBeamer::BibBeamer(Window* pParent,BibDataManager* pDM, WinBits nStyle):
+ SplitWindow(pParent,nStyle|WB_NOSPLITDRAW),
+ pDatMan(pDM),
+ pToolBar (NULL),
+ pGridWin (NULL),
+ pAlphaWin(NULL)
+{
+ createToolBar();
+ createGridWin();
+ createAlphaWin();
+ pDatMan->SetToolbar(pToolBar);
+ pDatMan->SetGridWin(pGridWin);
+}
+
+BibBeamer::~BibBeamer()
+{
+ if ( xToolBarRef.is() ) xToolBarRef->dispose();
+ if ( xGridRef.is() ) xGridRef->dispose();
+ if ( xAlphaRef.is() ) xAlphaRef->dispose();
+
+
+ if(pToolBar)
+ {
+ if(pDatMan)
+ {
+ pDatMan->SetToolbar(0);
+ pDatMan->SetGridWin(0);
+ }
+
+ delete pToolBar;
+ }
+
+ if(pGridWin)
+ {
+ pGridWin->disposeGridWin();
+// delete pGridWin;
+ xpGridWin = 0;
+ }
+
+ if(pAlphaWin) delete pAlphaWin;
+}
+
+void BibBeamer::createToolBar()
+{
+ pToolBar= new BibToolBar(this);
+ ::Size aSize=pToolBar->GetSizePixel();
+ InsertItem(ID_TOOLBAR, pToolBar, aSize.Height(), 0, 0, SWIB_FIXED );
+ if(xController.is()) pToolBar->SetXController(xController);
+}
+void BibBeamer::createGridWin()
+{
+ xpGridWin = pGridWin= new BibGridwin(this,0);
+
+ InsertItem(ID_GRIDWIN, pGridWin, 40, 1, 0, SWIB_RELATIVESIZE );
+
+
+ pGridWin->createGridWin(pDatMan->createGridModel());
+}
+
+void BibBeamer::createAlphaWin()
+{
+}
+
+void BibBeamer::SetXController(const uno::Reference< frame::XController > & xCtr)
+{
+ xController=xCtr;
+
+ if(xController.is())
+ {
+ uno::Reference< frame::XDispatch > xDisp(xController, UNO_QUERY);
+ uno::Reference< lang::XMultiServiceFactory > xMgr = utl::getProcessServiceFactory();
+ uno::Reference< util::XURLTransformer > xTrans ( xMgr->createInstance( C2U("com.sun.star.util.URLTransformer") ), UNO_QUERY );
+ if( xTrans.is() && xDisp.is())
+ {
+ util::URL aURL;
+ aURL.Complete =gGridModelCommand;
+
+ xTrans->parseStrict( aURL );
+ xDisp->addStatusListener(uno::Reference< frame::XStatusListener > (pGridWin),aURL);
+ }
+ }
+
+ if(pToolBar)
+ {
+ pToolBar->SetXController(xController);
+ }
+
+}
+
+
diff --git a/extensions/source/bibliography/bibbeam.hxx b/extensions/source/bibliography/bibbeam.hxx
new file mode 100644
index 000000000000..8fd7f4b81174
--- /dev/null
+++ b/extensions/source/bibliography/bibbeam.hxx
@@ -0,0 +1,169 @@
+/*************************************************************************
+ *
+ * $RCSfile: bibbeam.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: hr $ $Date: 2000-09-18 16:16:44 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ADRBEAM_HXX
+#define ADRBEAM_HXX
+
+#ifndef _COM_SUN_STAR_AWT_XCONTROLCONTAINER_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_AWT_XCONTROL_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_AWT_XCONTROLMODEL_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_FORM_XFORM_HPP_
+#include
+#endif
+
+
+#ifndef _CPPUHELPER_IMPLBASE1_HXX_
+#include // helper for implementations
+#endif
+
+#ifndef _SV_SPLITWIN_HXX
+#include
+#endif
+
+
+#ifndef _BIB_TOOLBAR_HXX
+#include "toolbar.hxx"
+#endif
+
+extern rtl::OUString gGridModelCommand;
+
+class BibDataManager;
+
+class BibGridwin: public DockingWindow,
+ public cppu::WeakImplHelper1 < ::com::sun::star::frame::XStatusListener>
+{
+private:
+ ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow > xGridWinRef;
+ ::com::sun::star::uno::Reference< ::com::sun::star::form::XForm > xForm;
+ ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel > xGridModel;
+ ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl > xControl;
+ ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlContainer > aCtrContainer;
+
+protected:
+
+ void Resize();
+
+public:
+
+ BibGridwin(Window* pParent, WinBits nStyle = 0 );
+ ~BibGridwin();
+
+ void createGridWin(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel > & xDbForm);
+ void changeGridModel(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel > & xGModel);
+ void disposeGridWin();
+
+ // ::com::sun::star::lang::XEventListener
+ // we do not hold References to dispatches, so there is nothing to do on disposal
+ virtual void SAL_CALL disposing(const ::com::sun::star::lang::EventObject& Source)
+ throw( ::com::sun::star::uno::RuntimeException ){};
+
+ // ::com::sun::star::frame::XStatusListener
+ virtual void SAL_CALL statusChanged(const ::com::sun::star::frame::FeatureStateEvent& Event)
+ throw( ::com::sun::star::uno::RuntimeException );
+
+};
+
+
+class BibBeamer: public SplitWindow
+{
+ private:
+
+ BibDataManager* pDatMan;
+ ::com::sun::star::uno::Reference< ::com::sun::star::frame::XController > xController;
+ ::com::sun::star::uno::Reference< ::com::sun::star::form::XForm > xForm;
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > xToolBarRef;
+ ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > xGridRef;
+ ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > xAlphaRef;
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow > xToolBarWinRef;
+ ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow > xGridWinRef;
+ ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow > xAlphaWinRef;
+
+ BibToolBar* pToolBar;
+ BibGridwin* pGridWin;
+ ::com::sun::star::uno::Reference< ::com::sun::star::frame::XStatusListener> xpGridWin;
+ DockingWindow* pAlphaWin;
+
+ protected:
+
+ void createToolBar();
+ void createGridWin();
+ void createAlphaWin();
+
+ public:
+
+ BibBeamer(Window* pParent,BibDataManager* pDatMan, WinBits nStyle = 0 );
+ ~BibBeamer();
+
+ void SetXController(const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XController > &);
+};
+
+
+
+
+#endif
diff --git a/extensions/source/bibliography/bibcont.cxx b/extensions/source/bibliography/bibcont.cxx
new file mode 100644
index 000000000000..49dca576f05b
--- /dev/null
+++ b/extensions/source/bibliography/bibcont.cxx
@@ -0,0 +1,372 @@
+/*************************************************************************
+ *
+ * $RCSfile: bibcont.cxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: hr $ $Date: 2000-09-18 16:16:44 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#include
+#include
+#include
+#ifndef _UNOTOOLS_PROCESSFACTORY_HXX_
+#include
+#endif
+#include
+#ifndef _COM_SUN_STAR_AWT_XWINDOW_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_AWT_XWINDOWPEER_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_FRAME_XDISPATCHPROVIDER_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_FRAME_FRAMESEARCHFLAG_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_UTIL_XURLTRANSFORMER_HPP_
+#include
+#endif
+
+
+#include
+#include
+
+#include "datman.hxx"
+#include "bibcont.hxx"
+
+using namespace vos;
+using namespace osl;
+using namespace ::com::sun::star;
+using namespace ::com::sun::star::uno;
+using namespace ::com::sun::star::frame;
+using namespace ::rtl;
+
+#define C2U(cChar) OUString::createFromAscii(cChar)
+#define PROPERTY_FRAME 1
+
+
+BibWindowContainer::BibWindowContainer( Window* pParent,WinBits nStyle):
+ DockingWindow(pParent,nStyle),
+ pChild(NULL)
+{
+}
+
+BibWindowContainer::BibWindowContainer( Window* pParent,Window* pWin, WinBits nStyle):
+ DockingWindow(pParent,nStyle),
+ pChild(pWin)
+{
+ if(pChild!=NULL)
+ {
+ pChild->SetParent(this);
+ pChild->Show();
+ pChild->SetPosPixel(Point(0,0));
+ }
+}
+
+BibWindowContainer::~BibWindowContainer()
+{
+ if(pChild!=NULL) delete pChild;
+}
+
+void BibWindowContainer::Resize()
+{
+ ::Size aSize=GetOutputSizePixel();
+ if(pChild!=NULL) pChild->SetSizePixel(aSize);
+}
+
+void BibWindowContainer::SetChild(Window* pWin)
+{
+ pChild=pWin;
+ if(pChild!=NULL)
+ {
+ pChild->SetParent(this);
+ pChild->Show();
+ pChild->SetPosPixel(Point(0,0));
+ }
+}
+
+
+
+BibBookContainer::BibBookContainer(Window* pParent,BibDataManager* pDtMn, WinBits nStyle):
+ SplitWindow(pParent,nStyle),
+ pDatMan(pDtMn),
+ pTopWin(NULL),
+ pBottomWin(NULL),
+ bFirstTime(sal_True)
+{
+ pBibMod = OpenBibModul();
+ aTimer.SetTimeoutHdl(LINK( this, BibBookContainer, SplitHdl));
+ aTimer.SetTimeout(400);
+}
+
+BibBookContainer::~BibBookContainer()
+{
+ if ( xTopFrameRef.is() )
+ xTopFrameRef->dispose();
+ if ( xBottomFrameRef.is() )
+ xBottomFrameRef->dispose();
+
+ if(pTopWin)
+ delete pTopWin;
+ if(pBottomWin)
+ delete pBottomWin;
+ CloseBibModul(pBibMod);
+}
+
+void BibBookContainer::Split()
+{
+ aTimer.Start();
+}
+IMPL_LINK( BibBookContainer, SplitHdl, Timer*,pT)
+{
+ long nSize= GetItemSize( TOP_WINDOW);
+ pDatMan->setBeamerSize(nSize);
+ nSize= GetItemSize( BOTTOM_WINDOW);
+ pDatMan->setViewSize(nSize);
+ return 0;
+}
+
+
+uno::Reference < awt::XWindowPeer> BibBookContainer::GetTopComponentInterface( sal_Bool bCreate)
+{
+ return pTopWin->GetComponentInterface(bCreate);
+}
+void BibBookContainer::SetTopComponentInterface( awt::XWindowPeer* pIFace )
+{
+ pTopWin->SetComponentInterface(pIFace);
+}
+
+uno::Reference < awt::XWindowPeer > BibBookContainer::GetBottomComponentInterface( sal_Bool bCreate)
+{
+ return pBottomWin->GetComponentInterface(bCreate);
+}
+void BibBookContainer::SetBottomComponentInterface( awt::XWindowPeer* pIFace )
+{
+ pBottomWin->SetComponentInterface(pIFace);
+}
+
+/*VCLXWindow* BibBookContainer::GetTopWindowPeer()
+{
+ return pTopWin->GetWindowPeer();
+}
+*//*void BibBookContainer::SetTopWindowPeer( VCLXWindow* pPeer )
+{
+ pTopWin->SetWindowPeer(pPeer );
+}
+*/
+/*VCLXWindow* BibBookContainer::GetBottomWindowPeer()
+{
+ return pBottomWin->GetWindowPeer();
+}
+*//*void BibBookContainer::SetBottomWindowPeer( VCLXWindow* pPeer )
+{
+ pBottomWin->SetWindowPeer(pPeer );
+}
+*/
+
+void BibBookContainer::CreateTopWin()
+{
+ if ( xTopFrameRef.is() ) xTopFrameRef->dispose();
+
+ if(pTopWin)
+ {
+ RemoveItem(TOP_WINDOW);
+ delete pTopWin;
+ }
+
+ pTopWin= new DockingWindow(this,0);
+
+ long nSize=pDatMan->getBeamerSize();
+ InsertItem(TOP_WINDOW, pTopWin, nSize, 0, 0, SWIB_PERCENTSIZE );
+
+}
+
+void BibBookContainer::CreateBottomWin()
+{
+
+ if ( xBottomFrameRef.is() ) xBottomFrameRef->dispose();
+
+ if(pBottomWin)
+ {
+ RemoveItem(BOTTOM_WINDOW);
+ delete pBottomWin;
+ }
+
+ pBottomWin= new DockingWindow(this,0);
+ long nSize=pDatMan->getViewSize();
+ InsertItem(BOTTOM_WINDOW, pBottomWin, nSize, 1, 0, SWIB_PERCENTSIZE );
+
+}
+
+void BibBookContainer::createTopFrame(const ::rtl::OUString & rURL )
+{
+ uno::Reference< frame::XFrame > xNewFrame;
+
+ CreateTopWin();
+
+ xTopPeerRef=uno::Reference< awt::XWindow > (GetTopComponentInterface(), UNO_QUERY );
+
+ uno::Reference< lang::XMultiServiceFactory > xMgr = utl::getProcessServiceFactory();
+
+ xNewFrame = uno::Reference< frame::XFrame > ( xMgr->createInstance( C2U("com.sun.star.frame.Frame") ), UNO_QUERY );
+ uno::Reference< frame::XDispatchProvider > xDSP( xNewFrame, UNO_QUERY );
+ if( xDSP.is() )
+ {
+ xNewFrame->initialize( xTopPeerRef);
+
+ // optional:
+ //xFrame->setName( C2U("WhatYouWant") );
+
+ uno::Reference< util::XURLTransformer > xTrans ( xMgr->createInstance( C2U("com.sun.star.util.URLTransformer") ), UNO_QUERY );
+ if( xTrans.is() )
+ {
+ // Datei laden
+ util::URL aURL;
+ aURL.Complete = rURL;
+
+ xTrans->parseStrict( aURL );
+
+ uno::Reference< frame::XDispatch > xDisp = xDSP->queryDispatch( aURL, C2U("_self"), FrameSearchFlag::SELF );
+ if ( xDisp.is() )
+ xDisp->dispatch( aURL, uno::Sequence() );
+ }
+ }
+
+ // set the frame
+ {
+ MutexGuard aGuard(Mutex::getGlobalMutex());
+ xTopFrameRef = xNewFrame;
+ }
+
+}
+
+void BibBookContainer::createBottomFrame(const ::rtl::OUString & rURL )
+{
+ uno::Reference< frame::XFrame > xNewFrame;
+
+ CreateBottomWin();
+
+ xBottomPeerRef=uno::Reference< awt::XWindow > (GetBottomComponentInterface(), UNO_QUERY );
+
+ uno::Reference< lang::XMultiServiceFactory > xMgr = utl::getProcessServiceFactory();
+
+ xNewFrame = uno::Reference< frame::XFrame > ( xMgr->createInstance( C2U("com.sun.star.frame.Frame") ), UNO_QUERY );
+ uno::Reference< frame::XDispatchProvider > xDSP( xNewFrame, UNO_QUERY );
+ if( xDSP.is() )
+ {
+ xNewFrame->initialize( xBottomPeerRef);
+
+ // optional:
+ //xFrame->setName( C2U("WhatYouWant") );
+
+ uno::Reference< util::XURLTransformer > xTrans ( xMgr->createInstance( C2U("com.sun.star.util.URLTransformer") ), UNO_QUERY );
+ if( xTrans.is() )
+ {
+ // Datei laden
+ util::URL aURL;
+ aURL.Complete = rURL;
+
+ xTrans->parseStrict( aURL );
+
+ uno::Reference< frame::XDispatch > xDisp = xDSP->queryDispatch( aURL, ::rtl::OUString(), FrameSearchFlag::SELF );
+ if ( xDisp.is() )
+ xDisp->dispatch( aURL, uno::Sequence() );
+ }
+ }
+
+ // set the frame
+ {
+ MutexGuard aGuard(Mutex::getGlobalMutex());
+ xBottomFrameRef = xNewFrame;
+ }
+
+}
+
+void BibBookContainer::createTopFrame(Window* pWin)
+{
+ if ( xTopFrameRef.is() ) xTopFrameRef->dispose();
+
+ if(pTopWin)
+ {
+ RemoveItem(TOP_WINDOW);
+ delete pTopWin;
+ }
+ pTopWin=new BibWindowContainer(this,pWin);
+
+ long nSize=pDatMan->getBeamerSize();
+ InsertItem(TOP_WINDOW, pTopWin, nSize, 1, 0, SWIB_PERCENTSIZE );
+
+}
+
+void BibBookContainer::createBottomFrame(Window* pWin)
+{
+ if ( xBottomFrameRef.is() ) xBottomFrameRef->dispose();
+
+ if(pBottomWin)
+ {
+ RemoveItem(BOTTOM_WINDOW);
+ delete pBottomWin;
+ }
+
+ pBottomWin=new BibWindowContainer(this,pWin);
+
+ long nSize=pDatMan->getViewSize();
+ InsertItem(BOTTOM_WINDOW, pBottomWin, nSize, 1, 0, SWIB_PERCENTSIZE );
+
+}
+
diff --git a/extensions/source/bibliography/bibcont.hxx b/extensions/source/bibliography/bibcont.hxx
new file mode 100644
index 000000000000..4c10b15941c3
--- /dev/null
+++ b/extensions/source/bibliography/bibcont.hxx
@@ -0,0 +1,158 @@
+/*************************************************************************
+ *
+ * $RCSfile: bibcont.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: hr $ $Date: 2000-09-18 16:16:44 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ADDRCONT_HXX
+#define ADDRCONT_HXX
+
+#ifndef _COM_SUN_STAR_FRAME_XFRAME_HPP_
+#include
+#endif
+
+#ifndef _SV_SPLITWIN_HXX
+#include
+#endif
+
+#ifndef _SV_TIMER_HXX //autogen wg. Timer
+#include
+#endif
+#include "bibmod.hxx"
+
+#define TOP_WINDOW 1
+#define BOTTOM_WINDOW 2
+
+class BibDataManager;
+
+class BibWindowContainer: public DockingWindow
+{
+ private:
+ Window* pChild;
+
+ protected:
+ virtual void Resize();
+
+ public:
+ BibWindowContainer( Window* pParent,WinBits nStyle = 0);
+ BibWindowContainer( Window* pParent,Window* pChild, WinBits nStyle = 0 );
+ ~BibWindowContainer();
+
+ Window* GetChild(){return pChild;}
+ void SetChild(Window* pWin);
+};
+
+
+class BibBookContainer: public SplitWindow
+{
+ private:
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > xTopFrameRef;
+ ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > xBottomFrameRef;
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow > xTopPeerRef;
+ ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow > xBottomPeerRef;
+ sal_Bool bFirstTime;
+
+ DockingWindow* pTopWin;
+ DockingWindow* pBottomWin;
+ BibDataManager* pDatMan;
+ HdlBibModul pBibMod;
+ Timer aTimer;
+
+ DECL_LINK( SplitHdl, Timer*);
+
+ protected:
+
+ virtual void Split();
+
+ void CreateTopWin();
+ void CreateBottomWin();
+ ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindowPeer > GetTopComponentInterface( sal_Bool bCreate = sal_True );
+ void SetTopComponentInterface( ::com::sun::star::awt::XWindowPeer* pIFace );
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindowPeer > GetBottomComponentInterface( sal_Bool bCreate = sal_True );
+ void SetBottomComponentInterface( ::com::sun::star::awt::XWindowPeer* pIFace );
+
+// VCLXWindow* GetTopWindowPeer();
+// void SetTopWindowPeer( VCLXWindow* pPeer );
+
+// VCLXWindow* GetBottomWindowPeer();
+// void SetBottomWindowPeer( VCLXWindow* pPeer );
+
+ public:
+
+ BibBookContainer(Window* pParent,BibDataManager*, WinBits nStyle = 0 );
+ ~BibBookContainer();
+
+ DockingWindow* GetTopWin() {return pTopWin;}
+ DockingWindow* GetBottomWin() {return pBottomWin;}
+
+
+ void createTopFrame(const rtl::OUString & rURL );
+
+ void createBottomFrame(const rtl::OUString & rURL );
+
+ void createTopFrame(Window* pWin);
+
+ void createBottomFrame(Window* pWin);
+
+};
+
+
+#endif
diff --git a/extensions/source/bibliography/bibload.cxx b/extensions/source/bibliography/bibload.cxx
new file mode 100644
index 000000000000..d5f246c97bc9
--- /dev/null
+++ b/extensions/source/bibliography/bibload.cxx
@@ -0,0 +1,881 @@
+/*************************************************************************
+ *
+ * $RCSfile: bibload.cxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: hr $ $Date: 2000-09-18 16:16:44 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+
+#ifndef _OSL_MUTEX_HXX_
+#include
+#endif
+#ifndef _URLOBJ_HXX
+#include
+#endif
+#ifndef _CPPUHELPER_WEAK_HXX_
+#include
+#endif
+#ifndef _SFX_ITEMPROP_HXX
+#include
+#endif
+#ifndef _UNO_ENVIRONMENT_H_
+#include
+#endif
+#ifndef SVTOOLS_URIHELPER_HXX
+#include
+#endif
+#ifndef _TOOLKIT_UNOHLP_HXX
+#include
+#endif
+#ifndef _UNOTOOLS_PROCESSFACTORY_HXX_
+#include
+#endif
+#ifndef _CPPUHELPER_FACTORY_HXX_
+#include // helper for factories
+#endif
+#ifndef _COM_SUN_STAR_SDBC_RESULTSETTYPE_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_SDBC_RESULTSETCONCURRENCY_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_SDB_XCOLUMN_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_UTIL_XURLTRANSFORMER_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_SDBCX_XCOLUMNSSUPPLIER_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_SDBC_XROWSET_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_SDB_COMMANDTYPE_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_FRAME_XFRAMELOADER_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_LANG_XSERVICEINFO_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_LANG_XSINGLESERVICEFACTORY_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_BEANS_PROPERTYATTRIBUTE_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_CONTAINER_XNAMEACCESS_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_TEXT_BIBLIOGRAPHYDATAFIELD_HPP_
+#include
+#endif
+
+#ifndef _SV_WINDOW_HXX
+#include
+#endif
+#ifndef _SV_EDIT_HXX
+#include
+#endif
+#ifndef _SV_SVAPP_HXX
+#include
+#endif
+
+#ifndef _SV_GROUP_HXX //autogen wg. form
+#include
+#endif
+
+#ifndef _SFXINIPROP_HXX
+#include
+#endif
+#ifndef _SFXINIMGR_HXX
+#include
+#endif
+#ifndef _SVEDIT_HXX
+#include
+#endif
+
+#ifndef BIB_HRC
+#include "bib.hrc"
+#endif
+#ifndef ADDRCONT_HXX
+#include "bibcont.hxx"
+#endif
+#ifndef ADRBEAM_HXX
+#include "bibbeam.hxx"
+#endif
+#ifndef ADDRMOD_HXX
+#include "bibmod.hxx"
+#endif
+#ifndef _BIB_VIEW_HXX
+#include "bibview.hxx"
+#endif
+#ifndef _BIB_FRAMECTR_HXX
+#include "framectr.hxx"
+#endif
+#ifndef _BIB_DATMAN_HXX
+#include "datman.hxx"
+#endif
+
+#ifndef _CPPUHELPER_IMPLBASE4_HXX_
+#include // helper for implementations
+#endif
+
+using namespace ::rtl;
+using namespace ::com::sun::star;
+using namespace ::com::sun::star::uno;
+using namespace ::com::sun::star::beans;
+using namespace ::com::sun::star::lang;
+using namespace ::com::sun::star::sdb;
+using namespace ::com::sun::star::sdbc;
+
+#define C2U(cChar) OUString::createFromAscii(cChar)
+
+
+//-----------------------------------------------------------------------------
+
+#define PROPERTY_FRAME 1
+
+class BibliographyLoader : public cppu::WeakImplHelper4
+<
+ XServiceInfo,
+ container::XNameAccess,
+ XPropertySet,
+ frame::XFrameLoader
+>
+{
+ HdlBibModul pBibMod;
+ Reference< XPropertyChangeListener > xDatMan;
+ BibDataManager* pDatMan;
+ Reference< container::XNameAccess > xColumns;
+ Reference< XResultSet > xCursor;
+
+private:
+
+ void loadView(const Reference< frame::XFrame > & aFrame, const rtl::OUString& aURL,
+ const Sequence< PropertyValue >& aArgs,
+ const Reference< frame::XLoadEventListener > & aListener);
+
+ BibDataManager* GetDataManager()const;
+ Reference< container::XNameAccess > GetDataColumns() const;
+ Reference< XResultSet > GetDataCursor() const;
+ Reference< sdb::XColumn > GetIdentifierColumn() const;
+
+public:
+ BibliographyLoader();
+ ~BibliographyLoader();
+
+ // XServiceInfo
+ rtl::OUString SAL_CALL getImplementationName() throw( );
+ sal_Bool SAL_CALL supportsService(const rtl::OUString& ServiceName) throw( );
+ Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void) throw( );
+ static rtl::OUString getImplementationName_Static() throw( )
+
+ {
+ //!
+ return C2U("com.sun.star.extensions.Bibliography");
+ //!
+ }
+
+ //XNameAccess
+ virtual Any SAL_CALL getByName(const rtl::OUString& aName) throw ( container::NoSuchElementException, WrappedTargetException, RuntimeException );
+ virtual Sequence< rtl::OUString > SAL_CALL getElementNames(void) throw ( RuntimeException );
+ virtual sal_Bool SAL_CALL hasByName(const rtl::OUString& aName) throw ( RuntimeException );
+
+ //XElementAccess
+ virtual Type SAL_CALL getElementType(void) throw ( RuntimeException );
+ virtual sal_Bool SAL_CALL hasElements(void) throw ( RuntimeException );
+
+ //XPropertySet
+ virtual Reference< XPropertySetInfo > SAL_CALL getPropertySetInfo(void) throw ( RuntimeException );
+ virtual void SAL_CALL setPropertyValue(const rtl::OUString& PropertyName, const Any& aValue) throw( UnknownPropertyException, PropertyVetoException, IllegalArgumentException, WrappedTargetException, RuntimeException );
+ virtual Any SAL_CALL getPropertyValue(const rtl::OUString& PropertyName) throw ( UnknownPropertyException, WrappedTargetException, RuntimeException );
+ virtual void SAL_CALL addPropertyChangeListener(const rtl::OUString& PropertyName, const Reference< XPropertyChangeListener > & aListener) throw( UnknownPropertyException, WrappedTargetException, RuntimeException );
+ virtual void SAL_CALL removePropertyChangeListener(const rtl::OUString& PropertyName, const Reference< XPropertyChangeListener > & aListener) throw( UnknownPropertyException, WrappedTargetException, RuntimeException );
+ virtual void SAL_CALL addVetoableChangeListener(const rtl::OUString& PropertyName, const Reference< XVetoableChangeListener > & aListener) throw( UnknownPropertyException, WrappedTargetException, RuntimeException );
+ virtual void SAL_CALL removeVetoableChangeListener(const rtl::OUString& PropertyName, const Reference< XVetoableChangeListener > & aListener) throw( UnknownPropertyException, WrappedTargetException, RuntimeException );
+
+ static Sequence SAL_CALL getSupportedServiceNames_Static(void) throw( );
+
+ friend Reference< XInterface > SAL_CALL BibliographyLoader_CreateInstance( const Reference< XMultiServiceFactory > & rSMgr ) throw( Exception );
+
+ // XLoader
+ virtual void SAL_CALL load(const Reference< frame::XFrame > & aFrame, const rtl::OUString& aURL,
+ const Sequence< PropertyValue >& aArgs,
+ const Reference< frame::XLoadEventListener > & aListener);
+ virtual void SAL_CALL cancel(void);
+};
+
+BibliographyLoader::BibliographyLoader() :
+ pBibMod(0),
+ pDatMan(0)
+{
+}
+
+BibliographyLoader::~BibliographyLoader()
+{
+ if(pBibMod)
+ CloseBibModul(pBibMod);
+}
+
+
+Reference< XInterface > SAL_CALL BibliographyLoader_CreateInstance( const Reference< XMultiServiceFactory > & rSMgr ) throw( Exception )
+{
+ return *(new BibliographyLoader);
+}
+
+
+// XServiceInfo
+rtl::OUString BibliographyLoader::getImplementationName() throw( )
+
+{
+ return getImplementationName_Static();
+}
+
+// XServiceInfo
+sal_Bool BibliographyLoader::supportsService(const rtl::OUString& ServiceName) throw( )
+{
+ Sequence< rtl::OUString > aSNL = getSupportedServiceNames();
+ const rtl::OUString * pArray = aSNL.getConstArray();
+ for( sal_Int32 i = 0; i < aSNL.getLength(); i++ )
+ if( pArray[i] == ServiceName )
+ return sal_True;
+ return sal_False;
+}
+
+// XServiceInfo
+Sequence< rtl::OUString > BibliographyLoader::getSupportedServiceNames(void) throw( )
+{
+ return getSupportedServiceNames_Static();
+}
+
+// ORegistryServiceManager_Static
+Sequence< rtl::OUString > BibliographyLoader::getSupportedServiceNames_Static(void) throw( )
+{
+ Sequence< rtl::OUString > aSNS( 2 );
+ aSNS.getArray()[0] = C2U("com.sun.star.frame.FrameLoader");
+ //!
+ aSNS.getArray()[1] = C2U("com.sun.star.frame.Bibliography");
+ //!
+ return aSNS;
+}
+
+extern "C"
+{
+ void SAL_CALL component_getImplementationEnvironment(
+ const sal_Char ** ppEnvTypeName, uno_Environment ** ppEnv )
+ {
+ *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
+ }
+
+ sal_Bool SAL_CALL component_writeInfo( void * //pServiceManager
+ , registry::XRegistryKey * pRegistryKey )
+ {
+ try
+ {
+ rtl::OUString sKey = rtl::OUString::createFromAscii("/");
+ sKey += BibliographyLoader::getImplementationName_Static();
+ //creates the impl key: /com.sun.star.extensions.Bibliography
+ Reference< registry::XRegistryKey > xImplKey = pRegistryKey->createKey(sKey);
+
+
+ //sKey += rtl::OUString::createFromAscii("/UNO/SERVICES");
+ Reference< registry::XRegistryKey > xNewKey = xImplKey->createKey( C2U("/UNO/SERVICES") );
+ Sequence< rtl::OUString > aServices = BibliographyLoader::getSupportedServiceNames_Static();
+ for( INT32 i = 0; i < aServices.getLength(); i++ )
+ xNewKey->createKey( aServices.getConstArray()[i]);
+ xNewKey = xImplKey->createKey( C2U("/UNO/Loader"));
+
+ Reference< registry::XRegistryKey > xPatternKey = xImplKey->createKey( C2U("/Loader/Pattern" ));
+ xPatternKey->setAsciiValue( C2U( ".component:Bibliography/*" ) );
+
+ return sal_True;
+ }
+ catch (Exception &)
+ {
+ return sal_False;
+ }
+ }
+
+
+ void * SAL_CALL component_getFactory(
+ const sal_Char * pImplName, XMultiServiceFactory * pServiceManager, void * /*pRegistryKey*/ )
+ {
+ void * pRet = 0;
+ if (!BibliographyLoader::getImplementationName_Static().compareToAscii( pImplName ) )
+ {
+ // create the factory
+ Reference< XSingleServiceFactory > xFactory =
+ cppu::createSingleFactory(
+ pServiceManager,
+ BibliographyLoader::getImplementationName_Static(),
+ BibliographyLoader_CreateInstance,
+ BibliographyLoader::getSupportedServiceNames_Static() );
+ // acquire, because we return an interface pointer instead of a reference
+ xFactory->acquire();
+ pRet = xFactory.get();
+ }
+ return pRet;
+ }
+
+}
+// -----------------------------------------------------------------------
+void BibliographyLoader::cancel(void)
+{
+ //!
+ //!
+}
+// -----------------------------------------------------------------------
+void BibliographyLoader::load(const Reference< frame::XFrame > & rFrame, const rtl::OUString& rURL,
+ const Sequence< PropertyValue >& rArgs,
+ const Reference< frame::XLoadEventListener > & rListener)
+{
+ //!
+
+ pBibMod = OpenBibModul();
+
+ String aURLStr( rURL );
+ String aPartName = aURLStr.GetToken( 1, '/' );
+
+ if(aPartName.EqualsAscii("View") || aPartName.EqualsAscii("View1"))
+ {
+ loadView(rFrame, rURL, rArgs, rListener);
+ }
+}
+
+// -----------------------------------------------------------------------
+void BibliographyLoader::loadView(const Reference< frame::XFrame > & rFrame, const rtl::OUString& rURL,
+ const Sequence< PropertyValue >& rArgs,
+ const Reference< frame::XLoadEventListener > & rListener)
+{
+ //!
+ if(!pBibMod)
+ pBibMod = OpenBibModul();
+
+ BibDataManager* pDatMan=(*pBibMod)->createDataManager();
+ xDatMan = pDatMan;
+ String sTableName;
+ rtl::OUString aBibUrl=BibModul::GetBibliographyURL(&sTableName);
+
+ Reference< form::XForm > xForm = pDatMan->createDatabaseForm(aBibUrl, OUString(sTableName));
+
+ if(xForm.is())
+ {
+ Reference< awt::XWindow > aWindow = rFrame->getContainerWindow();
+
+ Window* pParent = VCLUnoHelper::GetWindow( aWindow );
+
+ BibBookContainer *pMyWindow = new BibBookContainer( pParent, pDatMan );
+
+ BibView* pView = new BibView(pMyWindow,pDatMan,WB_SECTION_STYLE);
+ pDatMan->SetView(pView);
+
+ BibBeamer* pBeamer=new BibBeamer( pMyWindow,pDatMan);
+ pMyWindow->createTopFrame(pBeamer);
+
+ pMyWindow->createBottomFrame(pView);
+
+ Reference< awt::XWindow > xWin ( pMyWindow->GetComponentInterface(), UNO_QUERY );
+
+ Reference< frame::XController > xCtrRef(new BibFrameController_Impl( xWin,pDatMan));
+
+ xCtrRef->attachFrame(rFrame);
+ rFrame->setComponent( xWin, xCtrRef);
+ pBeamer->SetXController(xCtrRef);
+ //!
+
+ long nBeamerSize = pDatMan->getBeamerSize();
+
+ pDatMan->loadDatabase();
+
+ ResMgr* pResMgr = (*pBibMod)->GetResMgr();
+ INetURLObject aEntry( URIHelper::SmartRelToAbs(pResMgr->GetFileName()) );
+ String aResFile = String::CreateFromAscii(".component:");
+ ( aResFile += aEntry.GetName() ) += '/';
+ String aMenuRes = aResFile;
+ aMenuRes+=String::CreateFromInt32(RID_MAIN_MENU);
+
+ util::URL aURL;
+ aURL.Complete = aMenuRes;
+
+ Reference< XMultiServiceFactory > xMgr = utl::getProcessServiceFactory();
+ Reference< util::XURLTransformer > xTrans ( xMgr->createInstance( C2U("com.sun.star.util.URLTransformer") ), UNO_QUERY );
+ if( xTrans.is() )
+ {
+ // Datei laden
+ xTrans->parseStrict( aURL );
+
+ Reference< frame::XDispatchProvider > xProv( rFrame, UNO_QUERY );
+ if ( xProv.is() )
+ {
+ Reference< frame::XDispatch > aDisp = xProv->queryDispatch( aURL, C2U("_tool:_menubar"), 0 );
+ if ( aDisp.is() )
+ aDisp->dispatch( aURL, Sequence() );
+ }
+ }
+ if ( rListener.is() )
+ rListener->loadFinished( this );
+ }
+ else
+ {
+ if ( rListener.is() )
+ rListener->loadCancelled( this );
+ }
+}
+/* -----------------06.12.99 14:37-------------------
+
+ --------------------------------------------------*/
+BibDataManager* BibliographyLoader::GetDataManager()const
+{
+ if(!pDatMan)
+ {
+ if(!pBibMod)
+ ((BibliographyLoader*)this)->pBibMod = OpenBibModul();
+ ((BibliographyLoader*)this)->pDatMan = (*pBibMod)->createDataManager();
+ ((BibliographyLoader*)this)->xDatMan = pDatMan;
+ }
+ return pDatMan;
+}
+/* -----------------06.12.99 14:39-------------------
+
+ --------------------------------------------------*/
+Reference< container::XNameAccess > BibliographyLoader::GetDataColumns() const
+{
+ if (!xColumns.is())
+ {
+ Reference< XMultiServiceFactory > xMgr = utl::getProcessServiceFactory();
+ Reference< XRowSet > xRowSet(xMgr->createInstance(C2U("com.sun.star.sdb.RowSet")), UNO_QUERY);
+ Reference< XPropertySet > xResultSetProps(xRowSet, UNO_QUERY);
+ DBG_ASSERT(xResultSetProps.is() , "BibliographyLoader::GetDataCursor : invalid row set (no XResultSet or no XPropertySet) !");
+
+ String sTableName;
+ rtl::OUString aBibUrl = BibModul::GetBibliographyURL(&sTableName);
+
+ Any aBibUrlAny; aBibUrlAny <<= aBibUrl;
+ xResultSetProps->setPropertyValue(C2U("DataSourceName"), aBibUrlAny);
+ Any aCommandType; aCommandType <<= (sal_Int32)(CommandType::TABLE);
+ xResultSetProps->setPropertyValue(C2U("CommandType"), aCommandType);
+ Any aTableName; aTableName <<= OUString(sTableName);
+ xResultSetProps->setPropertyValue(C2U("Command"), aTableName);
+ Any aResultSetType; aResultSetType <<= (sal_Int32)(ResultSetType::SCROLL_INSENSITIVE);
+ xResultSetProps->setPropertyValue(C2U("ResultSetType"), aResultSetType);
+ Any aResultSetCurrency; aResultSetCurrency <<= (sal_Int32)(ResultSetConcurrency::UPDATABLE);
+ xResultSetProps->setPropertyValue(C2U("ResultSetConcurrency"), aResultSetCurrency);
+
+ sal_Bool bSuccess = sal_False;
+ try
+ {
+ xRowSet->execute();
+ bSuccess = sal_True;
+ }
+ catch(SQLException& e)
+ {
+#ifdef DBG_UTIL
+ // TODO : show a real error message
+ String sMsg(String::CreateFromAscii("BibliographyLoader::GetDataCursor : could not execute the result set (catched an SQL-exception"));
+ sMsg += String(e.Message);
+ sMsg.AppendAscii(") !");
+ DBG_ERROR( ByteString(sMsg, RTL_TEXTENCODING_ASCII_US ).GetBuffer());
+#endif
+ }
+ catch(...)
+ {
+ DBG_ERROR("BibliographyLoader::GetDataCursor : could not execute the result set !");
+ bSuccess = sal_False;
+ }
+
+ if (!bSuccess)
+ {
+ Reference< XComponent > xSetComp(xRowSet, UNO_QUERY);
+ if (xSetComp.is())
+ xSetComp->dispose();
+ xRowSet = NULL;
+ }
+ else
+ ((BibliographyLoader*)this)->xCursor = xRowSet.get();
+
+ Reference< sdbcx::XColumnsSupplier > xSupplyCols(xCursor, UNO_QUERY);
+ if (xSupplyCols.is())
+ ((BibliographyLoader*)this)->xColumns = xSupplyCols->getColumns();
+ }
+
+ return xColumns;
+}
+/* -----------------17.12.99 12:29-------------------
+
+ --------------------------------------------------*/
+Reference< sdb::XColumn > BibliographyLoader::GetIdentifierColumn() const
+{
+ BibDataManager* pDatMan = GetDataManager();
+ Reference< container::XNameAccess > xColumns = GetDataColumns();
+ rtl::OUString sIdentifierColumnName = pDatMan->GetIdentifierMapping();
+
+ Reference< sdb::XColumn > xReturn;
+ if (xColumns.is() && xColumns->hasByName(sIdentifierColumnName))
+ {
+ xReturn = Reference< XColumn > (*(Reference< XInterface > *)
+ xColumns->getByName(sIdentifierColumnName).getValue(), UNO_QUERY);
+ }
+ return xReturn;
+}
+
+/* -----------------06.12.99 15:05-------------------
+
+ --------------------------------------------------*/
+Reference< XResultSet > BibliographyLoader::GetDataCursor() const
+{
+ if (!xCursor.is())
+ GetDataColumns();
+ if (xCursor.is())
+ xCursor->first();
+ return xCursor;
+}
+
+/*-- 17.11.99 12:51:38---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+rtl::OUString lcl_AddProperty(Reference< container::XNameAccess > xColumns,
+ const Mapping* pMapping, const String& rColumnName)
+{
+ String sColumnName(rColumnName);
+ if(pMapping)
+ {
+ for(sal_uInt16 nEntry = 0; nEntry < COLUMN_COUNT; nEntry++)
+ {
+ if(pMapping->aColumnPairs[nEntry].sLogicalColumnName == rColumnName)
+ {
+ sColumnName = pMapping->aColumnPairs[nEntry].sRealColumnName;
+ break;
+ }
+ }
+ }
+ rtl::OUString uColumnName(sColumnName);
+ rtl::OUString uRet;
+ Reference< sdb::XColumn > xCol;
+ if (xColumns->hasByName(uColumnName))
+ xCol = Reference< sdb::XColumn > (*(Reference< XInterface > *)xColumns->getByName(uColumnName).getValue(), UNO_QUERY);
+ if (xCol.is())
+ uRet = xCol->getString();
+ return uRet;
+}
+//-----------------------------------------------------------------------------
+Any BibliographyLoader::getByName(const rtl::OUString& rName) throw
+ ( container::NoSuchElementException, WrappedTargetException, RuntimeException )
+{
+ Any aRet;
+ try
+ {
+ BibDataManager* pDatMan = ((BibliographyLoader*)this)->GetDataManager();
+ Reference< XResultSet > xCursor = GetDataCursor();
+ Reference< sdbcx::XColumnsSupplier > xSupplyCols(xCursor, UNO_QUERY);
+ Reference< container::XNameAccess > xColumns;
+ if (!xSupplyCols.is())
+ return aRet;
+ xColumns = xSupplyCols->getColumns();
+ DBG_ASSERT(xSupplyCols.is(), "BibliographyLoader::getByName : invalid columns returned by the data cursor (may be the result set is not alive ?) !");
+ if (!xColumns.is())
+ return aRet;
+
+ String sIdentifierMapping = pDatMan->GetIdentifierMapping();
+ rtl::OUString sId = sIdentifierMapping;
+ Reference< sdb::XColumn > xColumn;
+ if (xColumns->hasByName(sId))
+ xColumn = Reference< sdb::XColumn > (*(Reference< XInterface > *)xColumns->getByName(sId).getValue(), UNO_QUERY);
+ if (xColumn.is())
+ {
+ do
+ {
+ if ((rName == xColumn->getString()) && !xColumn->wasNull())
+ {
+ Sequence aPropSequ(COLUMN_COUNT);
+ PropertyValue* pValues = aPropSequ.getArray();
+ String sTableName;
+ rtl::OUString aBibUrl = BibModul::GetBibliographyURL(&sTableName);
+ const Mapping* pMapping = pDatMan->GetMapping(sTableName, &aBibUrl);
+ for(sal_uInt16 nEntry = 0; nEntry < COLUMN_COUNT; nEntry++)
+ {
+ const String sColName = pDatMan->GetDefColumnName(
+ nEntry);
+ pValues[nEntry].Name = sColName;
+ pValues[nEntry].Value <<= lcl_AddProperty(xColumns, pMapping, sColName);
+ }
+ aRet.setValue(&aPropSequ, ::getCppuType((Sequence*)0));
+
+ break;
+ }
+ }
+ while(xCursor->next());
+ }
+ }
+ catch(...)
+ {
+ DBG_ERROR("Exception in BibliographyLoader::getByName")
+ }
+ return aRet;
+}
+/*-- 17.11.99 12:51:39---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+Sequence< rtl::OUString > BibliographyLoader::getElementNames(void) throw ( RuntimeException )
+{
+ Sequence< rtl::OUString > aRet(10);
+ int nRealNameCount = 0;
+ try
+ {
+ BibDataManager* pDatMan = ((BibliographyLoader*)this)->GetDataManager();
+
+ Reference< XResultSet > xCursor(GetDataCursor());
+ Reference< sdb::XColumn > xIdColumn(GetIdentifierColumn());
+ if (xIdColumn.is()) // implies xCursor.is()
+ {
+ do
+ {
+ rtl::OUString sTemp = xIdColumn->getString();
+ if (sTemp.len() && !xIdColumn->wasNull())
+ {
+ int nLen = aRet.getLength();
+ if (nLen = nRealNameCount)
+ aRet.realloc(nLen + 10);
+ rtl::OUString* pArray = aRet.getArray();
+ pArray[nRealNameCount] = sTemp;
+ nRealNameCount++;
+ }
+ }
+ while (xCursor->next());
+ }
+ }
+ catch(...)
+ {
+ DBG_ERROR("Exception in BibliographyLoader::getElementNames")
+ }
+
+ aRet.realloc(nRealNameCount);
+ return aRet;
+}
+/*-- 17.11.99 12:51:39---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+sal_Bool BibliographyLoader::hasByName(const rtl::OUString& rName) throw ( RuntimeException )
+{
+ sal_Bool bRet = sal_False;
+ try
+ {
+ BibDataManager* pDatMan = GetDataManager();
+ Reference< XResultSet > xCursor = GetDataCursor();
+ Reference< sdb::XColumn > xIdColumn = GetIdentifierColumn();
+
+ if (xIdColumn.is()) // implies xCursor.is()
+ {
+ do
+ {
+ rtl::OUString sCurrentId = xIdColumn->getString();
+ if (!xIdColumn->wasNull() && (rName.compareTo(sCurrentId) == COMPARE_EQUAL))
+ {
+ bRet = sal_True;
+ break;
+ }
+ }
+ while(xCursor->next());
+ }
+ }
+ catch(...)
+ {
+ DBG_ERROR("Exception in BibliographyLoader::getElementNames")
+ }
+ return bRet;
+}
+/*-- 17.11.99 12:51:39---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+Type BibliographyLoader::getElementType(void) throw ( RuntimeException )
+{
+ return ::getCppuType((Sequence*)0);
+}
+/*-- 17.11.99 12:51:40---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+sal_Bool BibliographyLoader::hasElements(void) throw ( RuntimeException )
+{
+ Reference< XResultSet > xCursor = GetDataCursor();
+ Reference< container::XNameAccess > xColumns = GetDataColumns();
+ return xColumns.is() && (xColumns->getElementNames().getLength() != 0);
+}
+
+/*-- 07.12.99 14:28:39---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+Reference< XPropertySetInfo > BibliographyLoader::getPropertySetInfo(void) throw
+ ( RuntimeException )
+{
+ static SfxItemPropertyMap aBibProps_Impl[] =
+ {
+ { MAP_CHAR_LEN("BibliographyDataFieldNames"), 0, &::getCppuType((Sequence*)0), PropertyAttribute::READONLY, 0},
+ {0,0,0,0}
+ };
+ static Reference< XPropertySetInfo > xRet =
+ SfxItemPropertySet(aBibProps_Impl).getPropertySetInfo();
+ return xRet;
+}
+/*-- 07.12.99 14:28:39---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+void BibliographyLoader::setPropertyValue(const rtl::OUString& PropertyName,
+ const Any& aValue)
+ throw( UnknownPropertyException, PropertyVetoException,
+ IllegalArgumentException, WrappedTargetException, RuntimeException)
+{
+ throw UnknownPropertyException();
+ //no changeable properties
+}
+/*-- 07.12.99 14:28:39---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+Any BibliographyLoader::getPropertyValue(const rtl::OUString& rPropertyName)
+ throw( UnknownPropertyException, WrappedTargetException, RuntimeException )
+{
+ Any aRet;
+ static const sal_uInt16 aInternalMapping[] =
+ {
+ IDENTIFIER_POS , // BibliographyDataField_IDENTIFIER
+ AUTHORITYTYPE_POS , // BibliographyDataField_BIBILIOGRAPHIC_TYPE
+ ADDRESS_POS , // BibliographyDataField_ADDRESS
+ ANNOTE_POS , // BibliographyDataField_ANNOTE
+ AUTHOR_POS , // BibliographyDataField_AUTHOR
+ BOOKTITLE_POS , // BibliographyDataField_BOOKTITLE
+ CHAPTER_POS , // BibliographyDataField_CHAPTER
+ EDITION_POS , // BibliographyDataField_EDITION
+ EDITOR_POS , // BibliographyDataField_EDITOR
+ HOWPUBLISHED_POS , // BibliographyDataField_HOWPUBLISHED
+ INSTITUTION_POS , // BibliographyDataField_INSTITUTION
+ JOURNAL_POS , // BibliographyDataField_JOURNAL
+ MONTH_POS , // BibliographyDataField_MONTH
+ NOTE_POS , // BibliographyDataField_NOTE
+ NUMBER_POS , // BibliographyDataField_NUMBER
+ ORGANIZATIONS_POS , // BibliographyDataField_ORGANIZATIONS
+ PAGES_POS , // BibliographyDataField_PAGES
+ PUBLISHER_POS , // BibliographyDataField_PUBLISHER
+ SCHOOL_POS , // BibliographyDataField_SCHOOL
+ SERIES_POS , // BibliographyDataField_SERIES
+ TITLE_POS , // BibliographyDataField_TITLE
+ REPORTTYPE_POS , // BibliographyDataField_REPORT_TYPE
+ VOLUME_POS , // BibliographyDataField_VOLUME
+ YEAR_POS , // BibliographyDataField_YEAR
+ URL_POS , // BibliographyDataField_URL
+ CUSTOM1_POS , // BibliographyDataField_CUSTOM1
+ CUSTOM2_POS , // BibliographyDataField_CUSTOM2
+ CUSTOM3_POS , // BibliographyDataField_CUSTOM3
+ CUSTOM4_POS , // BibliographyDataField_CUSTOM4
+ CUSTOM5_POS , // BibliographyDataField_CUSTOM5
+ ISBN_POS //BibliographyDataField_ISBN
+ };
+ if(C2U("BibliographyDataFieldNames") == rPropertyName)
+ {
+ Sequence aSeq(COLUMN_COUNT);
+ PropertyValue* pArray = aSeq.getArray();
+ BibDataManager* pDatMan = GetDataManager();
+ for(sal_uInt16 i = 0; i <= text::BibliographyDataField::ISBN ; i++)
+ {
+ pArray[i].Name = pDatMan->GetDefColumnName(aInternalMapping[i]);
+ pArray[i].Value <<= (sal_Int16) i;
+ }
+ aRet.setValue(&aSeq, ::getCppuType((Sequence*)0));
+ }
+ else
+ throw UnknownPropertyException();
+ return aRet;
+}
+/*-- 07.12.99 14:28:40---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+void BibliographyLoader::addPropertyChangeListener(
+ const rtl::OUString& PropertyName, const Reference< XPropertyChangeListener > & aListener)
+ throw( UnknownPropertyException, WrappedTargetException, RuntimeException )
+{
+ //no bound properties
+}
+/*-- 07.12.99 14:28:40---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+void BibliographyLoader::removePropertyChangeListener(
+ const rtl::OUString& PropertyName, const Reference< XPropertyChangeListener > & aListener)
+ throw( UnknownPropertyException, WrappedTargetException, RuntimeException )
+{
+ //no bound properties
+}
+/*-- 07.12.99 14:28:40---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+void BibliographyLoader::addVetoableChangeListener(
+ const rtl::OUString& PropertyName, const Reference< XVetoableChangeListener > & aListener)
+ throw( UnknownPropertyException, WrappedTargetException, RuntimeException )
+{
+ //no vetoable properties
+}
+/*-- 07.12.99 14:28:40---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+void BibliographyLoader::removeVetoableChangeListener(
+ const rtl::OUString& PropertyName, const Reference< XVetoableChangeListener > & aListener)
+ throw( UnknownPropertyException, WrappedTargetException, RuntimeException )
+{
+ //no vetoable properties
+}
+
+
+
diff --git a/extensions/source/bibliography/bibmod.cxx b/extensions/source/bibliography/bibmod.cxx
new file mode 100644
index 000000000000..97cf120a2cd2
--- /dev/null
+++ b/extensions/source/bibliography/bibmod.cxx
@@ -0,0 +1,409 @@
+/*************************************************************************
+ *
+ * $RCSfile: bibmod.cxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: hr $ $Date: 2000-09-18 16:16:44 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+
+#include
+#include
+#include
+#ifndef _URLOBJ_HXX
+#include
+#endif
+#ifndef SVTOOLS_URIHELPER_HXX
+#include
+#endif
+
+#ifndef _COM_SUN_STAR_CONTAINER_XNAMEACCESS_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_UTIL_XLOCALIZEDALIASES_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_LANG_XLOCALIZABLE_HPP_
+#include
+#endif
+
+#ifndef _TOOLS_DEBUG_HXX
+#include
+#endif
+
+#ifndef _UNOTOOLS_PROCESSFACTORY_HXX_
+#include
+#endif
+#include "bibmod.hxx"
+#include "bibresid.hxx"
+#include "registry.hxx"
+#include "datman.hxx"
+static PtrBibModul pBibModul=NULL;
+static nBibModulCount=0;
+
+#ifndef _UCBHELPER_CONTENT_HXX
+#include
+#endif
+
+using namespace ::rtl;
+using namespace ::com::sun::star;
+using namespace ::com::sun::star::uno;
+using namespace ::com::sun::star::util;
+using namespace ::com::sun::star::lang;
+using namespace ::com::sun::star::ucb;
+
+#define C2U(cChar) OUString::createFromAscii(cChar)
+#define C2S(cChar) String::CreateFromAscii(cChar)
+
+HdlBibModul OpenBibModul()
+{
+ if(pBibModul==NULL)
+ {
+ pBibModul=new BibModul();
+ }
+ nBibModulCount++;
+ return &pBibModul;
+}
+
+void CloseBibModul(HdlBibModul ppBibModul)
+{
+ nBibModulCount--;
+ if(nBibModulCount==0 && ppBibModul!=NULL)
+ {
+ delete pBibModul;
+ pBibModul=NULL;
+ }
+}
+
+/*PtrBibModul GetBibModul()
+{
+ return pBibModul;
+} */
+
+BibResId::BibResId( sal_uInt16 nId ) :
+ ResId( nId, pBibModul->GetResMgr() )
+{
+}
+
+BibModul::BibModul()
+{
+ pResMgr = ResMgr::CreateResMgr( "bib" MAKE_NUMSTR(SUPD) );
+ pRegistry = new BibRegistry();
+ xRegistry = pRegistry;
+}
+
+BibModul::~BibModul()
+{
+ delete pResMgr;
+ xRegistry = 0;
+ //delete pRegistry;
+}
+
+BibDataManager* BibModul::createDataManager()
+{
+ return new BibDataManager(pRegistry);
+}
+//-----------------------------------------------------------------------------
+String BibModul::GetBibliographyURL(String* pTableName)
+{
+ String aURL;
+ SfxAppIniManagerProperty aProp;
+ GetpApp()->Property( aProp );
+ SfxIniManager* pIniMan = aProp.GetIniManager();
+ if( !pIniMan )
+ return String();
+
+ String aBib = pIniMan->Get( C2S(BIBLIOGRAPHY_INI_GROUP),
+ sal_False, sal_False,
+ C2S(BIBLIOGRAPHY_INI_CUR_NAME));
+ sal_Bool bCorrect = sal_False;
+ if(aBib.Len())
+ {
+ aURL = aBib.GetToken( 0, ';' );
+ aURL = pIniMan->SubstPathVars( aURL );
+ aURL = URIHelper::SmartRelToAbs(aURL);
+
+ INetURLObject aTmpURL(aURL);
+ BOOL bExist = FALSE;
+ if(aTmpURL.GetProtocol() == INET_PROT_FILE)
+ try
+ {
+ bExist = ::ucb::Content(
+ aTmpURL.GetMainURL(), uno::Reference< XCommandEnvironment >()).isDocument();
+ }
+ catch(...){}
+
+ if(bExist)
+ {
+ bCorrect = sal_True;
+ if(pTableName)
+ *pTableName = aBib.GetToken( 1, ';' );
+ }
+ }
+ if(!bCorrect)
+ {
+ //if there's no entry defined take the first *.sdb from the database favorites
+ try
+ {
+ uno::Reference< lang::XMultiServiceFactory > xMgr = utl::getProcessServiceFactory();
+ uno::Reference< container::XNameAccess > xDatabaseContext(xMgr->createInstance(
+ C2U("com.sun.star.sdb.DatabaseAccessContext") ), UNO_QUERY );
+// uno::Sequence aFavorites;
+// if (xDatabaseContext.is())
+// aFavorites = xDatabaseContext->getElementNames();
+// if (aFavorites.getLength())
+// aURL = INetURLObject::SmartRelToAbs(U2S(aFavorites.getConstArray()[0]));
+ Reference xAlias(xDatabaseContext, UNO_QUERY);
+ Reference xLocal(xDatabaseContext, UNO_QUERY);
+ Sequence< AliasProgrammaticPair > aAliasPairs =
+ xAlias->listAliases(xLocal->getLocale());
+ const AliasProgrammaticPair* pPairs = aAliasPairs.getConstArray();
+ for(INT32 nFav = 0; nFav < aAliasPairs.getLength(); nFav++)
+ {
+ String sURL = pPairs[nFav].ProgrammaticName;
+ aURL = URIHelper::SmartRelToAbs(sURL);
+ INetURLObject aTmpURL(aURL);
+ BOOL bExist = FALSE;
+ if(aTmpURL.GetProtocol() == INET_PROT_FILE)
+ try
+ {
+ bExist = ::ucb::Content(
+ aTmpURL.GetMainURL(), uno::Reference< XCommandEnvironment >()).isDocument();
+ }
+ catch(...){}
+
+ if(bExist)
+ break;
+ else
+ aURL.Erase();
+ }
+
+ }
+ catch(...)
+ {
+ DBG_ERROR("Exception in BibDataManager::DBChangeDialog_Impl::DBChangeDialog_Impl")
+ }
+
+ }
+ return aURL;
+}
+//-----------------------------------------------------------------------------
+void BibModul::SetBibliographyURL(const String& rURL, const String& rTable)
+{
+ SfxAppIniManagerProperty aProp;
+ GetpApp()->Property( aProp );
+ SfxIniManager* pIniMan = aProp.GetIniManager();
+ if( !pIniMan )
+ return;
+
+ String sEntry(rURL);
+ sEntry = pIniMan->UsePathVars( sEntry );
+
+ sEntry += ';';
+ sEntry += rTable;
+
+ pIniMan->WriteKey( C2S(BIBLIOGRAPHY_INI_GROUP),
+ C2S(BIBLIOGRAPHY_INI_CUR_NAME), sEntry);
+}
+
+// PropertyNames
+#define STATIC_USTRING(a,b) rtl::OUString a(b)
+STATIC_USTRING(FM_PROP_LABEL,C2U("Label"));
+STATIC_USTRING(FM_PROP_CONTROLSOURCE,C2U("DataField"));
+STATIC_USTRING(FM_PROP_NAME,C2U("Name"));
+STATIC_USTRING(FM_PROP_FORMATKEY,C2U("FormatKey"));
+#ifdef TF_SDBAPI
+#else // !TF_SDBAPI
+STATIC_USTRING(FM_PROP_EDITMODE,C2U("RecordMode"));
+STATIC_USTRING(FM_PROP_CURSORSOURCETYPE,C2U("DataSelectionType"));
+STATIC_USTRING(FM_PROP_CURSORSOURCE,C2U("DataSelection"));
+STATIC_USTRING(FM_PROP_DATASOURCE, C2U("DataSource"));
+#endif // !TF_SDBAPI
+STATIC_USTRING(FM_PROP_VALUE,C2U("Value"));
+STATIC_USTRING(FM_PROP_TEXT,C2U("Text"));
+/*
+
+STATIC_USTRING(FM_PROP_TABINDEX,C2U("TabIndex"));
+STATIC_USTRING(FM_PROP_TAG,C2U("Tag"));
+STATIC_USTRING(FM_PROP_CLASSID,C2U("ClassId"));
+STATIC_USTRING(FM_PROP_RECORDCOUNT,C2U("RecordCount"));
+STATIC_USTRING(FM_PROP_RECORDSTATUS,C2U("RecordStatus"));
+STATIC_USTRING(FM_PROP_RECORDCOUNTFINAL,C2U("IsRecordCountFinal"));
+STATIC_USTRING(FM_PROP_CANINSERT,C2U("CanInsert"));
+STATIC_USTRING(FM_PROP_CANUPDATE,C2U("CanUpdate"));
+STATIC_USTRING(FM_PROP_CANDELETE,C2U("CanDelete"));
+STATIC_USTRING(FM_PROP_NAVIGATION,C2U("NavigationBarMode"));
+STATIC_USTRING(FM_PROP_HASNAVIGATION,C2U("HasNavigationBar"));
+STATIC_USTRING(FM_PROP_CYCLE,C2U("Cycle"));
+STATIC_USTRING(FM_PROP_ENABLED,C2U("Enabled"));
+STATIC_USTRING(FM_PROP_READONLY,C2U("ReadOnly"));
+STATIC_USTRING(FM_PROP_ISREADONLY,C2U("IsReadOnly"));
+STATIC_USTRING(FM_PROP_FILTER_CRITERIA,C2U("Filter"));
+STATIC_USTRING(FM_PROP_SORT_CRITERIA,C2U("SortOrder"));
+STATIC_USTRING(FM_PROP_ISREQUIRED,C2U("IsRequired"));
+STATIC_USTRING(FM_PROP_AUTOINCREMENT,C2U("IsAutoIncrement"));
+STATIC_USTRING(FM_PROP_CACHESIZE,C2U("CacheSize"));
+STATIC_USTRING(FM_PROP_DATAENTRY,C2U("DataEntry"));
+STATIC_USTRING(FM_PROP_LASTDIRTY,C2U("LastUpdated"));
+STATIC_USTRING(FM_PROP_STATEMENT,C2U("Statement"));
+STATIC_USTRING(FM_PROP_WIDTH,C2U("Width"));
+STATIC_USTRING(FM_PROP_SEARCHINFO,C2U("SearchInfo"));
+STATIC_USTRING(FM_PROP_MULTILINE,C2U("MultiLine"));
+STATIC_USTRING(FM_PROP_TARGET_URL,C2U("TargetURL"));
+STATIC_USTRING(FM_PROP_TARGET_FRAME,C2U("TargetFrame"));
+STATIC_USTRING(FM_PROP_DEFAULTCONTROL,C2U("DefaultControl"));
+STATIC_USTRING(FM_PROP_MAXTEXTLEN,C2U("MaxTextLen"));
+STATIC_USTRING(FM_PROP_EDITMASK,C2U("EditMask"));
+STATIC_USTRING(FM_PROP_SIZE,C2U("Size"));
+STATIC_USTRING(FM_PROP_SPIN,C2U("Spin"));
+STATIC_USTRING(FM_PROP_DATE,C2U("Date"));
+STATIC_USTRING(FM_PROP_TIME,C2U("Time"));
+STATIC_USTRING(FM_PROP_STATE,C2U("State"));
+STATIC_USTRING(FM_PROP_TRISTATE,C2U("TriState"));
+STATIC_USTRING(FM_PROP_HIDDEN_VALUE, C2U("HiddenValue"));
+STATIC_USTRING(FM_PROP_BUTTONTYPE,C2U("ButtonType"));
+STATIC_USTRING(FM_PROP_STRINGITEMLIST,C2U("StringItemList"));
+STATIC_USTRING(FM_PROP_DEFAULT_TEXT,C2U("DefaultText"));
+STATIC_USTRING(FM_PROP_DEFAULTCHECKED,C2U("DefaultState"));
+STATIC_USTRING(FM_PROP_FORMATSSUPPLIER,C2U("FormatsSupplier"));
+STATIC_USTRING(FM_PROP_SUBMIT_ACTION,C2U("SubmitAction"));
+STATIC_USTRING(FM_PROP_SUBMIT_TARGET,C2U("SubmitTarget"));
+STATIC_USTRING(FM_PROP_SUBMIT_METHOD,C2U("SubmitMethod"));
+STATIC_USTRING(FM_PROP_SUBMIT_ENCODING,C2U("SubmitEncoding"));
+STATIC_USTRING(FM_PROP_IMAGE_URL,C2U("ImageURL"));
+STATIC_USTRING(FM_PROP_EMPTY_IS_NULL,C2U("ConvertEmptyToNull"));
+STATIC_USTRING(FM_PROP_LISTSOURCETYPE,C2U("ListSourceType"));
+STATIC_USTRING(FM_PROP_LISTSOURCE,C2U("ListSource"));
+STATIC_USTRING(FM_PROP_SELECT_SEQ,C2U("SelectedItems"));
+STATIC_USTRING(FM_PROP_VALUE_SEQ,C2U("SelectedValues"));
+STATIC_USTRING(FM_PROP_DEFAULT_SELECT_SEQ,C2U("DefaultSelection"));
+STATIC_USTRING(FM_PROP_MULTISELECTION,C2U("MultiSelection"));
+STATIC_USTRING(FM_PROP_ALIGN,C2U("Align"));
+STATIC_USTRING(FM_PROP_DEFAULT_DATE,C2U("DefaultDate"));
+STATIC_USTRING(FM_PROP_DEFAULT_TIME,C2U("DefaultTime"));
+STATIC_USTRING(FM_PROP_DEFAULT_VALUE,C2U("DefaultValue"));
+STATIC_USTRING(FM_PROP_DECIMAL_ACCURACY,C2U("DecimalAccuracy"));
+STATIC_USTRING(FM_PROP_FIELDTYPE,C2U("Type"));
+STATIC_USTRING(FM_PROP_DECIMALS,C2U("Decimals"));
+STATIC_USTRING(FM_PROP_REFVALUE,C2U("RefValue"));
+STATIC_USTRING(FM_PROP_VALUEMIN,C2U("ValueMin"));
+STATIC_USTRING(FM_PROP_VALUEMAX,C2U("ValueMax"));
+STATIC_USTRING(FM_PROP_STRICTFORMAT,C2U("StrictFormat"));
+STATIC_USTRING(FM_PROP_ALLOWADDITIONS,C2U("AllowInserts"));
+STATIC_USTRING(FM_PROP_ALLOWEDITS,C2U("AllowUpdates"));
+STATIC_USTRING(FM_PROP_ALLOWDELETIONS,C2U("AllowDeletes"));
+STATIC_USTRING(FM_PROP_MASTERFIELDS,C2U("MasterFields"));
+STATIC_USTRING(FM_PROP_SLAVEFIELDS,C2U("SlaveFields"));
+STATIC_USTRING(FM_PROP_ISPASSTHROUGH,C2U("IsPassThrough"));
+STATIC_USTRING(FM_PROP_QUERY,C2U("Query"));
+STATIC_USTRING(FM_PROP_LITERALMASK,C2U("LiteralMask"));
+STATIC_USTRING(FM_PROP_VALUESTEP,C2U("ValueStep"));
+STATIC_USTRING(FM_PROP_SHOWTHOUSANDSEP,C2U("ShowThousandsSeparator"));
+STATIC_USTRING(FM_PROP_CURRENCYSYMBOL,C2U("CurrencySymbol"));
+STATIC_USTRING(FM_PROP_DATEFORMAT,C2U("DateFormat"));
+STATIC_USTRING(FM_PROP_DATEMIN,C2U("DateMin"));
+STATIC_USTRING(FM_PROP_DATEMAX,C2U("DateMax"));
+STATIC_USTRING(FM_PROP_DATE_SHOW_CENTURY,C2U("DateShowCentury"));
+STATIC_USTRING(FM_PROP_TIMEFORMAT, C2U("TimeFormat"));
+STATIC_USTRING(FM_PROP_TIMEMIN, C2U("TimeMin"));
+STATIC_USTRING(FM_PROP_TIMEMAX,C2U("TimeMax"));
+STATIC_USTRING(FM_PROP_LINECOUNT,C2U("LineCount"));
+STATIC_USTRING(FM_PROP_BOUNDCOLUMN, C2U("BoundColumn"));
+STATIC_USTRING(FM_PROP_FONT,C2U("FontDescriptor"));
+STATIC_USTRING(FM_PROP_BACKGROUNDCOLOR,C2U("BackgroundColor"));
+STATIC_USTRING(FM_PROP_FILLCOLOR,C2U("FillColor"));
+STATIC_USTRING(FM_PROP_TEXTCOLOR,C2U("TextColor"));
+STATIC_USTRING(FM_PROP_LINECOLOR,C2U("LineColor"));
+STATIC_USTRING(FM_PROP_BORDER,C2U("Border"));
+STATIC_USTRING(FM_PROP_DROPDOWN,C2U("Dropdown"));
+STATIC_USTRING(FM_PROP_MULTI,C2U("Multi"));
+STATIC_USTRING(FM_PROP_HSCROLL,C2U("HScroll"));
+STATIC_USTRING(FM_PROP_VSCROLL,C2U("VScroll"));
+STATIC_USTRING(FM_PROP_TABSTOP,C2U("Tabstop"));
+STATIC_USTRING(FM_PROP_AUTOCOMPLETE,C2U("Autocomplete"));
+STATIC_USTRING(FM_PROP_HARDLINEBREAKS,C2U("HardLineBreaks"));
+STATIC_USTRING(FM_PROP_PRINTABLE,C2U("Printable"));
+STATIC_USTRING(FM_PROP_ECHO_CHAR,C2U("EchoChar"));
+STATIC_USTRING(FM_PROP_ROWHEIGHT,C2U("RowHeight"));
+STATIC_USTRING(FM_PROP_HELPTEXT, C2U("HelpText"));
+STATIC_USTRING(FM_PROP_FONT_NAME, C2U("FontName"));
+STATIC_USTRING(FM_PROP_FONT_STYLENAME, C2U("FontStyleName"));
+STATIC_USTRING(FM_PROP_FONT_FAMILY, C2U("FontFamily"));
+STATIC_USTRING(FM_PROP_FONT_CHARSET, C2U("FontCharset"));
+STATIC_USTRING(FM_PROP_FONT_HEIGHT, C2U("FontHeight"));
+STATIC_USTRING(FM_PROP_FONT_WEIGHT, C2U("FontWeight"));
+STATIC_USTRING(FM_PROP_FONT_SLANT, C2U("FontSlant"));
+STATIC_USTRING(FM_PROP_FONT_UNDERLINE, C2U("FontUnderline"));
+STATIC_USTRING(FM_PROP_FONT_STRIKEOUT, C2U("FontStrikeout"));
+STATIC_USTRING(FM_PROP_HELPURL, C2U("HelpURL"));
+STATIC_USTRING(FM_PROP_RECORDMARKER, C2U("HasRecordMarker"));
+STATIC_USTRING(FM_PROP_BOUNDFIELD, C2U("BoundField"));
+STATIC_USTRING(FM_PROP_TREATASNUMERIC, C2U("TreatAsNumber"));
+STATIC_USTRING(FM_PROP_EFFECTIVE_VALUE, C2U("EffectiveValue"));
+STATIC_USTRING(FM_PROP_EFFECTIVE_DEFAULT, C2U("EffectiveDefault"));
+STATIC_USTRING(FM_PROP_EFFECTIVE_MIN, C2U("EffectiveMin"));
+STATIC_USTRING(FM_PROP_EFFECTIVE_MAX, C2U("EffectiveMax"));
+STATIC_USTRING(FM_PROP_HIDDEN, C2U("Hidden"));
+STATIC_USTRING(FM_PROP_FILTERPROPOSAL, C2U("useFilterValueProposal"));
+STATIC_USTRING(FM_PROP_FIELDSOURCE, C2U("FieldSource"));
+STATIC_USTRING(FM_PROP_TABLENAME, C2U("TableName"));
+STATIC_USTRING(FM_PROP_FILTERSUPPLIER, C2U("FilterSupplier"));
+STATIC_USTRING(FM_PROP_CURRENTFILTER, C2U("CurrentFilter"));
+STATIC_USTRING(FM_PROP_SELECTED_FIELDS, C2U("SelectedFields"));
+STATIC_USTRING(FM_PROP_SELECTED_TABLES, C2U("SelectedTables"));
+STATIC_USTRING(FM_PROP_THREADSAFE, C2U("ThreadSafe"));
+*/
+
diff --git a/extensions/source/bibliography/bibmod.hxx b/extensions/source/bibliography/bibmod.hxx
new file mode 100644
index 000000000000..306ede67bb3b
--- /dev/null
+++ b/extensions/source/bibliography/bibmod.hxx
@@ -0,0 +1,113 @@
+/*************************************************************************
+ *
+ * $RCSfile: bibmod.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: hr $ $Date: 2000-09-18 16:16:44 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ADDRMOD_HXX
+#define ADDRMOD_HXX
+
+
+#ifndef _COM_SUN_STAR_REGISTRY_MERGECONFLICTEXCEPTION_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_REGISTRY_XSIMPLEREGISTRY_HPP_
+#include
+#endif
+
+class ResMgr;
+class BibDataManager;
+class BibRegistry;
+
+#define BIBLIOGRAPHY_INI_GROUP "Bibliography"
+#define BIBLIOGRAPHY_INI_CUR_NAME "BibliographyCurrent"
+#define BIBLIOGRAPHY_INI_DB_ENTRY "Bibliography"
+#define BIBLIOGRAPHY_INI_MAPPING "BibliographyFields"
+#define BIBLIOGRAPHY_TYPE_NAMES "BibliographyTypeNames"
+
+class BibModul
+{
+ private:
+ ResMgr* pResMgr;
+ BibRegistry* pRegistry;
+ ::com::sun::star::uno::Reference< ::com::sun::star::registry::XSimpleRegistry > xRegistry;
+
+ public:
+ BibModul();
+ ~BibModul();
+
+ ResMgr* GetResMgr(){return pResMgr;}
+
+ static String GetBibliographyURL(String* pTableName);
+ static void SetBibliographyURL(const String& rURL, const String& rTable);
+
+ BibDataManager* createDataManager();
+
+};
+
+typedef BibModul* PtrBibModul;
+typedef PtrBibModul* HdlBibModul;
+
+HdlBibModul OpenBibModul();
+void CloseBibModul(HdlBibModul ppBibModul);
+
+//PtrBibModul GetBibModul();
+
+
+
+#endif
diff --git a/extensions/source/bibliography/bibprop.hrc b/extensions/source/bibliography/bibprop.hrc
new file mode 100644
index 000000000000..8d6919bd5b0a
--- /dev/null
+++ b/extensions/source/bibliography/bibprop.hrc
@@ -0,0 +1,211 @@
+/*************************************************************************
+ *
+ * $RCSfile: bibprop.hrc,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: hr $ $Date: 2000-09-18 16:16:44 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+#ifndef _BIB_FMPROP_HRC
+#define _BIB_FMPROP_HRC
+
+extern rtl::OUString FM_PROP_LABEL;
+extern rtl::OUString FM_PROP_NAME;
+extern rtl::OUString FM_PROP_CONTROLSOURCE;
+extern rtl::OUString FM_PROP_FORMATKEY;
+extern rtl::OUString FM_PROP_VALUE;
+#ifdef TF_SDBAPI
+#else // !TF_SDBAPI
+extern rtl::OUString FM_PROP_EDITMODE;
+extern rtl::OUString FM_PROP_DATASOURCE;
+extern rtl::OUString FM_PROP_CURSORSOURCE;
+extern rtl::OUString FM_PROP_CURSORSOURCETYPE;
+#endif // !TF_SDBAPI
+extern rtl::OUString FM_PROP_TEXT;
+/*
+extern rtl::OUString FM_PROP_TAG;
+extern rtl::OUString FM_PROP_TABINDEX;
+extern rtl::OUString FM_PROP_CLASSID;
+extern rtl::OUString FM_PROP_ALIGN;
+extern rtl::OUString FM_PROP_RECORDCOUNT;
+extern rtl::OUString FM_PROP_RECORDSTATUS;
+extern rtl::OUString FM_PROP_RECORDCOUNTFINAL;
+extern rtl::OUString FM_PROP_VALUEMIN;
+extern rtl::OUString FM_PROP_VALUEMAX;
+extern rtl::OUString FM_PROP_VALUESTEP;
+extern rtl::OUString FM_PROP_CANINSERT;
+extern rtl::OUString FM_PROP_CANUPDATE;
+extern rtl::OUString FM_PROP_CANDELETE;
+extern rtl::OUString FM_PROP_NAVIGATION;
+extern rtl::OUString FM_PROP_CYCLE;
+extern rtl::OUString FM_PROP_ENABLED;
+extern rtl::OUString FM_PROP_SPIN;
+extern rtl::OUString FM_PROP_READONLY;
+extern rtl::OUString FM_PROP_FILTER_CRITERIA;
+extern rtl::OUString FM_PROP_SORT_CRITERIA;
+extern rtl::OUString FM_PROP_AUTOINCREMENT;
+extern rtl::OUString FM_PROP_CACHESIZE;
+extern rtl::OUString FM_PROP_DATAENTRY;
+extern rtl::OUString FM_PROP_LASTDIRTY;
+extern rtl::OUString FM_PROP_STATEMENT;
+extern rtl::OUString FM_PROP_WIDTH;
+extern rtl::OUString FM_PROP_SEARCHINFO;
+extern rtl::OUString FM_PROP_MULTILINE;
+extern rtl::OUString FM_PROP_TARGET_URL;
+extern rtl::OUString FM_PROP_DEFAULTCONTROL;
+extern rtl::OUString FM_PROP_MAXTEXTLEN;
+extern rtl::OUString FM_PROP_SIZE;
+extern rtl::OUString FM_PROP_DATE;
+extern rtl::OUString FM_PROP_TIME;
+extern rtl::OUString FM_PROP_STATE;
+extern rtl::OUString FM_PROP_TRISTATE;
+extern rtl::OUString FM_PROP_HIDDEN_VALUE;
+extern rtl::OUString FM_PROP_TARGET_FRAME;
+extern rtl::OUString FM_PROP_BUTTONTYPE;
+extern rtl::OUString FM_PROP_STRINGITEMLIST;
+extern rtl::OUString FM_PROP_DEFAULT_TEXT;
+extern rtl::OUString FM_PROP_DEFAULTCHECKED;
+extern rtl::OUString FM_PROP_DEFAULT_DATE;
+extern rtl::OUString FM_PROP_DEFAULT_TIME;
+extern rtl::OUString FM_PROP_DEFAULT_VALUE;
+extern rtl::OUString FM_PROP_FORMATSSUPPLIER;
+extern rtl::OUString FM_PROP_SUBMIT_ACTION;
+extern rtl::OUString FM_PROP_SUBMIT_TARGET;
+extern rtl::OUString FM_PROP_SUBMIT_METHOD;
+extern rtl::OUString FM_PROP_SUBMIT_ENCODING;
+extern rtl::OUString FM_PROP_IMAGE_URL;
+extern rtl::OUString FM_PROP_EMPTY_IS_NULL;
+extern rtl::OUString FM_PROP_LISTSOURCETYPE;
+extern rtl::OUString FM_PROP_LISTSOURCE;
+extern rtl::OUString FM_PROP_SELECT_SEQ;
+extern rtl::OUString FM_PROP_VALUE_SEQ;
+extern rtl::OUString FM_PROP_DEFAULT_SELECT_SEQ;
+extern rtl::OUString FM_PROP_MULTISELECTION;
+extern rtl::OUString FM_PROP_DECIMAL_ACCURACY;
+extern rtl::OUString FM_PROP_EDITMASK;
+extern rtl::OUString FM_PROP_ISREADONLY;
+extern rtl::OUString FM_PROP_ISREQUIRED;
+extern rtl::OUString FM_PROP_FIELDTYPE;
+extern rtl::OUString FM_PROP_DECIMALS;
+extern rtl::OUString FM_PROP_REFVALUE;
+extern rtl::OUString FM_PROP_STRICTFORMAT;
+extern rtl::OUString FM_PROP_ALLOWADDITIONS;
+extern rtl::OUString FM_PROP_ALLOWEDITS;
+extern rtl::OUString FM_PROP_ALLOWDELETIONS;
+extern rtl::OUString FM_PROP_MASTERFIELDS;
+extern rtl::OUString FM_PROP_SLAVEFIELDS;
+extern rtl::OUString FM_PROP_ISPASSTHROUGH;
+extern rtl::OUString FM_PROP_QUERY;
+extern rtl::OUString FM_PROP_LITERALMASK;
+extern rtl::OUString FM_PROP_SHOWTHOUSANDSEP;
+extern rtl::OUString FM_PROP_CURRENCYSYMBOL;
+extern rtl::OUString FM_PROP_DATEFORMAT;
+extern rtl::OUString FM_PROP_DATEMIN;
+extern rtl::OUString FM_PROP_DATEMAX;
+extern rtl::OUString FM_PROP_DATE_SHOW_CENTURY;
+extern rtl::OUString FM_PROP_TIMEFORMAT;
+extern rtl::OUString FM_PROP_TIMEMIN;
+extern rtl::OUString FM_PROP_TIMEMAX;
+extern rtl::OUString FM_PROP_LINECOUNT;
+extern rtl::OUString FM_PROP_BOUNDCOLUMN;
+extern rtl::OUString FM_PROP_HASNAVIGATION;
+extern rtl::OUString FM_PROP_FONT;
+extern rtl::OUString FM_PROP_BACKGROUNDCOLOR;
+extern rtl::OUString FM_PROP_FILLCOLOR;
+extern rtl::OUString FM_PROP_TEXTCOLOR;
+extern rtl::OUString FM_PROP_LINECOLOR;
+extern rtl::OUString FM_PROP_BORDER;
+extern rtl::OUString FM_PROP_DROPDOWN;
+extern rtl::OUString FM_PROP_MULTI;
+extern rtl::OUString FM_PROP_HSCROLL;
+extern rtl::OUString FM_PROP_VSCROLL;
+extern rtl::OUString FM_PROP_TABSTOP;
+extern rtl::OUString FM_PROP_AUTOCOMPLETE;
+extern rtl::OUString FM_PROP_HARDLINEBREAKS;
+extern rtl::OUString FM_PROP_PRINTABLE;
+extern rtl::OUString FM_PROP_ECHO_CHAR;
+extern rtl::OUString FM_PROP_ROWHEIGHT;
+extern rtl::OUString FM_PROP_HELPTEXT;
+extern rtl::OUString FM_PROP_FONT_NAME;
+extern rtl::OUString FM_PROP_FONT_STYLENAME;
+extern rtl::OUString FM_PROP_FONT_FAMILY;
+extern rtl::OUString FM_PROP_FONT_CHARSET;
+extern rtl::OUString FM_PROP_FONT_HEIGHT;
+extern rtl::OUString FM_PROP_FONT_WEIGHT;
+extern rtl::OUString FM_PROP_FONT_SLANT;
+extern rtl::OUString FM_PROP_FONT_UNDERLINE;
+extern rtl::OUString FM_PROP_FONT_STRIKEOUT;
+extern rtl::OUString FM_PROP_HELPURL;
+extern rtl::OUString FM_PROP_RECORDMARKER;
+extern rtl::OUString FM_PROP_BOUNDFIELD;
+extern rtl::OUString FM_PROP_TREATASNUMERIC;
+extern rtl::OUString FM_PROP_EFFECTIVE_VALUE;
+extern rtl::OUString FM_PROP_EFFECTIVE_DEFAULT;
+extern rtl::OUString FM_PROP_EFFECTIVE_MIN;
+extern rtl::OUString FM_PROP_EFFECTIVE_MAX;
+extern rtl::OUString FM_PROP_HIDDEN;
+extern rtl::OUString FM_PROP_FILTERPROPOSAL;
+extern rtl::OUString FM_PROP_FIELDSOURCE;
+extern rtl::OUString FM_PROP_TABLENAME;
+extern rtl::OUString FM_PROP_FILTERSUPPLIER;
+extern rtl::OUString FM_PROP_CURRENTFILTER;
+extern rtl::OUString FM_PROP_SELECTED_FIELDS;
+extern rtl::OUString FM_PROP_SELECTED_TABLES;
+extern rtl::OUString FM_PROP_THREADSAFE;
+*/
+
+
+#endif // _SVX_FMPROP_HRC
+
diff --git a/extensions/source/bibliography/bibresid.hxx b/extensions/source/bibliography/bibresid.hxx
new file mode 100644
index 000000000000..53bd3756f6e7
--- /dev/null
+++ b/extensions/source/bibliography/bibresid.hxx
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * $RCSfile: bibresid.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: hr $ $Date: 2000-09-18 16:16:44 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ADRRESID_HXX
+#define ADRRESID_HXX
+
+#ifndef _TOOLS_RESID_HXX //autogen
+#include
+#endif
+
+//===================================================================
+
+class BibResId : public ResId
+{
+ public:
+ BibResId( USHORT nId );
+};
+
+
+
+#endif // ADRRESID_HXX
+
diff --git a/extensions/source/bibliography/bibview.cxx b/extensions/source/bibliography/bibview.cxx
new file mode 100644
index 000000000000..c2f551d5d258
--- /dev/null
+++ b/extensions/source/bibliography/bibview.cxx
@@ -0,0 +1,193 @@
+/*************************************************************************
+ *
+ * $RCSfile: bibview.cxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: hr $ $Date: 2000-09-18 16:16:44 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#include "bib.hrc"
+#include "bibcont.hxx"
+#include "bibbeam.hxx"
+#include "bibmod.hxx"
+#include "general.hxx"
+#include "bibview.hxx"
+#include "datman.hxx"
+#include "bibresid.hxx"
+#include "bibmod.hxx"
+#include "sections.hrc"
+#include "viewsect.hxx"
+
+
+#ifndef _SV_SVAPP_HXX
+#include
+#endif
+#ifndef _COM_SUN_STAR_SDBC_XRESULTSETUPDATE_HPP_
+#include
+#endif
+#ifndef _SV_MSGBOX_HXX
+#include
+#endif
+
+#ifndef _TOOLS_DEBUG_HXX //autogen wg. DBG_ASSERT
+#include
+#endif
+
+#define DEFAULT_SIZE 500
+using namespace ::com::sun::star;
+using namespace ::com::sun::star::form;
+using namespace ::com::sun::star::beans;
+using namespace ::com::sun::star::uno;
+using namespace ::rtl;
+#define C2U(cChar) OUString::createFromAscii(cChar)
+
+rtl::OUString gSectionSizes(C2U("TheSectionSizes"));
+rtl::OUString gSectionNames(C2U("TheSectionNames"));
+rtl::OUString gSectionExpander(C2U("TheSectionExpander"));
+rtl::OUString gSectionPos(C2U("TheSectionPosition"));
+// -----------------------------------------------------------------------
+BibView::BibView(Window* pParent, BibDataManager* pDM, WinBits nStyle):
+ Window(pParent,nStyle),
+ pDatMan(pDM),
+ xDatMan(pDM),
+ pGeneralPage(NULL),
+ nDefNameCount(0)
+{
+ String aDefName(BibResId(RID_BIB_STR_SECTION));
+ aDefaultName=aDefName;
+ UpdatePages();
+}
+
+BibView::~BibView()
+{
+ pGeneralPage->CommitActiveControl();
+ uno::Reference< XForm > xForm = pDatMan->getDatabaseForm();
+ uno::Reference< XPropertySet > xPrSet(xForm, UNO_QUERY);
+ if(xPrSet.is())
+ {
+ uno::Any aProp = xPrSet->getPropertyValue(C2U("IsModified"));
+ if(*(sal_Bool*)aProp.getValue())
+ {
+ uno::Any aNew = xPrSet->getPropertyValue(C2U("IsNew"));
+ uno::Reference< sdbc::XResultSetUpdate > xResUpd(xForm, UNO_QUERY);
+ if(*(sal_Bool*)aNew.getValue())
+ xResUpd->insertRow();
+ else
+ xResUpd->updateRow();
+ }
+ }
+ //delete pGeneralPage;
+ pGeneralPage->RemoveListeners();
+ xGeneralPage = 0;
+
+}
+/* -----------------16.11.99 13:13-------------------
+
+ --------------------------------------------------*/
+void BibView::UpdatePages()
+{
+ BOOL bResize = FALSE;
+ if(pGeneralPage)
+ {
+ bResize = TRUE;
+ pGeneralPage->Hide();
+// delete pGeneralPage;
+ pGeneralPage->RemoveListeners();
+ xGeneralPage = 0;
+ }
+// pGeneralPage = new BibGeneralPage(this, pDatMan);
+ xGeneralPage = pGeneralPage = new BibGeneralPage(this, pDatMan);
+ if(bResize)
+ Resize();
+ String sErrorString(pGeneralPage->GetErrorString());
+ if(sErrorString.Len())
+ {
+ sErrorString += '\n';
+ sErrorString += String(BibResId(RID_MAP_QUESTION));
+ QueryBox aQuery( this, WB_YES_NO, sErrorString );
+ if(RET_YES == aQuery.Execute())
+ {
+ Application::PostUserEvent( STATIC_LINK(
+ this, BibView, CallMappingHdl ) );
+
+ }
+ }
+
+}
+/* -----------------------------02.02.00 16:49--------------------------------
+
+ ---------------------------------------------------------------------------*/
+IMPL_STATIC_LINK(BibView, CallMappingHdl, BibView*, EMPTYARG)
+{
+ pThis->pDatMan->CreateMappingDialog(pThis);
+ return 0;
+}
+/* -----------------------------13.04.00 16:12--------------------------------
+
+ ---------------------------------------------------------------------------*/
+void BibView::Resize()
+{
+ if(pGeneralPage)
+ {
+ Size aSz(GetOutputSizePixel());
+ pGeneralPage->SetSizePixel(aSz);
+ }
+ Window::Resize();
+}
+
+
+
+
diff --git a/extensions/source/bibliography/bibview.hxx b/extensions/source/bibliography/bibview.hxx
new file mode 100644
index 000000000000..5b39ae096733
--- /dev/null
+++ b/extensions/source/bibliography/bibview.hxx
@@ -0,0 +1,112 @@
+/*************************************************************************
+ *
+ * $RCSfile: bibview.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: hr $ $Date: 2000-09-18 16:16:44 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+#ifndef _BIB_VIEW_HXX
+#define _BIB_VIEW_HXX
+
+#ifndef _COM_SUN_STAR_BEANS_XPROPERTYSET_HPP_
+#include
+#endif
+
+#ifndef _SV_SECTION_HXX
+#include
+#endif
+
+#ifndef _SV_SECTCTR_HXX
+#include
+#endif
+
+class BibGeneralPage;
+class BibBusinessAddress;
+class BibBusinessPhone;
+class BibDataManager;
+
+namespace com{ namespace sun{ namespace star{ namespace awt{ class XFocusListener;}}}}
+// -----------------------------------------------------------------------
+class BibView: public Window//SvSectionControl
+{
+private:
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > xViewSet;
+ BibDataManager* pDatMan;
+ ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener > xDatMan;
+ ::com::sun::star::uno::Reference< ::com::sun::star::awt::XFocusListener> xGeneralPage;
+ BibGeneralPage* pGeneralPage;
+ rtl::OUString aDefaultName;
+ sal_Int32 nDefNameCount;
+
+protected:
+
+// void InitPages();
+protected:
+ virtual void Resize();
+
+ DECL_STATIC_LINK(BibView, CallMappingHdl, BibView*);
+
+public:
+ BibView(Window* pParent,BibDataManager* pDatMan,WinBits nStyle=0);
+ ~BibView();
+
+ void UpdatePages();
+};
+
+#endif
+
+
diff --git a/extensions/source/bibliography/datman.cxx b/extensions/source/bibliography/datman.cxx
new file mode 100644
index 000000000000..662881852b56
--- /dev/null
+++ b/extensions/source/bibliography/datman.cxx
@@ -0,0 +1,2127 @@
+/*************************************************************************
+ *
+ * $RCSfile: datman.cxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: hr $ $Date: 2000-09-18 16:16:44 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef _OSL_MUTEX_HXX_
+#include
+#endif
+#ifndef _URLOBJ_HXX
+#include
+#endif
+#ifndef _UNOTOOLS_PROCESSFACTORY_HXX_
+#include
+#endif
+#ifndef _COM_SUN_STAR_IO_XPERSISTOBJECT_HPP_
+#include
+#endif
+
+#ifndef _COM_SUN_STAR_SDBC_RESULTSETTYPE_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_SDBC_RESULTSETCONCURRENCY_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_SDBC_XRESULTSETUPDATE_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_SDBCX_XROWLOCATE_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_SDBC_DATATYPE_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_SDB_XSQLQUERYCOMPOSERFACTORY_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_SDBC_XDATABASEMETADATA_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_SDB_XDATABASEENVIRONMENT_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_UNO_XNAMINGSERVICE_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_SDBC_XDATASOURCE_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_SDB_COMMANDTYPE_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_SDBCX_XTABLESSUPPLIER_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_SDBC_XCONNECTION_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_DATA_XDATABASEFAVORITES_HPP_
+#include // TODO : this is obsolete ....
+#endif
+#ifndef _COM_SUN_STAR_FORM_XLOADABLE_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_SDBCX_XCOLUMNSSUPPLIER_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_FORM_XGRIDCOLUMNFACTORY_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_IO_XDATAINPUTSTREAM_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_CONTAINER_XNAMECONTAINER_HPP_
+#include
+#endif
+
+#ifndef _COM_SUN_STAR_UCB_XCONTENTPROVIDER_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_UCB_XCONTENTACCESS_HPP_
+#include
+#endif
+#ifndef _UCBHELPER_CONTENTBROKER_HXX
+#include
+#endif
+#ifndef _UCBHELPER_CONTENT_HXX
+#include
+#endif
+#ifndef _UCBHELPER_CONTENTIDENTIFIER_HXX
+#include
+#endif
+
+#ifndef SVTOOLS_URIHELPER_HXX
+#include
+#endif
+#include
+#include
+#ifndef _SVTABBX_HXX
+#include
+#endif
+#ifndef _HEADBAR_HXX
+#include
+#endif
+#ifndef _SVARRAY_HXX
+#include
+#endif
+#ifndef _SV_DIALOG_HXX
+#include
+#endif
+#ifndef _SV_BUTTON_HXX
+#include
+#endif
+#ifndef _SV_LSTBOX_HXX
+#include
+#endif
+#ifndef _SV_FIXED_HXX
+#include
+#endif
+#ifndef _SV_GROUP_HXX
+#include
+#endif
+#ifndef _SV_LSTBOX_HXX //autogen wg. form::component::ListBox
+#include
+#endif
+#ifndef _SV_EDIT_HXX //autogen wg. Edit
+#include
+#endif
+#ifndef _SV_MSGBOX_HXX
+#include
+#endif
+
+#ifndef _TOOLS_DEBUG_HXX //autogen wg. DBG_ASSERT
+#include
+#endif
+
+#ifndef _BIB_DATMAN_HXX
+#include "datman.hxx"
+#endif
+#ifndef ADRRESID_HXX
+#include "bibresid.hxx"
+#endif
+#ifndef ADDRMOD_HXX
+#include "bibmod.hxx"
+#endif
+#ifndef _BIB_VIEW_HXX
+#include "bibview.hxx"
+#endif
+#ifndef _BIB_REGISTRY_HXX
+#include "registry.hxx"
+#endif
+#ifndef _BIB_FMPROP_HRC
+#include "bibprop.hrc"
+#endif
+#ifndef _BIB_TOOLBAR_HXX
+#include "toolbar.hxx"
+#endif
+#ifndef ADRBEAM_HXX
+#include "bibbeam.hxx"
+#endif
+#ifndef BIB_HRC
+#include "bib.hrc"
+#endif
+#include "datman.hrc"
+#ifndef __EXTENSIONS_INC_EXTENSIO_HRC__
+#include "extensio.hrc"
+#endif
+
+using namespace ::com::sun::star;
+using namespace ::com::sun::star::beans;
+using namespace ::com::sun::star::container;
+using namespace ::com::sun::star::uno;
+using namespace ::com::sun::star::sdb;
+using namespace ::com::sun::star::sdbc;
+using namespace ::com::sun::star::form;
+using namespace ::com::sun::star::frame;
+using namespace ::com::sun::star::ucb;
+using namespace ::rtl;
+using namespace ::ucb;
+
+#define C2U(cChar) OUString::createFromAscii(cChar)
+#define C2S(cChar) String::CreateFromAscii(cChar)
+#define MAP_TOKEN ';'
+#define PAIR_TOKEN ':'
+
+/* -----------------11.11.99 14:34-------------------
+
+ --------------------------------------------------*/
+typedef Mapping* MappingPtr;
+SV_DECL_PTRARR_DEL(MappingArray, MappingPtr, 2, 2);
+SV_IMPL_PTRARR(MappingArray, MappingPtr);
+
+/* -----------------------------15.06.00 16:12--------------------------------
+
+ ---------------------------------------------------------------------------*/
+BOOL lcl_IsCaseSensitive(const String& rPathURL)
+{
+ BOOL bCaseSensitive = FALSE;
+#ifdef DBG_UTIL
+ static BOOL bFirstCall = TRUE;
+ if(bFirstCall)
+ {
+ DBG_ERROR("No case checking due to #76253#")
+ bFirstCall = FALSE;
+ }
+#endif
+/* Reference< lang::XMultiServiceFactory > xMSF = utl::getProcessServiceFactory();
+ INetURLObject aTempObj(rPathURL);
+ try
+ {
+ aTempObj.SetBase(aTempObj.GetBase().ToLowerAscii());
+ Reference xRef1 = new ::ucb::ContentIdentifier( xMSF, aTempObj.GetMainURL());
+ aTempObj.SetBase(aTempObj.GetBase().ToUpperAscii());
+ Reference xRef2 = new ::ucb::ContentIdentifier( xMSF, aTempObj.GetMainURL());
+
+ ContentBroker& rBroker = *ContentBroker::get();
+ Reference xProv = rBroker.getContentProviderInterface();
+ sal_Int32 nCompare = xProv->compareContentIds( xRef1, xRef2 );
+ bCaseSensitive = nCompare != 0;
+ }
+ catch(...){}
+*/ return bCaseSensitive;
+}
+/* -----------------17.01.00 14:38-------------------
+
+ --------------------------------------------------*/
+uno::Reference< sdbc::XConnection > getConnection(const rtl::OUString& _rURL)
+{
+ // first get the sdb::DataSource corresponding to the url
+ uno::Reference< sdbc::XDataSource > xDataSource;
+ // is it a favorite title ?
+ uno::Reference< lang::XMultiServiceFactory > xMgr = utl::getProcessServiceFactory();
+ uno::Reference< XNameAccess > xNamingContext(xMgr->createInstance(C2U("com.sun.star.sdb.DatabaseAccessContext")), UNO_QUERY);
+ if (xNamingContext.is() && xNamingContext->hasByName(_rURL))
+ {
+ DBG_ASSERT(uno::Reference< XNamingService > (xNamingContext, UNO_QUERY).is(), "::getDataSource : no uno::NamingService interface on the sdb::DatabaseAccessContext !");
+ xDataSource = uno::Reference< sdbc::XDataSource > (uno::Reference< XNamingService > (xNamingContext, UNO_QUERY)->getRegisteredObject(_rURL), UNO_QUERY);
+ }
+ if (!xDataSource.is())
+ {
+ // is it a file url ?
+ uno::Reference< XDatabaseEnvironment > xEnvironment(xMgr->createInstance(C2U("com.sun.star.sdb.DatabaseEnvironment")), UNO_QUERY);
+ if (xEnvironment.is())
+ {
+ try
+ {
+ xDataSource = uno::Reference< sdbc::XDataSource > (xEnvironment->getDatabaseAccess(_rURL), UNO_QUERY);
+ }
+ catch(sdbc::SQLException&)
+ {
+ xDataSource = NULL;
+ // TODO : a real error handling
+ }
+ catch(...)
+ {
+ xDataSource = NULL;
+ }
+ }
+ }
+
+ // build the connection from the data source
+ uno::Reference< sdbc::XConnection > xConn;
+ if (xDataSource.is())
+ {
+ // need user/pwd for this
+ rtl::OUString sUser, sPwd;
+ uno::Reference< XPropertySet > xDataSourceProps(xDataSource, UNO_QUERY);
+ uno::Reference< XPropertySetInfo > xInfo = xDataSourceProps.is() ? xDataSourceProps->getPropertySetInfo() : uno::Reference< XPropertySetInfo > ();
+ if (xInfo.is() && xInfo->hasPropertyByName(C2U("User")))
+ xDataSourceProps->getPropertyValue(C2U("User")) >>= sUser;
+ if (xInfo.is() && xInfo->hasPropertyByName(C2U("Password")))
+ xDataSourceProps->getPropertyValue(C2U("Password"))>>= sPwd;
+
+ try
+ {
+ xConn = xDataSource->getConnection(sUser, sPwd);
+ }
+ catch(sdbc::SQLException&)
+ {
+ // TODO : a real error handling
+ }
+ catch(...)
+ {
+ }
+
+ }
+ return xConn;
+}
+
+/* -----------------17.01.00 14:46-------------------
+
+ --------------------------------------------------*/
+uno::Reference< sdbc::XConnection > getConnection(const uno::Reference< XInterface > & xRowSet)
+{
+ uno::Reference< sdbc::XConnection > xConn;
+ try
+ {
+ uno::Reference< XPropertySet > xFormProps(xRowSet, UNO_QUERY);
+ if (!xFormProps.is())
+ return xConn;
+
+ xConn = uno::Reference< sdbc::XConnection > (*(uno::Reference< XInterface > *)xFormProps->getPropertyValue(C2U("ActiveConnection")).getValue(), UNO_QUERY);
+ if (!xConn.is())
+ {
+ OUString uTmp;
+ xFormProps->getPropertyValue(C2U("DataSourceName")) >>= uTmp;
+ xConn = getConnection(uTmp);
+ }
+ }
+ catch(...)
+ {
+ DBG_ERROR("exception in getConnection");
+ }
+
+ return xConn;
+}
+/* -----------------17.01.00 16:07-------------------
+
+ --------------------------------------------------*/
+uno::Reference< XNameAccess > getColumns(const uno::Reference< XForm > & xForm)
+{
+ uno::Reference< XNameAccess > xReturn;
+ // check if the form is alive
+ uno::Reference< sdbcx::XColumnsSupplier > xSupplyCols(xForm, UNO_QUERY);
+ if (xSupplyCols.is())
+ xReturn = xSupplyCols->getColumns();
+
+ if (!xReturn.is() || (xReturn->getElementNames().getLength() == 0))
+ { // no ....
+ xReturn = NULL;
+ // -> get the table the form is bound to and ask it for their columns
+ uno::Reference< sdbcx::XTablesSupplier > xSupplyTables(getConnection(xForm), UNO_QUERY);
+ uno::Reference< XPropertySet > xFormProps(xForm, UNO_QUERY);
+ if (xFormProps.is() && xSupplyTables.is())
+ {
+ try
+ {
+ DBG_ASSERT((*(sal_Int32*)xFormProps->getPropertyValue(C2U("CommandType")).getValue()) == CommandType::TABLE,
+ "::getColumns : invalid form (has no table as data source) !");
+ rtl::OUString sTable;
+ xFormProps->getPropertyValue(C2U("Command")) >>= sTable;
+ uno::Reference< XNameAccess > xTables = xSupplyTables->getTables();
+ if (xTables.is() && xTables->hasByName(sTable))
+ xSupplyCols = uno::Reference< sdbcx::XColumnsSupplier > (
+ *(uno::Reference< XInterface > *)xTables->getByName(sTable).getValue(), UNO_QUERY);
+ if (xSupplyCols.is())
+ xReturn = xSupplyCols->getColumns();
+ }
+#ifdef DBG_UTIL
+ catch(Exception& e )
+#else
+ catch(Exception&)
+#endif
+ {
+#ifdef DBG_UTIL
+ String sMsg(String::CreateFromAscii("::getColumns : catched an exception ("));
+ sMsg += String(e.Message);
+ sMsg.AppendAscii(") ...");
+ DBG_ERROR( ByteString(sMsg, RTL_TEXTENCODING_ASCII_US ).GetBuffer());
+#endif
+ }
+ catch(...)
+ {
+ DBG_ERROR("::getColumns : catched a strange exception (no uno::Exception) ...");
+ }
+
+ }
+ }
+ return xReturn;
+}
+
+/* -----------------11.11.99 15:54-------------------
+
+ --------------------------------------------------*/
+class MappingDialog_Impl : public ModalDialog
+{
+ OKButton aOKBT;
+ CancelButton aCancelBT;
+ HelpButton aHelpBT;
+
+ GroupBox aMapGB;
+ FixedText aIdentifierFT;
+ ListBox aIdentifierLB;
+ FixedText aAuthorityTypeFT;
+ ListBox aAuthorityTypeLB;
+ FixedText aAuthorFT;
+ ListBox aAuthorLB;
+ FixedText aTitleFT;
+ ListBox aTitleLB;
+ FixedText aMonthFT;
+ ListBox aMonthLB;
+ FixedText aYearFT;
+ ListBox aYearLB;
+ FixedText aISBNFT;
+ ListBox aISBNLB;
+ FixedText aBooktitleFT;
+ ListBox aBooktitleLB;
+ FixedText aChapterFT;
+ ListBox aChapterLB;
+ FixedText aEditionFT;
+ ListBox aEditionLB;
+ FixedText aEditorFT;
+ ListBox aEditorLB;
+ FixedText aHowpublishedFT;
+ ListBox aHowpublishedLB;
+ FixedText aInstitutionFT;
+ ListBox aInstitutionLB;
+ FixedText aJournalFT;
+ ListBox aJournalLB;
+ FixedText aNoteFT;
+ ListBox aNoteLB;
+ FixedText aAnnoteFT;
+ ListBox aAnnoteLB;
+ FixedText aNumberFT;
+ ListBox aNumberLB;
+ FixedText aOrganizationsFT;
+ ListBox aOrganizationsLB;
+ FixedText aPagesFT;
+ ListBox aPagesLB;
+ FixedText aPublisherFT;
+ ListBox aPublisherLB;
+ FixedText aAddressFT;
+ ListBox aAddressLB;
+ FixedText aSchoolFT;
+ ListBox aSchoolLB;
+ FixedText aSeriesFT;
+ ListBox aSeriesLB;
+ FixedText aReportTypeFT;
+ ListBox aReportTypeLB;
+ FixedText aVolumeFT;
+ ListBox aVolumeLB;
+ FixedText aURLFT;
+ ListBox aURLLB;
+ FixedText aCustom1FT;
+ ListBox aCustom1LB;
+ FixedText aCustom2FT;
+ ListBox aCustom2LB;
+ FixedText aCustom3FT;
+ ListBox aCustom3LB;
+ FixedText aCustom4FT;
+ ListBox aCustom4LB;
+ FixedText aCustom5FT;
+ ListBox aCustom5LB;
+
+ ListBox* aListBoxes[COLUMN_COUNT];
+ String sNone;
+
+ BibDataManager* pDatMan;
+
+ DECL_LINK(OkHdl, OKButton*);
+ DECL_LINK(ListBoxSelectHdl, ListBox*);
+
+public:
+ MappingDialog_Impl(Window* pParent, BibDataManager* pDatMan);
+ ~MappingDialog_Impl();
+
+};
+/* -----------------11.11.99 16:42-------------------
+
+ --------------------------------------------------*/
+sal_uInt16 lcl_FindLogicalName(BibDataManager* pDatMan,
+ const String& rLogicalColumnName)
+{
+ for(sal_uInt16 i = 0; i < COLUMN_COUNT; i++)
+ {
+ if(rLogicalColumnName == pDatMan->GetDefColumnName(i))
+ return i;
+ }
+ return USHRT_MAX;
+}
+//-----------------------------------------------------------------------------
+MappingDialog_Impl::MappingDialog_Impl(Window* pParent, BibDataManager* pMan) :
+ ModalDialog(pParent, BibResId(RID_DLG_MAPPING) ),
+ pDatMan(pMan),
+ aOKBT(this, ResId( BT_OK )),
+ aCancelBT(this, ResId( BT_CANCEL )),
+ aHelpBT(this, ResId( BT_HELP )),
+
+ aMapGB(this, ResId( GB_MAPPING )),
+
+ aIdentifierFT(this, ResId( FT_IDENTIFIER )),
+ aIdentifierLB(this, ResId( LB_IDENTIFIER )),
+ aAuthorityTypeFT(this, ResId( FT_AUTHORITYTYPE )),
+ aAuthorityTypeLB(this, ResId( LB_AUTHORITYTYPE )),
+ aAuthorFT(this, ResId( FT_AUTHOR )),
+ aAuthorLB(this, ResId( LB_AUTHOR )),
+ aTitleFT(this, ResId( FT_TITLE )),
+ aTitleLB(this, ResId( LB_TITLE )),
+ aMonthFT(this, ResId( FT_MONTH )),
+ aMonthLB(this, ResId( LB_MONTH )),
+ aYearFT(this, ResId( FT_YEAR )),
+ aYearLB(this, ResId( LB_YEAR )),
+ aISBNFT(this, ResId( FT_ISBN )),
+ aISBNLB(this, ResId( LB_ISBN )),
+ aBooktitleFT(this, ResId( FT_BOOKTITLE )),
+ aBooktitleLB(this, ResId( LB_BOOKTITLE )),
+ aChapterFT(this, ResId( FT_CHAPTER )),
+ aChapterLB(this, ResId( LB_CHAPTER )),
+ aEditionFT(this, ResId( FT_EDITION )),
+ aEditionLB(this, ResId( LB_EDITION )),
+ aEditorFT(this, ResId( FT_EDITOR )),
+ aEditorLB(this, ResId( LB_EDITOR )),
+ aHowpublishedFT(this, ResId( FT_HOWPUBLISHED )),
+ aHowpublishedLB(this, ResId( LB_HOWPUBLISHED )),
+ aInstitutionFT(this, ResId( FT_INSTITUTION )),
+ aInstitutionLB(this, ResId( LB_INSTITUTION )),
+ aJournalFT(this, ResId( FT_JOURNAL )),
+ aJournalLB(this, ResId( LB_JOURNAL )),
+ aNoteFT(this, ResId( FT_NOTE )),
+ aNoteLB(this, ResId( LB_NOTE )),
+ aAnnoteFT(this, ResId( FT_ANNOTE )),
+ aAnnoteLB(this, ResId( LB_ANNOTE )),
+ aNumberFT(this, ResId( FT_NUMBER )),
+ aNumberLB(this, ResId( LB_NUMBER )),
+ aOrganizationsFT(this, ResId( FT_ORGANIZATIONS )),
+ aOrganizationsLB(this, ResId( LB_ORGANIZATIONS )),
+ aPagesFT(this, ResId( FT_PAGES )),
+ aPagesLB(this, ResId( LB_PAGES )),
+ aPublisherFT(this, ResId( FT_PUBLISHER )),
+ aPublisherLB(this, ResId( LB_PUBLISHER )),
+ aAddressFT(this, ResId( FT_ADDRESS )),
+ aAddressLB(this, ResId( LB_ADDRESS )),
+ aSchoolFT(this, ResId( FT_SCHOOL )),
+ aSchoolLB(this, ResId( LB_SCHOOL )),
+ aSeriesFT(this, ResId( FT_SERIES )),
+ aSeriesLB(this, ResId( LB_SERIES )),
+ aReportTypeFT(this, ResId( FT_REPORTTYPE )),
+ aReportTypeLB(this, ResId( LB_REPORTTYPE )),
+ aVolumeFT(this, ResId( FT_VOLUME )),
+ aVolumeLB(this, ResId( LB_VOLUME )),
+ aURLFT(this, ResId( FT_URL )),
+ aURLLB(this, ResId( LB_URL )),
+ aCustom1FT(this, ResId( FT_CUSTOM1 )),
+ aCustom1LB(this, ResId( LB_CUSTOM1 )),
+ aCustom2FT(this, ResId( FT_CUSTOM2 )),
+ aCustom2LB(this, ResId( LB_CUSTOM2 )),
+ aCustom3FT(this, ResId( FT_CUSTOM3 )),
+ aCustom3LB(this, ResId( LB_CUSTOM3 )),
+ aCustom4FT(this, ResId( FT_CUSTOM4 )),
+ aCustom4LB(this, ResId( LB_CUSTOM4 )),
+ aCustom5FT(this, ResId( FT_CUSTOM5 )),
+ aCustom5LB(this, ResId( LB_CUSTOM5 )),
+ sNone(ResId(ST_NONE))
+{
+ FreeResource();
+
+ aOKBT.SetClickHdl(LINK(this, MappingDialog_Impl, OkHdl));
+ String sTitle = GetText();
+ sTitle.SearchAndReplace(C2S("%1"), pDatMan->getActiveDataTable(), 0);
+ SetText(sTitle);
+
+ aListBoxes[0] = &aIdentifierLB;
+ aListBoxes[1] = &aAuthorityTypeLB;
+ aListBoxes[2] = &aAuthorLB;
+ aListBoxes[3] = &aTitleLB;
+ aListBoxes[4] = &aYearLB;
+ aListBoxes[5] = &aISBNLB;
+ aListBoxes[6] = &aBooktitleLB;
+ aListBoxes[7] = &aChapterLB;
+ aListBoxes[8] = &aEditionLB;
+ aListBoxes[9] = &aEditorLB;
+ aListBoxes[10] = &aHowpublishedLB;
+ aListBoxes[11] = &aInstitutionLB;
+ aListBoxes[12] = &aJournalLB;
+ aListBoxes[13] = &aMonthLB;
+ aListBoxes[14] = &aNoteLB;
+ aListBoxes[15] = &aAnnoteLB;
+ aListBoxes[16] = &aNumberLB;
+ aListBoxes[17] = &aOrganizationsLB;
+ aListBoxes[18] = &aPagesLB;
+ aListBoxes[19] = &aPublisherLB;
+ aListBoxes[20] = &aAddressLB;
+ aListBoxes[21] = &aSchoolLB;
+ aListBoxes[22] = &aSeriesLB;
+ aListBoxes[23] = &aReportTypeLB;
+ aListBoxes[24] = &aVolumeLB;
+ aListBoxes[25] = &aURLLB;
+ aListBoxes[26] = &aCustom1LB;
+ aListBoxes[27] = &aCustom2LB;
+ aListBoxes[28] = &aCustom3LB;
+ aListBoxes[29] = &aCustom4LB;
+ aListBoxes[30] = &aCustom5LB;
+
+ aListBoxes[0]->InsertEntry(sNone);
+ uno::Reference< XNameAccess > xFields = getColumns(pDatMan->getDatabaseForm());
+ DBG_ASSERT(xFields.is(), "MappingDialog_Impl::MappingDialog_Impl : gave me an invalid form !");
+ uno::Sequence aNames = xFields->getElementNames();
+ sal_Int32 nFieldsCount = aNames.getLength();
+ const rtl::OUString* pNames = aNames.getConstArray();
+
+ for(sal_Int32 nField = 0; nField < nFieldsCount; nField++)
+ aListBoxes[0]->InsertEntry(pNames[nField]);
+
+ Link aLnk = LINK(this, MappingDialog_Impl, ListBoxSelectHdl);
+
+ aListBoxes[0]->SelectEntryPos(0);
+ aListBoxes[0]->SetSelectHdl(aLnk);
+ for(sal_uInt16 i = 1; i < COLUMN_COUNT; i++)
+ {
+ for(sal_uInt16 j = 0; j < aListBoxes[0]->GetEntryCount();j++)
+ aListBoxes[i]->InsertEntry(aListBoxes[0]->GetEntry(j));
+ aListBoxes[i]->SelectEntryPos(0);
+ aListBoxes[i]->SetSelectHdl(aLnk);
+ }
+ const Mapping* pMapping = pDatMan->GetMapping(pDatMan->getActiveDataTable());
+ if(pMapping)
+ {
+ for(sal_uInt16 nEntry = 0; nEntry < COLUMN_COUNT; nEntry++)
+ {
+ sal_uInt16 nListBoxIndex = lcl_FindLogicalName(pDatMan,
+ pMapping->aColumnPairs[nEntry].sLogicalColumnName);
+ if(nListBoxIndex < COLUMN_COUNT)
+ {
+ aListBoxes[nListBoxIndex]->SelectEntry(pMapping->aColumnPairs[nEntry].sRealColumnName);
+ }
+ }
+ }
+}
+/* -----------------11.11.99 16:44-------------------
+
+ --------------------------------------------------*/
+MappingDialog_Impl::~MappingDialog_Impl()
+{}
+/* -----------------15.11.99 10:38-------------------
+
+ --------------------------------------------------*/
+IMPL_LINK(MappingDialog_Impl, ListBoxSelectHdl, ListBox*, pListBox)
+{
+ sal_uInt16 nEntryPos = pListBox->GetSelectEntryPos();
+ if(0 < nEntryPos)
+ {
+ for(sal_uInt16 i = 0; i < COLUMN_COUNT; i++)
+ {
+ if(pListBox != aListBoxes[i] && aListBoxes[i]->GetSelectEntryPos() == nEntryPos)
+ aListBoxes[i]->SelectEntryPos(0);
+ }
+ }
+ return 0;
+}
+/* -----------------12.11.99 14:50-------------------
+
+ --------------------------------------------------*/
+IMPL_LINK(MappingDialog_Impl, OkHdl, OKButton*, EMPTYARG)
+{
+ Mapping aNew;
+ aNew.sTableName = String(pDatMan->getActiveDataTable());
+ aNew.sURL = String(pDatMan->getActiveDataSource());
+
+ sal_uInt16 nWriteIndex = 0;
+ for(sal_uInt16 nEntry = 0; nEntry < COLUMN_COUNT; nEntry++)
+ {
+
+ String sSel = aListBoxes[nEntry]->GetSelectEntry();
+ if(sSel != sNone)
+ {
+ aNew.aColumnPairs[nWriteIndex].sRealColumnName = sSel;
+ aNew.aColumnPairs[nWriteIndex].sLogicalColumnName = pDatMan->GetDefColumnName(nEntry);
+ nWriteIndex++;
+ }
+ }
+ pDatMan->SetMapping(pDatMan->getActiveDataTable(), &aNew);
+ EndDialog(RET_OK);
+ return 0;
+}
+/* -----------------18.11.99 10:23-------------------
+
+ --------------------------------------------------*/
+class DBChangeDialog_Impl : public ModalDialog
+{
+ OKButton aOKBT;
+ CancelButton aCancelBT;
+ HelpButton aHelpBT;
+
+ GroupBox aSelectionGB;
+ SvTabListBox aSelectionLB;
+ HeaderBar aSelectionHB;
+
+ String aEntryST;
+ String aURLST;
+
+ BibDataManager* pDatMan;
+
+ DECL_LINK(EndDragHdl, HeaderBar*);
+ DECL_LINK(DoubleClickHdl, SvTabListBox*);
+public:
+ DBChangeDialog_Impl(Window* pParent, BibDataManager* pMan );
+ ~DBChangeDialog_Impl();
+
+ String GetCurrentURL()const;
+};
+
+/*-- 18.11.99 10:35:20---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+DBChangeDialog_Impl::DBChangeDialog_Impl(Window* pParent, BibDataManager* pMan ) :
+ ModalDialog(pParent, BibResId(RID_DLG_DBCHANGE) ),
+ aOKBT(this, ResId( BT_OK )),
+ aCancelBT(this, ResId( BT_CANCEL )),
+ aHelpBT(this, ResId( BT_HELP )),
+ aSelectionGB(this, ResId( GB_SELECTION )),
+ aSelectionLB(this, ResId( LB_SELECTION )),
+ aSelectionHB(this, ResId( HB_SELECTION )),
+ aEntryST(ResId(ST_ENTRY)),
+ aURLST( ResId(ST_URL)),
+ pDatMan(pMan)
+{
+ FreeResource();
+ aSelectionHB.SetEndDragHdl( LINK(this, DBChangeDialog_Impl, EndDragHdl));
+ aSelectionLB.SetDoubleClickHdl( LINK(this, DBChangeDialog_Impl, DoubleClickHdl));
+ try
+ {
+ uno::Reference< lang::XMultiServiceFactory > xMgr = utl::getProcessServiceFactory();
+ uno::Reference< data::XDatabaseFavorites > xFav(xMgr->createInstance( C2U("com.sun.star.data.DatabaseEngine") ), UNO_QUERY );
+ // TODO : XDatabaseFavorites is an obsolete interface, the whole dialog has to be based on
+ // the sdb::DatabaseAccessContext service
+
+ uno::Sequence< beans::PropertyValue > aFavs = xFav->getFavorites();
+ const beans::PropertyValue* pValues = aFavs.getConstArray();
+
+ Size aSize = aSelectionHB.GetSizePixel();
+ long nTabs[3];
+ nTabs[0] = 2;// Number of Tabs
+ nTabs[1] = 0;
+ nTabs[2] = aSize.Width() / 4;
+
+ aSelectionHB.SetStyle(aSelectionHB.GetStyle()|WB_STDHEADERBAR);
+ aSelectionHB.InsertItem( 1, aEntryST, nTabs[2]);
+ aSelectionHB.InsertItem( 2, aURLST, aSize.Width() - nTabs[2]);
+ aSelectionHB.SetSizePixel(aSelectionHB.CalcWindowSizePixel());
+ aSelectionHB.Show();
+
+ aSelectionLB.SetHelpId(HID_SELECTION_TLB);
+ aSelectionLB.SetTabs( &nTabs[0], MAP_PIXEL );
+ aSelectionLB.SetWindowBits(WB_CLIPCHILDREN|WB_SORT);
+ //aSelectionLB.SetSelectHdl(LINK(this, SwGlossaryGroupDlg, SelectHdl));
+ aSelectionLB.GetModel()->SetSortMode(SortAscending);
+
+ String sActiveURL = pDatMan->getActiveDataSource();
+ sActiveURL = URIHelper::SmartRelToAbs(sActiveURL);
+ for(int i = 0; i < aFavs.getLength(); i++)
+ {
+ String sTemp(pValues[i].Name);
+ sTemp += '\t';
+ String sSource = *(OUString*)pValues[i].Value.getValue();
+ sTemp += sSource;
+ SvLBoxEntry* pEntry = aSelectionLB.InsertEntry(sTemp);
+// String sTempPath = INetURLObject(sSource).PathToFileName();
+ sal_Bool bCaseSensitive = lcl_IsCaseSensitive(sSource);
+// sal_Bool bCaseSensitive = DirEntry(sTempPath).IsCaseSensitive();
+ if((bCaseSensitive && sActiveURL == sSource)||
+ !bCaseSensitive && COMPARE_EQUAL == sActiveURL.CompareTo(sSource))
+ {
+ aSelectionLB.Select(pEntry);
+ }
+ }
+ aSelectionLB.GetModel()->Resort();
+
+ }
+ catch(...)
+ {
+ DBG_ERROR("Exception in BibDataManager::DBChangeDialog_Impl::DBChangeDialog_Impl")
+ }
+
+
+}
+/* -----------------06.12.99 12:09-------------------
+
+ --------------------------------------------------*/
+IMPL_LINK(DBChangeDialog_Impl, DoubleClickHdl, SvTabListBox*, pLB)
+{
+ EndDialog(RET_OK);
+ return 0;
+}
+/* -----------------18.11.99 11:17-------------------
+
+ --------------------------------------------------*/
+IMPL_LINK(DBChangeDialog_Impl, EndDragHdl, HeaderBar*, pHB)
+{
+ long nTabs[3];
+ nTabs[0] = 2;// Number of Tabs
+ nTabs[1] = 0;
+ nTabs[2] = pHB->GetItemSize( 1 );
+ aSelectionLB.SetTabs( &nTabs[0], MAP_PIXEL );
+ return 0;
+};
+
+/*-- 18.11.99 10:35:20---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+DBChangeDialog_Impl::~DBChangeDialog_Impl()
+{
+}
+/* -----------------18.11.99 12:36-------------------
+
+ --------------------------------------------------*/
+String DBChangeDialog_Impl::GetCurrentURL()const
+{
+ String sRet;
+ SvLBoxEntry* pEntry = aSelectionLB.FirstSelected();
+ if(pEntry)
+ {
+ sRet = aSelectionLB.GetEntryText(pEntry, 1);
+ }
+ return sRet;
+}
+
+//-----------------------------------------------------------------------------
+#define STR_UID "uid"
+rtl::OUString gGridName(C2U("theGrid"));
+rtl::OUString gViewName(C2U("theView"));
+rtl::OUString gGlobalName(C2U("theGlobals"));
+rtl::OUString gBeamerSize(C2U("theBeamerSize"));
+rtl::OUString gViewSize(C2U("theViewSize"));
+
+BibDataManager::BibDataManager(BibRegistry * pRegistry) :
+ pMappingsArr(new MappingArray),
+ pToolbar(0),
+ pGridWin(0)
+{
+ //Names of the default columns
+ aColumnDefaults[0] = C2S("Identifier");
+ aColumnDefaults[1] = C2S("BibliographyType");
+ aColumnDefaults[2] = C2S("Author");
+ aColumnDefaults[3] = C2S("Title");
+ aColumnDefaults[4] = C2S("Year");
+ aColumnDefaults[5] = C2S("ISBN");
+ aColumnDefaults[6] = C2S("Booktitle");
+ aColumnDefaults[7] = C2S("Chapter");
+ aColumnDefaults[8] = C2S("Edition");
+ aColumnDefaults[9] = C2S("Editor");
+ aColumnDefaults[10] = C2S("Howpublished");
+ aColumnDefaults[11] = C2S("Institution");
+ aColumnDefaults[12] = C2S("Journal");
+ aColumnDefaults[13] = C2S("Month");
+ aColumnDefaults[14] = C2S("Note");
+ aColumnDefaults[15] = C2S("Annote");
+ aColumnDefaults[16] = C2S("Number");
+ aColumnDefaults[17] = C2S("Organizations");
+ aColumnDefaults[18] = C2S("Pages");
+ aColumnDefaults[19] = C2S("Publisher");
+ aColumnDefaults[20] = C2S("Address");
+ aColumnDefaults[21] = C2S("School");
+ aColumnDefaults[22] = C2S("Series");
+ aColumnDefaults[23] = C2S("ReportType");
+ aColumnDefaults[24] = C2S("Volume");
+ aColumnDefaults[25] = C2S("URL");
+ aColumnDefaults[26] = C2S("Custom1");
+ aColumnDefaults[27] = C2S("Custom2");
+ aColumnDefaults[28] = C2S("Custom3");
+ aColumnDefaults[29] = C2S("Custom4");
+ aColumnDefaults[30] = C2S("Custom5");
+
+// nEditMode = DatabaseRecordMode_STANDARD;
+ xRegistry = pRegistry;
+ xGlobalProps=createGlobalProperties();
+
+ SfxAppIniManagerProperty aProp;
+ GetpApp()->Property( aProp );
+
+ SfxIniManager* pIniMan = aProp.GetIniManager();
+ if(pIniMan)
+ {
+ String sBibMapping;
+ sal_uInt16 nIdx = USHRT_MAX;
+ String sEntry;
+ do
+ {
+ String sKey(C2S(BIBLIOGRAPHY_INI_DB_ENTRY));
+ String sMapKey = C2S(BIBLIOGRAPHY_INI_MAPPING);
+ if(USHRT_MAX != nIdx)
+ {
+ sKey += nIdx;
+ sMapKey += nIdx;
+ }
+
+ sEntry = pIniMan->ReadKey( C2S(BIBLIOGRAPHY_INI_GROUP),
+ sKey );
+ String sURL = sEntry.GetToken(0, ';');
+ sURL = pIniMan->SubstPathVars( sURL );
+
+ sURL = URIHelper::SmartRelToAbs(sURL);
+
+
+ String sTableName = sEntry.GetToken(1, ';');
+
+ sBibMapping = pIniMan->ReadKey( C2S(BIBLIOGRAPHY_INI_GROUP),
+ sMapKey );
+ if(sTableName.Len())
+ {
+ Mapping* pNew = new Mapping;
+ pNew->sTableName = sTableName;
+ pNew->sURL = sURL;
+ sal_uInt16 nMapTokens = sBibMapping.GetTokenCount(MAP_TOKEN);
+ for(sal_uInt16 i = 0; i < nMapTokens && i < COLUMN_COUNT; i++)
+ {
+ String sPair = sBibMapping.GetToken(i, MAP_TOKEN);
+ pNew->aColumnPairs[i].sLogicalColumnName = sPair.GetToken(0, PAIR_TOKEN);
+ pNew->aColumnPairs[i].sRealColumnName = sPair.GetToken(1, PAIR_TOKEN);
+ }
+ pMappingsArr->Insert(pNew, pMappingsArr->Count());
+ }
+ nIdx = USHRT_MAX == nIdx ? 0 : nIdx + 1;
+ }
+ while(sEntry.Len());
+ }
+}
+/* --------------------------------------------------
+
+ --------------------------------------------------*/
+BibDataManager::~BibDataManager()
+{
+ uno::Reference< XLoadable > xLoad(xForm, UNO_QUERY);
+ uno::Reference< lang::XComponent > xComp(xForm, UNO_QUERY);
+ if (xForm.is())
+ {
+ RemoveMeAsUidListener();
+ if (xLoad.is())
+ xLoad->unload();
+ if (xComp.is())
+ xComp->dispose();
+ xForm = NULL;
+ }
+ delete pMappingsArr;
+}
+//------------------------------------------------------------------------
+void BibDataManager::InsertFields(const uno::Reference< XFormComponent > & xGrid)
+{
+ if (!xGrid.is())
+ return;
+try
+{
+ uno::Reference< XNameAccess > xFields = getColumns(xForm);
+ if (!xFields.is())
+ return;
+
+ uno::Reference< XGridColumnFactory > xColFactory(xGrid, UNO_QUERY);
+ uno::Reference< XNameContainer > xColContainer(xGrid, UNO_QUERY);
+
+ uno::Reference< XPropertySet > xField;
+
+ uno::Sequence aFields(xFields->getElementNames());
+ const rtl::OUString* pFields = aFields.getConstArray();
+ sal_Int32 nCount=aFields.getLength();
+ uno::Any aElement;
+ for( sal_Int32 i=0; igetByName(aCurrentColName);
+ xField = *(uno::Reference< XPropertySet > *)aElement.getValue();
+
+ sal_Int32 nFormatKey = *(sal_Int32*)xField->getPropertyValue(FM_PROP_FORMATKEY).getValue();
+
+ uno::Reference< XPropertySet > xCurrentCol = xColFactory->createColumn(getControlName(nFormatKey));
+
+ Any aColName; aColName <<= aCurrentColName;
+ xCurrentCol->setPropertyValue(FM_PROP_CONTROLSOURCE, aColName);
+ xCurrentCol->setPropertyValue(FM_PROP_LABEL, aColName);
+
+ xColContainer->insertByName(aCurrentColName, uno::Any(&xCurrentCol, ::getCppuType((Reference*)0)));
+ }
+}
+catch(...)
+{
+ DBG_ERROR("Exception in BibDataManager::InsertFields")
+}
+
+
+}
+/* --------------------------------------------------
+
+ --------------------------------------------------*/
+uno::Reference< awt::XControlModel > BibDataManager::createGridModel()
+{
+ return createGridModel(xForm);
+}
+/* --------------------------------------------------
+
+ --------------------------------------------------*/
+uno::Reference< awt::XControlModel > BibDataManager::createGridModel(const uno::Reference< XForm > & xDbForm)
+{
+ try
+ {
+ uno::Reference< XPropertySet > aFormPropSet( xDbForm, UNO_QUERY );
+ uno::Any aDbSource=aFormPropSet->getPropertyValue(C2U("Command"));
+ rtl::OUString aName=*(OUString*)aDbSource.getValue();
+
+ //xGridModel=loadGridModel(aName);
+ xGridModel=loadGridModel(gGridName);
+
+ uno::Reference< XNameContainer > xNameCont(xDbForm, UNO_QUERY);
+
+ if(xNameCont->hasByName(aName))
+ {
+ xNameCont->removeByName(aName);
+ }
+
+ xNameCont->insertByName(aName, uno::Any(&xGridModel, ::getCppuType((Reference*)0)));
+
+ }
+ catch(...)
+ {
+ DBG_ERROR("::createGridModel: something went wrong !");
+ }
+
+
+ return xGridModel;
+}
+/* --------------------------------------------------
+
+ --------------------------------------------------*/
+uno::Reference< XForm > BibDataManager::getDatabaseForm()
+{
+ return xForm;
+}
+/* --------------------------------------------------
+
+ --------------------------------------------------*/
+uno::Reference< XForm > BibDataManager::createDatabaseForm(const rtl::OUString& rURL, rtl::OUString& rTable)
+{
+ uno::Reference< XForm > xResult;
+ try
+ {
+ uno::Reference< lang::XMultiServiceFactory > xMgr = utl::getProcessServiceFactory();
+ xForm = uno::Reference< XForm > (xMgr->createInstance( C2U("com.sun.star.form.component.Form") ),
+ UNO_QUERY );
+
+ uno::Reference< XPropertySet > aPropertySet(xForm, UNO_QUERY );
+
+ aDataSourceURL = rURL;
+ if(aPropertySet.is())
+ {
+ Any aVal; aVal <<= rURL;
+ aPropertySet->setPropertyValue(C2U("DataSourceName"), aVal);
+ aVal <<= (sal_Int32)sdbc::ResultSetType::SCROLL_INSENSITIVE;
+ aPropertySet->setPropertyValue(C2U("ResultSetType"),aVal );
+ aVal <<= (sal_Int32)sdbc::ResultSetConcurrency::READ_ONLY;
+ aPropertySet->setPropertyValue(C2U("ResultSetConcurrency"), aVal);
+
+ //Caching for Performance
+ aVal <<= (sal_Int32)50;
+ aPropertySet->setPropertyValue(C2U("FetchSize"), aVal);
+
+ uno::Reference< sdbc::XConnection > xConnection = getConnection(rURL);
+ uno::Reference< sdbcx::XTablesSupplier > xSupplyTables(xConnection, UNO_QUERY);
+ uno::Reference< XNameAccess > xTables = xSupplyTables.is() ?
+ xSupplyTables->getTables() : uno::Reference< XNameAccess > ();
+
+ uno::Sequence aTableNameSeq;
+ if (xTables.is())
+ aTableNameSeq = xTables->getElementNames();
+
+ if(aTableNameSeq.getLength() > 0)
+ {
+ const rtl::OUString* pTableNames = aTableNameSeq.getConstArray();
+ if(rTable.getLength())
+ aActiveDataTable = rTable;
+ else
+ rTable = aActiveDataTable = pTableNames[0];
+
+ uno::Reference< registry::XRegistryKey > xRoot = xRegistry->getRootKey();
+ uno::Reference< registry::XRegistryKey > xKey = xRoot->openKey(aActiveDataTable);
+ if(!xKey.is())
+ xKey = xRoot->createKey(aActiveDataTable);
+
+ xSourceProps=uno::Reference< XPropertySet > (xKey, UNO_QUERY);
+
+ aVal <<= aActiveDataTable;
+ aPropertySet->setPropertyValue(C2U("Command"), aVal);
+ aVal <<= (sal_Int32)CommandType::TABLE;
+ aPropertySet->setPropertyValue(C2U("CommandType"), aVal);
+
+
+ uno::Reference< sdbc::XDatabaseMetaData > xMetaData = xConnection->getMetaData();
+ aQuoteChar = xMetaData->getIdentifierQuoteString();
+
+ uno::Reference< sdb::XSQLQueryComposerFactory > xFactory(xConnection, UNO_QUERY);
+ xParser = xFactory->createQueryComposer();
+
+ rtl::OUString aString(C2U("SELECT * FROM "));
+ aString += aQuoteChar;
+ aString += aActiveDataTable;
+ aString += aQuoteChar;
+ xParser->setQuery(aString);
+ setQueryField(getQueryField());
+ startQueryWith(getQueryString());
+
+ xResult = xForm;
+ }
+ }
+ }
+ catch(...)
+ {
+ DBG_ERROR("::createDatabaseForm: something went wrong !");
+ }
+
+
+ return xResult;
+}
+//------------------------------------------------------------------------
+uno::Sequence BibDataManager::getDataSources()
+{
+ uno::Sequence aTableNameSeq;
+
+ try
+ {
+ uno::Reference< sdbcx::XTablesSupplier > xSupplyTables(getConnection(xForm), UNO_QUERY);
+ uno::Reference< XNameAccess > xTables;
+ if (xSupplyTables.is())
+ xTables = xSupplyTables->getTables();
+ if (xTables.is())
+ aTableNameSeq = xTables->getElementNames();
+ }
+ catch(...)
+ {
+ DBG_ERROR("::getDataSources: something went wrong !");
+ }
+
+
+ return aTableNameSeq;
+}
+//------------------------------------------------------------------------
+rtl::OUString BibDataManager::getActiveDataTable()
+{
+ return aActiveDataTable;
+}
+//------------------------------------------------------------------------
+uno::Reference< XSQLQueryComposer > BibDataManager::getParser()
+{
+ return xParser;
+}
+//------------------------------------------------------------------------
+void BibDataManager::setFilter(const rtl::OUString& rQuery)
+{
+ try
+ {
+ xParser->setFilter(rQuery);
+ rtl::OUString aQuery=xParser->getFilter();
+ uno::Reference< XPropertySet > aPropertySet(xForm, UNO_QUERY );
+ Any aVal; aVal <<= aQuery;
+ aPropertySet->setPropertyValue(C2U("Filter"), aVal);
+ BOOL bVal = sal_True;
+ aVal.setValue(&bVal, ::getBooleanCppuType());
+ aPropertySet->setPropertyValue(C2U("ApplyFilter"), aVal);
+ uno::Reference< XLoadable > xLoadable(xForm, UNO_QUERY );
+ xLoadable->reload();
+ }
+ catch(...)
+ {
+ DBG_ERROR("::setFilterOnActiveDataSource: something went wrong !");
+ }
+
+
+}
+//------------------------------------------------------------------------
+rtl::OUString BibDataManager::getFilter()
+{
+
+ rtl::OUString aQueryString;
+ try
+ {
+ uno::Reference< XPropertySet > aPropertySet(xForm, UNO_QUERY );
+ uno::Any aQuery=aPropertySet->getPropertyValue(C2U("Filter"));
+
+ if(aQuery.getValueType() == ::getCppuType((OUString*)0))
+ {
+ aQueryString=*(OUString*)aQuery.getValue();
+ }
+ }
+ catch(...)
+ {
+ DBG_ERROR("::getFilterOnActiveDataSource: something went wrong !");
+ }
+
+
+ return aQueryString;
+
+}
+//------------------------------------------------------------------------
+uno::Sequence BibDataManager::getQueryFields()
+{
+ uno::Sequence aFieldSeq;
+ uno::Reference< XNameAccess > xFields = getColumns(xForm);
+ if (xFields.is())
+ aFieldSeq = xFields->getElementNames();
+ return aFieldSeq;
+}
+//------------------------------------------------------------------------
+void BibDataManager::setQueryField(const rtl::OUString& rQuery)
+{
+ try
+ {
+ Any aQuery; aQuery <<= rQuery;
+ xSourceProps->setPropertyValue(C2U("QueryField"),aQuery);
+
+ }
+ catch(...)
+ {
+ DBG_ERROR("Exception in BibDataManager::setQueryField")
+ }
+
+}
+//------------------------------------------------------------------------
+rtl::OUString BibDataManager::getQueryField()
+{
+ rtl::OUString aFieldString;
+ try
+ {
+ uno::Any aField=xSourceProps->getPropertyValue(C2U("QueryField"));
+
+ if(aField.getValueType() == ::getVoidCppuType())
+ {
+ uno::Sequence aSeq=getQueryFields();
+ const rtl::OUString* pFields = aSeq.getConstArray();
+ if(aSeq.getLength()>0)
+ {
+ aFieldString=pFields[0];
+ }
+ }
+ else
+ {
+ aFieldString = *(OUString*)aField.getValue();
+ }
+
+ }
+ catch(...)
+ {
+ DBG_ERROR("Exception in BibDataManager::getQueryField")
+ }
+
+
+ return aFieldString;
+}
+//------------------------------------------------------------------------
+void BibDataManager::startQueryWith(const OUString& rQuery)
+{
+ try
+ {
+ uno::Any aQuery;
+ aQuery <<= rQuery;
+ xSourceProps->setPropertyValue(C2U("QueryText"), aQuery);
+
+ rtl::OUString aQueryString;
+ if(rQuery.len()>0)
+ {
+ aQueryString=aQuoteChar;
+ aQueryString+=getQueryField();
+ aQueryString+=aQuoteChar;
+ aQueryString+=C2U(" like '");
+ String sQuery(rQuery);
+ sQuery.SearchAndReplaceAll('?','_');
+ sQuery.SearchAndReplaceAll('*','%');
+ aQueryString += sQuery;
+ aQueryString+=C2U("%'");
+ }
+ setFilter(aQueryString);
+
+ }
+ catch(...)
+ {
+ DBG_ERROR("Exception in BibDataManager::StartQueryWith")
+ }
+
+}
+//------------------------------------------------------------------------
+rtl::OUString BibDataManager::getQueryString()
+{
+ rtl::OUString aQueryString;
+ try
+ {
+ uno::Any aQuery=xSourceProps->getPropertyValue(C2U("QueryText"));
+ if(aQuery.getValueType() == ::getCppuType((OUString*)0))
+ {
+ aQueryString=*(OUString*)aQuery.getValue();
+ }
+ }
+ catch(...)
+ {
+ DBG_ERROR("Exception in BibDataManager::getQueryString")
+ }
+
+
+ return aQueryString;
+}
+/* -----------------03.12.99 15:05-------------------
+
+ --------------------------------------------------*/
+void BibDataManager::setActiveDataSource(const rtl::OUString& rURL)
+{
+ //unloadDatabase();
+ rtl::OUString uTable;
+ aDataSourceURL = rURL;
+ uno::Reference< XPropertySet > aPropertySet(xForm, UNO_QUERY );
+ if(aPropertySet.is())
+ {
+ Any aVal; aVal <<= rURL;
+ aPropertySet->setPropertyValue(C2U("DataSourceName"), aVal);
+ uno::Sequence aTableNameSeq;
+ uno::Reference< sdbc::XConnection > xConnection = getConnection(xForm);
+ uno::Reference< sdbcx::XTablesSupplier > xSupplyTables(xConnection, UNO_QUERY);
+ if(xSupplyTables.is())
+ {
+ uno::Reference< XNameAccess > xAccess = xSupplyTables->getTables();
+ aTableNameSeq = xAccess->getElementNames();
+ }
+ if(aTableNameSeq.getLength() > 0)
+ {
+ const rtl::OUString* pTableNames = aTableNameSeq.getConstArray();
+ aActiveDataTable = pTableNames[0];
+ aVal <<= aActiveDataTable;
+ aPropertySet->setPropertyValue(C2U("Command"), aVal);
+ rtl::OUString aString(C2U("SELECT * FROM "));
+ aString+=aQuoteChar;
+ aString+=aActiveDataTable;
+ aString+=aQuoteChar;
+ xParser->setQuery(aString);
+ setQueryField(getQueryField());
+ startQueryWith(getQueryString());
+ setActiveDataTable(aActiveDataTable);
+ }
+ FeatureStateEvent aEvent;
+ util::URL aURL;
+ aEvent.IsEnabled = sal_True;
+ aEvent.Requery = sal_False;
+ //aEvent.Source = (XDispatch *) this;
+ aEvent.FeatureDescriptor = getActiveDataTable();
+
+ uno::Sequence aStringSeq = getDataSources();
+ aEvent.State.setValue(&aStringSeq, ::getCppuType((uno::Sequence*)0));
+
+ if(pToolbar)
+ {
+ aURL.Complete =C2U(".uno:Bib/source");
+ aEvent.FeatureURL = aURL;
+ pToolbar->statusChanged( aEvent );
+ }
+ if(pGridWin)
+ {
+ aURL.Complete =C2U(".uno:Bib/newGridModel");
+ aEvent.FeatureURL = aURL;
+ uno::Reference< awt::XControlModel > xModel = createGridModel();
+ aEvent.State.setValue(&xModel, ::getCppuType((Reference*)0));
+ pGridWin->statusChanged( aEvent );
+ }
+ }
+}
+/* --------------------------------------------------
+
+ --------------------------------------------------*/
+void BibDataManager::setActiveDataTable(const rtl::OUString& rTable)
+{
+ ResetIdentifierMapping();
+ try
+ {
+ sal_Bool bFlag=sal_False;
+ uno::Reference< XPropertySet > aPropertySet(xForm, UNO_QUERY );
+
+ if(aPropertySet.is())
+ {
+ uno::Reference< sdbc::XConnection > xConnection = getConnection(xForm);
+ uno::Reference< sdbcx::XTablesSupplier > xSupplyTables(xConnection, UNO_QUERY);
+ uno::Reference< XNameAccess > xAccess = xSupplyTables->getTables();
+ uno::Sequence aTableNameSeq = xAccess->getElementNames();
+ sal_uInt32 nCount = aTableNameSeq.getLength();
+ const rtl::OUString* pTableNames = aTableNameSeq.getConstArray();
+
+ for(sal_Int32 i=0;isetPropertyValue(C2U("Command"), aVal);
+ bFlag=sal_True;
+ break;
+ }
+ }
+ if(bFlag)
+ {
+/* if(xGridModel.is())
+ {
+ saveGridModel(xGridModel);
+ }*/
+
+ uno::Reference< registry::XRegistryKey > xRoot = xRegistry->getRootKey();
+ uno::Reference< registry::XRegistryKey > xKey = xRoot->openKey(aActiveDataTable);
+
+ if(!xKey.is())
+ xKey = xRoot->createKey(aActiveDataTable);
+
+ xSourceProps=uno::Reference< XPropertySet > (xKey, UNO_QUERY);
+
+ uno::Reference< sdbc::XDatabaseMetaData > xMetaData = xConnection->getMetaData();
+ aQuoteChar = xMetaData->getIdentifierQuoteString();
+
+ uno::Reference< sdb::XSQLQueryComposerFactory > xFactory(xConnection, UNO_QUERY);
+ xParser = xFactory->createQueryComposer();
+
+ rtl::OUString aString(C2U("SELECT * FROM "));
+ aString+=aQuoteChar;
+ aString+=aActiveDataTable;
+ aString+=aQuoteChar;
+ xParser->setQuery(aString);
+
+ setQueryField(getQueryField());
+ startQueryWith(getQueryString());
+
+ BibModul::SetBibliographyURL(aDataSourceURL, aActiveDataTable);
+ }
+ if(pBibView)
+ pBibView->UpdatePages();
+ }
+ }
+ catch(...)
+ {
+ DBG_ERROR("::setActiveDataTable: something went wrong !");
+ }
+
+}
+//------------------------------------------------------------------------
+void BibDataManager::loadDatabase()
+{
+ if(xForm.is())
+ {
+ uno::Reference< XLoadable > xFormAsLoadable(xForm, UNO_QUERY );
+ DBG_ASSERT(xFormAsLoadable.is(), "BibDataManager::loadDatabase : invalid form !");
+ xFormAsLoadable->load();
+ xFormAsLoadable->reload(); // why ? may be very expensive !
+
+ SetMeAsUidListener();
+ }
+}
+//------------------------------------------------------------------------
+void BibDataManager::unloadDatabase()
+{
+ if(xForm.is())
+ {
+ RemoveMeAsUidListener();
+ uno::Reference< XLoadable > xFormAsLoadable(xForm, UNO_QUERY );
+ DBG_ASSERT(xFormAsLoadable.is(), "BibDataManager::unloadDatabase : invalid form !");
+ xFormAsLoadable->unload();
+ }
+}
+//------------------------------------------------------------------------
+uno::Reference< awt::XControlModel > BibDataManager::loadGridModel(const rtl::OUString& rName)
+{
+ uno::Reference< awt::XControlModel > xModel;
+
+ try
+ {
+ uno::Reference< lang::XMultiServiceFactory > xMgr = utl::getProcessServiceFactory();
+ uno::Reference< XInterface > xObject = xMgr->createInstance(C2U("com.sun.star.form.component.GridControl"));
+ xModel=uno::Reference< awt::XControlModel > ( xObject, UNO_QUERY );
+ uno::Reference< XPropertySet > xPropSet( xModel, UNO_QUERY );
+ uno::Any aDbSource; aDbSource <<= rName;
+ xPropSet->setPropertyValue( C2U("Name"),aDbSource);
+ rtl::OUString aControlName(C2U("com.sun.star.form.control.ExtendedGridControl"));
+ uno::Any aAny; aAny <<= aControlName;
+ xPropSet->setPropertyValue( C2U("DefaultControl"),aAny );
+
+ uno::Reference< XFormComponent > aFormComp(xModel,UNO_QUERY );
+ InsertFields(aFormComp);
+
+ rtl::OUString uProp(C2U("HelpURL"));
+ uno::Reference< XPropertySetInfo > xPropInfo = xPropSet->getPropertySetInfo();
+ if(xPropInfo->hasPropertyByName(uProp))
+ {
+ String sId(C2S("HID:"));
+ sId += HID_BIB_DB_GRIDCTRL;
+ uno::Any aVal; aVal <<= OUString(sId);
+ xPropSet->setPropertyValue(uProp, aVal);
+ }
+ }
+ catch(...)
+ {
+ DBG_ERROR("::loadGridModel: something went wrong !");
+ }
+
+
+ return xModel;
+}
+//------------------------------------------------------------------------
+/*void BibDataManager::saveGridModel(const uno::Reference< awt::XControlModel > & rGridModel)
+{
+ try
+ {
+ uno::Reference< XPersistObject > aPersistObject(rGridModel, UNO_QUERY );
+
+ uno::Any aGridModel(&aPersistObject, ::getCppuType((const XPersistObject*)0));
+
+ xSourceProps->setPropertyValue(gGridName,aGridModel);
+ }
+ catch(...)
+ {
+ DBG_ERROR("::saveGridModelData: something went wrong !");
+ }
+
+}*/
+//------------------------------------------------------------------------
+uno::Reference< XPropertySet > BibDataManager::createGlobalProperties()
+{
+ try
+ {
+ uno::Reference< registry::XRegistryKey > xRoot = xRegistry->getRootKey();
+ uno::Reference< registry::XRegistryKey > xKey = xRoot->openKey(gGlobalName);
+ if(!xKey.is())
+ xKey = xRoot->createKey(gGlobalName);
+
+ return uno::Reference< XPropertySet > (xKey, UNO_QUERY);
+ }
+
+ catch(...)
+ {
+ DBG_ERROR("::getViewProperties: something went wrong !");
+ }
+
+ return uno::Reference< XPropertySet > ();
+}
+//------------------------------------------------------------------------
+void BibDataManager::setViewSize(long nSize)
+{
+ try
+ {
+ uno::Any aViewSize; aViewSize <<= (sal_Int32) nSize;
+ xGlobalProps->setPropertyValue(gViewSize,aViewSize);
+ }
+ catch(...)
+ {
+ DBG_ERROR("::setViewSize: something went wrong !");
+ }
+
+}
+//------------------------------------------------------------------------
+long BibDataManager::getViewSize()
+{
+ long nSize=0;
+ try
+ {
+ uno::Any aViewSize=xGlobalProps->getPropertyValue(gViewSize);
+
+ if(aViewSize.getValueType() != ::getVoidCppuType())
+ {
+ aViewSize >>= nSize;
+ }
+ }
+ catch(...)
+ {
+ DBG_ERROR("::getViewSize: something went wrong !");
+ }
+ return nSize;
+}
+//------------------------------------------------------------------------
+void BibDataManager::setBeamerSize(long nSize)
+{
+ try
+ {
+ uno::Any aBeamerSize; aBeamerSize <<= (sal_Int32) nSize;
+ xGlobalProps->setPropertyValue(gBeamerSize,aBeamerSize);
+ }
+ catch(...)
+ {
+ DBG_ERROR("::setBeamerSize: something went wrong !");
+ }
+
+}
+//------------------------------------------------------------------------
+long BibDataManager::getBeamerSize()
+{
+ long nSize=0;
+ try
+ {
+ uno::Any aBeamerSize=xGlobalProps->getPropertyValue(gBeamerSize);
+
+ if(aBeamerSize.getValueType() != ::getVoidCppuType())
+ {
+ aBeamerSize >>= nSize;
+ }
+ }
+ catch(...)
+ {
+ DBG_ERROR("::getBeamerSize: something went wrong !");
+ }
+ return nSize;
+}
+//------------------------------------------------------------------------
+uno::Reference< XPropertySet > BibDataManager::getViewProperties()
+{
+ try
+ {
+ uno::Reference< registry::XRegistryKey > xKey = uno::Reference< registry::XRegistryKey > (xSourceProps, UNO_QUERY);
+ uno::Reference< registry::XRegistryKey > xViewKey=xKey->openKey(gViewName);
+ if(!xViewKey.is())
+ {
+ xViewKey=xKey->createKey(gViewName);
+ }
+ return uno::Reference< XPropertySet > (xViewKey, UNO_QUERY);
+ }
+ catch(...)
+ {
+ DBG_ERROR("::getViewProperties: something went wrong !");
+ }
+ return uno::Reference< XPropertySet > ();
+}
+//------------------------------------------------------------------------
+rtl::OUString BibDataManager::getControlName(sal_Int32 nFormatKey )
+{
+ rtl::OUString aResStr;
+ switch (nFormatKey)
+ {
+ case DataType::BIT:
+ aResStr=C2U("CheckBox");
+ break;
+ case DataType::TINYINT:
+ case DataType::SMALLINT:
+ case DataType::INTEGER:
+ aResStr=C2U("NumericField"); ;
+ break;
+ case DataType::REAL:
+ case DataType::DOUBLE:
+ case DataType::NUMERIC:
+ case DataType::DECIMAL:
+ aResStr=C2U("FormattedField");
+ break;
+ case DataType::TIMESTAMP:
+ aResStr=C2U("FormattedField");
+ break;
+ case DataType::DATE:
+ aResStr=C2U("DateField");
+ break;
+ case DataType::TIME:
+ aResStr=C2U("TimeField");
+ break;
+ case DataType::CHAR:
+ case DataType::VARCHAR:
+ case DataType::LONGVARCHAR:
+ default:
+ aResStr=C2U("TextField");
+ break;
+ }
+ return aResStr;
+}
+//------------------------------------------------------------------------
+uno::Reference< awt::XControlModel > BibDataManager::loadControlModel(const rtl::OUString& rName, sal_Bool bForceListBox)
+{
+ uno::Reference< awt::XControlModel > xModel;
+
+ rtl::OUString aName(C2U("View_"));
+ aName+=rName;
+
+ try
+ {
+ uno::Reference< io::XPersistObject > aObject;
+ uno::Any aControlModel=xSourceProps->getPropertyValue(aName);
+ if(aControlModel.getValueType() == ::getCppuType((Reference*)0))
+ {
+ aObject=*(uno::Reference< io::XPersistObject > *)aControlModel.getValue();
+ }
+
+ if(!aObject.is() )
+ {
+ uno::Reference< XNameAccess > xFields = getColumns(xForm);
+ if (!xFields.is())
+ return xModel;
+ uno::Reference< XPropertySet > xField;
+
+ uno::Any aElement;
+
+ if(xFields->hasByName(rName))
+ {
+ aElement = xFields->getByName(rName);
+ xField = *(uno::Reference< XPropertySet > *)aElement.getValue();
+ uno::Reference< XPropertySetInfo > xInfo = xField.is() ? xField->getPropertySetInfo() : uno::Reference< XPropertySetInfo > ();
+ sal_Int32 nFormatKey = 0;
+ if (xInfo.is() && xInfo->hasPropertyByName(FM_PROP_FORMATKEY))
+ xField->getPropertyValue(FM_PROP_FORMATKEY) >>= nFormatKey;
+
+ rtl::OUString aInstanceName(C2U("com.sun.star.form.component."));
+
+ if (bForceListBox)
+ aInstanceName += C2U("ListBox");
+ else
+ aInstanceName += getControlName(nFormatKey);
+
+ uno::Reference< lang::XMultiServiceFactory > xMgr = utl::getProcessServiceFactory();
+ uno::Reference< XInterface > xObject = xMgr->createInstance(aInstanceName);
+ xModel=uno::Reference< awt::XControlModel > ( xObject, UNO_QUERY );
+ uno::Reference< XPropertySet > xPropSet( xModel, UNO_QUERY );
+ uno::Any aFieldName; aFieldName <<= aName;
+ xPropSet->setPropertyValue( FM_PROP_NAME,aFieldName);
+
+ uno::Any aDbSource; aDbSource <<= rName;
+ xPropSet->setPropertyValue(FM_PROP_CONTROLSOURCE,aDbSource);
+
+ uno::Reference< XFormComponent > aFormComp(xModel,UNO_QUERY );
+
+ uno::Reference< XNameContainer > xNameCont(xForm, UNO_QUERY);
+ xNameCont->insertByName(aName, uno::Any(&xModel, ::getCppuType((Reference*)0)));
+ }
+ }
+ else
+ {
+ xModel=uno::Reference< awt::XControlModel > (aObject,UNO_QUERY );
+ }
+ }
+ catch(...)
+ {
+ DBG_ERROR("::loadControlModel: something went wrong !");
+ }
+ return xModel;
+}
+//------------------------------------------------------------------------
+void BibDataManager::saveCtrModel(const rtl::OUString& rName,const uno::Reference< awt::XControlModel > & rCtrModel)
+{
+ try
+ {
+ rtl::OUString aName(C2U("View_"));
+ aName+=rName;
+
+ uno::Reference< io::XPersistObject > aPersistObject(rCtrModel, UNO_QUERY );
+
+ uno::Any aModel(&aPersistObject, ::getCppuType((Reference*)0));
+
+ xSourceProps->setPropertyValue(aName,aModel);
+ }
+ catch(...)
+ {
+ DBG_ERROR("::saveCtrModel: something went wrong !");
+ }
+
+}
+//------------------------------------------------------------------------
+void BibDataManager::disposing( const lang::EventObject& Source )
+{
+ try
+ {
+// if ( xForm.is())
+// {
+// uno::Reference< XPropertySet > aPropSet(xForm, UNO_QUERY );
+// aPropSet->removePropertyChangeListener(FM_PROP_EDITMODE, this);
+// }
+ }
+ catch(...)
+ {
+ DBG_ERROR("::propertyChange: something went wrong !");
+ }
+
+
+
+}
+//------------------------------------------------------------------------
+void BibDataManager::propertyChange(const beans::PropertyChangeEvent& evt) throw( uno::RuntimeException )
+{
+ try
+ {
+ sal_Bool bFlag=sal_False;
+ if(evt.PropertyName == FM_PROP_VALUE)
+ {
+ if( evt.NewValue.getValueType() == ::getCppuType((Reference*)0) )
+ {
+ uno::Reference< io::XDataInputStream > xStream(
+ *(const uno::Reference< io::XInputStream > *)evt.NewValue.getValue(), UNO_QUERY );
+ aUID <<= xStream->readUTF();
+ }
+ else
+ aUID = evt.NewValue;
+
+ uno::Reference< sdbcx::XRowLocate > xLocate(xBibCursor, UNO_QUERY);
+ DBG_ASSERT(xLocate.is(), "BibDataManager::propertyChange : invalid cursor !");
+ bFlag = xLocate->moveToBookmark(aUID);
+ }
+ }
+ catch(...)
+ {
+ DBG_ERROR("::propertyChange: something went wrong !");
+ }
+
+
+}
+//------------------------------------------------------------------------
+void BibDataManager::SetMeAsUidListener()
+{
+try
+{
+ uno::Reference< XNameAccess > xFields = getColumns(xForm);
+ if (!xFields.is())
+ return;
+
+ uno::Sequence aFields(xFields->getElementNames());
+ const rtl::OUString* pFields = aFields.getConstArray();
+ sal_Int32 nCount=aFields.getLength();
+ String StrUID(C2S(STR_UID));
+ rtl::OUString theFieldName;
+ for( sal_Int32 i=0; i0)
+ {
+ uno::Reference< XPropertySet > xPropSet;
+ uno::Any aElement;
+
+ aElement = xFields->getByName(theFieldName);
+ xPropSet = *(uno::Reference< XPropertySet > *)aElement.getValue();
+
+ xPropSet->addPropertyChangeListener(FM_PROP_VALUE, this);
+ }
+
+}
+catch(...)
+{
+ DBG_ERROR("Exception in BibDataManager::SetMeAsUidListener")
+}
+
+
+}
+//------------------------------------------------------------------------
+void BibDataManager::RemoveMeAsUidListener()
+{
+try
+{
+ uno::Reference< XNameAccess > xFields = getColumns(xForm);
+ if (!xFields.is())
+ return;
+
+
+ uno::Sequence aFields(xFields->getElementNames());
+ const rtl::OUString* pFields = aFields.getConstArray();
+ sal_Int32 nCount=aFields.getLength();
+ String StrUID(C2S(STR_UID));
+ rtl::OUString theFieldName;
+ for( sal_Int32 i=0; i0)
+ {
+ uno::Reference< XPropertySet > xPropSet;
+ uno::Any aElement;
+
+ aElement = xFields->getByName(theFieldName);
+ xPropSet = *(uno::Reference< XPropertySet > *)aElement.getValue();
+
+ xPropSet->removePropertyChangeListener(FM_PROP_VALUE, this);
+ }
+
+}
+catch(...)
+{
+ DBG_ERROR("Exception in BibDataManager::RemoveMeAsUidListener")
+}
+
+
+}
+/* -----------------02.11.99 16:11-------------------
+
+ --------------------------------------------------*/
+sal_Bool BibDataManager::moveRelative(sal_Int32 nCount)
+{
+ sal_Bool bRet = sal_False;
+ try
+ {
+ uno::Reference< XResultSet > xCursor(xForm, UNO_QUERY);
+ uno::Reference< XResultSetUpdate > xCursorUpdate(xForm, UNO_QUERY);
+ if (xCursor.is() && xCursorUpdate.is())
+ {
+ bRet = xCursor->relative(nCount);
+ if (xCursor->isAfterLast())
+ xCursorUpdate->moveToInsertRow();
+ }
+ }
+ catch(...)
+ {
+ DBG_ERROR("Exception in BibDataManager::moveRelative")
+ }
+
+ return bRet;
+}
+/* -----------------11.11.99 15:51-------------------
+
+ --------------------------------------------------*/
+void BibDataManager::CreateMappingDialog(Window* pParent)
+{
+ MappingDialog_Impl* pDlg = new MappingDialog_Impl(pParent, this);
+ if(RET_OK == pDlg->Execute() && pBibView)
+ {
+ unloadDatabase();
+ pBibView->UpdatePages();
+ loadDatabase();
+ }
+ delete pDlg;
+}
+/* --------------------------------------------------
+
+ --------------------------------------------------*/
+rtl::OUString BibDataManager::CreateDBChangeDialog(Window* pParent)
+{
+ rtl::OUString uRet;
+ DBChangeDialog_Impl * pDlg = new DBChangeDialog_Impl(pParent, this );
+ if(RET_OK == pDlg->Execute())
+ {
+ String sNewURL = pDlg->GetCurrentURL();
+ if(sNewURL != String(getActiveDataSource()))
+ {
+ uRet = sNewURL;
+ }
+ }
+ delete pDlg;
+ return uRet;
+}
+/* -----------------12.11.99 14:26-------------------
+
+ --------------------------------------------------*/
+const Mapping* BibDataManager::GetMapping(const rtl::OUString& rTableName, const rtl::OUString* pURL) const
+{
+ String sTable(rTableName);
+ String sURL(aDataSourceURL);
+ if(pURL)
+ sURL = String(*pURL);
+ for(sal_uInt16 i = 0; i < pMappingsArr->Count(); i++)
+ {
+ sal_Bool bCaseSensitive = sal_True;
+ INetURLObject aTempURL(sURL);
+ if(INET_PROT_FILE == aTempURL.GetProtocol())
+ {
+ sal_Bool bCaseSensitive = lcl_IsCaseSensitive(aTempURL.GetMainURL());
+// DirEntry aEnt(aTempURL.GetPath());
+// bCaseSensitive = aEnt.IsCaseSensitive();
+ }
+
+ const Mapping* pMapping = pMappingsArr->GetObject(i);
+ sal_Bool bURLEqual = bCaseSensitive ?
+ sURL.Equals(pMapping->sURL) :
+ sURL.EqualsIgnoreCaseAscii(pMapping->sURL);
+
+ if(sTable == pMapping->sTableName && bURLEqual)
+ return pMapping;
+ }
+ return 0;
+}
+/* -----------------12.11.99 14:26-------------------
+
+ --------------------------------------------------*/
+void BibDataManager::SetMapping(const rtl::OUString& rTableName, const Mapping* pSetMapping)
+{
+ ResetIdentifierMapping();
+ String sTable(rTableName);
+ const String sURL(aDataSourceURL);
+ for(sal_uInt16 i = 0; i < pMappingsArr->Count(); i++)
+ {
+ const Mapping* pMapping = pMappingsArr->GetObject(i);
+
+ sal_Bool bCaseSensitive = sal_True;
+ INetURLObject aTempURL(sURL);
+ if(INET_PROT_FILE == aTempURL.GetProtocol())
+ {
+ sal_Bool bCaseSensitive = lcl_IsCaseSensitive(aTempURL.GetMainURL());
+// DirEntry aEnt(aTempURL.GetPath());
+// bCaseSensitive = aEnt.IsCaseSensitive();
+ }
+
+ sal_Bool bURLEqual = bCaseSensitive ?
+ sURL.Equals(pMapping->sURL) :
+ sURL.EqualsIgnoreCaseAscii(pMapping->sURL);
+
+ if(sTable == pMapping->sTableName && bURLEqual)
+ {
+ pMappingsArr->DeleteAndDestroy(i, 1);
+ break;
+ }
+ }
+ Mapping* pNew = new Mapping(*pSetMapping);
+ pMappingsArr->Insert(pNew, pMappingsArr->Count());
+
+ SfxAppIniManagerProperty aProp;
+ GetpApp()->Property( aProp );
+ SfxIniManager* pIniMan = aProp.GetIniManager();
+ if(pIniMan)
+ {
+ //kill all old entries an rewrite all mappings
+ String sTempEntry;
+ sal_uInt16 nIdx = USHRT_MAX;
+ do
+ {
+ String sDBKey(C2S(BIBLIOGRAPHY_INI_DB_ENTRY));
+ String sMapKey = C2S(BIBLIOGRAPHY_INI_MAPPING);
+ if(USHRT_MAX != nIdx)
+ {
+ sDBKey += nIdx;
+ sMapKey += nIdx;
+ }
+ sTempEntry = pIniMan->ReadKey( C2S(BIBLIOGRAPHY_INI_GROUP),
+ sDBKey );
+ pIniMan->DeleteKey( C2S(BIBLIOGRAPHY_INI_GROUP), sDBKey);
+ pIniMan->DeleteKey( C2S(BIBLIOGRAPHY_INI_GROUP), sMapKey);
+ nIdx = USHRT_MAX == nIdx ? 0 : nIdx +1;
+ }while(sTempEntry.Len());
+
+ nIdx = USHRT_MAX;
+ for(sal_uInt16 i = 0; i < pMappingsArr->Count(); i++)
+ {
+ const Mapping* pMapping = pMappingsArr->GetObject(i);
+
+ String sDataTableEntry(pMapping->sURL);
+ sDataTableEntry = pIniMan->UsePathVars( sDataTableEntry );
+ sDataTableEntry += ';';
+ sDataTableEntry += pMapping->sTableName;
+
+ String sDBKey = C2S(BIBLIOGRAPHY_INI_DB_ENTRY);
+ String sMapKey = C2S(BIBLIOGRAPHY_INI_MAPPING);
+ if(USHRT_MAX != nIdx)
+ {
+ sDBKey += nIdx;
+ sMapKey += nIdx;
+ }
+ pIniMan->WriteKey( C2S(BIBLIOGRAPHY_INI_GROUP), sDBKey, sDataTableEntry );
+
+ String sEntry;
+ for(sal_uInt16 nColumn = 0; nColumn < COLUMN_COUNT; nColumn++)
+ {
+ if(!pMapping->aColumnPairs[nColumn].sLogicalColumnName.Len() ||
+ !pMapping->aColumnPairs[nColumn].sRealColumnName.Len())
+ break;
+ sEntry += pMapping->aColumnPairs[nColumn].sLogicalColumnName;
+ sEntry += PAIR_TOKEN;
+ sEntry += pMapping->aColumnPairs[nColumn].sRealColumnName;
+ sEntry += MAP_TOKEN;
+ }
+ pIniMan->WriteKey( C2S(BIBLIOGRAPHY_INI_GROUP), sMapKey, sEntry );
+
+ nIdx = USHRT_MAX == nIdx ? 0 : nIdx +1;
+ }
+ pIniMan->Flush();
+ }
+}
+/* -----------------06.12.99 15:11-------------------
+
+ --------------------------------------------------*/
+const String& BibDataManager::GetIdentifierMapping()
+{
+ if(!sIdentifierMapping.Len())
+ {
+ const Mapping* pMapping = GetMapping(getActiveDataTable());
+ sIdentifierMapping = GetDefColumnName(IDENTIFIER_POS);
+ if(pMapping)
+ {
+ for(sal_uInt16 nEntry = 0; nEntry < COLUMN_COUNT; nEntry++)
+ {
+ if(pMapping->aColumnPairs[nEntry].sLogicalColumnName == sIdentifierMapping)
+ {
+ sIdentifierMapping = pMapping->aColumnPairs[nEntry].sRealColumnName;
+ break;
+ }
+ }
+ }
+ }
+ return sIdentifierMapping;
+}
+
diff --git a/extensions/source/bibliography/datman.hrc b/extensions/source/bibliography/datman.hrc
new file mode 100644
index 000000000000..4122e7b5be3d
--- /dev/null
+++ b/extensions/source/bibliography/datman.hrc
@@ -0,0 +1,137 @@
+/*************************************************************************
+ *
+ * $RCSfile: datman.hrc,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: hr $ $Date: 2000-09-18 16:16:44 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+
+#define BT_OK 1
+#define BT_CANCEL 2
+#define BT_HELP 3
+#define GB_MAPPING 4
+#define FT_IDENTIFIER 5
+#define LB_IDENTIFIER 6
+#define ST_NONE 7
+
+#define FT_AUTHORITYTYPE 8
+#define LB_AUTHORITYTYPE 9
+#define FT_ADDRESS 10
+#define LB_ADDRESS 11
+#define FT_ANNOTE 12
+#define LB_ANNOTE 13
+#define FT_AUTHOR 14
+#define LB_AUTHOR 15
+#define FT_TITLE 16
+#define LB_TITLE 17
+#define FT_MONTH 18
+#define LB_MONTH 19
+#define FT_YEAR 20
+#define LB_YEAR 21
+#define FT_ISBN 22
+#define LB_ISBN 23
+#define FT_BOOKTITLE 24
+#define LB_BOOKTITLE 25
+#define FT_CHAPTER 26
+#define LB_CHAPTER 27
+#define FT_EDITION 28
+#define LB_EDITION 29
+#define FT_EDITOR 30
+#define LB_EDITOR 31
+#define FT_HOWPUBLISHED 32
+#define LB_HOWPUBLISHED 33
+#define FT_INSTITUTION 34
+#define LB_INSTITUTION 35
+#define FT_JOURNAL 36
+#define LB_JOURNAL 37
+#define FT_NOTE 38
+#define LB_NOTE 39
+#define FT_NUMBER 40
+#define LB_NUMBER 41
+#define FT_ORGANIZATIONS 42
+#define LB_ORGANIZATIONS 43
+#define FT_PAGES 44
+#define LB_PAGES 45
+#define FT_PUBLISHER 46
+#define LB_PUBLISHER 47
+#define FT_SCHOOL 48
+#define LB_SCHOOL 49
+#define FT_SERIES 50
+#define LB_SERIES 51
+#define FT_REPORTTYPE 52
+#define LB_REPORTTYPE 53
+#define FT_VOLUME 54
+#define LB_VOLUME 55
+#define FT_URL 56
+#define LB_URL 57
+#define FT_CUSTOM1 58
+#define LB_CUSTOM1 59
+#define FT_CUSTOM2 60
+#define LB_CUSTOM2 61
+#define FT_CUSTOM3 62
+#define LB_CUSTOM3 63
+#define FT_CUSTOM4 64
+#define LB_CUSTOM4 65
+#define FT_CUSTOM5 66
+#define LB_CUSTOM5 67
+
+#define GB_SELECTION 68
+#define ST_ENTRY 69
+#define ST_URL 70
+#define LB_SELECTION 71
+#define HB_SELECTION 72
+
diff --git a/extensions/source/bibliography/datman.hxx b/extensions/source/bibliography/datman.hxx
new file mode 100644
index 000000000000..130ebfae7403
--- /dev/null
+++ b/extensions/source/bibliography/datman.hxx
@@ -0,0 +1,253 @@
+/*************************************************************************
+ *
+ * $RCSfile: datman.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: hr $ $Date: 2000-09-18 16:16:44 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef _BIB_DATMAN_HXX
+#define _BIB_DATMAN_HXX
+
+#ifndef _COM_SUN_STAR_AWT_XCONTROLMODEL_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_FORM_XFORM_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_SDBC_XRESULTSET_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_SDB_XSQLQUERYCOMPOSER_HPP_
+#include
+#endif
+
+#ifndef _COM_SUN_STAR_REGISTRY_XSIMPLEREGISTRY_HPP_
+#include
+#endif
+#ifndef _CPPUHELPER_IMPLBASE1_HXX_
+#include // helper for implementations
+#endif
+
+class BibRegistry;
+class MappingArray;
+class Window;
+//-----------------------------------------------------------------------------
+#define COLUMN_COUNT 31
+#define IDENTIFIER_POS 0
+#define AUTHORITYTYPE_POS 1
+#define AUTHOR_POS 2
+#define TITLE_POS 3
+#define YEAR_POS 4
+#define ISBN_POS 5
+#define BOOKTITLE_POS 6
+#define CHAPTER_POS 7
+#define EDITION_POS 8
+#define EDITOR_POS 9
+#define HOWPUBLISHED_POS 10
+#define INSTITUTION_POS 11
+#define JOURNAL_POS 12
+#define MONTH_POS 13
+#define NOTE_POS 14
+#define ANNOTE_POS 15
+#define NUMBER_POS 16
+#define ORGANIZATIONS_POS 17
+#define PAGES_POS 18
+#define PUBLISHER_POS 19
+#define ADDRESS_POS 20
+#define SCHOOL_POS 21
+#define SERIES_POS 22
+#define REPORTTYPE_POS 23
+#define VOLUME_POS 24
+#define URL_POS 25
+#define CUSTOM1_POS 26
+#define CUSTOM2_POS 27
+#define CUSTOM3_POS 28
+#define CUSTOM4_POS 29
+#define CUSTOM5_POS 30
+
+//-----------------------------------------------------------------------------
+struct StringPair
+{
+ String sRealColumnName;
+ String sLogicalColumnName;
+};
+//-----------------------------------------------------------------------------
+struct Mapping
+{
+ String sTableName;
+ String sURL;
+ StringPair aColumnPairs[COLUMN_COUNT];
+};
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+class BibView;
+class BibToolBar;
+class BibGridwin;
+class BibDataManager : public cppu::WeakImplHelper1 < ::com::sun::star::beans::XPropertyChangeListener>
+{
+private:
+ ::com::sun::star::uno::Reference< ::com::sun::star::form::XForm > xForm;
+ ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel > xGridModel;
+ ::com::sun::star::uno::Reference< ::com::sun::star::registry::XSimpleRegistry > xRegistry;
+ ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > xSourceProps;
+ ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > xGlobalProps;
+ ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XSQLQueryComposer > xParser;
+ ::rtl::OUString aActiveDataTable;
+ ::rtl::OUString aDataSourceURL;
+ ::rtl::OUString aQuoteChar;
+// sal_Bool bNew;
+// sal_Bool bModified;
+ ::com::sun::star::uno::Any aUID;
+ ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet > xBibCursor;
+ MappingArray* pMappingsArr;
+
+ BibView* pBibView;
+ BibToolBar* pToolbar;
+ BibGridwin* pGridWin;
+
+ String aColumnDefaults[COLUMN_COUNT];
+ String sIdentifierMapping;
+protected:
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > createGlobalProperties();
+ void InsertFields(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XFormComponent > & xGrid);
+ void InitRegistry();
+ void SetMeAsUidListener();
+ void RemoveMeAsUidListener();
+
+ void UpdateAddressbookCursor(::rtl::OUString aSourceName);
+public:
+
+ BibDataManager(BibRegistry * pRegistry);
+ ~BibDataManager();
+
+ virtual void SAL_CALL propertyChange(const ::com::sun::star::beans::PropertyChangeEvent& evt)
+ throw( ::com::sun::star::uno::RuntimeException );
+ virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source );
+
+
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::form::XForm > createDatabaseForm(const ::rtl::OUString& rURL, ::rtl::OUString& rTableName);
+ ::com::sun::star::uno::Reference< ::com::sun::star::form::XForm > getDatabaseForm();
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel > createGridModel(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XForm > & xDbForm);
+ ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel > createGridModel();
+
+ void loadDatabase();
+ void unloadDatabase();
+
+ ::com::sun::star::uno::Sequence< ::rtl::OUString> getDataSources();
+
+ ::rtl::OUString getActiveDataSource() {return aDataSourceURL;}
+ void setActiveDataSource(const ::rtl::OUString& rURL);
+
+ ::rtl::OUString getActiveDataTable();
+ void setActiveDataTable(const ::rtl::OUString& rTable);
+
+ void setFilter(const ::rtl::OUString& rQuery);
+ ::rtl::OUString getFilter();
+
+ ::com::sun::star::uno::Sequence< ::rtl::OUString> getQueryFields();
+ void setQueryField(const ::rtl::OUString& rField);
+ ::rtl::OUString getQueryField();
+ void startQueryWith(const ::rtl::OUString& rQuery);
+ ::rtl::OUString getQueryString();
+ ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XSQLQueryComposer > getParser();
+
+// void saveGridModel(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel > & xDbForm);
+ ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel > loadGridModel(const ::rtl::OUString& rName);
+
+ void setBeamerSize(long nSize);
+ long getBeamerSize();
+ void setViewSize(long nSize);
+ long getViewSize();
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > getViewProperties();
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > getChildViewProperties(const ::rtl::OUString& rName);
+
+ ::rtl::OUString getControlName(sal_Int32 nFormatKey );
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel > loadControlModel(const ::rtl::OUString& rName,
+ sal_Bool bForceListBox = sal_False);
+ void saveCtrModel(const ::rtl::OUString& rName,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel > & rCtrModel);
+
+// sal_Bool isNew() { return bNew;}
+// sal_Bool isModified() { return bModified;}
+
+ sal_Bool moveRelative(long nMove);
+
+ void CreateMappingDialog(Window* pParent);
+ ::rtl::OUString CreateDBChangeDialog(Window* pParent);
+ const Mapping* GetMapping(const ::rtl::OUString& rTableName, const ::rtl::OUString* pURL = 0) const;
+ void SetMapping(const ::rtl::OUString& rTableName, const Mapping* pMapping);
+
+ const String& GetDefColumnName(sal_uInt16 nIndex) const
+ {return aColumnDefaults[nIndex];}
+
+ void SetView(BibView* pView) {pBibView = pView;}
+
+ void SetToolbar(BibToolBar* pSet) {pToolbar = pSet;}
+ void SetGridWin(BibGridwin* pSet) {pGridWin = pSet;}
+
+ const String& GetIdentifierMapping();
+ void ResetIdentifierMapping() {sIdentifierMapping.Erase();}
+};
+
+
+#endif
diff --git a/extensions/source/bibliography/datman.src b/extensions/source/bibliography/datman.src
new file mode 100644
index 000000000000..311968f03fcc
--- /dev/null
+++ b/extensions/source/bibliography/datman.src
@@ -0,0 +1,1276 @@
+/*************************************************************************
+ *
+ * $RCSfile: datman.src,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: hr $ $Date: 2000-09-18 16:16:44 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+//==================================================================
+// BibDataManager
+//
+//
+//
+// $Author: hr $ $Date: 2000-09-18 16:16:44 $ $Revision: 1.1.1.1 $
+// $Logfile: T:/sc/inc/scresid.hxv $ $Workfile: scresid.hxx $
+//------------------------------------------------------------------
+
+#include "bib.hrc"
+#include "datman.hrc"
+ModalDialog RID_DLG_MAPPING
+{
+ HelpID = HID_DLG_MAPPING;
+ OutputSize = TRUE ;
+ SVLook = TRUE ;
+ Size = MAP_APPFONT ( 391 , 181 ) ;
+ Moveable = TRUE ;
+ Text = "Spaltenzuordung fr Tabelle %1";
+ Text [ENGLISH] = "Column assignment for table %1";
+
+ OKButton BT_OK
+ {
+ Pos = MAP_APPFONT ( 338 , 3 ) ;
+ Size = MAP_APPFONT ( 50 , 12 ) ;
+ };
+ CancelButton BT_CANCEL
+ {
+ Pos = MAP_APPFONT ( 338 , 18 ) ;
+ Size = MAP_APPFONT ( 50 , 12 ) ;
+ };
+ HelpButton BT_HELP
+ {
+ Pos = MAP_APPFONT ( 338 , 36 ) ;
+ Size = MAP_APPFONT ( 50 , 12 ) ;
+ };
+ GroupBox GB_MAPPING
+ {
+ Pos = MAP_APPFONT ( 6 , 3 ) ;
+ Size = MAP_APPFONT ( 329 , 175 ) ;
+ Text = "Spaltennamen";
+ Text [ENGLISH] = "Column names";
+ Text[ english_us ] = "Column names";
+ Text[ portuguese ] = "Nomes de coluna";
+ Text[ russian ] = " ";
+ Text[ greek ] = " ";
+ Text[ dutch ] = "Kolomnamen";
+ Text[ french ] = "Noms des colonnes";
+ Text[ spanish ] = "Nombres de columna";
+ Text[ italian ] = "Nomi colonna";
+ Text[ danish ] = "Kolonnenavne";
+ Text[ swedish ] = "Kolumnnamn";
+ Text[ polish ] = "Nazwy kolumn";
+ Text[ portuguese_brazilian ] = "Column names";
+ Text[ japanese ] = "";
+ Text[ korean ] = " ̸";
+ Text[ chinese_simplified ] = "";
+ Text[ chinese_traditional ] = "W";
+ Text[ arabic ] = " ";
+ Text[ turkish ] = "Stun adlar";
+ Text[ language_user1 ] = " ";
+ };
+ FixedText FT_IDENTIFIER
+ {
+ Pos = MAP_APPFONT ( 12 , 14 ) ;
+ Size = MAP_APPFONT ( 50 , 10 ) ;
+ Text = "Krzel";
+ Text [ENGLISH] = "Identifier";
+ Text[ english_us ] = "Identifier";
+ Text[ portuguese ] = "Abreviatura";
+ Text[ russian ] = "";
+ Text[ greek ] = "";
+ Text[ dutch ] = "Initialen";
+ Text[ french ] = "Abrviation";
+ Text[ spanish ] = "Abreviatura";
+ Text[ italian ] = "Sigla";
+ Text[ danish ] = "Genvej";
+ Text[ swedish ] = "Initialer";
+ Text[ polish ] = "Inicjay";
+ Text[ portuguese_brazilian ] = "Identifier";
+ Text[ japanese ] = "ȗ";
+ Text[ korean ] = "̴ϼ";
+ Text[ chinese_simplified ] = "ʶ";
+ Text[ chinese_traditional ] = "Yg";
+ Text[ arabic ] = "";
+ Text[ turkish ] = "Ksaltma";
+ };
+ ListBox LB_IDENTIFIER
+ {
+ Pos = MAP_APPFONT ( 65 , 13 ) ;
+ Size = MAP_APPFONT ( 50 , 60 ) ;
+ DropDown = TRUE;
+ };
+ FixedText FT_AUTHORITYTYPE
+ {
+ Pos = MAP_APPFONT ( 118 , 14 ) ;
+ Size = MAP_APPFONT ( 50 , 10 ) ;
+ Text = "Literaturart";
+ Text [ENGLISH] = "Type of literature";
+ Text[ english_us ] = "Type of literature";
+ Text[ portuguese ] = "Tipo de literatura";
+ Text[ russian ] = "";
+ Text[ greek ] = " ";
+ Text[ dutch ] = "Soort literatuur";
+ Text[ french ] = "Genre";
+ Text[ spanish ] = "Tipo de literatura";
+ Text[ italian ] = "Tipo di letteratura";
+ Text[ danish ] = "Litteraturtype";
+ Text[ swedish ] = "Typ av litteratur";
+ Text[ polish ] = "Rodzaj literatury";
+ Text[ portuguese_brazilian ] = "Type of literature";
+ Text[ japanese ] = "{̕";
+ Text[ korean ] = " ";
+ Text[ chinese_simplified ] = "";
+ Text[ chinese_traditional ] = "m";
+ Text[ arabic ] = "";
+ Text[ turkish ] = "Kaynaka tr";
+ };
+ ListBox LB_AUTHORITYTYPE
+ {
+ Pos = MAP_APPFONT ( 171 , 13 ) ;
+ Size = MAP_APPFONT ( 50 , 60 ) ;
+ DropDown = TRUE;
+ };
+ FixedText FT_AUTHOR
+ {
+ Pos = MAP_APPFONT ( 229 , 14 ) ;
+ Size = MAP_APPFONT ( 50 , 10 ) ;
+ Text = "Autor";
+ Text [ENGLISH] = "Author";
+ Text[ english_us ] = "Author";
+ Text[ portuguese ] = "Autor";
+ Text[ russian ] = "";
+ Text[ greek ] = "";
+ Text[ dutch ] = "Auteur";
+ Text[ french ] = "Auteur";
+ Text[ spanish ] = "Autor";
+ Text[ italian ] = "Autore";
+ Text[ danish ] = "Forfatter";
+ Text[ swedish ] = "Frfattare";
+ Text[ polish ] = "Autor";
+ Text[ portuguese_brazilian ] = "Author";
+ Text[ japanese ] = "";
+ Text[ korean ] = "";
+ Text[ chinese_simplified ] = "";
+ Text[ chinese_traditional ] = "@";
+ Text[ arabic ] = "";
+ Text[ turkish ] = "Yazan";
+ };
+ ListBox LB_AUTHOR
+ {
+ Pos = MAP_APPFONT ( 282 , 13 ) ;
+ Size = MAP_APPFONT ( 50 , 60 ) ;
+ DropDown = TRUE;
+ };
+ FixedText FT_TITLE
+ {
+ Pos = MAP_APPFONT ( 12 , 29 ) ;
+ Size = MAP_APPFONT ( 50 , 10 ) ;
+ Text = "Titel";
+ Text [ENGLISH] = "Title";
+ Text[ english_us ] = "Title";
+ Text[ portuguese ] = "Ttulo";
+ Text[ russian ] = "";
+ Text[ greek ] = "";
+ Text[ dutch ] = "Titel";
+ Text[ french ] = "Titre";
+ Text[ spanish ] = "Ttulo";
+ Text[ italian ] = "Titolo";
+ Text[ danish ] = "Titel";
+ Text[ swedish ] = "Titel";
+ Text[ polish ] = "Tytu";
+ Text[ portuguese_brazilian ] = "Title";
+ Text[ japanese ] = "";
+ Text[ korean ] = "";
+ Text[ chinese_simplified ] = "";
+ Text[ chinese_traditional ] = "D";
+ Text[ arabic ] = "";
+ Text[ turkish ] = "Balk";
+ Text[ language_user1 ] = " ";
+ };
+ ListBox LB_TITLE
+ {
+ Pos = MAP_APPFONT ( 65 , 28 ) ;
+ Size = MAP_APPFONT ( 50 , 60 ) ;
+ DropDown = TRUE;
+ };
+ FixedText FT_MONTH
+ {
+ Pos = MAP_APPFONT ( 118 , 29 ) ;
+ Size = MAP_APPFONT ( 50 , 10 ) ;
+ Text = "Monat";
+ Text [ENGLISH] = "Month";
+ Text[ english_us ] = "Month";
+ Text[ portuguese ] = "Ms";
+ Text[ russian ] = "";
+ Text[ greek ] = "";
+ Text[ dutch ] = "Maand";
+ Text[ french ] = "Mois";
+ Text[ spanish ] = "Mes";
+ Text[ italian ] = "Mese";
+ Text[ danish ] = "Mned";
+ Text[ swedish ] = "Mnad";
+ Text[ polish ] = "Miesic";
+ Text[ portuguese_brazilian ] = "Month";
+ Text[ japanese ] = "";
+ Text[ korean ] = "";
+ Text[ chinese_simplified ] = "";
+ Text[ chinese_traditional ] = "";
+ Text[ arabic ] = "";
+ Text[ turkish ] = "Ay";
+ Text[ language_user1 ] = " ";
+ };
+ ListBox LB_MONTH
+ {
+ Pos = MAP_APPFONT ( 171 , 28 ) ;
+ Size = MAP_APPFONT ( 50 , 60 ) ;
+ DropDown = TRUE;
+ };
+ FixedText FT_YEAR
+ {
+ Pos = MAP_APPFONT ( 229 , 29 ) ;
+ Size = MAP_APPFONT ( 50 , 10 ) ;
+ Text = "Jahr";
+ Text [ENGLISH] = "Year";
+ Text[ english_us ] = "Year";
+ Text[ portuguese ] = "Ano";
+ Text[ russian ] = "";
+ Text[ greek ] = "";
+ Text[ dutch ] = "Jaar";
+ Text[ french ] = "An";
+ Text[ spanish ] = "Ao";
+ Text[ italian ] = "Anno";
+ Text[ danish ] = "r";
+ Text[ swedish ] = "r";
+ Text[ polish ] = "Rok";
+ Text[ portuguese_brazilian ] = "Year";
+ Text[ japanese ] = "N";
+ Text[ korean ] = "";
+ Text[ chinese_simplified ] = "";
+ Text[ chinese_traditional ] = "~";
+ Text[ arabic ] = "";
+ Text[ turkish ] = "Yl";
+ Text[ language_user1 ] = " ";
+ };
+ ListBox LB_YEAR
+ {
+ Pos = MAP_APPFONT ( 282 , 28 ) ;
+ Size = MAP_APPFONT ( 50 , 60 ) ;
+ DropDown = TRUE;
+ };
+ FixedText FT_ISBN
+ {
+ Pos = MAP_APPFONT ( 12 , 44 ) ;
+ Size = MAP_APPFONT ( 50 , 10 ) ;
+ Text = "ISBN";
+ Text [ENGLISH] = "ISBN";
+ Text[ english_us ] = "ISBN";
+ Text[ portuguese ] = "ISBN";
+ Text[ russian ] = "ISBN";
+ Text[ greek ] = "ISBN";
+ Text[ dutch ] = "ISBN";
+ Text[ french ] = "ISBN";
+ Text[ spanish ] = "ISBN";
+ Text[ italian ] = "ISBN";
+ Text[ danish ] = "ISBN";
+ Text[ swedish ] = "ISBN";
+ Text[ polish ] = "ISBN";
+ Text[ portuguese_brazilian ] = "ISBN";
+ Text[ japanese ] = "ISBN";
+ Text[ korean ] = "ISBN";
+ Text[ chinese_simplified ] = "ISBN";
+ Text[ chinese_traditional ] = "ISBN";
+ Text[ arabic ] = "ISBN";
+ Text[ turkish ] = "ISBN";
+ Text[ language_user1 ] = " ";
+ };
+ ListBox LB_ISBN
+ {
+ Pos = MAP_APPFONT ( 65 , 43 ) ;
+ Size = MAP_APPFONT ( 50 , 60 ) ;
+ DropDown = TRUE;
+ };
+ FixedText FT_BOOKTITLE
+ {
+ Pos = MAP_APPFONT ( 118 , 44 ) ;
+ Size = MAP_APPFONT ( 50 , 10 ) ;
+ Text = "Buchtitel";
+ Text [ENGLISH] = "Book title";
+ Text[ english_us ] = "Book title";
+ Text[ portuguese ] = "Ttulo do livro";
+ Text[ russian ] = " ";
+ Text[ greek ] = " ";
+ Text[ dutch ] = "Boektitel";
+ Text[ french ] = "Titre du livre";
+ Text[ spanish ] = "Ttulo del libro";
+ Text[ italian ] = "Titolo del libro";
+ Text[ danish ] = "Bogtitel";
+ Text[ swedish ] = "Boktitel";
+ Text[ polish ] = "Tytu ksiki";
+ Text[ portuguese_brazilian ] = "Book title";
+ Text[ japanese ] = "";
+ Text[ korean ] = "å ";
+ Text[ chinese_simplified ] = "鼮";
+ Text[ chinese_traditional ] = "ѦW";
+ Text[ arabic ] = " ";
+ Text[ turkish ] = "Kitap bal";
+ Text[ language_user1 ] = " ";
+ };
+ ListBox LB_BOOKTITLE
+ {
+ Pos = MAP_APPFONT ( 171, 43 ) ;
+ Size = MAP_APPFONT ( 50 , 60 ) ;
+ DropDown = TRUE;
+ };
+ FixedText FT_CHAPTER
+ {
+ Pos = MAP_APPFONT ( 229 , 44 ) ;
+ Size = MAP_APPFONT ( 50 , 10 ) ;
+ Text = "Kapitel";
+ Text [ENGLISH] = "Chapter";
+ Text[ english_us ] = "Chapter";
+ Text[ portuguese ] = "Captulo";
+ Text[ russian ] = "";
+ Text[ greek ] = "";
+ Text[ dutch ] = "Hoofdstuk";
+ Text[ french ] = "Chapitre";
+ Text[ spanish ] = "Captulo";
+ Text[ italian ] = "Capitolo";
+ Text[ danish ] = "Kapitel";
+ Text[ swedish ] = "Kapitel";
+ Text[ polish ] = "Rozdzia";
+ Text[ portuguese_brazilian ] = "Chapter";
+ Text[ japanese ] = "";
+ Text[ korean ] = "";
+ Text[ chinese_simplified ] = "";
+ Text[ chinese_traditional ] = "";
+ Text[ arabic ] = "";
+ Text[ turkish ] = "Blm";
+ Text[ language_user1 ] = " ";
+ };
+ ListBox LB_CHAPTER
+ {
+ Pos = MAP_APPFONT ( 282 , 43 ) ;
+ Size = MAP_APPFONT ( 50 , 60 ) ;
+ DropDown = TRUE;
+ };
+ FixedText FT_EDITION
+ {
+ Pos = MAP_APPFONT ( 12 , 59 ) ;
+ Size = MAP_APPFONT ( 50 , 10 ) ;
+ Text = "Ausgabe";
+ Text [ENGLISH] = "Edition";
+ Text[ english_us ] = "Edition";
+ Text[ portuguese ] = "Edio";
+ Text[ russian ] = "";
+ Text[ greek ] = "";
+ Text[ dutch ] = "Editie";
+ Text[ french ] = "dition";
+ Text[ spanish ] = "Edicin";
+ Text[ italian ] = "Edizione";
+ Text[ danish ] = "Udgave";
+ Text[ swedish ] = "Utgva";
+ Text[ polish ] = "Wydanie";
+ Text[ portuguese_brazilian ] = "Edition";
+ Text[ japanese ] = "";
+ Text[ korean ] = "";
+ Text[ chinese_simplified ] = "汾";
+ Text[ chinese_traditional ] = "";
+ Text[ arabic ] = "";
+ Text[ turkish ] = "Yaym";
+ Text[ language_user1 ] = " ";
+ };
+ ListBox LB_EDITION
+ {
+ Pos = MAP_APPFONT ( 65 , 58 ) ;
+ Size = MAP_APPFONT ( 50 , 60 ) ;
+ DropDown = TRUE;
+ };
+ FixedText FT_EDITOR
+ {
+ Pos = MAP_APPFONT ( 118 , 59 ) ;
+ Size = MAP_APPFONT ( 50 , 10 ) ;
+ Text = "Herausgeber";
+ Text [ENGLISH] = "Editor";
+ Text[ english_us ] = "Editor";
+ Text[ portuguese ] = "Editor";
+ Text[ russian ] = "";
+ Text[ greek ] = "";
+ Text[ dutch ] = "Uitgever";
+ Text[ french ] = "diteur";
+ Text[ spanish ] = "Editor";
+ Text[ italian ] = "Editore";
+ Text[ danish ] = "Udgiver";
+ Text[ swedish ] = "Utgivare";
+ Text[ polish ] = "Wydawca";
+ Text[ portuguese_brazilian ] = "Editor";
+ Text[ japanese ] = "ҏW";
+ Text[ korean ] = "";
+ Text[ chinese_simplified ] = "";
+ Text[ chinese_traditional ] = "X";
+ Text[ arabic ] = "";
+ Text[ turkish ] = "Yaymc";
+ Text[ language_user1 ] = " ";
+ };
+ ListBox LB_EDITOR
+ {
+ Pos = MAP_APPFONT ( 171, 58) ;
+ Size = MAP_APPFONT ( 50 , 60 ) ;
+ DropDown = TRUE;
+ };
+ FixedText FT_HOWPUBLISHED
+ {
+ Pos = MAP_APPFONT ( 229 , 59 ) ;
+ Size = MAP_APPFONT ( 50 , 10 ) ;
+ Text = "Ausgabeart";
+ Text [ENGLISH] = "How published";
+ Text[ english_us ] = "Publication type";
+ Text[ portuguese ] = "Tipo de publicao";
+ Text[ russian ] = " ";
+ Text[ greek ] = " ";
+ Text[ dutch ] = "Wijze van publiceren";
+ Text[ french ] = "Mode de publication";
+ Text[ spanish ] = "Tipo de publicacin";
+ Text[ italian ] = "Tipo di edizione";
+ Text[ danish ] = "Udgivelsestype";
+ Text[ swedish ] = "Utgivningstyp";
+ Text[ polish ] = "Rodzaj publikacji";
+ Text[ portuguese_brazilian ] = "How published";
+ Text[ japanese ] = "ް";
+ Text[ korean ] = " ";
+ Text[ chinese_simplified ] = "зʽ";
+ Text[ chinese_traditional ] = "X";
+ Text[ arabic ] = " ";
+ Text[ turkish ] = "Yaym tr";
+ };
+ ListBox LB_HOWPUBLISHED
+ {
+ Pos = MAP_APPFONT ( 282 , 58 ) ;
+ Size = MAP_APPFONT ( 50 , 60 ) ;
+ DropDown = TRUE;
+ };
+ FixedText FT_INSTITUTION
+ {
+ Pos = MAP_APPFONT ( 12 , 74 ) ;
+ Size = MAP_APPFONT ( 50 , 10 ) ;
+ Text = "Institution";
+ Text [ENGLISH] = "Institution";
+ Text[ english_us ] = "Institution";
+ Text[ portuguese ] = "Instituio";
+ Text[ russian ] = "";
+ Text[ greek ] = "";
+ Text[ dutch ] = "Instelling";
+ Text[ french ] = "Institution";
+ Text[ spanish ] = "Institucin";
+ Text[ italian ] = "Istituzione";
+ Text[ danish ] = "Institution";
+ Text[ swedish ] = "Institution";
+ Text[ polish ] = "Instytucja";
+ Text[ portuguese_brazilian ] = "Institution";
+ Text[ japanese ] = "@";
+ Text[ korean ] = "ȸ";
+ Text[ chinese_simplified ] = "";
+ Text[ chinese_traditional ] = "";
+ Text[ arabic ] = "";
+ Text[ turkish ] = "Kurum";
+ Text[ language_user1 ] = " ";
+ };
+ ListBox LB_INSTITUTION
+ {
+ Pos = MAP_APPFONT ( 65 , 73 ) ;
+ Size = MAP_APPFONT ( 50 , 60 ) ;
+ DropDown = TRUE;
+ };
+ FixedText FT_JOURNAL
+ {
+ Pos = MAP_APPFONT ( 118 , 74 ) ;
+ Size = MAP_APPFONT ( 50 , 10 ) ;
+ Text = "Zeitschrift";
+ Text [ENGLISH] = "Journal";
+ Text[ english_us ] = "Journal";
+ Text[ portuguese ] = "Revista";
+ Text[ russian ] = "";
+ Text[ greek ] = "";
+ Text[ dutch ] = "Tijdschrift";
+ Text[ french ] = "Revue";
+ Text[ spanish ] = "Revista";
+ Text[ italian ] = "Rivista";
+ Text[ danish ] = "Tidsskrift";
+ Text[ swedish ] = "Tidskrift";
+ Text[ polish ] = "Czasopismo";
+ Text[ portuguese_brazilian ] = "Journal";
+ Text[ japanese ] = "G";
+ Text[ korean ] = "";
+ Text[ chinese_simplified ] = "־";
+ Text[ chinese_traditional ] = "x";
+ Text[ arabic ] = "";
+ Text[ turkish ] = "Dergi";
+ Text[ language_user1 ] = " ";
+ };
+ ListBox LB_JOURNAL
+ {
+ Pos = MAP_APPFONT ( 171 , 73 ) ;
+ Size = MAP_APPFONT ( 50 , 60 ) ;
+ DropDown = TRUE;
+ };
+ FixedText FT_NOTE
+ {
+ Pos = MAP_APPFONT ( 229 , 74 ) ;
+ Size = MAP_APPFONT ( 50 , 10 ) ;
+ Text = "Notiz";
+ Text [ENGLISH] = "Note";
+ Text[ english_us ] = "Note";
+ Text[ portuguese ] = "Anotaes";
+ Text[ russian ] = "";
+ Text[ greek ] = "";
+ Text[ dutch ] = "Aantekening";
+ Text[ french ] = "Note";
+ Text[ spanish ] = "Nota";
+ Text[ italian ] = "Nota";
+ Text[ danish ] = "Note";
+ Text[ swedish ] = "Anteckning";
+ Text[ polish ] = "Notatka";
+ Text[ portuguese_brazilian ] = "Note";
+ Text[ japanese ] = "";
+ Text[ korean ] = "";
+ Text[ chinese_simplified ] = "ע";
+ Text[ chinese_traditional ] = "O";
+ Text[ arabic ] = "";
+ Text[ turkish ] = "Not";
+ };
+ ListBox LB_NOTE
+ {
+ Pos = MAP_APPFONT ( 282 , 73 ) ;
+ Size = MAP_APPFONT ( 50 , 60 ) ;
+ DropDown = TRUE;
+ };
+ FixedText FT_ANNOTE
+ {
+ Pos = MAP_APPFONT ( 12, 89 ) ;
+ Size = MAP_APPFONT ( 50 , 10 ) ;
+ Text = "Anmerkung";
+ Text [ENGLISH] = "Annotation";
+ Text[ english_us ] = "Annotation";
+ Text[ portuguese ] = "Anotaes";
+ Text[ russian ] = "";
+ Text[ greek ] = "";
+ Text[ dutch ] = "Commentaar";
+ Text[ french ] = "Annotation";
+ Text[ spanish ] = "Anotacin";
+ Text[ italian ] = "Annotazione";
+ Text[ danish ] = "Anmrkning";
+ Text[ swedish ] = "Anmrkning";
+ Text[ polish ] = "Adnotacja";
+ Text[ portuguese_brazilian ] = "Annotation";
+ Text[ japanese ] = "";
+ Text[ korean ] = "ּ";
+ Text[ chinese_simplified ] = "˵";
+ Text[ chinese_traditional ] = "ƪ`";
+ Text[ arabic ] = " ";
+ Text[ turkish ] = "Aklama";
+ Text[ language_user1 ] = " ";
+ };
+ ListBox LB_ANNOTE
+ {
+ Pos = MAP_APPFONT ( 65, 88 ) ;
+ Size = MAP_APPFONT ( 50 , 60 ) ;
+ DropDown = TRUE;
+ };
+ FixedText FT_NUMBER
+ {
+ Pos = MAP_APPFONT ( 118 , 89 ) ;
+ Size = MAP_APPFONT ( 50 , 10 ) ;
+ Text = "Nummer";
+ Text [ENGLISH] = "No.";
+ Text[ english_us ] = "No.";
+ Text[ portuguese ] = "N.";
+ Text[ russian ] = "";
+ Text[ greek ] = "";
+ Text[ dutch ] = "Nummer";
+ Text[ french ] = "No.";
+ Text[ spanish ] = "Nmero";
+ Text[ italian ] = "No.";
+ Text[ danish ] = "Nummer";
+ Text[ swedish ] = "Nummer";
+ Text[ polish ] = "Numer";
+ Text[ portuguese_brazilian ] = "No.";
+ Text[ japanese ] = "No.";
+ Text[ korean ] = "ȣ";
+ Text[ chinese_simplified ] = "";
+ Text[ chinese_traditional ] = "X";
+ Text[ arabic ] = "";
+ Text[ turkish ] = "Say";
+ };
+ ListBox LB_NUMBER
+ {
+ Pos = MAP_APPFONT ( 171 , 88 ) ;
+ Size = MAP_APPFONT ( 50 , 60 ) ;
+ DropDown = TRUE;
+ };
+ FixedText FT_ORGANIZATIONS
+ {
+ Pos = MAP_APPFONT ( 229 , 89 ) ;
+ Size = MAP_APPFONT ( 50 , 10 ) ;
+ Text = "Organisation";
+ Text [ENGLISH] = "Organization";
+ Text[ english_us ] = "Organization";
+ Text[ portuguese ] = "Organizao";
+ Text[ russian ] = "";
+ Text[ greek ] = "";
+ Text[ dutch ] = "Organisatie";
+ Text[ french ] = "Organisation";
+ Text[ spanish ] = "Organizacin";
+ Text[ italian ] = "Organizzazione";
+ Text[ danish ] = "Organisation";
+ Text[ swedish ] = "Organisation";
+ Text[ polish ] = "Organizacja";
+ Text[ portuguese_brazilian ] = "Organization";
+ Text[ japanese ] = "gDc";
+ Text[ korean ] = "ü";
+ Text[ chinese_simplified ] = "֯";
+ Text[ chinese_traditional ] = "´";
+ Text[ arabic ] = "";
+ Text[ turkish ] = "Organizasyon";
+ };
+ ListBox LB_ORGANIZATIONS
+ {
+ Pos = MAP_APPFONT ( 282, 88 ) ;
+ Size = MAP_APPFONT ( 50 , 60 ) ;
+ DropDown = TRUE;
+ };
+ FixedText FT_PAGES
+ {
+ Pos = MAP_APPFONT ( 12 , 104 ) ;
+ Size = MAP_APPFONT ( 50 , 10 ) ;
+ Text = "Seite(n)";
+ Text [ENGLISH] = "Page(s)";
+ Text[ english_us ] = "Page(s)";
+ Text[ portuguese ] = "Pgina(s)";
+ Text[ russian ] = "()";
+ Text[ greek ] = "/-";
+ Text[ dutch ] = "Pagina(s)";
+ Text[ french ] = "Page(s)";
+ Text[ spanish ] = "Pgina(s)";
+ Text[ italian ] = "Pagina/e";
+ Text[ danish ] = "Side(r)";
+ Text[ swedish ] = "Sida(-or)";
+ Text[ polish ] = "Strona(y)";
+ Text[ portuguese_brazilian ] = "Page(s)";
+ Text[ japanese ] = "߰";
+ Text[ korean ] = " ";
+ Text[ chinese_simplified ] = "ҳ";
+ Text[ chinese_traditional ] = "";
+ Text[ arabic ] = " ()";
+ Text[ turkish ] = "Sayfa says";
+ Text[ language_user1 ] = " ";
+ };
+ ListBox LB_PAGES
+ {
+ Pos = MAP_APPFONT ( 65 , 103 ) ;
+ Size = MAP_APPFONT ( 50 , 60 ) ;
+ DropDown = TRUE;
+ };
+ FixedText FT_PUBLISHER
+ {
+ Pos = MAP_APPFONT ( 118 , 104 ) ;
+ Size = MAP_APPFONT ( 50 , 10 ) ;
+ Text = "Verlag";
+ Text [ENGLISH] = "Publisher";
+ Text[ english_us ] = "Publisher";
+ Text[ portuguese ] = "Editora";
+ Text[ russian ] = "";
+ Text[ greek ] = " ";
+ Text[ dutch ] = "Uitgeverij";
+ Text[ french ] = "dition";
+ Text[ spanish ] = "Editorial";
+ Text[ italian ] = "Casa editrice";
+ Text[ danish ] = "Forlag";
+ Text[ swedish ] = "Frlag";
+ Text[ polish ] = "Wydawnictwo";
+ Text[ portuguese_brazilian ] = "Publisher";
+ Text[ japanese ] = "s";
+ Text[ korean ] = "ǻ";
+ Text[ chinese_simplified ] = "";
+ Text[ chinese_traditional ] = "X";
+ Text[ arabic ] = " ";
+ Text[ turkish ] = "Yaym evi";
+ };
+ ListBox LB_PUBLISHER
+ {
+ Pos = MAP_APPFONT ( 171, 103 ) ;
+ Size = MAP_APPFONT ( 50 , 60 ) ;
+ DropDown = TRUE;
+ };
+ FixedText FT_ADDRESS
+ {
+ Pos = MAP_APPFONT ( 229 , 104 ) ;
+ Size = MAP_APPFONT ( 50 , 10 ) ;
+ Text = "Adresse";
+ Text [ENGLISH] = "Address";
+ Text[ english_us ] = "Address";
+ Text[ portuguese ] = "Endereo";
+ Text[ russian ] = "";
+ Text[ greek ] = "";
+ Text[ dutch ] = "Adres";
+ Text[ french ] = "Adresse";
+ Text[ spanish ] = "Direccin";
+ Text[ italian ] = "Indirizzo";
+ Text[ danish ] = "Adresse";
+ Text[ swedish ] = "Adress";
+ Text[ polish ] = "Adres";
+ Text[ portuguese_brazilian ] = "Address";
+ Text[ japanese ] = "Z";
+ Text[ korean ] = "ּ";
+ Text[ chinese_simplified ] = "ַ";
+ Text[ chinese_traditional ] = "a}";
+ Text[ arabic ] = "";
+ Text[ turkish ] = "Adres";
+ Text[ language_user1 ] = " ";
+ };
+ ListBox LB_ADDRESS
+ {
+ Pos = MAP_APPFONT ( 282 , 103 ) ;
+ Size = MAP_APPFONT ( 50 , 60 ) ;
+ DropDown = TRUE;
+ };
+ FixedText FT_SCHOOL
+ {
+ Pos = MAP_APPFONT ( 12 , 119 ) ;
+ Size = MAP_APPFONT ( 50 , 10 ) ;
+ Text = "Hochschule";
+ Text [ENGLISH] = "School";
+ Text[ english_us ] = "University";
+ Text[ portuguese ] = "Universidade";
+ Text[ russian ] = "";
+ Text[ greek ] = ".../...";
+ Text[ dutch ] = "Hogeschool";
+ Text[ french ] = "cole suprieure";
+ Text[ spanish ] = "Universidad";
+ Text[ italian ] = "Scuola superiore";
+ Text[ danish ] = "Universitet";
+ Text[ swedish ] = "Hgskola";
+ Text[ polish ] = "Szkoa wysza";
+ Text[ portuguese_brazilian ] = "School";
+ Text[ japanese ] = "@";
+ Text[ korean ] = "б";
+ Text[ chinese_simplified ] = "ѧ";
+ Text[ chinese_traditional ] = "|";
+ Text[ arabic ] = "";
+ Text[ turkish ] = "niversite";
+ };
+ ListBox LB_SCHOOL
+ {
+ Pos = MAP_APPFONT ( 65 , 118 ) ;
+ Size = MAP_APPFONT ( 50 , 60 ) ;
+ DropDown = TRUE;
+ };
+ FixedText FT_SERIES
+ {
+ Pos = MAP_APPFONT ( 118 , 119 ) ;
+ Size = MAP_APPFONT ( 50 , 10 ) ;
+ Text = "Serie";
+ Text [ENGLISH] = "Series";
+ Text[ english_us ] = "Series";
+ Text[ portuguese ] = "Srie";
+ Text[ russian ] = "";
+ Text[ greek ] = "";
+ Text[ dutch ] = "Serie";
+ Text[ french ] = "Srie";
+ Text[ spanish ] = "Serie";
+ Text[ italian ] = "Serie";
+ Text[ danish ] = "Serie";
+ Text[ swedish ] = "Serie";
+ Text[ polish ] = "Seria";
+ Text[ portuguese_brazilian ] = "Series";
+ Text[ japanese ] = "p";
+ Text[ korean ] = "ø";
+ Text[ chinese_simplified ] = "ϵ";
+ Text[ chinese_traditional ] = "tC";
+ Text[ arabic ] = "";
+ Text[ turkish ] = "Dizi";
+ Text[ language_user1 ] = " ";
+ };
+ ListBox LB_SERIES
+ {
+ Pos = MAP_APPFONT ( 171 , 118) ;
+ Size = MAP_APPFONT ( 50 , 60 ) ;
+ DropDown = TRUE;
+ };
+ FixedText FT_REPORTTYPE
+ {
+ Pos = MAP_APPFONT ( 229 , 119 ) ;
+ Size = MAP_APPFONT ( 50 , 10 ) ;
+ Text = "Art des Reports";
+ Text [ENGLISH] = "Report type";
+ Text[ english_us ] = "Report type";
+ Text[ portuguese ] = "Tipo de relatrio";
+ Text[ russian ] = " ";
+ Text[ greek ] = " ";
+ Text[ dutch ] = "Soort bericht";
+ Text[ french ] = "Type de rapport";
+ Text[ spanish ] = "Tipo de informe";
+ Text[ italian ] = "Rapporto";
+ Text[ danish ] = "Rapporttype";
+ Text[ swedish ] = "Typ av rapport";
+ Text[ polish ] = "Rodzaj raportu";
+ Text[ portuguese_brazilian ] = "Report type";
+ Text[ japanese ] = "߰Ă̎";
+ Text[ korean ] = " ";
+ Text[ chinese_simplified ] = "";
+ Text[ chinese_traditional ] = "i";
+ Text[ arabic ] = " ";
+ Text[ turkish ] = "Rapor tr";
+ Text[ language_user1 ] = " ";
+ };
+ ListBox LB_REPORTTYPE
+ {
+ Pos = MAP_APPFONT ( 282 , 118 ) ;
+ Size = MAP_APPFONT ( 50 , 60 ) ;
+ DropDown = TRUE;
+ };
+ FixedText FT_VOLUME
+ {
+ Pos = MAP_APPFONT ( 12 , 134 ) ;
+ Size = MAP_APPFONT ( 50 , 10 ) ;
+ Text = "Band";
+ Text [ENGLISH] = "Volume";
+ Text[ english_us ] = "Volume";
+ Text[ portuguese ] = "Volume";
+ Text[ russian ] = "";
+ Text[ greek ] = "";
+ Text[ dutch ] = "Deel";
+ Text[ french ] = "Volume";
+ Text[ spanish ] = "Tomo";
+ Text[ italian ] = "Volume";
+ Text[ danish ] = "Bind";
+ Text[ swedish ] = "Volym";
+ Text[ polish ] = "Tom";
+ Text[ portuguese_brazilian ] = "Volume";
+ Text[ japanese ] = "";
+ Text[ korean ] = "";
+ Text[ chinese_simplified ] = "";
+ Text[ chinese_traditional ] = "U";
+ Text[ arabic ] = "";
+ Text[ turkish ] = "Cilt";
+ };
+ ListBox LB_VOLUME
+ {
+ Pos = MAP_APPFONT ( 65 , 133) ;
+ Size = MAP_APPFONT ( 50 , 60 ) ;
+ DropDown = TRUE;
+ };
+ FixedText FT_URL
+ {
+ Pos = MAP_APPFONT ( 118 , 134 ) ;
+ Size = MAP_APPFONT ( 50 , 10 ) ;
+ Text = "URL";
+ Text [ENGLISH] = "URL";
+ Text[ english_us ] = "URL";
+ Text[ portuguese ] = "URL";
+ Text[ russian ] = "URL";
+ Text[ greek ] = "URL";
+ Text[ dutch ] = "URL";
+ Text[ french ] = "URL";
+ Text[ spanish ] = "URL";
+ Text[ italian ] = "URL";
+ Text[ danish ] = "URL";
+ Text[ swedish ] = "URL";
+ Text[ polish ] = "URL";
+ Text[ portuguese_brazilian ] = "URL";
+ Text[ japanese ] = "URL";
+ Text[ korean ] = "URL";
+ Text[ chinese_simplified ] = "URL";
+ Text[ chinese_traditional ] = "URL";
+ Text[ arabic ] = "URL";
+ Text[ turkish ] = "URL";
+ Text[ language_user1 ] = " ";
+ };
+ ListBox LB_URL
+ {
+ Pos = MAP_APPFONT ( 171 , 133 ) ;
+ Size = MAP_APPFONT ( 50 , 60 ) ;
+ DropDown = TRUE;
+ };
+ FixedText FT_CUSTOM1
+ {
+ Pos = MAP_APPFONT ( 229 , 134 ) ;
+ Size = MAP_APPFONT ( 50 , 10 ) ;
+ Text = "Benutzerfeld 1";
+ Text [ENGLISH] = "Custom field 1";
+ Text[ english_us ] = "User-defined 1";
+ Text[ portuguese ] = "Campo de utilizador 1";
+ Text[ russian ] = " 1";
+ Text[ greek ] = " 1";
+ Text[ dutch ] = "Gebruikersveld 1";
+ Text[ french ] = "Champ d'utilisateur 1";
+ Text[ spanish ] = "Campo de usuario 1";
+ Text[ italian ] = "Utente 1";
+ Text[ danish ] = "Brugerdefineret 1";
+ Text[ swedish ] = "Anvndarflt 1";
+ Text[ polish ] = "Pole uytkownika 1";
+ Text[ portuguese_brazilian ] = "Custom field 1";
+ Text[ japanese ] = "հް̨1";
+ Text[ korean ] = " ʵ 1";
+ Text[ chinese_simplified ] = "û 1";
+ Text[ chinese_traditional ] = "ۭq 1";
+ Text[ arabic ] = " 1";
+ Text[ turkish ] = "Kullanc alan 1";
+ Text[ language_user1 ] = " ";
+ };
+ ListBox LB_CUSTOM1
+ {
+ Pos = MAP_APPFONT ( 282 , 133 ) ;
+ Size = MAP_APPFONT ( 50 , 60 ) ;
+ DropDown = TRUE;
+ };
+ FixedText FT_CUSTOM2
+ {
+ Pos = MAP_APPFONT ( 12 , 149 ) ;
+ Size = MAP_APPFONT ( 50 , 10 ) ;
+ Text = "Benutzerfeld 2";
+ Text [ENGLISH] = "Custom field 2";
+ Text[ english_us ] = "User-defined 2";
+ Text[ portuguese ] = "Campo de utilizador 2";
+ Text[ russian ] = " 2";
+ Text[ greek ] = " 2";
+ Text[ dutch ] = "Gebruikersveld 2";
+ Text[ french ] = "Champ d'tilisateur 2";
+ Text[ spanish ] = "Campo de usuario 2";
+ Text[ italian ] = "Utente 2";
+ Text[ danish ] = "Brugerdefineret 2";
+ Text[ swedish ] = "Anvndarflt 2";
+ Text[ polish ] = "Pole uytkownika 2";
+ Text[ portuguese_brazilian ] = "Custom field 2";
+ Text[ japanese ] = "հް̨2";
+ Text[ korean ] = " ʵ 2";
+ Text[ chinese_simplified ] = "û 2";
+ Text[ chinese_traditional ] = "ۭq 2";
+ Text[ arabic ] = " 2";
+ Text[ turkish ] = "Kullanc alan 2";
+ Text[ language_user1 ] = " ";
+ };
+ ListBox LB_CUSTOM2
+ {
+ Pos = MAP_APPFONT ( 65 , 148 ) ;
+ Size = MAP_APPFONT ( 50 , 60 ) ;
+ DropDown = TRUE;
+ };
+ FixedText FT_CUSTOM3
+ {
+ Pos = MAP_APPFONT ( 118 , 149 ) ;
+ Size = MAP_APPFONT ( 50 , 10 ) ;
+ Text = "Benutzerfeld 3";
+ Text [ENGLISH] = "Custom field 3";
+ Text[ english_us ] = "User-defined 3";
+ Text[ portuguese ] = "Campo de utilizador 3";
+ Text[ russian ] = " 3";
+ Text[ greek ] = " 3";
+ Text[ dutch ] = "Gebruikersveld 3";
+ Text[ french ] = "Champ d'utilisateur 3";
+ Text[ spanish ] = "Campo de usuario 3";
+ Text[ italian ] = "Utente 3";
+ Text[ danish ] = "Brugerdefineret 3";
+ Text[ swedish ] = "Anvndarflt 3";
+ Text[ polish ] = "Pole uytkownika 3";
+ Text[ portuguese_brazilian ] = "Custom field 3";
+ Text[ japanese ] = "հް̨3";
+ Text[ korean ] = " ʵ 3";
+ Text[ chinese_simplified ] = "û 3";
+ Text[ chinese_traditional ] = "ۭq 3";
+ Text[ arabic ] = " 3";
+ Text[ turkish ] = "Kullanc alan 3";
+ };
+ ListBox LB_CUSTOM3
+ {
+ Pos = MAP_APPFONT ( 171 , 148 ) ;
+ Size = MAP_APPFONT ( 50 , 60 ) ;
+ DropDown = TRUE;
+ };
+ FixedText FT_CUSTOM4
+ {
+ Pos = MAP_APPFONT ( 229 , 149 ) ;
+ Size = MAP_APPFONT ( 50 , 10 ) ;
+ Text = "Benutzerfeld 4";
+ Text [ENGLISH] = "Custom field 4";
+ Text[ english_us ] = "User-defined 4";
+ Text[ portuguese ] = "Campo de utilizador 4";
+ Text[ russian ] = " 4";
+ Text[ greek ] = " 4";
+ Text[ dutch ] = "Gebruikersveld 4";
+ Text[ french ] = "Champ d'utilisateur 4";
+ Text[ spanish ] = "Campo de usuario 4";
+ Text[ italian ] = "Utente 4";
+ Text[ danish ] = "Brugerdefineret 4";
+ Text[ swedish ] = "Anvndarflt 4";
+ Text[ polish ] = "Pole uytkownika 4";
+ Text[ portuguese_brazilian ] = "Custom field 4";
+ Text[ japanese ] = "հް̨4";
+ Text[ korean ] = " ʵ 4";
+ Text[ chinese_simplified ] = "û 4";
+ Text[ chinese_traditional ] = "ۭq 4";
+ Text[ arabic ] = " 4";
+ Text[ turkish ] = "Kullanc alan 4";
+ };
+ ListBox LB_CUSTOM4
+ {
+ Pos = MAP_APPFONT ( 282, 148 ) ;
+ Size = MAP_APPFONT ( 50 , 60 ) ;
+ DropDown = TRUE;
+ };
+ FixedText FT_CUSTOM5
+ {
+ Pos = MAP_APPFONT ( 12 , 164 ) ;
+ Size = MAP_APPFONT ( 50 , 10 ) ;
+ Text = "Benutzerfeld 5";
+ Text [ENGLISH] = "Custom field 5";
+ Text[ english_us ] = "User-defined 5";
+ Text[ portuguese ] = "Campo de utilizador 5";
+ Text[ russian ] = " 5";
+ Text[ greek ] = " 5";
+ Text[ dutch ] = "Gebruikersveld 5";
+ Text[ french ] = "Champ d'utilisateur 5";
+ Text[ spanish ] = "Campo de usuario 5";
+ Text[ italian ] = "Utente 5";
+ Text[ danish ] = "Brugerdefineret 5";
+ Text[ swedish ] = "Anvndarflt 5";
+ Text[ polish ] = "Pole uytkownika 5";
+ Text[ portuguese_brazilian ] = "Custom field 5";
+ Text[ japanese ] = "հް̨5";
+ Text[ korean ] = " ʵ 5";
+ Text[ chinese_simplified ] = "û 5";
+ Text[ chinese_traditional ] = "ۭq 5";
+ Text[ arabic ] = " 5";
+ Text[ turkish ] = "Kullanc alan 5";
+ };
+ ListBox LB_CUSTOM5
+ {
+ Pos = MAP_APPFONT ( 65 , 163 ) ;
+ Size = MAP_APPFONT ( 50 , 60 ) ;
+ DropDown = TRUE;
+ };
+ String ST_NONE
+ {
+ Text = "";
+ Text [ENGLISH] = "";
+ Text[ english_us ] = "";
+ Text[ portuguese ] = "";
+ Text[ russian ] = "<>";
+ Text[ greek ] = "<>";
+ Text[ dutch ] = "";
+ Text[ french ] = "";
+ Text[ spanish ] = "";
+ Text[ italian ] = "";
+ Text[ danish ] = "";
+ Text[ swedish ] = "";
+ Text[ polish ] = "";
+ Text[ portuguese_brazilian ] = "";
+ Text[ japanese ] = "<Ȃ>";
+ Text[ korean ] = "<>";
+ Text[ chinese_simplified ] = "<>";
+ Text[ chinese_traditional ] = "";
+ Text[ arabic ] = "<>";
+ Text[ turkish ] = "";
+ Text[ language_user1 ] = " ";
+ };
+ Text[ english_us ] = "Column Layout for Table %1";
+ Text[ portuguese ] = "Atribuio de colunas para a tabela %1";
+ Text[ russian ] = " %1";
+ Text[ greek ] = " %1";
+ Text[ dutch ] = "Kolomindeling voor tabel %1";
+ Text[ french ] = "Assignation de colonnes pour la table %1";
+ Text[ spanish ] = "Asignacin de columnas para tabla %1";
+ Text[ italian ] = "Assegnazione colonne per la tabella %1";
+ Text[ danish ] = "Kolonnetildeling for tabel %1";
+ Text[ swedish ] = "Kolumntilldelning fr tabell %1";
+ Text[ polish ] = "Przyporzdkowanie kolumn tabeli %1";
+ Text[ portuguese_brazilian ] = "Column assignment for table %1";
+ Text[ japanese ] = "ð%1p̗̕";
+ Text[ korean ] = "̺ ̾ƿ %1";
+ Text[ chinese_simplified ] = "Ϊ %1 ";
+ Text[ chinese_traditional ] = "s %1 檺";
+ Text[ arabic ] = " %1";
+ Text[ turkish ] = "Tablo %1 iin stun dzeni";
+};
+ModalDialog RID_DLG_DBCHANGE
+{
+ HelpID = HID_DLG_DBCHANGE;
+ OutputSize = TRUE ;
+ SVLook = TRUE ;
+ Size = MAP_APPFONT ( 291 , 131 ) ;
+ Moveable = TRUE ;
+ Text = "Auswahl der Datenquelle";
+ Text [ENGLISH] = "Select data source";
+
+ OKButton BT_OK
+ {
+ Pos = MAP_APPFONT ( 238 , 3 ) ;
+ Size = MAP_APPFONT ( 50 , 12 ) ;
+ };
+ CancelButton BT_CANCEL
+ {
+ Pos = MAP_APPFONT ( 238 , 18 ) ;
+ Size = MAP_APPFONT ( 50 , 12 ) ;
+ };
+ HelpButton BT_HELP
+ {
+ Pos = MAP_APPFONT ( 238 , 36 ) ;
+ Size = MAP_APPFONT ( 50 , 12 ) ;
+ };
+ GroupBox GB_SELECTION
+ {
+ Pos = MAP_APPFONT ( 6 , 3 ) ;
+ Size = MAP_APPFONT ( 229 , 125 ) ;
+ Text = "Auswahl";
+ Text [ENGLISH] = "Selection";
+ Text[ english_us ] = "Selection";
+ Text[ portuguese ] = "Seleco";
+ Text[ russian ] = "";
+ Text[ greek ] = "";
+ Text[ dutch ] = "Selectie";
+ Text[ french ] = "Slection";
+ Text[ spanish ] = "Seleccin";
+ Text[ italian ] = "Selezione";
+ Text[ danish ] = "Udvalg";
+ Text[ swedish ] = "Urval";
+ Text[ polish ] = "Wybr";
+ Text[ portuguese_brazilian ] = "Selection";
+ Text[ japanese ] = "I";
+ Text[ korean ] = "";
+ Text[ chinese_simplified ] = "ѡ";
+ Text[ chinese_traditional ] = "";
+ Text[ arabic ] = "";
+ Text[ turkish ] = "Seim";
+ Text[ language_user1 ] = " ";
+ };
+ String ST_ENTRY
+ {
+ Text = "Eintrag";
+ Text [ENGLISH] = "Entry";
+ Text[ english_us ] = "Entry";
+ Text[ portuguese ] = "Entrada";
+ Text[ russian ] = "";
+ Text[ greek ] = "";
+ Text[ dutch ] = "Item";
+ Text[ french ] = "Entre";
+ Text[ spanish ] = "Entrada";
+ Text[ italian ] = "Voce";
+ Text[ danish ] = "Element";
+ Text[ swedish ] = "Post";
+ Text[ polish ] = "Wpis";
+ Text[ portuguese_brazilian ] = "Entry";
+ Text[ japanese ] = "";
+ Text[ korean ] = "";
+ Text[ chinese_simplified ] = "Ŀ";
+ Text[ chinese_traditional ] = "";
+ Text[ arabic ] = "";
+ Text[ turkish ] = "Giri";
+ };
+ String ST_URL
+ {
+ Text = "URL";
+ Text [ENGLISH] = "URL";
+ Text[ english_us ] = "URL";
+ Text[ portuguese ] = "URL";
+ Text[ russian ] = "URL";
+ Text[ greek ] = "URL";
+ Text[ dutch ] = "URL";
+ Text[ french ] = "URL";
+ Text[ spanish ] = "URL";
+ Text[ italian ] = "URL";
+ Text[ danish ] = "URL";
+ Text[ swedish ] = "URL";
+ Text[ polish ] = "URL";
+ Text[ portuguese_brazilian ] = "URL";
+ Text[ japanese ] = "URL";
+ Text[ korean ] = "URL";
+ Text[ chinese_simplified ] = "URL";
+ Text[ chinese_traditional ] = "URL";
+ Text[ arabic ] = "URL";
+ Text[ turkish ] = "URL";
+ Text[ language_user1 ] = " ";
+ };
+ Control LB_SELECTION
+ {
+ Pos = MAP_APPFONT ( 9 , 24 ) ;
+ Size = MAP_APPFONT ( 223 , 100 ) ;
+ Border = TRUE;
+ TabStop = TRUE;
+ };
+ Window HB_SELECTION
+ {
+ Pos = MAP_APPFONT ( 9 , 12 ) ;
+ Size = MAP_APPFONT ( 223 , 12 ) ;
+ Border = TRUE;
+ };
+ Text[ english_us ] = "Select Data Source";
+ Text[ portuguese ] = "Seleccionar fonte de dados";
+ Text[ russian ] = " ";
+ Text[ greek ] = " ";
+ Text[ dutch ] = "Kies gegevensbron";
+ Text[ french ] = "Slection de la source de donnes";
+ Text[ spanish ] = "Seleccin de la fuente de datos";
+ Text[ italian ] = "Selezione della sorgente dati";
+ Text[ danish ] = "Vlg datakilde";
+ Text[ swedish ] = "Urval av dataklla";
+ Text[ polish ] = "Wybr rda danych";
+ Text[ portuguese_brazilian ] = "Select data source";
+ Text[ japanese ] = "ް̑I";
+ Text[ korean ] = " ҽ ";
+ Text[ chinese_simplified ] = "ѡԴ";
+ Text[ chinese_traditional ] = "ܼu";
+ Text[ arabic ] = " ";
+ Text[ turkish ] = "Veri kayna seimi";
+ Text[ language_user1 ] = " ";
+};
+
diff --git a/extensions/source/bibliography/framectr.cxx b/extensions/source/bibliography/framectr.cxx
new file mode 100644
index 000000000000..e8de5942814f
--- /dev/null
+++ b/extensions/source/bibliography/framectr.cxx
@@ -0,0 +1,629 @@
+/*************************************************************************
+ *
+ * $RCSfile: framectr.cxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: hr $ $Date: 2000-09-18 16:16:44 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef _SV_WAITOBJ_HXX //autogen wg. WaitObject
+#include
+#endif
+
+#ifndef _CPPUHELPER_INTERFACECONTAINER_HXX_
+#include
+#endif
+#ifndef _COM_SUN_STAR_UTIL_URL_HPP_
+#include
+#endif
+#ifndef _OSL_MUTEX_HXX_
+#include
+#endif
+//#ifndef _USR_ITERHLP_HXX
+//#include
+//#endif
+#ifndef _SV_MSGBOX_HXX
+#include
+#endif
+//#ifndef _TOOLKIT_UNOIFACE_HXX
+//#include
+//#endif
+#ifndef _TOOLS_DEBUG_HXX
+#include
+#endif
+
+#ifndef _BIB_FRAMECTR_HXX
+#include "framectr.hxx"
+#endif
+#ifndef _BIB_DATMAN_HXX
+#include "datman.hxx"
+#endif
+#ifndef _BIB_FIELDWIN_HXX
+#include "fieldwin.hxx"
+#endif
+#ifndef ADRRESID_HXX
+#include "bibresid.hxx"
+#endif
+#ifndef BIB_HRC
+#include "bib.hrc"
+#endif
+#ifndef _TOOLKIT_UNOHLP_HXX
+#include
+#endif
+
+#ifndef _COM_SUN_STAR_DATA_XDATABASEDIALOGS_HPP_
+#include
+#endif
+#ifndef _CPPUHELPER_IMPLBASE1_HXX_
+#include // helper for implementations
+#endif
+
+//using namespace vos;
+using namespace osl;
+using namespace cppu;
+using namespace rtl;
+using namespace com::sun::star::frame;
+using namespace com::sun::star::uno;
+using namespace com::sun::star;
+
+#define C2U(cChar) OUString::createFromAscii(cChar)
+extern rtl::OUString gGridModelCommand;
+
+SV_IMPL_PTRARR( BibStatusDispatchArr, BibStatusDispatchPtr );
+
+class BibFrameCtrl_Impl : public cppu::WeakImplHelper1 < XFrameActionListener >
+{
+public:
+ Mutex aMutex;
+ OMultiTypeInterfaceContainerHelper aLC;
+
+ BibFrameController_Impl* pController;
+
+ BibFrameCtrl_Impl()
+ : aLC( aMutex )
+ , pController(0)
+ {}
+
+ ~BibFrameCtrl_Impl();
+
+ virtual void SAL_CALL frameAction(const FrameActionEvent& aEvent) throw( RuntimeException );
+ virtual void SAL_CALL disposing( const lang::EventObject& Source );
+};
+
+
+BibFrameCtrl_Impl::~BibFrameCtrl_Impl()
+{
+}
+
+void BibFrameCtrl_Impl::frameAction(const FrameActionEvent& aEvent) throw( uno::RuntimeException )
+{
+ if ( pController && aEvent.Frame == pController->getFrame())
+ {
+ if(aEvent.Action == FrameAction_FRAME_ACTIVATED)
+ {
+ pController->activate();
+ }
+ else if(aEvent.Action == FrameAction_FRAME_DEACTIVATING)
+ {
+ pController->deactivate();
+ }
+ }
+}
+
+void BibFrameCtrl_Impl::disposing( const lang::EventObject& Source )
+{
+ if ( pController )
+ pController->getFrame()->removeFrameActionListener( this );
+}
+
+BibFrameController_Impl::BibFrameController_Impl( const uno::Reference< awt::XWindow > & xComponent):
+ xWindow( xComponent ),
+ pDatMan(NULL),
+ pFieldWin(NULL)
+
+{
+ pBibMod = OpenBibModul();
+ pDatMan = (*pBibMod)->createDataManager();
+ xDatman = pDatMan;
+ bDisposing=sal_False;
+ bHierarchical=sal_True;
+ pImp = new BibFrameCtrl_Impl;
+ pImp->pController = this;
+ pImp->acquire();
+}
+
+BibFrameController_Impl::BibFrameController_Impl( const uno::Reference< awt::XWindow > & xComponent,
+ BibDataManager* pDataManager):
+ xWindow( xComponent ),
+ pDatMan(pDataManager),
+ pFieldWin(NULL),
+ pBibMod(NULL)
+{
+ bDisposing=sal_False;
+ bHierarchical=sal_True;
+ pImp = new BibFrameCtrl_Impl;
+ pImp->pController = this;
+ pImp->acquire();
+}
+
+BibDataManager* BibFrameController_Impl::GetDataManager()
+{
+ return pDatMan;
+}
+
+BibFrameController_Impl::~BibFrameController_Impl()
+{
+ pImp->pController = NULL;
+ pImp->release();
+ delete pDatMan;
+ if(pBibMod)
+ CloseBibModul(pBibMod);
+}
+
+void BibFrameController_Impl::attachFrame( const uno::Reference< XFrame > & xArg )
+{
+ xFrame = xArg;
+ xFrame->addFrameActionListener( pImp );
+}
+
+sal_Bool BibFrameController_Impl::attachModel( const uno::Reference< XModel > & xModel )
+{
+ return sal_False;
+}
+
+sal_Bool BibFrameController_Impl::suspend( sal_Bool bSuspend )
+{
+ if ( bSuspend )
+ getFrame()->removeFrameActionListener( pImp );
+ else
+ getFrame()->addFrameActionListener( pImp );
+ return sal_True;
+}
+
+uno::Any BibFrameController_Impl::getViewData()
+{
+ return uno::Any();
+}
+
+void BibFrameController_Impl::restoreViewData( const uno::Any& Value )
+{
+}
+
+uno::Reference< XFrame > BibFrameController_Impl::getFrame()
+{
+ return xFrame;
+}
+
+uno::Reference< XModel > BibFrameController_Impl::getModel()
+{
+ return uno::Reference< XModel > ();
+}
+
+void BibFrameController_Impl::dispose()
+{
+ util::URL aURL;
+ aURL.Complete = C2U("0");
+ uno::Reference< XDispatchProvider > xProv( xFrame, UNO_QUERY );
+ if ( xProv.is() )
+ {
+ uno::Reference< XDispatch > aDisp = xProv->queryDispatch( aURL, C2U("_tool:_menubar"), 0 );
+ if ( aDisp.is() )
+ aDisp->dispatch( aURL, uno::Sequence() );
+ }
+
+
+ delete pFieldWin;
+ bDisposing = sal_True;
+ lang::EventObject aObject;
+ aObject.Source = (XController*)this;
+ pImp->aLC.disposeAndClear(aObject);
+ xDatman = 0;
+ pDatMan = 0;
+ aStatusListeners.DeleteAndDestroy( 0, aStatusListeners.Count() );
+ }
+
+void BibFrameController_Impl::addEventListener( const uno::Reference< lang::XEventListener > & aListener )
+{
+ pImp->aLC.addInterface( ::getCppuType((const Reference< lang::XEventListener >*)0), aListener );
+}
+
+void BibFrameController_Impl::removeEventListener( const uno::Reference< lang::XEventListener > & aListener )
+{
+ pImp->aLC.removeInterface( ::getCppuType((const Reference< lang::XEventListener >*)0), aListener );
+}
+
+uno::Reference< frame::XDispatch > BibFrameController_Impl::queryDispatch( const util::URL& aURL, const rtl::OUString& aTarget, sal_Int32 nSearchFlags )
+{
+ if ( !bDisposing )
+ {
+ String aCommand( aURL.Path );
+ if ( aCommand.EqualsAscii("Undo") || aCommand.EqualsAscii("Cut") ||
+ aCommand.EqualsAscii("Copy") || aCommand.EqualsAscii("Paste") ||
+ aCommand.EqualsAscii("SelectAll") || aCommand.Copy(0,4).EqualsAscii("Bib/")||
+ aCommand.EqualsAscii("Title"))
+
+ return (frame::XDispatch*) this;
+ }
+
+ return uno::Reference< frame::XDispatch > ();
+}
+
+uno::Sequence > BibFrameController_Impl::queryDispatches( const uno::Sequence& aDescripts )
+{
+ return uno::Sequence >();
+}
+
+//class XDispatch
+void BibFrameController_Impl::dispatch(const util::URL& aURL, const uno::Sequence< beans::PropertyValue >& aArgs)
+{
+ if ( !bDisposing )
+ {
+ WaitObject aWaitObject;
+
+ String aCommand( aURL.Path);
+ if(aCommand.EqualsAscii("Bib/Mapping"))
+ {
+ Window* pParent = VCLUnoHelper::GetWindow( xWindow );
+ pDatMan->CreateMappingDialog(pParent);
+ }
+ else if(aCommand.EqualsAscii("Bib/source"))
+ {
+ ChangeDataSource(aArgs);
+ }
+ else if(aCommand.EqualsAscii("Bib/sdbsource"))
+ {
+ Window* pParent = VCLUnoHelper::GetWindow( xWindow );
+ rtl::OUString aURL = pDatMan->CreateDBChangeDialog(pParent);
+ if(aURL.getLength())
+ {
+ uno::Sequence< beans::PropertyValue > aArgs(2);
+ beans::PropertyValue* pProps = aArgs.getArray();
+ pProps[0].Value <<= rtl::OUString();
+ pProps[1].Value <<= aURL;
+ ChangeDataSource(aArgs);
+ }
+ }
+ else if(aCommand.EqualsAscii("Bib/autoFilter"))
+ {
+ sal_uInt16 nCount = aStatusListeners.Count();
+ for ( sal_uInt16 n=0; naURL.Path == C2U("Bib/removeFilter") )
+ {
+ FeatureStateEvent aEvent;
+ aEvent.FeatureURL = pObj->aURL;
+ aEvent.IsEnabled = sal_True;
+ aEvent.Requery = sal_False;
+ aEvent.Source = (XDispatch *) this;
+ pObj->xListener->statusChanged( aEvent );
+ //break; because there are more than one
+ }
+ }
+
+ const beans::PropertyValue* pPropertyValue = aArgs.getConstArray();
+ uno::Any aValue=pPropertyValue[0].Value;
+ rtl::OUString aQuery;
+ aValue >>= aQuery;
+
+ aValue=pPropertyValue[1].Value;
+ rtl::OUString aQueryField;
+ aValue >>= aQueryField;
+ pDatMan->setQueryField(aQueryField);
+ pDatMan->startQueryWith(aQuery);
+ }
+ else if(aCommand.EqualsAscii("Bib/standardFilter"))
+ {
+ sal_uInt16 nCount = aStatusListeners.Count();
+ for ( sal_uInt16 n=0; naURL.Path == C2U("Bib/removeFilter") )
+ {
+ FeatureStateEvent aEvent;
+ aEvent.FeatureURL = pObj->aURL;
+ aEvent.IsEnabled = sal_True;
+ aEvent.Requery = sal_False;
+ aEvent.Source = (XDispatch *) this;
+ pObj->xListener->statusChanged( aEvent );
+ //break; because there are more than one
+ }
+ }
+
+ uno::Reference< sdb::XSQLQueryComposer > xParser=pDatMan->getParser();
+ uno::Reference< data::XDatabaseDialogs > xDlgs(xParser, UNO_QUERY);
+ if (xDlgs.is())
+ {
+ uno::Reference< container::XNamed > xField;
+ xDlgs->executeFilter(xField);
+ pDatMan->setFilter(xParser->getFilter());
+ }
+ }
+ else if(aCommand.EqualsAscii("Bib/removeFilter"))
+ {
+ RemoveFilter();
+ }
+ }
+}
+//-----------------------------------------------------------------------------
+void BibFrameController_Impl::addStatusListener(
+ const uno::Reference< frame::XStatusListener > & aListener,
+ const util::URL& aURL)
+{
+ // create a new Reference and insert into listener array
+ aStatusListeners.Insert( new BibStatusDispatch( aURL, aListener ), aStatusListeners.Count() );
+
+ // den ersten Status synchron zusenden
+ if ( aURL.Path == C2U("Bib/hierarchical") )
+ {
+ FeatureStateEvent aEvent;
+ aEvent.FeatureURL = aURL;
+ aEvent.IsEnabled = sal_True;
+ aEvent.Requery = sal_False;
+ aEvent.Source = (XDispatch *) this;
+ const char* pHier = bHierarchical? "" : "*" ;
+ aEvent.State <<= rtl::OUString::createFromAscii(pHier);
+ aListener->statusChanged( aEvent );
+ }
+ else if(aURL.Path == C2U("Bib/MenuFilter"))
+ {
+ FeatureStateEvent aEvent;
+ aEvent.FeatureURL = aURL;
+ aEvent.IsEnabled = sal_True;
+ aEvent.Requery = sal_False;
+ aEvent.Source = (XDispatch *) this;
+ aEvent.FeatureDescriptor=pDatMan->getQueryField();
+
+ uno::Sequence aStringSeq=pDatMan->getQueryFields();
+ aEvent.State.setValue(&aStringSeq,::getCppuType((uno::Sequence*)0));
+
+ aListener->statusChanged( aEvent );
+ }
+ else if ( aURL.Path == C2U("Bib/source"))
+ {
+ FeatureStateEvent aEvent;
+ aEvent.FeatureURL = aURL;
+ aEvent.IsEnabled = sal_True;
+ aEvent.Requery = sal_False;
+ aEvent.Source = (XDispatch *) this;
+ aEvent.FeatureDescriptor=pDatMan->getActiveDataTable();
+
+ uno::Sequence aStringSeq=pDatMan->getDataSources();
+ aEvent.State.setValue(&aStringSeq,::getCppuType((uno::Sequence*)0));
+ aListener->statusChanged( aEvent );
+ }
+ else if(aURL.Path == C2U("Bib/query"))
+ {
+ FeatureStateEvent aEvent;
+ aEvent.FeatureURL = aURL;
+ aEvent.IsEnabled = sal_True;
+ aEvent.Requery = sal_False;
+ aEvent.Source = (XDispatch *) this;
+ aEvent.State <<= pDatMan->getQueryString();
+ aListener->statusChanged( aEvent );
+ }
+ else if (aURL.Path == C2U("Bib/removeFilter") )
+ {
+ rtl::OUString aFilterStr=pDatMan->getFilter();
+ FeatureStateEvent aEvent;
+ aEvent.FeatureURL = aURL;
+ aEvent.IsEnabled = (aFilterStr.len() > 0);
+ aEvent.Requery = sal_False;
+ aEvent.Source = (XDispatch *) this;
+ aListener->statusChanged( aEvent );
+ //break; because there are more than one
+ }
+ else
+ {
+ FeatureStateEvent aEvent;
+ aEvent.FeatureURL = aURL;
+ aEvent.IsEnabled = sal_True;
+ aEvent.Requery = sal_False;
+ aEvent.Source = (XDispatch *) this;
+ aEvent.State <<= OUString(String(BibResId(RID_BIB_STR_FRAME_TITLE)));
+ aListener->statusChanged( aEvent );
+ }
+}
+//-----------------------------------------------------------------------------
+void BibFrameController_Impl::removeStatusListener(
+ const uno::Reference< frame::XStatusListener > & aObject, const util::URL& aURL)
+{
+ // search listener array for given listener
+ // for checking equality always "cast" to XInterface
+ if ( !bDisposing )
+ {
+ sal_uInt16 nCount = aStatusListeners.Count();
+ for ( sal_uInt16 n=0; nxListener.is();
+ if (!bFlag || (pObj->xListener == aObject &&
+ ( !aURL.Complete.len() || pObj->aURL.Path == aURL.Path )))
+ {
+ aStatusListeners.DeleteAndDestroy( n );
+ break;
+ }
+ }
+ }
+}
+//-----------------------------------------------------------------------------
+void BibFrameController_Impl::RemoveFilter()
+{
+ rtl::OUString aQuery;
+ pDatMan->startQueryWith(aQuery);
+
+ sal_uInt16 nCount = aStatusListeners.Count();
+ FeatureStateEvent aEvent;
+
+ sal_Bool bRemoveFilter=sal_False;
+ sal_Bool bQueryText=sal_False;
+
+ for ( sal_uInt16 n=0; naURL.Path == C2U("Bib/removeFilter") )
+ {
+ FeatureStateEvent aEvent;
+ aEvent.FeatureURL = pObj->aURL;
+ aEvent.IsEnabled = sal_False;
+ aEvent.Requery = sal_False;
+ aEvent.Source = (XDispatch *) this;
+ pObj->xListener->statusChanged( aEvent );
+ bRemoveFilter=sal_True;
+ }
+ else if(pObj->aURL.Path == C2U("Bib/query"))
+ {
+ FeatureStateEvent aEvent;
+ aEvent.FeatureURL = pObj->aURL;
+ aEvent.IsEnabled = sal_True;
+ aEvent.Requery = sal_False;
+ aEvent.Source = (XDispatch *) this;
+ aEvent.State <<= aQuery;
+ pObj->xListener->statusChanged( aEvent );
+ bQueryText=sal_True;
+ }
+
+ if(bRemoveFilter && bQueryText)
+ break;
+
+ }
+}
+//-----------------------------------------------------------------------------
+void BibFrameController_Impl::ChangeDataSource(const uno::Sequence< beans::PropertyValue >& aArgs)
+{
+ const beans::PropertyValue* pPropertyValue = aArgs.getConstArray();
+ uno::Any aValue=pPropertyValue[0].Value;
+ rtl::OUString aDBTableName;
+ aValue >>= aDBTableName;
+
+ pDatMan->unloadDatabase();
+
+ if(aArgs.getLength() > 1)
+ {
+ uno::Any aDB = pPropertyValue[1].Value;
+ rtl::OUString aURL;
+ aDB >>= aURL;
+ pDatMan->setActiveDataSource(aURL);
+ aDBTableName = pDatMan->getActiveDataTable();
+ }
+ else
+ pDatMan->setActiveDataTable(aDBTableName);
+ uno::Reference< awt::XControlModel > xNewModel=pDatMan->createGridModel();
+
+ sal_uInt16 nCount = aStatusListeners.Count();
+ FeatureStateEvent aEvent;
+
+ sal_Bool bGridMod=sal_False;
+ sal_Bool bMenuFilter=sal_False;
+ sal_Bool bQueryText=sal_False;
+ for ( sal_uInt16 n=0; naURL.Path.compareToAscii("Bib/newGridModel"))
+ {
+ aEvent.FeatureURL = pObj->aURL;
+ aEvent.IsEnabled = sal_True;
+ aEvent.Requery = sal_False;
+ aEvent.Source = (XDispatch *) this;
+
+ aEvent.State.setValue(&xNewModel, ::getCppuType((uno::Reference*)0));
+ pObj->xListener->statusChanged( aEvent );
+ bGridMod=sal_True;
+ }
+ else if(COMPARE_EQUAL == pObj->aURL.Path.compareToAscii("Bib/MenuFilter"))
+ {
+ aEvent.FeatureURL = pObj->aURL;
+ aEvent.IsEnabled = sal_True;
+ aEvent.Requery = sal_False;
+ aEvent.Source = (XDispatch *) this;
+ aEvent.FeatureDescriptor=pDatMan->getQueryField();
+
+ uno::Sequence aStringSeq=pDatMan->getQueryFields();
+ aEvent.State.setValue(&aStringSeq,::getCppuType((uno::Sequence*)0));
+
+ pObj->xListener->statusChanged( aEvent );
+ bMenuFilter=sal_True;
+ }
+ else if(COMPARE_EQUAL == pObj->aURL.Path.compareToAscii("Bib/query"))
+ {
+ FeatureStateEvent aEvent;
+ aEvent.FeatureURL = pObj->aURL;
+ aEvent.IsEnabled = sal_True;
+ aEvent.Requery = sal_False;
+ aEvent.Source = (XDispatch *) this;
+ aEvent.State <<= pDatMan->getQueryString();
+ pObj->xListener->statusChanged( aEvent );
+ bQueryText=sal_True;
+ }
+
+ if(bGridMod && bMenuFilter && bQueryText) break;
+
+ }
+ pDatMan->loadDatabase();
+ if(pFieldWin)
+ pFieldWin->Update(pDatMan->getDatabaseForm());
+}
+
+void BibFrameController_Impl::activate()
+{
+ if(pFieldWin) pFieldWin->Show();
+}
+void BibFrameController_Impl::deactivate()
+{
+ if(pFieldWin) pFieldWin->Hide();
+}
+
+
diff --git a/extensions/source/bibliography/framectr.hxx b/extensions/source/bibliography/framectr.hxx
new file mode 100644
index 000000000000..9709c5cc29f9
--- /dev/null
+++ b/extensions/source/bibliography/framectr.hxx
@@ -0,0 +1,198 @@
+/*************************************************************************
+ *
+ * $RCSfile: framectr.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: hr $ $Date: 2000-09-18 16:16:44 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef _BIB_FRAMECTR_HXX
+#define _BIB_FRAMECTR_HXX
+//#ifndef _COM_SUN_STAR_FRAME_XCONTROLLER_HPP_
+//#include
+//#endif
+//#ifndef _COM_SUN_STAR_FRAME_XSTORABLE_HPP_
+//#include
+//#endif
+//#ifndef _COM_SUN_STAR_FRAME_XMODEL_HPP_
+//#include
+//#endif
+//#ifndef _COM_SUN_STAR_FRAME_XFRAMEACTIONLISTENER_HPP_
+//#include
+//#endif
+//#ifndef _COM_SUN_STAR_FRAME_XCOMPONENTLOADER_HPP_
+//#include
+//#endif
+//#ifndef _COM_SUN_STAR_FRAME_XFRAME_HPP_
+//#include
+//#endif
+//#ifndef _COM_SUN_STAR_FRAME_FRAMEACTIONEVENT_HPP_
+//#include
+//#endif
+//#ifndef _COM_SUN_STAR_FRAME_FRAMEACTION_HPP_
+//#include
+//#endif
+//#ifndef _COM_SUN_STAR_UTIL_XURLTRANSFORMER_HPP_
+//#include
+//#endif
+//#ifndef _COM_SUN_STAR_AWT_XTOPWINDOW_HPP_
+//#include
+//#endif
+//#ifndef _COM_SUN_STAR_AWT_XWINDOW_HPP_
+//#include
+//#endif
+//#ifndef _COM_SUN_STAR_AWT_POSSIZE_HPP_
+//#include
+//#endif
+#ifndef _COM_SUN_STAR_BEANS_XPROPERTYCHANGELISTENER_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_FRAME_XDISPATCHPROVIDER_HPP_
+#include
+#endif
+#ifndef _COM_SUN_STAR_FRAME_XDISPATCH_HPP_
+#include
+#endif
+//#include
+
+#ifndef _CPPUHELPER_IMPLBASE3_HXX_
+#include // helper for implementations
+#endif
+
+#ifndef _SVARRAY_HXX
+#include
+#endif
+
+#ifndef _BIB_FIELDWIN_HXX
+#include "fieldwin.hxx"
+#endif
+#include "bibmod.hxx"
+class BibDataManager;
+
+class BibStatusDispatch
+{
+public:
+ ::com::sun::star::util::URL aURL;
+ ::com::sun::star::uno::Reference< ::com::sun::star::frame::XStatusListener > xListener;
+ BibStatusDispatch( const ::com::sun::star::util::URL& rURL, const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XStatusListener > xRef )
+ : aURL( rURL )
+ , xListener( xRef )
+ {}
+};
+
+typedef BibStatusDispatch* BibStatusDispatchPtr;
+SV_DECL_PTRARR_DEL( BibStatusDispatchArr, BibStatusDispatchPtr, 4, 4 );
+
+class BibFrameController_Impl : public cppu::WeakImplHelper3 <
+ ::com::sun::star::frame::XController,
+ ::com::sun::star::frame::XDispatch,
+ ::com::sun::star::frame::XDispatchProvider
+>
+{
+friend class BibFrameCtrl_Impl;
+ BibFrameCtrl_Impl* pImp;
+ BibStatusDispatchArr aStatusListeners;
+ ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow > xWindow;
+ ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > xFrame;
+ sal_Bool bDisposing;
+ sal_Bool bHierarchical;
+ ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener > xDatman;
+ BibDataManager* pDatMan;
+ BibFieldWin* pFieldWin;
+ HdlBibModul pBibMod;
+
+public:
+ BibFrameController_Impl( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow > & xComponent);
+ BibFrameController_Impl( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow > & xComponent,
+ BibDataManager* pDatMan);
+ ~BibFrameController_Impl();
+
+
+ void activate();
+ void deactivate();
+
+ BibDataManager* GetDataManager();
+ void ChangeDataSource(const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aArgs);
+ void RemoveFilter();
+
+
+ // ::com::sun::star::frame::XController
+ virtual void SAL_CALL attachFrame( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > & xFrame );
+ virtual sal_Bool SAL_CALL attachModel( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel > & xModel );
+ virtual sal_Bool SAL_CALL suspend( sal_Bool bSuspend );
+ virtual ::com::sun::star::uno::Any SAL_CALL getViewData();
+ virtual void SAL_CALL restoreViewData( const ::com::sun::star::uno::Any& Value );
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > SAL_CALL getFrame();
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel > SAL_CALL getModel();
+
+ // ::com::sun::star::lang::XComponent
+ virtual void SAL_CALL dispose();
+ virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & aListener );
+ virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & aListener );
+
+ // ::com::sun::star::frame::XDispatchProvider
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatch > SAL_CALL queryDispatch( const ::com::sun::star::util::URL& aURL, const rtl::OUString& aTargetFrameName, sal_Int32 nSearchFlags);
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatch > > SAL_CALL queryDispatches( const ::com::sun::star::uno::Sequence< ::com::sun::star::frame::DispatchDescriptor >& aDescripts);
+
+ //class ::com::sun::star::frame::XDispatch
+ virtual void SAL_CALL dispatch(const ::com::sun::star::util::URL& aURL, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aArgs);
+ virtual void SAL_CALL addStatusListener(const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XStatusListener > & xControl, const ::com::sun::star::util::URL& aURL);
+ virtual void SAL_CALL removeStatusListener(const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XStatusListener > & xControl, const ::com::sun::star::util::URL& aURL);
+
+};
+
+#endif
+
diff --git a/extensions/source/bibliography/general.cxx b/extensions/source/bibliography/general.cxx
new file mode 100644
index 000000000000..9a15129156d9
--- /dev/null
+++ b/extensions/source/bibliography/general.cxx
@@ -0,0 +1,803 @@
+/*************************************************************************
+ *
+ * $RCSfile: general.cxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: hr $ $Date: 2000-09-18 16:16:44 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#pragma hdrstop
+
+#ifndef _UNOTOOLS_PROCESSFACTORY_HXX_
+#include
+#endif
+#ifndef _COM_SUN_STAR_AWT_POSSIZE_HPP_
+#include