summaryrefslogtreecommitdiff
path: root/svtools/inc/svtools
diff options
context:
space:
mode:
Diffstat (limited to 'svtools/inc/svtools')
-rw-r--r--svtools/inc/svtools/DocumentInfoPreview.hxx61
-rw-r--r--svtools/inc/svtools/QueryFolderName.hxx66
-rw-r--r--svtools/inc/svtools/acceleratorexecute.hxx287
-rw-r--r--svtools/inc/svtools/addresstemplate.hxx163
-rw-r--r--svtools/inc/svtools/apearcfg.hxx127
-rw-r--r--svtools/inc/svtools/asynclink.hxx77
-rw-r--r--svtools/inc/svtools/calendar.hxx501
-rw-r--r--svtools/inc/svtools/cliplistener.hxx61
-rw-r--r--svtools/inc/svtools/collatorres.hxx24
-rw-r--r--svtools/inc/svtools/contextmenuhelper.hxx130
-rw-r--r--svtools/inc/svtools/controldims.hrc102
-rw-r--r--svtools/inc/svtools/ctrlbox.hxx504
-rw-r--r--svtools/inc/svtools/ctrltool.hxx251
-rw-r--r--svtools/inc/svtools/dialogclosedlistener.hxx77
-rw-r--r--svtools/inc/svtools/dialogcontrolling.hxx306
-rw-r--r--svtools/inc/svtools/editbrowsebox.hxx2
-rw-r--r--svtools/inc/svtools/expander.hxx92
-rw-r--r--svtools/inc/svtools/extcolorcfg.hxx128
-rw-r--r--svtools/inc/svtools/filectrl.hxx111
-rw-r--r--svtools/inc/svtools/filedlg.hxx108
-rw-r--r--svtools/inc/svtools/filedlg2.hrc41
-rw-r--r--svtools/inc/svtools/fileview.hxx271
-rw-r--r--svtools/inc/svtools/fltdefs.hxx136
-rw-r--r--svtools/inc/svtools/fontsubstconfig.hxx68
-rw-r--r--svtools/inc/svtools/framestatuslistener.hxx116
-rw-r--r--svtools/inc/svtools/helpagentwindow.hxx88
-rw-r--r--svtools/inc/svtools/htmlkywd.hxx801
-rw-r--r--svtools/inc/svtools/htmltokn.h569
-rw-r--r--svtools/inc/svtools/imagemgr.hrc190
-rw-r--r--svtools/inc/svtools/imagemgr.hxx95
-rw-r--r--svtools/inc/svtools/imageresourceaccess.hxx90
-rw-r--r--svtools/inc/svtools/imgdef.hxx43
-rw-r--r--svtools/inc/svtools/indexentryres.hxx23
-rw-r--r--svtools/inc/svtools/inetimg.hxx86
-rw-r--r--svtools/inc/svtools/itemdel.hxx39
-rw-r--r--svtools/inc/svtools/ivctrl.hxx390
-rw-r--r--svtools/inc/svtools/localresaccess.hxx82
-rw-r--r--svtools/inc/svtools/prgsbar.hxx100
-rw-r--r--svtools/inc/svtools/roadmap.hxx137
-rw-r--r--svtools/inc/svtools/rtfkeywd.hxx1154
-rw-r--r--svtools/inc/svtools/rtfout.hxx67
-rw-r--r--svtools/inc/svtools/rtftoken.h1273
-rw-r--r--svtools/inc/svtools/ruler.hxx874
-rw-r--r--svtools/inc/svtools/scriptedtext.hxx129
-rw-r--r--svtools/inc/svtools/scrwin.hxx112
-rw-r--r--svtools/inc/svtools/sfxecode.hxx118
-rw-r--r--svtools/inc/svtools/soerr.hxx81
-rw-r--r--svtools/inc/svtools/sores.hxx179
-rw-r--r--svtools/inc/svtools/statusbarcontroller.hxx158
-rw-r--r--svtools/inc/svtools/stdmenu.hxx241
-rw-r--r--svtools/inc/svtools/svtdata.hxx9
-rw-r--r--svtools/inc/svtools/svtools.hrc4
-rw-r--r--svtools/inc/svtools/sychconv.hxx47
-rw-r--r--svtools/inc/svtools/tabbar.hxx560
-rw-r--r--svtools/inc/svtools/taskbar.hxx490
-rw-r--r--svtools/inc/svtools/templatefoldercache.hxx108
-rw-r--r--svtools/inc/svtools/templdlg.hxx92
-rw-r--r--svtools/inc/svtools/testtool.hxx75
-rw-r--r--svtools/inc/svtools/tooltiplbox.hxx67
-rw-r--r--svtools/inc/svtools/txtattr.hxx235
-rw-r--r--svtools/inc/svtools/txtcmp.hxx33
-rw-r--r--svtools/inc/svtools/unoevent.hxx329
-rw-r--r--svtools/inc/svtools/unoimap.hxx45
-rw-r--r--svtools/inc/svtools/wallitem.hxx65
64 files changed, 13082 insertions, 6 deletions
diff --git a/svtools/inc/svtools/DocumentInfoPreview.hxx b/svtools/inc/svtools/DocumentInfoPreview.hxx
new file mode 100644
index 000000000000..ae57b1a68b32
--- /dev/null
+++ b/svtools/inc/svtools/DocumentInfoPreview.hxx
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef SVTOOLS_DOCUMENTINFOPREVIEW_HXX
+#define SVTOOLS_DOCUMENTINFOPREVIEW_HXX
+
+#include "svtools/svtdllapi.h"
+#include <vcl/window.hxx>
+#include <com/sun/star/document/XDocumentProperties.hpp>
+#include <com/sun/star/lang/Locale.hpp>
+
+class SvtExtendedMultiLineEdit_Impl;
+class SvtDocInfoTable_Impl;
+
+namespace svtools
+{
+ class SVT_DLLPUBLIC ODocumentInfoPreview : public Window
+ {
+ SvtExtendedMultiLineEdit_Impl* m_pEditWin;
+ SvtDocInfoTable_Impl* m_pInfoTable;
+ com::sun::star::lang::Locale m_aLocale;
+
+ public:
+ ODocumentInfoPreview( Window* pParent ,WinBits _nBits);
+ virtual ~ODocumentInfoPreview();
+
+ virtual void Resize();
+ void Clear();
+ void fill(const ::com::sun::star::uno::Reference<
+ ::com::sun::star::document::XDocumentProperties>& i_xDocProps
+ ,const String& i_rURL);
+ void InsertEntry( const String& rTitle, const String& rValue );
+ void SetAutoScroll(BOOL _bAutoScroll);
+ };
+}
+
+#endif // SVTOOLS_DOCUMENTINFOPREVIEW_HXX
+
diff --git a/svtools/inc/svtools/QueryFolderName.hxx b/svtools/inc/svtools/QueryFolderName.hxx
new file mode 100644
index 000000000000..971b4b26e13e
--- /dev/null
+++ b/svtools/inc/svtools/QueryFolderName.hxx
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef SVT_QUERYFOLDER_HXX
+#define SVT_QUERYFOLDER_HXX
+
+#include <vcl/fixed.hxx>
+#ifndef _SV_BUTTON_HXX
+#include <vcl/button.hxx>
+#endif
+#include <vcl/edit.hxx>
+#include <vcl/dialog.hxx>
+
+//-------------------------------------------------------------------------
+namespace svtools {
+
+//-------------------------------------------------------------------------
+// QueryFolderNameDialog
+//-------------------------------------------------------------------------
+
+class QueryFolderNameDialog : public ModalDialog
+{
+private:
+ FixedText aNameText;
+ Edit aNameEdit;
+ FixedLine aNameLine;
+ OKButton aOKBtn;
+ CancelButton aCancelBtn;
+
+ DECL_LINK( OKHdl, Button * );
+ DECL_LINK( NameHdl, Edit * );
+
+public:
+ QueryFolderNameDialog( Window* _pParent,
+ const String& rTitle,
+ const String& rDefaultText,
+ String* pGroupName = NULL );
+ String GetName() const { return aNameEdit.GetText(); }
+};
+
+}
+#endif // SVT_QUERYFOLDER_HXX
+
diff --git a/svtools/inc/svtools/acceleratorexecute.hxx b/svtools/inc/svtools/acceleratorexecute.hxx
new file mode 100644
index 000000000000..3ee79e1fca0c
--- /dev/null
+++ b/svtools/inc/svtools/acceleratorexecute.hxx
@@ -0,0 +1,287 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef INCLUDED_SVTOOLS_ACCELERATOREXECUTE_HXX
+#define INCLUDED_SVTOOLS_ACCELERATOREXECUTE_HXX
+
+//===============================================
+// includes
+
+#include "svtools/svtdllapi.h"
+
+#ifndef INCLUDED_VECTOR
+#include <vector>
+#define INCLUDED_VECTOR
+#endif
+
+#ifndef __COM_SUN_STAR_LANG_XMULTISERVICEFACTORY_HPP_
+#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#endif
+
+#ifndef __COM_SUN_STAR_FRAME_XFRAME_HPP_
+#include <com/sun/star/frame/XFrame.hpp>
+#endif
+
+#ifndef __COM_SUN_STAR_FRAME_XDISPATCHPROVIDER_HPP_
+#include <com/sun/star/frame/XDispatchProvider.hpp>
+#endif
+
+#ifndef __com_SUN_STAR_UI_XACCELERATORCONFIGURATION_HPP_
+#include <com/sun/star/ui/XAcceleratorConfiguration.hpp>
+#endif
+
+#ifndef __COM_SUN_STAR_UTIL_XURLTRANSFORMER_HPP_
+#include <com/sun/star/util/XURLTransformer.hpp>
+#endif
+#include <com/sun/star/util/URL.hpp>
+
+#ifndef __COM_SUN_STAR_AWT_KEYEVENT_HPP_
+#include <com/sun/star/awt/KeyEvent.hpp>
+#endif
+#include <vcl/keycod.hxx>
+#include <vcl/evntpost.hxx>
+#include <osl/mutex.h>
+
+//===============================================
+// namespace
+
+#ifdef css
+ #error "Conflict on using css as namespace alias!"
+#else
+ #define css ::com::sun::star
+#endif
+
+namespace svt
+{
+
+//===============================================
+// definitions
+
+struct TMutexInit
+{
+ ::osl::Mutex m_aLock;
+};
+
+//===============================================
+/**
+ @descr implements a helper, which can be used to
+ convert vcl key codes into awt key codes ...
+ and reverse.
+
+ Further such key code can be triggered.
+ Doing so different accelerator
+ configurations are merged together; a suitable
+ command registered for the given key code is searched
+ and will be dispatched.
+
+ @attention
+
+ Because exceution of an accelerator command can be dangerous
+ (in case it force an office shutdown for key "ALT+F4"!)
+ all internal dispatches are done asynchronous.
+ Menas that the trigger call doesnt wait till the dispatch
+ is finished. You can call very often. All requests will be
+ queued internal and dispatched ASAP.
+
+ Of course this queue will be stopped if the environment
+ will be destructed ...
+ */
+class SVT_DLLPUBLIC AcceleratorExecute : private TMutexInit
+{
+ //-------------------------------------------
+ // const, types
+ private:
+
+ /** @deprecated
+ replaced by internal class AsyncAccelExec ...
+ remove this resource here if we go forwards to next major */
+ typedef ::std::vector< ::std::pair< css::util::URL, css::uno::Reference< css::frame::XDispatch > > > TCommandQueue;
+
+ //-------------------------------------------
+ // member
+ private:
+
+ /** TODO document me */
+ css::uno::Reference< css::lang::XMultiServiceFactory > m_xSMGR;
+
+ /** TODO document me */
+ css::uno::Reference< css::util::XURLTransformer > m_xURLParser;
+
+ /** TODO document me */
+ css::uno::Reference< css::frame::XDispatchProvider > m_xDispatcher;
+
+ /** TODO document me */
+ css::uno::Reference< css::ui::XAcceleratorConfiguration > m_xGlobalCfg;
+ css::uno::Reference< css::ui::XAcceleratorConfiguration > m_xModuleCfg;
+ css::uno::Reference< css::ui::XAcceleratorConfiguration > m_xDocCfg;
+
+ /** @deprecated
+ replaced by internal class AsyncAccelExec ...
+ remove this resource here if we go forwards to next major */
+ TCommandQueue m_lCommandQueue;
+
+ /** @deprecated
+ replaced by internal class AsyncAccelExec ...
+ remove this resource here if we go forwards to next major */
+ ::vcl::EventPoster m_aAsyncCallback;
+
+ //-------------------------------------------
+ // interface
+ public:
+
+ //---------------------------------------
+ /** @short factory method to create new accelerator
+ helper instance.
+
+ @descr Such helper instance must be initialized at first.
+ So it can know its environment (global/module or
+ document specific).
+
+ Afterwards it can be used to execute incoming
+ accelerator requests.
+
+ The "end of life" of such helper can be reached as follow:
+
+ - delete the object
+ => If it stands currently in its execute method, they will
+ be finished. All further queued requests will be removed
+ and further not executed!
+
+ - "let it stay alone"
+ => All currently queued events will be finished. The
+ helper kills itself afterwards. A shutdown of the
+ environment will be recognized ... The helper stop its
+ work immediatly then!
+ */
+ static AcceleratorExecute* createAcceleratorHelper();
+
+ //---------------------------------------
+ /** @short fight against inlining ... */
+ virtual ~AcceleratorExecute();
+
+ //---------------------------------------
+ /** @short init this instance.
+
+ @descr It must be called as first method after creation.
+ And further it can be called more then once ...
+ but at least its should be used one times only.
+ Otherwhise nobody can say, which asynchronous
+ executions will be used inside the old and which one
+ will be used inside the new environment.
+
+ @param xSMGR
+ reference to an uno service manager.
+
+ @param xEnv
+ if it points to a valid frame it will be used
+ to execute the dispatch there. Further the frame
+ is used to locate the right module configuration
+ and use it merged together with the document and
+ the global configuration.
+
+ If this parameter is set to NULL, the global configuration
+ is used only. Further the global Desktop instance is
+ used for dispatch.
+ */
+ virtual void init(const css::uno::Reference< css::lang::XMultiServiceFactory >& xSMGR,
+ const css::uno::Reference< css::frame::XFrame >& xEnv );
+
+ //---------------------------------------
+ /** @short trigger this accelerator.
+
+ @descr The internal configuartions are used to find
+ as suitable command for this key code.
+ This command will be queued and executed later
+ asynchronous.
+
+ @param aKey
+ specify the accelerator for execute.
+
+ @return [sal_Bool]
+ TRUE if this key is configured and match to a command.
+ Attention: This state does not mean the success state
+ of the corresponding execute. Because its done asynchronous!
+ */
+ virtual sal_Bool execute(const KeyCode& aKey);
+ virtual sal_Bool execute(const css::awt::KeyEvent& aKey);
+
+ /** search the command for the given key event.
+ *
+ * @param aKey The key event
+ * @return The command or an empty string if the key event could not be found.
+ */
+ ::rtl::OUString findCommand(const ::com::sun::star::awt::KeyEvent& aKey);
+ //---------------------------------------
+ /** TODO document me */
+ static css::awt::KeyEvent st_VCLKey2AWTKey(const KeyCode& aKey);
+ static KeyCode st_AWTKey2VCLKey(const css::awt::KeyEvent& aKey);
+
+ //---------------------------------------
+ /** TODO document me */
+ static css::uno::Reference< css::ui::XAcceleratorConfiguration > st_openGlobalConfig(const css::uno::Reference< css::lang::XMultiServiceFactory >& xSMGR);
+
+ //---------------------------------------
+ /** TODO document me */
+ static css::uno::Reference< css::ui::XAcceleratorConfiguration > st_openModuleConfig(const css::uno::Reference< css::lang::XMultiServiceFactory >& xSMGR ,
+ const css::uno::Reference< css::frame::XFrame >& xFrame);
+
+ //---------------------------------------
+ /** TODO document me */
+ static css::uno::Reference< css::ui::XAcceleratorConfiguration > st_openDocConfig(const css::uno::Reference< css::frame::XModel >& xModel);
+
+ //-------------------------------------------
+ // internal
+ private:
+
+ //---------------------------------------
+ /** @short allow creation of instances of this class
+ by using our factory only!
+ */
+ SVT_DLLPRIVATE AcceleratorExecute();
+
+ AcceleratorExecute(const AcceleratorExecute& rCopy);
+ void operator=(const AcceleratorExecute&) {};
+ //---------------------------------------
+ /** TODO document me */
+ SVT_DLLPRIVATE ::rtl::OUString impl_ts_findCommand(const css::awt::KeyEvent& aKey);
+
+ //---------------------------------------
+ /** TODO document me */
+ SVT_DLLPRIVATE css::uno::Reference< css::util::XURLTransformer > impl_ts_getURLParser();
+
+ //---------------------------------------
+ /** @deprecated
+ replaced by internal class AsyncAccelExec ...
+ remove this resource here if we go forwards to next major */
+ DECL_DLLPRIVATE_LINK(impl_ts_asyncCallback, void*);
+};
+
+} // namespace svt
+
+#undef css
+
+#endif // INCLUDED_SVTOOLS_ACCELERATOREXECUTE_HXX
diff --git a/svtools/inc/svtools/addresstemplate.hxx b/svtools/inc/svtools/addresstemplate.hxx
new file mode 100644
index 000000000000..bb4ee44647e9
--- /dev/null
+++ b/svtools/inc/svtools/addresstemplate.hxx
@@ -0,0 +1,163 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVT_ADDRESSTEMPLATE_HXX_
+#define _SVT_ADDRESSTEMPLATE_HXX_
+
+#include "svtools/svtdllapi.h"
+#include <vcl/dialog.hxx>
+#include <vcl/group.hxx>
+#include <vcl/fixed.hxx>
+#include <vcl/combobox.hxx>
+#include <vcl/button.hxx>
+#include <vcl/lstbox.hxx>
+#include <vcl/scrbar.hxx>
+#include <com/sun/star/container/XNameAccess.hpp>
+#ifndef _COM_SUN_STAR_LANG_XSINGLESERVICEFACTORY_HPP_
+#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#endif
+#include <com/sun/star/util/AliasProgrammaticPair.hpp>
+#include <com/sun/star/sdbc/XDataSource.hpp>
+#include <unotools/configitem.hxx>
+
+// .......................................................................
+namespace svt
+{
+// .......................................................................
+
+ // ===================================================================
+ // = AddressBookSourceDialog
+ // ===================================================================
+ struct AddressBookSourceDialogData;
+ class SVT_DLLPUBLIC AddressBookSourceDialog : public ModalDialog
+ {
+ protected:
+ // Controls
+ FixedLine m_aDatasourceFrame;
+ FixedText m_aDatasourceLabel;
+ ComboBox m_aDatasource;
+ PushButton m_aAdministrateDatasources;
+ FixedText m_aTableLabel;
+ ComboBox m_aTable;
+
+ FixedText m_aFieldsTitle;
+ Window m_aFieldsFrame;
+
+ ScrollBar m_aFieldScroller;
+ OKButton m_aOK;
+ CancelButton m_aCancel;
+ HelpButton m_aHelp;
+
+ // string to display for "no selection"
+ const String m_sNoFieldSelection;
+
+ /// the DatabaseContext for selecting data sources
+ ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess >
+ m_xDatabaseContext;
+ // the ORB for creating objects
+ ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >
+ m_xORB;
+ ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess >
+ m_xCurrentDatasourceTables;
+
+ AddressBookSourceDialogData*
+ m_pImpl;
+
+ public:
+ AddressBookSourceDialog( Window* _pParent,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxORB );
+
+ /** if you use this ctor, the dialog
+ <ul><li>will not store it's data in the configuration (nor initially retrieve it from there)</li>
+ <li>will not allow to change the data source name</li>
+ <li>will not allow to change the table name</li>
+ <li>will not allow to call the data source administration dialog</li>
+ </ul>
+
+ @param _rxORB
+ a service factory to use for various UNO related needs
+ @param _rxTransientDS
+ the data source to obtain connections from
+ @param _rDataSourceName
+ the to-be name of _rxTransientDS. This is only for displaying this
+ name to the user, since the dialog completely works on _rxTransientDS,
+ and doesn't allow to change this.
+ @param _rTable
+ the table name to display. It must refer to a valid table, relative to a connection
+ obtained from <arg>_rxTransientDS</arg>
+ */
+ AddressBookSourceDialog( Window* _pParent,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxORB,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XDataSource >& _rxTransientDS,
+ const ::rtl::OUString& _rDataSourceName,
+ const ::rtl::OUString& _rTable,
+ const ::com::sun::star::uno::Sequence< ::com::sun::star::util::AliasProgrammaticPair >& _rMapping
+ );
+
+ ~AddressBookSourceDialog();
+
+ // to be used if the object was constructed for editing a field mapping only
+ void getFieldMapping(
+ ::com::sun::star::uno::Sequence< ::com::sun::star::util::AliasProgrammaticPair >& _rMapping) const;
+
+ protected:
+ void implConstruct();
+
+ // Window overridables
+ virtual long PreNotify( NotifyEvent& _rNEvt );
+
+ // implementations
+ void implScrollFields(sal_Int32 _nPos, sal_Bool _bAdjustFocus, sal_Bool _bAdjustScrollbar);
+ void implSelectField(ListBox* _pBox, const String& _rText);
+
+ void initalizeListBox(ListBox* _pList);
+ void resetTables();
+ void resetFields();
+
+ // fill in the data sources listbox
+ void initializeDatasources();
+
+ // initialize the dialog from the configuration data
+ void loadConfiguration();
+
+ DECL_LINK(OnFieldScroll, ScrollBar*);
+ DECL_LINK(OnFieldSelect, ListBox*);
+ DECL_LINK(OnAdministrateDatasources, void*);
+ DECL_LINK(OnComboGetFocus, ComboBox*);
+ DECL_LINK(OnComboLoseFocus, ComboBox*);
+ DECL_LINK(OnComboSelect, ComboBox*);
+ DECL_LINK(OnOkClicked, Button*);
+ DECL_LINK(OnDelayedInitialize, void*);
+ };
+
+
+// .......................................................................
+} // namespace svt
+// .......................................................................
+
+#endif // _SVT_ADDRESSTEMPLATE_HXX_
+
diff --git a/svtools/inc/svtools/apearcfg.hxx b/svtools/inc/svtools/apearcfg.hxx
new file mode 100644
index 000000000000..8e6018424c4c
--- /dev/null
+++ b/svtools/inc/svtools/apearcfg.hxx
@@ -0,0 +1,127 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVT_APEARCFG_HXX
+#define _SVT_APEARCFG_HXX
+
+#include "svtools/svtdllapi.h"
+#include "tools/solar.h"
+#include <unotools/configitem.hxx>
+
+class Application;
+
+/*--------------------------------------------------------------------
+ Beschreibung:
+ --------------------------------------------------------------------*/
+typedef enum {
+ LookStardivision = 0,
+ LookMotif,
+ LookWindows,
+ LookOSTwo,
+ LookMacintosh
+} SystemLook;
+
+typedef enum {
+ SnapToButton = 0,
+ SnapToMiddle,
+ NoSnap
+} SnapType;
+
+typedef enum { // MUST match the order chosen in ListBox LB_DRAG_MODE in optgdlg.src
+ DragFullWindow,
+ DragFrame,
+ DragSystemDep
+} DragMode;
+
+
+class SVT_DLLPUBLIC SvtTabAppearanceCfg : public utl::ConfigItem
+{
+ short nLookNFeel ;
+ short nDragMode ;
+ short nScaleFactor ;
+ short nSnapMode ;
+ short nMiddleMouse;
+#if defined( UNX ) || defined ( FS_PRIV_DEBUG )
+ short nAAMinPixelHeight ;
+#endif
+
+ BOOL bMenuMouseFollow ;
+ BOOL bSingleLineTabCtrl ;
+ BOOL bColoredTabCtrl ;
+#if defined( UNX ) || defined ( FS_PRIV_DEBUG )
+ BOOL bFontAntialiasing ;
+#endif
+
+ static sal_Bool bInitialized ;
+
+ SVT_DLLPRIVATE const com::sun::star::uno::Sequence<rtl::OUString>& GetPropertyNames();
+
+public:
+ SvtTabAppearanceCfg( );
+ ~SvtTabAppearanceCfg( );
+
+ virtual void Commit();
+ virtual void Notify( const com::sun::star::uno::Sequence< rtl::OUString >& _rPropertyNames);
+
+ USHORT GetLookNFeel () const { return nLookNFeel; }
+ void SetLookNFeel ( USHORT nSet );
+
+ USHORT GetDragMode () const { return nDragMode; }
+ void SetDragMode ( USHORT nSet );
+
+ USHORT GetScaleFactor () const { return nScaleFactor; }
+ void SetScaleFactor ( USHORT nSet );
+
+ USHORT GetSnapMode () const { return nSnapMode; }
+ void SetSnapMode ( USHORT nSet );
+
+ USHORT GetMiddleMouseButton () const { return nMiddleMouse; }
+ void SetMiddleMouseButton ( USHORT nSet );
+
+ void SetApplicationDefaults ( Application* pApp );
+
+ void SetMenuMouseFollow(BOOL bSet) {bMenuMouseFollow = bSet; SetModified();}
+ BOOL IsMenuMouseFollow() const{return bMenuMouseFollow;}
+
+ void SetSingleLineTabCtrl(BOOL bSet) {bSingleLineTabCtrl = bSet; SetModified();}
+ BOOL IsSingleLineTabCtrl()const {return bSingleLineTabCtrl;}
+
+#if defined( UNX ) || defined ( FS_PRIV_DEBUG )
+ void SetFontAntiAliasing( BOOL bSet ) { bFontAntialiasing = bSet; SetModified(); }
+ BOOL IsFontAntiAliasing() const { return bFontAntialiasing; }
+
+ USHORT GetFontAntialiasingMinPixelHeight( ) const { return nAAMinPixelHeight; }
+ void SetFontAntialiasingMinPixelHeight( USHORT _nMinHeight ) { nAAMinPixelHeight = _nMinHeight; SetModified(); }
+#endif
+
+ void SetColoredTabCtrl(BOOL bSet) {bColoredTabCtrl = bSet; SetModified();};
+ BOOL IsColoredTabCtrl()const {return bColoredTabCtrl;}
+
+ static sal_Bool IsInitialized() { return bInitialized; }
+ static void SetInitialized() { bInitialized = sal_True; }
+};
+
+#endif // _OFA_APEARCFG_HXX
diff --git a/svtools/inc/svtools/asynclink.hxx b/svtools/inc/svtools/asynclink.hxx
new file mode 100644
index 000000000000..41c6f3e92388
--- /dev/null
+++ b/svtools/inc/svtools/asynclink.hxx
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef SVTOOLS_ASYNCLINK_HXX
+#define SVTOOLS_ASYNCLINK_HXX
+
+#include "svtools/svtdllapi.h"
+#include <tools/solar.h>
+#include <tools/link.hxx>
+
+class Timer;
+
+namespace vos
+{
+ class OMutex;
+}
+
+namespace svtools {
+
+class SVT_DLLPUBLIC AsynchronLink
+{
+ Link _aLink;
+ ULONG _nEventId;
+ Timer* _pTimer;
+ BOOL _bInCall;
+ BOOL* _pDeleted;
+ void* _pArg;
+ vos::OMutex* _pMutex;
+
+ DECL_DLLPRIVATE_STATIC_LINK( AsynchronLink, HandleCall, void* );
+ SVT_DLLPRIVATE void Call_Impl( void* pArg );
+
+public:
+ AsynchronLink( const Link& rLink ) :
+ _aLink( rLink ), _nEventId( 0 ), _pTimer( 0 ), _bInCall( FALSE ),
+ _pDeleted( 0 ), _pMutex( 0 ){}
+ AsynchronLink() : _nEventId( 0 ), _pTimer( 0 ), _bInCall( FALSE ),
+ _pDeleted( 0 ), _pMutex( 0 ){}
+ ~AsynchronLink();
+
+ void CreateMutex();
+ void operator=( const Link& rLink ) { _aLink = rLink; }
+ void Call( void* pObj, BOOL bAllowDoubles = FALSE,
+ BOOL bUseTimer = FALSE );
+ void ForcePendingCall( );
+ void ClearPendingCall( );
+ BOOL IsSet() const { return _aLink.IsSet(); }
+ Link GetLink() const { return _aLink; }
+};
+
+}
+
+#endif
diff --git a/svtools/inc/svtools/calendar.hxx b/svtools/inc/svtools/calendar.hxx
new file mode 100644
index 000000000000..f85887873bb0
--- /dev/null
+++ b/svtools/inc/svtools/calendar.hxx
@@ -0,0 +1,501 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _CALENDAR_HXX
+#define _CALENDAR_HXX
+
+#include "svtools/svtdllapi.h"
+#include <unotools/calendarwrapper.hxx>
+#ifndef _COM_SUN_STAR_I18N_WEEKDAYS_HPP
+#include <com/sun/star/i18n/Weekdays.hpp>
+#endif
+
+#ifndef _CTRL_HXX
+#include <vcl/ctrl.hxx>
+#endif
+#include <vcl/timer.hxx>
+#ifndef _FIELD_HXX
+#include <vcl/field.hxx>
+#endif
+
+class Table;
+class MouseEvent;
+class TrackingEvent;
+class KeyEvent;
+class HelpEvent;
+class DataChangedEvent;
+class FloatingWindow;
+class PushButton;
+struct ImplDateInfo;
+class ImplDateTable;
+class ImplCFieldFloatWin;
+
+/*************************************************************************
+
+Beschreibung
+============
+
+class Calendar
+
+Diese Klasse erlaubt die Auswahl eines Datum. Der Datumsbereich der
+angezeigt wird, ist der, der durch die Klasse Date vorgegeben ist.
+Es werden soviele Monate angezeigt, wie die Ausgabeflaeche des
+Controls vorgibt. Der Anwender kann zwischen den Monaten ueber ein
+ContextMenu (Bei Click auf den Monatstitel) oder durch 2 ScrollButtons
+zwischen den Monaten wechseln.
+
+--------------------------------------------------------------------------
+
+WinBits
+
+WB_BORDER Um das Fenster wird ein Border gezeichnet.
+WB_TABSTOP Tastatursteuerung ist moeglich. Der Focus wird
+ sich geholt, wenn mit der Maus in das
+ Control geklickt wird.
+WB_QUICKHELPSHOWSDATEINFO DateInfo auch bei QuickInfo als BalloonHelp zeigen
+WB_BOLDTEXT Formatiert wird nach fetten Texten und
+ DIB_BOLD wird bei AddDateInfo() ausgewertet
+WB_FRAMEINFO Formatiert wird so, das Frame-Info angezeigt
+ werden kann und die FrameColor bei AddDateInfo()
+ ausgewertet wird
+WB_RANGESELECT Es koennen mehrere Tage selektiert werden, die
+ jedoch alle zusammenhaengend sein muessen
+WB_MULTISELECT Es koennen mehrere Tage selektiert werden
+WB_WEEKNUMBER Es werden die Wochentage mit angezeigt
+
+--------------------------------------------------------------------------
+
+Mit SetCurDate() / GetCurDate() wird das ausgewaehlte Datum gesetzt und
+abgefragt. Wenn der Anwnder ein Datum selektiert hat, wird Select()
+gerufen. Bei einem Doppelklick auf ein Datum wird DoubleClick() gerufen.
+
+--------------------------------------------------------------------------
+
+Mit CalcWindowSizePixel() kann die Groesse des Fensters in Pixel fuer
+die Darstellung einer bestimmte Anzahl von Monaten berechnet werden.
+
+--------------------------------------------------------------------------
+
+Mit SetSaturdayColor() kann eine spezielle Farbe fuer Sonnabende gesetzt
+werden und mit SetSundayColor() eine fuer Sonntage. Mit AddDateInfo()
+koennen Tage speziell gekennzeichnet werden. Dabei kann man einem
+einzelnen Datum eine andere Farbe geben (zum Beispiel fuer Feiertage)
+oder diese Umranden (zum Beispiel fuer Termine). Wenn beim Datum
+kein Jahr angegeben wird, wird der Tag in jedem Jahr benutzt. Mit
+AddDateInfo() kann auch jedem Datum ein Text mitgegeben werden, der
+dann angezeigt wird, wenn Balloon-Hilfe an ist. Um nicht alle Jahre
+mit entsprechenden Daten zu versorgen, wird der RequestDateInfo()-
+Handler gerufen, wenn ein neues Jahr angezeigt wird. Es kann dann
+im Handler mit GetRequestYear() das Jahr abgefragt werden.
+
+--------------------------------------------------------------------------
+
+Um ein ContextMenu zu einem Datum anzuzeigen, muss man den Command-Handler
+ueberlagern. Mit GetDate() kann zur Mouse-Position das Datum ermittelt
+werden. Bei Tastaturausloesung sollte das aktuelle Datum genommen werden.
+Wenn ein ContextMenu angezeigt wird, darf der Handler der Basisklasse nicht
+gerufen werden.
+
+--------------------------------------------------------------------------
+
+Bei Mehrfachselektion WB_RANGESELECT oder WB_MULTISELECT kann mit
+SelectDate()/SelectDateRange() Datumsbereiche selektiert/deselektiert
+werden. SelectDateRange() gilt inkl. EndDatum. Mit SetNoSelection() kann
+alles deselektiert werden. SetCurDate() selektiert bei Mehrfachselektion
+jedoch nicht das Datum mit, sondern gibt nur das Focus-Rechteck vor.
+
+Den selektierten Bereich kann man mit GetSelectDateCount()/GetSelectDate()
+abgefragt werden oder der Status von einem Datum kann mit IsDateSelected()
+abgefragt werden.
+
+Waehrend der Anwender am selektieren ist, wird der SelectionChanging()-
+Handler gerufen. In diesem kann der selektierte Bereich angepasst werden,
+wenn man beispielsweise den Bereich eingrenzen oder erweitern will. Der
+Bereich wird mit SelectDate()/SelectDateRange() umgesetzt und mit
+GetSelectDateCount()/GetSelectDate() abgefragt. Wenn man wissen moechte,
+in welche Richtung selektiert wird, kann dies ueber IsSelectLeft()
+abgefragt werden. TRUE bedeutet eine Selektion nach links oder oben,
+FALSE eine Selektion nach rechts oder unten.
+
+--------------------------------------------------------------------------
+
+Wenn sich der Date-Range-Bereich anpasst und man dort die Selektion
+uebernehmen will, sollte dies nur gemacht werden, wenn
+IsScrollDateRangeChanged() TRUE zurueckliefert. Denn diese Methode liefert
+TRUE zurueck, wenn der Bereich durch Betaetigung von den Scroll-Buttons
+ausgeloest wurde. Bei FALSE wurde dies durch Resize(), Methoden-Aufrufen
+oder durch Beendigung einer Selektion ausgeloest.
+
+*************************************************************************/
+
+// ------------------
+// - Calendar-Types -
+// ------------------
+
+#define WB_QUICKHELPSHOWSDATEINFO ((WinBits)0x00004000)
+#define WB_BOLDTEXT ((WinBits)0x00008000)
+#define WB_FRAMEINFO ((WinBits)0x00010000)
+#define WB_WEEKNUMBER ((WinBits)0x00020000)
+// Muss mit den WinBits beim TabBar uebereinstimmen oder mal
+// nach \vcl\inc\wintypes.hxx verlagert werden
+#ifndef WB_RANGESELECT
+#define WB_RANGESELECT ((WinBits)0x00200000)
+#endif
+#ifndef WB_MULTISELECT
+#define WB_MULTISELECT ((WinBits)0x00400000)
+#endif
+
+#define DIB_BOLD ((USHORT)0x0001)
+
+// ------------
+// - Calendar -
+// ------------
+
+class SVT_DLLPUBLIC Calendar : public Control
+{
+private:
+ ImplDateTable* mpDateTable;
+ Table* mpSelectTable;
+ Table* mpOldSelectTable;
+ Table* mpRestoreSelectTable;
+ XubString* mpDayText[31];
+ XubString maDayText;
+ XubString maWeekText;
+ CalendarWrapper maCalendarWrapper;
+ Rectangle maPrevRect;
+ Rectangle maNextRect;
+ String maDayOfWeekText;
+ sal_Int32 mnDayOfWeekAry[7];
+ Date maOldFormatFirstDate;
+ Date maOldFormatLastDate;
+ Date maFirstDate;
+ Date maOldFirstDate;
+ Date maCurDate;
+ Date maOldCurDate;
+ Date maAnchorDate;
+ Date maDropDate;
+ Color maSelColor;
+ Color maOtherColor;
+ Color* mpStandardColor;
+ Color* mpSaturdayColor;
+ Color* mpSundayColor;
+ ULONG mnDayCount;
+ long mnDaysOffX;
+ long mnWeekDayOffY;
+ long mnDaysOffY;
+ long mnMonthHeight;
+ long mnMonthWidth;
+ long mnMonthPerLine;
+ long mnLines;
+ long mnDayWidth;
+ long mnDayHeight;
+ long mnWeekWidth;
+ long mnDummy2;
+ long mnDummy3;
+ long mnDummy4;
+ WinBits mnWinStyle;
+ USHORT mnFirstYear;
+ USHORT mnLastYear;
+ USHORT mnRequestYear;
+ BOOL mbCalc:1,
+ mbFormat:1,
+ mbDrag:1,
+ mbSelection:1,
+ mbMultiSelection:1,
+ mbWeekSel:1,
+ mbUnSel:1,
+ mbMenuDown:1,
+ mbSpinDown:1,
+ mbPrevIn:1,
+ mbNextIn:1,
+ mbDirect:1,
+ mbInSelChange:1,
+ mbTravelSelect:1,
+ mbScrollDateRange:1,
+ mbSelLeft:1,
+ mbAllSel:1,
+ mbDropPos:1;
+ Link maSelectionChangingHdl;
+ Link maDateRangeChangedHdl;
+ Link maRequestDateInfoHdl;
+ Link maDoubleClickHdl;
+ Link maSelectHdl;
+ Timer maDragScrollTimer;
+ USHORT mnDragScrollHitTest;
+
+#ifdef _SV_CALENDAR_CXX
+ using Control::ImplInitSettings;
+ using Window::ImplInit;
+ SVT_DLLPRIVATE void ImplInit( WinBits nWinStyle );
+ SVT_DLLPRIVATE void ImplInitSettings();
+ SVT_DLLPRIVATE void ImplGetWeekFont( Font& rFont ) const;
+ SVT_DLLPRIVATE void ImplFormat();
+ using Window::ImplHitTest;
+ SVT_DLLPRIVATE USHORT ImplHitTest( const Point& rPos, Date& rDate ) const;
+ SVT_DLLPRIVATE void ImplDrawSpin( BOOL bDrawPrev = TRUE, BOOL bDrawNext = TRUE );
+ SVT_DLLPRIVATE void ImplDrawDate( long nX, long nY,
+ USHORT nDay, USHORT nMonth, USHORT nYear,
+ DayOfWeek eDayOfWeek,
+ BOOL bBack = TRUE, BOOL bOther = FALSE,
+ ULONG nToday = 0 );
+ SVT_DLLPRIVATE void ImplDraw( BOOL bPaint = FALSE );
+ SVT_DLLPRIVATE void ImplUpdateDate( const Date& rDate );
+ SVT_DLLPRIVATE void ImplUpdateSelection( Table* pOld );
+ SVT_DLLPRIVATE void ImplMouseSelect( const Date& rDate, USHORT nHitTest,
+ BOOL bMove, BOOL bExpand, BOOL bExtended );
+ SVT_DLLPRIVATE void ImplUpdate( BOOL bCalcNew = FALSE );
+ using Window::ImplScroll;
+ SVT_DLLPRIVATE void ImplScroll( BOOL bPrev );
+ SVT_DLLPRIVATE void ImplInvertDropPos();
+ SVT_DLLPRIVATE void ImplShowMenu( const Point& rPos, const Date& rDate );
+ SVT_DLLPRIVATE void ImplTracking( const Point& rPos, BOOL bRepeat );
+ SVT_DLLPRIVATE void ImplEndTracking( BOOL bCancel );
+ SVT_DLLPRIVATE DayOfWeek ImplGetWeekStart() const;
+#endif
+
+protected:
+ BOOL ShowDropPos( const Point& rPos, Date& rDate );
+ void HideDropPos();
+
+ DECL_STATIC_LINK( Calendar, ScrollHdl, Timer *);
+
+public:
+ Calendar( Window* pParent, WinBits nWinStyle = 0 );
+ Calendar( Window* pParent, const ResId& rResId );
+ ~Calendar();
+
+ virtual void MouseButtonDown( const MouseEvent& rMEvt );
+ virtual void MouseButtonUp( const MouseEvent& rMEvt );
+ virtual void MouseMove( const MouseEvent& rMEvt );
+ virtual void Tracking( const TrackingEvent& rMEvt );
+ virtual void KeyInput( const KeyEvent& rKEvt );
+ virtual void Paint( const Rectangle& rRect );
+ virtual void Resize();
+ virtual void GetFocus();
+ virtual void LoseFocus();
+ virtual void RequestHelp( const HelpEvent& rHEvt );
+ virtual void Command( const CommandEvent& rCEvt );
+ virtual void StateChanged( StateChangedType nStateChange );
+ virtual void DataChanged( const DataChangedEvent& rDCEvt );
+
+ virtual void SelectionChanging();
+ virtual void DateRangeChanged();
+ virtual void RequestDateInfo();
+ virtual void DoubleClick();
+ virtual void Select();
+
+ const CalendarWrapper& GetCalendarWrapper() const { return maCalendarWrapper; }
+
+ /// Set one of ::com::sun::star::i18n::Weekdays.
+ void SetWeekStart( sal_Int16 nDay );
+
+ /// Set how many days of a week must reside in the first week of a year.
+ void SetMinimumNumberOfDaysInWeek( sal_Int16 nDays );
+
+ void SelectDate( const Date& rDate, BOOL bSelect = TRUE );
+ void SelectDateRange( const Date& rStartDate, const Date& rEndDate,
+ BOOL bSelect = TRUE );
+ void SetNoSelection();
+ BOOL IsDateSelected( const Date& rDate ) const;
+ ULONG GetSelectDateCount() const;
+ Date GetSelectDate( ULONG nIndex = 0 ) const;
+ void EnableCallEverySelect( BOOL bEvery = TRUE ) { mbAllSel = bEvery; }
+ BOOL IsCallEverySelectEnabled() const { return mbAllSel; }
+
+ USHORT GetRequestYear() const { return mnRequestYear; }
+ void SetCurDate( const Date& rNewDate );
+ Date GetCurDate() const { return maCurDate; }
+ void SetFirstDate( const Date& rNewFirstDate );
+ Date GetFirstDate() const { return maFirstDate; }
+ Date GetLastDate() const { return GetFirstDate() + mnDayCount; }
+ ULONG GetDayCount() const { return mnDayCount; }
+ Date GetFirstMonth() const;
+ Date GetLastMonth() const;
+ USHORT GetMonthCount() const;
+ BOOL GetDate( const Point& rPos, Date& rDate ) const;
+ Rectangle GetDateRect( const Date& rDate ) const;
+ BOOL GetDropDate( Date& rDate ) const;
+
+ long GetCurMonthPerLine() const { return mnMonthPerLine; }
+ long GetCurLines() const { return mnLines; }
+
+ void SetStandardColor( const Color& rColor );
+ const Color& GetStandardColor() const;
+ void SetSaturdayColor( const Color& rColor );
+ const Color& GetSaturdayColor() const;
+ void SetSundayColor( const Color& rColor );
+ const Color& GetSundayColor() const;
+
+ void AddDateInfo( const Date& rDate, const XubString& rText,
+ const Color* pTextColor = NULL,
+ const Color* pFrameColor = NULL,
+ USHORT nFlags = 0 );
+ void RemoveDateInfo( const Date& rDate );
+ void ClearDateInfo();
+ XubString GetDateInfoText( const Date& rDate );
+
+ void StartSelection();
+ void EndSelection();
+
+ BOOL IsTravelSelect() const { return mbTravelSelect; }
+ BOOL IsScrollDateRangeChanged() const { return mbScrollDateRange; }
+ BOOL IsSelectLeft() const { return mbSelLeft; }
+
+ Size CalcWindowSizePixel( long nCalcMonthPerLine = 1,
+ long nCalcLines = 1 ) const;
+
+ void SetSelectionChangingHdl( const Link& rLink ) { maSelectionChangingHdl = rLink; }
+ const Link& GetSelectionChangingHdl() const { return maSelectionChangingHdl; }
+ void SetDateRangeChangedHdl( const Link& rLink ) { maDateRangeChangedHdl = rLink; }
+ const Link& GetDateRangeChangedHdl() const { return maDateRangeChangedHdl; }
+ void SetRequestDateInfoHdl( const Link& rLink ) { maRequestDateInfoHdl = rLink; }
+ const Link& GetRequestDateInfoHdl() const { return maRequestDateInfoHdl; }
+ void SetDoubleClickHdl( const Link& rLink ) { maDoubleClickHdl = rLink; }
+ const Link& GetDoubleClickHdl() const { return maDoubleClickHdl; }
+ void SetSelectHdl( const Link& rLink ) { maSelectHdl = rLink; }
+ const Link& GetSelectHdl() const { return maSelectHdl; }
+};
+
+inline const Color& Calendar::GetStandardColor() const
+{
+ if ( mpStandardColor )
+ return *mpStandardColor;
+ else
+ return GetFont().GetColor();
+}
+
+inline const Color& Calendar::GetSaturdayColor() const
+{
+ if ( mpSaturdayColor )
+ return *mpSaturdayColor;
+ else
+ return GetFont().GetColor();
+}
+
+inline const Color& Calendar::GetSundayColor() const
+{
+ if ( mpSundayColor )
+ return *mpSundayColor;
+ else
+ return GetFont().GetColor();
+}
+
+/*************************************************************************
+
+Beschreibung
+============
+
+class CalendarField
+
+Bei dieser Klasse handelt es sich um ein DateField, wo ueber einen
+DropDown-Button ueber das Calendar-Control ein Datum ausgewaehlt werden
+kann.
+
+--------------------------------------------------------------------------
+
+WinBits
+
+Siehe DateField
+
+Die Vorgaben fuer das CalendarControl koennen ueber SetCalendarStyle()
+gesetzt werden.
+
+--------------------------------------------------------------------------
+
+Mit EnableToday()/EnableNone() kann ein Today-Button und ein None-Button
+enabled werden.
+
+--------------------------------------------------------------------------
+
+Wenn mit SetCalendarStyle() WB_RANGESELECT gesetzt wird, koennen im
+Calendar auch mehrere Tage selektiert werden. Da immer nur das Start-Datum
+in das Feld uebernommen wird, sollte dann im Select-Handler mit
+GetCalendar() der Calendar abgefragt werden und an dem mit
+GetSelectDateCount()/GetSelectDate() der selektierte Bereich abgefragt
+werden, um beispielsweise diese dann in ein weiteres Feld zu uebernehmen.
+
+--------------------------------------------------------------------------
+
+Wenn ein abgeleiteter Calendar verwendet werden soll, kann am
+CalendarField die Methode CreateCalendar() ueberlagert werden und
+dort ein eigener Calendar erzeugt werden.
+
+*************************************************************************/
+
+// -----------------
+// - CalendarField -
+// -----------------
+
+class SVT_DLLPUBLIC CalendarField : public DateField
+{
+private:
+ ImplCFieldFloatWin* mpFloatWin;
+ Calendar* mpCalendar;
+ WinBits mnCalendarStyle;
+ PushButton* mpTodayBtn;
+ PushButton* mpNoneBtn;
+ Date maDefaultDate;
+ BOOL mbToday;
+ BOOL mbNone;
+ Link maSelectHdl;
+
+#ifdef _SV_CALENDAR_CXX
+ DECL_DLLPRIVATE_LINK( ImplSelectHdl, Calendar* );
+ DECL_DLLPRIVATE_LINK( ImplClickHdl, PushButton* );
+ DECL_DLLPRIVATE_LINK( ImplPopupModeEndHdl, FloatingWindow* );
+#endif
+
+public:
+ CalendarField( Window* pParent, WinBits nWinStyle );
+ CalendarField( Window* pParent, const ResId& rResId );
+ ~CalendarField();
+
+ virtual void Select();
+
+ virtual BOOL ShowDropDown( BOOL bShow );
+ virtual Calendar* CreateCalendar( Window* pParent );
+ Calendar* GetCalendar();
+
+ void SetDefaultDate( const Date& rDate ) { maDefaultDate = rDate; }
+ Date GetDefaultDate() const { return maDefaultDate; }
+
+ void EnableToday( BOOL bToday = TRUE ) { mbToday = bToday; }
+ BOOL IsTodayEnabled() const { return mbToday; }
+ void EnableNone( BOOL bNone = TRUE ) { mbNone = bNone; }
+ BOOL IsNoneEnabled() const { return mbNone; }
+
+ void SetCalendarStyle( WinBits nStyle ) { mnCalendarStyle = nStyle; }
+ WinBits GetCalendarStyle() const { return mnCalendarStyle; }
+
+ void SetSelectHdl( const Link& rLink ) { maSelectHdl = rLink; }
+ const Link& GetSelectHdl() const { return maSelectHdl; }
+
+protected:
+ virtual void StateChanged( StateChangedType nStateChange );
+};
+
+#endif // _CALENDAR_HXX
diff --git a/svtools/inc/svtools/cliplistener.hxx b/svtools/inc/svtools/cliplistener.hxx
new file mode 100644
index 000000000000..ab20d6d7aa20
--- /dev/null
+++ b/svtools/inc/svtools/cliplistener.hxx
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _CLIPLISTENER_HXX
+#define _CLIPLISTENER_HXX
+
+#include "svtools/svtdllapi.h"
+#include <tools/link.hxx>
+#include <cppuhelper/implbase1.hxx>
+#include <com/sun/star/datatransfer/clipboard/XClipboardListener.hpp>
+
+class Window;
+
+
+class SVT_DLLPUBLIC TransferableClipboardListener : public ::cppu::WeakImplHelper1<
+ ::com::sun::star::datatransfer::clipboard::XClipboardListener >
+{
+ Link aLink;
+
+public:
+ // Link is called with a TransferableDataHelper pointer
+ TransferableClipboardListener( const Link& rCallback );
+ ~TransferableClipboardListener();
+
+ void AddRemoveListener( Window* pWin, BOOL bAdd );
+ void ClearCallbackLink();
+
+ // XEventListener
+ virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source )
+ throw(::com::sun::star::uno::RuntimeException);
+ // XClipboardListener
+ virtual void SAL_CALL changedContents( const ::com::sun::star::datatransfer::clipboard::ClipboardEvent& event )
+ throw(::com::sun::star::uno::RuntimeException);
+};
+
+#endif
+
diff --git a/svtools/inc/svtools/collatorres.hxx b/svtools/inc/svtools/collatorres.hxx
new file mode 100644
index 000000000000..63b4e7ef64f3
--- /dev/null
+++ b/svtools/inc/svtools/collatorres.hxx
@@ -0,0 +1,24 @@
+
+#ifndef SVTOOLS_COLLATORRESSOURCE_HXX
+#define SVTOOLS_COLLATORRESSOURCE_HXX
+
+#include "svtools/svtdllapi.h"
+#include <tools/string.hxx>
+
+class CollatorRessourceData;
+
+class SVT_DLLPUBLIC CollatorRessource
+{
+ private:
+
+ CollatorRessourceData *mp_Data;
+
+ public:
+ CollatorRessource ();
+ ~CollatorRessource ();
+ const String& GetTranslation (const String& r_Algorithm);
+};
+
+#endif /* SVTOOLS_COLLATORRESSOURCE_HXX */
+
+
diff --git a/svtools/inc/svtools/contextmenuhelper.hxx b/svtools/inc/svtools/contextmenuhelper.hxx
new file mode 100644
index 000000000000..54d254309b1e
--- /dev/null
+++ b/svtools/inc/svtools/contextmenuhelper.hxx
@@ -0,0 +1,130 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef INCLUDED_SVTOOLS_CONTEXTMENUHELPER_HXX
+#define INCLUDED_SVTOOLS_CONTEXTMENUHELPER_HXX
+
+#include <com/sun/star/frame/XFrame.hpp>
+#include <com/sun/star/awt/XPopupMenu.hpp>
+#include <com/sun/star/util/XURLTransformer.hpp>
+#include <com/sun/star/ui/XImageManager.hpp>
+#include <com/sun/star/container/XNameAccess.hpp>
+
+#include <rtl/ustring.hxx>
+#include <cppuhelper/weak.hxx>
+#include <vcl/menu.hxx>
+#include "svtools/svtdllapi.h"
+
+namespace svt
+{
+
+/**
+ Context menu helper class.
+
+ Fills images and labels for a provided popup menu or
+ com.sun.star.awt.XPopupMenu.
+
+ PRECONDITION:
+ All commands must be set via SetItemCommand and are part
+ of the configuration files
+ (see org.openoffice.Office.UI.[Module]Commands.xcu)
+*/
+struct ExecuteInfo;
+class SVT_DLLPUBLIC ContextMenuHelper
+{
+ public:
+ // create context menu helper
+ // ARGS: xFrame = frame defines the context of the context menu
+ // bAutoRefresh = specifies that the context will be constant or not
+ ContextMenuHelper( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& xFrame, bool bAutoRefresh=true );
+ ~ContextMenuHelper();
+
+ // methods to complete a popup menu (set images, labels, enable/disable states)
+ // ATTENTION: The item ID's must be unique for the whole popup (inclusive the sub menus!)
+ void completeAndExecute( const Point& aPos, PopupMenu& aPopupMenu );
+ void completeAndExecute( const Point& aPos, const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XPopupMenu >& xPopupMenu );
+
+ // methods to create a popup menu referenced by resource URL
+ // NOT IMPLEMENTED YET!
+ ::com::sun::star::uno::Reference< ::com::sun::star::awt::XPopupMenu > create( const ::rtl::OUString& aPopupMenuResourceURL );
+
+ // method to create and execute a popup menu referenced by a resource URL
+ // NOT IMPLEMENTED YET!
+ bool createAndExecute( const Point& aPos, const ::rtl::OUString& aPopupMenuResourceURL );
+
+ private:
+ // asynchronous link to prevent destruction while on stack
+ DECL_STATIC_LINK( ContextMenuHelper, ExecuteHdl_Impl, ExecuteInfo* );
+
+ // no copy-ctor and operator=
+ ContextMenuHelper( const ContextMenuHelper& );
+ const ContextMenuHelper& operator=( const ContextMenuHelper& );
+
+ // show context menu and dispatch command automatically
+ void executePopupMenu( const Point& aPos, PopupMenu* pMenu );
+
+ // fill image and label for every menu item on the provided menu
+ void completeMenuProperties( Menu* pMenu );
+
+ // dispatch provided command
+ bool dispatchCommand( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& xFrame, const ::rtl::OUString& aCommandURL );
+
+
+ // methods to retrieve a single command URL dependent value from a
+ // ui configuratin manager
+ Image getImageFromCommandURL( const ::rtl::OUString& aCmdURL, bool bHiContrast ) const;
+ rtl::OUString getLabelFromCommandURL( const ::rtl::OUString& aCmdURL ) const;
+
+ // creates an association between current module/controller bound to the
+ // provided frame and their ui configuration managers.
+ bool associateUIConfigurationManagers();
+
+ // resets associations to create associations again on-demand.
+ // Usefull for implementations which recycle frames. Normal
+ // implementations can profit from caching and should set
+ // auto refresh on ctor to false (default).
+ void resetAssociations()
+ {
+ if ( m_bAutoRefresh )
+ m_bUICfgMgrAssociated = false;
+ }
+
+ ::com::sun::star::uno::WeakReference< ::com::sun::star::frame::XFrame > m_xWeakFrame;
+ ::rtl::OUString m_aModuleIdentifier;
+ ::rtl::OUString m_aSelf;
+ ::com::sun::star::uno::Reference< ::com::sun::star::util::XURLTransformer > m_xURLTransformer;
+ ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > m_aDefaultArgs;
+ ::com::sun::star::uno::Reference< ::com::sun::star::ui::XImageManager > m_xDocImageMgr;
+ ::com::sun::star::uno::Reference< ::com::sun::star::ui::XImageManager > m_xModuleImageMgr;
+ ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > m_xUICommandLabels;
+ bool m_bAutoRefresh;
+ bool m_bUICfgMgrAssociated;
+};
+
+} // namespace svt
+
+#endif // INCLUDED_SVTOOLS_CONTEXTMENUHELPER_HXX
diff --git a/svtools/inc/svtools/controldims.hrc b/svtools/inc/svtools/controldims.hrc
new file mode 100644
index 000000000000..5e26f132897d
--- /dev/null
+++ b/svtools/inc/svtools/controldims.hrc
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVT_CONTROLDIMS_HRC_
+#define _SVT_CONTROLDIMS_HRC_
+
+//
+// From: Dialogue Specification and Guidelines - Visual Design V1.3
+// by Christian Jansen
+//
+
+//
+// Usage:
+// ======
+//
+// all values have to be mapped by MAP_APPFONT
+//
+
+// Base
+#define RSC_BS_CHARHEIGHT 8
+#define RSC_BS_CHARWIDTH 4
+
+// control dimensions
+#define RSC_CD_PUSHBUTTON_WIDTH 50
+#define RSC_CD_PUSHBUTTON_HEIGHT 14
+
+#define RSC_CD_FIXEDTEXT_HEIGHT RSC_BS_CHARHEIGHT
+#define RSC_CD_FIXEDLINE_HEIGHT RSC_BS_CHARHEIGHT
+#define RSC_CD_FIXEDLINE_WIDTH RSC_BS_CHARWIDTH // for vertical FixedLines
+
+#define RSC_CD_DROPDOWN_HEIGHT 12 // also combobox and dropdown list
+#define RSC_CD_TEXTBOX_HEIGHT 12 // also numeric fields etc.
+
+#define RSC_CD_CHECKBOX_HEIGHT 10 // also tristate
+#define RSC_CD_RADIOBUTTON_HEIGHT 10
+
+// spacings
+#define RSC_SP_CTRL_X 6 // controls that are unrelated
+#define RSC_SP_CTRL_Y 7
+#define RSC_SP_CTRL_GROUP_X 3 // related controls, or controls in a groupbox
+#define RSC_SP_CTRL_GROUP_Y 4
+#define RSC_SP_CTRL_DESC_X 3 // between description text and related control
+#define RSC_SP_CTRL_DESC_Y 3
+
+// overruled spacings between certain controls
+#define RSC_SP_FLGR_SPACE_X 6 // between groupings made with FixedLine
+#define RSC_SP_FLGR_SPACE_Y 4
+#define RSC_SP_GRP_SPACE_X 6 // between groupings made with GroupBox
+#define RSC_SP_GRP_SPACE_Y 6
+#define RSC_SP_TXT_SPACE_X 5 // spacing between text paragraphs
+#define RSC_SP_TXT_SPACE_Y 7
+#define RSC_SP_CHK_TEXTINDENT 8 // x indent of text aligned to checkbox title
+
+// dialog inner border
+#define RSC_SP_DLG_INNERBORDER_LEFT 6
+#define RSC_SP_DLG_INNERBORDER_TOP 6
+#define RSC_SP_DLG_INNERBORDER_RIGHT 6
+#define RSC_SP_DLG_INNERBORDER_BOTTOM 6
+
+// tab page inner border
+#define RSC_SP_TBPG_INNERBORDER_LEFT 6 // for tabpage groupings
+#define RSC_SP_TBPG_INNERBORDER_TOP 3
+#define RSC_SP_TBPG_INNERBORDER_RIGHT 6
+#define RSC_SP_TBPG_INNERBORDER_BOTTOM 6
+
+// FixedLine group inner border
+#define RSC_SP_FLGR_INNERBORDER_LEFT 6 // for FixedLine groupings
+#define RSC_SP_FLGR_INNERBORDER_TOP 3
+#define RSC_SP_FLGR_INNERBORDER_RIGHT 0
+#define RSC_SP_FLGR_INNERBORDER_BOTTOM 0
+
+// GroupBox inner border
+#define RSC_SP_GRP_INNERBORDER_LEFT 6 // for GroupBox groupings
+#define RSC_SP_GRP_INNERBORDER_TOP 6
+#define RSC_SP_GRP_INNERBORDER_RIGHT 6
+#define RSC_SP_GRP_INNERBORDER_BOTTOM 6
+
+#endif // _SVT_CONTROLDIMS_HRC_
diff --git a/svtools/inc/svtools/ctrlbox.hxx b/svtools/inc/svtools/ctrlbox.hxx
new file mode 100644
index 000000000000..9e6e942daf1e
--- /dev/null
+++ b/svtools/inc/svtools/ctrlbox.hxx
@@ -0,0 +1,504 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _CTRLBOX_HXX
+#define _CTRLBOX_HXX
+
+#include "svtools/svtdllapi.h"
+
+#ifndef _LSTBOX_HXX
+#include <vcl/lstbox.hxx>
+#endif
+#ifndef _COMBOBOX_HXX
+#include <vcl/combobox.hxx>
+#endif
+#ifndef _IMAGE_HXX
+#include <vcl/image.hxx>
+#endif
+#ifndef _VIRDEV_HXX
+#include <vcl/virdev.hxx>
+#endif
+#ifndef _METRIC_HXX
+#include <vcl/metric.hxx>
+#endif
+#ifndef _FIELD_HXX
+#include <vcl/field.hxx>
+#endif
+
+class ImplFontList;
+class ImpColorList;
+class ImpLineList;
+class FontList;
+
+/*************************************************************************
+
+Beschreibung
+============
+
+class ColorListBox
+
+Beschreibung
+
+Erlaubt die Auswahl von Farben.
+
+--------------------------------------------------------------------------
+
+class LineListBox
+
+Beschreibung
+
+Erlaubt die Auswahl von Linien-Styles und Groessen. Es ist darauf zu achten,
+das vor dem ersten Insert die Units und die Fesntergroesse gesetzt sein
+muessen. An Unit wird Point und mm unterstuetzt und als SourceUnit Point,
+mm und Twips. Alle Angaben muessen in 100teln der jeweiligen Einheit
+vorliegen.
+
+Line1 ist aeussere, Line2 die innere und Distance die Distanz zwischen
+den beiden Linien. Wenn Line2 = 0 ist, wird nur Line1 angezeigt. Als
+Default sind sowohl Source als auch Ziel-Unit FUNIT_POINT.
+
+Mit SetColor() kann die Linienfarbe eingestellt werden.
+
+Anmerkungen und Ausnahmen
+
+Gegenueber einer normalen ListBox, koennen keine User-Daten gesetzt
+werden. Ausserdem sollte wenn der UpdateMode ausgeschaltet ist, keine
+Daten abgefragt oder die Selektion gesetzt werden, da in diesem Zustand
+die Daten nicht definiert sind. Wenn der UpdateMode ausgeschaltet ist,
+sollte der Rueckgabewert bei Insert nicht ausgewertet werden, da er keine
+Bedeutung hat. Ausserdem darf nicht das WinBit WB_SORT gesetzt sein.
+
+--------------------------------------------------------------------------
+
+class FontNameBox
+
+Beschreibung
+
+Erlaubt die Auswahl von Fonts. Die ListBox wird mit Fill gefuellt, wo
+ein Pointer auf eine FontList uebergeben werden muss.
+
+Mit EnableWYSIWYG() kann man einstellen, das die Fontnamen in Ihrer Schrift
+angezeigt werden und mit EnableSymbols() kann eingestellt werden, das
+vor dem Namen ueber ein Symbol angezeigt wird, ob es sich um eine
+Drucker oder Bildschirmschrift handelt.
+
+Querverweise
+
+FontList; FontStyleBox; FontSizeBox; FontNameMenu
+
+--------------------------------------------------------------------------
+
+class FontStyleBox
+
+Beschreibung
+
+Erlaubt die Auswahl eines FontStyles. Mit Fill wird die ListBox mit
+den Styles zum uebergebenen Font gefuellt. Nachgebildete Styles werden
+immer mit eingefuegt (kann sich aber noch aendern, da vielleicht
+nicht alle Applikationen [StarDraw,Formel,FontWork] mit Syntetic-Fonts
+umgehen koennen). Bei Fill bleibt vorherige Name soweit wie moeglich
+erhalten.
+
+Fuer DontKnow sollte die FontStyleBox mit String() gefuellt werden.
+Dann enthaellt die Liste die Standardattribute. Der Style, der gerade
+angezeigt wird, muss gegebenenfalls noch vom Programm zurueckgesetzt werden.
+
+Querverweise
+
+FontList; FontNameBox; FontSizeBox; FontStyleMenu
+
+--------------------------------------------------------------------------
+
+class FontSizeBox
+
+Beschreibung
+
+Erlaubt die Auswahl von Fontgroessen. Werte werden ueber GetValue()
+abgefragt und ueber SetValue() gesetzt. Fill fuellt die ListBox mit den
+Groessen zum uebergebenen Font. Alle Groessen werden in 10tel Point
+angegeben. Die FontListe, die bei Fill uebergeben wird, muss bis zum
+naechsten Fill-Aufruf erhalten bleiben.
+
+Zusaetzlich erlaubt die FontSizeBox noch einen Relative-Mode. Dieser
+dient dazu, Prozent-Werte eingeben zu koennen. Dies kann zum Beispiel
+nuetzlich sein, wenn man die Box in einem Vorlagen-Dialog anbietet.
+Dieser Modus ist nur anschaltbar, jedoch nicht wieder abschaltbar.
+
+Fuer DontKnow sollte die FontSizeBox mit FontInfo() gefuellt werden.
+Dann enthaellt die Liste die Standardgroessen. Die Groesse, die gerade
+angezeigt wird, muss gegebenenfalls noch vom Programm zurueckgesetzt werden.
+
+Querverweise
+
+FontList; FontNameBox; FontStyleBox; FontSizeMenu
+
+*************************************************************************/
+
+// ----------------
+// - ColorListBox -
+// ----------------
+
+class SVT_DLLPUBLIC ColorListBox : public ListBox
+{
+ ImpColorList* pColorList; // Separate Liste, falls UserDaten von aussen verwendet werden.
+ Size aImageSize;
+
+#ifdef _CTRLBOX_CXX
+ using Window::ImplInit;
+ SVT_DLLPRIVATE void ImplInit();
+ SVT_DLLPRIVATE void ImplDestroyColorEntries();
+#endif
+public:
+ ColorListBox( Window* pParent,
+ WinBits nWinStyle = WB_BORDER );
+ ColorListBox( Window* pParent, const ResId& rResId );
+ virtual ~ColorListBox();
+
+ virtual void UserDraw( const UserDrawEvent& rUDEvt );
+
+ using ListBox::InsertEntry;
+ virtual USHORT InsertEntry( const XubString& rStr,
+ USHORT nPos = LISTBOX_APPEND );
+ virtual USHORT InsertEntry( const Color& rColor, const XubString& rStr,
+ USHORT nPos = LISTBOX_APPEND );
+ void InsertAutomaticEntry();
+ using ListBox::RemoveEntry;
+ virtual void RemoveEntry( USHORT nPos );
+ virtual void Clear();
+ void CopyEntries( const ColorListBox& rBox );
+
+ using ListBox::GetEntryPos;
+ virtual USHORT GetEntryPos( const Color& rColor ) const;
+ virtual Color GetEntryColor( USHORT nPos ) const;
+ Size GetImageSize() const { return aImageSize; }
+
+ void SelectEntry( const XubString& rStr, BOOL bSelect = TRUE )
+ { ListBox::SelectEntry( rStr, bSelect ); }
+ void SelectEntry( const Color& rColor, BOOL bSelect = TRUE );
+ XubString GetSelectEntry( USHORT nSelIndex = 0 ) const
+ { return ListBox::GetSelectEntry( nSelIndex ); }
+ Color GetSelectEntryColor( USHORT nSelIndex = 0 ) const;
+ BOOL IsEntrySelected( const XubString& rStr ) const
+ { return ListBox::IsEntrySelected( rStr ); }
+
+ BOOL IsEntrySelected( const Color& rColor ) const;
+
+private:
+ // declared as private because some compilers would generate the default functions
+ ColorListBox( const ColorListBox& );
+ ColorListBox& operator =( const ColorListBox& );
+
+ void SetEntryData( USHORT nPos, void* pNewData );
+ void* GetEntryData( USHORT nPos ) const;
+};
+
+inline void ColorListBox::SelectEntry( const Color& rColor, BOOL bSelect )
+{
+ USHORT nPos = GetEntryPos( rColor );
+ if ( nPos != LISTBOX_ENTRY_NOTFOUND )
+ ListBox::SelectEntryPos( nPos, bSelect );
+}
+
+inline BOOL ColorListBox::IsEntrySelected( const Color& rColor ) const
+{
+ USHORT nPos = GetEntryPos( rColor );
+ if ( nPos != LISTBOX_ENTRY_NOTFOUND )
+ return IsEntryPosSelected( nPos );
+ else
+ return FALSE;
+}
+
+inline Color ColorListBox::GetSelectEntryColor( USHORT nSelIndex ) const
+{
+ USHORT nPos = GetSelectEntryPos( nSelIndex );
+ Color aColor;
+ if ( nPos != LISTBOX_ENTRY_NOTFOUND )
+ aColor = GetEntryColor( nPos );
+ return aColor;
+}
+
+// ---------------
+// - LineListBox -
+// ---------------
+
+class SVT_DLLPUBLIC LineListBox : public ListBox
+{
+ ImpLineList* pLineList;
+ VirtualDevice aVirDev;
+ Size aTxtSize;
+ Color aColor;
+ Color maPaintCol;
+ FieldUnit eUnit;
+ FieldUnit eSourceUnit;
+
+ SVT_DLLPRIVATE void ImpGetLine( long nLine1, long nLine2, long nDistance, Bitmap& rBmp, XubString& rStr );
+ using Window::ImplInit;
+ SVT_DLLPRIVATE void ImplInit();
+ void UpdateLineColors( void );
+ BOOL UpdatePaintLineColor( void ); // returns TRUE if maPaintCol has changed
+ inline const Color& GetPaintColor( void ) const;
+ virtual void DataChanged( const DataChangedEvent& rDCEvt );
+
+public:
+ LineListBox( Window* pParent, WinBits nWinStyle = WB_BORDER );
+ LineListBox( Window* pParent, const ResId& rResId );
+ virtual ~LineListBox();
+
+ using ListBox::InsertEntry;
+ virtual USHORT InsertEntry( const XubString& rStr, USHORT nPos = LISTBOX_APPEND );
+ virtual USHORT InsertEntry( long nLine1, long nLine2 = 0, long nDistance = 0, USHORT nPos = LISTBOX_APPEND );
+ using ListBox::RemoveEntry;
+ virtual void RemoveEntry( USHORT nPos );
+ virtual void Clear();
+
+ using ListBox::GetEntryPos;
+ USHORT GetEntryPos( long nLine1, long nLine2 = 0, long nDistance = 0 ) const;
+ long GetEntryLine1( USHORT nPos ) const;
+ long GetEntryLine2( USHORT nPos ) const;
+ long GetEntryDistance( USHORT nPos ) const;
+
+ inline void SelectEntry( const XubString& rStr, BOOL bSelect = TRUE ) { ListBox::SelectEntry( rStr, bSelect ); }
+ void SelectEntry( long nLine1, long nLine2 = 0, long nDistance = 0, BOOL bSelect = TRUE );
+ long GetSelectEntryLine1( USHORT nSelIndex = 0 ) const;
+ long GetSelectEntryLine2( USHORT nSelIndex = 0 ) const;
+ long GetSelectEntryDistance( USHORT nSelIndex = 0 ) const;
+ inline BOOL IsEntrySelected( const XubString& rStr ) const { return ListBox::IsEntrySelected( rStr ); }
+ BOOL IsEntrySelected( long nLine1, long nLine2 = 0, long nDistance = 0 ) const;
+
+ inline void SetUnit( FieldUnit eNewUnit ) { eUnit = eNewUnit; }
+ inline FieldUnit GetUnit() const { return eUnit; }
+ inline void SetSourceUnit( FieldUnit eNewUnit ) { eSourceUnit = eNewUnit; }
+ inline FieldUnit GetSourceUnit() const { return eSourceUnit; }
+
+ void SetColor( const Color& rColor );
+ inline Color GetColor( void ) const;
+
+private:
+ // declared as private because some compilers would generate the default methods
+ LineListBox( const LineListBox& );
+ LineListBox& operator =( const LineListBox& );
+ void SetEntryData( USHORT nPos, void* pNewData );
+ void* GetEntryData( USHORT nPos ) const;
+};
+
+inline void LineListBox::SelectEntry( long nLine1, long nLine2, long nDistance, BOOL bSelect )
+{
+ USHORT nPos = GetEntryPos( nLine1, nLine2, nDistance );
+ if ( nPos != LISTBOX_ENTRY_NOTFOUND )
+ ListBox::SelectEntryPos( nPos, bSelect );
+}
+
+inline long LineListBox::GetSelectEntryLine1( USHORT nSelIndex ) const
+{
+ USHORT nPos = GetSelectEntryPos( nSelIndex );
+ if ( nPos != LISTBOX_ENTRY_NOTFOUND )
+ return GetEntryLine1( nPos );
+ else
+ return 0;
+}
+
+inline long LineListBox::GetSelectEntryLine2( USHORT nSelIndex ) const
+{
+ USHORT nPos = GetSelectEntryPos( nSelIndex );
+ if ( nPos != LISTBOX_ENTRY_NOTFOUND )
+ return GetEntryLine2( nPos );
+ else
+ return 0;
+}
+
+inline long LineListBox::GetSelectEntryDistance( USHORT nSelIndex ) const
+{
+ USHORT nPos = GetSelectEntryPos( nSelIndex );
+ if ( nPos != LISTBOX_ENTRY_NOTFOUND )
+ return GetEntryDistance( nPos );
+ else
+ return 0;
+}
+
+inline BOOL LineListBox::IsEntrySelected( long nLine1, long nLine2, long nDistance ) const
+{
+ USHORT nPos = GetEntryPos( nLine1, nLine2, nDistance );
+ if ( nPos != LISTBOX_ENTRY_NOTFOUND )
+ return IsEntryPosSelected( nPos );
+ else
+ return FALSE;
+}
+
+inline void LineListBox::SetColor( const Color& rColor )
+{
+ aColor = rColor;
+
+ UpdateLineColors();
+}
+
+inline Color LineListBox::GetColor( void ) const
+{
+ return aColor;
+}
+
+
+// ---------------
+// - FontNameBox -
+// ---------------
+
+class SVT_DLLPUBLIC FontNameBox : public ComboBox
+{
+private:
+ ImplFontList* mpFontList;
+ Image maImagePrinterFont;
+ Image maImageBitmapFont;
+ Image maImageScalableFont;
+ BOOL mbWYSIWYG;
+ BOOL mbSymbols;
+
+#ifdef _CTRLBOX_CXX
+ SVT_DLLPRIVATE void ImplCalcUserItemSize();
+ SVT_DLLPRIVATE void ImplDestroyFontList();
+#endif
+
+ void InitBitmaps( void );
+protected:
+ virtual void DataChanged( const DataChangedEvent& rDCEvt );
+public:
+ FontNameBox( Window* pParent,
+ WinBits nWinStyle = WB_SORT );
+ FontNameBox( Window* pParent, const ResId& rResId );
+ virtual ~FontNameBox();
+
+ virtual void UserDraw( const UserDrawEvent& rUDEvt );
+
+ void Fill( const FontList* pList );
+
+ void EnableWYSIWYG( BOOL bEnable = TRUE );
+ BOOL IsWYSIWYGEnabled() const { return mbWYSIWYG; }
+
+ void EnableSymbols( BOOL bEnable = TRUE );
+ BOOL IsSymbolsEnabled() const { return mbSymbols; }
+
+private:
+ // declared as private because some compilers would generate the default functions
+ FontNameBox( const FontNameBox& );
+ FontNameBox& operator =( const FontNameBox& );
+};
+
+// ----------------
+// - FontStyleBox -
+// ----------------
+
+class SVT_DLLPUBLIC FontStyleBox : public ComboBox
+{
+ XubString aLastStyle;
+
+private:
+ using ComboBox::SetText;
+public:
+ FontStyleBox( Window* pParent, WinBits nWinStyle = 0 );
+ FontStyleBox( Window* pParent, const ResId& rResId );
+ virtual ~FontStyleBox();
+
+ virtual void Select();
+ virtual void LoseFocus();
+ virtual void Modify();
+
+ void SetText( const XubString& rText );
+ void Fill( const XubString& rName, const FontList* pList );
+
+private:
+ // declared as private because some compilers would generate the default functions
+ FontStyleBox( const FontStyleBox& );
+ FontStyleBox& operator =( const FontStyleBox& );
+};
+
+inline void FontStyleBox::SetText( const XubString& rText )
+{
+ aLastStyle = rText;
+ ComboBox::SetText( rText );
+}
+
+// ---------------
+// - FontSizeBox -
+// ---------------
+
+class SVT_DLLPUBLIC FontSizeBox : public MetricBox
+{
+ FontInfo aFontInfo;
+ const FontList* pFontList;
+ USHORT nRelMin;
+ USHORT nRelMax;
+ USHORT nRelStep;
+ short nPtRelMin;
+ short nPtRelMax;
+ short nPtRelStep;
+ BOOL bRelativeMode:1,
+ bRelative:1,
+ bPtRelative:1,
+ bStdSize:1;
+
+#ifdef _CTRLBOX_CXX
+ using Window::ImplInit;
+ SVT_DLLPRIVATE void ImplInit();
+#endif
+
+protected:
+ virtual XubString CreateFieldText( sal_Int64 nValue ) const;
+
+public:
+ FontSizeBox( Window* pParent, WinBits nWinStyle = 0 );
+ FontSizeBox( Window* pParent, const ResId& rResId );
+ virtual ~FontSizeBox();
+
+ void Reformat();
+ void Modify();
+
+ void Fill( const FontInfo* pInfo, const FontList* pList );
+
+ void EnableRelativeMode( USHORT nMin = 50, USHORT nMax = 150,
+ USHORT nStep = 5 );
+ void EnablePtRelativeMode( short nMin = -200, short nMax = 200,
+ short nStep = 10 );
+ BOOL IsRelativeMode() const { return bRelativeMode; }
+ void SetRelative( BOOL bRelative = FALSE );
+ BOOL IsRelative() const { return bRelative; }
+ void SetPtRelative( BOOL bPtRel = TRUE )
+ { bPtRelative = bPtRel; SetRelative( TRUE ); }
+ BOOL IsPtRelative() const { return bPtRelative; }
+
+ virtual void SetValue( sal_Int64 nNewValue, FieldUnit eInUnit );
+ virtual void SetValue( sal_Int64 nNewValue );
+ virtual sal_Int64 GetValue( FieldUnit eOutUnit ) const;
+ virtual sal_Int64 GetValue() const;
+ sal_Int64 GetValue( USHORT nPos, FieldUnit eOutUnit ) const;
+ void SetUserValue( sal_Int64 nNewValue, FieldUnit eInUnit );
+ void SetUserValue( sal_Int64 nNewValue ) { SetUserValue( nNewValue, FUNIT_NONE ); }
+
+private:
+ // declared as private because some compilers would generate the default functions
+ FontSizeBox( const FontSizeBox& );
+ FontSizeBox& operator =( const FontSizeBox& );
+};
+
+#endif // _CTRLBOX_HXX
diff --git a/svtools/inc/svtools/ctrltool.hxx b/svtools/inc/svtools/ctrltool.hxx
new file mode 100644
index 000000000000..a0eb5db2b955
--- /dev/null
+++ b/svtools/inc/svtools/ctrltool.hxx
@@ -0,0 +1,251 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _CTRLTOOL_HXX
+#define _CTRLTOOL_HXX
+
+#include "svtools/svtdllapi.h"
+
+#ifndef _SAL_TYPES_H
+#include <sal/types.h>
+#endif
+#include <tools/list.hxx>
+#ifndef _METRIC_HXX
+#include <vcl/metric.hxx>
+#endif
+
+class ImplFontListNameInfo;
+class OutputDevice;
+
+/*************************************************************************
+
+Beschreibung
+============
+
+class FontList
+
+Diese Klasse verwaltet alle Fonts, die auf einem oder zwei Ausgabegeraeten
+dargestellt werden koennen. Zusaetzlich bietet die Klasse Methoden an, um
+aus Fett und Kursiv den StyleName zu generieren oder aus einem Stylename
+die fehlenden Attribute. Zusaetzlich kann diese Klasse syntetisch nachgebildete
+Fonts verarbeiten. Diese Klasse kann mit verschiedenen Standard-Controls und
+Standard-Menus zusammenarbeiten.
+
+Querverweise
+
+class FontNameBox, class FontStyleBox, class FontSizeBox,
+class FontNameMenu, class FontStyleMenu, class FontSizeMenu
+
+--------------------------------------------------------------------------
+
+FontList::FontList( OutputDevice* pDevice, OutputDevice* pDevice2 = NULL,
+ BOOL bAll = TRUE );
+
+Konstruktor der Klasse FontList. Vom uebergebenen OutputDevice werden die
+entsprechenden Fonts abgefragt. Das OutputDevice muss solange existieren,
+wie auch die Klasse FontList existiert. Optional kann noch ein 2tes
+Ausgabedevice uebergeben werden, damit man zum Beispiel die Fonts von
+einem Drucker und dem Bildschirm zusammen in einer FontListe verwalten kann
+und somit auch den FontListen und FontMenus die Fonts von beiden OutputDevices
+zu uebergeben. Auch das pDevice2 muss solange existieren, wie die Klasse
+FontList existiert.
+
+Das OutputDevice, welches als erstes uebergeben wird, sollte das bevorzugte
+sein. Dies sollte im normalfall der Drucker sein. Denn wenn 2 verschiede
+Device-Schriften (eine fuer Drucker und eine fuer den Bildschirm) vorhanden
+sind, wird die vom uebergebenen Device "pDevice" bevorzugt.
+
+Mit dem dritten Parameter kann man angeben, ob nur skalierbare Schriften
+abgefragt werden sollen oder alle. Wenn TRUE uebergeben wird, werden auch
+Bitmap-Schriften mit abgefragt. Bei FALSE werden Vector-Schriften und
+scalierbare Schriften abgefragt.
+
+--------------------------------------------------------------------------
+
+String FontList::GetStyleName( const FontInfo& rInfo ) const;
+
+Diese Methode gibt den StyleName von einer FontInfo zurueck. Falls kein
+StyleName gesetzt ist, wird aus den gesetzten Attributen ein entsprechender
+Name generiert, der dem Anwender praesentiert werden kann.
+
+--------------------------------------------------------------------------
+
+XubString FontList::GetFontMapText( const FontInfo& rInfo ) const;
+
+Diese Methode gibt einen Matchstring zurueck, der dem Anwender
+anzeigen soll, welche Probleme es mit diesem Font geben kann.
+
+--------------------------------------------------------------------------
+
+FontInfo FontList::Get( const String& rName, const String& rStyleName ) const;
+
+Diese Methode sucht aus dem uebergebenen Namen und dem uebergebenen StyleName
+die entsprechende FontInfo-Struktur raus. Der Stylename kann in dieser
+Methode auch ein syntetischer sein. In diesem Fall werden die entsprechenden
+Werte in der FontInfo-Struktur entsprechend gesetzt. Wenn ein StyleName
+uebergeben wird, kann jedoch eine FontInfo-Struktur ohne Stylename
+zurueckgegeben werden. Um den StyleName dem Anwender zu repraesentieren,
+muss GetStyleName() mit dieser FontInfo-Struktur aufgerufen werden.
+
+Querverweise
+
+FontList::GetStyleName()
+
+--------------------------------------------------------------------------
+
+FontInfo FontList::Get( const String& rName, FontWeight eWeight,
+ FontItalic eItalic ) const;
+
+Diese Methode sucht aus dem uebergebenen Namen und den uebergebenen Styles
+die entsprechende FontInfo-Struktur raus. Diese Methode kann auch eine
+FontInfo-Struktur ohne Stylename zurueckgegeben. Um den StyleName dem
+Anwender zu repraesentieren, muss GetStyleName() mit dieser FontInfo-Struktur
+aufgerufen werden.
+
+Querverweise
+
+FontList::GetStyleName()
+
+--------------------------------------------------------------------------
+
+const long* FontList::GetSizeAry( const FontInfo& rInfo ) const;
+
+Diese Methode liefert zum uebergebenen Font die vorhandenen Groessen.
+Falls es sich dabei um einen skalierbaren Font handelt, werden Standard-
+Groessen zurueckgegeben. Das Array enthaelt die Hoehen des Fonts in 10tel
+Point. Der letzte Wert des Array ist 0. Das Array, was zurueckgegeben wird,
+wird von der FontList wieder zerstoert. Nach dem Aufruf der naechsten Methode
+von der FontList, sollte deshalb das Array nicht mehr referenziert werden.
+
+*************************************************************************/
+
+// ------------
+// - FontList -
+// ------------
+
+#define FONTLIST_FONTINFO_NOTFOUND ((USHORT)0xFFFF)
+
+#define FONTLIST_FONTNAMETYPE_PRINTER ((USHORT)0x0001)
+#define FONTLIST_FONTNAMETYPE_SCREEN ((USHORT)0x0002)
+#define FONTLIST_FONTNAMETYPE_SCALABLE ((USHORT)0x0004)
+
+class SVT_DLLPUBLIC FontList : private List
+{
+private:
+ XubString maMapBoth;
+ XubString maMapPrinterOnly;
+ XubString maMapScreenOnly;
+ XubString maMapSizeNotAvailable;
+ XubString maMapStyleNotAvailable;
+ XubString maMapNotAvailable;
+ XubString maLight;
+ XubString maLightItalic;
+ XubString maNormal;
+ XubString maNormalItalic;
+ XubString maBold;
+ XubString maBoldItalic;
+ XubString maBlack;
+ XubString maBlackItalic;
+ long* mpSizeAry;
+ OutputDevice* mpDev;
+ OutputDevice* mpDev2;
+
+#ifdef CTRLTOOL_CXX
+ SVT_DLLPRIVATE ImplFontListNameInfo* ImplFind( const XubString& rSearchName, ULONG* pIndex ) const;
+ SVT_DLLPRIVATE ImplFontListNameInfo* ImplFindByName( const XubString& rStr ) const;
+ SVT_DLLPRIVATE void ImplInsertFonts( OutputDevice* pDev, BOOL bAll,
+ BOOL bInsertData );
+#endif
+
+public:
+ FontList( OutputDevice* pDevice,
+ OutputDevice* pDevice2 = NULL,
+ BOOL bAll = TRUE );
+ ~FontList();
+
+ FontList* Clone() const;
+
+ OutputDevice* GetDevice() const { return mpDev; }
+ OutputDevice* GetDevice2() const { return mpDev2; }
+ XubString GetFontMapText( const FontInfo& rInfo ) const;
+ USHORT GetFontNameType( const XubString& rFontName ) const;
+
+ const XubString& GetNormalStr() const { return maNormal; }
+ const XubString& GetItalicStr() const { return maNormalItalic; }
+ const XubString& GetBoldStr() const { return maBold; }
+ const XubString& GetBoldItalicStr() const { return maBoldItalic; }
+ const XubString& GetStyleName( FontWeight eWeight, FontItalic eItalic ) const;
+ XubString GetStyleName( const FontInfo& rInfo ) const;
+
+ FontInfo Get( const XubString& rName,
+ const XubString& rStyleName ) const;
+ FontInfo Get( const XubString& rName,
+ FontWeight eWeight,
+ FontItalic eItalic ) const;
+
+ BOOL IsAvailable( const XubString& rName ) const;
+ USHORT GetFontNameCount() const
+ { return (USHORT)List::Count(); }
+ const FontInfo& GetFontName( USHORT nFont ) const;
+ USHORT GetFontNameType( USHORT nFont ) const;
+ sal_Handle GetFirstFontInfo( const XubString& rName ) const;
+ sal_Handle GetNextFontInfo( sal_Handle hFontInfo ) const;
+ const FontInfo& GetFontInfo( sal_Handle hFontInfo ) const;
+
+ const long* GetSizeAry( const FontInfo& rInfo ) const;
+ static const long* GetStdSizeAry();
+
+private:
+ FontList( const FontList& );
+ FontList& operator =( const FontList& );
+};
+
+
+// -----------------
+// - FontSizeNames -
+// -----------------
+
+class SVT_DLLPUBLIC FontSizeNames
+{
+private:
+ struct ImplFSNameItem* mpArray;
+ ULONG mnElem;
+
+public:
+ FontSizeNames( LanguageType eLanguage /* = LANGUAGE_DONTKNOW */ );
+
+ ULONG Count() const { return mnElem; }
+ BOOL IsEmpty() const { return !mnElem; }
+
+ long Name2Size( const String& ) const;
+ String Size2Name( long ) const;
+
+ String GetIndexName( ULONG nIndex ) const;
+ long GetIndexSize( ULONG nIndex ) const;
+};
+
+#endif // _CTRLTOOL_HXX
diff --git a/svtools/inc/svtools/dialogclosedlistener.hxx b/svtools/inc/svtools/dialogclosedlistener.hxx
new file mode 100644
index 000000000000..3712d408af52
--- /dev/null
+++ b/svtools/inc/svtools/dialogclosedlistener.hxx
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVTOOLS_DIALOGCLOSEDLISTENER_HXX
+#define _SVTOOLS_DIALOGCLOSEDLISTENER_HXX
+
+#include "svtools/svtdllapi.h"
+#include <cppuhelper/implbase1.hxx>
+#include <com/sun/star/ui/dialogs/XDialogClosedListener.hpp>
+#include <tools/link.hxx>
+
+//.........................................................................
+namespace svt
+{
+//.........................................................................
+
+ //=====================================================================
+ //= ODialogClosedListener
+ //=====================================================================
+ /**
+ C++ class to implement a ::com::sun::star::ui::dialogs::XDialogClosedListener
+ */
+ class SVT_DLLPUBLIC DialogClosedListener :
+ public ::cppu::WeakImplHelper1< ::com::sun::star::ui::dialogs::XDialogClosedListener >
+ {
+ private:
+ /**
+ This link will be called when the dialog was closed.
+
+ The link must have the type:
+ DECL_LINK( DialogClosedHdl, ::com::sun::star::ui::dialogs::DialogClosedEvent* );
+ */
+ Link m_aDialogClosedLink;
+
+ public:
+ DialogClosedListener();
+ DialogClosedListener( const Link& rLink );
+
+ inline void SetDialogClosedLink( const Link& rLink ) { m_aDialogClosedLink = rLink; }
+
+ // XDialogClosedListener methods
+ virtual void SAL_CALL dialogClosed( const ::com::sun::star::ui::dialogs::DialogClosedEvent& aEvent ) throw (::com::sun::star::uno::RuntimeException);
+
+ // XEventListener methods
+ virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source ) throw( ::com::sun::star::uno::RuntimeException );
+ };
+
+//.........................................................................
+} // namespace svt
+//.........................................................................
+
+#endif// COMPHELPER_DIALOGCLOSEDLISTENER_HXX
+
diff --git a/svtools/inc/svtools/dialogcontrolling.hxx b/svtools/inc/svtools/dialogcontrolling.hxx
new file mode 100644
index 000000000000..cd60736527f5
--- /dev/null
+++ b/svtools/inc/svtools/dialogcontrolling.hxx
@@ -0,0 +1,306 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef SVTOOLS_DIALOGCONTROLLING_HXX
+#define SVTOOLS_DIALOGCONTROLLING_HXX
+
+#include <svtools/svtdllapi.h>
+
+#include <tools/link.hxx>
+#include <vcl/button.hxx>
+
+#include <vector>
+#include <boost/shared_ptr.hpp>
+
+//........................................................................
+namespace svt
+{
+//........................................................................
+
+ //=====================================================================
+ //= IWindowOperator
+ //=====================================================================
+ /** an abstract interface for operating on a ->Window
+ */
+ class SVT_DLLPUBLIC SAL_NO_VTABLE IWindowOperator
+ {
+ public:
+ /** called when an event happened which should be reacted to
+
+ @param _rTrigger
+ the event which triggered the call. If the Id of the event is 0, then this is the initial
+ call which is made when ->_rOperateOn is added to the responsibility of the DialogController.
+ @param _rOperateOn
+ the window on which to operate
+ */
+ virtual void operateOn( const VclWindowEvent& _rTrigger, Window& _rOperateOn ) const = 0;
+
+ virtual ~IWindowOperator();
+ };
+ typedef ::boost::shared_ptr< IWindowOperator > PWindowOperator;
+
+ //=====================================================================
+ //= IWindowEventFilter
+ //=====================================================================
+ /** an abstract interface for deciding whether a ->VclWindowEvent
+ is worth paying attention to
+ */
+ class SVT_DLLPUBLIC SAL_NO_VTABLE IWindowEventFilter
+ {
+ public:
+ virtual bool payAttentionTo( const VclWindowEvent& _rEvent ) const = 0;
+
+ virtual ~IWindowEventFilter();
+ };
+ typedef ::boost::shared_ptr< IWindowEventFilter > PWindowEventFilter;
+
+ //=====================================================================
+ //= DialogController
+ //=====================================================================
+ struct DialogController_Data;
+ /** a class controlling interactions between dialog controls
+
+ An instance of this class listens to all events fired by a certain
+ ->Control (more precise, a ->Window), the so-called instigator.
+
+ Additionally, the ->DialogController maintains a list of windows which
+ are affected by changes in the instigator window. Let's call those the
+ dependent windows.
+
+ Now, by help of an owner-provided ->IWindowEventFilter, the ->DialogController
+ decides which events are worth attention. By help of an owner-provided
+ ->IWindowOperator, it handles those events for all dependent windows.
+ */
+ class SVT_DLLPUBLIC DialogController
+ {
+ private:
+ ::std::auto_ptr< DialogController_Data > m_pImpl;
+
+ public:
+ DialogController( Window& _rInstigator, const PWindowEventFilter& _pEventFilter, const PWindowOperator& _pOperator );
+ virtual ~DialogController();
+
+ /** adds a window to the list of dependent windows
+
+ @param _rWindow
+ The window to add to the list of dependent windows.
+
+ The caller is responsible for life-time control: The given window
+ must live at least as long as the ->DialogController instance does.
+ */
+ void addDependentWindow( Window& _rWindow );
+
+ /** resets the controller so that no actions happend anymore.
+
+ The instances is disfunctional after this method has been called.
+ */
+ void reset();
+
+ private:
+ void impl_Init();
+ void impl_updateAll( const VclWindowEvent& _rTriggerEvent );
+ void impl_update( const VclWindowEvent& _rTriggerEvent, Window& _rWindow );
+
+ DECL_LINK( OnWindowEvent, const VclWindowEvent* );
+
+ private:
+ DialogController( const DialogController& ); // never implemented
+ DialogController& operator=( const DialogController& ); // never implemented
+ };
+ typedef ::boost::shared_ptr< DialogController > PDialogController;
+
+ //=====================================================================
+ //= ControlDependencyManager
+ //=====================================================================
+ struct ControlDependencyManager_Data;
+ /** helper class for managing control dependencies
+
+ Instances of this class are intended to be held as members of a dialog/tabpage/whatever
+ class, with easy administration of inter-control dependencies (such as "Enable
+ control X if and only if checkbox Y is checked).
+ */
+ class SVT_DLLPUBLIC ControlDependencyManager
+ {
+ private:
+ ::std::auto_ptr< ControlDependencyManager_Data > m_pImpl;
+
+ public:
+ ControlDependencyManager();
+ ~ControlDependencyManager();
+
+ /** clears all dialog controllers previously added to the manager
+ */
+ void clear();
+
+ /** ensures that a given window is enabled or disabled, according to the check state
+ of a given radio button
+ @param _rRadio
+ denotes the radio button whose check state is to observe
+ @param _rDependentWindow
+ denotes the window which should be enabled when ->_rRadio is checked, and
+ disabled when it's unchecked
+ */
+ void enableOnRadioCheck( RadioButton& _rRadio, Window& _rDependentWindow );
+ void enableOnRadioCheck( RadioButton& _rRadio, Window& _rDependentWindow1, Window& _rDependentWindow2 );
+ void enableOnRadioCheck( RadioButton& _rRadio, Window& _rDependentWindow1, Window& _rDependentWindow2, Window& _rDependentWindow3 );
+ void enableOnRadioCheck( RadioButton& _rRadio, Window& _rDependentWindow1, Window& _rDependentWindow2, Window& _rDependentWindow3, Window& _rDependentWindow4 );
+ void enableOnRadioCheck( RadioButton& _rRadio, Window& _rDependentWindow1, Window& _rDependentWindow2, Window& _rDependentWindow3, Window& _rDependentWindow4, Window& _rDependentWindow5 );
+ void enableOnRadioCheck( RadioButton& _rRadio, Window& _rDependentWindow1, Window& _rDependentWindow2, Window& _rDependentWindow3, Window& _rDependentWindow4, Window& _rDependentWindow5, Window& _rDependentWindow6 );
+
+ /** ensures that a given window is enabled or disabled, according to the mark state
+ of a given check box
+ @param _rBox
+ denotes the check box whose mark state is to observe
+ @param _rDependentWindow
+ denotes the window which should be enabled when ->_rBox is marked, and
+ disabled when it's unmarked
+ */
+ void enableOnCheckMark( CheckBox& _rBox, Window& _rDependentWindow );
+ void enableOnCheckMark( CheckBox& _rBox, Window& _rDependentWindow1, Window& _rDependentWindow2 );
+ void enableOnCheckMark( CheckBox& _rBox, Window& _rDependentWindow1, Window& _rDependentWindow2, Window& _rDependentWindow3 );
+ void enableOnCheckMark( CheckBox& _rBox, Window& _rDependentWindow1, Window& _rDependentWindow2, Window& _rDependentWindow3, Window& _rDependentWindow4 );
+ void enableOnCheckMark( CheckBox& _rBox, Window& _rDependentWindow1, Window& _rDependentWindow2, Window& _rDependentWindow3, Window& _rDependentWindow4, Window& _rDependentWindow5 );
+ void enableOnCheckMark( CheckBox& _rBox, Window& _rDependentWindow1, Window& _rDependentWindow2, Window& _rDependentWindow3, Window& _rDependentWindow4, Window& _rDependentWindow5, Window& _rDependentWindow6 );
+
+ /** adds a non-standard controller whose functionality is not covered by the other methods
+
+ @param _pController
+ the controller to add to the manager. Must not be <NULL/>.
+ */
+ void addController( const PDialogController& _pController );
+
+ private:
+ ControlDependencyManager( const ControlDependencyManager& ); // never implemented
+ ControlDependencyManager& operator=( const ControlDependencyManager& ); // never implemented
+ };
+
+ //=====================================================================
+ //= EnableOnCheck
+ //=====================================================================
+ /** a helper class implementing the ->IWindowOperator interface,
+ which enables a dependent window depending on the check state of
+ an instigator window.
+
+ @see DialogController
+ */
+ template< class CHECKABLE >
+ class SVT_DLLPUBLIC EnableOnCheck : public IWindowOperator
+ {
+ public:
+ typedef CHECKABLE SourceType;
+
+ private:
+ SourceType& m_rCheckable;
+
+ public:
+ /** constructs the instance
+
+ @param _rCheckable
+ a ->Window instance which supports a boolean method IsChecked. Usually
+ a ->RadioButton or ->CheckBox
+ */
+ EnableOnCheck( SourceType& _rCheckable )
+ :m_rCheckable( _rCheckable )
+ {
+ }
+
+ virtual void operateOn( const VclWindowEvent& /*_rTrigger*/, Window& _rOperateOn ) const
+ {
+ _rOperateOn.Enable( m_rCheckable.IsChecked() );
+ }
+ };
+
+ //=====================================================================
+ //= FilterForRadioOrCheckToggle
+ //=====================================================================
+ /** a helper class implementing the ->IWindowEventFilter interface,
+ which filters for radio buttons or check boxes being toggled.
+
+ Technically, the class simply filters for the ->VCLEVENT_RADIOBUTTON_TOGGLE
+ and the ->VCLEVENT_CHECKBOX_TOGGLE event.
+ */
+ class SVT_DLLPUBLIC FilterForRadioOrCheckToggle : public IWindowEventFilter
+ {
+ const Window& m_rWindow;
+ public:
+ FilterForRadioOrCheckToggle( const Window& _rWindow )
+ :m_rWindow( _rWindow )
+ {
+ }
+
+ bool payAttentionTo( const VclWindowEvent& _rEvent ) const
+ {
+ if ( ( _rEvent.GetWindow() == &m_rWindow )
+ && ( ( _rEvent.GetId() == VCLEVENT_RADIOBUTTON_TOGGLE )
+ || ( _rEvent.GetId() == VCLEVENT_CHECKBOX_TOGGLE )
+ )
+ )
+ return true;
+ return false;
+ }
+ };
+
+ //=====================================================================
+ //= RadioDependentEnabler
+ //=====================================================================
+ /** a ->DialogController derivee which enables or disables its dependent windows,
+ depending on the check state of a radio button.
+
+ The usage of this class is as simple as
+ <code>
+ pController = new RadioDependentEnabler( m_aOptionSelectSomething );
+ pController->addDependentWindow( m_aLabelSelection );
+ pController->addDependentWindow( m_aListSelection );
+ </code>
+
+ With this, both <code>m_aLabelSelection</code> and <code>m_aListSelection</code> will
+ be disabled if and only <code>m_aOptionSelectSomething</code> is checked.
+ */
+ class SVT_DLLPUBLIC RadioDependentEnabler : public DialogController
+ {
+ public:
+ RadioDependentEnabler( RadioButton& _rButton )
+ :DialogController( _rButton,
+ PWindowEventFilter( new FilterForRadioOrCheckToggle( _rButton ) ),
+ PWindowOperator( new EnableOnCheck< RadioButton >( _rButton ) ) )
+ {
+ }
+
+ RadioDependentEnabler( CheckBox& _rBox )
+ :DialogController( _rBox,
+ PWindowEventFilter( new FilterForRadioOrCheckToggle( _rBox ) ),
+ PWindowOperator( new EnableOnCheck< CheckBox >( _rBox ) ) )
+ {
+ }
+ };
+
+//........................................................................
+} // namespace svt
+//........................................................................
+
+#endif // SVTOOLS_DIALOGCONTROLLING_HXX
+
diff --git a/svtools/inc/svtools/editbrowsebox.hxx b/svtools/inc/svtools/editbrowsebox.hxx
index f97449e1880c..26ff11e11ca2 100644
--- a/svtools/inc/svtools/editbrowsebox.hxx
+++ b/svtools/inc/svtools/editbrowsebox.hxx
@@ -37,7 +37,7 @@
#include <vcl/lstbox.hxx>
#ifndef _IMAGEBTN_HXX
-#include <vcl/imagebtn.hxx>
+#include <vcl/button.hxx>
#endif
#include <svtools/brwbox.hxx>
#include <vcl/timer.hxx>
diff --git a/svtools/inc/svtools/expander.hxx b/svtools/inc/svtools/expander.hxx
new file mode 100644
index 000000000000..c0f3cfc7632a
--- /dev/null
+++ b/svtools/inc/svtools/expander.hxx
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SV_EXPANDER_HXX
+#define _SV_EXPANDER_HXX
+
+#include <vcl/ctrl.hxx>
+#include <vcl/image.hxx>
+
+enum SvExpanderStateType
+{
+ EST_MIN=1,
+ EST_PLUS=2,
+ EST_MIN_DOWN=3,
+ EST_PLUS_DOWN=4,
+ EST_NONE=5,
+ EST_MIN_DIS=6,
+ EST_PLUS_DIS=7,
+ EST_MIN_DOWN_DIS=8,
+ EST_PLUS_DOWN_DIS=9
+};
+
+class SvExpander: public Control
+{
+private:
+ Point aImagePos;
+ Point aTextPos;
+ Image aActiveImage;
+ Rectangle maFocusRect;
+ ImageList maExpanderImages;
+ BOOL mbIsExpanded;
+ BOOL mbHasFocusRect;
+ BOOL mbIsInMouseDown;
+ Link maToggleHdl;
+ SvExpanderStateType eType;
+
+protected:
+
+ virtual long PreNotify( NotifyEvent& rNEvt );
+ virtual void MouseButtonDown( const MouseEvent& rMEvt );
+ virtual void MouseMove( const MouseEvent& rMEvt );
+ virtual void MouseButtonUp( const MouseEvent& rMEvt );
+ virtual void Paint( const Rectangle& rRect );
+ virtual void KeyInput( const KeyEvent& rKEvt );
+ virtual void KeyUp( const KeyEvent& rKEvt );
+
+ virtual void Click();
+ virtual void Resize();
+
+public:
+ SvExpander( Window* pParent, WinBits nStyle = 0 );
+ SvExpander( Window* pParent, const ResId& rResId );
+
+ BOOL IsExpanded() {return mbIsExpanded;}
+
+ void SetToExpanded(BOOL bFlag=TRUE);
+
+ void SetExpanderImage( SvExpanderStateType eType);
+ Image GetExpanderImage(SvExpanderStateType eType);
+ Size GetMinSize() const;
+
+ void SetToggleHdl( const Link& rLink ) { maToggleHdl = rLink; }
+ const Link& GetToggleHdl() const { return maToggleHdl; }
+};
+
+
+
+#endif
diff --git a/svtools/inc/svtools/extcolorcfg.hxx b/svtools/inc/svtools/extcolorcfg.hxx
new file mode 100644
index 000000000000..44167f63287c
--- /dev/null
+++ b/svtools/inc/svtools/extcolorcfg.hxx
@@ -0,0 +1,128 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef INCLUDED_SVTOOLS_EXTCOLORCFG_HXX
+#define INCLUDED_SVTOOLS_EXTCOLORCFG_HXX
+
+#include "svtools/svtdllapi.h"
+#include <rtl/ustring.hxx>
+#include <tools/color.hxx>
+#include <com/sun/star/uno/Sequence.h>
+#include <svl/brdcst.hxx>
+#include <svl/lstner.hxx>
+
+//-----------------------------------------------------------------------------
+namespace svtools{
+/* -----------------------------22.03.2002 15:36------------------------------
+
+ ---------------------------------------------------------------------------*/
+class ExtendedColorConfig_Impl;
+class ExtendedColorConfigValue
+{
+ ::rtl::OUString m_sName;
+ ::rtl::OUString m_sDisplayName;
+ sal_Int32 m_nColor;
+ sal_Int32 m_nDefaultColor;
+public:
+ ExtendedColorConfigValue() : m_nColor(0),m_nDefaultColor(0){}
+ ExtendedColorConfigValue(const ::rtl::OUString& _sName
+ ,const ::rtl::OUString& _sDisplayName
+ ,sal_Int32 _nColor
+ ,sal_Int32 _nDefaultColor)
+ : m_sName(_sName)
+ ,m_sDisplayName(_sDisplayName)
+ ,m_nColor(_nColor)
+ ,m_nDefaultColor(_nDefaultColor)
+ {}
+
+ inline ::rtl::OUString getName() const { return m_sName; }
+ inline ::rtl::OUString getDisplayName() const { return m_sDisplayName; }
+ inline sal_Int32 getColor() const { return m_nColor; }
+ inline sal_Int32 getDefaultColor() const { return m_nDefaultColor; }
+
+ inline void setColor(sal_Int32 _nColor) { m_nColor = _nColor; }
+
+ sal_Bool operator !=(const ExtendedColorConfigValue& rCmp) const
+ { return m_nColor != rCmp.m_nColor;}
+};
+/* -----------------------------22.03.2002 15:36------------------------------
+
+ ---------------------------------------------------------------------------*/
+class SVT_DLLPUBLIC ExtendedColorConfig : public SfxBroadcaster, public SfxListener
+{
+ friend class ExtendedColorConfig_Impl;
+private:
+ static ExtendedColorConfig_Impl* m_pImpl;
+public:
+ ExtendedColorConfig();
+ ~ExtendedColorConfig();
+
+ virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
+
+ // get the configured value
+ ExtendedColorConfigValue GetColorValue(const ::rtl::OUString& _sComponentName,const ::rtl::OUString& _sName)const;
+ sal_Int32 GetComponentCount() const;
+ ::rtl::OUString GetComponentName(sal_uInt32 _nPos) const;
+ ::rtl::OUString GetComponentDisplayName(const ::rtl::OUString& _sComponentName) const;
+ sal_Int32 GetComponentColorCount(const ::rtl::OUString& _sName) const;
+ ExtendedColorConfigValue GetComponentColorConfigValue(const ::rtl::OUString& _sComponentName,sal_uInt32 _nPos) const;
+};
+/* -----------------------------22.03.2002 15:31------------------------------
+
+ ---------------------------------------------------------------------------*/
+class SVT_DLLPUBLIC EditableExtendedColorConfig
+{
+ ExtendedColorConfig_Impl* m_pImpl;
+ sal_Bool m_bModified;
+public:
+ EditableExtendedColorConfig();
+ ~EditableExtendedColorConfig();
+
+ ::com::sun::star::uno::Sequence< ::rtl::OUString > GetSchemeNames() const;
+ void DeleteScheme(const ::rtl::OUString& rScheme );
+ void AddScheme(const ::rtl::OUString& rScheme );
+ sal_Bool LoadScheme(const ::rtl::OUString& rScheme );
+ const ::rtl::OUString& GetCurrentSchemeName()const;
+ void SetCurrentSchemeName(const ::rtl::OUString& rScheme);
+
+ ExtendedColorConfigValue GetColorValue(const ::rtl::OUString& _sComponentName,const ::rtl::OUString& _sName)const;
+ sal_Int32 GetComponentCount() const;
+ ::rtl::OUString GetComponentName(sal_uInt32 _nPos) const;
+ ::rtl::OUString GetComponentDisplayName(const ::rtl::OUString& _sComponentName) const;
+ sal_Int32 GetComponentColorCount(const ::rtl::OUString& _sName) const;
+ ExtendedColorConfigValue GetComponentColorConfigValue(const ::rtl::OUString& _sName,sal_uInt32 _nPos) const;
+ void SetColorValue(const ::rtl::OUString& _sComponentName, const ExtendedColorConfigValue& rValue);
+ void SetModified();
+ void ClearModified(){m_bModified = sal_False;}
+ sal_Bool IsModified()const{return m_bModified;}
+ void Commit();
+
+ void DisableBroadcast();
+ void EnableBroadcast();
+};
+}//namespace svtools
+#endif
+
diff --git a/svtools/inc/svtools/filectrl.hxx b/svtools/inc/svtools/filectrl.hxx
new file mode 100644
index 000000000000..dd314bb23ca1
--- /dev/null
+++ b/svtools/inc/svtools/filectrl.hxx
@@ -0,0 +1,111 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SV_FILECTRL_HXX
+#define _SV_FILECTRL_HXX
+
+#include "svtools/svtdllapi.h"
+#include <vcl/window.hxx>
+#include <vcl/edit.hxx>
+#ifndef _SV_BUTTON_HXX
+#include <vcl/button.hxx>
+#endif
+
+
+#define STR_FILECTRL_BUTTONTEXT 333 // ID-Range?!
+
+// Flags for FileControl
+typedef USHORT FileControlMode;
+#define FILECTRL_RESIZEBUTTONBYPATHLEN ((USHORT)0x0001)//if this is set, the button will become small as soon as the Text in the Edit Field is to long to be shown completely
+
+
+// Flags for internal use of FileControl
+typedef USHORT FileControlMode_Internal;
+#define FILECTRL_INRESIZE ((USHORT)0x0001)
+#define FILECTRL_ORIGINALBUTTONTEXT ((USHORT)0x0002)
+
+
+class SVT_DLLPUBLIC FileControl : public Window
+{
+private:
+ Edit maEdit;
+ PushButton maButton;
+
+ String maButtonText;
+ BOOL mbOpenDlg;
+
+ Link maDialogCreatedHdl;
+
+ FileControlMode mnFlags;
+ FileControlMode_Internal mnInternalFlags;
+
+private:
+ SVT_DLLPRIVATE void ImplBrowseFile( );
+
+protected:
+ SVT_DLLPRIVATE void Resize();
+ SVT_DLLPRIVATE void GetFocus();
+ SVT_DLLPRIVATE void StateChanged( StateChangedType nType );
+ SVT_DLLPRIVATE WinBits ImplInitStyle( WinBits nStyle );
+ DECL_DLLPRIVATE_LINK( ButtonHdl, PushButton* );
+
+public:
+ FileControl( Window* pParent, WinBits nStyle, FileControlMode = 0 );
+ ~FileControl();
+
+ Edit& GetEdit() { return maEdit; }
+ PushButton& GetButton() { return maButton; }
+
+ void Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, ULONG nFlags );
+
+ void SetOpenDialog( BOOL bOpen ) { mbOpenDlg = bOpen; }
+ BOOL IsOpenDialog() const { return mbOpenDlg; }
+
+ void SetText( const XubString& rStr );
+ XubString GetText() const;
+ UniString GetSelectedText() const { return maEdit.GetSelected(); }
+
+ void SetSelection( const Selection& rSelection ) { maEdit.SetSelection( rSelection ); }
+ Selection GetSelection() const { return maEdit.GetSelection(); }
+
+ void SetReadOnly( BOOL bReadOnly = TRUE ) { maEdit.SetReadOnly( bReadOnly ); }
+ BOOL IsReadOnly() const { return maEdit.IsReadOnly(); }
+
+ //------
+ //manipulate the Button-Text:
+ XubString GetButtonText() const { return maButtonText; }
+ void SetButtonText( const XubString& rStr );
+ void ResetButtonText();
+
+ //------
+ //use this to manipulate the dialog bevore executing it:
+ void SetDialogCreatedHdl( const Link& rLink ) { maDialogCreatedHdl = rLink; }
+ const Link& GetDialogCreatedHdl() const { return maDialogCreatedHdl; }
+};
+
+#endif
+
diff --git a/svtools/inc/svtools/filedlg.hxx b/svtools/inc/svtools/filedlg.hxx
new file mode 100644
index 000000000000..c04e48fc7658
--- /dev/null
+++ b/svtools/inc/svtools/filedlg.hxx
@@ -0,0 +1,108 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVT_FILEDLG_HXX
+#define _SVT_FILEDLG_HXX
+
+#include "svtools/svtdllapi.h"
+
+#ifndef _DIALOG_HXX
+#include <vcl/dialog.hxx>
+#endif
+
+class Edit;
+class ImpSvFileDlg;
+
+// --------------
+// - SvPathDialog -
+// --------------
+
+class SVT_DLLPUBLIC PathDialog : public ModalDialog
+{
+private:
+ friend class FileDialog; // Imp...
+
+ ImpSvFileDlg* pImpFileDlg; // Implementation
+ Link aOKHdlLink; // Link zum OK-Handler
+
+protected:
+ UniString aDfltExt; // Default - Extension
+
+public:
+ PathDialog( Window* pParent, WinBits nWinStyle = 0, BOOL bCreateDir = TRUE );
+ ~PathDialog();
+
+ virtual long OK();
+
+ void SetPath( const UniString& rNewPath );
+ void SetPath( const Edit& rEdit );
+ UniString GetPath() const;
+
+ void SetOKHdl( const Link& rLink ) { aOKHdlLink = rLink; }
+ const Link& GetOKHdl() const { return aOKHdlLink; }
+
+ virtual short Execute();
+};
+
+// --------------
+// - SvFileDialog -
+// --------------
+
+class SVT_DLLPUBLIC FileDialog : public PathDialog
+{
+private:
+ Link aFileHdlLink; // Link zum FileSelect-Handler
+ Link aFilterHdlLink; // Link zum FilterSelect-Handler
+
+public:
+ FileDialog( Window* pParent, WinBits nWinStyle );
+ ~FileDialog();
+
+ virtual void FileSelect();
+ virtual void FilterSelect();
+
+ void SetDefaultExt( const UniString& rExt ) { aDfltExt = rExt; }
+ const UniString& GetDefaultExt() const { return aDfltExt; }
+ void AddFilter( const UniString& rFilter, const UniString& rType );
+ void RemoveFilter( const UniString& rFilter );
+ void RemoveAllFilter();
+ void SetCurFilter( const UniString& rFilter );
+ UniString GetCurFilter() const;
+ USHORT GetFilterCount() const;
+ UniString GetFilterName( USHORT nPos ) const;
+ UniString GetFilterType( USHORT nPos ) const;
+
+ void SetFileSelectHdl( const Link& rLink ) { aFileHdlLink = rLink; }
+ const Link& GetFileSelectHdl() const { return aFileHdlLink; }
+ void SetFilterSelectHdl( const Link& rLink ) { aFilterHdlLink = rLink; }
+ const Link& GetFilterSelectHdl() const { return aFilterHdlLink; }
+
+ void SetOkButtonText( const UniString& rText );
+ void SetCancelButtonText( const UniString& rText );
+};
+
+#endif // _FILEDLG_HXX
diff --git a/svtools/inc/svtools/filedlg2.hrc b/svtools/inc/svtools/filedlg2.hrc
new file mode 100644
index 000000000000..a87bd6ebcad0
--- /dev/null
+++ b/svtools/inc/svtools/filedlg2.hrc
@@ -0,0 +1,41 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#define STR_FILEDLG_SELECT 1000
+#define STR_FILEDLG_CANTCHDIR 1001
+#define STR_FILEDLG_OPEN 1002
+#define STR_FILEDLG_FILE 1003
+#define STR_FILEDLG_DIR 1004
+#define STR_FILEDLG_TYPE 1005
+#define STR_FILEDLG_CANTOPENFILE 1006
+#define STR_FILEDLG_CANTOPENDIR 1007
+#define STR_FILEDLG_OVERWRITE 1008
+#define STR_FILEDLG_GOUP 1009
+#define STR_FILEDLG_SAVE 1010
+#define STR_FILEDLG_DRIVES 1011
+#define STR_FILEDLG_HOME 1012
+#define STR_FILEDLG_NEWDIR 1013
+#define STR_FILEDLG_ASKNEWDIR 1014
diff --git a/svtools/inc/svtools/fileview.hxx b/svtools/inc/svtools/fileview.hxx
new file mode 100644
index 000000000000..db704a0e6784
--- /dev/null
+++ b/svtools/inc/svtools/fileview.hxx
@@ -0,0 +1,271 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVT_FILEVIEW_HXX
+#define _SVT_FILEVIEW_HXX
+
+#include "svtools/svtdllapi.h"
+#include <com/sun/star/uno/Sequence.h>
+#include <com/sun/star/ucb/XContent.hpp>
+#include <vcl/ctrl.hxx>
+#include <vcl/image.hxx>
+#include <vcl/fixed.hxx>
+#ifndef _SV_BUTTON_HXX
+#include <vcl/button.hxx>
+#endif
+#include <vcl/dialog.hxx>
+#include <rtl/ustring.hxx>
+
+// class SvtFileView -----------------------------------------------------
+
+#define FILEVIEW_ONLYFOLDER 0x0001
+#define FILEVIEW_MULTISELECTION 0x0002
+
+#define FILEVIEW_SHOW_TITLE 0x0010
+#define FILEVIEW_SHOW_SIZE 0x0020
+#define FILEVIEW_SHOW_DATE 0x0040
+#define FILEVIEW_SHOW_ALL 0x0070
+
+class ViewTabListBox_Impl;
+class SvtFileView_Impl;
+class SvLBoxEntry;
+class HeaderBar;
+class IUrlFilter;
+
+/// the result of an action in the FileView
+enum FileViewResult
+{
+ eSuccess,
+ eFailure,
+ eTimeout,
+ eStillRunning
+};
+
+/// describes parameters for doing an action on the FileView asynchronously
+struct FileViewAsyncAction
+{
+ sal_uInt32 nMinTimeout; /// minimum time to wait for a result, in milliseconds
+ sal_uInt32 nMaxTimeout; /// maximum time to wait for a result, in milliseconds, until eTimeout is returned
+ Link aFinishHandler; /// the handler to be called when the action is finished. Called in every case, no matter of the result
+
+ FileViewAsyncAction()
+ {
+ nMinTimeout = nMaxTimeout = 0;
+ }
+};
+
+class SVT_DLLPUBLIC SvtFileView : public Control
+{
+private:
+ SvtFileView_Impl* mpImp;
+
+ ::com::sun::star::uno::Sequence< ::rtl::OUString > mpBlackList;
+
+ SVT_DLLPRIVATE void OpenFolder( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aContents );
+
+ DECL_DLLPRIVATE_LINK( HeaderSelect_Impl, HeaderBar * );
+ DECL_DLLPRIVATE_LINK( HeaderEndDrag_Impl, HeaderBar * );
+
+protected:
+ virtual void GetFocus();
+
+public:
+ SvtFileView( Window* pParent, const ResId& rResId, sal_Bool bOnlyFolder, sal_Bool bMultiSelection );
+ SvtFileView( Window* pParent, const ResId& rResId, sal_Int8 nFlags );
+ ~SvtFileView();
+
+ const String& GetViewURL() const;
+ String GetURL( SvLBoxEntry* pEntry ) const;
+ String GetCurrentURL() const;
+
+ sal_Bool GetParentURL( String& _rParentURL ) const;
+ sal_Bool CreateNewFolder( const String& rNewFolder );
+
+ void SetHelpId( const rtl::OString& rHelpId );
+ const rtl::OString& GetHelpId( ) const;
+ void SetSizePixel( const Size& rNewSize );
+ using Window::SetPosSizePixel;
+ virtual void SetPosSizePixel( const Point& rNewPos, const Size& rNewSize );
+
+ /** initialize the view with the content of a folder given by URL, and aply an immediate filter
+
+ @param rFolderURL
+ the URL of the folder whose content is to be read
+ @param rFilter
+ the initial filter to be applied
+ @param pAsyncDescriptor
+ If not <NULL/>, this struct describes the parameters for doing the
+ action asynchronously.
+ */
+ FileViewResult Initialize(
+ const String& rFolderURL,
+ const String& rFilter,
+ const FileViewAsyncAction* pAsyncDescriptor,
+ const ::com::sun::star::uno::Sequence< ::rtl::OUString >& rBlackList
+ );
+
+ FileViewResult Initialize(
+ const String& rFolderURL,
+ const String& rFilter,
+ const FileViewAsyncAction* pAsyncDescriptor );
+ /** initialze the view with a sequence of contents, which have already been obtained elsewhere
+
+ This method will never return <member>eStillRunning</member>, since it will fill the
+ view synchronously
+ */
+ sal_Bool Initialize( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aContents );
+
+ /** initializes the view with the content of a folder given by an UCB content
+ */
+ sal_Bool Initialize( const ::com::sun::star::uno::Reference< ::com::sun::star::ucb::XContent>& _xContent,
+ const String& rFilter );
+
+ /** reads the current content of the current folder again, and applies the given filter to it
+
+ Note 1: The folder is really read a second time. This implies that any new elements (which were
+ not present when you called Initialize the last time) are now displayed.
+
+ Note 2: This method must not be called when you previously initialized the view from a sequence
+ of strings, or a UNO content object.
+
+ @param rFilter
+ the filter to be applied
+ @param pAsyncDescriptor
+ If not <NULL/>, this struct describes the parameters for doing the
+ action asynchronously.
+ */
+ FileViewResult ExecuteFilter(
+ const String& rFilter,
+ const FileViewAsyncAction* pAsyncDescriptor
+ );
+
+ /** cancels a running async action (if any)
+
+ @seealso Initialize
+ @seealso ExecuteFilter
+ @seealso FileViewAsyncAction
+ */
+ void CancelRunningAsyncAction();
+
+ /** initializes the view with the parent folder of the current folder
+
+ @param rNewURL
+ the URL of the folder which we just navigated to
+ @param pAsyncDescriptor
+ If not <NULL/>, this struct describes the parameters for doing the
+ action asynchronously.
+ */
+ FileViewResult PreviousLevel(
+ const FileViewAsyncAction* pAsyncDescriptor
+ );
+
+ void SetNoSelection();
+ void ResetCursor();
+
+ void SetSelectHdl( const Link& rHdl );
+ void SetDoubleClickHdl( const Link& rHdl );
+ void SetOpenDoneHdl( const Link& rHdl );
+
+ ULONG GetSelectionCount() const;
+ SvLBoxEntry* FirstSelected() const;
+ SvLBoxEntry* NextSelected( SvLBoxEntry* pEntry ) const;
+ void EnableAutoResize();
+ void SetFocus();
+
+ void EnableContextMenu( sal_Bool bEnable );
+ void EnableDelete( sal_Bool bEnable );
+ void EnableNameReplacing( sal_Bool bEnable = sal_True );
+ // translate folder names or display doc-title instead of file name
+ // EnableContextMenu( TRUE )/EnableDelete(TRUE) disable name replacing!
+
+ // save and load column size and sort order
+ String GetConfigString() const;
+ void SetConfigString( const String& rCfgStr );
+
+ void SetUrlFilter( const IUrlFilter* _pFilter );
+ const IUrlFilter* GetUrlFilter( ) const;
+
+ void EndInplaceEditing( bool _bCancel );
+
+protected:
+ virtual void StateChanged( StateChangedType nStateChange );
+};
+
+// struct SvtContentEntry ------------------------------------------------
+
+struct SvtContentEntry
+{
+ sal_Bool mbIsFolder;
+ UniString maURL;
+
+ SvtContentEntry( const UniString& rURL, sal_Bool bIsFolder ) :
+ mbIsFolder( bIsFolder ), maURL( rURL ) {}
+};
+
+namespace svtools {
+
+// -----------------------------------------------------------------------
+// QueryDeleteDlg_Impl
+// -----------------------------------------------------------------------
+
+enum QueryDeleteResult_Impl
+{
+ QUERYDELETE_YES = 0,
+ QUERYDELETE_NO,
+ QUERYDELETE_ALL,
+ QUERYDELETE_CANCEL
+};
+
+class SVT_DLLPUBLIC QueryDeleteDlg_Impl : public ModalDialog
+{
+ FixedText _aEntryLabel;
+ FixedText _aEntry;
+ FixedText _aQueryMsg;
+
+ PushButton _aYesButton;
+ PushButton _aAllButton;
+ PushButton _aNoButton;
+ CancelButton _aCancelButton;
+
+ QueryDeleteResult_Impl _eResult;
+
+private:
+
+ DECL_DLLPRIVATE_STATIC_LINK( QueryDeleteDlg_Impl, ClickLink, PushButton* );
+
+public:
+
+ QueryDeleteDlg_Impl( Window* pParent,
+ const String& rName );
+
+ void EnableAllButton() { _aAllButton.Enable( sal_True ); }
+ QueryDeleteResult_Impl GetResult() const { return _eResult; }
+};
+
+}
+
+#endif // _SVT_FILEVIEW_HXX
+
diff --git a/svtools/inc/svtools/fltdefs.hxx b/svtools/inc/svtools/fltdefs.hxx
new file mode 100644
index 000000000000..86462c2faa33
--- /dev/null
+++ b/svtools/inc/svtools/fltdefs.hxx
@@ -0,0 +1,136 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#include <tools/solar.h>
+#include <vcl/bitmap.hxx>
+
+#include <string.h>
+
+#ifndef _FLTDEFS_HXX
+#define _FLTDEFS_HXX
+
+
+#if defined ( WNT )
+
+#define RGBQUAD RGBQUADWIN
+
+typedef struct RGBQUAD
+{
+ BYTE rgbBlue;
+ BYTE rgbGreen;
+ BYTE rgbRed;
+ BYTE rgbReserved;
+
+ RGBQUAD( const BYTE cRed = 0, const BYTE cGreen = 0, const BYTE cBlue = 0 ) :
+ rgbBlue ( cBlue ),
+ rgbGreen ( cGreen ),
+ rgbRed ( cRed ),
+ rgbReserved ( 0 ) {};
+} RGBQUAD;
+
+
+typedef BYTE* PDIBBYTE;
+#define MEMCPY memcpy
+#define MEMSET memset
+#define GLOBALALLOC(nSize) ((PDIBBYTE)GlobalAlloc(GMEM_FIXED,(nSize)))
+#define GLOBALFREE(pPointer) (GlobalFree((HGLOBAL)pPointer))
+#define GLOBALHANDLE(pPointer) ((HGLOBAL)(pPointer))
+
+#else
+
+typedef BYTE* PDIBBYTE;
+#define MEMCPY memcpy
+#define MEMSET memset
+#define GLOBALALLOC(nSize) ((PDIBBYTE)new BYTE[(nSize)])
+#define GLOBALFREE(pPointer) (delete[] (pPointer))
+
+#endif
+
+
+#if defined ( OS2 ) || defined ( UNX )
+void ReadBitmap( SvStream& rIStream, Bitmap& rBmp, USHORT nDefaultHeight = 0, ULONG nOffBits = 0 );
+void ReplaceInfoHeader( SvStream& rStm, BYTE* pBuffer );
+
+#ifdef OS2
+#define RGBQUAD RGBQUADOS2
+#define BITMAPFILEHEADER BITMAPFILEHEADEROS2
+#define PBITMAPFILEHEADER PBITMAPFILEHEADEROS2
+#define BITMAPINFOHEADER BITMAPINFOHEADEROS2
+#define PBITMAPINFOHEADER PBITMAPINFOHEADEROS2
+#define BITMAPINFO BITMAPINFOOS2
+#define PBITMAPINFO PBITMAPINFOOS2
+#endif
+
+typedef struct RGBQUAD
+{
+ BYTE rgbBlue;
+ BYTE rgbGreen;
+ BYTE rgbRed;
+ BYTE rgbReserved;
+
+ RGBQUAD( const BYTE cRed = 0, const BYTE cGreen = 0, const BYTE cBlue = 0 ) :
+ rgbBlue ( cBlue ),
+ rgbGreen ( cGreen ),
+ rgbRed ( cRed ),
+ rgbReserved ( 0 ) {};
+} RGBQUAD;
+
+typedef struct BITMAPFILEHEADER
+{
+ UINT16 bfType;
+ UINT32 bfSize;
+ UINT16 bfReserved1;
+ UINT16 bfReserved2;
+ UINT32 bfOffBits;
+} BITMAPFILEHEADER;
+typedef BITMAPFILEHEADER* PBITMAPFILEHEADER;
+
+typedef struct BITMAPINFOHEADER
+{
+ UINT32 biSize;
+ UINT32 biWidth;
+ UINT32 biHeight;
+ UINT16 biPlanes;
+ UINT16 biBitCount;
+ UINT32 biCompression;
+ UINT32 biSizeImage;
+ UINT32 biXPelsPerMeter;
+ UINT32 biYPelsPerMeter;
+ UINT32 biClrUsed;
+ UINT32 biClrImportant;
+} BITMAPINFOHEADER;
+typedef BITMAPINFOHEADER* PBITMAPINFOHEADER;
+
+typedef struct BITMAPINFO
+{
+ BITMAPINFOHEADER bmiHeader;
+ RGBQUAD bmiColors[1];
+} BITMAPINFO;
+typedef BITMAPINFO* PBITMAPINFO;
+
+#endif
+#endif
diff --git a/svtools/inc/svtools/fontsubstconfig.hxx b/svtools/inc/svtools/fontsubstconfig.hxx
new file mode 100644
index 000000000000..7bdb0dc412c3
--- /dev/null
+++ b/svtools/inc/svtools/fontsubstconfig.hxx
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVT_FONTSUBSTCONFIG_HXX
+#define _SVT_FONTSUBSTCONFIG_HXX
+
+#include "svtools/svtdllapi.h"
+#include <unotools/configitem.hxx>
+
+struct SvtFontSubstConfig_Impl;
+
+//-----------------------------------------------------------------------------
+struct SubstitutionStruct
+{
+ rtl::OUString sFont;
+ rtl::OUString sReplaceBy;
+ sal_Bool bReplaceAlways;
+ sal_Bool bReplaceOnScreenOnly;
+};
+//-----------------------------------------------------------------------------
+class SVT_DLLPUBLIC SvtFontSubstConfig : public utl::ConfigItem
+{
+ sal_Bool bIsEnabled;
+ SvtFontSubstConfig_Impl* pImpl;
+public:
+ SvtFontSubstConfig();
+ virtual ~SvtFontSubstConfig();
+
+ virtual void Commit();
+ virtual void Notify( const com::sun::star::uno::Sequence< rtl::OUString >& _rPropertyNames);
+
+ sal_Bool IsEnabled() const {return bIsEnabled;}
+ void Enable(sal_Bool bSet) {bIsEnabled = bSet; SetModified();}
+
+ sal_Int32 SubstitutionCount() const;
+ void ClearSubstitutions();
+ const SubstitutionStruct* GetSubstitution(sal_Int32 nPos);
+ void AddSubstitution(const SubstitutionStruct& rToAdd);
+ void Apply();
+};
+
+#endif
+
+
+
diff --git a/svtools/inc/svtools/framestatuslistener.hxx b/svtools/inc/svtools/framestatuslistener.hxx
new file mode 100644
index 000000000000..fd068ac5f86b
--- /dev/null
+++ b/svtools/inc/svtools/framestatuslistener.hxx
@@ -0,0 +1,116 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVTOOLS_FRAMESTATUSLISTENER_HXX
+#define _SVTOOLS_FRAMESTATUSLISTENER_HXX
+
+#include "svtools/svtdllapi.h"
+#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include <com/sun/star/util/XURLTransformer.hpp>
+#include <com/sun/star/frame/XFrame.hpp>
+#include <com/sun/star/frame/XFrameActionListener.hpp>
+#include <com/sun/star/frame/XDispatch.hpp>
+#include <com/sun/star/frame/XStatusListener.hpp>
+#include <cppuhelper/weak.hxx>
+#include <cppuhelper/interfacecontainer.hxx>
+#include <comphelper/broadcasthelper.hxx>
+
+#ifndef INCLUDED_HASH_MAP
+#include <hash_map>
+#define INCLUDED_HASH_MAP
+#endif
+
+namespace svt
+{
+
+class SVT_DLLPUBLIC FrameStatusListener : public ::com::sun::star::frame::XStatusListener,
+ public ::com::sun::star::frame::XFrameActionListener,
+ public ::com::sun::star::lang::XComponent,
+ public ::comphelper::OBaseMutex,
+ public ::cppu::OWeakObject
+{
+ public:
+ FrameStatusListener( const com::sun::star::uno::Reference< com::sun::star::lang::XMultiServiceFactory >& rServiceManager,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& xFrame );
+ virtual ~FrameStatusListener();
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > getFrameInterface() const;
+ ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > getServiceManager() const;
+
+ void updateStatus( const rtl::OUString aCommandURL );
+
+ // methods to support status forwarder, known by the old sfx2 toolbox controller implementation
+ void addStatusListener( const rtl::OUString& aCommandURL );
+ void removeStatusListener( const rtl::OUString& aCommandURL );
+ void bindListener();
+ void unbindListener();
+ sal_Bool isBound() const;
+
+ // XInterface
+ virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& aType ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL acquire() throw ();
+ virtual void SAL_CALL release() throw ();
+
+ // XComponent
+ virtual void SAL_CALL dispose() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& aListener ) throw (::com::sun::star::uno::RuntimeException);
+
+ // XEventListener
+ virtual void SAL_CALL disposing( const com::sun::star::lang::EventObject& Source ) throw ( ::com::sun::star::uno::RuntimeException );
+
+ // XStatusListener
+ virtual void SAL_CALL statusChanged( const ::com::sun::star::frame::FeatureStateEvent& Event ) throw ( ::com::sun::star::uno::RuntimeException ) = 0;
+
+ // XFrameActionListener
+ virtual void SAL_CALL frameAction( const com::sun::star::frame::FrameActionEvent& Action ) throw ( ::com::sun::star::uno::RuntimeException );
+
+ protected:
+ struct Listener
+ {
+ Listener( const ::com::sun::star::util::URL& rURL, const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatch >& rDispatch ) :
+ aURL( rURL ), xDispatch( rDispatch ) {}
+
+ ::com::sun::star::util::URL aURL;
+ ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatch > xDispatch;
+ };
+
+ typedef ::std::hash_map< ::rtl::OUString,
+ com::sun::star::uno::Reference< com::sun::star::frame::XDispatch >,
+ ::rtl::OUStringHash,
+ ::std::equal_to< ::rtl::OUString > > URLToDispatchMap;
+
+ sal_Bool m_bInitialized : 1,
+ m_bDisposed : 1;
+ ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > m_xFrame;
+ ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > m_xServiceManager;
+ URLToDispatchMap m_aListenerMap;
+};
+
+}
+
+#endif // _SVTOOLS_FRAMESTATUSLISTENER_HXX
diff --git a/svtools/inc/svtools/helpagentwindow.hxx b/svtools/inc/svtools/helpagentwindow.hxx
new file mode 100644
index 000000000000..45b2917c500a
--- /dev/null
+++ b/svtools/inc/svtools/helpagentwindow.hxx
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVTOOLS_HELPAGENTWIDNOW_HXX_
+#define _SVTOOLS_HELPAGENTWIDNOW_HXX_
+
+#include "svtools/svtdllapi.h"
+#include <vcl/floatwin.hxx>
+#include <vcl/image.hxx>
+
+//........................................................................
+namespace svt
+{
+//........................................................................
+
+ //====================================================================
+ //= IHelpAgentCallback
+ //====================================================================
+ class IHelpAgentCallback
+ {
+ public:
+ virtual void helpRequested() = 0;
+ virtual void closeAgent() = 0;
+ };
+
+ //====================================================================
+ //= HelpAgentWindow
+ //====================================================================
+ class SVT_DLLPUBLIC HelpAgentWindow : public FloatingWindow
+ {
+ protected:
+ Window* m_pCloser;
+ IHelpAgentCallback* m_pCallback;
+ Size m_aPreferredSize;
+ Image m_aPicture;
+
+ public:
+ HelpAgentWindow( Window* _pParent );
+ ~HelpAgentWindow();
+
+ /// returns the preferred size of the window
+ const Size& getPreferredSizePixel() const { return m_aPreferredSize; }
+
+ // callback handler maintainance
+ void setCallback(IHelpAgentCallback* _pCB) { m_pCallback = _pCB; }
+ IHelpAgentCallback* getCallback() const { return m_pCallback; }
+
+ protected:
+ virtual void Resize();
+ virtual void Paint( const Rectangle& rRect );
+ virtual void MouseButtonUp( const MouseEvent& rMEvt );
+
+ DECL_LINK( OnButtonClicked, Window* );
+
+ private:
+ SVT_DLLPRIVATE Size implOptimalButtonSize( const Image& _rButtonImage );
+ };
+
+//........................................................................
+} // namespace svt
+//........................................................................
+
+#endif // _SVTOOLS_HELPAGENTWIDNOW_HXX_
+
diff --git a/svtools/inc/svtools/htmlkywd.hxx b/svtools/inc/svtools/htmlkywd.hxx
new file mode 100644
index 000000000000..13928eaeaa39
--- /dev/null
+++ b/svtools/inc/svtools/htmlkywd.hxx
@@ -0,0 +1,801 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _HTMLKYWD_HXX
+#define _HTMLKYWD_HXX
+
+#include "sal/config.h"
+
+#define OOO_STRING_SVTOOLS_HTML_doctype32 \
+ "HTML PUBLIC \"-//W3C//DTD HTML 3.2//EN\""
+#define OOO_STRING_SVTOOLS_HTML_doctype40 \
+ "HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\""
+
+// diese werden nur eingeschaltet
+#define OOO_STRING_SVTOOLS_HTML_area "AREA"
+#define OOO_STRING_SVTOOLS_HTML_base "BASE"
+#define OOO_STRING_SVTOOLS_HTML_comment "!--"
+#define OOO_STRING_SVTOOLS_HTML_doctype "!DOCTYPE"
+#define OOO_STRING_SVTOOLS_HTML_embed "EMBED"
+#define OOO_STRING_SVTOOLS_HTML_figureoverlay "OVERLAY"
+#define OOO_STRING_SVTOOLS_HTML_horzrule "HR"
+#define OOO_STRING_SVTOOLS_HTML_horztab "TAB"
+#define OOO_STRING_SVTOOLS_HTML_image "IMG"
+#define OOO_STRING_SVTOOLS_HTML_image2 "IMAGE"
+#define OOO_STRING_SVTOOLS_HTML_input "INPUT"
+#define OOO_STRING_SVTOOLS_HTML_isindex "ISINDEX"
+#define OOO_STRING_SVTOOLS_HTML_linebreak "BR"
+#define OOO_STRING_SVTOOLS_HTML_li "LI"
+#define OOO_STRING_SVTOOLS_HTML_link "LINK"
+#define OOO_STRING_SVTOOLS_HTML_meta "META"
+#define OOO_STRING_SVTOOLS_HTML_nextid "NEXTID"
+#define OOO_STRING_SVTOOLS_HTML_nobr "NOBR"
+#define OOO_STRING_SVTOOLS_HTML_of "OF"
+#define OOO_STRING_SVTOOLS_HTML_option "OPTION"
+#define OOO_STRING_SVTOOLS_HTML_param "PARAM"
+#define OOO_STRING_SVTOOLS_HTML_range "RANGE"
+#define OOO_STRING_SVTOOLS_HTML_spacer "SPACER"
+#define OOO_STRING_SVTOOLS_HTML_wbr "WBR"
+
+// diese werden wieder abgeschaltet
+#define OOO_STRING_SVTOOLS_HTML_abbreviation "ABBREV"
+#define OOO_STRING_SVTOOLS_HTML_above "ABOVE"
+#define OOO_STRING_SVTOOLS_HTML_acronym "ACRONYM"
+#define OOO_STRING_SVTOOLS_HTML_address "ADDRESS"
+#define OOO_STRING_SVTOOLS_HTML_anchor "A"
+#define OOO_STRING_SVTOOLS_HTML_applet "APPLET"
+#define OOO_STRING_SVTOOLS_HTML_array "ARRAY"
+#define OOO_STRING_SVTOOLS_HTML_author "AU"
+#define OOO_STRING_SVTOOLS_HTML_banner "BANNER"
+#define OOO_STRING_SVTOOLS_HTML_bar "BAR"
+#define OOO_STRING_SVTOOLS_HTML_basefont "BASEFONT"
+#define OOO_STRING_SVTOOLS_HTML_below "BELOW"
+#define OOO_STRING_SVTOOLS_HTML_bigprint "BIG"
+#define OOO_STRING_SVTOOLS_HTML_blink "BLINK"
+#define OOO_STRING_SVTOOLS_HTML_blockquote "BLOCKQUOTE"
+#define OOO_STRING_SVTOOLS_HTML_blockquote30 "BQ"
+#define OOO_STRING_SVTOOLS_HTML_body "BODY"
+#define OOO_STRING_SVTOOLS_HTML_bold "B"
+#define OOO_STRING_SVTOOLS_HTML_boldtext "BT"
+#define OOO_STRING_SVTOOLS_HTML_box "BOX"
+#define OOO_STRING_SVTOOLS_HTML_caption "CAPTION"
+#define OOO_STRING_SVTOOLS_HTML_center "CENTER"
+#define OOO_STRING_SVTOOLS_HTML_citiation "CITE"
+#define OOO_STRING_SVTOOLS_HTML_code "CODE"
+#define OOO_STRING_SVTOOLS_HTML_col "COL"
+#define OOO_STRING_SVTOOLS_HTML_colgroup "COLGROUP"
+#define OOO_STRING_SVTOOLS_HTML_credit "CREDIT"
+#define OOO_STRING_SVTOOLS_HTML_dd "DD"
+#define OOO_STRING_SVTOOLS_HTML_deflist "DL"
+#define OOO_STRING_SVTOOLS_HTML_deletedtext "DEL"
+#define OOO_STRING_SVTOOLS_HTML_dirlist "DIR"
+#define OOO_STRING_SVTOOLS_HTML_division "DIV"
+#define OOO_STRING_SVTOOLS_HTML_dot "DOT"
+#define OOO_STRING_SVTOOLS_HTML_doubledot "DDOT"
+#define OOO_STRING_SVTOOLS_HTML_dt "DT"
+#define OOO_STRING_SVTOOLS_HTML_emphasis "EM"
+#define OOO_STRING_SVTOOLS_HTML_figure "FIG"
+#define OOO_STRING_SVTOOLS_HTML_font "FONT"
+#define OOO_STRING_SVTOOLS_HTML_footnote "FN"
+#define OOO_STRING_SVTOOLS_HTML_form "FORM"
+#define OOO_STRING_SVTOOLS_HTML_frame "FRAME"
+#define OOO_STRING_SVTOOLS_HTML_frameset "FRAMESET"
+#define OOO_STRING_SVTOOLS_HTML_hat "HAT"
+#define OOO_STRING_SVTOOLS_HTML_head1 "H1"
+#define OOO_STRING_SVTOOLS_HTML_head2 "H2"
+#define OOO_STRING_SVTOOLS_HTML_head3 "H3"
+#define OOO_STRING_SVTOOLS_HTML_head4 "H4"
+#define OOO_STRING_SVTOOLS_HTML_head5 "H5"
+#define OOO_STRING_SVTOOLS_HTML_head6 "H6"
+#define OOO_STRING_SVTOOLS_HTML_head "HEAD"
+#define OOO_STRING_SVTOOLS_HTML_html "HTML"
+#define OOO_STRING_SVTOOLS_HTML_iframe "IFRAME"
+#define OOO_STRING_SVTOOLS_HTML_ilayer "ILAYER"
+#define OOO_STRING_SVTOOLS_HTML_insertedtext "INS"
+#define OOO_STRING_SVTOOLS_HTML_italic "I"
+#define OOO_STRING_SVTOOLS_HTML_item "ITEM"
+#define OOO_STRING_SVTOOLS_HTML_keyboard "KBD"
+#define OOO_STRING_SVTOOLS_HTML_language "LANG"
+#define OOO_STRING_SVTOOLS_HTML_layer "LAYER"
+#define OOO_STRING_SVTOOLS_HTML_listheader "LH"
+#define OOO_STRING_SVTOOLS_HTML_map "MAP"
+#define OOO_STRING_SVTOOLS_HTML_math "MATH"
+#define OOO_STRING_SVTOOLS_HTML_menulist "MENU"
+#define OOO_STRING_SVTOOLS_HTML_multicol "MULTICOL"
+#define OOO_STRING_SVTOOLS_HTML_noembed "NOEMBED"
+#define OOO_STRING_SVTOOLS_HTML_noframe "NOFRAME"
+#define OOO_STRING_SVTOOLS_HTML_noframes "NOFRAMES"
+#define OOO_STRING_SVTOOLS_HTML_noscript "NOSCRIPT"
+#define OOO_STRING_SVTOOLS_HTML_note "NOTE"
+#define OOO_STRING_SVTOOLS_HTML_object "OBJECT"
+#define OOO_STRING_SVTOOLS_HTML_orderlist "OL"
+#define OOO_STRING_SVTOOLS_HTML_parabreak "P"
+#define OOO_STRING_SVTOOLS_HTML_person "PERSON"
+#define OOO_STRING_SVTOOLS_HTML_plaintext "T"
+#define OOO_STRING_SVTOOLS_HTML_preformtxt "PRE"
+#define OOO_STRING_SVTOOLS_HTML_root "ROOT"
+#define OOO_STRING_SVTOOLS_HTML_row "ROW"
+#define OOO_STRING_SVTOOLS_HTML_sample "SAMP"
+#define OOO_STRING_SVTOOLS_HTML_script "SCRIPT"
+#define OOO_STRING_SVTOOLS_HTML_select "SELECT"
+#define OOO_STRING_SVTOOLS_HTML_shortquote "Q"
+#define OOO_STRING_SVTOOLS_HTML_smallprint "SMALL"
+#define OOO_STRING_SVTOOLS_HTML_span "SPAN"
+#define OOO_STRING_SVTOOLS_HTML_squareroot "AQRT"
+#define OOO_STRING_SVTOOLS_HTML_strikethrough "S"
+#define OOO_STRING_SVTOOLS_HTML_strong "STRONG"
+#define OOO_STRING_SVTOOLS_HTML_style "STYLE"
+#define OOO_STRING_SVTOOLS_HTML_subscript "SUB"
+#define OOO_STRING_SVTOOLS_HTML_superscript "SUP"
+#define OOO_STRING_SVTOOLS_HTML_table "TABLE"
+#define OOO_STRING_SVTOOLS_HTML_tablerow "TR"
+#define OOO_STRING_SVTOOLS_HTML_tabledata "TD"
+#define OOO_STRING_SVTOOLS_HTML_tableheader "TH"
+#define OOO_STRING_SVTOOLS_HTML_tbody "TBODY"
+#define OOO_STRING_SVTOOLS_HTML_teletype "TT"
+#define OOO_STRING_SVTOOLS_HTML_text "TEXT"
+#define OOO_STRING_SVTOOLS_HTML_textarea "TEXTAREA"
+#define OOO_STRING_SVTOOLS_HTML_textflow "TEXTFLOW"
+#define OOO_STRING_SVTOOLS_HTML_tfoot "TFOOT"
+#define OOO_STRING_SVTOOLS_HTML_thead "THEAD"
+#define OOO_STRING_SVTOOLS_HTML_tilde "TILDE"
+#define OOO_STRING_SVTOOLS_HTML_title "TITLE"
+#define OOO_STRING_SVTOOLS_HTML_underline "U"
+#define OOO_STRING_SVTOOLS_HTML_unorderlist "UL"
+#define OOO_STRING_SVTOOLS_HTML_variable "VAR"
+#define OOO_STRING_SVTOOLS_HTML_vector "VEC"
+
+// obsolete features
+#define OOO_STRING_SVTOOLS_HTML_xmp "XMP"
+#define OOO_STRING_SVTOOLS_HTML_listing "LISTING"
+
+// proposed features
+#define OOO_STRING_SVTOOLS_HTML_definstance "DFN"
+#define OOO_STRING_SVTOOLS_HTML_strike "STRIKE"
+#define OOO_STRING_SVTOOLS_HTML_bgsound "BGSOUND"
+#define OOO_STRING_SVTOOLS_HTML_comment2 "COMMENT"
+#define OOO_STRING_SVTOOLS_HTML_marquee "MARQUEE"
+#define OOO_STRING_SVTOOLS_HTML_plaintext2 "PLAINTEXT"
+#define OOO_STRING_SVTOOLS_HTML_sdfield "SDFIELD"
+
+// die Namen fuer alle Zeichen
+#define OOO_STRING_SVTOOLS_HTML_C_lt "lt"
+#define OOO_STRING_SVTOOLS_HTML_C_gt "gt"
+#define OOO_STRING_SVTOOLS_HTML_C_amp "amp"
+#define OOO_STRING_SVTOOLS_HTML_C_quot "quot"
+#define OOO_STRING_SVTOOLS_HTML_C_Aacute "Aacute"
+#define OOO_STRING_SVTOOLS_HTML_C_Agrave "Agrave"
+#define OOO_STRING_SVTOOLS_HTML_C_Acirc "Acirc"
+#define OOO_STRING_SVTOOLS_HTML_C_Atilde "Atilde"
+#define OOO_STRING_SVTOOLS_HTML_C_Aring "Aring"
+#define OOO_STRING_SVTOOLS_HTML_C_Auml "Auml"
+#define OOO_STRING_SVTOOLS_HTML_C_AElig "AElig"
+#define OOO_STRING_SVTOOLS_HTML_C_Ccedil "Ccedil"
+#define OOO_STRING_SVTOOLS_HTML_C_Eacute "Eacute"
+#define OOO_STRING_SVTOOLS_HTML_C_Egrave "Egrave"
+#define OOO_STRING_SVTOOLS_HTML_C_Ecirc "Ecirc"
+#define OOO_STRING_SVTOOLS_HTML_C_Euml "Euml"
+#define OOO_STRING_SVTOOLS_HTML_C_Iacute "Iacute"
+#define OOO_STRING_SVTOOLS_HTML_C_Igrave "Igrave"
+#define OOO_STRING_SVTOOLS_HTML_C_Icirc "Icirc"
+#define OOO_STRING_SVTOOLS_HTML_C_Iuml "Iuml"
+#define OOO_STRING_SVTOOLS_HTML_C_ETH "ETH"
+#define OOO_STRING_SVTOOLS_HTML_C_Ntilde "Ntilde"
+#define OOO_STRING_SVTOOLS_HTML_C_Oacute "Oacute"
+#define OOO_STRING_SVTOOLS_HTML_C_Ograve "Ograve"
+#define OOO_STRING_SVTOOLS_HTML_C_Ocirc "Ocirc"
+#define OOO_STRING_SVTOOLS_HTML_C_Otilde "Otilde"
+#define OOO_STRING_SVTOOLS_HTML_C_Ouml "Ouml"
+#define OOO_STRING_SVTOOLS_HTML_C_Oslash "Oslash"
+#define OOO_STRING_SVTOOLS_HTML_C_Uacute "Uacute"
+#define OOO_STRING_SVTOOLS_HTML_C_Ugrave "Ugrave"
+#define OOO_STRING_SVTOOLS_HTML_C_Ucirc "Ucirc"
+#define OOO_STRING_SVTOOLS_HTML_C_Uuml "Uuml"
+#define OOO_STRING_SVTOOLS_HTML_C_Yacute "Yacute"
+#define OOO_STRING_SVTOOLS_HTML_C_THORN "THORN"
+#define OOO_STRING_SVTOOLS_HTML_C_szlig "szlig"
+#define OOO_STRING_SVTOOLS_HTML_S_aacute "aacute"
+#define OOO_STRING_SVTOOLS_HTML_S_agrave "agrave"
+#define OOO_STRING_SVTOOLS_HTML_S_acirc "acirc"
+#define OOO_STRING_SVTOOLS_HTML_S_atilde "atilde"
+#define OOO_STRING_SVTOOLS_HTML_S_aring "aring"
+#define OOO_STRING_SVTOOLS_HTML_S_auml "auml"
+#define OOO_STRING_SVTOOLS_HTML_S_aelig "aelig"
+#define OOO_STRING_SVTOOLS_HTML_S_ccedil "ccedil"
+#define OOO_STRING_SVTOOLS_HTML_S_eacute "eacute"
+#define OOO_STRING_SVTOOLS_HTML_S_egrave "egrave"
+#define OOO_STRING_SVTOOLS_HTML_S_ecirc "ecirc"
+#define OOO_STRING_SVTOOLS_HTML_S_euml "euml"
+#define OOO_STRING_SVTOOLS_HTML_S_iacute "iacute"
+#define OOO_STRING_SVTOOLS_HTML_S_igrave "igrave"
+#define OOO_STRING_SVTOOLS_HTML_S_icirc "icirc"
+#define OOO_STRING_SVTOOLS_HTML_S_iuml "iuml"
+#define OOO_STRING_SVTOOLS_HTML_S_eth "eth"
+#define OOO_STRING_SVTOOLS_HTML_S_ntilde "ntilde"
+#define OOO_STRING_SVTOOLS_HTML_S_oacute "oacute"
+#define OOO_STRING_SVTOOLS_HTML_S_ograve "ograve"
+#define OOO_STRING_SVTOOLS_HTML_S_ocirc "ocirc"
+#define OOO_STRING_SVTOOLS_HTML_S_otilde "otilde"
+#define OOO_STRING_SVTOOLS_HTML_S_ouml "ouml"
+#define OOO_STRING_SVTOOLS_HTML_S_oslash "oslash"
+#define OOO_STRING_SVTOOLS_HTML_S_uacute "uacute"
+#define OOO_STRING_SVTOOLS_HTML_S_ugrave "ugrave"
+#define OOO_STRING_SVTOOLS_HTML_S_ucirc "ucirc"
+#define OOO_STRING_SVTOOLS_HTML_S_uuml "uuml"
+#define OOO_STRING_SVTOOLS_HTML_S_yacute "yacute"
+#define OOO_STRING_SVTOOLS_HTML_S_thorn "thorn"
+#define OOO_STRING_SVTOOLS_HTML_S_yuml "yuml"
+#define OOO_STRING_SVTOOLS_HTML_S_acute "acute"
+#define OOO_STRING_SVTOOLS_HTML_S_brvbar "brvbar"
+#define OOO_STRING_SVTOOLS_HTML_S_cedil "cedil"
+#define OOO_STRING_SVTOOLS_HTML_S_cent "cent"
+#define OOO_STRING_SVTOOLS_HTML_S_copy "copy"
+#define OOO_STRING_SVTOOLS_HTML_S_curren "curren"
+#define OOO_STRING_SVTOOLS_HTML_S_deg "deg"
+#define OOO_STRING_SVTOOLS_HTML_S_divide "divide"
+#define OOO_STRING_SVTOOLS_HTML_S_frac12 "frac12"
+#define OOO_STRING_SVTOOLS_HTML_S_frac14 "frac14"
+#define OOO_STRING_SVTOOLS_HTML_S_frac34 "frac34"
+#define OOO_STRING_SVTOOLS_HTML_S_iexcl "iexcl"
+#define OOO_STRING_SVTOOLS_HTML_S_iquest "iquest"
+#define OOO_STRING_SVTOOLS_HTML_S_laquo "laquo"
+#define OOO_STRING_SVTOOLS_HTML_S_macr "macr"
+#define OOO_STRING_SVTOOLS_HTML_S_micro "micro"
+#define OOO_STRING_SVTOOLS_HTML_S_middot "middot"
+#define OOO_STRING_SVTOOLS_HTML_S_nbsp "nbsp"
+#define OOO_STRING_SVTOOLS_HTML_S_not "not"
+#define OOO_STRING_SVTOOLS_HTML_S_ordf "ordf"
+#define OOO_STRING_SVTOOLS_HTML_S_ordm "ordm"
+#define OOO_STRING_SVTOOLS_HTML_S_para "para"
+#define OOO_STRING_SVTOOLS_HTML_S_plusmn "plusmn"
+#define OOO_STRING_SVTOOLS_HTML_S_pound "pound"
+#define OOO_STRING_SVTOOLS_HTML_S_raquo "raquo"
+#define OOO_STRING_SVTOOLS_HTML_S_reg "reg"
+#define OOO_STRING_SVTOOLS_HTML_S_sect "sect"
+#define OOO_STRING_SVTOOLS_HTML_S_shy "shy"
+#define OOO_STRING_SVTOOLS_HTML_S_sup1 "sup1"
+#define OOO_STRING_SVTOOLS_HTML_S_sup2 "sup2"
+#define OOO_STRING_SVTOOLS_HTML_S_sup3 "sup3"
+#define OOO_STRING_SVTOOLS_HTML_S_times "times"
+#define OOO_STRING_SVTOOLS_HTML_S_uml "uml"
+#define OOO_STRING_SVTOOLS_HTML_S_yen "yen"
+
+// Netscape kennt noch ein paar in Grossbuchstaben ...
+#define OOO_STRING_SVTOOLS_HTML_C_LT "LT"
+#define OOO_STRING_SVTOOLS_HTML_C_GT "GT"
+#define OOO_STRING_SVTOOLS_HTML_C_AMP "AMP"
+#define OOO_STRING_SVTOOLS_HTML_C_QUOT "QUOT"
+#define OOO_STRING_SVTOOLS_HTML_S_COPY "COPY"
+#define OOO_STRING_SVTOOLS_HTML_S_REG "REG"
+
+// HTML4
+#define OOO_STRING_SVTOOLS_HTML_S_alefsym "alefsym"
+#define OOO_STRING_SVTOOLS_HTML_S_Alpha "Alpha"
+#define OOO_STRING_SVTOOLS_HTML_S_alpha "alpha"
+#define OOO_STRING_SVTOOLS_HTML_S_and "and"
+#define OOO_STRING_SVTOOLS_HTML_S_ang "ang"
+#define OOO_STRING_SVTOOLS_HTML_S_asymp "asymp"
+#define OOO_STRING_SVTOOLS_HTML_S_bdquo "bdquo"
+#define OOO_STRING_SVTOOLS_HTML_S_Beta "Beta"
+#define OOO_STRING_SVTOOLS_HTML_S_beta "beta"
+#define OOO_STRING_SVTOOLS_HTML_S_bull "bull"
+#define OOO_STRING_SVTOOLS_HTML_S_cap "cap"
+#define OOO_STRING_SVTOOLS_HTML_S_chi "chi"
+#define OOO_STRING_SVTOOLS_HTML_S_Chi "Chi"
+#define OOO_STRING_SVTOOLS_HTML_S_circ "circ"
+#define OOO_STRING_SVTOOLS_HTML_S_clubs "clubs"
+#define OOO_STRING_SVTOOLS_HTML_S_cong "cong"
+#define OOO_STRING_SVTOOLS_HTML_S_crarr "crarr"
+#define OOO_STRING_SVTOOLS_HTML_S_cup "cup"
+#define OOO_STRING_SVTOOLS_HTML_S_dagger "dagger"
+#define OOO_STRING_SVTOOLS_HTML_S_Dagger "Dagger"
+#define OOO_STRING_SVTOOLS_HTML_S_darr "darr"
+#define OOO_STRING_SVTOOLS_HTML_S_dArr "dArr"
+#define OOO_STRING_SVTOOLS_HTML_S_Delta "Delta"
+#define OOO_STRING_SVTOOLS_HTML_S_delta "delta"
+#define OOO_STRING_SVTOOLS_HTML_S_diams "diams"
+#define OOO_STRING_SVTOOLS_HTML_S_empty "empty"
+#define OOO_STRING_SVTOOLS_HTML_S_emsp "emsp"
+#define OOO_STRING_SVTOOLS_HTML_S_ensp "ensp"
+#define OOO_STRING_SVTOOLS_HTML_S_Epsilon "Epsilon"
+#define OOO_STRING_SVTOOLS_HTML_S_epsilon "epsilon"
+#define OOO_STRING_SVTOOLS_HTML_S_equiv "equiv"
+#define OOO_STRING_SVTOOLS_HTML_S_Eta "Eta"
+#define OOO_STRING_SVTOOLS_HTML_S_eta "eta"
+#define OOO_STRING_SVTOOLS_HTML_S_euro "euro"
+#define OOO_STRING_SVTOOLS_HTML_S_exist "exist"
+#define OOO_STRING_SVTOOLS_HTML_S_fnof "fnof"
+#define OOO_STRING_SVTOOLS_HTML_S_forall "forall"
+#define OOO_STRING_SVTOOLS_HTML_S_frasl "frasl"
+#define OOO_STRING_SVTOOLS_HTML_S_Gamma "Gamma"
+#define OOO_STRING_SVTOOLS_HTML_S_gamma "gamma"
+#define OOO_STRING_SVTOOLS_HTML_S_ge "ge"
+#define OOO_STRING_SVTOOLS_HTML_S_harr "harr"
+#define OOO_STRING_SVTOOLS_HTML_S_hArr "hArr"
+#define OOO_STRING_SVTOOLS_HTML_S_hearts "hearts"
+#define OOO_STRING_SVTOOLS_HTML_S_hellip "hellip"
+#define OOO_STRING_SVTOOLS_HTML_S_image "image"
+#define OOO_STRING_SVTOOLS_HTML_S_infin "infin"
+#define OOO_STRING_SVTOOLS_HTML_S_int "int"
+#define OOO_STRING_SVTOOLS_HTML_S_Iota "Iota"
+#define OOO_STRING_SVTOOLS_HTML_S_iota "iota"
+#define OOO_STRING_SVTOOLS_HTML_S_isin "isin"
+#define OOO_STRING_SVTOOLS_HTML_S_Kappa "Kappa"
+#define OOO_STRING_SVTOOLS_HTML_S_kappa "kappa"
+#define OOO_STRING_SVTOOLS_HTML_S_Lambda "Lambda"
+#define OOO_STRING_SVTOOLS_HTML_S_lambda "lambda"
+#define OOO_STRING_SVTOOLS_HTML_S_lang "lang"
+#define OOO_STRING_SVTOOLS_HTML_S_larr "larr"
+#define OOO_STRING_SVTOOLS_HTML_S_lArr "lArr"
+#define OOO_STRING_SVTOOLS_HTML_S_lceil "lceil"
+#define OOO_STRING_SVTOOLS_HTML_S_ldquo "ldquo"
+#define OOO_STRING_SVTOOLS_HTML_S_le "le"
+#define OOO_STRING_SVTOOLS_HTML_S_lfloor "lfloor"
+#define OOO_STRING_SVTOOLS_HTML_S_lowast "lowast"
+#define OOO_STRING_SVTOOLS_HTML_S_loz "loz"
+#define OOO_STRING_SVTOOLS_HTML_S_lrm "lrm"
+#define OOO_STRING_SVTOOLS_HTML_S_lsaquo "lsaquo"
+#define OOO_STRING_SVTOOLS_HTML_S_lsquo "lsquo"
+#define OOO_STRING_SVTOOLS_HTML_S_mdash "mdash"
+#define OOO_STRING_SVTOOLS_HTML_S_minus "minus"
+#define OOO_STRING_SVTOOLS_HTML_S_Mu "Mu"
+#define OOO_STRING_SVTOOLS_HTML_S_mu "mu"
+#define OOO_STRING_SVTOOLS_HTML_S_nabla "nabla"
+#define OOO_STRING_SVTOOLS_HTML_S_ndash "ndash"
+#define OOO_STRING_SVTOOLS_HTML_S_ne "ne"
+#define OOO_STRING_SVTOOLS_HTML_S_ni "ni"
+#define OOO_STRING_SVTOOLS_HTML_S_notin "notin"
+#define OOO_STRING_SVTOOLS_HTML_S_nsub "nsub"
+#define OOO_STRING_SVTOOLS_HTML_S_Nu "Nu"
+#define OOO_STRING_SVTOOLS_HTML_S_nu "nu"
+#define OOO_STRING_SVTOOLS_HTML_S_OElig "OElig"
+#define OOO_STRING_SVTOOLS_HTML_S_oelig "oelig"
+#define OOO_STRING_SVTOOLS_HTML_S_oline "oline"
+#define OOO_STRING_SVTOOLS_HTML_S_Omega "Omega"
+#define OOO_STRING_SVTOOLS_HTML_S_omega "omega"
+#define OOO_STRING_SVTOOLS_HTML_S_Omicron "Omicron"
+#define OOO_STRING_SVTOOLS_HTML_S_omicron "omicron"
+#define OOO_STRING_SVTOOLS_HTML_S_oplus "oplus"
+#define OOO_STRING_SVTOOLS_HTML_S_or "or"
+#define OOO_STRING_SVTOOLS_HTML_S_otimes "otimes"
+#define OOO_STRING_SVTOOLS_HTML_S_part "part"
+#define OOO_STRING_SVTOOLS_HTML_S_permil "permil"
+#define OOO_STRING_SVTOOLS_HTML_S_perp "perp"
+#define OOO_STRING_SVTOOLS_HTML_S_Phi "Phi"
+#define OOO_STRING_SVTOOLS_HTML_S_phi "phi"
+#define OOO_STRING_SVTOOLS_HTML_S_Pi "Pi"
+#define OOO_STRING_SVTOOLS_HTML_S_pi "pi"
+#define OOO_STRING_SVTOOLS_HTML_S_piv "piv"
+#define OOO_STRING_SVTOOLS_HTML_S_prime "prime"
+#define OOO_STRING_SVTOOLS_HTML_S_Prime "Prime"
+#define OOO_STRING_SVTOOLS_HTML_S_prod "prod"
+#define OOO_STRING_SVTOOLS_HTML_S_prop "prop"
+#define OOO_STRING_SVTOOLS_HTML_S_Psi "Psi"
+#define OOO_STRING_SVTOOLS_HTML_S_psi "psi"
+#define OOO_STRING_SVTOOLS_HTML_S_radic "radic"
+#define OOO_STRING_SVTOOLS_HTML_S_rang "rang"
+#define OOO_STRING_SVTOOLS_HTML_S_rarr "rarr"
+#define OOO_STRING_SVTOOLS_HTML_S_rArr "rArr"
+#define OOO_STRING_SVTOOLS_HTML_S_rceil "rceil"
+#define OOO_STRING_SVTOOLS_HTML_S_rdquo "rdquo"
+#define OOO_STRING_SVTOOLS_HTML_S_real "real"
+#define OOO_STRING_SVTOOLS_HTML_S_rfloor "rfloor"
+#define OOO_STRING_SVTOOLS_HTML_S_Rho "Rho"
+#define OOO_STRING_SVTOOLS_HTML_S_rho "rho"
+#define OOO_STRING_SVTOOLS_HTML_S_rlm "rlm"
+#define OOO_STRING_SVTOOLS_HTML_S_rsaquo "rsaquo"
+#define OOO_STRING_SVTOOLS_HTML_S_rsquo "rsquo"
+#define OOO_STRING_SVTOOLS_HTML_S_sbquo "sbquo"
+#define OOO_STRING_SVTOOLS_HTML_S_Scaron "Scaron"
+#define OOO_STRING_SVTOOLS_HTML_S_scaron "scaron"
+#define OOO_STRING_SVTOOLS_HTML_S_sdot "sdot"
+#define OOO_STRING_SVTOOLS_HTML_S_Sigma "Sigma"
+#define OOO_STRING_SVTOOLS_HTML_S_sigma "sigma"
+#define OOO_STRING_SVTOOLS_HTML_S_sigmaf "sigmaf"
+#define OOO_STRING_SVTOOLS_HTML_S_sim "sim"
+#define OOO_STRING_SVTOOLS_HTML_S_spades "spades"
+#define OOO_STRING_SVTOOLS_HTML_S_sub "sub"
+#define OOO_STRING_SVTOOLS_HTML_S_sube "sube"
+#define OOO_STRING_SVTOOLS_HTML_S_sum "sum"
+#define OOO_STRING_SVTOOLS_HTML_S_sup "sup"
+#define OOO_STRING_SVTOOLS_HTML_S_supe "supe"
+#define OOO_STRING_SVTOOLS_HTML_S_Tau "Tau"
+#define OOO_STRING_SVTOOLS_HTML_S_tau "tau"
+#define OOO_STRING_SVTOOLS_HTML_S_there4 "there4"
+#define OOO_STRING_SVTOOLS_HTML_S_Theta "Theta"
+#define OOO_STRING_SVTOOLS_HTML_S_theta "theta"
+#define OOO_STRING_SVTOOLS_HTML_S_thetasym "thetasym"
+#define OOO_STRING_SVTOOLS_HTML_S_thinsp "thinsp"
+#define OOO_STRING_SVTOOLS_HTML_S_tilde "tilde"
+#define OOO_STRING_SVTOOLS_HTML_S_trade "trade"
+#define OOO_STRING_SVTOOLS_HTML_S_uarr "uarr"
+#define OOO_STRING_SVTOOLS_HTML_S_uArr "uArr"
+#define OOO_STRING_SVTOOLS_HTML_S_upsih "upsih"
+#define OOO_STRING_SVTOOLS_HTML_S_Upsilon "Upsilon"
+#define OOO_STRING_SVTOOLS_HTML_S_upsilon "upsilon"
+#define OOO_STRING_SVTOOLS_HTML_S_weierp "weierp"
+#define OOO_STRING_SVTOOLS_HTML_S_Xi "Xi"
+#define OOO_STRING_SVTOOLS_HTML_S_xi "xi"
+#define OOO_STRING_SVTOOLS_HTML_S_Yuml "Yuml"
+#define OOO_STRING_SVTOOLS_HTML_S_Zeta "Zeta"
+#define OOO_STRING_SVTOOLS_HTML_S_zeta "zeta"
+#define OOO_STRING_SVTOOLS_HTML_S_zwj "zwj"
+#define OOO_STRING_SVTOOLS_HTML_S_zwnj "zwnj"
+
+// HTML Attribut-Token (=Optionen)
+
+// Attribute ohne Wert
+#define OOO_STRING_SVTOOLS_HTML_O_box "BOX"
+#define OOO_STRING_SVTOOLS_HTML_O_checked "CHECKED"
+#define OOO_STRING_SVTOOLS_HTML_O_compact "COMPACT"
+#define OOO_STRING_SVTOOLS_HTML_O_continue "CONTINUE"
+#define OOO_STRING_SVTOOLS_HTML_O_controls "CONTROLS"
+#define OOO_STRING_SVTOOLS_HTML_O_declare "DECLARE"
+#define OOO_STRING_SVTOOLS_HTML_O_disabled "DISABLED"
+#define OOO_STRING_SVTOOLS_HTML_O_folded "FOLDED"
+#define OOO_STRING_SVTOOLS_HTML_O_ismap "ISMAP"
+#define OOO_STRING_SVTOOLS_HTML_O_mayscript "MAYSCRIPT"
+#define OOO_STRING_SVTOOLS_HTML_O_multiple "MULTIPLE"
+#define OOO_STRING_SVTOOLS_HTML_O_noflow "NOFLOW"
+#define OOO_STRING_SVTOOLS_HTML_O_nohref "NOHREF"
+#define OOO_STRING_SVTOOLS_HTML_O_noresize "NORESIZE"
+#define OOO_STRING_SVTOOLS_HTML_O_noshade "NOSHADE"
+#define OOO_STRING_SVTOOLS_HTML_O_nowrap "NOWRAP"
+#define OOO_STRING_SVTOOLS_HTML_O_plain "PLAIN"
+#define OOO_STRING_SVTOOLS_HTML_O_sdfixed "SDFIXED"
+#define OOO_STRING_SVTOOLS_HTML_O_selected "SELECTED"
+#define OOO_STRING_SVTOOLS_HTML_O_shapes "SHAPES"
+
+// Attribute mit einem String als Wert
+#define OOO_STRING_SVTOOLS_HTML_O_above "ABOVE"
+#define OOO_STRING_SVTOOLS_HTML_O_accesskey "ACCESSKEY"
+#define OOO_STRING_SVTOOLS_HTML_O_accept "ACCEPT"
+#define OOO_STRING_SVTOOLS_HTML_O_add_date "ADD_DATE"
+#define OOO_STRING_SVTOOLS_HTML_O_alt "ALT"
+#define OOO_STRING_SVTOOLS_HTML_O_axes "AXES"
+#define OOO_STRING_SVTOOLS_HTML_O_axis "AXIS"
+#define OOO_STRING_SVTOOLS_HTML_O_below "BELOW"
+#define OOO_STRING_SVTOOLS_HTML_O_char "CHAR"
+#define OOO_STRING_SVTOOLS_HTML_O_class "CLASS"
+#define OOO_STRING_SVTOOLS_HTML_O_clip "CLIP"
+#define OOO_STRING_SVTOOLS_HTML_O_code "CODE"
+#define OOO_STRING_SVTOOLS_HTML_O_codetype "CODETYPE"
+#define OOO_STRING_SVTOOLS_HTML_O_colspec "COLSPEC"
+#define OOO_STRING_SVTOOLS_HTML_O_content "CONTENT"
+#define OOO_STRING_SVTOOLS_HTML_O_coords "COORDS"
+#define OOO_STRING_SVTOOLS_HTML_O_dp "DP"
+#define OOO_STRING_SVTOOLS_HTML_O_enctype "ENCTYPE"
+#define OOO_STRING_SVTOOLS_HTML_O_error "ERROR"
+#define OOO_STRING_SVTOOLS_HTML_O_face "FACE"
+#define OOO_STRING_SVTOOLS_HTML_O_frameborder "FRAMEBORDER"
+#define OOO_STRING_SVTOOLS_HTML_O_httpequiv "HTTP-EQUIV"
+#define OOO_STRING_SVTOOLS_HTML_O_language "LANGUAGE"
+#define OOO_STRING_SVTOOLS_HTML_O_last_modified "LAST_MODIFIED"
+#define OOO_STRING_SVTOOLS_HTML_O_last_visit "LAST_VISIT"
+#define OOO_STRING_SVTOOLS_HTML_O_md "MD"
+#define OOO_STRING_SVTOOLS_HTML_O_n "N"
+#define OOO_STRING_SVTOOLS_HTML_O_name "NAME"
+#define OOO_STRING_SVTOOLS_HTML_O_notation "NOTATION"
+#define OOO_STRING_SVTOOLS_HTML_O_prompt "PROMPT"
+#define OOO_STRING_SVTOOLS_HTML_O_shape "SHAPE"
+#define OOO_STRING_SVTOOLS_HTML_O_standby "STANDBY"
+#define OOO_STRING_SVTOOLS_HTML_O_style "STYLE"
+#define OOO_STRING_SVTOOLS_HTML_O_title "TITLE"
+#define OOO_STRING_SVTOOLS_HTML_O_value "VALUE"
+#define OOO_STRING_SVTOOLS_HTML_O_SDval "SDVAL"
+#define OOO_STRING_SVTOOLS_HTML_O_SDnum "SDNUM"
+#define OOO_STRING_SVTOOLS_HTML_O_sdlibrary "SDLIBRARY"
+#define OOO_STRING_SVTOOLS_HTML_O_sdmodule "SDMODULE"
+#define OOO_STRING_SVTOOLS_HTML_O_sdevent "SDEVENT-"
+#define OOO_STRING_SVTOOLS_HTML_O_sdaddparam "SDADDPARAM-"
+
+// Attribute mit einem SGML-Identifier als Wert
+#define OOO_STRING_SVTOOLS_HTML_O_from "FROM"
+#define OOO_STRING_SVTOOLS_HTML_O_id "ID"
+#define OOO_STRING_SVTOOLS_HTML_O_target "TARGET"
+#define OOO_STRING_SVTOOLS_HTML_O_to "TO"
+#define OOO_STRING_SVTOOLS_HTML_O_until "UNTIL"
+
+// Attribute mit einem URI als Wert
+#define OOO_STRING_SVTOOLS_HTML_O_action "ACTION"
+#define OOO_STRING_SVTOOLS_HTML_O_archive "ARCHIVE"
+#define OOO_STRING_SVTOOLS_HTML_O_background "BACKGROUND"
+#define OOO_STRING_SVTOOLS_HTML_O_classid "CLASSID"
+#define OOO_STRING_SVTOOLS_HTML_O_codebase "CODEBASE"
+#define OOO_STRING_SVTOOLS_HTML_O_data "DATA"
+#define OOO_STRING_SVTOOLS_HTML_O_dynsrc "DYNSRC"
+#define OOO_STRING_SVTOOLS_HTML_O_dynsync "DYNSYNC"
+#define OOO_STRING_SVTOOLS_HTML_O_imagemap "IMAGEMAP"
+#define OOO_STRING_SVTOOLS_HTML_O_href "HREF"
+#define OOO_STRING_SVTOOLS_HTML_O_lowsrc "LOWSRC"
+#define OOO_STRING_SVTOOLS_HTML_O_script "SCRIPT"
+#define OOO_STRING_SVTOOLS_HTML_O_src "SRC"
+#define OOO_STRING_SVTOOLS_HTML_O_usemap "USEMAP"
+
+// Attribute mit Entity-Namen als Wert
+#define OOO_STRING_SVTOOLS_HTML_O_dingbat "DINGBAT"
+#define OOO_STRING_SVTOOLS_HTML_O_sym "SYM"
+
+// Attribute mit einer Farbe als Wert (alle Netscape)
+#define OOO_STRING_SVTOOLS_HTML_O_alink "ALINK"
+#define OOO_STRING_SVTOOLS_HTML_O_bgcolor "BGCOLOR"
+#define OOO_STRING_SVTOOLS_HTML_O_bordercolor "BORDERCOLOR"
+#define OOO_STRING_SVTOOLS_HTML_O_bordercolorlight "BORDERCOLORLIGHT"
+#define OOO_STRING_SVTOOLS_HTML_O_bordercolordark "BORDERCOLORDARK"
+#define OOO_STRING_SVTOOLS_HTML_O_color "COLOR"
+#define OOO_STRING_SVTOOLS_HTML_O_link "LINK"
+#define OOO_STRING_SVTOOLS_HTML_O_text "TEXT"
+#define OOO_STRING_SVTOOLS_HTML_O_vlink "VLINK"
+
+// Attribute mit einem numerischen Wert
+#define OOO_STRING_SVTOOLS_HTML_O_border "BORDER"
+#define OOO_STRING_SVTOOLS_HTML_O_cellspacing "CELLSPACING"
+#define OOO_STRING_SVTOOLS_HTML_O_cellpadding "CELLPADDING"
+#define OOO_STRING_SVTOOLS_HTML_O_charoff "CHAROFF"
+#define OOO_STRING_SVTOOLS_HTML_O_colspan "COLSPAN"
+#define OOO_STRING_SVTOOLS_HTML_O_framespacing "FRAMESPACING"
+#define OOO_STRING_SVTOOLS_HTML_O_gutter "GUTTER"
+#define OOO_STRING_SVTOOLS_HTML_O_indent "INDENT"
+#define OOO_STRING_SVTOOLS_HTML_O_height "HEIGHT"
+#define OOO_STRING_SVTOOLS_HTML_O_hspace "HSPACE"
+#define OOO_STRING_SVTOOLS_HTML_O_left "LEFT"
+#define OOO_STRING_SVTOOLS_HTML_O_leftmargin "LEFTMARGIN"
+#define OOO_STRING_SVTOOLS_HTML_O_loop "LOOP"
+#define OOO_STRING_SVTOOLS_HTML_O_marginheight "MARGINHEIGHT"
+#define OOO_STRING_SVTOOLS_HTML_O_marginwidth "MARGINWIDTH"
+#define OOO_STRING_SVTOOLS_HTML_O_max "MAX"
+#define OOO_STRING_SVTOOLS_HTML_O_maxlength "MAXLENGTH"
+#define OOO_STRING_SVTOOLS_HTML_O_min "MIN"
+#define OOO_STRING_SVTOOLS_HTML_O_pagex "PAGEX"
+#define OOO_STRING_SVTOOLS_HTML_O_pagey "PAGEY"
+#define OOO_STRING_SVTOOLS_HTML_O_pointsize "POINT-SIZE"
+#define OOO_STRING_SVTOOLS_HTML_O_rowspan "ROWSPAN"
+#define OOO_STRING_SVTOOLS_HTML_O_scrollamount "SCROLLAMOUNT"
+#define OOO_STRING_SVTOOLS_HTML_O_scrolldelay "SCROLLDELAY"
+#define OOO_STRING_SVTOOLS_HTML_O_seqnum "SEQNUM"
+#define OOO_STRING_SVTOOLS_HTML_O_skip "SKIP"
+#define OOO_STRING_SVTOOLS_HTML_O_span "SPAN"
+#define OOO_STRING_SVTOOLS_HTML_O_tabindex "TABINDEX"
+#define OOO_STRING_SVTOOLS_HTML_O_top "TOP"
+#define OOO_STRING_SVTOOLS_HTML_O_topmargin "TOPMARGIN"
+#define OOO_STRING_SVTOOLS_HTML_O_vspace "VSPACE"
+#define OOO_STRING_SVTOOLS_HTML_O_weight "WEIGHT"
+#define OOO_STRING_SVTOOLS_HTML_O_width "WIDTH"
+#define OOO_STRING_SVTOOLS_HTML_O_x "X"
+#define OOO_STRING_SVTOOLS_HTML_O_y "Y"
+#define OOO_STRING_SVTOOLS_HTML_O_zindex "Z-INDEX"
+
+// Attribute mit Enum-Werten
+#define OOO_STRING_SVTOOLS_HTML_O_behavior "BEHAVIOR"
+#define OOO_STRING_SVTOOLS_HTML_O_bgproperties "BGPROPERTIES"
+#define OOO_STRING_SVTOOLS_HTML_O_clear "CLEAR"
+#define OOO_STRING_SVTOOLS_HTML_O_dir "DIR"
+#define OOO_STRING_SVTOOLS_HTML_O_direction "DIRECTION"
+#define OOO_STRING_SVTOOLS_HTML_O_format "FORMAT"
+#define OOO_STRING_SVTOOLS_HTML_O_frame "FRAME"
+#define OOO_STRING_SVTOOLS_HTML_O_lang "LANG"
+#define OOO_STRING_SVTOOLS_HTML_O_method "METHOD"
+#define OOO_STRING_SVTOOLS_HTML_O_palette "PALETTE"
+#define OOO_STRING_SVTOOLS_HTML_O_rel "REL"
+#define OOO_STRING_SVTOOLS_HTML_O_rev "REV"
+#define OOO_STRING_SVTOOLS_HTML_O_rules "RULES"
+#define OOO_STRING_SVTOOLS_HTML_O_scrolling "SCROLLING"
+#define OOO_STRING_SVTOOLS_HTML_O_sdreadonly "READONLY"
+#define OOO_STRING_SVTOOLS_HTML_O_subtype "SUBTYPE"
+#define OOO_STRING_SVTOOLS_HTML_O_type "TYPE"
+#define OOO_STRING_SVTOOLS_HTML_O_valign "VALIGN"
+#define OOO_STRING_SVTOOLS_HTML_O_valuetype "VALUETYPE"
+#define OOO_STRING_SVTOOLS_HTML_O_visibility "VISIBILITY"
+#define OOO_STRING_SVTOOLS_HTML_O_wrap "WRAP"
+
+// Attribute mit Script-Code als Wert
+#define OOO_STRING_SVTOOLS_HTML_O_onblur "ONBLUR"
+#define OOO_STRING_SVTOOLS_HTML_O_onchange "ONCHANGE"
+#define OOO_STRING_SVTOOLS_HTML_O_onclick "ONCLICK"
+#define OOO_STRING_SVTOOLS_HTML_O_onfocus "ONFOCUS"
+#define OOO_STRING_SVTOOLS_HTML_O_onload "ONLOAD"
+#define OOO_STRING_SVTOOLS_HTML_O_onmouseover "ONMOUSEOVER"
+#define OOO_STRING_SVTOOLS_HTML_O_onreset "ONRESET"
+#define OOO_STRING_SVTOOLS_HTML_O_onselect "ONSELECT"
+#define OOO_STRING_SVTOOLS_HTML_O_onsubmit "ONSUBMIT"
+#define OOO_STRING_SVTOOLS_HTML_O_onunload "ONUNLOAD"
+#define OOO_STRING_SVTOOLS_HTML_O_onabort "ONABORT"
+#define OOO_STRING_SVTOOLS_HTML_O_onerror "ONERROR"
+#define OOO_STRING_SVTOOLS_HTML_O_onmouseout "ONMOUSEOUT"
+#define OOO_STRING_SVTOOLS_HTML_O_SDonblur "SDONBLUR"
+#define OOO_STRING_SVTOOLS_HTML_O_SDonchange "SDONCHANGE"
+#define OOO_STRING_SVTOOLS_HTML_O_SDonclick "SDONCLICK"
+#define OOO_STRING_SVTOOLS_HTML_O_SDonfocus "SDONFOCUS"
+#define OOO_STRING_SVTOOLS_HTML_O_SDonload "SDONLOAD"
+#define OOO_STRING_SVTOOLS_HTML_O_SDonmouseover "SDONMOUSEOVER"
+#define OOO_STRING_SVTOOLS_HTML_O_SDonreset "SDONRESET"
+#define OOO_STRING_SVTOOLS_HTML_O_SDonselect "SDONSELECT"
+#define OOO_STRING_SVTOOLS_HTML_O_SDonsubmit "SDONSUBMIT"
+#define OOO_STRING_SVTOOLS_HTML_O_SDonunload "SDONUNLOAD"
+#define OOO_STRING_SVTOOLS_HTML_O_SDonabort "SDONABORT"
+#define OOO_STRING_SVTOOLS_HTML_O_SDonerror "SDONERROR"
+#define OOO_STRING_SVTOOLS_HTML_O_SDonmouseout "SDONMOUSEOUT"
+
+// Attribute mit Kontext-abhaengigen Werten
+#define OOO_STRING_SVTOOLS_HTML_O_align "ALIGN"
+#define OOO_STRING_SVTOOLS_HTML_O_cols "COLS"
+#define OOO_STRING_SVTOOLS_HTML_O_rows "ROWS"
+#define OOO_STRING_SVTOOLS_HTML_O_start "START"
+#define OOO_STRING_SVTOOLS_HTML_O_size "SIZE"
+#define OOO_STRING_SVTOOLS_HTML_O_units "UNITS"
+
+// Werte von <INPUT TYPE=...>
+#define OOO_STRING_SVTOOLS_HTML_IT_text "TEXT"
+#define OOO_STRING_SVTOOLS_HTML_IT_password "PASSWORD"
+#define OOO_STRING_SVTOOLS_HTML_IT_checkbox "CHECKBOX"
+#define OOO_STRING_SVTOOLS_HTML_IT_radio "RADIO"
+#define OOO_STRING_SVTOOLS_HTML_IT_range "RANGE"
+#define OOO_STRING_SVTOOLS_HTML_IT_scribble "SCRIBBLE"
+#define OOO_STRING_SVTOOLS_HTML_IT_file "FILE"
+#define OOO_STRING_SVTOOLS_HTML_IT_hidden "HIDDEN"
+#define OOO_STRING_SVTOOLS_HTML_IT_submit "SUBMIT"
+#define OOO_STRING_SVTOOLS_HTML_IT_image "IMAGE"
+#define OOO_STRING_SVTOOLS_HTML_IT_reset "RESET"
+#define OOO_STRING_SVTOOLS_HTML_IT_button "BUTTON"
+
+// Werte von <TABLE FRAME=...>
+#define OOO_STRING_SVTOOLS_HTML_TF_void "VOID"
+#define OOO_STRING_SVTOOLS_HTML_TF_above "ABOVE"
+#define OOO_STRING_SVTOOLS_HTML_TF_below "BELOW"
+#define OOO_STRING_SVTOOLS_HTML_TF_hsides "HSIDES"
+#define OOO_STRING_SVTOOLS_HTML_TF_lhs "LHS"
+#define OOO_STRING_SVTOOLS_HTML_TF_rhs "RHS"
+#define OOO_STRING_SVTOOLS_HTML_TF_vsides "VSIDES"
+#define OOO_STRING_SVTOOLS_HTML_TF_box "BOX"
+#define OOO_STRING_SVTOOLS_HTML_TF_border "BORDER"
+
+// Werte von <TABLE RULES=...>
+#define OOO_STRING_SVTOOLS_HTML_TR_none "NONE"
+#define OOO_STRING_SVTOOLS_HTML_TR_groups "GROUPS"
+#define OOO_STRING_SVTOOLS_HTML_TR_rows "ROWS"
+#define OOO_STRING_SVTOOLS_HTML_TR_cols "COLS"
+#define OOO_STRING_SVTOOLS_HTML_TR_all "ALL"
+
+// Werte von <P, H?, TR, TH, TD ALIGN=...>
+#define OOO_STRING_SVTOOLS_HTML_AL_left "LEFT"
+#define OOO_STRING_SVTOOLS_HTML_AL_center "CENTER"
+#define OOO_STRING_SVTOOLS_HTML_AL_middle "MIDDLE"
+#define OOO_STRING_SVTOOLS_HTML_AL_right "RIGHT"
+#define OOO_STRING_SVTOOLS_HTML_AL_justify "JUSTIFY"
+#define OOO_STRING_SVTOOLS_HTML_AL_char "CHAR"
+#define OOO_STRING_SVTOOLS_HTML_AL_all "ALL"
+#define OOO_STRING_SVTOOLS_HTML_AL_none "NONE"
+
+// Werte von <TR VALIGN=...>, <IMG ALIGN=...>
+#define OOO_STRING_SVTOOLS_HTML_VA_top "TOP"
+#define OOO_STRING_SVTOOLS_HTML_VA_middle "MIDDLE"
+#define OOO_STRING_SVTOOLS_HTML_VA_bottom "BOTTOM"
+#define OOO_STRING_SVTOOLS_HTML_VA_baseline "BASELINE"
+#define OOO_STRING_SVTOOLS_HTML_VA_texttop "TEXTTOP"
+#define OOO_STRING_SVTOOLS_HTML_VA_absmiddle "ABSMIDDLE"
+#define OOO_STRING_SVTOOLS_HTML_VA_absbottom "ABSBOTTOM"
+
+// Werte von <AREA SHAPE=...>
+#define OOO_STRING_SVTOOLS_HTML_SH_rect "RECT"
+#define OOO_STRING_SVTOOLS_HTML_SH_rectangle "RECTANGLE"
+#define OOO_STRING_SVTOOLS_HTML_SH_circ "CIRC"
+#define OOO_STRING_SVTOOLS_HTML_SH_circle "CIRCLE"
+#define OOO_STRING_SVTOOLS_HTML_SH_poly "POLY"
+#define OOO_STRING_SVTOOLS_HTML_SH_polygon "POLYGON"
+#define OOO_STRING_SVTOOLS_HTML_SH_default "DEFAULT"
+
+#define OOO_STRING_SVTOOLS_HTML_LG_starbasic "STARBASIC"
+#define OOO_STRING_SVTOOLS_HTML_LG_javascript "JAVASCRIPT"
+#define OOO_STRING_SVTOOLS_HTML_LG_javascript11 "JAVASCRIPT1.1"
+#define OOO_STRING_SVTOOLS_HTML_LG_livescript "LIVESCRIPT"
+
+// ein par Werte fuer unser StarBASIC-Support
+#define OOO_STRING_SVTOOLS_HTML_SB_library "$LIBRARY:"
+#define OOO_STRING_SVTOOLS_HTML_SB_module "$MODULE:"
+
+// Werte von <FORM METHOD=...>
+#define OOO_STRING_SVTOOLS_HTML_METHOD_get "GET"
+#define OOO_STRING_SVTOOLS_HTML_METHOD_post "POST"
+
+// Werte von <META CONTENT/HTTP-EQUIV=...>
+#define OOO_STRING_SVTOOLS_HTML_META_refresh "REFRESH"
+#define OOO_STRING_SVTOOLS_HTML_META_generator "GENERATOR"
+#define OOO_STRING_SVTOOLS_HTML_META_author "AUTHOR"
+#define OOO_STRING_SVTOOLS_HTML_META_classification "CLASSIFICATION"
+#define OOO_STRING_SVTOOLS_HTML_META_description "DESCRIPTION"
+#define OOO_STRING_SVTOOLS_HTML_META_keywords "KEYWORDS"
+#define OOO_STRING_SVTOOLS_HTML_META_changed "CHANGED"
+#define OOO_STRING_SVTOOLS_HTML_META_changedby "CHANGEDBY"
+#define OOO_STRING_SVTOOLS_HTML_META_created "CREATED"
+#define OOO_STRING_SVTOOLS_HTML_META_content_type "CONTENT-TYPE"
+#define OOO_STRING_SVTOOLS_HTML_META_content_script_type "CONTENT-SCRIPT-TYPE"
+#define OOO_STRING_SVTOOLS_HTML_META_sdendnote "SDENDNOTE"
+#define OOO_STRING_SVTOOLS_HTML_META_sdfootnote "SDFOOTNOTE"
+
+// Werte von <UL TYPE=...>
+#define OOO_STRING_SVTOOLS_HTML_ULTYPE_disc "DISC"
+#define OOO_STRING_SVTOOLS_HTML_ULTYPE_square "SQUARE"
+#define OOO_STRING_SVTOOLS_HTML_ULTYPE_circle "CIRCLE"
+
+// Werte von <FRAMESET SCROLLING=...>
+#define OOO_STRING_SVTOOLS_HTML_SCROLL_yes "YES"
+#define OOO_STRING_SVTOOLS_HTML_SCROLL_no "NO"
+#define OOO_STRING_SVTOOLS_HTML_SCROLL_auto "AUTO"
+
+// Werte von <MULTICOL TYPE=...>
+#define OOO_STRING_SVTOOLS_HTML_MCTYPE_horizontal "HORIZONTAL"
+#define OOO_STRING_SVTOOLS_HTML_MCTYPE_vertical "VERTICAL"
+#define OOO_STRING_SVTOOLS_HTML_MCTYPE_box "BOX"
+
+// Werte von <MARQUEE BEHAVIOUR=...>
+#define OOO_STRING_SVTOOLS_HTML_BEHAV_scroll "SCROLL"
+#define OOO_STRING_SVTOOLS_HTML_BEHAV_slide "SLIDE"
+#define OOO_STRING_SVTOOLS_HTML_BEHAV_alternate "ALTERNATE"
+
+// Werte von <MARQUEE LOOP=...>
+#define OOO_STRING_SVTOOLS_HTML_LOOP_infinite "INFINITE"
+#define OOO_STRING_SVTOOLS_HTML_SPTYPE_block "BLOCK"
+#define OOO_STRING_SVTOOLS_HTML_SPTYPE_horizontal "HORIZONTAL"
+#define OOO_STRING_SVTOOLS_HTML_SPTYPE_vertical "VERTICAL"
+
+// interne Grafik-Namen
+#define OOO_STRING_SVTOOLS_HTML_private_image "private:image/"
+#define OOO_STRING_SVTOOLS_HTML_internal_gopher "internal-gopher-"
+#define OOO_STRING_SVTOOLS_HTML_internal_icon "internal-icon-"
+#define OOO_STRING_SVTOOLS_HTML_INT_GOPHER_binary "binary"
+#define OOO_STRING_SVTOOLS_HTML_INT_GOPHER_image "image"
+#define OOO_STRING_SVTOOLS_HTML_INT_GOPHER_index "index"
+#define OOO_STRING_SVTOOLS_HTML_INT_GOPHER_menu "menu"
+#define OOO_STRING_SVTOOLS_HTML_INT_GOPHER_movie "movie"
+#define OOO_STRING_SVTOOLS_HTML_INT_GOPHER_sound "sound"
+#define OOO_STRING_SVTOOLS_HTML_INT_GOPHER_telnet "telnet"
+#define OOO_STRING_SVTOOLS_HTML_INT_GOPHER_text "text"
+#define OOO_STRING_SVTOOLS_HTML_INT_GOPHER_unknown "unknown"
+#define OOO_STRING_SVTOOLS_HTML_INT_ICON_baddata "baddata"
+#define OOO_STRING_SVTOOLS_HTML_INT_ICON_delayed "delayed"
+#define OOO_STRING_SVTOOLS_HTML_INT_ICON_embed "embed"
+#define OOO_STRING_SVTOOLS_HTML_INT_ICON_insecure "insecure"
+#define OOO_STRING_SVTOOLS_HTML_INT_ICON_notfound "notfound"
+#define OOO_STRING_SVTOOLS_HTML_sdendnote "sdendnote"
+#define OOO_STRING_SVTOOLS_HTML_sdendnote_anc "sdendnoteanc"
+#define OOO_STRING_SVTOOLS_HTML_sdendnote_sym "sdendnotesym"
+#define OOO_STRING_SVTOOLS_HTML_sdfootnote "sdfootnote"
+#define OOO_STRING_SVTOOLS_HTML_sdfootnote_anc "sdfootnoteanc"
+#define OOO_STRING_SVTOOLS_HTML_sdfootnote_sym "sdfootnotesym"
+#define OOO_STRING_SVTOOLS_HTML_FTN_anchor "anc"
+#define OOO_STRING_SVTOOLS_HTML_FTN_symbol "sym"
+#define OOO_STRING_SVTOOLS_HTML_WW_off "OFF"
+#define OOO_STRING_SVTOOLS_HTML_WW_hard "HARD"
+#define OOO_STRING_SVTOOLS_HTML_WW_soft "SOFT"
+#define OOO_STRING_SVTOOLS_HTML_WW_virtual "VIRTUAL"
+#define OOO_STRING_SVTOOLS_HTML_WW_physical "PHYSICAL"
+#define OOO_STRING_SVTOOLS_HTML_on "on"
+#define OOO_STRING_SVTOOLS_HTML_ET_url "application/x-www-form-urlencoded"
+#define OOO_STRING_SVTOOLS_HTML_ET_multipart "multipart/form-data"
+#define OOO_STRING_SVTOOLS_HTML_ET_text "text/plain"
+
+#endif
diff --git a/svtools/inc/svtools/htmltokn.h b/svtools/inc/svtools/htmltokn.h
new file mode 100644
index 000000000000..7c43c1463e25
--- /dev/null
+++ b/svtools/inc/svtools/htmltokn.h
@@ -0,0 +1,569 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _HTMLTOKN_H
+#define _HTMLTOKN_H
+
+#include "svtools/svtdllapi.h"
+#include <sal/types.h>
+#ifndef _SOLAR_h
+#include <tools/solar.h>
+#endif
+
+class String;
+
+// suche das Char zu dem CharNamen
+sal_Unicode GetHTMLCharName( const String& rName );
+
+// suche die TokenID zu dem Token
+SVT_DLLPUBLIC int GetHTMLToken( const String& rName );
+
+// suche die TokenId zu einemm Attribut-Token
+int GetHTMLOption( const String& rName );
+
+// suche die 24-bit-Farbe zu einem Farbnamen (nicht gefunden = ULONG_MAX)
+SVT_DLLPUBLIC ULONG GetHTMLColor( const String& rName );
+
+// beginnen immer ab 256, groesser als ein char
+const int HTML_TOKEN_START = 0x100;
+const int HTML_TOKEN_ONOFF = 0x200;
+const int HTML_TOKEN_MICROSOFT = 0x1000;
+
+enum HTML_TOKEN_IDS
+{
+ HTML_TEXTTOKEN = HTML_TOKEN_START,
+ HTML_SINGLECHAR,
+ HTML_NEWPARA,
+ HTML_TABCHAR,
+ HTML_RAWDATA,
+ HTML_LINEFEEDCHAR,
+
+ // diese werden nur eingeschaltet
+ HTML_AREA, // Netscape 2.0
+ HTML_BASE, // HTML 3.0
+ HTML_COMMENT,
+ HTML_DOCTYPE,
+ HTML_EMBED, // Netscape 2.0 </EMBED> ignorieren
+ HTML_FIGUREOVERLAY, // HTML 3.0
+ HTML_HORZRULE, // </HR> ignorieren
+ HTML_HORZTAB, // HTML 3.0
+ HTML_IMAGE, // </IMG> ignorieren
+ HTML_INPUT, // </INPUT> ignorieren
+ HTML_ISINDEX, // HTML 3.0
+ HTML_LINEBREAK, // </BR> -> <BR>
+ HTML_LINK, // HTML 3.0
+ HTML_META, // HTML 3.0 </META> ignorieren
+ HTML_NEXTID, // HTML 3.0
+ HTML_OF, // HTML 3.0
+ HTML_OPTION, // </OPTION> ignorieren
+ HTML_PARAM, // HotJava
+ HTML_RANGE, // HTML 3.0
+ HTML_SPACER, // Netscape 3.0b5 // </SPACER> ignorieren
+ HTML_WBR, // Netscape
+
+ // Tokens, die ueber HTML-Charakter erkannt werden
+ HTML_NONBREAKSPACE,
+ HTML_SOFTHYPH,
+
+ // diese werden wieder abgeschaltet,
+ // der off-Wert liegt immer dahinter (+1) !!
+ HTML_ABBREVIATION_ON = HTML_TOKEN_ONOFF, // HTML 3.0
+ HTML_ABBREVIATION_OFF, // HTML 3.0
+ HTML_ABOVE_ON, // HTML 3.0
+ HTML_ABOVE_OFF, // HTML 3.0
+ HTML_ACRONYM_ON, // HTML 3.0
+ HTML_ACRONYM_OFF, // HTML 3.0
+ HTML_ADDRESS_ON,
+ HTML_ADDRESS_OFF,
+ HTML_ANCHOR_ON,
+ HTML_ANCHOR_OFF,
+ HTML_APPLET_ON, // HotJava
+ HTML_APPLET_OFF, // HotJava
+ HTML_ARRAY_ON, // HTML 3.0
+ HTML_ARRAY_OFF, // HTML 3.0
+ HTML_AUTHOR_ON, // HTML 3.0
+ HTML_AUTHOR_OFF, // HTML 3.0
+ HTML_BANNER_ON, // HTML 3.0
+ HTML_BANNER_OFF, // HTML 3.0
+ HTML_BAR_ON, // HTML 3.0
+ HTML_BAR_OFF, // HTML 3.0
+ HTML_BASEFONT_ON, // Netscape
+ HTML_BASEFONT_OFF, // Netscape
+ HTML_BELOW_ON, // HTML 3.0
+ HTML_BELOW_OFF, // HTML 3.0
+ HTML_BIGPRINT_ON, // HTML 3.0
+ HTML_BIGPRINT_OFF, // HTML 3.0
+ HTML_BLINK_ON, // Netscape
+ HTML_BLINK_OFF, // Netscape
+ HTML_BLOCKQUOTE30_ON, // HTML 3.0
+ HTML_BLOCKQUOTE30_OFF, // HTML 3.0
+ HTML_BLOCKQUOTE_ON,
+ HTML_BLOCKQUOTE_OFF,
+ HTML_BODY_ON,
+ HTML_BODY_OFF,
+ HTML_BOLDTEXT_ON, // HTML 3.0
+ HTML_BOLDTEXT_OFF, // HTML 3.0
+ HTML_BOLD_ON,
+ HTML_BOLD_OFF,
+ HTML_BOX_ON, // HTML 3.0
+ HTML_BOX_OFF, // HTML 3.0
+ HTML_CAPTION_ON, // HTML 3.0
+ HTML_CAPTION_OFF, // HTML 3.0
+ HTML_CENTER_ON, // Netscape
+ HTML_CENTER_OFF, // Netscape
+ HTML_CITIATION_ON,
+ HTML_CITIATION_OFF,
+ HTML_CODE_ON,
+ HTML_CODE_OFF,
+ HTML_COL_ON, // HTML3 Table Model Draft
+ HTML_COL_OFF, // HTML3 Table Model Draft
+ HTML_COLGROUP_ON, // HTML3 Table Model Draft
+ HTML_COLGROUP_OFF, // HTML3 Table Model Draft
+ HTML_CREDIT_ON, // HTML 3.0
+ HTML_CREDIT_OFF, // HTML 3.0
+ HTML_DD_ON,
+ HTML_DD_OFF,
+ HTML_DEFLIST_ON,
+ HTML_DEFLIST_OFF,
+ HTML_DELETEDTEXT_ON, // HTML 3.0
+ HTML_DELETEDTEXT_OFF, // HTML 3.0
+ HTML_DIRLIST_ON,
+ HTML_DIRLIST_OFF,
+ HTML_DIVISION_ON, // HTML 3.0
+ HTML_DIVISION_OFF, // HTML 3.0
+ HTML_DOT_ON, // HTML 3.0
+ HTML_DOT_OFF, // HTML 3.0
+ HTML_DOUBLEDOT_ON, // HTML 3.0
+ HTML_DOUBLEDOT_OFF, // HTML 3.0
+ HTML_DT_ON,
+ HTML_DT_OFF,
+ HTML_EMPHASIS_ON,
+ HTML_EMPHASIS_OFF,
+ HTML_FIGURE_ON, // HTML 3.0
+ HTML_FIGURE_OFF, // HTML 3.0
+ HTML_FONT_ON, // Netscape
+ HTML_FONT_OFF, // Netscape
+ HTML_FOOTNOTE_ON, // HTML 3.0
+ HTML_FOOTNOTE_OFF, // HTML 3.0
+ HTML_FORM_ON,
+ HTML_FORM_OFF,
+ HTML_FRAME_ON, // Netscape 2.0
+ HTML_FRAME_OFF, // Netscape 2.0
+ HTML_FRAMESET_ON, // Netscape 2.0
+ HTML_FRAMESET_OFF, // Netscape 2.0
+ HTML_HAT_ON, // HTML 3.0
+ HTML_HAT_OFF, // HTML 3.0
+ HTML_HEAD1_ON,
+ HTML_HEAD1_OFF,
+ HTML_HEAD2_ON,
+ HTML_HEAD2_OFF,
+ HTML_HEAD3_ON,
+ HTML_HEAD3_OFF,
+ HTML_HEAD4_ON,
+ HTML_HEAD4_OFF,
+ HTML_HEAD5_ON,
+ HTML_HEAD5_OFF,
+ HTML_HEAD6_ON,
+ HTML_HEAD6_OFF,
+ HTML_HEAD_ON,
+ HTML_HEAD_OFF,
+ HTML_HTML_ON,
+ HTML_HTML_OFF,
+ HTML_IFRAME_ON, // IE 3.0b2
+ HTML_IFRAME_OFF, // IE 3.0b2
+ HTML_ILAYER_ON,
+ HTML_ILAYER_OFF,
+ HTML_INSERTEDTEXT_ON, // HTML 3.0
+ HTML_INSERTEDTEXT_OFF, // HTML 3.0
+ HTML_ITALIC_ON,
+ HTML_ITALIC_OFF,
+ HTML_ITEM_ON, // HTML 3.0
+ HTML_ITEM_OFF, // HTML 3.0
+ HTML_KEYBOARD_ON,
+ HTML_KEYBOARD_OFF,
+ HTML_LAYER_ON,
+ HTML_LAYER_OFF,
+ HTML_LANGUAGE_ON, // HTML 3.0
+ HTML_LANGUAGE_OFF, // HTML 3.0
+ HTML_LISTHEADER_ON, // HTML 3.0
+ HTML_LISTHEADER_OFF, // HTML 3.0
+ HTML_LI_ON,
+ HTML_LI_OFF,
+ HTML_MAP_ON, // Netscape 2.0
+ HTML_MAP_OFF, // Netscape 2.0
+ HTML_MATH_ON, // HTML 3.0
+ HTML_MATH_OFF, // HTML 3.0
+ HTML_MENULIST_ON,
+ HTML_MENULIST_OFF,
+ HTML_MULTICOL_ON, // Netscape 3.0b5
+ HTML_MULTICOL_OFF, // Netscape 3.0b5
+ HTML_NOBR_ON, // Netscape
+ HTML_NOBR_OFF, // Netscape
+ HTML_NOEMBED_ON, // Netscape 2.0
+ HTML_NOEMBED_OFF, // Netscape 2.0
+ HTML_NOFRAMES_ON, // Netscape 2.0
+ HTML_NOFRAMES_OFF, // Netscape 2.0
+ HTML_NOSCRIPT_ON, // Netscape 2.0
+ HTML_NOSCRIPT_OFF, // Netscape 3.0
+ HTML_NOTE_ON, // HTML 3.0
+ HTML_NOTE_OFF, // HTML 3.0
+ HTML_OBJECT_ON, // HotJava
+ HTML_OBJECT_OFF, // HotJava
+ HTML_ORDERLIST_ON,
+ HTML_ORDERLIST_OFF,
+ HTML_PARABREAK_ON,
+ HTML_PARABREAK_OFF,
+ HTML_PERSON_ON, // HTML 3.0
+ HTML_PERSON_OFF, // HTML 3.0
+ HTML_PLAINTEXT_ON, // HTML 3.0
+ HTML_PLAINTEXT_OFF, // HTML 3.0
+ HTML_PREFORMTXT_ON,
+ HTML_PREFORMTXT_OFF,
+ HTML_ROOT_ON, // HTML 3.0
+ HTML_ROOT_OFF, // HTML 3.0
+ HTML_ROW_ON, // HTML 3.0
+ HTML_ROW_OFF, // HTML 3.0
+ HTML_SAMPLE_ON,
+ HTML_SAMPLE_OFF,
+ HTML_SCRIPT_ON, // HTML 3.2
+ HTML_SCRIPT_OFF, // HTML 3.2
+ HTML_SELECT_ON,
+ HTML_SELECT_OFF,
+ HTML_SHORTQUOTE_ON, // HTML 3.0
+ HTML_SHORTQUOTE_OFF, // HTML 3.0
+ HTML_SMALLPRINT_ON, // HTML 3.0
+ HTML_SMALLPRINT_OFF, // HTML 3.0
+ HTML_SPAN_ON, // Style Sheets
+ HTML_SPAN_OFF, // Style Sheets
+ HTML_SQUAREROOT_ON, // HTML 3.0
+ HTML_SQUAREROOT_OFF, // HTML 3.0
+ HTML_STRIKETHROUGH_ON, // HTML 3.0
+ HTML_STRIKETHROUGH_OFF, // HTML 3.0
+ HTML_STRONG_ON,
+ HTML_STRONG_OFF,
+ HTML_STYLE_ON, // HTML 3.0
+ HTML_STYLE_OFF, // HTML 3.0
+ HTML_SUBSCRIPT_ON, // HTML 3.0
+ HTML_SUBSCRIPT_OFF, // HTML 3.0
+ HTML_SUPERSCRIPT_ON, // HTML 3.0
+ HTML_SUPERSCRIPT_OFF, // HTML 3.0
+ HTML_TABLE_ON, // HTML 3.0
+ HTML_TABLE_OFF, // HTML 3.0
+ HTML_TABLEDATA_ON, // HTML 3.0
+ HTML_TABLEDATA_OFF, // HTML 3.0
+ HTML_TABLEHEADER_ON, // HTML 3.0
+ HTML_TABLEHEADER_OFF, // HTML 3.0
+ HTML_TABLEROW_ON, // HTML 3.0
+ HTML_TABLEROW_OFF, // HTML 3.0
+ HTML_TBODY_ON, // HTML3 Table Model Draft
+ HTML_TBODY_OFF, // HTML3 Table Model Draft
+ HTML_TELETYPE_ON,
+ HTML_TELETYPE_OFF,
+ HTML_TEXTAREA_ON,
+ HTML_TEXTAREA_OFF,
+ HTML_TEXTFLOW_ON, // HTML 3.2
+ HTML_TEXTFLOW_OFF, // HTML 3.2
+ HTML_TEXT_ON, // HTML 3.0
+ HTML_TEXT_OFF, // HTML 3.0
+ HTML_TFOOT_ON, // HTML3 Table Model Draft
+ HTML_TFOOT_OFF, // HTML3 Table Model Draft
+ HTML_THEAD_ON, // HTML3 Table Model Draft
+ HTML_THEAD_OFF, // HTML3 Table Model Draft
+ HTML_TILDE_ON, // HTML 3.0
+ HTML_TILDE_OFF, // HTML 3.0
+ HTML_TITLE_ON,
+ HTML_TITLE_OFF,
+ HTML_UNDERLINE_ON,
+ HTML_UNDERLINE_OFF,
+ HTML_UNORDERLIST_ON,
+ HTML_UNORDERLIST_OFF,
+ HTML_VARIABLE_ON,
+ HTML_VARIABLE_OFF,
+ HTML_VECTOR_ON, // HTML 3.0
+ HTML_VECTOR_OFF, // HTML 3.0
+
+ // obsolete features
+ HTML_XMP_ON,
+ HTML_XMP_OFF,
+ HTML_LISTING_ON,
+ HTML_LISTING_OFF,
+
+ // proposed features
+ HTML_DEFINSTANCE_ON,
+ HTML_DEFINSTANCE_OFF,
+ HTML_STRIKE_ON,
+ HTML_STRIKE_OFF,
+
+ HTML_UNKNOWNCONTROL_ON,
+ HTML_UNKNOWNCONTROL_OFF,
+
+ HTML_BGSOUND = HTML_TOKEN_MICROSOFT|HTML_TOKEN_START,
+
+ HTML_COMMENT2_ON = HTML_TOKEN_MICROSOFT|HTML_TOKEN_ONOFF, // HTML 2.0 ?
+ HTML_COMMENT2_OFF, // HTML 2.0 ?
+ HTML_MARQUEE_ON,
+ HTML_MARQUEE_OFF,
+ HTML_PLAINTEXT2_ON, // HTML 2.0 ?
+ HTML_PLAINTEXT2_OFF, // HTML 2.0 ?
+
+ HTML_SDFIELD_ON,
+ HTML_SDFIELD_OFF
+};
+
+// HTML Attribut-Token (=Optionen)
+
+// beginnen immer ab 256, groesser als ein char
+const int HTML_OPTION_START = 0x100;
+
+enum HTML_OPTION_IDS
+{
+HTML_OPTION_BOOL_START = HTML_OPTION_START,
+
+// Attribute ohne Wert
+ HTML_O_BOX = HTML_OPTION_BOOL_START,
+ HTML_O_CHECKED,
+ HTML_O_COMPACT,
+ HTML_O_CONTINUE,
+ HTML_O_CONTROLS, // IExplorer 2.0
+ HTML_O_DECLARE, // IExplorer 3.0b5
+ HTML_O_DISABLED,
+ HTML_O_FOLDED, // Netscape internal
+ HTML_O_ISMAP,
+ HTML_O_MAYSCRIPT, // Netcape 3.0
+ HTML_O_MULTIPLE,
+ HTML_O_NOFLOW,
+ HTML_O_NOHREF, // Netscape
+ HTML_O_NORESIZE, // Netscape 2.0
+ HTML_O_NOSHADE, // Netscape
+ HTML_O_NOWRAP,
+ HTML_O_PLAIN,
+ HTML_O_SDFIXED,
+ HTML_O_SELECTED,
+ HTML_O_SHAPES, // IExplorer 3.0b5
+HTML_OPTION_BOOL_END,
+
+// Attribute mit einem String als Wert
+HTML_OPTION_STRING_START = HTML_OPTION_BOOL_END,
+ HTML_O_ABOVE = HTML_OPTION_STRING_START,
+ HTML_O_ACCEPT,
+ HTML_O_ACCESSKEY,
+ HTML_O_ADD_DATE, // Netscape internal
+ HTML_O_ALT,
+ HTML_O_AXES,
+ HTML_O_AXIS,
+ HTML_O_BELOW,
+ HTML_O_CHAR, // HTML3 Table Model Draft
+ HTML_O_CLASS,
+ HTML_O_CLIP,
+ HTML_O_CODE, // HotJava
+ HTML_O_CODETYPE,
+ HTML_O_COLSPEC,
+ HTML_O_CONTENT,
+ HTML_O_COORDS, // Netscape 2.0
+ HTML_O_DP,
+ HTML_O_ENCTYPE,
+ HTML_O_ERROR,
+ HTML_O_FACE, // IExplorer 2.0
+ HTML_O_FRAMEBORDER, // IExplorer 3.0
+ HTML_O_HTTPEQUIV,
+ HTML_O_LANGUAGE, // JavaScript
+ HTML_O_LAST_MODIFIED, // Netscape internal
+ HTML_O_LAST_VISIT, // Netscape internal
+ HTML_O_MD,
+ HTML_O_N,
+ HTML_O_NAME,
+ HTML_O_NOTATION,
+ HTML_O_PROMPT,
+ HTML_O_SHAPE,
+ HTML_O_STANDBY,
+ HTML_O_STYLE, // Style Sheets
+ HTML_O_TITLE,
+ HTML_O_VALUE,
+ HTML_O_SDVAL, // StarDiv NumberValue
+ HTML_O_SDNUM, // StarDiv NumberFormat
+ HTML_O_SDLIBRARY,
+ HTML_O_SDMODULE,
+HTML_OPTION_STRING_END,
+
+// Attribute mit einem SGML-Identifier als Wert
+HTML_OPTION_SGMLID_START = HTML_OPTION_STRING_END,
+ HTML_O_FROM = HTML_OPTION_SGMLID_START,
+ HTML_O_ID,
+ HTML_O_TARGET, // Netscape 2.0
+ HTML_O_TO,
+ HTML_O_UNTIL,
+HTML_OPTION_SGMLID_END,
+
+// Attribute mit einem URI als Wert
+HTML_OPTION_URI_START = HTML_OPTION_SGMLID_END,
+ HTML_O_ACTION = HTML_OPTION_URI_START,
+ HTML_O_ARCHIVE,
+ HTML_O_BACKGROUND,
+ HTML_O_CLASSID,
+ HTML_O_CODEBASE, // HotJava
+ HTML_O_DATA,
+ HTML_O_DYNSRC, // IExplorer 3.0
+ HTML_O_DYNSYNC, // IExplorer 2.0
+ HTML_O_IMAGEMAP,
+ HTML_O_HREF,
+ HTML_O_LOWSRC, // Netscape 3.0
+ HTML_O_SCRIPT,
+ HTML_O_SRC,
+ HTML_O_USEMAP, // Netscape 2.0
+HTML_OPTION_URI_END,
+
+// Attribute mit Entity-Namen als Wert
+HTML_OPTION_ENTITY_START = HTML_OPTION_URI_END,
+ HTML_O_DINGBAT = HTML_OPTION_ENTITY_START,
+ HTML_O_SYM,
+HTML_OPTION_ENTITY_END,
+
+// Attribute mit einer Farbe als Wert (alle Netscape)
+HTML_OPTION_COLOR_START = HTML_OPTION_ENTITY_END,
+ HTML_O_ALINK = HTML_OPTION_COLOR_START,
+ HTML_O_BGCOLOR,
+ HTML_O_BORDERCOLOR, // IExplorer 2.0
+ HTML_O_BORDERCOLORLIGHT, // IExplorer 2.0
+ HTML_O_BORDERCOLORDARK, // IExplorer 2.0
+ HTML_O_COLOR,
+ HTML_O_LINK,
+ HTML_O_TEXT,
+ HTML_O_VLINK,
+HTML_OPTION_COLOR_END,
+
+// Attribute mit einem numerischen Wert
+HTML_OPTION_NUMBER_START = HTML_OPTION_COLOR_END,
+ HTML_O_BORDER = HTML_OPTION_NUMBER_START,
+ HTML_O_CELLSPACING, // HTML3 Table Model Draft
+ HTML_O_CELLPADDING, // HTML3 Table Model Draft
+ HTML_O_CHAROFF, // HTML3 Table Model Draft
+ HTML_O_COLSPAN,
+ HTML_O_FRAMESPACING, // IExplorer 3.0
+ HTML_O_GUTTER, // Netscape 3.0b5
+ HTML_O_INDENT,
+ HTML_O_HEIGHT,
+ HTML_O_HSPACE, // Netscape
+ HTML_O_LEFT,
+ HTML_O_LEFTMARGIN, // IExplorer 2.0
+ HTML_O_LOOP, // IExplorer 2.0
+ HTML_O_MARGINWIDTH, // Netscape 2.0
+ HTML_O_MARGINHEIGHT, // Netscape 2.0
+ HTML_O_MAX,
+ HTML_O_MAXLENGTH,
+ HTML_O_MIN,
+ HTML_O_PAGEX,
+ HTML_O_PAGEY,
+ HTML_O_POINTSIZE,
+ HTML_O_ROWSPAN,
+ HTML_O_SCROLLAMOUNT, // IExplorer 2.0
+ HTML_O_SCROLLDELAY, // IExplorer 2.0
+ HTML_O_SEQNUM,
+ HTML_O_SKIP,
+ HTML_O_SPAN, // HTML3 Table Model Draft
+ HTML_O_TABINDEX,
+ HTML_O_TOP,
+ HTML_O_TOPMARGIN, // IExplorer 2.0
+ HTML_O_VSPACE, // Netscape
+ HTML_O_WEIGHT,
+ HTML_O_WIDTH,
+ HTML_O_X,
+ HTML_O_Y,
+ HTML_O_ZINDEX,
+HTML_OPTION_NUMBER_END,
+
+// Attribute mit Enum-Werten
+HTML_OPTION_ENUM_START = HTML_OPTION_NUMBER_END,
+ HTML_O_BEHAVIOR = HTML_OPTION_ENUM_START, // IExplorer 2.0
+ HTML_O_BGPROPERTIES, // IExplorer 2.0
+ HTML_O_CLEAR,
+ HTML_O_DIR,
+ HTML_O_DIRECTION, // IExplorer 2.0
+ HTML_O_FORMAT,
+ HTML_O_FRAME, // HTML3 Table Model Draft
+ HTML_O_LANG,
+ HTML_O_METHOD,
+ HTML_O_PALETTE,
+ HTML_O_REL,
+ HTML_O_REV,
+ HTML_O_RULES, // HTML3 Table Model Draft
+ HTML_O_SCROLLING, // Netscape 2.0
+ HTML_O_SDREADONLY,
+ HTML_O_SUBTYPE,
+ HTML_O_TYPE,
+ HTML_O_VALIGN,
+ HTML_O_VALUETYPE,
+ HTML_O_VISIBILITY,
+ HTML_O_WRAP,
+HTML_OPTION_ENUM_END,
+
+// Attribute mit Script-Code als Wert
+HTML_OPTION_SCRIPT_START = HTML_OPTION_ENUM_END,
+ HTML_O_ONABORT = HTML_OPTION_SCRIPT_START, // JavaScaript
+ HTML_O_ONBLUR, // JavaScript
+ HTML_O_ONCHANGE, // JavaScript
+ HTML_O_ONCLICK, // JavaScript
+ HTML_O_ONERROR, // JavaScript
+ HTML_O_ONFOCUS, // JavaScript
+ HTML_O_ONLOAD, // JavaScript
+ HTML_O_ONMOUSEOUT, // JavaScript
+ HTML_O_ONMOUSEOVER, // JavaScript
+ HTML_O_ONRESET, // JavaScript
+ HTML_O_ONSELECT, // JavaScript
+ HTML_O_ONSUBMIT, // JavaScript
+ HTML_O_ONUNLOAD, // JavaScript
+
+ HTML_O_SDONABORT, // StarBasic
+ HTML_O_SDONBLUR, // StarBasic
+ HTML_O_SDONCHANGE, // StarBasic
+ HTML_O_SDONCLICK, // StarBasic
+ HTML_O_SDONERROR, // StarBasic
+ HTML_O_SDONFOCUS, // StarBasic
+ HTML_O_SDONLOAD, // StarBasic
+ HTML_O_SDONMOUSEOUT, // StarBasic
+ HTML_O_SDONMOUSEOVER, // StarBasic
+ HTML_O_SDONRESET, // StarBasic
+ HTML_O_SDONSELECT, // StarBasic
+ HTML_O_SDONSUBMIT, // StarBasic
+ HTML_O_SDONUNLOAD, // StarBasic
+HTML_OPTION_SCRIPT_END,
+
+// Attribute mit Kontext-abhaengigen Werten
+HTML_OPTION_CONTEXT_START = HTML_OPTION_SCRIPT_END,
+ HTML_O_ALIGN = HTML_OPTION_CONTEXT_START,
+ HTML_O_COLS, // Netscape 2.0 vs HTML 2.0
+ HTML_O_ROWS, // Netscape 2.0 vs HTML 2.0
+ HTML_O_SIZE,
+ HTML_O_START,
+ HTML_O_UNITS,
+HTML_OPTION_CONTEXT_END,
+
+// eine unbekannte Option
+HTML_O_UNKNOWN = HTML_OPTION_CONTEXT_END,
+HTML_OPTION_END
+};
+
+#endif // _HTMLTOKN_H
diff --git a/svtools/inc/svtools/imagemgr.hrc b/svtools/inc/svtools/imagemgr.hrc
new file mode 100644
index 000000000000..19cc2942d6f4
--- /dev/null
+++ b/svtools/inc/svtools/imagemgr.hrc
@@ -0,0 +1,190 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVTOOLS_IMAGEMGR_HRC
+#define _SVTOOLS_IMAGEMGR_HRC
+
+// includes ******************************************************************
+
+#define IMAGELIST_START 3076 // must match to old Id's in SFX!
+
+#define IMG_IMPRESS (IMAGELIST_START + 47)
+#define IMG_WORKPLACE (IMAGELIST_START + 48)
+#define IMG_BITMAP (IMAGELIST_START + 49)
+#define IMG_CALC (IMAGELIST_START + 50)
+#define IMG_CALCTEMPLATE (IMAGELIST_START + 51)
+#define IMG_CHART (IMAGELIST_START + 52)
+#define IMG_DATABASE (IMAGELIST_START + 53)
+#define IMG_IMPRESSTEMPLATE (IMAGELIST_START + 54)
+#define IMG_EXCEL (IMAGELIST_START + 55)
+#define IMG_EXCELTEMPLATE (IMAGELIST_START + 56)
+#define IMG_FTPSERVER (IMAGELIST_START + 58)
+#define IMG_GALLERY (IMAGELIST_START + 59)
+#define IMG_GALLERYTHEME (IMAGELIST_START + 60)
+#define IMG_GIF (IMAGELIST_START + 61)
+#define IMG_HELP (IMAGELIST_START + 62)
+#define IMG_HTML (IMAGELIST_START + 63)
+#define IMG_JPG (IMAGELIST_START + 64)
+#define IMG_LINK (IMAGELIST_START + 65)
+#define IMG_LOTUS (IMAGELIST_START + 66)
+#define IMG_MATH (IMAGELIST_START + 68)
+#define IMG_MATHTEMPLATE (IMAGELIST_START + 69)
+#define IMG_FILE (IMAGELIST_START + 74)
+#define IMG_APP (IMAGELIST_START + 75)
+#define IMG_PCD (IMAGELIST_START + 76)
+#define IMG_PCT (IMAGELIST_START + 77)
+#define IMG_PCX (IMAGELIST_START + 78)
+#define IMG_SIM (IMAGELIST_START + 79)
+#define IMG_TEXTFILE (IMAGELIST_START + 80)
+#define IMG_SVHELP (IMAGELIST_START + 81)
+#define IMG_TIFF (IMAGELIST_START + 82)
+#define IMG_URL (IMAGELIST_START + 83)
+#define IMG_WMF (IMAGELIST_START + 84)
+#define IMG_WORD (IMAGELIST_START + 85)
+#define IMG_WRITER (IMAGELIST_START + 86)
+#define IMG_WRITERTEMPLATE (IMAGELIST_START + 87)
+#define IMG_FIXEDDEV (IMAGELIST_START + 88)
+#define IMG_REMOVEABLEDEV (IMAGELIST_START + 89)
+#define IMG_CDROMDEV (IMAGELIST_START + 90)
+#define IMG_NETWORKDEV (IMAGELIST_START + 91)
+#define IMG_RAMDEV (IMAGELIST_START + 92)
+#define IMG_TABLEFOLDER (IMAGELIST_START + 111)
+#define IMG_TABLE (IMAGELIST_START + 112)
+#define IMG_FOLDER (IMAGELIST_START + 113)
+#define IMG_EXPANDEDFOLDER (IMAGELIST_START + 114)
+#define IMG_XXX (IMAGELIST_START + 117)
+#define IMG_GALLERYIMPORT (IMAGELIST_START + 122)
+#define IMG_QUERYFOLDER (IMAGELIST_START + 125)
+#define IMG_QUERY (IMAGELIST_START + 126)
+#define IMG_FORM (IMAGELIST_START + 127)
+#define IMG_FORMFOLDER (IMAGELIST_START + 128)
+#define IMG_REPORT (IMAGELIST_START + 129)
+#define IMG_REPORTFOLDER (IMAGELIST_START + 130)
+#define IMG_OTHERS (IMAGELIST_START + 138)
+#define IMG_MACROLIB (IMAGELIST_START + 140)
+#define IMG_DXF (IMAGELIST_START + 141)
+#define IMG_MET (IMAGELIST_START + 142)
+#define IMG_PNG (IMAGELIST_START + 143)
+#define IMG_SGF (IMAGELIST_START + 144)
+#define IMG_SGV (IMAGELIST_START + 145)
+#define IMG_SVM (IMAGELIST_START + 146)
+#define IMG_GLOBAL_DOC (IMAGELIST_START + 150)
+#define IMG_DRAW (IMAGELIST_START + 151)
+#define IMG_DRAWTEMPLATE (IMAGELIST_START + 152)
+#define IMG_TASK (IMAGELIST_START + 160)
+#define IMG_APPOINTMENT (IMAGELIST_START + 161)
+#define IMG_RELATION (IMAGELIST_START + 163)
+#define IMG_IMPRESSPACKED (IMAGELIST_START + 165)
+#define IMG_NEWFROMTEMPLATE (IMAGELIST_START + 166)
+#define IMG_POWERPOINT (IMAGELIST_START + 167)
+#define IMG_POWERPOINTTEMPLATE (IMAGELIST_START + 168)
+#define IMG_OO_DATABASE_DOC (IMAGELIST_START + 169)
+#define IMG_OO_DRAW_DOC (IMAGELIST_START + 170)
+#define IMG_OO_MATH_DOC (IMAGELIST_START + 171)
+#define IMG_OO_GLOBAL_DOC (IMAGELIST_START + 172)
+#define IMG_OO_IMPRESS_DOC (IMAGELIST_START + 173)
+#define IMG_OO_CALC_DOC (IMAGELIST_START + 174)
+#define IMG_OO_WRITER_DOC (IMAGELIST_START + 175)
+#define IMG_OO_DRAW_TEMPLATE (IMAGELIST_START + 176)
+#define IMG_OO_IMPRESS_TEMPLATE (IMAGELIST_START + 177)
+#define IMG_OO_CALC_TEMPLATE (IMAGELIST_START + 178)
+#define IMG_OO_WRITER_TEMPLATE (IMAGELIST_START + 179)
+#define IMG_EXTENSION (IMAGELIST_START + 180)
+
+#define RID_DESCRIPTION_START 256
+
+#define STR_DESCRIPTION_SOURCEFILE (RID_DESCRIPTION_START + 0)
+#define STR_DESCRIPTION_BOOKMARKFILE (RID_DESCRIPTION_START + 1)
+#define STR_DESCRIPTION_GRAPHIC_DOC (RID_DESCRIPTION_START + 2)
+#define STR_DESCRIPTION_CFGFILE (RID_DESCRIPTION_START + 3)
+#define STR_DESCRIPTION_APPLICATION (RID_DESCRIPTION_START + 4)
+#define STR_DESCRIPTION_DATABASE_TABLE (RID_DESCRIPTION_START + 5)
+#define STR_DESCRIPTION_SYSFILE (RID_DESCRIPTION_START + 6)
+#define STR_DESCRIPTION_WORD_DOC (RID_DESCRIPTION_START + 7)
+#define STR_DESCRIPTION_HELP_DOC (RID_DESCRIPTION_START + 8)
+#define STR_DESCRIPTION_HTMLFILE (RID_DESCRIPTION_START + 9)
+#define STR_DESCRIPTION_ARCHIVFILE (RID_DESCRIPTION_START + 10)
+#define STR_DESCRIPTION_LOGFILE (RID_DESCRIPTION_START + 11)
+#define STR_DESCRIPTION_SMATH_DOC (RID_DESCRIPTION_START + 12)
+#define STR_DESCRIPTION_SCHART_DOC (RID_DESCRIPTION_START + 13)
+#define STR_DESCRIPTION_SDRAW_DOC (RID_DESCRIPTION_START + 14)
+#define STR_DESCRIPTION_SCALC_DOC (RID_DESCRIPTION_START + 15)
+#define STR_DESCRIPTION_SIMPRESS_DOC (RID_DESCRIPTION_START + 16)
+#define STR_DESCRIPTION_SWRITER_DOC (RID_DESCRIPTION_START + 17)
+#define STR_DESCRIPTION_GLOBALDOC (RID_DESCRIPTION_START + 18)
+#define STR_DESCRIPTION_SIMAGE_DOC (RID_DESCRIPTION_START + 19)
+#define STR_DESCRIPTION_TEXTFILE (RID_DESCRIPTION_START + 20)
+#define STR_DESCRIPTION_LINK (RID_DESCRIPTION_START + 21)
+#define STR_DESCRIPTION_SOFFICE_TEMPLATE_DOC (RID_DESCRIPTION_START + 22)
+#define STR_DESCRIPTION_EXCEL_DOC (RID_DESCRIPTION_START + 23)
+#define STR_DESCRIPTION_EXCEL_TEMPLATE_DOC (RID_DESCRIPTION_START + 24)
+#define STR_DESCRIPTION_BATCHFILE (RID_DESCRIPTION_START + 25)
+#define STR_DESCRIPTION_FILE (RID_DESCRIPTION_START + 26)
+#define STR_DESCRIPTION_FOLDER (RID_DESCRIPTION_START + 27)
+#define STR_DESCRIPTION_FACTORY_WRITER (RID_DESCRIPTION_START + 28)
+#define STR_DESCRIPTION_FACTORY_CALC (RID_DESCRIPTION_START + 29)
+#define STR_DESCRIPTION_FACTORY_IMPRESS (RID_DESCRIPTION_START + 30)
+#define STR_DESCRIPTION_FACTORY_DRAW (RID_DESCRIPTION_START + 31)
+#define STR_DESCRIPTION_FACTORY_WRITERWEB (RID_DESCRIPTION_START + 32)
+#define STR_DESCRIPTION_FACTORY_GLOBALDOC (RID_DESCRIPTION_START + 33)
+#define STR_DESCRIPTION_FACTORY_MATH (RID_DESCRIPTION_START + 34)
+#define STR_DESCRIPTION_CALC_TEMPLATE (RID_DESCRIPTION_START + 35)
+#define STR_DESCRIPTION_DRAW_TEMPLATE (RID_DESCRIPTION_START + 36)
+#define STR_DESCRIPTION_IMPRESS_TEMPLATE (RID_DESCRIPTION_START + 37)
+#define STR_DESCRIPTION_WRITER_TEMPLATE (RID_DESCRIPTION_START + 38)
+#define STR_DESCRIPTION_LOCALE_VOLUME (RID_DESCRIPTION_START + 39)
+#define STR_DESCRIPTION_FLOPPY_VOLUME (RID_DESCRIPTION_START + 40)
+#define STR_DESCRIPTION_CDROM_VOLUME (RID_DESCRIPTION_START + 41)
+#define STR_DESCRIPTION_REMOTE_VOLUME (RID_DESCRIPTION_START + 42)
+#define STR_DESCRIPTION_POWERPOINT (RID_DESCRIPTION_START + 43)
+#define STR_DESCRIPTION_POWERPOINT_TEMPLATE (RID_DESCRIPTION_START + 44)
+#define STR_DESCRIPTION_POWERPOINT_SHOW (RID_DESCRIPTION_START + 45)
+#define STR_DESCRIPTION_SXMATH_DOC (RID_DESCRIPTION_START + 46)
+#define STR_DESCRIPTION_SXCHART_DOC (RID_DESCRIPTION_START + 47)
+#define STR_DESCRIPTION_SXDRAW_DOC (RID_DESCRIPTION_START + 48)
+#define STR_DESCRIPTION_SXCALC_DOC (RID_DESCRIPTION_START + 49)
+#define STR_DESCRIPTION_SXIMPRESS_DOC (RID_DESCRIPTION_START + 50)
+#define STR_DESCRIPTION_SXWRITER_DOC (RID_DESCRIPTION_START + 51)
+#define STR_DESCRIPTION_SXGLOBAL_DOC (RID_DESCRIPTION_START + 52)
+#define STR_DESCRIPTION_MATHML_DOC (RID_DESCRIPTION_START + 53)
+#define STR_DESCRIPTION_SDATABASE_DOC (RID_DESCRIPTION_START + 54)
+#define STR_DESCRIPTION_OO_DATABASE_DOC (RID_DESCRIPTION_START + 55)
+#define STR_DESCRIPTION_OO_DRAW_DOC (RID_DESCRIPTION_START + 56)
+#define STR_DESCRIPTION_OO_MATH_DOC (RID_DESCRIPTION_START + 57)
+#define STR_DESCRIPTION_OO_GLOBAL_DOC (RID_DESCRIPTION_START + 58)
+#define STR_DESCRIPTION_OO_IMPRESS_DOC (RID_DESCRIPTION_START + 59)
+#define STR_DESCRIPTION_OO_CALC_DOC (RID_DESCRIPTION_START + 60)
+#define STR_DESCRIPTION_OO_WRITER_DOC (RID_DESCRIPTION_START + 61)
+#define STR_DESCRIPTION_OO_DRAW_TEMPLATE (RID_DESCRIPTION_START + 62)
+#define STR_DESCRIPTION_OO_IMPRESS_TEMPLATE (RID_DESCRIPTION_START + 63)
+#define STR_DESCRIPTION_OO_CALC_TEMPLATE (RID_DESCRIPTION_START + 64)
+#define STR_DESCRIPTION_OO_WRITER_TEMPLATE (RID_DESCRIPTION_START + 65)
+#define STR_DESCRIPTION_FACTORY_DATABASE (RID_DESCRIPTION_START + 66)
+#define STR_DESCRIPTION_EXTENSION (RID_DESCRIPTION_START + 67)
+
+#endif
+
diff --git a/svtools/inc/svtools/imagemgr.hxx b/svtools/inc/svtools/imagemgr.hxx
new file mode 100644
index 000000000000..efd15c5f4cde
--- /dev/null
+++ b/svtools/inc/svtools/imagemgr.hxx
@@ -0,0 +1,95 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVTOOLS_IMAGEMGR_HXX
+#define _SVTOOLS_IMAGEMGR_HXX
+
+// includes ******************************************************************
+
+#include "svtools/svtdllapi.h"
+#include "sal/types.h"
+
+class Image;
+class String;
+class INetURLObject;
+
+namespace svtools {
+
+struct VolumeInfo
+{
+ sal_Bool m_bIsVolume;
+ sal_Bool m_bIsRemote;
+ sal_Bool m_bIsRemoveable;
+ sal_Bool m_bIsFloppy;
+ sal_Bool m_bIsCompactDisc;
+
+ VolumeInfo() :
+ m_bIsVolume ( sal_False ),
+ m_bIsRemote ( sal_False ),
+ m_bIsRemoveable ( sal_False ),
+ m_bIsFloppy ( sal_False ),
+ m_bIsCompactDisc( sal_False ) {}
+
+ VolumeInfo( sal_Bool _bIsVolume,
+ sal_Bool _bIsRemote,
+ sal_Bool _bIsRemoveable,
+ sal_Bool _bIsFloppy,
+ sal_Bool _bIsCompactDisc ) :
+ m_bIsVolume ( _bIsVolume ),
+ m_bIsRemote ( _bIsRemote ),
+ m_bIsRemoveable ( _bIsRemoveable ),
+ m_bIsFloppy ( _bIsFloppy ),
+ m_bIsCompactDisc( _bIsCompactDisc ) {}
+};
+
+}
+
+class SvFileInformationManager
+{
+private:
+ SVT_DLLPRIVATE static String GetDescription_Impl( const INetURLObject& rObject, sal_Bool bDetectFolder );
+
+public:
+ // depricated, because no high contrast mode
+ SVT_DLLPUBLIC static Image GetImage( const INetURLObject& rURL, sal_Bool bBig = sal_False );
+ static Image GetFileImage( const INetURLObject& rURL, sal_Bool bBig = sal_False );
+ static Image GetImageNoDefault( const INetURLObject& rURL, sal_Bool bBig = sal_False );
+ SVT_DLLPUBLIC static Image GetFolderImage( const svtools::VolumeInfo& rInfo, sal_Bool bBig = sal_False );
+
+ // now with high contrast mode
+ SVT_DLLPUBLIC static Image GetImage( const INetURLObject& rURL, sal_Bool bBig, sal_Bool bHighContrast );
+ SVT_DLLPUBLIC static Image GetFileImage( const INetURLObject& rURL, sal_Bool bBig, sal_Bool bHighContrast );
+ SVT_DLLPUBLIC static Image GetImageNoDefault( const INetURLObject& rURL, sal_Bool bBig, sal_Bool bHighContrast );
+ SVT_DLLPUBLIC static Image GetFolderImage( const svtools::VolumeInfo& rInfo, sal_Bool bBig, sal_Bool bHighContrast );
+
+ SVT_DLLPUBLIC static String GetDescription( const INetURLObject& rObject );
+ SVT_DLLPUBLIC static String GetFileDescription( const INetURLObject& rObject );
+ SVT_DLLPUBLIC static String GetFolderDescription( const svtools::VolumeInfo& rInfo );
+};
+
+#endif
+
diff --git a/svtools/inc/svtools/imageresourceaccess.hxx b/svtools/inc/svtools/imageresourceaccess.hxx
new file mode 100644
index 000000000000..d77b1c97a512
--- /dev/null
+++ b/svtools/inc/svtools/imageresourceaccess.hxx
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef SVTOOLS_INC_IMAGERESOURCEACCESS_HXX
+#define SVTOOLS_INC_IMAGERESOURCEACCESS_HXX
+
+#include "svtools/svtdllapi.h"
+
+/** === begin UNO includes === **/
+#include <com/sun/star/io/XInputStream.hpp>
+#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+/** === end UNO includes === **/
+
+class SvStream;
+//........................................................................
+namespace svt
+{
+//........................................................................
+
+ //====================================================================
+ //= GraphicAccess
+ //====================================================================
+ /** helper class for obtaining streams (which also can be used with the ImageProducer)
+ from a resource
+ */
+ class GraphicAccess
+ {
+ private:
+ GraphicAccess(); // never implemented
+
+ public:
+ /** determines whether the given URL denotes an image within a resource
+ ( or an image specified by a vnd.sun.star.GraphicObject scheme URL )
+ */
+ SVT_DLLPUBLIC static bool isSupportedURL( const ::rtl::OUString& _rURL );
+
+ /** for a given URL of an image within a resource ( or an image specified by a vnd.sun.star.GraphicObject scheme URL ), this method retrieves
+ an SvStream for this image.
+
+ This method works for arbitrary URLs denoting an image, since the
+ <type scope="com::sun::star::graphics">GraphicsProvider</type> service is used
+ to resolve the URL. However, obtaining the stream is expensive (since
+ the image must be copied), so you are strongly encouraged to only use it
+ when you know that the image is small enough.
+ */
+ SVT_DLLPUBLIC static SvStream* getImageStream(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxORB,
+ const ::rtl::OUString& _rImageResourceURL
+ );
+
+ /** for a given URL of an image within a resource ( or an image specified by a vnd.sun.star.GraphicObject scheme URL ), this method retrieves
+ an <type scope="com::sun::star::io">XInputStream</type> for this image.
+ */
+ SVT_DLLPUBLIC static ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >
+ getImageXStream(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxORB,
+ const ::rtl::OUString& _rImageResourceURL
+ );
+ };
+
+//........................................................................
+} // namespace svt
+//........................................................................
+
+#endif // DBA14_SVTOOLS_INC_IMAGERESOURCEACCESS_HXX
+
diff --git a/svtools/inc/svtools/imgdef.hxx b/svtools/inc/svtools/imgdef.hxx
new file mode 100644
index 000000000000..7cdcec0fd642
--- /dev/null
+++ b/svtools/inc/svtools/imgdef.hxx
@@ -0,0 +1,43 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVTOOLS_IMGDEF_HXX
+#define _SVTOOLS_IMGDEF_HXX
+
+enum SfxSymbolsSize
+{
+ SFX_SYMBOLS_SIZE_SMALL,
+ SFX_SYMBOLS_SIZE_LARGE,
+ SFX_SYMBOLS_SIZE_AUTO
+};
+
+#define SFX_TOOLBOX_CHANGESYMBOLSET 0x0001
+#define SFX_TOOLBOX_CHANGEOUTSTYLE 0x0002
+#define SFX_TOOLBOX_CHANGEBUTTONTYPE 0x0004
+
+#endif // _SVTOOLS_IMGDEF_HXX
+
diff --git a/svtools/inc/svtools/indexentryres.hxx b/svtools/inc/svtools/indexentryres.hxx
new file mode 100644
index 000000000000..f2c73000ed67
--- /dev/null
+++ b/svtools/inc/svtools/indexentryres.hxx
@@ -0,0 +1,23 @@
+
+#ifndef SVTOOLS_INDEXENTRYRESSOURCE_HXX
+#define SVTOOLS_INDEXENTRYRESSOURCE_HXX
+
+#include "svtools/svtdllapi.h"
+#include <tools/string.hxx>
+
+class IndexEntryRessourceData;
+
+class SVT_DLLPUBLIC IndexEntryRessource
+{
+ private:
+ IndexEntryRessourceData *mp_Data;
+
+ public:
+ IndexEntryRessource ();
+ ~IndexEntryRessource ();
+ const String& GetTranslation (const String& r_Algorithm);
+};
+
+#endif /* SVTOOLS_INDEXENTRYRESSOURCE_HXX */
+
+
diff --git a/svtools/inc/svtools/inetimg.hxx b/svtools/inc/svtools/inetimg.hxx
new file mode 100644
index 000000000000..924bbad831d6
--- /dev/null
+++ b/svtools/inc/svtools/inetimg.hxx
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _INETIMG_HXX
+#define _INETIMG_HXX
+
+#include <tools/string.hxx>
+#include <tools/gen.hxx>
+
+class SvData;
+class SotDataObject;
+class SotDataMemberObject;
+
+//=========================================================================
+
+class INetImage
+{
+ String aImageURL;
+ String aTargetURL;
+ String aTargetFrame;
+ String aAlternateText;
+ Size aSizePixel;
+
+protected:
+ String CopyExchange() const;
+ void PasteExchange( const String& rString );
+
+ void SetImageURL( const String& rS ) { aImageURL = rS; }
+ void SetTargetURL( const String& rS ) { aTargetURL = rS; }
+ void SetTargetFrame( const String& rS ) { aTargetFrame = rS; }
+ void SetAlternateText( const String& rS ){ aAlternateText = rS; }
+ void SetSizePixel( const Size& rSize ) { aSizePixel = rSize; }
+
+public:
+ INetImage(
+ const String& rImageURL,
+ const String& rTargetURL,
+ const String& rTargetFrame,
+ const String& rAlternateText,
+ const Size& rSizePixel )
+ : aImageURL( rImageURL ),
+ aTargetURL( rTargetURL ),
+ aTargetFrame( rTargetFrame ),
+ aAlternateText( rAlternateText ),
+ aSizePixel( rSizePixel )
+ {}
+ INetImage()
+ {}
+
+ const String& GetImageURL() const { return aImageURL; }
+ const String& GetTargetURL() const { return aTargetURL; }
+ const String& GetTargetFrame() const { return aTargetFrame; }
+ const String& GetAlternateText() const { return aAlternateText; }
+ const Size& GetSizePixel() const { return aSizePixel; }
+
+ // Im-/Export
+ sal_Bool Write( SvStream& rOStm, ULONG nFormat ) const;
+ sal_Bool Read( SvStream& rIStm, ULONG nFormat );
+};
+
+#endif // #ifndef _INETIMG_HXX
+
+
diff --git a/svtools/inc/svtools/itemdel.hxx b/svtools/inc/svtools/itemdel.hxx
new file mode 100644
index 000000000000..51af97730079
--- /dev/null
+++ b/svtools/inc/svtools/itemdel.hxx
@@ -0,0 +1,39 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVTOOLS_ITEMDEL_HXX
+#define _SVTOOLS_ITEMDEL_HXX
+
+#include "svtools/svtdllapi.h"
+
+class SfxPoolItem;
+
+SVT_DLLPUBLIC SfxPoolItem* DeleteItemOnIdle( SfxPoolItem* pItem );
+
+void DeleteOnIdleItems();
+
+#endif
+
diff --git a/svtools/inc/svtools/ivctrl.hxx b/svtools/inc/svtools/ivctrl.hxx
new file mode 100644
index 000000000000..5bea4675b62e
--- /dev/null
+++ b/svtools/inc/svtools/ivctrl.hxx
@@ -0,0 +1,390 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _ICNVW_HXX
+#define _ICNVW_HXX
+
+#include "svtools/svtdllapi.h"
+#include <tools/string.hxx>
+#include <vcl/ctrl.hxx>
+#include <tools/link.hxx>
+#include <vcl/image.hxx>
+#include <vcl/seleng.hxx>
+
+class SvPtrarr;
+class ResId;
+class Point;
+class SvxIconChoiceCtrl_Impl;
+class Image;
+
+#define ICNVIEW_FLAG_POS_LOCKED 0x0001
+#define ICNVIEW_FLAG_SELECTED 0x0002
+#define ICNVIEW_FLAG_FOCUSED 0x0004
+#define ICNVIEW_FLAG_IN_USE 0x0008
+#define ICNVIEW_FLAG_CURSORED 0x0010 // Rahmen um Image
+#define ICNVIEW_FLAG_POS_MOVED 0x0020 // per D&D verschoben aber nicht gelockt
+#define ICNVIEW_FLAG_DROP_TARGET 0x0040 // im QueryDrop gesetzt
+#define ICNVIEW_FLAG_BLOCK_EMPHASIS 0x0080 // Emphasis nicht painten
+#define ICNVIEW_FLAG_USER1 0x0100
+#define ICNVIEW_FLAG_USER2 0x0200
+#define ICNVIEW_FLAG_PRED_SET 0x0400 // Predecessor wurde umgesetzt
+
+enum SvxIconChoiceCtrlTextMode
+{
+ IcnShowTextFull = 1, // BoundRect nach unten aufplustern
+ IcnShowTextShort, // Abkuerzung mit "..."
+ IcnShowTextSmart, // Text komplett anzeigen, wenn moeglich (n.i.)
+ IcnShowTextDontKnow // Einstellung der View
+};
+
+enum SvxIconChoiceCtrlPositionMode
+{
+ IcnViewPositionModeFree = 0, // freies pixelgenaues Positionieren
+ IcnViewPositionModeAutoArrange = 1, // automatisches Ausrichten
+ IcnViewPositionModeAutoAdjust = 2, // automatisches Anordnen
+ IcnViewPositionModeLast = IcnViewPositionModeAutoAdjust
+};
+
+class SvxIconChoiceCtrlEntry
+{
+ Image aImage;
+ Image aImageHC;
+
+ String aText;
+ String aQuickHelpText;
+ void* pUserData;
+
+ friend class SvxIconChoiceCtrl_Impl;
+ friend class IcnCursor_Impl;
+ friend class EntryList_Impl;
+ friend class IcnGridMap_Impl;
+
+ Rectangle aRect; // Bounding-Rect des Entries
+ Rectangle aGridRect; // nur gesetzt im Grid-Modus
+ ULONG nPos;
+
+ // die Eintragsposition in der Eintragsliste entspricht der beim Insert vorgegebenen
+ // [Sortier-]Reihenfolge (->Reihenfolge der Anker in der Ankerliste!). Im AutoArrange-Modus
+ // kann die sichtbare Reihenfolge aber anders sein. Die Eintraege werden deshalb dann
+ // verkettet
+ SvxIconChoiceCtrlEntry* pblink; // backward (linker Nachbar)
+ SvxIconChoiceCtrlEntry* pflink; // forward (rechter Nachbar)
+
+ SvxIconChoiceCtrlTextMode eTextMode;
+ USHORT nX,nY; // fuer Tastatursteuerung
+ USHORT nFlags;
+
+ void ClearFlags( USHORT nMask ) { nFlags &= (~nMask); }
+ void SetFlags( USHORT nMask ) { nFlags |= nMask; }
+ void AssignFlags( USHORT _nFlags ) { nFlags = _nFlags; }
+
+ // setzt den linken Nachbarn (A <-> B ==> A <-> this <-> B)
+ void SetBacklink( SvxIconChoiceCtrlEntry* pA )
+ {
+ pA->pflink->pblink = this; // X <- B
+ this->pflink = pA->pflink; // X -> B
+ this->pblink = pA; // A <- X
+ pA->pflink = this; // A -> X
+ }
+ // loest eine Verbindung (A <-> this <-> B ==> A <-> B)
+ void Unlink()
+ {
+ this->pblink->pflink = this->pflink;
+ this->pflink->pblink = this->pblink;
+ this->pflink = 0;
+ this->pblink = 0;
+ }
+
+public:
+ SvxIconChoiceCtrlEntry( USHORT nFlags = 0 );
+ SvxIconChoiceCtrlEntry( const String& rText, const Image& rImage, USHORT nFlags = 0 );
+ SvxIconChoiceCtrlEntry( const String& rText, const Image& rImage, const Image& rImageHC, USHORT nFlags = 0 );
+ ~SvxIconChoiceCtrlEntry () {}
+
+ void SetImage ( const Image& rImage ) { aImage = rImage; }
+ void SetImageHC ( const Image& rImage ) { aImageHC = rImage; }
+ Image GetImage () const { return aImage; }
+ Image GetImageHC () const { return aImageHC; }
+ void SetText ( const String& rText ) { aText = rText; }
+ String GetText () const { return aText; }
+ String SVT_DLLPUBLIC GetDisplayText() const;
+ void SetQuickHelpText( const String& rText ) { aQuickHelpText = rText; }
+ String GetQuickHelpText() const { return aQuickHelpText; }
+ void SetUserData ( void* _pUserData ) { pUserData = _pUserData; }
+ void* GetUserData () { return pUserData; }
+
+ const Rectangle & GetBoundRect() const { return aRect; }
+
+ void SetFocus ( BOOL bSet )
+ { nFlags = ( bSet ? nFlags | ICNVIEW_FLAG_FOCUSED : nFlags & ~ICNVIEW_FLAG_FOCUSED ); }
+
+ SvxIconChoiceCtrlTextMode GetTextMode() const { return eTextMode; }
+ USHORT GetFlags() const { return nFlags; }
+ BOOL IsSelected() const { return (BOOL)((nFlags & ICNVIEW_FLAG_SELECTED) !=0); }
+ BOOL IsFocused() const { return (BOOL)((nFlags & ICNVIEW_FLAG_FOCUSED) !=0); }
+ BOOL IsInUse() const { return (BOOL)((nFlags & ICNVIEW_FLAG_IN_USE) !=0); }
+ BOOL IsCursored() const { return (BOOL)((nFlags & ICNVIEW_FLAG_CURSORED) !=0); }
+ BOOL IsDropTarget() const { return (BOOL)((nFlags & ICNVIEW_FLAG_DROP_TARGET) !=0); }
+ BOOL IsBlockingEmphasis() const { return (BOOL)((nFlags & ICNVIEW_FLAG_BLOCK_EMPHASIS) !=0); }
+ BOOL WasMoved() const { return (BOOL)((nFlags & ICNVIEW_FLAG_POS_MOVED) !=0); }
+ void SetMoved( BOOL bMoved );
+ BOOL IsPosLocked() const { return (BOOL)((nFlags & ICNVIEW_FLAG_POS_LOCKED) !=0); }
+ void LockPos( BOOL bLock );
+ // Nur bei AutoArrange gesetzt. Den Kopf der Liste gibts per SvxIconChoiceCtrl::GetPredecessorHead
+ SvxIconChoiceCtrlEntry* GetSuccessor() const { return pflink; }
+ SvxIconChoiceCtrlEntry* GetPredecessor() const { return pblink; }
+
+// sal_Unicode GetMnemonicChar() const;
+};
+
+enum SvxIconChoiceCtrlColumnAlign
+{
+ IcnViewAlignLeft = 1,
+ IcnViewAlignRight,
+ IcnViewAlignCenter
+};
+
+class SvxIconChoiceCtrlColumnInfo
+{
+ String aColText;
+ Image aColImage;
+ long nWidth;
+ SvxIconChoiceCtrlColumnAlign eAlignment;
+ USHORT nSubItem;
+
+public:
+ SvxIconChoiceCtrlColumnInfo( USHORT nSub, long nWd,
+ SvxIconChoiceCtrlColumnAlign eAlign ) :
+ nWidth( nWd ), eAlignment( eAlign ), nSubItem( nSub ) {}
+ SvxIconChoiceCtrlColumnInfo( const SvxIconChoiceCtrlColumnInfo& );
+
+ void SetText( const String& rText ) { aColText = rText; }
+ void SetImage( const Image& rImg ) { aColImage = rImg; }
+ void SetWidth( long nWd ) { nWidth = nWd; }
+ void SetAlignment( SvxIconChoiceCtrlColumnAlign eAlign ) { eAlignment = eAlign; }
+ void SetSubItem( USHORT nSub) { nSubItem = nSub; }
+
+ const String& GetText() const { return aColText; }
+ const Image& GetImage() const { return aColImage; }
+ long GetWidth() const { return nWidth; }
+ SvxIconChoiceCtrlColumnAlign GetAlignment() const { return eAlignment; }
+ USHORT GetSubItem() const { return nSubItem; }
+};
+
+//###################################################################################################################################
+/*
+ Window-Bits:
+ WB_ICON // Text unter dem Icon
+ WB_SMALL_ICON // Text rechts neben Icon, beliebige Positionierung
+ WB_DETAILS // Text rechts neben Icon, eingeschraenkte Posit.
+ WB_BORDER
+ WB_NOHIDESELECTION // Selektion inaktiv zeichnen, wenn kein Fokus
+ WB_NOHSCROLL
+ WB_NOVSCROLL
+ WB_NOSELECTION
+ WB_SMART_ARRANGE // im Arrange die Vis-Area beibehalten
+ WB_ALIGN_TOP // Anordnung zeilenweise von links nach rechts
+ WB_ALIGN_LEFT // Anordnung spaltenweise von oben nach unten
+ WB_NODRAGSELECTION // Keine Selektion per Tracking-Rect
+ WB_NOCOLUMNHEADER // keine Headerbar in Detailsview (Headerbar not implemented)
+ WB_NOPOINTERFOCUS // Kein GrabFocus im MouseButtonDown
+ WB_HIGHLIGHTFRAME // der unter der Maus befindliche Eintrag wird hervorgehoben
+ WB_NOASYNCSELECTHDL // Selektionshandler synchron aufrufen, d.h. Events nicht sammeln
+*/
+
+#define WB_ICON WB_RECTSTYLE
+#define WB_SMALLICON WB_SMALLSTYLE
+#define WB_DETAILS WB_VCENTER
+#define WB_NOHSCROLL WB_SPIN
+#define WB_NOVSCROLL WB_DRAG
+#define WB_NOSELECTION WB_REPEAT
+#define WB_NODRAGSELECTION WB_PATHELLIPSIS
+#define WB_SMART_ARRANGE WB_PASSWORD
+#define WB_ALIGN_TOP WB_TOP
+#define WB_ALIGN_LEFT WB_LEFT
+#define WB_NOCOLUMNHEADER WB_CENTER
+#define WB_HIGHLIGHTFRAME WB_INFO
+#define WB_NOASYNCSELECTHDL WB_NOLABEL
+
+class MnemonicGenerator;
+
+class SVT_DLLPUBLIC SvtIconChoiceCtrl : public Control
+{
+ friend class SvxIconChoiceCtrl_Impl;
+
+ Link _aClickIconHdl;
+ Link _aDocRectChangedHdl;
+ Link _aVisRectChangedHdl;
+ KeyEvent* _pCurKeyEvent;
+ SvxIconChoiceCtrl_Impl* _pImp;
+ BOOL _bAutoFontColor;
+
+protected:
+
+ virtual void KeyInput( const KeyEvent& rKEvt );
+ virtual BOOL EditedEntry( SvxIconChoiceCtrlEntry*, const XubString& rNewText, BOOL bCancelled );
+ virtual void DocumentRectChanged();
+ virtual void VisibleRectChanged();
+ virtual BOOL EditingEntry( SvxIconChoiceCtrlEntry* pEntry );
+ virtual void Command( const CommandEvent& rCEvt );
+ virtual void Paint( const Rectangle& rRect );
+ virtual void MouseButtonDown( const MouseEvent& rMEvt );
+ virtual void MouseButtonUp( const MouseEvent& rMEvt );
+ virtual void MouseMove( const MouseEvent& rMEvt );
+ virtual void Resize();
+ virtual void GetFocus();
+ virtual void LoseFocus();
+ virtual void ClickIcon();
+ virtual void StateChanged( StateChangedType nType );
+ virtual void DataChanged( const DataChangedEvent& rDCEvt );
+ virtual void RequestHelp( const HelpEvent& rHEvt );
+ virtual void DrawEntryImage(
+ SvxIconChoiceCtrlEntry* pEntry,
+ const Point& rPos,
+ OutputDevice& rDev );
+
+ virtual String GetEntryText(
+ SvxIconChoiceCtrlEntry* pEntry,
+ BOOL bInplaceEdit );
+
+ virtual void FillLayoutData() const;
+
+ void CallImplEventListeners(ULONG nEvent, void* pData);
+
+public:
+
+ SvtIconChoiceCtrl( Window* pParent, WinBits nWinStyle = WB_ICON | WB_BORDER );
+ SvtIconChoiceCtrl( Window* pParent, const ResId& rResId );
+ virtual ~SvtIconChoiceCtrl();
+
+ void SetStyle( WinBits nWinStyle );
+ WinBits GetStyle() const;
+
+ BOOL SetChoiceWithCursor ( BOOL bDo = TRUE );
+
+ void SetUpdateMode( BOOL bUpdateMode );
+ void SetFont( const Font& rFont );
+ void SetPointFont( const Font& rFont );
+
+ void SetClickHdl( const Link& rLink ) { _aClickIconHdl = rLink; }
+ const Link& GetClickHdl() const { return _aClickIconHdl; }
+
+ using OutputDevice::SetBackground;
+ void SetBackground( const Wallpaper& rWallpaper );
+
+ void ArrangeIcons();
+
+
+ SvxIconChoiceCtrlEntry* InsertEntry( ULONG nPos = LIST_APPEND,
+ const Point* pPos = 0,
+ USHORT nFlags = 0 );
+ SvxIconChoiceCtrlEntry* InsertEntry( const String& rText, const Image& rImage,
+ ULONG nPos = LIST_APPEND,
+ const Point* pPos = 0,
+ USHORT nFlags = 0 );
+ SvxIconChoiceCtrlEntry* InsertEntry( const String& rText, const Image& rImage, const Image& rImageHC,
+ ULONG nPos = LIST_APPEND,
+ const Point* pPos = 0,
+ USHORT nFlags = 0 );
+
+ /** creates automatic mnemonics for all icon texts in the control
+ */
+ void CreateAutoMnemonics( void );
+
+ /** creates automatic mnemonics for all icon texts in the control
+
+ @param _rUsedMnemonics
+ a <type>MnemonicGenerator</type> at which some other mnemonics are already registered.
+ This can be used if the control needs to share the "mnemonic space" with other elements,
+ such as a menu bar.
+ */
+ void CreateAutoMnemonics( MnemonicGenerator& _rUsedMnemonics );
+
+ void RemoveEntry( SvxIconChoiceCtrlEntry* pEntry );
+
+ BOOL DoKeyInput( const KeyEvent& rKEvt );
+
+ BOOL IsEntryEditing() const;
+ void Clear();
+
+ ULONG GetEntryCount() const;
+ SvxIconChoiceCtrlEntry* GetEntry( ULONG nPos ) const;
+ ULONG GetEntryListPos( SvxIconChoiceCtrlEntry* pEntry ) const;
+ using Window::SetCursor;
+ void SetCursor( SvxIconChoiceCtrlEntry* pEntry );
+ SvxIconChoiceCtrlEntry* GetCursor() const;
+
+ // Neu-Berechnung gecachter View-Daten und Invalidierung im Fenster
+ void InvalidateEntry( SvxIconChoiceCtrlEntry* pEntry );
+
+ // bHit==FALSE: Eintrag gilt als getroffen, wenn Position im BoundRect liegt
+ // ==TRUE : Bitmap oder Text muss getroffen sein
+ SvxIconChoiceCtrlEntry* GetEntry( const Point& rPosPixel, BOOL bHit = FALSE ) const;
+ // Gibt den naechsten ueber pCurEntry liegenden Eintrag (ZOrder)
+ SvxIconChoiceCtrlEntry* GetNextEntry( const Point& rPosPixel, SvxIconChoiceCtrlEntry* pCurEntry, BOOL ) const;
+ // Gibt den naechsten unter pCurEntry liegenden Eintrag (ZOrder)
+ SvxIconChoiceCtrlEntry* GetPrevEntry( const Point& rPosPixel, SvxIconChoiceCtrlEntry* pCurEntry, BOOL ) const;
+
+ // in dem ULONG wird die Position in der Liste des gefunden Eintrags zurueckgegeben
+ SvxIconChoiceCtrlEntry* GetSelectedEntry( ULONG& rPos ) const;
+
+ void SetEntryTextMode( SvxIconChoiceCtrlTextMode eMode, SvxIconChoiceCtrlEntry* pEntry = 0 );
+ SvxIconChoiceCtrlTextMode GetEntryTextMode( const SvxIconChoiceCtrlEntry* pEntry = 0 ) const;
+
+ // offene asynchron abzuarbeitende Aktionen ausfuehren. Muss vor dem Speichern von
+ // Eintragspositionen etc. gerufen werden
+ void Flush();
+
+
+ virtual BOOL HasBackground() const;
+ virtual BOOL HasFont() const;
+ virtual BOOL HasFontTextColor() const;
+ virtual BOOL HasFontFillColor() const;
+
+ void SetFontColorToBackground ( BOOL bDo = TRUE ) { _bAutoFontColor = bDo; }
+ BOOL AutoFontColor () { return _bAutoFontColor; }
+
+ Point GetLogicPos( const Point& rPosPixel ) const;
+ Point GetPixelPos( const Point& rPosLogic ) const;
+ void SetSelectionMode( SelectionMode eMode );
+
+ BOOL HandleShortCutKey( const KeyEvent& rKeyEvent );
+
+ Rectangle GetBoundingBox( SvxIconChoiceCtrlEntry* pEntry ) const;
+ Rectangle GetEntryCharacterBounds( const sal_Int32 _nEntryPos, const sal_Int32 _nCharacterIndex ) const;
+
+ void SetNoSelection();
+
+ // ACCESSIBILITY ==========================================================
+
+ /** Creates and returns the accessible object of the Box. */
+ virtual ::com::sun::star::uno::Reference<
+ ::com::sun::star::accessibility::XAccessible > CreateAccessible();
+};
+
+#endif // _ICNVW_HXX
+
diff --git a/svtools/inc/svtools/localresaccess.hxx b/svtools/inc/svtools/localresaccess.hxx
new file mode 100644
index 000000000000..c72f68f64f03
--- /dev/null
+++ b/svtools/inc/svtools/localresaccess.hxx
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVTOOLS_LOCALRESACCESS_HXX_
+#define _SVTOOLS_LOCALRESACCESS_HXX_
+
+#include <tools/rc.hxx>
+#include <tools/rcid.h>
+#include <osl/diagnose.h>
+
+//.........................................................................
+namespace svt
+{
+//.........................................................................
+
+ //=========================================================================
+ //= OLocalResourceAccess
+ //=========================================================================
+ /** helper class for acessing local resources
+ */
+ class OLocalResourceAccess : public Resource
+ {
+ protected:
+ ResMgr* m_pManager;
+
+ public:
+ OLocalResourceAccess( const ResId& _rId )
+ :Resource( _rId.SetAutoRelease( sal_False ) )
+ ,m_pManager( _rId.GetResMgr() )
+ {
+ }
+
+ OLocalResourceAccess(const ResId& _rId, RESOURCE_TYPE _rType)
+ :Resource(_rId.SetRT(_rType).SetAutoRelease(sal_False))
+ ,m_pManager(_rId.GetResMgr())
+ {
+ OSL_ENSURE( m_pManager != NULL, "OLocalResourceAccess::OLocalResourceAccess: invalid resource manager!" );
+ }
+
+ ~OLocalResourceAccess()
+ {
+ if ( m_pManager )
+ m_pManager->Increment( m_pManager->GetRemainSize() );
+ FreeResource();
+ }
+
+ inline BOOL IsAvailableRes( const ResId& _rId ) const
+ {
+ return Resource::IsAvailableRes( _rId );
+ }
+ };
+
+//.........................................................................
+} // namespace svt
+//.........................................................................
+
+#endif // _SVTOOLS_LOCALRESACCESS_HXX_
+
diff --git a/svtools/inc/svtools/prgsbar.hxx b/svtools/inc/svtools/prgsbar.hxx
new file mode 100644
index 000000000000..c02d400c6931
--- /dev/null
+++ b/svtools/inc/svtools/prgsbar.hxx
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _PRGSBAR_HXX
+#define _PRGSBAR_HXX
+
+#include "svtools/svtdllapi.h"
+#include <vcl/window.hxx>
+
+/*************************************************************************
+
+Beschreibung
+============
+
+class ProgressBar
+
+Diese Klasse dient zur Anzeige einer Progress-Anzeige.
+
+--------------------------------------------------------------------------
+
+WinBits
+
+WB_BORDER Border um das Fenster
+WB_3DLOOK 3D-Darstellung
+
+--------------------------------------------------------------------------
+
+Methoden
+
+Mit SetValue() setzt man einen Prozent-Wert zwischen 0 und 100. Wenn Werte
+groesser 100 gesetzt werden, faengt das letzte Rechteck an zu blinken.
+
+*************************************************************************/
+
+// -----------
+// - WinBits -
+// -----------
+
+#define WB_STDPROGRESSBAR WB_BORDER
+
+// ---------------
+// - ProgressBar -
+// ---------------
+
+class SVT_DLLPUBLIC ProgressBar : public Window
+{
+private:
+ Point maPos;
+ long mnPrgsWidth;
+ long mnPrgsHeight;
+ USHORT mnPercent;
+ USHORT mnPercentCount;
+ BOOL mbCalcNew;
+
+#ifdef _SV_PRGSBAR_CXX
+ using Window::ImplInit;
+ SVT_DLLPRIVATE void ImplInit();
+ SVT_DLLPRIVATE void ImplInitSettings( BOOL bFont, BOOL bForeground, BOOL bBackground );
+ SVT_DLLPRIVATE void ImplDrawProgress( USHORT nOldPerc, USHORT nNewPerc );
+#endif
+
+public:
+ ProgressBar( Window* pParent, WinBits nWinBits = WB_STDPROGRESSBAR );
+ ProgressBar( Window* pParent, const ResId& rResId );
+ ~ProgressBar();
+
+ virtual void Paint( const Rectangle& rRect );
+ virtual void Resize();
+ virtual void StateChanged( StateChangedType nStateChange );
+ virtual void DataChanged( const DataChangedEvent& rDCEvt );
+
+ void SetValue( USHORT nNewPercent );
+ USHORT GetValue() const { return mnPercent; }
+};
+
+#endif // _PRGSBAR_HXX
diff --git a/svtools/inc/svtools/roadmap.hxx b/svtools/inc/svtools/roadmap.hxx
new file mode 100644
index 000000000000..ff94cc966f4d
--- /dev/null
+++ b/svtools/inc/svtools/roadmap.hxx
@@ -0,0 +1,137 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVTOOLS_ROADMAP_HXX
+#define _SVTOOLS_ROADMAP_HXX
+
+#include "svtools/svtdllapi.h"
+#include <vcl/ctrl.hxx>
+#include <vcl/imgctrl.hxx>
+
+#ifndef _SVTOOLS_HYPERLABEL_HXX
+#include "svtools/hyperlabel.hxx"
+#endif
+
+
+
+
+class Bitmap;
+//.........................................................................
+namespace svt
+{
+//.........................................................................
+
+ struct RoadmapTypes
+ {
+ public:
+ typedef sal_Int16 ItemId;
+ typedef sal_Int32 ItemIndex;
+ };
+
+ class RoadmapImpl;
+ class RoadmapItem;
+
+ //=====================================================================
+ //= Roadmap
+ //=====================================================================
+ class SVT_DLLPUBLIC ORoadmap : public Control, public RoadmapTypes
+ {
+ protected:
+ RoadmapImpl* m_pImpl;
+ // Window overridables
+ void Paint( const Rectangle& _rRect );
+ void implInit();
+
+ public:
+ ORoadmap( Window* _pParent, const ResId& _rId );
+ ORoadmap( Window* _pParent, WinBits _nWinStyle = 0 );
+ ~ORoadmap( );
+
+ void SetRoadmapBitmap( const BitmapEx& maBitmap, sal_Bool _bInvalidate = sal_True );
+ const BitmapEx& GetRoadmapBitmap( ) const;
+
+ void EnableRoadmapItem( ItemId _nItemId, sal_Bool _bEnable, ItemIndex _nStartIndex = 0 );
+ sal_Bool IsRoadmapItemEnabled( ItemId _nItemId, ItemIndex _nStartIndex = 0 ) const;
+
+ void ChangeRoadmapItemLabel( ItemId _nID, const ::rtl::OUString& sLabel, ItemIndex _nStartIndex = 0 );
+ ::rtl::OUString GetRoadmapItemLabel( ItemId _nID, ItemIndex _nStartIndex = 0 );
+ void ChangeRoadmapItemID( ItemId _nID, ItemId _NewID, ItemIndex _nStartIndex = 0 );
+
+ void SetRoadmapInteractive( sal_Bool _bInteractive );
+ sal_Bool IsRoadmapInteractive();
+
+ void SetRoadmapComplete( sal_Bool _bComplete );
+ sal_Bool IsRoadmapComplete() const;
+
+ ItemIndex GetItemCount() const;
+ ItemId GetItemID( ItemIndex _nIndex ) const;
+ ItemIndex GetItemIndex( ItemId _nID ) const;
+
+ void InsertRoadmapItem( ItemIndex _Index, const ::rtl::OUString& _RoadmapItem, ItemId _nUniqueId, sal_Bool _bEnabled = sal_True );
+ void ReplaceRoadmapItem( ItemIndex _Index, const ::rtl::OUString& _RoadmapItem, ItemId _nUniqueId, sal_Bool _bEnabled );
+ void DeleteRoadmapItem( ItemIndex _nIndex );
+
+ ItemId GetCurrentRoadmapItemID() const;
+ sal_Bool SelectRoadmapItemByID( ItemId _nItemID );
+
+ void SetItemSelectHdl( const Link& _rHdl );
+ Link GetItemSelectHdl( ) const;
+ virtual void DataChanged( const DataChangedEvent& rDCEvt );
+ virtual void GetFocus();
+
+
+ protected:
+ long PreNotify( NotifyEvent& rNEvt );
+
+ protected:
+ /// called when an item has been selected by any means
+ virtual void Select();
+
+ private:
+ DECL_LINK(ImplClickHdl, HyperLabel*);
+
+ RoadmapItem* GetByIndex( ItemIndex _nItemIndex );
+ const RoadmapItem* GetByIndex( ItemIndex _nItemIndex ) const;
+
+ RoadmapItem* GetByID( ItemId _nID, ItemIndex _nStartIndex = 0 );
+ const RoadmapItem* GetByID( ItemId _nID, ItemIndex _nStartIndex = 0 ) const;
+ RoadmapItem* GetPreviousHyperLabel( ItemIndex _Index);
+
+ void DrawHeadline();
+ void DeselectOldRoadmapItems();
+ ItemId GetNextAvailableItemId( ItemIndex _NewIndex );
+ ItemId GetPreviousAvailableItemId( ItemIndex _NewIndex );
+ RoadmapItem* GetByPointer(Window* pWindow);
+ RoadmapItem* InsertHyperLabel( ItemIndex _Index, const ::rtl::OUString& _aStr, ItemId _RMID, sal_Bool _bEnabled = sal_True );
+ void UpdatefollowingHyperLabels( ItemIndex _Index );
+ };
+
+//.........................................................................
+} // namespace svt
+//.........................................................................
+
+#endif
+
diff --git a/svtools/inc/svtools/rtfkeywd.hxx b/svtools/inc/svtools/rtfkeywd.hxx
new file mode 100644
index 000000000000..de59e1d8faf9
--- /dev/null
+++ b/svtools/inc/svtools/rtfkeywd.hxx
@@ -0,0 +1,1154 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _RTFKEYWD_HXX
+#define _RTFKEYWD_HXX
+
+#include "sal/config.h"
+
+#define OOO_STRING_SVTOOLS_RTF_HEXCHAR "\\'"
+#define OOO_STRING_SVTOOLS_RTF_IGNORE "\\*"
+#define OOO_STRING_SVTOOLS_RTF_OPTHYPH "\\-"
+#define OOO_STRING_SVTOOLS_RTF_SUBENTRY "\\:"
+#define OOO_STRING_SVTOOLS_RTF_ABSH "\\absh"
+#define OOO_STRING_SVTOOLS_RTF_ABSW "\\absw"
+#define OOO_STRING_SVTOOLS_RTF_ALT "\\alt"
+#define OOO_STRING_SVTOOLS_RTF_ANNOTATION "\\annotation"
+#define OOO_STRING_SVTOOLS_RTF_ANSI "\\ansi"
+#define OOO_STRING_SVTOOLS_RTF_ATNDATE "\\atndate"
+#define OOO_STRING_SVTOOLS_RTF_ATNID "\\atnid"
+#define OOO_STRING_SVTOOLS_RTF_AUTHOR "\\author"
+#define OOO_STRING_SVTOOLS_RTF_B "\\b"
+#define OOO_STRING_SVTOOLS_RTF_BGBDIAG "\\bgbdiag"
+#define OOO_STRING_SVTOOLS_RTF_BGCROSS "\\bgcross"
+#define OOO_STRING_SVTOOLS_RTF_BGDCROSS "\\bgdcross"
+#define OOO_STRING_SVTOOLS_RTF_BGDKBDIAG "\\bgdkbdiag"
+#define OOO_STRING_SVTOOLS_RTF_BGDKCROSS "\\bgdkcross"
+#define OOO_STRING_SVTOOLS_RTF_BGDKDCROSS "\\bgdkdcross"
+#define OOO_STRING_SVTOOLS_RTF_BGDKFDIAG "\\bgdkfdiag"
+#define OOO_STRING_SVTOOLS_RTF_BGDKHORIZ "\\bgdkhoriz"
+#define OOO_STRING_SVTOOLS_RTF_BGDKVERT "\\bgdkvert"
+#define OOO_STRING_SVTOOLS_RTF_BGFDIAG "\\bgfdiag"
+#define OOO_STRING_SVTOOLS_RTF_BGHORIZ "\\bghoriz"
+#define OOO_STRING_SVTOOLS_RTF_BGVERT "\\bgvert"
+#define OOO_STRING_SVTOOLS_RTF_BIN "\\bin"
+#define OOO_STRING_SVTOOLS_RTF_BINFSXN "\\binfsxn"
+#define OOO_STRING_SVTOOLS_RTF_BINSXN "\\binsxn"
+#define OOO_STRING_SVTOOLS_RTF_BKMKCOLF "\\bkmkcolf"
+#define OOO_STRING_SVTOOLS_RTF_BKMKCOLL "\\bkmkcoll"
+#define OOO_STRING_SVTOOLS_RTF_BKMKEND "\\bkmkend"
+#define OOO_STRING_SVTOOLS_RTF_BKMKSTART "\\bkmkstart"
+#define OOO_STRING_SVTOOLS_RTF_BLUE "\\blue"
+#define OOO_STRING_SVTOOLS_RTF_BOX "\\box"
+#define OOO_STRING_SVTOOLS_RTF_BRDRB "\\brdrb"
+#define OOO_STRING_SVTOOLS_RTF_BRDRBAR "\\brdrbar"
+#define OOO_STRING_SVTOOLS_RTF_BRDRBTW "\\brdrbtw"
+#define OOO_STRING_SVTOOLS_RTF_BRDRCF "\\brdrcf"
+#define OOO_STRING_SVTOOLS_RTF_BRDRDB "\\brdrdb"
+#define OOO_STRING_SVTOOLS_RTF_BRDRDOT "\\brdrdot"
+#define OOO_STRING_SVTOOLS_RTF_BRDRHAIR "\\brdrhair"
+#define OOO_STRING_SVTOOLS_RTF_BRDRL "\\brdrl"
+#define OOO_STRING_SVTOOLS_RTF_BRDRR "\\brdrr"
+#define OOO_STRING_SVTOOLS_RTF_BRDRS "\\brdrs"
+#define OOO_STRING_SVTOOLS_RTF_BRDRSH "\\brdrsh"
+#define OOO_STRING_SVTOOLS_RTF_BRDRT "\\brdrt"
+#define OOO_STRING_SVTOOLS_RTF_BRDRTH "\\brdrth"
+#define OOO_STRING_SVTOOLS_RTF_BRDRW "\\brdrw"
+#define OOO_STRING_SVTOOLS_RTF_BRSP "\\brsp"
+#define OOO_STRING_SVTOOLS_RTF_BULLET "\\bullet"
+#define OOO_STRING_SVTOOLS_RTF_BUPTIM "\\buptim"
+#define OOO_STRING_SVTOOLS_RTF_BXE "\\bxe"
+#define OOO_STRING_SVTOOLS_RTF_CAPS "\\caps"
+#define OOO_STRING_SVTOOLS_RTF_CB "\\cb"
+#define OOO_STRING_SVTOOLS_RTF_CBPAT "\\cbpat"
+#define OOO_STRING_SVTOOLS_RTF_CELL "\\cell"
+#define OOO_STRING_SVTOOLS_RTF_CELLX "\\cellx"
+#define OOO_STRING_SVTOOLS_RTF_CF "\\cf"
+#define OOO_STRING_SVTOOLS_RTF_CFPAT "\\cfpat"
+#define OOO_STRING_SVTOOLS_RTF_CHATN "\\chatn"
+#define OOO_STRING_SVTOOLS_RTF_CHDATE "\\chdate"
+#define OOO_STRING_SVTOOLS_RTF_CHDPA "\\chdpa"
+#define OOO_STRING_SVTOOLS_RTF_CHDPL "\\chdpl"
+#define OOO_STRING_SVTOOLS_RTF_CHFTN "\\chftn"
+#define OOO_STRING_SVTOOLS_RTF_CHFTNSEP "\\chftnsep"
+#define OOO_STRING_SVTOOLS_RTF_CHFTNSEPC "\\chftnsepc"
+#define OOO_STRING_SVTOOLS_RTF_CHPGN "\\chpgn"
+#define OOO_STRING_SVTOOLS_RTF_CHTIME "\\chtime"
+#define OOO_STRING_SVTOOLS_RTF_CLBGBDIAG "\\clbgbdiag"
+#define OOO_STRING_SVTOOLS_RTF_CLBGCROSS "\\clbgcross"
+#define OOO_STRING_SVTOOLS_RTF_CLBGDCROSS "\\clbgdcross"
+#define OOO_STRING_SVTOOLS_RTF_CLBGDKBDIAG "\\clbgdkbdiag"
+#define OOO_STRING_SVTOOLS_RTF_CLBGDKCROSS "\\clbgdkcross"
+#define OOO_STRING_SVTOOLS_RTF_CLBGDKDCROSS "\\clbgdkdcross"
+#define OOO_STRING_SVTOOLS_RTF_CLBGDKFDIAG "\\clbgdkfdiag"
+#define OOO_STRING_SVTOOLS_RTF_CLBGDKHOR "\\clbgdkhor"
+#define OOO_STRING_SVTOOLS_RTF_CLBGDKVERT "\\clbgdkvert"
+#define OOO_STRING_SVTOOLS_RTF_CLBGFDIAG "\\clbgfdiag"
+#define OOO_STRING_SVTOOLS_RTF_CLBGHORIZ "\\clbghoriz"
+#define OOO_STRING_SVTOOLS_RTF_CLBGVERT "\\clbgvert"
+#define OOO_STRING_SVTOOLS_RTF_CLBRDRB "\\clbrdrb"
+#define OOO_STRING_SVTOOLS_RTF_CLBRDRL "\\clbrdrl"
+#define OOO_STRING_SVTOOLS_RTF_CLBRDRR "\\clbrdrr"
+#define OOO_STRING_SVTOOLS_RTF_CLBRDRT "\\clbrdrt"
+#define OOO_STRING_SVTOOLS_RTF_CLCBPAT "\\clcbpat"
+#define OOO_STRING_SVTOOLS_RTF_CLCFPAT "\\clcfpat"
+#define OOO_STRING_SVTOOLS_RTF_CLMGF "\\clmgf"
+#define OOO_STRING_SVTOOLS_RTF_CLMRG "\\clmrg"
+#define OOO_STRING_SVTOOLS_RTF_CLSHDNG "\\clshdng"
+#define OOO_STRING_SVTOOLS_RTF_COLNO "\\colno"
+#define OOO_STRING_SVTOOLS_RTF_COLORTBL "\\colortbl"
+#define OOO_STRING_SVTOOLS_RTF_COLS "\\cols"
+#define OOO_STRING_SVTOOLS_RTF_COLSR "\\colsr"
+#define OOO_STRING_SVTOOLS_RTF_COLSX "\\colsx"
+#define OOO_STRING_SVTOOLS_RTF_COLUMN "\\column"
+#define OOO_STRING_SVTOOLS_RTF_COLW "\\colw"
+#define OOO_STRING_SVTOOLS_RTF_COMMENT "\\comment"
+#define OOO_STRING_SVTOOLS_RTF_CREATIM "\\creatim"
+#define OOO_STRING_SVTOOLS_RTF_CTRL "\\ctrl"
+#define OOO_STRING_SVTOOLS_RTF_DEFF "\\deff"
+#define OOO_STRING_SVTOOLS_RTF_DEFFORMAT "\\defformat"
+#define OOO_STRING_SVTOOLS_RTF_DEFLANG "\\deflang"
+#define OOO_STRING_SVTOOLS_RTF_DEFTAB "\\deftab"
+#define OOO_STRING_SVTOOLS_RTF_DELETED "\\deleted"
+#define OOO_STRING_SVTOOLS_RTF_DFRMTXTX "\\dfrmtxtx"
+#define OOO_STRING_SVTOOLS_RTF_DFRMTXTY "\\dfrmtxty"
+#define OOO_STRING_SVTOOLS_RTF_DIBITMAP "\\dibitmap"
+#define OOO_STRING_SVTOOLS_RTF_DN "\\dn"
+#define OOO_STRING_SVTOOLS_RTF_DOCCOMM "\\doccomm"
+#define OOO_STRING_SVTOOLS_RTF_DOCTEMP "\\doctemp"
+#define OOO_STRING_SVTOOLS_RTF_DROPCAPLI "\\dropcapli"
+#define OOO_STRING_SVTOOLS_RTF_DROPCAPT "\\dropcapt"
+#define OOO_STRING_SVTOOLS_RTF_ABSNOOVRLP "\\absnoovrlp"
+#define OOO_STRING_SVTOOLS_RTF_DXFRTEXT "\\dxfrtext"
+#define OOO_STRING_SVTOOLS_RTF_DY "\\dy"
+#define OOO_STRING_SVTOOLS_RTF_EDMINS "\\edmins"
+#define OOO_STRING_SVTOOLS_RTF_EMDASH "\\emdash"
+#define OOO_STRING_SVTOOLS_RTF_ENDASH "\\endash"
+#define OOO_STRING_SVTOOLS_RTF_ENDDOC "\\enddoc"
+#define OOO_STRING_SVTOOLS_RTF_ENDNHERE "\\endnhere"
+#define OOO_STRING_SVTOOLS_RTF_ENDNOTES "\\endnotes"
+#define OOO_STRING_SVTOOLS_RTF_EXPND "\\expnd"
+#define OOO_STRING_SVTOOLS_RTF_EXPNDTW "\\expndtw"
+#define OOO_STRING_SVTOOLS_RTF_F "\\f"
+#define OOO_STRING_SVTOOLS_RTF_FACINGP "\\facingp"
+#define OOO_STRING_SVTOOLS_RTF_FACPGSXN "\\facpgsxn"
+#define OOO_STRING_SVTOOLS_RTF_FALT "\\falt"
+#define OOO_STRING_SVTOOLS_RTF_FCHARSET "\\fcharset"
+#define OOO_STRING_SVTOOLS_RTF_FDECOR "\\fdecor"
+#define OOO_STRING_SVTOOLS_RTF_FI "\\fi"
+#define OOO_STRING_SVTOOLS_RTF_FIELD "\\field"
+#define OOO_STRING_SVTOOLS_RTF_FLDDIRTY "\\flddirty"
+#define OOO_STRING_SVTOOLS_RTF_FLDEDIT "\\fldedit"
+#define OOO_STRING_SVTOOLS_RTF_FLDINST "\\fldinst"
+#define OOO_STRING_SVTOOLS_RTF_FLDLOCK "\\fldlock"
+#define OOO_STRING_SVTOOLS_RTF_FLDPRIV "\\fldpriv"
+#define OOO_STRING_SVTOOLS_RTF_FLDRSLT "\\fldrslt"
+#define OOO_STRING_SVTOOLS_RTF_FMODERN "\\fmodern"
+#define OOO_STRING_SVTOOLS_RTF_FN "\\fn"
+#define OOO_STRING_SVTOOLS_RTF_FNIL "\\fnil"
+#define OOO_STRING_SVTOOLS_RTF_FONTTBL "\\fonttbl"
+#define OOO_STRING_SVTOOLS_RTF_FOOTER "\\footer"
+#define OOO_STRING_SVTOOLS_RTF_FOOTERF "\\footerf"
+#define OOO_STRING_SVTOOLS_RTF_FOOTERL "\\footerl"
+#define OOO_STRING_SVTOOLS_RTF_FOOTERR "\\footerr"
+#define OOO_STRING_SVTOOLS_RTF_FOOTERY "\\footery"
+#define OOO_STRING_SVTOOLS_RTF_FOOTNOTE "\\footnote"
+#define OOO_STRING_SVTOOLS_RTF_FPRQ "\\fprq"
+#define OOO_STRING_SVTOOLS_RTF_FRACWIDTH "\\fracwidth"
+#define OOO_STRING_SVTOOLS_RTF_FROMAN "\\froman"
+#define OOO_STRING_SVTOOLS_RTF_FS "\\fs"
+#define OOO_STRING_SVTOOLS_RTF_FSCRIPT "\\fscript"
+#define OOO_STRING_SVTOOLS_RTF_FSWISS "\\fswiss"
+#define OOO_STRING_SVTOOLS_RTF_FTECH "\\ftech"
+#define OOO_STRING_SVTOOLS_RTF_FTNBJ "\\ftnbj"
+#define OOO_STRING_SVTOOLS_RTF_FTNCN "\\ftncn"
+#define OOO_STRING_SVTOOLS_RTF_FTNRESTART "\\ftnrestart"
+#define OOO_STRING_SVTOOLS_RTF_FTNSEP "\\ftnsep"
+#define OOO_STRING_SVTOOLS_RTF_FTNSEPC "\\ftnsepc"
+#define OOO_STRING_SVTOOLS_RTF_FTNSTART "\\ftnstart"
+#define OOO_STRING_SVTOOLS_RTF_FTNTJ "\\ftntj"
+#define OOO_STRING_SVTOOLS_RTF_GREEN "\\green"
+#define OOO_STRING_SVTOOLS_RTF_GUTTER "\\gutter"
+#define OOO_STRING_SVTOOLS_RTF_GUTTERSXN "\\guttersxn"
+#define OOO_STRING_SVTOOLS_RTF_HEADER "\\header"
+#define OOO_STRING_SVTOOLS_RTF_HEADERF "\\headerf"
+#define OOO_STRING_SVTOOLS_RTF_HEADERL "\\headerl"
+#define OOO_STRING_SVTOOLS_RTF_HEADERR "\\headerr"
+#define OOO_STRING_SVTOOLS_RTF_HEADERY "\\headery"
+#define OOO_STRING_SVTOOLS_RTF_HR "\\hr"
+#define OOO_STRING_SVTOOLS_RTF_HYPHHOTZ "\\hyphhotz"
+#define OOO_STRING_SVTOOLS_RTF_I "\\i"
+#define OOO_STRING_SVTOOLS_RTF_ID "\\id"
+#define OOO_STRING_SVTOOLS_RTF_INFO "\\info"
+#define OOO_STRING_SVTOOLS_RTF_INTBL "\\intbl"
+#define OOO_STRING_SVTOOLS_RTF_IXE "\\ixe"
+#define OOO_STRING_SVTOOLS_RTF_KEEP "\\keep"
+#define OOO_STRING_SVTOOLS_RTF_KEEPN "\\keepn"
+#define OOO_STRING_SVTOOLS_RTF_KERNING "\\kerning"
+#define OOO_STRING_SVTOOLS_RTF_KEYCODE "\\keycode"
+#define OOO_STRING_SVTOOLS_RTF_KEYWORDS "\\keywords"
+#define OOO_STRING_SVTOOLS_RTF_LANDSCAPE "\\landscape"
+#define OOO_STRING_SVTOOLS_RTF_LANG "\\lang"
+#define OOO_STRING_SVTOOLS_RTF_LDBLQUOTE "\\ldblquote"
+#define OOO_STRING_SVTOOLS_RTF_LEVEL "\\level"
+#define OOO_STRING_SVTOOLS_RTF_LI "\\li"
+#define OOO_STRING_SVTOOLS_RTF_LIN "\\lin"
+#define OOO_STRING_SVTOOLS_RTF_LINE "\\line"
+#define OOO_STRING_SVTOOLS_RTF_LINEBETCOL "\\linebetcol"
+#define OOO_STRING_SVTOOLS_RTF_LINECONT "\\linecont"
+#define OOO_STRING_SVTOOLS_RTF_LINEMOD "\\linemod"
+#define OOO_STRING_SVTOOLS_RTF_LINEPPAGE "\\lineppage"
+#define OOO_STRING_SVTOOLS_RTF_LINERESTART "\\linerestart"
+#define OOO_STRING_SVTOOLS_RTF_LINESTART "\\linestart"
+#define OOO_STRING_SVTOOLS_RTF_LINESTARTS "\\linestarts"
+#define OOO_STRING_SVTOOLS_RTF_LINEX "\\linex"
+#define OOO_STRING_SVTOOLS_RTF_LNDSCPSXN "\\lndscpsxn"
+#define OOO_STRING_SVTOOLS_RTF_LQUOTE "\\lquote"
+#define OOO_STRING_SVTOOLS_RTF_MAC "\\mac"
+#define OOO_STRING_SVTOOLS_RTF_MACPICT "\\macpict"
+#define OOO_STRING_SVTOOLS_RTF_MAKEBACKUP "\\makebackup"
+#define OOO_STRING_SVTOOLS_RTF_MARGB "\\margb"
+#define OOO_STRING_SVTOOLS_RTF_MARGBSXN "\\margbsxn"
+#define OOO_STRING_SVTOOLS_RTF_MARGL "\\margl"
+#define OOO_STRING_SVTOOLS_RTF_MARGLSXN "\\marglsxn"
+#define OOO_STRING_SVTOOLS_RTF_MARGMIRROR "\\margmirror"
+#define OOO_STRING_SVTOOLS_RTF_MARGR "\\margr"
+#define OOO_STRING_SVTOOLS_RTF_MARGRSXN "\\margrsxn"
+#define OOO_STRING_SVTOOLS_RTF_MARGT "\\margt"
+#define OOO_STRING_SVTOOLS_RTF_MARGTSXN "\\margtsxn"
+#define OOO_STRING_SVTOOLS_RTF_MIN "\\min"
+#define OOO_STRING_SVTOOLS_RTF_MO "\\mo"
+#define OOO_STRING_SVTOOLS_RTF_NEXTCSET "\\nextcset"
+#define OOO_STRING_SVTOOLS_RTF_NEXTFILE "\\nextfile"
+#define OOO_STRING_SVTOOLS_RTF_NOFCHARS "\\nofchars"
+#define OOO_STRING_SVTOOLS_RTF_NOFPAGES "\\nofpages"
+#define OOO_STRING_SVTOOLS_RTF_NOFWORDS "\\nofwords"
+#define OOO_STRING_SVTOOLS_RTF_NOLINE "\\noline"
+#define OOO_STRING_SVTOOLS_RTF_NOSUPERSUB "\\nosupersub"
+#define OOO_STRING_SVTOOLS_RTF_NOWRAP "\\nowrap"
+#define OOO_STRING_SVTOOLS_RTF_OPERATOR "\\operator"
+#define OOO_STRING_SVTOOLS_RTF_OUTL "\\outl"
+#define OOO_STRING_SVTOOLS_RTF_PAGE "\\page"
+#define OOO_STRING_SVTOOLS_RTF_PAGEBB "\\pagebb"
+#define OOO_STRING_SVTOOLS_RTF_PAPERH "\\paperh"
+#define OOO_STRING_SVTOOLS_RTF_PAPERW "\\paperw"
+#define OOO_STRING_SVTOOLS_RTF_PAR "\\par"
+#define OOO_STRING_SVTOOLS_RTF_PARD "\\pard"
+#define OOO_STRING_SVTOOLS_RTF_PC "\\pc"
+#define OOO_STRING_SVTOOLS_RTF_PCA "\\pca"
+#define OOO_STRING_SVTOOLS_RTF_PGHSXN "\\pghsxn"
+#define OOO_STRING_SVTOOLS_RTF_PGNCONT "\\pgncont"
+#define OOO_STRING_SVTOOLS_RTF_PGNDEC "\\pgndec"
+#define OOO_STRING_SVTOOLS_RTF_PGNLCLTR "\\pgnlcltr"
+#define OOO_STRING_SVTOOLS_RTF_PGNLCRM "\\pgnlcrm"
+#define OOO_STRING_SVTOOLS_RTF_PGNRESTART "\\pgnrestart"
+#define OOO_STRING_SVTOOLS_RTF_PGNSTART "\\pgnstart"
+#define OOO_STRING_SVTOOLS_RTF_PGNSTARTS "\\pgnstarts"
+#define OOO_STRING_SVTOOLS_RTF_PGNUCLTR "\\pgnucltr"
+#define OOO_STRING_SVTOOLS_RTF_PGNUCRM "\\pgnucrm"
+#define OOO_STRING_SVTOOLS_RTF_PGNX "\\pgnx"
+#define OOO_STRING_SVTOOLS_RTF_PGNY "\\pgny"
+#define OOO_STRING_SVTOOLS_RTF_PGWSXN "\\pgwsxn"
+#define OOO_STRING_SVTOOLS_RTF_PHCOL "\\phcol"
+#define OOO_STRING_SVTOOLS_RTF_PHMRG "\\phmrg"
+#define OOO_STRING_SVTOOLS_RTF_PHPG "\\phpg"
+#define OOO_STRING_SVTOOLS_RTF_PICCROPB "\\piccropb"
+#define OOO_STRING_SVTOOLS_RTF_PICCROPL "\\piccropl"
+#define OOO_STRING_SVTOOLS_RTF_PICCROPR "\\piccropr"
+#define OOO_STRING_SVTOOLS_RTF_PICCROPT "\\piccropt"
+#define OOO_STRING_SVTOOLS_RTF_PICH "\\pich"
+#define OOO_STRING_SVTOOLS_RTF_PICHGOAL "\\pichgoal"
+#define OOO_STRING_SVTOOLS_RTF_PICSCALED "\\picscaled"
+#define OOO_STRING_SVTOOLS_RTF_PICSCALEX "\\picscalex"
+#define OOO_STRING_SVTOOLS_RTF_PICSCALEY "\\picscaley"
+#define OOO_STRING_SVTOOLS_RTF_PICT "\\pict"
+#define OOO_STRING_SVTOOLS_RTF_PICW "\\picw"
+#define OOO_STRING_SVTOOLS_RTF_PICWGOAL "\\picwgoal"
+#define OOO_STRING_SVTOOLS_RTF_PLAIN "\\plain"
+#define OOO_STRING_SVTOOLS_RTF_PMMETAFILE "\\pmmetafile"
+#define OOO_STRING_SVTOOLS_RTF_POSNEGX "\\posnegx"
+#define OOO_STRING_SVTOOLS_RTF_POSNEGY "\\posnegy"
+#define OOO_STRING_SVTOOLS_RTF_POSX "\\posx"
+#define OOO_STRING_SVTOOLS_RTF_POSXC "\\posxc"
+#define OOO_STRING_SVTOOLS_RTF_POSXI "\\posxi"
+#define OOO_STRING_SVTOOLS_RTF_POSXL "\\posxl"
+#define OOO_STRING_SVTOOLS_RTF_POSXO "\\posxo"
+#define OOO_STRING_SVTOOLS_RTF_POSXR "\\posxr"
+#define OOO_STRING_SVTOOLS_RTF_POSY "\\posy"
+#define OOO_STRING_SVTOOLS_RTF_POSYB "\\posyb"
+#define OOO_STRING_SVTOOLS_RTF_POSYC "\\posyc"
+#define OOO_STRING_SVTOOLS_RTF_POSYIL "\\posyil"
+#define OOO_STRING_SVTOOLS_RTF_POSYT "\\posyt"
+#define OOO_STRING_SVTOOLS_RTF_PRINTIM "\\printim"
+#define OOO_STRING_SVTOOLS_RTF_PSOVER "\\psover"
+#define OOO_STRING_SVTOOLS_RTF_PVMRG "\\pvmrg"
+#define OOO_STRING_SVTOOLS_RTF_PVPARA "\\pvpara"
+#define OOO_STRING_SVTOOLS_RTF_PVPG "\\pvpg"
+#define OOO_STRING_SVTOOLS_RTF_QC "\\qc"
+#define OOO_STRING_SVTOOLS_RTF_QJ "\\qj"
+#define OOO_STRING_SVTOOLS_RTF_QL "\\ql"
+#define OOO_STRING_SVTOOLS_RTF_QR "\\qr"
+#define OOO_STRING_SVTOOLS_RTF_RDBLQUOTE "\\rdblquote"
+#define OOO_STRING_SVTOOLS_RTF_RED "\\red"
+#define OOO_STRING_SVTOOLS_RTF_REVBAR "\\revbar"
+#define OOO_STRING_SVTOOLS_RTF_REVISED "\\revised"
+#define OOO_STRING_SVTOOLS_RTF_REVISIONS "\\revisions"
+#define OOO_STRING_SVTOOLS_RTF_REVPROP "\\revprop"
+#define OOO_STRING_SVTOOLS_RTF_REVTIM "\\revtim"
+#define OOO_STRING_SVTOOLS_RTF_RI "\\ri"
+#define OOO_STRING_SVTOOLS_RTF_RIN "\\rin"
+#define OOO_STRING_SVTOOLS_RTF_ROW "\\row"
+#define OOO_STRING_SVTOOLS_RTF_RQUOTE "\\rquote"
+#define OOO_STRING_SVTOOLS_RTF_RTF "\\rtf"
+#define OOO_STRING_SVTOOLS_RTF_RXE "\\rxe"
+#define OOO_STRING_SVTOOLS_RTF_S "\\s"
+#define OOO_STRING_SVTOOLS_RTF_SA "\\sa"
+#define OOO_STRING_SVTOOLS_RTF_SB "\\sb"
+#define OOO_STRING_SVTOOLS_RTF_SBASEDON "\\sbasedon"
+#define OOO_STRING_SVTOOLS_RTF_SBKCOL "\\sbkcol"
+#define OOO_STRING_SVTOOLS_RTF_SBKEVEN "\\sbkeven"
+#define OOO_STRING_SVTOOLS_RTF_SBKNONE "\\sbknone"
+#define OOO_STRING_SVTOOLS_RTF_SBKODD "\\sbkodd"
+#define OOO_STRING_SVTOOLS_RTF_SBKPAGE "\\sbkpage"
+#define OOO_STRING_SVTOOLS_RTF_SBYS "\\sbys"
+#define OOO_STRING_SVTOOLS_RTF_SCAPS "\\scaps"
+#define OOO_STRING_SVTOOLS_RTF_SECT "\\sect"
+#define OOO_STRING_SVTOOLS_RTF_SECTD "\\sectd"
+#define OOO_STRING_SVTOOLS_RTF_SHAD "\\shad"
+#define OOO_STRING_SVTOOLS_RTF_SHADING "\\shading"
+#define OOO_STRING_SVTOOLS_RTF_SHIFT "\\shift"
+#define OOO_STRING_SVTOOLS_RTF_SL "\\sl"
+#define OOO_STRING_SVTOOLS_RTF_SNEXT "\\snext"
+#define OOO_STRING_SVTOOLS_RTF_STRIKE "\\strike"
+#define OOO_STRING_SVTOOLS_RTF_STYLESHEET "\\stylesheet"
+#define OOO_STRING_SVTOOLS_RTF_SUB "\\sub"
+#define OOO_STRING_SVTOOLS_RTF_SUBJECT "\\subject"
+#define OOO_STRING_SVTOOLS_RTF_SUPER "\\super"
+#define OOO_STRING_SVTOOLS_RTF_TAB "\\tab"
+#define OOO_STRING_SVTOOLS_RTF_TB "\\tb"
+#define OOO_STRING_SVTOOLS_RTF_TC "\\tc"
+#define OOO_STRING_SVTOOLS_RTF_TCF "\\tcf"
+#define OOO_STRING_SVTOOLS_RTF_TCL "\\tcl"
+#define OOO_STRING_SVTOOLS_RTF_TEMPLATE "\\template"
+#define OOO_STRING_SVTOOLS_RTF_TITLE "\\title"
+#define OOO_STRING_SVTOOLS_RTF_TITLEPG "\\titlepg"
+#define OOO_STRING_SVTOOLS_RTF_TLDOT "\\tldot"
+#define OOO_STRING_SVTOOLS_RTF_TLEQ "\\tleq"
+#define OOO_STRING_SVTOOLS_RTF_TLHYPH "\\tlhyph"
+#define OOO_STRING_SVTOOLS_RTF_TLTH "\\tlth"
+#define OOO_STRING_SVTOOLS_RTF_TLUL "\\tlul"
+#define OOO_STRING_SVTOOLS_RTF_TQC "\\tqc"
+#define OOO_STRING_SVTOOLS_RTF_TQDEC "\\tqdec"
+#define OOO_STRING_SVTOOLS_RTF_TQR "\\tqr"
+#define OOO_STRING_SVTOOLS_RTF_TQL "\\tql"
+#define OOO_STRING_SVTOOLS_RTF_TRGAPH "\\trgaph"
+#define OOO_STRING_SVTOOLS_RTF_TRLEFT "\\trleft"
+#define OOO_STRING_SVTOOLS_RTF_TROWD "\\trowd"
+#define OOO_STRING_SVTOOLS_RTF_TRQC "\\trqc"
+#define OOO_STRING_SVTOOLS_RTF_TRQL "\\trql"
+#define OOO_STRING_SVTOOLS_RTF_TRQR "\\trqr"
+#define OOO_STRING_SVTOOLS_RTF_TRRH "\\trrh"
+#define OOO_STRING_SVTOOLS_RTF_TX "\\tx"
+#define OOO_STRING_SVTOOLS_RTF_TXE "\\txe"
+#define OOO_STRING_SVTOOLS_RTF_UL "\\ul"
+#define OOO_STRING_SVTOOLS_RTF_ULD "\\uld"
+#define OOO_STRING_SVTOOLS_RTF_ULDB "\\uldb"
+#define OOO_STRING_SVTOOLS_RTF_ULNONE "\\ulnone"
+#define OOO_STRING_SVTOOLS_RTF_ULW "\\ulw"
+#define OOO_STRING_SVTOOLS_RTF_UP "\\up"
+#define OOO_STRING_SVTOOLS_RTF_V "\\v"
+#define OOO_STRING_SVTOOLS_RTF_VERN "\\vern"
+#define OOO_STRING_SVTOOLS_RTF_VERSION "\\version"
+#define OOO_STRING_SVTOOLS_RTF_VERTALB "\\vertalb"
+#define OOO_STRING_SVTOOLS_RTF_VERTALC "\\vertalc"
+#define OOO_STRING_SVTOOLS_RTF_VERTALJ "\\vertalj"
+#define OOO_STRING_SVTOOLS_RTF_VERTALT "\\vertalt"
+#define OOO_STRING_SVTOOLS_RTF_WBITMAP "\\wbitmap"
+#define OOO_STRING_SVTOOLS_RTF_WBMBITSPIXEL "\\wbmbitspixel"
+#define OOO_STRING_SVTOOLS_RTF_WBMPLANES "\\wbmplanes"
+#define OOO_STRING_SVTOOLS_RTF_WBMWIDTHBYTES "\\wbmwidthbytes"
+#define OOO_STRING_SVTOOLS_RTF_WIDOWCTRL "\\widowctrl"
+#define OOO_STRING_SVTOOLS_RTF_WMETAFILE "\\wmetafile"
+#define OOO_STRING_SVTOOLS_RTF_XE "\\xe"
+#define OOO_STRING_SVTOOLS_RTF_YR "\\yr"
+#define OOO_STRING_SVTOOLS_RTF_NOBRKHYPH "\\_"
+#define OOO_STRING_SVTOOLS_RTF_FORMULA "\\|"
+#define OOO_STRING_SVTOOLS_RTF_NOBREAK "\\~"
+#define OOO_STRING_SVTOOLS_RTF_AB "\\ab"
+#define OOO_STRING_SVTOOLS_RTF_ACAPS "\\acaps"
+#define OOO_STRING_SVTOOLS_RTF_ACF "\\acf"
+#define OOO_STRING_SVTOOLS_RTF_ADDITIVE "\\additive"
+#define OOO_STRING_SVTOOLS_RTF_ADN "\\adn"
+#define OOO_STRING_SVTOOLS_RTF_AENDDOC "\\aenddoc"
+#define OOO_STRING_SVTOOLS_RTF_AENDNOTES "\\aendnotes"
+#define OOO_STRING_SVTOOLS_RTF_AEXPND "\\aexpnd"
+#define OOO_STRING_SVTOOLS_RTF_AF "\\af"
+#define OOO_STRING_SVTOOLS_RTF_AFS "\\afs"
+#define OOO_STRING_SVTOOLS_RTF_AFTNBJ "\\aftnbj"
+#define OOO_STRING_SVTOOLS_RTF_AFTNCN "\\aftncn"
+#define OOO_STRING_SVTOOLS_RTF_AFTNNALC "\\aftnnalc"
+#define OOO_STRING_SVTOOLS_RTF_AFTNNAR "\\aftnnar"
+#define OOO_STRING_SVTOOLS_RTF_AFTNNAUC "\\aftnnauc"
+#define OOO_STRING_SVTOOLS_RTF_AFTNNCHI "\\aftnnchi"
+#define OOO_STRING_SVTOOLS_RTF_AFTNNRLC "\\aftnnrlc"
+#define OOO_STRING_SVTOOLS_RTF_AFTNNRUC "\\aftnnruc"
+#define OOO_STRING_SVTOOLS_RTF_AFTNRESTART "\\aftnrestart"
+#define OOO_STRING_SVTOOLS_RTF_AFTNRSTCONT "\\aftnrstcont"
+#define OOO_STRING_SVTOOLS_RTF_AFTNSEP "\\aftnsep"
+#define OOO_STRING_SVTOOLS_RTF_AFTNSEPC "\\aftnsepc"
+#define OOO_STRING_SVTOOLS_RTF_AFTNSTART "\\aftnstart"
+#define OOO_STRING_SVTOOLS_RTF_AFTNTJ "\\aftntj"
+#define OOO_STRING_SVTOOLS_RTF_AI "\\ai"
+#define OOO_STRING_SVTOOLS_RTF_ALANG "\\alang"
+#define OOO_STRING_SVTOOLS_RTF_ALLPROT "\\allprot"
+#define OOO_STRING_SVTOOLS_RTF_ANNOTPROT "\\annotprot"
+#define OOO_STRING_SVTOOLS_RTF_AOUTL "\\aoutl"
+#define OOO_STRING_SVTOOLS_RTF_ASCAPS "\\ascaps"
+#define OOO_STRING_SVTOOLS_RTF_ASHAD "\\ashad"
+#define OOO_STRING_SVTOOLS_RTF_ASTRIKE "\\astrike"
+#define OOO_STRING_SVTOOLS_RTF_ATNAUTHOR "\\atnauthor"
+#define OOO_STRING_SVTOOLS_RTF_ATNICN "\\atnicn"
+#define OOO_STRING_SVTOOLS_RTF_ATNREF "\\atnref"
+#define OOO_STRING_SVTOOLS_RTF_ATNTIME "\\atntime"
+#define OOO_STRING_SVTOOLS_RTF_ATRFEND "\\atrfend"
+#define OOO_STRING_SVTOOLS_RTF_ATRFSTART "\\atrfstart"
+#define OOO_STRING_SVTOOLS_RTF_AUL "\\aul"
+#define OOO_STRING_SVTOOLS_RTF_AULD "\\auld"
+#define OOO_STRING_SVTOOLS_RTF_AULDB "\\auldb"
+#define OOO_STRING_SVTOOLS_RTF_AULNONE "\\aulnone"
+#define OOO_STRING_SVTOOLS_RTF_AULW "\\aulw"
+#define OOO_STRING_SVTOOLS_RTF_AUP "\\aup"
+#define OOO_STRING_SVTOOLS_RTF_BKMKPUB "\\bkmkpub"
+#define OOO_STRING_SVTOOLS_RTF_BRDRDASH "\\brdrdash"
+#define OOO_STRING_SVTOOLS_RTF_BRKFRM "\\brkfrm"
+#define OOO_STRING_SVTOOLS_RTF_CCHS "\\cchs"
+#define OOO_STRING_SVTOOLS_RTF_CPG "\\cpg"
+#define OOO_STRING_SVTOOLS_RTF_CS "\\cs"
+#define OOO_STRING_SVTOOLS_RTF_CVMME "\\cvmme"
+#define OOO_STRING_SVTOOLS_RTF_DATAFIELD "\\datafield"
+#define OOO_STRING_SVTOOLS_RTF_DO "\\do"
+#define OOO_STRING_SVTOOLS_RTF_DOBXCOLUMN "\\dobxcolumn"
+#define OOO_STRING_SVTOOLS_RTF_DOBXMARGIN "\\dobxmargin"
+#define OOO_STRING_SVTOOLS_RTF_DOBXPAGE "\\dobxpage"
+#define OOO_STRING_SVTOOLS_RTF_DOBYMARGIN "\\dobymargin"
+#define OOO_STRING_SVTOOLS_RTF_DOBYPAGE "\\dobypage"
+#define OOO_STRING_SVTOOLS_RTF_DOBYPARA "\\dobypara"
+#define OOO_STRING_SVTOOLS_RTF_DODHGT "\\dodhgt"
+#define OOO_STRING_SVTOOLS_RTF_DOLOCK "\\dolock"
+#define OOO_STRING_SVTOOLS_RTF_DPAENDHOL "\\dpaendhol"
+#define OOO_STRING_SVTOOLS_RTF_DPAENDL "\\dpaendl"
+#define OOO_STRING_SVTOOLS_RTF_DPAENDSOL "\\dpaendsol"
+#define OOO_STRING_SVTOOLS_RTF_DPAENDW "\\dpaendw"
+#define OOO_STRING_SVTOOLS_RTF_DPARC "\\dparc"
+#define OOO_STRING_SVTOOLS_RTF_DPARCFLIPX "\\dparcflipx"
+#define OOO_STRING_SVTOOLS_RTF_DPARCFLIPY "\\dparcflipy"
+#define OOO_STRING_SVTOOLS_RTF_DPASTARTHOL "\\dpastarthol"
+#define OOO_STRING_SVTOOLS_RTF_DPASTARTL "\\dpastartl"
+#define OOO_STRING_SVTOOLS_RTF_DPASTARTSOL "\\dpastartsol"
+#define OOO_STRING_SVTOOLS_RTF_DPASTARTW "\\dpastartw"
+#define OOO_STRING_SVTOOLS_RTF_DPCALLOUT "\\dpcallout"
+#define OOO_STRING_SVTOOLS_RTF_DPCOA "\\dpcoa"
+#define OOO_STRING_SVTOOLS_RTF_DPCOACCENT "\\dpcoaccent"
+#define OOO_STRING_SVTOOLS_RTF_DPCOBESTFIT "\\dpcobestfit"
+#define OOO_STRING_SVTOOLS_RTF_DPCOBORDER "\\dpcoborder"
+#define OOO_STRING_SVTOOLS_RTF_DPCODABS "\\dpcodabs"
+#define OOO_STRING_SVTOOLS_RTF_DPCODBOTTOM "\\dpcodbottom"
+#define OOO_STRING_SVTOOLS_RTF_DPCODCENTER "\\dpcodcenter"
+#define OOO_STRING_SVTOOLS_RTF_DPCODTOP "\\dpcodtop"
+#define OOO_STRING_SVTOOLS_RTF_DPCOLENGTH "\\dpcolength"
+#define OOO_STRING_SVTOOLS_RTF_DPCOMINUSX "\\dpcominusx"
+#define OOO_STRING_SVTOOLS_RTF_DPCOMINUSY "\\dpcominusy"
+#define OOO_STRING_SVTOOLS_RTF_DPCOOFFSET "\\dpcooffset"
+#define OOO_STRING_SVTOOLS_RTF_DPCOSMARTA "\\dpcosmarta"
+#define OOO_STRING_SVTOOLS_RTF_DPCOTDOUBLE "\\dpcotdouble"
+#define OOO_STRING_SVTOOLS_RTF_DPCOTRIGHT "\\dpcotright"
+#define OOO_STRING_SVTOOLS_RTF_DPCOTSINGLE "\\dpcotsingle"
+#define OOO_STRING_SVTOOLS_RTF_DPCOTTRIPLE "\\dpcottriple"
+#define OOO_STRING_SVTOOLS_RTF_DPCOUNT "\\dpcount"
+#define OOO_STRING_SVTOOLS_RTF_DPELLIPSE "\\dpellipse"
+#define OOO_STRING_SVTOOLS_RTF_DPENDGROUP "\\dpendgroup"
+#define OOO_STRING_SVTOOLS_RTF_DPFILLBGCB "\\dpfillbgcb"
+#define OOO_STRING_SVTOOLS_RTF_DPFILLBGCG "\\dpfillbgcg"
+#define OOO_STRING_SVTOOLS_RTF_DPFILLBGCR "\\dpfillbgcr"
+#define OOO_STRING_SVTOOLS_RTF_DPFILLBGGRAY "\\dpfillbggray"
+#define OOO_STRING_SVTOOLS_RTF_DPFILLBGPAL "\\dpfillbgpal"
+#define OOO_STRING_SVTOOLS_RTF_DPFILLFGCB "\\dpfillfgcb"
+#define OOO_STRING_SVTOOLS_RTF_DPFILLFGCG "\\dpfillfgcg"
+#define OOO_STRING_SVTOOLS_RTF_DPFILLFGCR "\\dpfillfgcr"
+#define OOO_STRING_SVTOOLS_RTF_DPFILLFGGRAY "\\dpfillfggray"
+#define OOO_STRING_SVTOOLS_RTF_DPFILLFGPAL "\\dpfillfgpal"
+#define OOO_STRING_SVTOOLS_RTF_DPFILLPAT "\\dpfillpat"
+#define OOO_STRING_SVTOOLS_RTF_DPGROUP "\\dpgroup"
+#define OOO_STRING_SVTOOLS_RTF_DPLINE "\\dpline"
+#define OOO_STRING_SVTOOLS_RTF_DPLINECOB "\\dplinecob"
+#define OOO_STRING_SVTOOLS_RTF_DPLINECOG "\\dplinecog"
+#define OOO_STRING_SVTOOLS_RTF_DPLINECOR "\\dplinecor"
+#define OOO_STRING_SVTOOLS_RTF_DPLINEDADO "\\dplinedado"
+#define OOO_STRING_SVTOOLS_RTF_DPLINEDADODO "\\dplinedadodo"
+#define OOO_STRING_SVTOOLS_RTF_DPLINEDASH "\\dplinedash"
+#define OOO_STRING_SVTOOLS_RTF_DPLINEDOT "\\dplinedot"
+#define OOO_STRING_SVTOOLS_RTF_DPLINEGRAY "\\dplinegray"
+#define OOO_STRING_SVTOOLS_RTF_DPLINEHOLLOW "\\dplinehollow"
+#define OOO_STRING_SVTOOLS_RTF_DPLINEPAL "\\dplinepal"
+#define OOO_STRING_SVTOOLS_RTF_DPLINESOLID "\\dplinesolid"
+#define OOO_STRING_SVTOOLS_RTF_DPLINEW "\\dplinew"
+#define OOO_STRING_SVTOOLS_RTF_DPPOLYCOUNT "\\dppolycount"
+#define OOO_STRING_SVTOOLS_RTF_DPPOLYGON "\\dppolygon"
+#define OOO_STRING_SVTOOLS_RTF_DPPOLYLINE "\\dppolyline"
+#define OOO_STRING_SVTOOLS_RTF_DPPTX "\\dpptx"
+#define OOO_STRING_SVTOOLS_RTF_DPPTY "\\dppty"
+#define OOO_STRING_SVTOOLS_RTF_DPRECT "\\dprect"
+#define OOO_STRING_SVTOOLS_RTF_DPROUNDR "\\dproundr"
+#define OOO_STRING_SVTOOLS_RTF_DPSHADOW "\\dpshadow"
+#define OOO_STRING_SVTOOLS_RTF_DPSHADX "\\dpshadx"
+#define OOO_STRING_SVTOOLS_RTF_DPSHADY "\\dpshady"
+#define OOO_STRING_SVTOOLS_RTF_DPTXBX "\\dptxbx"
+#define OOO_STRING_SVTOOLS_RTF_DPTXBXMAR "\\dptxbxmar"
+#define OOO_STRING_SVTOOLS_RTF_DPTXBXTEXT "\\dptxbxtext"
+#define OOO_STRING_SVTOOLS_RTF_DPX "\\dpx"
+#define OOO_STRING_SVTOOLS_RTF_DPXSIZE "\\dpxsize"
+#define OOO_STRING_SVTOOLS_RTF_DPY "\\dpy"
+#define OOO_STRING_SVTOOLS_RTF_DPYSIZE "\\dpysize"
+#define OOO_STRING_SVTOOLS_RTF_DS "\\ds"
+#define OOO_STRING_SVTOOLS_RTF_EMSPACE "\\emspace"
+#define OOO_STRING_SVTOOLS_RTF_ENSPACE "\\enspace"
+#define OOO_STRING_SVTOOLS_RTF_FBIDI "\\fbidi"
+#define OOO_STRING_SVTOOLS_RTF_FET "\\fet"
+#define OOO_STRING_SVTOOLS_RTF_FID "\\fid"
+#define OOO_STRING_SVTOOLS_RTF_FILE "\\file"
+#define OOO_STRING_SVTOOLS_RTF_FILETBL "\\filetbl"
+#define OOO_STRING_SVTOOLS_RTF_FLDALT "\\fldalt"
+#define OOO_STRING_SVTOOLS_RTF_FNETWORK "\\fnetwork"
+#define OOO_STRING_SVTOOLS_RTF_FONTEMB "\\fontemb"
+#define OOO_STRING_SVTOOLS_RTF_FONTFILE "\\fontfile"
+#define OOO_STRING_SVTOOLS_RTF_FORMDISP "\\formdisp"
+#define OOO_STRING_SVTOOLS_RTF_FORMPROT "\\formprot"
+#define OOO_STRING_SVTOOLS_RTF_FORMSHADE "\\formshade"
+#define OOO_STRING_SVTOOLS_RTF_FOSNUM "\\fosnum"
+#define OOO_STRING_SVTOOLS_RTF_FRELATIVE "\\frelative"
+#define OOO_STRING_SVTOOLS_RTF_FTNALT "\\ftnalt"
+#define OOO_STRING_SVTOOLS_RTF_FTNIL "\\ftnil"
+#define OOO_STRING_SVTOOLS_RTF_FTNNALC "\\ftnnalc"
+#define OOO_STRING_SVTOOLS_RTF_FTNNAR "\\ftnnar"
+#define OOO_STRING_SVTOOLS_RTF_FTNNAUC "\\ftnnauc"
+#define OOO_STRING_SVTOOLS_RTF_FTNNCHI "\\ftnnchi"
+#define OOO_STRING_SVTOOLS_RTF_FTNNRLC "\\ftnnrlc"
+#define OOO_STRING_SVTOOLS_RTF_FTNNRUC "\\ftnnruc"
+#define OOO_STRING_SVTOOLS_RTF_FTNRSTCONT "\\ftnrstcont"
+#define OOO_STRING_SVTOOLS_RTF_FTNRSTPG "\\ftnrstpg"
+#define OOO_STRING_SVTOOLS_RTF_FTTRUETYPE "\\fttruetype"
+#define OOO_STRING_SVTOOLS_RTF_FVALIDDOS "\\fvaliddos"
+#define OOO_STRING_SVTOOLS_RTF_FVALIDHPFS "\\fvalidhpfs"
+#define OOO_STRING_SVTOOLS_RTF_FVALIDMAC "\\fvalidmac"
+#define OOO_STRING_SVTOOLS_RTF_FVALIDNTFS "\\fvalidntfs"
+#define OOO_STRING_SVTOOLS_RTF_HYPHAUTO "\\hyphauto"
+#define OOO_STRING_SVTOOLS_RTF_HYPHCAPS "\\hyphcaps"
+#define OOO_STRING_SVTOOLS_RTF_HYPHCONSEC "\\hyphconsec"
+#define OOO_STRING_SVTOOLS_RTF_HYPHPAR "\\hyphpar"
+#define OOO_STRING_SVTOOLS_RTF_LINKSELF "\\linkself"
+#define OOO_STRING_SVTOOLS_RTF_LINKSTYLES "\\linkstyles"
+#define OOO_STRING_SVTOOLS_RTF_LTRCH "\\ltrch"
+#define OOO_STRING_SVTOOLS_RTF_LTRDOC "\\ltrdoc"
+#define OOO_STRING_SVTOOLS_RTF_LTRMARK "\\ltrmark"
+#define OOO_STRING_SVTOOLS_RTF_LTRPAR "\\ltrpar"
+#define OOO_STRING_SVTOOLS_RTF_LTRROW "\\ltrrow"
+#define OOO_STRING_SVTOOLS_RTF_LTRSECT "\\ltrsect"
+#define OOO_STRING_SVTOOLS_RTF_NOCOLBAL "\\nocolbal"
+#define OOO_STRING_SVTOOLS_RTF_NOEXTRASPRL "\\noextrasprl"
+#define OOO_STRING_SVTOOLS_RTF_NOTABIND "\\notabind"
+#define OOO_STRING_SVTOOLS_RTF_NOWIDCTLPAR "\\nowidctlpar"
+#define OOO_STRING_SVTOOLS_RTF_OBJALIAS "\\objalias"
+#define OOO_STRING_SVTOOLS_RTF_OBJALIGN "\\objalign"
+#define OOO_STRING_SVTOOLS_RTF_OBJAUTLINK "\\objautlink"
+#define OOO_STRING_SVTOOLS_RTF_OBJCLASS "\\objclass"
+#define OOO_STRING_SVTOOLS_RTF_OBJCROPB "\\objcropb"
+#define OOO_STRING_SVTOOLS_RTF_OBJCROPL "\\objcropl"
+#define OOO_STRING_SVTOOLS_RTF_OBJCROPR "\\objcropr"
+#define OOO_STRING_SVTOOLS_RTF_OBJCROPT "\\objcropt"
+#define OOO_STRING_SVTOOLS_RTF_OBJDATA "\\objdata"
+#define OOO_STRING_SVTOOLS_RTF_OBJECT "\\object"
+#define OOO_STRING_SVTOOLS_RTF_OBJEMB "\\objemb"
+#define OOO_STRING_SVTOOLS_RTF_OBJH "\\objh"
+#define OOO_STRING_SVTOOLS_RTF_OBJICEMB "\\objicemb"
+#define OOO_STRING_SVTOOLS_RTF_OBJLINK "\\objlink"
+#define OOO_STRING_SVTOOLS_RTF_OBJLOCK "\\objlock"
+#define OOO_STRING_SVTOOLS_RTF_OBJNAME "\\objname"
+#define OOO_STRING_SVTOOLS_RTF_OBJPUB "\\objpub"
+#define OOO_STRING_SVTOOLS_RTF_OBJSCALEX "\\objscalex"
+#define OOO_STRING_SVTOOLS_RTF_OBJSCALEY "\\objscaley"
+#define OOO_STRING_SVTOOLS_RTF_OBJSECT "\\objsect"
+#define OOO_STRING_SVTOOLS_RTF_OBJSETSIZE "\\objsetsize"
+#define OOO_STRING_SVTOOLS_RTF_OBJSUB "\\objsub"
+#define OOO_STRING_SVTOOLS_RTF_OBJTIME "\\objtime"
+#define OOO_STRING_SVTOOLS_RTF_OBJTRANSY "\\objtransy"
+#define OOO_STRING_SVTOOLS_RTF_OBJUPDATE "\\objupdate"
+#define OOO_STRING_SVTOOLS_RTF_OBJW "\\objw"
+#define OOO_STRING_SVTOOLS_RTF_OTBLRUL "\\otblrul"
+#define OOO_STRING_SVTOOLS_RTF_PGNHN "\\pgnhn"
+#define OOO_STRING_SVTOOLS_RTF_PGNHNSC "\\pgnhnsc"
+#define OOO_STRING_SVTOOLS_RTF_PGNHNSH "\\pgnhnsh"
+#define OOO_STRING_SVTOOLS_RTF_PGNHNSM "\\pgnhnsm"
+#define OOO_STRING_SVTOOLS_RTF_PGNHNSN "\\pgnhnsn"
+#define OOO_STRING_SVTOOLS_RTF_PGNHNSP "\\pgnhnsp"
+#define OOO_STRING_SVTOOLS_RTF_PICBMP "\\picbmp"
+#define OOO_STRING_SVTOOLS_RTF_PICBPP "\\picbpp"
+#define OOO_STRING_SVTOOLS_RTF_PN "\\pn"
+#define OOO_STRING_SVTOOLS_RTF_PNACROSS "\\pnacross"
+#define OOO_STRING_SVTOOLS_RTF_PNB "\\pnb"
+#define OOO_STRING_SVTOOLS_RTF_PNCAPS "\\pncaps"
+#define OOO_STRING_SVTOOLS_RTF_PNCARD "\\pncard"
+#define OOO_STRING_SVTOOLS_RTF_PNCF "\\pncf"
+#define OOO_STRING_SVTOOLS_RTF_PNDEC "\\pndec"
+#define OOO_STRING_SVTOOLS_RTF_PNF "\\pnf"
+#define OOO_STRING_SVTOOLS_RTF_PNFS "\\pnfs"
+#define OOO_STRING_SVTOOLS_RTF_PNHANG "\\pnhang"
+#define OOO_STRING_SVTOOLS_RTF_PNI "\\pni"
+#define OOO_STRING_SVTOOLS_RTF_PNINDENT "\\pnindent"
+#define OOO_STRING_SVTOOLS_RTF_PNLCLTR "\\pnlcltr"
+#define OOO_STRING_SVTOOLS_RTF_PNLCRM "\\pnlcrm"
+#define OOO_STRING_SVTOOLS_RTF_PNLVL "\\pnlvl"
+#define OOO_STRING_SVTOOLS_RTF_PNLVLBLT "\\pnlvlblt"
+#define OOO_STRING_SVTOOLS_RTF_PNLVLBODY "\\pnlvlbody"
+#define OOO_STRING_SVTOOLS_RTF_PNLVLCONT "\\pnlvlcont"
+#define OOO_STRING_SVTOOLS_RTF_PNNUMONCE "\\pnnumonce"
+#define OOO_STRING_SVTOOLS_RTF_PNORD "\\pnord"
+#define OOO_STRING_SVTOOLS_RTF_PNORDT "\\pnordt"
+#define OOO_STRING_SVTOOLS_RTF_PNPREV "\\pnprev"
+#define OOO_STRING_SVTOOLS_RTF_PNQC "\\pnqc"
+#define OOO_STRING_SVTOOLS_RTF_PNQL "\\pnql"
+#define OOO_STRING_SVTOOLS_RTF_PNQR "\\pnqr"
+#define OOO_STRING_SVTOOLS_RTF_PNRESTART "\\pnrestart"
+#define OOO_STRING_SVTOOLS_RTF_PNSCAPS "\\pnscaps"
+#define OOO_STRING_SVTOOLS_RTF_PNSECLVL "\\pnseclvl"
+#define OOO_STRING_SVTOOLS_RTF_PNSP "\\pnsp"
+#define OOO_STRING_SVTOOLS_RTF_PNSTART "\\pnstart"
+#define OOO_STRING_SVTOOLS_RTF_PNSTRIKE "\\pnstrike"
+#define OOO_STRING_SVTOOLS_RTF_PNTEXT "\\pntext"
+#define OOO_STRING_SVTOOLS_RTF_PNTXTA "\\pntxta"
+#define OOO_STRING_SVTOOLS_RTF_PNTXTB "\\pntxtb"
+#define OOO_STRING_SVTOOLS_RTF_PNUCLTR "\\pnucltr"
+#define OOO_STRING_SVTOOLS_RTF_PNUCRM "\\pnucrm"
+#define OOO_STRING_SVTOOLS_RTF_PNUL "\\pnul"
+#define OOO_STRING_SVTOOLS_RTF_PNULD "\\pnuld"
+#define OOO_STRING_SVTOOLS_RTF_PNULDB "\\pnuldb"
+#define OOO_STRING_SVTOOLS_RTF_PNULNONE "\\pnulnone"
+#define OOO_STRING_SVTOOLS_RTF_PNULW "\\pnulw"
+#define OOO_STRING_SVTOOLS_RTF_PRCOLBL "\\prcolbl"
+#define OOO_STRING_SVTOOLS_RTF_PRINTDATA "\\printdata"
+#define OOO_STRING_SVTOOLS_RTF_PSZ "\\psz"
+#define OOO_STRING_SVTOOLS_RTF_PUBAUTO "\\pubauto"
+#define OOO_STRING_SVTOOLS_RTF_RESULT "\\result"
+#define OOO_STRING_SVTOOLS_RTF_REVAUTH "\\revauth"
+#define OOO_STRING_SVTOOLS_RTF_REVDTTM "\\revdttm"
+#define OOO_STRING_SVTOOLS_RTF_REVPROT "\\revprot"
+#define OOO_STRING_SVTOOLS_RTF_REVTBL "\\revtbl"
+#define OOO_STRING_SVTOOLS_RTF_RSLTBMP "\\rsltbmp"
+#define OOO_STRING_SVTOOLS_RTF_RSLTMERGE "\\rsltmerge"
+#define OOO_STRING_SVTOOLS_RTF_RSLTPICT "\\rsltpict"
+#define OOO_STRING_SVTOOLS_RTF_RSLTRTF "\\rsltrtf"
+#define OOO_STRING_SVTOOLS_RTF_RSLTTXT "\\rslttxt"
+#define OOO_STRING_SVTOOLS_RTF_RTLCH "\\rtlch"
+#define OOO_STRING_SVTOOLS_RTF_RTLDOC "\\rtldoc"
+#define OOO_STRING_SVTOOLS_RTF_RTLMARK "\\rtlmark"
+#define OOO_STRING_SVTOOLS_RTF_RTLPAR "\\rtlpar"
+#define OOO_STRING_SVTOOLS_RTF_RTLROW "\\rtlrow"
+#define OOO_STRING_SVTOOLS_RTF_RTLSECT "\\rtlsect"
+#define OOO_STRING_SVTOOLS_RTF_SEC "\\sec"
+#define OOO_STRING_SVTOOLS_RTF_SECTNUM "\\sectnum"
+#define OOO_STRING_SVTOOLS_RTF_SECTUNLOCKED "\\sectunlocked"
+#define OOO_STRING_SVTOOLS_RTF_SLMULT "\\slmult"
+#define OOO_STRING_SVTOOLS_RTF_SOFTCOL "\\softcol"
+#define OOO_STRING_SVTOOLS_RTF_SOFTLHEIGHT "\\softlheight"
+#define OOO_STRING_SVTOOLS_RTF_SOFTLINE "\\softline"
+#define OOO_STRING_SVTOOLS_RTF_SOFTPAGE "\\softpage"
+#define OOO_STRING_SVTOOLS_RTF_SPRSSPBF "\\sprsspbf"
+#define OOO_STRING_SVTOOLS_RTF_SPRSTSP "\\sprstsp"
+#define OOO_STRING_SVTOOLS_RTF_SUBDOCUMENT "\\subdocument"
+#define OOO_STRING_SVTOOLS_RTF_SWPBDR "\\swpbdr"
+#define OOO_STRING_SVTOOLS_RTF_TCN "\\tcn"
+#define OOO_STRING_SVTOOLS_RTF_TRANSMF "\\transmf"
+#define OOO_STRING_SVTOOLS_RTF_TRBRDRB "\\trbrdrb"
+#define OOO_STRING_SVTOOLS_RTF_TRBRDRH "\\trbrdrh"
+#define OOO_STRING_SVTOOLS_RTF_TRBRDRL "\\trbrdrl"
+#define OOO_STRING_SVTOOLS_RTF_TRBRDRR "\\trbrdrr"
+#define OOO_STRING_SVTOOLS_RTF_TRBRDRT "\\trbrdrt"
+#define OOO_STRING_SVTOOLS_RTF_TRBRDRV "\\trbrdrv"
+#define OOO_STRING_SVTOOLS_RTF_TRHDR "\\trhdr"
+#define OOO_STRING_SVTOOLS_RTF_TRKEEP "\\trkeep"
+#define OOO_STRING_SVTOOLS_RTF_TRPADDB "\\trpaddb"
+#define OOO_STRING_SVTOOLS_RTF_TRPADDL "\\trpaddl"
+#define OOO_STRING_SVTOOLS_RTF_TRPADDR "\\trpaddr"
+#define OOO_STRING_SVTOOLS_RTF_TRPADDT "\\trpaddt"
+#define OOO_STRING_SVTOOLS_RTF_TRPADDFB "\\trpaddfb"
+#define OOO_STRING_SVTOOLS_RTF_TRPADDFL "\\trpaddfl"
+#define OOO_STRING_SVTOOLS_RTF_TRPADDFR "\\trpaddfr"
+#define OOO_STRING_SVTOOLS_RTF_TRPADDFT "\\trpaddft"
+#define OOO_STRING_SVTOOLS_RTF_WRAPTRSP "\\wraptrsp"
+#define OOO_STRING_SVTOOLS_RTF_XEF "\\xef"
+#define OOO_STRING_SVTOOLS_RTF_ZWJ "\\zwj"
+#define OOO_STRING_SVTOOLS_RTF_ZWNJ "\\zwnj"
+
+// neue Tokens zur 1.5
+#define OOO_STRING_SVTOOLS_RTF_ABSLOCK "\\abslock"
+#define OOO_STRING_SVTOOLS_RTF_ADJUSTRIGHT "\\adjustright"
+#define OOO_STRING_SVTOOLS_RTF_AFTNNCHOSUNG "\\aftnnchosung"
+#define OOO_STRING_SVTOOLS_RTF_AFTNNCNUM "\\aftnncnum"
+#define OOO_STRING_SVTOOLS_RTF_AFTNNDBAR "\\aftnndbar"
+#define OOO_STRING_SVTOOLS_RTF_AFTNNDBNUM "\\aftnndbnum"
+#define OOO_STRING_SVTOOLS_RTF_AFTNNDBNUMD "\\aftnndbnumd"
+#define OOO_STRING_SVTOOLS_RTF_AFTNNDBNUMK "\\aftnndbnumk"
+#define OOO_STRING_SVTOOLS_RTF_AFTNNDBNUMT "\\aftnndbnumt"
+#define OOO_STRING_SVTOOLS_RTF_AFTNNGANADA "\\aftnnganada"
+#define OOO_STRING_SVTOOLS_RTF_AFTNNGBNUM "\\aftnngbnum"
+#define OOO_STRING_SVTOOLS_RTF_AFTNNGBNUMD "\\aftnngbnumd"
+#define OOO_STRING_SVTOOLS_RTF_AFTNNGBNUMK "\\aftnngbnumk"
+#define OOO_STRING_SVTOOLS_RTF_AFTNNGBNUML "\\aftnngbnuml"
+#define OOO_STRING_SVTOOLS_RTF_AFTNNZODIAC "\\aftnnzodiac"
+#define OOO_STRING_SVTOOLS_RTF_AFTNNZODIACD "\\aftnnzodiacd"
+#define OOO_STRING_SVTOOLS_RTF_AFTNNZODIACL "\\aftnnzodiacl"
+#define OOO_STRING_SVTOOLS_RTF_ANIMTEXT "\\animtext"
+#define OOO_STRING_SVTOOLS_RTF_ANSICPG "\\ansicpg"
+#define OOO_STRING_SVTOOLS_RTF_BACKGROUND "\\background"
+#define OOO_STRING_SVTOOLS_RTF_BDBFHDR "\\bdbfhdr"
+#define OOO_STRING_SVTOOLS_RTF_BLIPTAG "\\bliptag"
+#define OOO_STRING_SVTOOLS_RTF_BLIPUID "\\blipuid"
+#define OOO_STRING_SVTOOLS_RTF_BLIPUPI "\\blipupi"
+#define OOO_STRING_SVTOOLS_RTF_BRDRART "\\brdrart"
+#define OOO_STRING_SVTOOLS_RTF_BRDRDASHD "\\brdrdashd"
+#define OOO_STRING_SVTOOLS_RTF_BRDRDASHDD "\\brdrdashdd"
+#define OOO_STRING_SVTOOLS_RTF_BRDRDASHDOTSTR "\\brdrdashdotstr"
+#define OOO_STRING_SVTOOLS_RTF_BRDRDASHSM "\\brdrdashsm"
+#define OOO_STRING_SVTOOLS_RTF_BRDREMBOSS "\\brdremboss"
+#define OOO_STRING_SVTOOLS_RTF_BRDRENGRAVE "\\brdrengrave"
+#define OOO_STRING_SVTOOLS_RTF_BRDRFRAME "\\brdrframe"
+#define OOO_STRING_SVTOOLS_RTF_BRDRTHTNLG "\\brdrthtnlg"
+#define OOO_STRING_SVTOOLS_RTF_BRDRTHTNMG "\\brdrthtnmg"
+#define OOO_STRING_SVTOOLS_RTF_BRDRTHTNSG "\\brdrthtnsg"
+#define OOO_STRING_SVTOOLS_RTF_BRDRTNTHLG "\\brdrtnthlg"
+#define OOO_STRING_SVTOOLS_RTF_BRDRTNTHMG "\\brdrtnthmg"
+#define OOO_STRING_SVTOOLS_RTF_BRDRTNTHSG "\\brdrtnthsg"
+#define OOO_STRING_SVTOOLS_RTF_BRDRTNTHTNLG "\\brdrtnthtnlg"
+#define OOO_STRING_SVTOOLS_RTF_BRDRTNTHTNMG "\\brdrtnthtnmg"
+#define OOO_STRING_SVTOOLS_RTF_BRDRTNTHTNSG "\\brdrtnthtnsg"
+#define OOO_STRING_SVTOOLS_RTF_BRDRTRIPLE "\\brdrtriple"
+#define OOO_STRING_SVTOOLS_RTF_BRDRWAVY "\\brdrwavy"
+#define OOO_STRING_SVTOOLS_RTF_BRDRWAVYDB "\\brdrwavydb"
+#define OOO_STRING_SVTOOLS_RTF_CATEGORY "\\category"
+#define OOO_STRING_SVTOOLS_RTF_CGRID "\\cgrid"
+#define OOO_STRING_SVTOOLS_RTF_CHARSCALEX "\\charscalex"
+#define OOO_STRING_SVTOOLS_RTF_CHBGBDIAG "\\chbgbdiag"
+#define OOO_STRING_SVTOOLS_RTF_CHBGCROSS "\\chbgcross"
+#define OOO_STRING_SVTOOLS_RTF_CHBGDCROSS "\\chbgdcross"
+#define OOO_STRING_SVTOOLS_RTF_CHBGDKBDIAG "\\chbgdkbdiag"
+#define OOO_STRING_SVTOOLS_RTF_CHBGDKCROSS "\\chbgdkcross"
+#define OOO_STRING_SVTOOLS_RTF_CHBGDKDCROSS "\\chbgdkdcross"
+#define OOO_STRING_SVTOOLS_RTF_CHBGDKFDIAG "\\chbgdkfdiag"
+#define OOO_STRING_SVTOOLS_RTF_CHBGDKHORIZ "\\chbgdkhoriz"
+#define OOO_STRING_SVTOOLS_RTF_CHBGDKVERT "\\chbgdkvert"
+#define OOO_STRING_SVTOOLS_RTF_CHBGFDIAG "\\chbgfdiag"
+#define OOO_STRING_SVTOOLS_RTF_CHBGHORIZ "\\chbghoriz"
+#define OOO_STRING_SVTOOLS_RTF_CHBGVERT "\\chbgvert"
+#define OOO_STRING_SVTOOLS_RTF_CHBRDR "\\chbrdr"
+#define OOO_STRING_SVTOOLS_RTF_CHCBPAT "\\chcbpat"
+#define OOO_STRING_SVTOOLS_RTF_CHCFPAT "\\chcfpat"
+#define OOO_STRING_SVTOOLS_RTF_CHSHDNG "\\chshdng"
+#define OOO_STRING_SVTOOLS_RTF_CLPADL "\\clpadl"
+#define OOO_STRING_SVTOOLS_RTF_CLPADT "\\clpadt"
+#define OOO_STRING_SVTOOLS_RTF_CLPADB "\\clpadb"
+#define OOO_STRING_SVTOOLS_RTF_CLPADR "\\clpadr"
+#define OOO_STRING_SVTOOLS_RTF_CLPADFL "\\clpadfl"
+#define OOO_STRING_SVTOOLS_RTF_CLPADFT "\\clpadft"
+#define OOO_STRING_SVTOOLS_RTF_CLPADFB "\\clpadfb"
+#define OOO_STRING_SVTOOLS_RTF_CLPADFR "\\clpadfr"
+#define OOO_STRING_SVTOOLS_RTF_CLTXLRTB "\\cltxlrtb"
+#define OOO_STRING_SVTOOLS_RTF_CLTXTBRL "\\cltxtbrl"
+#define OOO_STRING_SVTOOLS_RTF_CLVERTALB "\\clvertalb"
+#define OOO_STRING_SVTOOLS_RTF_CLVERTALC "\\clvertalc"
+#define OOO_STRING_SVTOOLS_RTF_CLVERTALT "\\clvertalt"
+#define OOO_STRING_SVTOOLS_RTF_CLVMGF "\\clvmgf"
+#define OOO_STRING_SVTOOLS_RTF_CLVMRG "\\clvmrg"
+#define OOO_STRING_SVTOOLS_RTF_CLTXTBRLV "\\cltxtbrlv"
+#define OOO_STRING_SVTOOLS_RTF_CLTXBTLR "\\cltxbtlr"
+#define OOO_STRING_SVTOOLS_RTF_CLTXLRTBV "\\cltxlrtbv"
+#define OOO_STRING_SVTOOLS_RTF_COMPANY "\\company"
+#define OOO_STRING_SVTOOLS_RTF_CRAUTH "\\crauth"
+#define OOO_STRING_SVTOOLS_RTF_CRDATE "\\crdate"
+#define OOO_STRING_SVTOOLS_RTF_DATE "\\date"
+#define OOO_STRING_SVTOOLS_RTF_DEFLANGFE "\\deflangfe"
+#define OOO_STRING_SVTOOLS_RTF_DFRAUTH "\\dfrauth"
+#define OOO_STRING_SVTOOLS_RTF_DFRDATE "\\dfrdate"
+#define OOO_STRING_SVTOOLS_RTF_DFRSTART "\\dfrstart"
+#define OOO_STRING_SVTOOLS_RTF_DFRSTOP "\\dfrstop"
+#define OOO_STRING_SVTOOLS_RTF_DFRXST "\\dfrxst"
+#define OOO_STRING_SVTOOLS_RTF_DGMARGIN "\\dgmargin"
+#define OOO_STRING_SVTOOLS_RTF_DNTBLNSBDB "\\dntblnsbdb"
+#define OOO_STRING_SVTOOLS_RTF_DOCTYPE "\\doctype"
+#define OOO_STRING_SVTOOLS_RTF_DOCVAR "\\docvar"
+#define OOO_STRING_SVTOOLS_RTF_DPCODESCENT "\\dpcodescent"
+#define OOO_STRING_SVTOOLS_RTF_EMBO "\\embo"
+#define OOO_STRING_SVTOOLS_RTF_EMFBLIP "\\emfblip"
+#define OOO_STRING_SVTOOLS_RTF_EXPSHRTN "\\expshrtn"
+#define OOO_STRING_SVTOOLS_RTF_FAAUTO "\\faauto"
+#define OOO_STRING_SVTOOLS_RTF_FBIAS "\\fbias"
+#define OOO_STRING_SVTOOLS_RTF_FFDEFRES "\\ffdefres"
+#define OOO_STRING_SVTOOLS_RTF_FFDEFTEXT "\\ffdeftext"
+#define OOO_STRING_SVTOOLS_RTF_FFENTRYMCR "\\ffentrymcr"
+#define OOO_STRING_SVTOOLS_RTF_FFEXITMCR "\\ffexitmcr"
+#define OOO_STRING_SVTOOLS_RTF_FFFORMAT "\\ffformat"
+#define OOO_STRING_SVTOOLS_RTF_FFHASLISTBOX "\\ffhaslistbox"
+#define OOO_STRING_SVTOOLS_RTF_FFHELPTEXT "\\ffhelptext"
+#define OOO_STRING_SVTOOLS_RTF_FFHPS "\\ffhps"
+#define OOO_STRING_SVTOOLS_RTF_FFL "\\ffl"
+#define OOO_STRING_SVTOOLS_RTF_FFMAXLEN "\\ffmaxlen"
+#define OOO_STRING_SVTOOLS_RTF_FFNAME "\\ffname"
+#define OOO_STRING_SVTOOLS_RTF_FFOWNHELP "\\ffownhelp"
+#define OOO_STRING_SVTOOLS_RTF_FFOWNSTAT "\\ffownstat"
+#define OOO_STRING_SVTOOLS_RTF_FFPROT "\\ffprot"
+#define OOO_STRING_SVTOOLS_RTF_FFRECALC "\\ffrecalc"
+#define OOO_STRING_SVTOOLS_RTF_FFRES "\\ffres"
+#define OOO_STRING_SVTOOLS_RTF_FFSIZE "\\ffsize"
+#define OOO_STRING_SVTOOLS_RTF_FFSTATTEXT "\\ffstattext"
+#define OOO_STRING_SVTOOLS_RTF_FFTYPE "\\fftype"
+#define OOO_STRING_SVTOOLS_RTF_FFTYPETXT "\\fftypetxt"
+#define OOO_STRING_SVTOOLS_RTF_FLDTYPE "\\fldtype"
+#define OOO_STRING_SVTOOLS_RTF_FNAME "\\fname"
+#define OOO_STRING_SVTOOLS_RTF_FORMFIELD "\\formfield"
+#define OOO_STRING_SVTOOLS_RTF_FROMTEXT "\\fromtext"
+#define OOO_STRING_SVTOOLS_RTF_FTNNCHOSUNG "\\ftnnchosung"
+#define OOO_STRING_SVTOOLS_RTF_FTNNCNUM "\\ftnncnum"
+#define OOO_STRING_SVTOOLS_RTF_FTNNDBAR "\\ftnndbar"
+#define OOO_STRING_SVTOOLS_RTF_FTNNDBNUM "\\ftnndbnum"
+#define OOO_STRING_SVTOOLS_RTF_FTNNDBNUMD "\\ftnndbnumd"
+#define OOO_STRING_SVTOOLS_RTF_FTNNDBNUMK "\\ftnndbnumk"
+#define OOO_STRING_SVTOOLS_RTF_FTNNDBNUMT "\\ftnndbnumt"
+#define OOO_STRING_SVTOOLS_RTF_FTNNGANADA "\\ftnnganada"
+#define OOO_STRING_SVTOOLS_RTF_FTNNGBNUM "\\ftnngbnum"
+#define OOO_STRING_SVTOOLS_RTF_FTNNGBNUMD "\\ftnngbnumd"
+#define OOO_STRING_SVTOOLS_RTF_FTNNGBNUMK "\\ftnngbnumk"
+#define OOO_STRING_SVTOOLS_RTF_FTNNGBNUML "\\ftnngbnuml"
+#define OOO_STRING_SVTOOLS_RTF_FTNNZODIAC "\\ftnnzodiac"
+#define OOO_STRING_SVTOOLS_RTF_FTNNZODIACD "\\ftnnzodiacd"
+#define OOO_STRING_SVTOOLS_RTF_FTNNZODIACL "\\ftnnzodiacl"
+#define OOO_STRING_SVTOOLS_RTF_G "\\g"
+#define OOO_STRING_SVTOOLS_RTF_GCW "\\gcw"
+#define OOO_STRING_SVTOOLS_RTF_GRIDTBL "\\gridtbl"
+#define OOO_STRING_SVTOOLS_RTF_HIGHLIGHT "\\highlight"
+#define OOO_STRING_SVTOOLS_RTF_HLFR "\\hlfr"
+#define OOO_STRING_SVTOOLS_RTF_HLINKBASE "\\hlinkbase"
+#define OOO_STRING_SVTOOLS_RTF_HLLOC "\\hlloc"
+#define OOO_STRING_SVTOOLS_RTF_HLSRC "\\hlsrc"
+#define OOO_STRING_SVTOOLS_RTF_ILVL "\\ilvl"
+#define OOO_STRING_SVTOOLS_RTF_IMPR "\\impr"
+#define OOO_STRING_SVTOOLS_RTF_JPEGBLIP "\\jpegblip"
+#define OOO_STRING_SVTOOLS_RTF_LEVELFOLLOW "\\levelfollow"
+#define OOO_STRING_SVTOOLS_RTF_LEVELINDENT "\\levelindent"
+#define OOO_STRING_SVTOOLS_RTF_LEVELJC "\\leveljc"
+#define OOO_STRING_SVTOOLS_RTF_LEVELLEGAL "\\levellegal"
+#define OOO_STRING_SVTOOLS_RTF_LEVELNFC "\\levelnfc"
+#define OOO_STRING_SVTOOLS_RTF_LEVELNORESTART "\\levelnorestart"
+#define OOO_STRING_SVTOOLS_RTF_LEVELNUMBERS "\\levelnumbers"
+#define OOO_STRING_SVTOOLS_RTF_LEVELOLD "\\levelold"
+#define OOO_STRING_SVTOOLS_RTF_LEVELPREV "\\levelprev"
+#define OOO_STRING_SVTOOLS_RTF_LEVELPREVSPACE "\\levelprevspace"
+#define OOO_STRING_SVTOOLS_RTF_LEVELSPACE "\\levelspace"
+#define OOO_STRING_SVTOOLS_RTF_LEVELSTARTAT "\\levelstartat"
+#define OOO_STRING_SVTOOLS_RTF_LEVELTEXT "\\leveltext"
+#define OOO_STRING_SVTOOLS_RTF_LINKVAL "\\linkval"
+#define OOO_STRING_SVTOOLS_RTF_LIST "\\list"
+#define OOO_STRING_SVTOOLS_RTF_LISTID "\\listid"
+#define OOO_STRING_SVTOOLS_RTF_LISTLEVEL "\\listlevel"
+#define OOO_STRING_SVTOOLS_RTF_LISTNAME "\\listname"
+#define OOO_STRING_SVTOOLS_RTF_LISTOVERRIDE "\\listoverride"
+#define OOO_STRING_SVTOOLS_RTF_LISTOVERRIDECOUNT "\\listoverridecount"
+#define OOO_STRING_SVTOOLS_RTF_LISTOVERRIDEFORMAT "\\listoverrideformat"
+#define OOO_STRING_SVTOOLS_RTF_LISTOVERRIDESTART "\\listoverridestart"
+#define OOO_STRING_SVTOOLS_RTF_LISTOVERRIDETABLE "\\listoverridetable"
+#define OOO_STRING_SVTOOLS_RTF_LISTRESTARTHDN "\\listrestarthdn"
+#define OOO_STRING_SVTOOLS_RTF_LISTSIMPLE "\\listsimple"
+#define OOO_STRING_SVTOOLS_RTF_LISTTABLE "\\listtable"
+#define OOO_STRING_SVTOOLS_RTF_LISTTEMPLATEID "\\listtemplateid"
+#define OOO_STRING_SVTOOLS_RTF_LISTTEXT "\\listtext"
+#define OOO_STRING_SVTOOLS_RTF_LS "\\ls"
+#define OOO_STRING_SVTOOLS_RTF_LYTEXCTTP "\\lytexcttp"
+#define OOO_STRING_SVTOOLS_RTF_LYTPRTMET "\\lytprtmet"
+#define OOO_STRING_SVTOOLS_RTF_MANAGER "\\manager"
+#define OOO_STRING_SVTOOLS_RTF_MSMCAP "\\msmcap"
+#define OOO_STRING_SVTOOLS_RTF_NOFCHARSWS "\\nofcharsws"
+#define OOO_STRING_SVTOOLS_RTF_NOLEAD "\\nolead"
+#define OOO_STRING_SVTOOLS_RTF_NONSHPPICT "\\nonshppict"
+#define OOO_STRING_SVTOOLS_RTF_NOSECTEXPAND "\\nosectexpand"
+#define OOO_STRING_SVTOOLS_RTF_NOSNAPLINEGRID "\\nosnaplinegrid"
+#define OOO_STRING_SVTOOLS_RTF_NOSPACEFORUL "\\nospaceforul"
+#define OOO_STRING_SVTOOLS_RTF_NOULTRLSPC "\\noultrlspc"
+#define OOO_STRING_SVTOOLS_RTF_NOXLATTOYEN "\\noxlattoyen"
+#define OOO_STRING_SVTOOLS_RTF_OBJATTPH "\\objattph"
+#define OOO_STRING_SVTOOLS_RTF_OBJHTML "\\objhtml"
+#define OOO_STRING_SVTOOLS_RTF_OBJOCX "\\objocx"
+#define OOO_STRING_SVTOOLS_RTF_OLDLINEWRAP "\\oldlinewrap"
+#define OOO_STRING_SVTOOLS_RTF_OUTLINELEVEL "\\outlinelevel"
+#define OOO_STRING_SVTOOLS_RTF_OVERLAY "\\overlay"
+#define OOO_STRING_SVTOOLS_RTF_PANOSE "\\panose"
+#define OOO_STRING_SVTOOLS_RTF_PGBRDRB "\\pgbrdrb"
+#define OOO_STRING_SVTOOLS_RTF_PGBRDRFOOT "\\pgbrdrfoot"
+#define OOO_STRING_SVTOOLS_RTF_PGBRDRHEAD "\\pgbrdrhead"
+#define OOO_STRING_SVTOOLS_RTF_PGBRDRL "\\pgbrdrl"
+#define OOO_STRING_SVTOOLS_RTF_PGBRDROPT "\\pgbrdropt"
+#define OOO_STRING_SVTOOLS_RTF_PGBRDRR "\\pgbrdrr"
+#define OOO_STRING_SVTOOLS_RTF_PGBRDRSNAP "\\pgbrdrsnap"
+#define OOO_STRING_SVTOOLS_RTF_PGBRDRT "\\pgbrdrt"
+#define OOO_STRING_SVTOOLS_RTF_PGNCHOSUNG "\\pgnchosung"
+#define OOO_STRING_SVTOOLS_RTF_PGNCNUM "\\pgncnum"
+#define OOO_STRING_SVTOOLS_RTF_PGNDBNUMK "\\pgndbnumk"
+#define OOO_STRING_SVTOOLS_RTF_PGNDBNUMT "\\pgndbnumt"
+#define OOO_STRING_SVTOOLS_RTF_PGNGANADA "\\pgnganada"
+#define OOO_STRING_SVTOOLS_RTF_PGNGBNUM "\\pgngbnum"
+#define OOO_STRING_SVTOOLS_RTF_PGNGBNUMD "\\pgngbnumd"
+#define OOO_STRING_SVTOOLS_RTF_PGNGBNUMK "\\pgngbnumk"
+#define OOO_STRING_SVTOOLS_RTF_PGNGBNUML "\\pgngbnuml"
+#define OOO_STRING_SVTOOLS_RTF_PGNZODIAC "\\pgnzodiac"
+#define OOO_STRING_SVTOOLS_RTF_PGNZODIACD "\\pgnzodiacd"
+#define OOO_STRING_SVTOOLS_RTF_PGNZODIACL "\\pgnzodiacl"
+#define OOO_STRING_SVTOOLS_RTF_PICPROP "\\picprop"
+#define OOO_STRING_SVTOOLS_RTF_PNAIUEO "\\pnaiueo"
+#define OOO_STRING_SVTOOLS_RTF_PNAIUEOD "\\pnaiueod"
+#define OOO_STRING_SVTOOLS_RTF_PNCHOSUNG "\\pnchosung"
+#define OOO_STRING_SVTOOLS_RTF_PNDBNUMD "\\pndbnumd"
+#define OOO_STRING_SVTOOLS_RTF_PNDBNUMK "\\pndbnumk"
+#define OOO_STRING_SVTOOLS_RTF_PNDBNUML "\\pndbnuml"
+#define OOO_STRING_SVTOOLS_RTF_PNDBNUMT "\\pndbnumt"
+#define OOO_STRING_SVTOOLS_RTF_PNGANADA "\\pnganada"
+#define OOO_STRING_SVTOOLS_RTF_PNGBLIP "\\pngblip"
+#define OOO_STRING_SVTOOLS_RTF_PNGBNUM "\\pngbnum"
+#define OOO_STRING_SVTOOLS_RTF_PNGBNUMD "\\pngbnumd"
+#define OOO_STRING_SVTOOLS_RTF_PNGBNUMK "\\pngbnumk"
+#define OOO_STRING_SVTOOLS_RTF_PNGBNUML "\\pngbnuml"
+#define OOO_STRING_SVTOOLS_RTF_PNRAUTH "\\pnrauth"
+#define OOO_STRING_SVTOOLS_RTF_PNRDATE "\\pnrdate"
+#define OOO_STRING_SVTOOLS_RTF_PNRNFC "\\pnrnfc"
+#define OOO_STRING_SVTOOLS_RTF_PNRNOT "\\pnrnot"
+#define OOO_STRING_SVTOOLS_RTF_PNRPNBR "\\pnrpnbr"
+#define OOO_STRING_SVTOOLS_RTF_PNRRGB "\\pnrrgb"
+#define OOO_STRING_SVTOOLS_RTF_PNRSTART "\\pnrstart"
+#define OOO_STRING_SVTOOLS_RTF_PNRSTOP "\\pnrstop"
+#define OOO_STRING_SVTOOLS_RTF_PNRXST "\\pnrxst"
+#define OOO_STRING_SVTOOLS_RTF_PNZODIAC "\\pnzodiac"
+#define OOO_STRING_SVTOOLS_RTF_PNZODIACD "\\pnzodiacd"
+#define OOO_STRING_SVTOOLS_RTF_PNZODIACL "\\pnzodiacl"
+#define OOO_STRING_SVTOOLS_RTF_LFOLEVEL "\\lfolevel"
+#define OOO_STRING_SVTOOLS_RTF_POSYIN "\\posyin"
+#define OOO_STRING_SVTOOLS_RTF_POSYOUT "\\posyout"
+#define OOO_STRING_SVTOOLS_RTF_PRIVATE "\\private"
+#define OOO_STRING_SVTOOLS_RTF_PROPNAME "\\propname"
+#define OOO_STRING_SVTOOLS_RTF_PROPTYPE "\\proptype"
+#define OOO_STRING_SVTOOLS_RTF_REVAUTHDEL "\\revauthdel"
+#define OOO_STRING_SVTOOLS_RTF_REVDTTMDEL "\\revdttmdel"
+#define OOO_STRING_SVTOOLS_RTF_SAUTOUPD "\\sautoupd"
+#define OOO_STRING_SVTOOLS_RTF_SECTDEFAULTCL "\\sectdefaultcl"
+#define OOO_STRING_SVTOOLS_RTF_SECTEXPAND "\\sectexpand"
+#define OOO_STRING_SVTOOLS_RTF_SECTLINEGRID "\\sectlinegrid"
+#define OOO_STRING_SVTOOLS_RTF_SECTSPECIFYCL "\\sectspecifycl"
+#define OOO_STRING_SVTOOLS_RTF_SECTSPECIFYL "\\sectspecifyl"
+#define OOO_STRING_SVTOOLS_RTF_SHIDDEN "\\shidden"
+#define OOO_STRING_SVTOOLS_RTF_SHPBOTTOM "\\shpbottom"
+#define OOO_STRING_SVTOOLS_RTF_SHPBXCOLUMN "\\shpbxcolumn"
+#define OOO_STRING_SVTOOLS_RTF_SHPBXMARGIN "\\shpbxmargin"
+#define OOO_STRING_SVTOOLS_RTF_SHPBXPAGE "\\shpbxpage"
+#define OOO_STRING_SVTOOLS_RTF_SHPBXIGNORE "\\shpbxignore"
+#define OOO_STRING_SVTOOLS_RTF_SHPBYMARGIN "\\shpbymargin"
+#define OOO_STRING_SVTOOLS_RTF_SHPBYPAGE "\\shpbypage"
+#define OOO_STRING_SVTOOLS_RTF_SHPBYPARA "\\shpbypara"
+#define OOO_STRING_SVTOOLS_RTF_SHPBYIGNORE "\\shpbyignore"
+#define OOO_STRING_SVTOOLS_RTF_SHPFBLWTXT "\\shpfblwtxt"
+#define OOO_STRING_SVTOOLS_RTF_SHPFHDR "\\shpfhdr"
+#define OOO_STRING_SVTOOLS_RTF_SHPGRP "\\shpgrp"
+#define OOO_STRING_SVTOOLS_RTF_SHPINST "\\shpinst"
+#define OOO_STRING_SVTOOLS_RTF_SHPLEFT "\\shpleft"
+#define OOO_STRING_SVTOOLS_RTF_SHPLID "\\shplid"
+#define OOO_STRING_SVTOOLS_RTF_SHPLOCKANCHOR "\\shplockanchor"
+#define OOO_STRING_SVTOOLS_RTF_SHPPICT "\\shppict"
+#define OOO_STRING_SVTOOLS_RTF_SHPRIGHT "\\shpright"
+#define OOO_STRING_SVTOOLS_RTF_SHPRSLT "\\shprslt"
+#define OOO_STRING_SVTOOLS_RTF_SHPTOP "\\shptop"
+#define OOO_STRING_SVTOOLS_RTF_SHPTXT "\\shptxt"
+#define OOO_STRING_SVTOOLS_RTF_SHPWRK "\\shpwrk"
+#define OOO_STRING_SVTOOLS_RTF_SHPWR "\\shpwr"
+#define OOO_STRING_SVTOOLS_RTF_SHPZ "\\shpz"
+#define OOO_STRING_SVTOOLS_RTF_SP "\\sp"
+#define OOO_STRING_SVTOOLS_RTF_SPRSBSP "\\sprsbsp"
+#define OOO_STRING_SVTOOLS_RTF_SPRSLNSP "\\sprslnsp"
+#define OOO_STRING_SVTOOLS_RTF_SPRSTSM "\\sprstsm"
+#define OOO_STRING_SVTOOLS_RTF_STATICVAL "\\staticval"
+#define OOO_STRING_SVTOOLS_RTF_STEXTFLOW "\\stextflow"
+#define OOO_STRING_SVTOOLS_RTF_STRIKED "\\striked"
+#define OOO_STRING_SVTOOLS_RTF_SUBFONTBYSIZE "\\subfontbysize"
+#define OOO_STRING_SVTOOLS_RTF_TCELLD "\\tcelld"
+#define OOO_STRING_SVTOOLS_RTF_TIME "\\time"
+#define OOO_STRING_SVTOOLS_RTF_TRUNCATEFONTHEIGHT "\\truncatefontheight"
+#define OOO_STRING_SVTOOLS_RTF_UC "\\uc"
+#define OOO_STRING_SVTOOLS_RTF_UD "\\ud"
+#define OOO_STRING_SVTOOLS_RTF_ULDASH "\\uldash"
+#define OOO_STRING_SVTOOLS_RTF_ULDASHD "\\uldashd"
+#define OOO_STRING_SVTOOLS_RTF_ULDASHDD "\\uldashdd"
+#define OOO_STRING_SVTOOLS_RTF_ULTH "\\ulth"
+#define OOO_STRING_SVTOOLS_RTF_ULWAVE "\\ulwave"
+#define OOO_STRING_SVTOOLS_RTF_ULC "\\ulc"
+#define OOO_STRING_SVTOOLS_RTF_U "\\u"
+#define OOO_STRING_SVTOOLS_RTF_UPR "\\upr"
+#define OOO_STRING_SVTOOLS_RTF_USERPROPS "\\userprops"
+#define OOO_STRING_SVTOOLS_RTF_VIEWKIND "\\viewkind"
+#define OOO_STRING_SVTOOLS_RTF_VIEWSCALE "\\viewscale"
+#define OOO_STRING_SVTOOLS_RTF_VIEWZK "\\viewzk"
+#define OOO_STRING_SVTOOLS_RTF_WIDCTLPAR "\\widctlpar"
+#define OOO_STRING_SVTOOLS_RTF_WINDOWCAPTION "\\windowcaption"
+#define OOO_STRING_SVTOOLS_RTF_WPEQN "\\wpeqn"
+#define OOO_STRING_SVTOOLS_RTF_WPJST "\\wpjst"
+#define OOO_STRING_SVTOOLS_RTF_WPSP "\\wpsp"
+#define OOO_STRING_SVTOOLS_RTF_YXE "\\yxe"
+#define OOO_STRING_SVTOOLS_RTF_FRMTXLRTB "\\frmtxlrtb"
+#define OOO_STRING_SVTOOLS_RTF_FRMTXTBRL "\\frmtxtbrl"
+#define OOO_STRING_SVTOOLS_RTF_FRMTXBTLR "\\frmtxbtlr"
+#define OOO_STRING_SVTOOLS_RTF_FRMTXLRTBV "\\frmtxlrtbv"
+#define OOO_STRING_SVTOOLS_RTF_FRMTXTBRLV "\\frmtxtbrlv"
+
+// MS-2000 Tokens
+#define OOO_STRING_SVTOOLS_RTF_ULTHD "\\ulthd"
+#define OOO_STRING_SVTOOLS_RTF_ULTHDASH "\\ulthdash"
+#define OOO_STRING_SVTOOLS_RTF_ULLDASH "\\ulldash"
+#define OOO_STRING_SVTOOLS_RTF_ULTHLDASH "\\ulthldash"
+#define OOO_STRING_SVTOOLS_RTF_ULTHDASHD "\\ulthdashd"
+#define OOO_STRING_SVTOOLS_RTF_ULTHDASHDD "\\ulthdashdd"
+#define OOO_STRING_SVTOOLS_RTF_ULHWAVE "\\ulhwave"
+#define OOO_STRING_SVTOOLS_RTF_ULULDBWAVE "\\ululdbwave"
+#define OOO_STRING_SVTOOLS_RTF_LOCH "\\loch"
+#define OOO_STRING_SVTOOLS_RTF_HICH "\\hich"
+#define OOO_STRING_SVTOOLS_RTF_DBCH "\\dbch"
+#define OOO_STRING_SVTOOLS_RTF_LANGFE "\\langfe"
+#define OOO_STRING_SVTOOLS_RTF_ADEFLANG "\\adeflang"
+#define OOO_STRING_SVTOOLS_RTF_ADEFF "\\adeff"
+#define OOO_STRING_SVTOOLS_RTF_ACCNONE "\\accnone"
+#define OOO_STRING_SVTOOLS_RTF_ACCDOT "\\accdot"
+#define OOO_STRING_SVTOOLS_RTF_ACCCOMMA "\\acccomma"
+#define OOO_STRING_SVTOOLS_RTF_TWOINONE "\\twoinone"
+#define OOO_STRING_SVTOOLS_RTF_HORZVERT "\\horzvert"
+#define OOO_STRING_SVTOOLS_RTF_FAHANG "\\fahang"
+#define OOO_STRING_SVTOOLS_RTF_FAVAR "\\favar"
+#define OOO_STRING_SVTOOLS_RTF_FACENTER "\\facenter"
+#define OOO_STRING_SVTOOLS_RTF_FAROMAN "\\faroman"
+#define OOO_STRING_SVTOOLS_RTF_FAFIXED "\\fafixed"
+#define OOO_STRING_SVTOOLS_RTF_NOCWRAP "\\nocwrap"
+#define OOO_STRING_SVTOOLS_RTF_NOOVERFLOW "\\nooverflow"
+#define OOO_STRING_SVTOOLS_RTF_ASPALPHA "\\aspalpha"
+
+// SWG spezifische Attribute
+#define OOO_STRING_SVTOOLS_RTF_GRFALIGNV "\\grfalignv"
+#define OOO_STRING_SVTOOLS_RTF_GRFALIGNH "\\grfalignh"
+#define OOO_STRING_SVTOOLS_RTF_GRFMIRROR "\\grfmirror"
+#define OOO_STRING_SVTOOLS_RTF_HEADERYB "\\headeryb"
+#define OOO_STRING_SVTOOLS_RTF_HEADERXL "\\headerxl"
+#define OOO_STRING_SVTOOLS_RTF_HEADERXR "\\headerxr"
+#define OOO_STRING_SVTOOLS_RTF_FOOTERYT "\\footeryt"
+#define OOO_STRING_SVTOOLS_RTF_FOOTERXL "\\footerxl"
+#define OOO_STRING_SVTOOLS_RTF_FOOTERXR "\\footerxr"
+#define OOO_STRING_SVTOOLS_RTF_HEADERYH "\\headeryh"
+#define OOO_STRING_SVTOOLS_RTF_FOOTERYH "\\footeryh"
+#define OOO_STRING_SVTOOLS_RTF_BALANCEDCOLUMN "\\swcolmnblnc"
+#define OOO_STRING_SVTOOLS_RTF_UPDNPROP "\\updnprop"
+#define OOO_STRING_SVTOOLS_RTF_PRTDATA "\\prtdata"
+#define OOO_STRING_SVTOOLS_RTF_BKMKKEY "\\bkmkkey"
+
+// Attribute fuer die freifliegenden Rahmen
+#define OOO_STRING_SVTOOLS_RTF_FLYPRINT "\\flyprint"
+#define OOO_STRING_SVTOOLS_RTF_FLYOPAQUE "\\flyopaque"
+#define OOO_STRING_SVTOOLS_RTF_FLYPRTCTD "\\flyprtctd"
+#define OOO_STRING_SVTOOLS_RTF_FLYMAINCNT "\\flymaincnt"
+#define OOO_STRING_SVTOOLS_RTF_FLYVERT "\\flyvert"
+#define OOO_STRING_SVTOOLS_RTF_FLYHORZ "\\flyhorz"
+#define OOO_STRING_SVTOOLS_RTF_DFRMTXTL "\\dfrmtxtl"
+#define OOO_STRING_SVTOOLS_RTF_DFRMTXTR "\\dfrmtxtr"
+#define OOO_STRING_SVTOOLS_RTF_DFRMTXTU "\\dfrmtxtu"
+#define OOO_STRING_SVTOOLS_RTF_DFRMTXTW "\\dfrmtxtw"
+#define OOO_STRING_SVTOOLS_RTF_FLYANCHOR "\\flyanchor"
+#define OOO_STRING_SVTOOLS_RTF_FLYCNTNT "\\flycntnt"
+#define OOO_STRING_SVTOOLS_RTF_FLYCOLUMN "\\flycolumn"
+#define OOO_STRING_SVTOOLS_RTF_FLYPAGE "\\flypage"
+#define OOO_STRING_SVTOOLS_RTF_FLYINPARA "\\flyinpara"
+#define OOO_STRING_SVTOOLS_RTF_BRDBOX "\\brdbox"
+#define OOO_STRING_SVTOOLS_RTF_BRDLNCOL "\\brdlncol"
+#define OOO_STRING_SVTOOLS_RTF_BRDLNIN "\\brdlnin"
+#define OOO_STRING_SVTOOLS_RTF_BRDLNOUT "\\brdlnout"
+#define OOO_STRING_SVTOOLS_RTF_BRDLNDIST "\\brdlndist"
+#define OOO_STRING_SVTOOLS_RTF_SHADOW "\\shadow"
+#define OOO_STRING_SVTOOLS_RTF_SHDWDIST "\\shdwdist"
+#define OOO_STRING_SVTOOLS_RTF_SHDWSTYLE "\\shdwstyle"
+#define OOO_STRING_SVTOOLS_RTF_SHDWCOL "\\shdwcol"
+#define OOO_STRING_SVTOOLS_RTF_SHDWFCOL "\\shdwfcol"
+#define OOO_STRING_SVTOOLS_RTF_PGDSCTBL "\\pgdsctbl"
+#define OOO_STRING_SVTOOLS_RTF_PGDSC "\\pgdsc"
+#define OOO_STRING_SVTOOLS_RTF_PGDSCUSE "\\pgdscuse"
+#define OOO_STRING_SVTOOLS_RTF_PGDSCNXT "\\pgdscnxt"
+#define OOO_STRING_SVTOOLS_RTF_HYPHEN "\\hyphen"
+#define OOO_STRING_SVTOOLS_RTF_HYPHLEAD "\\hyphlead"
+#define OOO_STRING_SVTOOLS_RTF_HYPHTRAIL "\\hyphtrail"
+#define OOO_STRING_SVTOOLS_RTF_HYPHMAX "\\hyphmax"
+#define OOO_STRING_SVTOOLS_RTF_TLSWG "\\tlswg"
+#define OOO_STRING_SVTOOLS_RTF_PGBRK "\\pgbrk"
+#define OOO_STRING_SVTOOLS_RTF_PGDSCNO "\\pgdscno"
+#define OOO_STRING_SVTOOLS_RTF_SOUTLVL "\\soutlvl"
+#define OOO_STRING_SVTOOLS_RTF_SHP "\\shp"
+#define OOO_STRING_SVTOOLS_RTF_SN "\\sn"
+#define OOO_STRING_SVTOOLS_RTF_SV "\\sv"
+#define OOO_STRING_SVTOOLS_RTF_SP "\\sp"
+
+// Support for overline attributes
+#define OOO_STRING_SVTOOLS_RTF_OL "\\ol"
+#define OOO_STRING_SVTOOLS_RTF_OLD "\\old"
+#define OOO_STRING_SVTOOLS_RTF_OLDB "\\oldb"
+#define OOO_STRING_SVTOOLS_RTF_OLNONE "\\olnone"
+#define OOO_STRING_SVTOOLS_RTF_OLW "\\olw"
+#define OOO_STRING_SVTOOLS_RTF_OLDASH "\\oldash"
+#define OOO_STRING_SVTOOLS_RTF_OLDASHD "\\oldashd"
+#define OOO_STRING_SVTOOLS_RTF_OLDASHDD "\\oldashdd"
+#define OOO_STRING_SVTOOLS_RTF_OLTH "\\olth"
+#define OOO_STRING_SVTOOLS_RTF_OLWAVE "\\olwave"
+#define OOO_STRING_SVTOOLS_RTF_OLC "\\olc"
+#define OOO_STRING_SVTOOLS_RTF_OLTHD "\\olthd"
+#define OOO_STRING_SVTOOLS_RTF_OLTHDASH "\\olthdash"
+#define OOO_STRING_SVTOOLS_RTF_OLLDASH "\\olldash"
+#define OOO_STRING_SVTOOLS_RTF_OLTHLDASH "\\olthldash"
+#define OOO_STRING_SVTOOLS_RTF_OLTHDASHD "\\olthdashd"
+#define OOO_STRING_SVTOOLS_RTF_OLTHDASHDD "\\olthdashdd"
+#define OOO_STRING_SVTOOLS_RTF_OLHWAVE "\\olhwave"
+#define OOO_STRING_SVTOOLS_RTF_OLOLDBWAVE "\\ololdbwave"
+
+// Support for nested tables
+#define OOO_STRING_SVTOOLS_RTF_ITAP "\\itap"
+#define OOO_STRING_SVTOOLS_RTF_NESTCELL "\\nestcell"
+#define OOO_STRING_SVTOOLS_RTF_NESTTABLEPROPRS "\\nesttableprops"
+#define OOO_STRING_SVTOOLS_RTF_NESTROW "\\nestrow"
+#define OOO_STRING_SVTOOLS_RTF_NONESTTABLES "\\nonesttables"
+
+#endif // _RTFKEYWD_HXX
diff --git a/svtools/inc/svtools/rtfout.hxx b/svtools/inc/svtools/rtfout.hxx
new file mode 100644
index 000000000000..b9bfbc901848
--- /dev/null
+++ b/svtools/inc/svtools/rtfout.hxx
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _RTFOUT_HXX
+#define _RTFOUT_HXX
+
+#include "svtools/svtdllapi.h"
+#include <tools/solar.h>
+
+#ifndef _RTL_TEXTENC_H_
+#include <rtl/textenc.h>
+#endif
+
+class String;
+class SvStream;
+
+class SVT_DLLPUBLIC RTFOutFuncs
+{
+public:
+#if defined(UNX)
+ static const sal_Char sNewLine; // nur \012 oder \015
+#else
+ static const sal_Char __FAR_DATA sNewLine[]; // \015\012
+#endif
+
+ static SvStream& Out_Char( SvStream&, sal_Unicode cChar,
+ int *pUCMode,
+ rtl_TextEncoding eDestEnc = RTL_TEXTENCODING_MS_1252,
+ BOOL bWriteHelpFile = FALSE );
+ static SvStream& Out_String( SvStream&, const String&,
+ rtl_TextEncoding eDestEnc = RTL_TEXTENCODING_MS_1252,
+ BOOL bWriteHelpFile = FALSE );
+ static SvStream& Out_Fontname( SvStream&, const String&,
+ rtl_TextEncoding eDestEnc = RTL_TEXTENCODING_MS_1252,
+ BOOL bWriteHelpFile = FALSE );
+
+ static SvStream& Out_Hex( SvStream&, ULONG nHex, BYTE nLen );
+};
+
+
+#endif
+
+
diff --git a/svtools/inc/svtools/rtftoken.h b/svtools/inc/svtools/rtftoken.h
new file mode 100644
index 000000000000..f292682a0236
--- /dev/null
+++ b/svtools/inc/svtools/rtftoken.h
@@ -0,0 +1,1273 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil -*- */
+
+#ifndef _RTFTOKEN_H
+#define _RTFTOKEN_H
+
+class String;
+
+// suche die TokenID zu dem Token
+int GetRTFToken( const String& rSearch );
+
+enum RTF_TOKEN_RANGES {
+ RTF_NOGROUP = 0x0100,
+ RTF_DOCFMT = 0x0200,
+ RTF_SECTFMT = 0x0300,
+ RTF_PARFMT = 0x0400,
+ RTF_TABSTOPDEF = 0x0500,
+ RTF_BRDRDEF = 0x0600,
+ RTF_CHRFMT = 0x0700,
+ RTF_SPECCHAR = 0x0800,
+ RTF_APOCTL = 0x0900,
+ RTF_SHADINGDEF = 0x0A00,
+ // free = 0x0B00,
+ RTF_DRAWOBJECTS = 0x0C00,
+ RTF_OBJECTS = 0x0D00,
+ RTF_NUMBULLETS = 0x0E00,
+
+ // !!! kann hinein verodert werden (Border/Background) !!!!
+ RTF_TABLEDEF = 0x1000,
+
+ // !!! kann hinein verodert werden (Border/Tab) !!!!
+ RTF_SWGDEFS = 0x4000
+};
+
+enum RTF_TOKEN_IDS {
+
+ RTF_TEXTTOKEN = RTF_NOGROUP,
+ RTF_SINGLECHAR,
+ RTF_UNKNOWNCONTROL,
+ RTF_UNKNOWNDATA,
+
+ RTF_RTF,
+ RTF_ANSITYPE,
+ RTF_MACTYPE,
+ RTF_PCTYPE,
+ RTF_PCATYPE,
+ RTF_NEXTTYPE,
+
+ RTF_STYLESHEET,
+ RTF_SBASEDON,
+ RTF_SNEXT,
+ RTF_SHIDDEN,
+ RTF_SAUTOUPD,
+
+ RTF_KEYCODE,
+ RTF_FNKEY,
+ RTF_ALTKEY,
+ RTF_SHIFTKEY,
+ RTF_CTRLKEY,
+
+ RTF_FONTTBL,
+ RTF_DEFF,
+ RTF_FNIL,
+ RTF_FROMAN,
+ RTF_FSWISS,
+ RTF_FMODERN,
+ RTF_FSCRIPT,
+ RTF_FDECOR,
+ RTF_FTECH,
+
+ RTF_COLORTBL,
+ RTF_RED,
+ RTF_GREEN,
+ RTF_BLUE,
+
+ RTF_INFO,
+ RTF_TITLE,
+ RTF_SUBJECT,
+ RTF_AUTHOR,
+ RTF_OPERATOR,
+ RTF_KEYWORDS,
+ RTF_COMMENT,
+ RTF_VERSION,
+ RTF_DOCCOMM,
+ RTF_VERN,
+ RTF_CREATIM,
+ RTF_REVTIM,
+ RTF_PRINTIM,
+ RTF_BUPTIM,
+ RTF_EDMINS,
+ RTF_NOFPAGES,
+ RTF_NOFWORDS,
+ RTF_NOFCHARS,
+ RTF_ID,
+ RTF_YR,
+ RTF_MO,
+ RTF_DY,
+ RTF_HR,
+ RTF_MIN,
+ RTF_USERPROPS,
+ RTF_CATEGORY,
+ RTF_COMPANY,
+ RTF_MANAGER,
+ RTF_PROPNAME,
+ RTF_LINKVAL,
+ RTF_NOFCHARSWS,
+ RTF_HLINKBASE,
+ RTF_STATICVAL,
+ RTF_PROPTYPE,
+
+ RTF_ANNOTATION,
+ RTF_ATNID,
+
+ RTF_FOOTNOTE,
+
+ RTF_XE,
+ RTF_BXE,
+ RTF_IXE,
+ RTF_RXE,
+ RTF_TXE,
+ RTF_YXE,
+
+ RTF_TC,
+ RTF_TCF,
+ RTF_TCL,
+
+ RTF_BKMKSTART,
+ RTF_BKMKEND,
+
+ RTF_PICT, // Bitmaps
+ RTF_PICW,
+ RTF_PICH,
+ RTF_WBMBITSPIXEL,
+ RTF_WBMPLANES,
+ RTF_WBMWIDTHBYTES,
+ RTF_PICWGOAL,
+ RTF_PICHGOAL,
+ RTF_BIN,
+ RTF_PICSCALEX,
+ RTF_PICSCALEY,
+ RTF_PICSCALED,
+ RTF_WBITMAP,
+ RTF_WMETAFILE,
+ RTF_MACPICT,
+ RTF_OSMETAFILE,
+ RTF_DIBITMAP,
+ RTF_PICCROPT,
+ RTF_PICCROPB,
+ RTF_PICCROPL,
+ RTF_PICCROPR,
+ RTF_PICDATA,
+ RTF_PICBMP,
+ RTF_PICBPP,
+ RTF_PICPROP,
+ RTF_SHPPICT,
+ RTF_EMFBLIP,
+ RTF_PNGBLIP,
+ RTF_JPEGBLIP,
+ RTF_NONSHPPICT,
+ RTF_BLIPTAG,
+ RTF_BLIPUID,
+ RTF_BLIPUPI,
+
+ RTF_FIELD, // Felder
+ RTF_FLDDIRTY,
+ RTF_FLDEDIT,
+ RTF_FLDLOCK,
+ RTF_FLDPRIV,
+ RTF_FLDINST,
+ RTF_FLDRSLT,
+ RTF_FLDTYPE,
+ RTF_TIME,
+ RTF_DATE,
+ RTF_WPEQN,
+
+ RTF_NOLINE,
+ RTF_REVISED,
+
+ RTF_BKMKCOLF,
+ RTF_BKMKCOLL,
+ RTF_PSOVER,
+ RTF_DOCTEMP,
+ RTF_DELETED,
+
+ RTF_FCHARSET,
+ RTF_FALT,
+ RTF_FPRQ,
+ RTF_PANOSE,
+ RTF_FNAME,
+ RTF_FBIAS,
+
+ RTF_ADDITIVE,
+ RTF_BKMKPUB,
+ RTF_CPG,
+ RTF_DATAFIELD,
+
+ RTF_FBIDI,
+ RTF_FID,
+ RTF_FILE,
+ RTF_FILETBL,
+ RTF_FNETWORK,
+ RTF_FONTEMB,
+ RTF_FONTFILE,
+ RTF_FOSNUM,
+ RTF_FRELATIVE,
+ RTF_FTNIL,
+ RTF_FTTRUETYPE,
+ RTF_FVALIDDOS,
+ RTF_FVALIDHPFS,
+ RTF_FVALIDMAC,
+ RTF_FVALIDNTFS,
+ RTF_LINKSELF,
+ RTF_PUBAUTO,
+ RTF_REVTBL,
+ RTF_RTLMARK,
+ RTF_SEC,
+ RTF_TCN,
+ RTF_XEF,
+
+ RTF_UD, // Unicode
+ RTF_UPR,
+ RTF_U,
+ RTF_UC,
+ RTF_ANSICPG,
+
+ RTF_FFEXITMCR, // Form Fields
+ RTF_FFENTRYMCR,
+ RTF_FFDEFTEXT,
+ RTF_FFFORMAT,
+ RTF_FFSTATTEXT,
+ RTF_FORMFIELD,
+ RTF_FFNAME,
+ RTF_FFHELPTEXT,
+ RTF_FFL,
+ RTF_FFOWNHELP,
+ RTF_FFOWNSTAT,
+ RTF_FFMAXLEN,
+ RTF_FFHASLISTBOX,
+ RTF_FFHPS,
+ RTF_FFPROT,
+ RTF_FFTYPE,
+ RTF_FFTYPETXT,
+ RTF_FFSIZE,
+ RTF_FFRECALC,
+ RTF_FFRES,
+ RTF_FFDEFRES,
+
+ RTF_HIGHLIGHT,
+
+/* */
+
+ RTF_DEFTAB = RTF_DOCFMT,
+ RTF_HYPHHOTZ,
+ RTF_LINESTART,
+ RTF_FRACWIDTH,
+ RTF_NEXTFILE,
+ RTF_TEMPLATE,
+ RTF_MAKEBACKUP,
+ RTF_DEFFORMAT,
+ RTF_DEFLANG,
+ RTF_FTNSEP,
+ RTF_FTNSEPC,
+ RTF_FTNCN,
+ RTF_ENDNOTES,
+ RTF_ENDDOC,
+ RTF_FTNTJ,
+ RTF_FTNBJ,
+ RTF_FTNSTART,
+ RTF_FTNRESTART,
+ RTF_PAPERW,
+ RTF_PAPERH,
+ RTF_MARGL,
+ RTF_MARGR,
+ RTF_MARGT,
+ RTF_MARGB,
+ RTF_FACINGP,
+ RTF_GUTTER,
+ RTF_MARGMIRROR,
+ RTF_LANDSCAPE,
+ RTF_PGNSTART,
+ RTF_WIDOWCTRL,
+ RTF_REVISIONS,
+ RTF_REVPROP,
+ RTF_REVBAR,
+
+ RTF_AENDDOC,
+ RTF_AENDNOTES,
+ RTF_AFTNBJ,
+ RTF_AFTNCN,
+ RTF_AFTNNALC,
+ RTF_AFTNNAR,
+ RTF_AFTNNAUC,
+ RTF_AFTNNCHI,
+ RTF_AFTNNRLC,
+ RTF_AFTNNRUC,
+ RTF_AFTNRESTART,
+ RTF_AFTNRSTCONT,
+ RTF_AFTNSEP,
+ RTF_AFTNSEPC,
+ RTF_AFTNSTART,
+ RTF_AFTNTJ,
+ RTF_ALLPROT,
+ RTF_ANNOTPROT,
+ RTF_ATNAUTHOR,
+ RTF_ATNICN,
+ RTF_ATNREF,
+ RTF_ATNTIME,
+ RTF_ATRFEND,
+ RTF_ATRFSTART,
+ RTF_BRKFRM,
+ RTF_CVMME,
+ RTF_FET,
+ RTF_FLDALT,
+ RTF_FORMDISP,
+ RTF_FORMPROT,
+ RTF_FORMSHADE,
+ RTF_FTNALT,
+ RTF_FTNNALC,
+ RTF_FTNNAR,
+ RTF_FTNNAUC,
+ RTF_FTNNCHI,
+ RTF_FTNNRLC,
+ RTF_FTNNRUC,
+ RTF_FTNRSTCONT,
+ RTF_FTNRSTPG,
+ RTF_HYPHAUTO,
+ RTF_HYPHCAPS,
+ RTF_HYPHCONSEC,
+ RTF_LINKSTYLES,
+ RTF_LTRDOC,
+ RTF_NOCOLBAL,
+ RTF_NOEXTRASPRL,
+ RTF_NOTABIND,
+ RTF_OTBLRUL,
+ RTF_PRCOLBL,
+ RTF_PRINTDATA,
+ RTF_PSZ,
+ RTF_REVPROT,
+ RTF_RTLDOC,
+ RTF_SPRSSPBF,
+ RTF_SPRSTSP,
+ RTF_SWPBDR,
+ RTF_TRANSMF,
+ RTF_WRAPTRSP,
+
+ RTF_PRIVATE,
+ RTF_NOULTRLSPC,
+ RTF_MSMCAP,
+ RTF_NOLEAD,
+ RTF_NOSPACEFORUL,
+ RTF_LYTEXCTTP,
+ RTF_LYTPRTMET,
+ RTF_DNTBLNSBDB,
+ RTF_FROMTEXT,
+ RTF_EXPSHRTN,
+ RTF_PGBRDRT,
+ RTF_SPRSBSP,
+ RTF_PGBRDRR,
+ RTF_PGBRDRSNAP,
+ RTF_BDBFHDR,
+ RTF_SUBFONTBYSIZE,
+ RTF_TRUNCATEFONTHEIGHT,
+ RTF_SPRSLNSP,
+ RTF_SPRSTSM,
+ RTF_PGBRDRL,
+ RTF_WPJST,
+ RTF_PGBRDRB,
+ RTF_WPSP,
+ RTF_NOXLATTOYEN,
+ RTF_OLDLINEWRAP,
+ RTF_PGBRDRFOOT,
+ RTF_PGBRDRHEAD,
+ RTF_DEFLANGFE,
+ RTF_DOCTYPE,
+ RTF_PGBRDROPT,
+ RTF_VIEWKIND,
+ RTF_VIEWSCALE,
+ RTF_WINDOWCAPTION,
+ RTF_BRDRART,
+ RTF_VIEWZK,
+ RTF_DOCVAR,
+
+ RTF_DGMARGIN,
+ RTF_AFTNNCHOSUNG,
+ RTF_AFTNNCNUM,
+ RTF_AFTNNDBAR,
+ RTF_AFTNNDBNUM,
+ RTF_AFTNNDBNUMD,
+ RTF_AFTNNDBNUMK,
+ RTF_AFTNNDBNUMT,
+ RTF_AFTNNGANADA,
+ RTF_AFTNNGBNUM,
+ RTF_AFTNNGBNUMD,
+ RTF_AFTNNGBNUMK,
+ RTF_AFTNNGBNUML,
+ RTF_AFTNNZODIAC,
+ RTF_AFTNNZODIACD,
+ RTF_AFTNNZODIACL,
+ RTF_FTNNCHOSUNG,
+ RTF_FTNNCNUM,
+ RTF_FTNNDBAR,
+ RTF_FTNNDBNUM,
+ RTF_FTNNDBNUMD,
+ RTF_FTNNDBNUMK,
+ RTF_FTNNDBNUMT,
+ RTF_FTNNGANADA,
+ RTF_FTNNGBNUM,
+ RTF_FTNNGBNUMD,
+ RTF_FTNNGBNUMK,
+ RTF_FTNNGBNUML,
+ RTF_FTNNZODIAC,
+ RTF_FTNNZODIACD,
+ RTF_FTNNZODIACL,
+
+ RTF_ADEFLANG,
+ RTF_ADEFF,
+
+/* */
+
+ RTF_SECTD = RTF_SECTFMT,
+ RTF_ENDNHERE,
+ RTF_BINFSXN,
+ RTF_BINSXN,
+ RTF_SBKNONE,
+ RTF_SBKCOL,
+ RTF_SBKPAGE,
+ RTF_SBKEVEN,
+ RTF_SBKODD,
+ RTF_COLS,
+ RTF_COLSX,
+ RTF_COLNO,
+ RTF_COLSR,
+ RTF_COLW,
+ RTF_LINEBETCOL,
+ RTF_LINEMOD,
+ RTF_LINEX,
+ RTF_LINESTARTS,
+ RTF_LINERESTART,
+ RTF_LINEPAGE,
+ RTF_LINECONT,
+ RTF_PGWSXN,
+ RTF_PGHSXN,
+ RTF_MARGLSXN,
+ RTF_MARGRSXN,
+ RTF_MARGTSXN,
+ RTF_MARGBSXN,
+ RTF_GUTTERSXN,
+ RTF_LNDSCPSXN,
+ RTF_FACPGSXN,
+ RTF_TITLEPG,
+ RTF_HEADERY,
+ RTF_FOOTERY,
+ RTF_PGNSTARTS,
+ RTF_PGNCONT,
+ RTF_PGNRESTART,
+ RTF_PGNX,
+ RTF_PGNY,
+ RTF_PGNDEC,
+ RTF_PGNUCRM,
+ RTF_PGNLCRM,
+ RTF_PGNUCLTR,
+ RTF_PGNLCLTR,
+ RTF_VERTALT,
+ RTF_VERTALB,
+ RTF_VERTALC,
+ RTF_VERTALJ,
+
+ RTF_FOOTER,
+ RTF_FOOTERL,
+ RTF_FOOTERR,
+ RTF_FOOTERF,
+ RTF_HEADER,
+ RTF_HEADERL,
+ RTF_HEADERR,
+ RTF_HEADERF,
+ RTF_DS,
+ RTF_LTRSECT,
+ RTF_PGNHN,
+ RTF_PGNHNSC,
+ RTF_PGNHNSH,
+ RTF_PGNHNSM,
+ RTF_PGNHNSN,
+ RTF_PGNHNSP,
+ RTF_RTLSECT,
+ RTF_SECTUNLOCKED,
+ RTF_STEXTFLOW,
+ RTF_PGNCHOSUNG,
+ RTF_PGNCNUM,
+ RTF_PGNDBNUMK,
+ RTF_PGNDBNUMT,
+ RTF_PGNGANADA,
+ RTF_PGNGBNUM,
+ RTF_PGNGBNUMD,
+ RTF_PGNGBNUMK,
+ RTF_PGNGBNUML,
+ RTF_PGNZODIAC,
+ RTF_PGNZODIACD,
+ RTF_PGNZODIACL,
+ RTF_SECTDEFAULTCL,
+ RTF_SECTEXPAND,
+ RTF_SECTLINEGRID,
+ RTF_SECTSPECIFYCL,
+ RTF_SECTSPECIFYL,
+
+ // Swg-Header/Footer-Tokens
+ RTF_HEADER_YB = (RTF_SECTFMT|RTF_SWGDEFS),
+ RTF_HEADER_XL,
+ RTF_HEADER_XR,
+ RTF_FOOTER_YT,
+ RTF_FOOTER_XL,
+ RTF_FOOTER_XR,
+ RTF_HEADER_YH,
+ RTF_FOOTER_YH,
+ RTF_BALANCED_COLUMN,
+
+
+/* */
+
+ RTF_PARD = RTF_PARFMT,
+ RTF_S,
+ RTF_INTBL,
+ RTF_KEEP,
+ RTF_KEEPN,
+ RTF_LEVEL,
+ RTF_PAGEBB,
+ RTF_SBYS,
+ RTF_QL,
+ RTF_QR,
+ RTF_QJ,
+ RTF_QC,
+ RTF_FI,
+ RTF_LI,
+ RTF_LIN,
+ RTF_RI,
+ RTF_RIN,
+ RTF_SB,
+ RTF_SA,
+ RTF_SL,
+ RTF_HYPHPAR,
+ RTF_LTRPAR,
+ RTF_NOWIDCTLPAR,
+ RTF_RTLPAR,
+ RTF_SLMULT,
+ RTF_SUBDOCUMENT,
+
+ RTF_WIDCTLPAR,
+
+ RTF_LISTTEXT,
+ RTF_POSYIN,
+ RTF_PNRNOT,
+ RTF_BRDRDASHDOTSTR,
+ RTF_POSYOUT,
+ RTF_BRDRDASHD,
+ RTF_BRDRDASHDD,
+ RTF_BRDRENGRAVE,
+ RTF_BRDRTHTNLG,
+ RTF_BRDREMBOSS,
+ RTF_BRDRTNTHTNLG,
+ RTF_BRDRDASHSM,
+ RTF_BRDRTHTNMG,
+ RTF_OVERLAY,
+ RTF_BRDRTNTHSG,
+ RTF_BRDRTNTHMG,
+ RTF_BRDRTHTNSG,
+ RTF_BRDRTNTHLG,
+ RTF_BRDRTRIPLE,
+ RTF_BRDRTNTHTNSG,
+ RTF_BRDRTNTHTNMG,
+ RTF_BRDRWAVYDB,
+ RTF_BRDRWAVY,
+ RTF_ILVL,
+ RTF_DFRSTOP,
+ RTF_DFRXST,
+ RTF_PNRAUTH,
+ RTF_DFRSTART,
+ RTF_OUTLINELEVEL,
+ RTF_DFRAUTH,
+ RTF_DFRDATE,
+ RTF_PNRRGB,
+ RTF_PNRPNBR,
+ RTF_PNRSTART,
+ RTF_PNRXST,
+ RTF_PNRSTOP,
+ RTF_PNRDATE,
+ RTF_PNRNFC,
+ RTF_NOSNAPLINEGRID,
+ RTF_FAAUTO,
+ RTF_FAHANG,
+ RTF_FAVAR,
+ RTF_FACENTER,
+ RTF_FAROMAN,
+ RTF_FAFIXED,
+ RTF_ADJUSTRIGHT,
+ RTF_LS,
+ RTF_NOCWRAP,
+ RTF_NOOVERFLOW,
+ RTF_ASPALPHA,
+
+
+/* */
+
+ RTF_TX = RTF_TABSTOPDEF,
+ RTF_TB,
+ RTF_TQL,
+ RTF_TQR,
+ RTF_TQC,
+ RTF_TQDEC,
+ RTF_TLDOT,
+ RTF_TLHYPH,
+ RTF_TLUL,
+ RTF_TLTH,
+ RTF_TLEQ,
+
+ // Swg-TabStop-Tokens
+ RTF_TLSWG = (RTF_TABSTOPDEF|RTF_SWGDEFS),
+
+/* */
+
+ RTF_BRDRT = RTF_BRDRDEF,
+ RTF_BRDRB,
+ RTF_BRDRL,
+ RTF_BRDRR,
+ RTF_BRDRBTW,
+ RTF_BRDRBAR,
+ RTF_BOX,
+ RTF_BRSP,
+ RTF_BRDRW,
+ RTF_BRDRCF,
+ RTF_BRDRS,
+ RTF_BRDRTH,
+ RTF_BRDRSH,
+ RTF_BRDRDB,
+ RTF_BRDRDOT,
+ RTF_BRDRHAIR,
+ RTF_BRDRDASH,
+ RTF_BRDRFRAME,
+
+ // Swg-Border-Tokens
+ RTF_BRDBOX = (RTF_BRDRDEF|RTF_SWGDEFS),
+ RTF_BRDLINE_COL,
+ RTF_BRDLINE_IN,
+ RTF_BRDLINE_OUT,
+ RTF_BRDLINE_DIST,
+
+/* */
+
+ RTF_PLAIN = RTF_CHRFMT,
+ RTF_B,
+ RTF_CAPS,
+ RTF_DN,
+ RTF_SUB,
+ RTF_NOSUPERSUB,
+ RTF_EXPND,
+ RTF_EXPNDTW,
+ RTF_KERNING,
+ RTF_F,
+ RTF_FS,
+ RTF_I,
+ RTF_OUTL,
+ RTF_SCAPS,
+ RTF_SHAD,
+ RTF_STRIKE,
+ RTF_UL,
+ RTF_ULD,
+ RTF_ULDB,
+ RTF_ULNONE,
+ RTF_ULW,
+ RTF_OL,
+ RTF_OLD,
+ RTF_OLDB,
+ RTF_OLNONE,
+ RTF_OLW,
+ RTF_UP,
+ RTF_SUPER,
+ RTF_V,
+ RTF_CF,
+ RTF_CB,
+ RTF_LANG,
+ RTF_CCHS,
+ RTF_CS,
+ RTF_LTRCH,
+ RTF_REVAUTH,
+ RTF_REVDTTM,
+ RTF_RTLCH,
+
+ RTF_CHBGFDIAG,
+ RTF_CHBGDKVERT,
+ RTF_CHBGDKHORIZ,
+ RTF_CHBRDR,
+ RTF_CHBGVERT,
+ RTF_CHBGHORIZ,
+ RTF_CHBGDKFDIAG,
+ RTF_CHBGDCROSS,
+ RTF_CHBGCROSS,
+ RTF_CHBGBDIAG,
+ RTF_CHBGDKDCROSS,
+ RTF_CHBGDKCROSS,
+ RTF_CHBGDKBDIAG,
+ RTF_ULDASHD,
+ RTF_ULDASH,
+ RTF_ULDASHDD,
+ RTF_ULWAVE,
+ RTF_ULC,
+ RTF_ULTH,
+ RTF_OLDASHD,
+ RTF_OLDASH,
+ RTF_OLDASHDD,
+ RTF_OLWAVE,
+ RTF_OLC,
+ RTF_OLTH,
+ RTF_EMBO,
+ RTF_IMPR,
+ RTF_STRIKED,
+ RTF_CRDATE,
+ RTF_CRAUTH,
+ RTF_CHARSCALEX,
+ RTF_CHCBPAT,
+ RTF_CHCFPAT,
+ RTF_CHSHDNG,
+ RTF_REVAUTHDEL,
+ RTF_REVDTTMDEL,
+ RTF_CGRID,
+ RTF_GCW,
+ RTF_NOSECTEXPAND,
+ RTF_GRIDTBL,
+ RTF_G,
+ RTF_ANIMTEXT,
+ RTF_ULTHD,
+ RTF_ULTHDASH,
+ RTF_ULLDASH,
+ RTF_ULTHLDASH,
+ RTF_ULTHDASHD,
+ RTF_ULTHDASHDD,
+ RTF_ULHWAVE,
+ RTF_ULULDBWAVE,
+ RTF_OLTHD,
+ RTF_OLTHDASH,
+ RTF_OLLDASH,
+ RTF_OLTHLDASH,
+ RTF_OLTHDASHD,
+ RTF_OLTHDASHDD,
+ RTF_OLHWAVE,
+ RTF_OLOLDBWAVE,
+
+ // association control words
+ RTF_AB,
+ RTF_ACAPS,
+ RTF_ACF,
+ RTF_ADN,
+ RTF_AEXPND,
+ RTF_AF,
+ RTF_AFS,
+ RTF_AI,
+ RTF_ALANG,
+ RTF_AOUTL,
+ RTF_ASCAPS,
+ RTF_ASHAD,
+ RTF_ASTRIKE,
+ RTF_AUL,
+ RTF_AULD,
+ RTF_AULDB,
+ RTF_AULNONE,
+ RTF_AULW,
+ RTF_AUP,
+
+ RTF_LOCH,
+ RTF_HICH,
+ RTF_DBCH,
+ RTF_LANGFE,
+ RTF_ACCNONE,
+ RTF_ACCDOT,
+ RTF_ACCCOMMA,
+ RTF_TWOINONE,
+ RTF_HORZVERT,
+
+ // Swg-Border-Tokens
+ RTF_SWG_ESCPROP = (RTF_CHRFMT|RTF_SWGDEFS),
+ RTF_HYPHEN,
+ RTF_HYPHLEAD,
+ RTF_HYPHTRAIL,
+ RTF_HYPHMAX,
+
+
+/* */
+
+ RTF_CHDATE = RTF_SPECCHAR,
+ RTF_CHDATEL,
+ RTF_CHDATEA,
+ RTF_CHTIME,
+ RTF_CHPGN,
+ RTF_CHFTN,
+ RTF_CHATN,
+ RTF_CHFTNSEP,
+ RTF_CHFTNSEPC,
+ RTF_CELL,
+ RTF_ROW,
+ RTF_PAR,
+ RTF_SECT,
+ RTF_PAGE,
+ RTF_COLUM,
+ RTF_LINE,
+ RTF_TAB,
+ RTF_EMDASH,
+ RTF_ENDASH,
+ RTF_BULLET,
+ RTF_LQUOTE,
+ RTF_RQUOTE,
+ RTF_LDBLQUOTE,
+ RTF_RDBLQUOTE,
+ RTF_FORMULA,
+ RTF_NONBREAKINGSPACE,
+ RTF_OPTIONALHYPHEN,
+ RTF_NONBREAKINGHYPHEN,
+ RTF_SUBENTRYINDEX,
+ RTF_IGNOREFLAG,
+ RTF_HEX,
+ RTF_EMSPACE,
+ RTF_ENSPACE,
+ RTF_LTRMARK,
+ RTF_SECTNUM,
+ RTF_SOFTCOL,
+ RTF_SOFTLHEIGHT,
+ RTF_SOFTLINE,
+ RTF_SOFTPAGE,
+ RTF_ZWJ,
+ RTF_ZWNJ,
+
+/* */
+
+ RTF_ABSW = RTF_APOCTL,
+ RTF_ABSH,
+ RTF_NOWRAP,
+ RTF_DXFRTEXT,
+ RTF_DFRMTXTX,
+ RTF_DFRMTXTY,
+ RTF_DROPCAPLI,
+ RTF_DROPCAPT,
+ RTF_ABSNOOVRLP,
+ RTF_PHMRG,
+ RTF_PHPG,
+ RTF_PHCOL,
+ RTF_POSX,
+ RTF_POSNEGX,
+ RTF_POSXC,
+ RTF_POSXI,
+ RTF_POSXO,
+ RTF_POSXL,
+ RTF_POSXR,
+ RTF_PVMRG,
+ RTF_PVPG,
+ RTF_PVPARA,
+ RTF_POSY,
+ RTF_POSNEGY,
+ RTF_POSYT,
+ RTF_POSYIL,
+ RTF_POSYB,
+ RTF_POSYC,
+ RTF_ABSLOCK,
+ RTF_FRMTXLRTB,
+ RTF_FRMTXTBRL,
+ RTF_FRMTXBTLR,
+ RTF_FRMTXLRTBV,
+ RTF_FRMTXTBRLV,
+
+ // Swg-Frame-Tokens
+ RTF_FLYPRINT = (RTF_APOCTL|RTF_SWGDEFS),
+ RTF_FLYOPAQUE,
+ RTF_FLYPRTCTD,
+ RTF_FLYMAINCNT,
+ RTF_FLYVERT,
+ RTF_FLYHORZ,
+ RTF_FLYOUTLEFT,
+ RTF_FLYOUTRIGHT,
+ RTF_FLYOUTUPPER,
+ RTF_FLYOUTLOWER,
+ RTF_FLYANCHOR,
+ RTF_FLY_CNTNT,
+ RTF_FLY_COLUMN,
+ RTF_FLY_PAGE,
+ RTF_FLY_INPARA,
+
+
+/* */
+
+ RTF_SHADING = RTF_SHADINGDEF,
+ RTF_CFPAT,
+ RTF_CBPAT,
+ RTF_BGHORIZ,
+ RTF_BGVERT,
+ RTF_BGFDIAG,
+ RTF_BGBDIAG,
+ RTF_BGCROSS,
+ RTF_BGDCROSS,
+ RTF_BGDKHORIZ,
+ RTF_BGDKVERT,
+ RTF_BGDKFDIAG,
+ RTF_BGDKBDIAG,
+ RTF_BGDKCROSS,
+ RTF_BGDKDCROSS,
+
+/* */
+
+ RTF_TROWD = RTF_TABLEDEF,
+ RTF_TRGAPH,
+ RTF_TRLEFT,
+ RTF_TRRH,
+
+ RTF_TRQL,
+ RTF_TRQR,
+ RTF_TRQC,
+
+ RTF_CLMGF,
+ RTF_CLMRG,
+ RTF_CELLX,
+ RTF_LTRROW,
+ RTF_RTLROW,
+ RTF_TRBRDRB,
+ RTF_TRBRDRH,
+ RTF_TRBRDRL,
+ RTF_TRBRDRR,
+ RTF_TRBRDRT,
+ RTF_TRBRDRV,
+ RTF_TRHDR,
+ RTF_TRKEEP,
+ RTF_TRPADDB,
+ RTF_TRPADDL,
+ RTF_TRPADDR,
+ RTF_TRPADDT,
+ RTF_TRPADDFB,
+ RTF_TRPADDFL,
+ RTF_TRPADDFR,
+ RTF_TRPADDFT,
+ RTF_TCELLD,
+ RTF_CLTXTBRL,
+ RTF_CLTXLRTB,
+ RTF_CLVERTALB,
+ RTF_CLVERTALT,
+ RTF_CLVERTALC,
+ RTF_CLVMGF,
+ RTF_CLVMRG,
+ RTF_CLTXTBRLV,
+ RTF_CLTXBTLR,
+ RTF_CLTXLRTBV,
+ RTF_CLPADL,
+ RTF_CLPADT,
+ RTF_CLPADB,
+ RTF_CLPADR,
+ RTF_CLPADFL,
+ RTF_CLPADFT,
+ RTF_CLPADFB,
+ RTF_CLPADFR,
+
+
+ RTF_CLBRDRT = (RTF_BRDRDEF|RTF_TABLEDEF),
+ RTF_CLBRDRL,
+ RTF_CLBRDRB,
+ RTF_CLBRDRR,
+
+ RTF_CLCFPAT = (RTF_SHADINGDEF|RTF_TABLEDEF),
+ RTF_CLCBPAT,
+ RTF_CLSHDNG,
+ RTF_CLBGHORIZ,
+ RTF_CLBGVERT,
+ RTF_CLBGFDIAG,
+ RTF_CLBGBDIAG,
+ RTF_CLBGCROSS,
+ RTF_CLBGDCROSS,
+ RTF_CLBGDKHOR,
+ RTF_CLBGDKVERT,
+ RTF_CLBGDKFDIAG,
+ RTF_CLBGDKBDIAG,
+ RTF_CLBGDKCROSS,
+ RTF_CLBGDKDCROSS,
+
+/* */
+
+
+/* */
+
+ RTF_DO = RTF_DRAWOBJECTS,
+ RTF_DOBXCOLUMN,
+ RTF_DOBXMARGIN,
+ RTF_DOBXPAGE,
+ RTF_DOBYMARGIN,
+ RTF_DOBYPAGE,
+ RTF_DOBYPARA,
+ RTF_DODHGT,
+ RTF_DOLOCK,
+ RTF_DPAENDHOL,
+ RTF_DPAENDL,
+ RTF_DPAENDSOL,
+ RTF_DPAENDW,
+ RTF_DPARC,
+ RTF_DPARCFLIPX,
+ RTF_DPARCFLIPY,
+ RTF_DPASTARTHOL,
+ RTF_DPASTARTL,
+ RTF_DPASTARTSOL,
+ RTF_DPASTARTW,
+ RTF_DPCALLOUT,
+ RTF_DPCOA,
+ RTF_DPCOACCENT,
+ RTF_DPCOBESTFIT,
+ RTF_DPCOBORDER,
+ RTF_DPCODABS,
+ RTF_DPCODBOTTOM,
+ RTF_DPCODCENTER,
+ RTF_DPCODTOP,
+ RTF_DPCOLENGTH,
+ RTF_DPCOMINUSX,
+ RTF_DPCOMINUSY,
+ RTF_DPCOOFFSET,
+ RTF_DPCOSMARTA,
+ RTF_DPCOTDOUBLE,
+ RTF_DPCOTRIGHT,
+ RTF_DPCOTSINGLE,
+ RTF_DPCOTTRIPLE,
+ RTF_DPCOUNT,
+ RTF_DPELLIPSE,
+ RTF_DPENDGROUP,
+ RTF_DPFILLBGCB,
+ RTF_DPFILLBGCG,
+ RTF_DPFILLBGCR,
+ RTF_DPFILLBGGRAY,
+ RTF_DPFILLBGPAL,
+ RTF_DPFILLFGCB,
+ RTF_DPFILLFGCG,
+ RTF_DPFILLFGCR,
+ RTF_DPFILLFGGRAY,
+ RTF_DPFILLFGPAL,
+ RTF_DPFILLPAT,
+ RTF_DPGROUP,
+ RTF_DPLINE,
+ RTF_DPLINECOB,
+ RTF_DPLINECOG,
+ RTF_DPLINECOR,
+ RTF_DPLINEDADO,
+ RTF_DPLINEDADODO,
+ RTF_DPLINEDASH,
+ RTF_DPLINEDOT,
+ RTF_DPLINEGRAY,
+ RTF_DPLINEHOLLOW,
+ RTF_DPLINEPAL,
+ RTF_DPLINESOLID,
+ RTF_DPLINEW,
+ RTF_DPPOLYCOUNT,
+ RTF_DPPOLYGON,
+ RTF_DPPOLYLINE,
+ RTF_DPPTX,
+ RTF_DPPTY,
+ RTF_DPRECT,
+ RTF_DPROUNDR,
+ RTF_DPSHADOW,
+ RTF_DPSHADX,
+ RTF_DPSHADY,
+ RTF_DPTXBX,
+ RTF_DPTXBXMAR,
+ RTF_DPTXBXTEXT,
+ RTF_DPX,
+ RTF_DPXSIZE,
+ RTF_DPY,
+ RTF_DPYSIZE,
+
+ RTF_DPCODESCENT,
+ RTF_BACKGROUND,
+ RTF_SHPBYPAGE,
+ RTF_SHPBYPARA,
+ RTF_SHPBYMARGIN,
+ RTF_SHPBXCOLUMN,
+ RTF_SHPBXMARGIN,
+ RTF_SHPBXPAGE,
+ RTF_SHPLOCKANCHOR,
+ RTF_SHPWR,
+ RTF_HLLOC,
+ RTF_HLSRC,
+ RTF_SHPWRK,
+ RTF_SHPTOP,
+ RTF_SHPRSLT,
+ RTF_HLFR,
+ RTF_SHPTXT,
+ RTF_SHPFHDR,
+ RTF_SHPGRP,
+ RTF_SHPRIGHT,
+ RTF_SHPFBLWTXT,
+ RTF_SHPZ,
+ RTF_SHPBOTTOM,
+ RTF_SHPLEFT,
+ RTF_SHPLID,
+
+/* */
+
+ RTF_OBJALIAS = RTF_OBJECTS,
+ RTF_OBJALIGN,
+ RTF_OBJAUTLINK,
+ RTF_OBJCLASS,
+ RTF_OBJCROPB,
+ RTF_OBJCROPL,
+ RTF_OBJCROPR,
+ RTF_OBJCROPT,
+ RTF_OBJDATA,
+ RTF_OBJECT,
+ RTF_OBJEMB,
+ RTF_OBJH,
+ RTF_OBJICEMB,
+ RTF_OBJLINK,
+ RTF_OBJLOCK,
+ RTF_OBJNAME,
+ RTF_OBJPUB,
+ RTF_OBJSCALEX,
+ RTF_OBJSCALEY,
+ RTF_OBJSECT,
+ RTF_OBJSETSIZE,
+ RTF_OBJSUB,
+ RTF_OBJTIME,
+ RTF_OBJTRANSY,
+ RTF_OBJUPDATE,
+ RTF_OBJW,
+ RTF_RESULT,
+ RTF_RSLTBMP,
+ RTF_RSLTMERGE,
+ RTF_RSLTPICT,
+ RTF_RSLTRTF,
+ RTF_RSLTTXT,
+ RTF_OBJOCX,
+ RTF_OBJHTML,
+ RTF_OBJATTPH,
+
+/* */
+
+ RTF_PN = RTF_NUMBULLETS,
+ RTF_PNACROSS,
+ RTF_PNB,
+ RTF_PNCAPS,
+ RTF_PNCARD,
+ RTF_PNCF,
+ RTF_PNDEC,
+ RTF_PNF,
+ RTF_PNFS,
+ RTF_PNHANG,
+ RTF_PNI,
+ RTF_PNINDENT,
+ RTF_PNLCLTR,
+ RTF_PNLCRM,
+ RTF_PNLVL,
+ RTF_PNLVLBLT,
+ RTF_PNLVLBODY,
+ RTF_PNLVLCONT,
+ RTF_PNNUMONCE,
+ RTF_PNORD,
+ RTF_PNORDT,
+ RTF_PNPREV,
+ RTF_PNQC,
+ RTF_PNQL,
+ RTF_PNQR,
+ RTF_PNRESTART,
+ RTF_PNSCAPS,
+ RTF_PNSECLVL,
+ RTF_PNSP,
+ RTF_PNSTART,
+ RTF_PNSTRIKE,
+ RTF_PNTEXT,
+ RTF_PNTXTA,
+ RTF_PNTXTB,
+ RTF_PNUCLTR,
+ RTF_PNUCRM,
+ RTF_PNUL,
+ RTF_PNULD,
+ RTF_PNULDB,
+ RTF_PNULNONE,
+ RTF_PNULW,
+ RTF_LIST,
+ RTF_LISTLEVEL,
+ RTF_LISTOVERRIDE,
+ RTF_LISTOVERRIDETABLE,
+ RTF_LISTTABLE,
+ RTF_LISTNAME,
+ RTF_LEVELNUMBERS,
+ RTF_LEVELNORESTART,
+ RTF_LEVELNFC,
+ RTF_LEVELOLD,
+ RTF_LISTOVERRIDECOUNT,
+ RTF_LISTTEMPLATEID,
+ RTF_LEVELINDENT,
+ RTF_LEVELFOLLOW,
+ RTF_LEVELLEGAL,
+ RTF_LEVELJC,
+ RTF_LISTOVERRIDESTART,
+ RTF_LISTID,
+ RTF_LISTRESTARTHDN,
+ RTF_LEVELTEXT,
+ RTF_LISTOVERRIDEFORMAT,
+ RTF_LEVELPREVSPACE,
+ RTF_LEVELPREV,
+ RTF_LEVELSPACE,
+ RTF_LISTSIMPLE,
+ RTF_LEVELSTARTAT,
+ RTF_PNAIUEO,
+ RTF_PNAIUEOD,
+ RTF_PNCHOSUNG,
+ RTF_PNDBNUMD,
+ RTF_PNDBNUMK,
+ RTF_PNDBNUML,
+ RTF_PNDBNUMT,
+ RTF_PNGANADA,
+ RTF_PNGBNUM,
+ RTF_PNGBNUMD,
+ RTF_PNGBNUMK,
+ RTF_PNGBNUML,
+ RTF_PNZODIAC,
+ RTF_PNZODIACD,
+ RTF_PNZODIACL,
+ RTF_LFOLEVEL,
+
+/* */
+
+ RTF_GRF_ALIGNV= RTF_SWGDEFS,
+ RTF_GRF_ALIGNH,
+ RTF_GRF_MIRROR,
+ RTF_SWG_PRTDATA,
+ RTF_BKMK_KEY,
+ RTF_SHADOW,
+ RTF_SHDW_DIST,
+ RTF_SHDW_STYLE,
+ RTF_SHDW_COL,
+ RTF_SHDW_FCOL,
+ RTF_PGDSCTBL,
+ RTF_PGDSC,
+ RTF_PGDSCUSE,
+ RTF_PGDSCNXT,
+ RTF_PGDSCNO,
+ RTF_PGBRK,
+ RTF_SOUTLVL,
+
+// shapes
+ RTF_SHP, RTF_SN, RTF_SV, RTF_SP
+/*
+ RTF_SHPLEFT,
+ RTF_SHPTOP,
+ RTF_SHPBOTTOM,
+ RTF_SHPRIGHT
+*/
+
+};
+
+#endif // _RTFTOKEN_H
+
+/* vi:set tabstop=4 shiftwidth=4 expandtab: */
diff --git a/svtools/inc/svtools/ruler.hxx b/svtools/inc/svtools/ruler.hxx
new file mode 100644
index 000000000000..c2649b298ba6
--- /dev/null
+++ b/svtools/inc/svtools/ruler.hxx
@@ -0,0 +1,874 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _RULER_HXX
+#define _RULER_HXX
+
+#include "svtools/svtdllapi.h"
+#include <tools/link.hxx>
+#include <vcl/window.hxx>
+#ifndef _VIRDEV_HXX
+#include <vcl/virdev.hxx>
+#endif
+#include <vcl/field.hxx>
+
+class MouseEvent;
+class TrackingEvent;
+class DataChangedEvent;
+
+/*************************************************************************
+
+Beschreibung
+============
+
+class Ruler
+
+Diese Klasse dient zur Anzeige eines Lineals. Dabei kann diese Klasse nicht
+nur als Anzeige-Control verwendet werden, sondern auch als aktives Control
+zum Setzen/Verschieben von Tabulatoren und Raendern.
+
+--------------------------------------------------------------------------
+
+WinBits
+
+WB_HORZ Lineal wird horizontal dargestellt
+WB_VERT Lineal wird vertikal dargestellt
+WB_3DLOOK 3D-Darstellung
+WB_BORDER Border am unteren/rechten Rand
+WB_EXTRAFIELD Feld in der linken/oberen Ecke zur Anzeige und
+ Auswahl von Tabs, Null-Punkt, ...
+WB_RIGHT_ALIGNED Marks the vertical ruler as right aligned
+
+--------------------------------------------------------------------------
+
+Beim Lineal werden alle Werte als Pixel-Werte eingestellt. Dadurch werden
+doppelte Umrechnungen und Rundungsfehler vermieden und die Raender werden
+im Lineal auch an der Position angezeigt, den Sie auch im Dokument haben.
+Dadurch kann die Applikation zum Beispiel bei Tabellendarstellung auch
+eigene Rundungen vornehmen und die Positionen im Lineal passen trotzdem noch
+zu denen im Dokument. Damit aber das Lineal weiss, wie das Dokument auf dem
+Bildschirm dargestellt wird, muessen noch ein paar zusaetzliche Werte
+eingestellt werden.
+
+Mit SetWinPos() wird der Offset des Edit-Fenster zum Lineal eingestellt.
+Dabei kann auch die Breite des Fensters eingestellt werden. Wenn bei den
+Werten 0 uebergeben wird, wird die Position/Breite vom Fenster automatisch
+so breit gesetzt, wie das Lineal breit ist.
+
+Mit SetPagePos() wird der Offset der Seite zum Edit-Fenster eingestellt und
+die Breite der Seite eingestellt. Wenn bei den Werten 0 uebergeben wird,
+wird die Position/Breite automatisch so gesetzt, als ob die Seite das ganze
+Editfenster ausfuellen wuerde.
+
+Mit SetBorderPos() kann der Offset eingestellt werden, ab dem der
+Border ausgegeben wird. Die Position bezieht sich auf die linke bzw. obere
+Fensterkante. Dies wird gebraucht, wenn ein horizontales und vertikales
+Lineal gleichzeitig sichtbar sind. Beispiel:
+ aHRuler.SetBorderPos( aVRuler.GetSizePixel().Width()-1 );
+
+Mit SetNullOffset() wird der Null-Punkt bezogen auf die Seite gesetzt.
+
+Alle anderen Werte (Raender, Einzug, Tabs, ...) beziehen sich auf den 0 Punkt,
+der mit SetNullOffset() eingestellt wird.
+
+Die Werte werden zum Beispiel folgendermassen berechnet:
+
+- WinPos (wenn beide Fenster den gleichen Parent haben)
+
+ Point aHRulerPos = aHRuler.GetPosPixel();
+ Point aEditWinPos = aEditWin.GetPosPixel();
+ aHRuler.SetWinPos( aEditWinPos().X() - aHRulerPos.X() );
+
+- PagePos
+
+ Point aPagePos = aEditWin.LogicToPixel( aEditWin.GetPagePos() );
+ aHRuler.SetPagePos( aPagePos().X() );
+
+- Alle anderen Werte
+
+ Die logischen Werte zusammenaddieren, als Position umrechnen und
+ die vorher gemerkten Pixel-Positionen (von PagePos und NullOffset)
+ entsprechend abziehen.
+
+--------------------------------------------------------------------------
+
+Mit SetUnit() und SetZoom() wird eingestellt, in welcher Einheit das Lineal
+die Werte anzeigt. Folgende Einheiten werden akzeptiert:
+
+ FUNIT_MM
+ FUNIT_CM (Default)
+ FUNIT_M
+ FUNIT_KM
+ FUNIT_INCH
+ FUNIT_FOOT
+ FUNIT_MILE
+ FUNIT_POINT
+ FUNIT_PICA
+
+--------------------------------------------------------------------------
+
+Mit SetMargin1() kann der linke/obere Rand und mit SetMargin2() kann
+der rechte/untere Rand gesetzt werden. Falls diese Methoden ohne Parameter
+aufgerufen werden, werden keine Raender angezeigt. Wenn SetMargin1() bzw.
+SetMargin2() mit Parametern aufgerufen werden, kann bei diesen
+folgendes angegeben werden:
+
+ long nPos - Offset zum NullPunkt in Pixel
+ USHORT nStyle - Bit-Style:
+ RULER_MARGIN_SIZEABLE
+ Rand kann in der Groesse veraendert werden.
+
+ Zu diesen Style's koennen folgende Style-
+ Bits dazugeodert werden:
+ RULER_STYLE_INVISIBLE (fuer nicht sichtbar)
+
+
+Mit SetBorders() kann ein Array von Raendern gesetzt werden. Dabei muss
+ein Array vom Typ RulerBorder uebergeben werden, wobei folgende Werte
+initialisiert werden muessen:
+
+ long nPos - Offset zum NullPunkt in Pixel
+ long nWidth - Breite des Spaltenabstands in Pixel (kann zum
+ Beispiel fuer Tabellenspalten auch 0 sein)
+ USHORT nStyle - Bit-Style:
+ RULER_BORDER_SIZEABLE
+ Spaltenabstand kann in der Groesse veraendert
+ werden. Dieses Flag sollte nur gesetzt werden,
+ wenn ein Abstand in der Groesse geaendert wird
+ und nicht die Groesse einer Zelle.
+ RULER_BORDER_MOVEABLE
+ Spaltenabstand/Begrenzung kann verschoben
+ werden. Wenn Tabellenbegrenzungen verschoben
+ werden, sollte dieses Flag gesetzt werden und
+ nicht Sizeable. Denn Sizeable gibt an, das
+ ein Abstand vergroessert werden kann und nicht
+ eine einzelne Zelle in der Groesse geaendert
+ werden kann.
+ RULER_BORDER_VARIABLE
+ Nicht alle Spaltenabstande sind gleich
+ RULER_BORDER_TABLE
+ Tabellenrahmen. Wenn dieser Style gesetzt
+ wird, muss die Spaltenbreite 0 sein.
+ RULER_BORDER_SNAP
+ Hilfslinie / Fanglinie. Wenn dieser Style
+ gesetzt wird, muss die Spaltenbreite 0 sein.
+ RULER_BORDER_MARGIN
+ Margin. Wenn dieser Style gesetzt wird,
+ muss die Spaltenbreite 0 sein.
+
+ Zu diesen Style's koennen folgende Style-
+ Bits dazugeodert werden:
+ RULER_STYLE_INVISIBLE (fuer nicht sichtbar)
+
+Mit SetIndents() kann ein Array von Indents gesetzt werden. Diese Methode darf
+nur angewendet werden, wenn es sich um ein horizontales Lineal handelt. Als
+Parameter muss ein Array vom Typ RulerIndent uebergeben werden, wobei folgende
+Werte initialisiert werden muessen:
+
+ long nPos - Offset zum NullPunkt in Pixel
+ USHORT nStyle - Bit-Style:
+ RULER_INDENT_TOP (Erstzeileneinzug)
+ RULER_INDENT_BOTTOM (Linker/Rechter Einzug)
+ RULER_INDENT_BORDER (Verical line that shows the border distance)
+ Zu diesen Style's koennen folgende Style-
+ Bits dazugeodert werden:
+ RULER_STYLE_DONTKNOW (fuer alte Position oder
+ fuer Uneindeutigkeit)
+ RULER_STYLE_INVISIBLE (fuer nicht sichtbar)
+
+Mit SetTabs() kann ein Array von Tabs gesetzt werden. Diese Methode darf nur
+angewendet werden, wenn es sich um ein horizontales Lineal handelt. Als
+Parameter muss ein Array vom Typ RulerTab uebergeben werden, wobei folgende
+Werte initialisiert werden muessen:
+
+ long nPos - Offset zum NullPunkt in Pixel
+ USHORT nStyle - Bit-Style:
+ RULER_TAB_DEFAULT (kann nicht selektiert werden)
+ RULER_TAB_LEFT
+ RULER_TAB_CENTER
+ RULER_TAB_RIGHT
+ RULER_TAB_DECIMAL
+ Zu diesen Style's koennen folgende Style-
+ Bits dazugeodert werden:
+ RULER_STYLE_DONTKNOW (fuer alte Position oder
+ fuer Uneindeutigkeit)
+ RULER_STYLE_INVISIBLE (fuer nicht sichtbar)
+
+Mit SetLines() koennen Positionslinien im Lineal angezeigt werden. Dabei
+muss ein Array vom Typ RulerLine uebergeben werden, wobei folgende Werte
+initialisiert werden muessen:
+
+ long nPos - Offset zum NullPunkt in Pixel
+ USHORT nStyle - Bit-Style (muss zur Zeit immer 0 sein)
+
+Mit SetArrows() koennen Bemassungspfeile im Lineal angezeigt werden. Wenn
+Bemassungspfeile gesetzt werden, werden im Lineal auch keine Unterteilungen
+mehr angezeigt. Deshalb sollten die Bemassungspfeile immer ueber die ganze
+Linealbreite gesetzt werden. Dabei muss ein Array vom Typ RulerArrow
+uebergeben werden, wobei folgende Werte initialisiert werden muessen:
+
+ long nPos - Offset zum NullPunkt in Pixel
+ long nWidth - Breite des Pfeils
+ long nLogWidth - Breite des Pfeils in logischer Einheit
+ USHORT nStyle - Bit-Style (muss zur Zeit immer 0 sein)
+
+Mit SetSourceUnit() wird die Einheit eingestellt, in welcher die logischen
+Werte vorliegen, die bei SetArrows() uebergeben werden. Dabei werden nur die
+Einheiten MAP_TWIP und MAP_100TH_MM (default) akzeptiert.
+
+--------------------------------------------------------------------------
+
+Wenn auch vom Benutzer die Raender, Tabs, Border, ... ueber das Lineal
+geaendert werden koennen, muss etwas mehr Aufwand getrieben werden. Dazu
+muessen die Methoden StartDrag(), Drag() und EndDrag() ueberlagert werden.
+Bei der Methode StartDrag() besteht die Moeglichkeit durch das zurueckgeben
+von FALSE das Draggen zu verhindern. Im Drag-Handler muss die Drag-Position
+abgefragt werden und die Werte muessen an die neue Position verschoben werden.
+Dazu ruft man einfach die einzelnen Set-Methoden auf. Solange man sich
+im Drag-Handler befindet, werden sich die Werte nur gemerkt und erst
+danach das Lineal neu ausgegeben. Alle Handler koennen auch als Links ueber
+entsprechende Set..Hdl()-Methoden gesetzt werden.
+
+ - StartDrag()
+ Wird gerufen, wenn das Draggen gestartet wird. Wenn FALSE
+ zurueckgegeben wird, wird das Draggen nicht ausgefuehrt. Bei TRUE
+ wird das Draggen zugelassen. Wenn der Handler nicht ueberlagert
+ wird, wird FALSE zurueckgegeben.
+
+ - EndDrag()
+ Wird gerufen, wenn das Draggen beendet wird.
+
+ - Drag()
+ Wird gerufen, wenn gedragt wird.
+
+ - Click()
+ Dieser Handler wird gerufen, wenn kein Element angeklickt wurde.
+ Die Position kann mit GetClickPos() abgefragt werden. Dadurch
+ kann man zum Beispiel Tabs in das Lineal setzen. Nach Aufruf des
+ Click-Handlers wird gegebenenfalls das Drag sofort ausgeloest. Dadurch
+ ist es moeglich, einen neuen Tab im Click-Handler zu setzen und
+ danach gleich zu verschieben.
+
+ - DoubleClick()
+ Dieser Handler wird gerufen, wenn ein DoubleClick ausserhalb des
+ Extrafeldes gemacht wurde. Was angeklickt wurde, kann mit
+ GetClickType(), GetClickAryPos() und GetClickPos() abgefragt werden.
+ Somit kann man zum Beispiel den Tab-Dialog anzeigen, wenn ein
+ Tab mit einem DoubleClick betaetigt wurde.
+
+Im Drag-Handler kann man abfragen, was und wohin gedragt wurde. Dazu gibt
+es folgende Abfrage-Methoden.
+
+ - GetDragType()
+ Liefert zurueck, was gedragt wird:
+ RULER_TYPE_MARGIN1
+ RULER_TYPE_MARGIN2
+ RULER_TYPE_BORDER
+ RULER_TYPE_INDENT
+ RULER_TYPE_TAB
+
+ - GetDragPos()
+ Liefert die Pixel-Position bezogen auf den eingestellten Null-Offset
+ zurueck, wohin der Anwender die Maus bewegt hat.
+
+ - GetDragAryPos()
+ Liefert den Index im Array zurueck, wenn ein Border, Indent oder ein
+ Tab gedragt wird. Achtung: Es wird die Array-Position waehrend des
+ gesammten Drag-Vorgangs von dem Item im Array was vor dem Drag gesetzt
+ war zurueckgeben. Dadurch ist es zum Beispiel auch moeglich, einen
+ Tab nicht mehr anzuzeigen, wenn die Maus nach unten/rechts aus dem
+ Lineal gezogen wird.
+
+ - GetDragSize()
+ Wenn Borders gedragt werden, kann hierueber abgefragt werden, ob
+ die Groesse bzw. welche Seite oder die Position geaendert werden soll.
+ RULER_DRAGSIZE_MOVE oder 0 - Move
+ RULER_DRAGSIZE_1 - Linke/obere Kante
+ RULER_DRAGSIZE_2 - Rechte/untere Kante
+
+ - IsDragDelete()
+ Mit dieser Methode kann abgefragt werden, ob beim Draggen die
+ Maus unten/rechts aus dem Fenster gezogen wurde. Damit kann
+ zum Beispiel festgestellt werden, ob der Benutzer einen Tab
+ loeschen will.
+
+ - IsDragCanceled()
+ Mit dieser Methode kann im EndDrag-Handler abgefragt werden,
+ ob die Aktion abgebrochen wurde, indem der Anwender die
+ Maus oben/links vom Fenster losgelassen hat oder ESC gedrueckt
+ hat. In diesem Fall werden die Werte nicht uebernommen. Wird
+ waehrend des Draggings die Maus oben/links aus dem Fenster
+ gezogen, werden automatisch die alten Werte dargestellt, ohne das
+ der Drag-Handler gerufen wird.
+ Falls der Benutzer jedoch den Wert auf die alte Position
+ zurueckgeschoben hat, liefert die Methode trotzdem FALSE. Falls
+ dies vermieden werden soll, muss sich die Applikation im StartDrag-
+ Handler den alten Wert merken und im EndDrag-Handler den Wert
+ vergleichen.
+
+ - GetDragScroll()
+ Mit dieser Methode kann abgefragt werden, ob gescrollt werden
+ soll. Es wird einer der folgenden Werte zurueckgegeben:
+ RULER_SCROLL_NO - Drag-Position befindet sich
+ an keinem Rand und somit
+ muss nicht gescrollt werden.
+ RULER_SCROLL_1 - Drag-Position befindet sich
+ am linken/oberen Rand und
+ somit sollte das Programm evt.
+ ein Srcoll ausloesen.
+ RULER_SCROLL_2 - Drag-Position befindet sich
+ am rechten/unteren Rand und
+ somit sollte das Programm evt.
+ ein Srcoll ausloesen.
+
+ - GetDragModifier()
+ Liefert die Modifier-Tasten zurueck, die beim Starten des Drag-
+ Vorgangs gedrueckt waren. Siehe MouseEvent.
+
+ - GetClickPos()
+ Liefert die Pixel-Position bezogen auf den eingestellten Null-Offset
+ zurueck, wo der Anwender die Maus gedrueckt hat.
+
+ - GetClickType()
+ Liefert zurueck, was per DoubleClick betaetigt wird:
+ RULER_TYPE_DONTKNOW (kein Element im Linealbereich)
+ RULER_TYPE_OUTSIDE (ausserhalb des Linealbereichs)
+ RULER_TYPE_MARGIN1 (nur Margin1-Kante)
+ RULER_TYPE_MARGIN2 (nur Margin2-Kante)
+ RULER_TYPE_BORDER (Border: GetClickAryPos())
+ RULER_TYPE_INDENT (Einzug: GetClickAryPos())
+ RULER_TYPE_TAB (Tab: GetClickAryPos())
+
+ - GetClickAryPos()
+ Liefert den Index im Array zurueck, wenn ein Border, Indent oder ein
+ Tab per DoubleClick betaetigt wird.
+
+ - GetType()
+ Mit dieser Methode kann man einen HitTest durchfuehren, um
+ gegebenenfalls ueber das Abfangen des MouseButtonDown-Handlers
+ auch ueber die rechte Maustaste etwas auf ein Item anzuwenden. Als
+ Paramter ueber gibt man die Fensterposition und gegebenenfalls
+ einen Pointer auf einen USHORT, um die Array-Position eines
+ Tabs, Indent oder Borders mitzubekommen. Als Type werden folgende
+ Werte zurueckgegeben:
+ RULER_TYPE_DONTKNOW (kein Element im Linealbereich)
+ RULER_TYPE_OUTSIDE (ausserhalb des Linealbereichs)
+ RULER_TYPE_MARGIN1 (nur Margin1-Kante)
+ RULER_TYPE_MARGIN2 (nur Margin2-Kante)
+ RULER_TYPE_BORDER (Border: GetClickAryPos())
+ RULER_TYPE_INDENT (Einzug: GetClickAryPos())
+ RULER_TYPE_TAB (Tab: GetClickAryPos())
+
+Wenn der Drag-Vorgang abgebrochen werden soll, kann der Drag-Vorgang
+mit CancelDrag() abgebrochen werden. Folgende Methoden gibt es fuer die
+Drag-Steuerung:
+
+ - IsDrag()
+ Liefert TRUE zurueck, wenn sich das Lineal im Drag-Vorgang befindet.
+
+ - CancelDrag()
+ Bricht den Drag-Vorgang ab, falls einer durchgefuehrt wird. Dabei
+ werden die alten Werte wieder hergestellt und der Drag und der
+ EndDrag-Handler gerufen.
+
+Um vom Dokument ein Drag auszuloesen, gibt es folgende Methoden:
+
+ - StartDocDrag()
+ Dieser Methode werden der MouseEvent vom Dokumentfenster und
+ was gedragt werden soll uebergeben. Wenn als DragType
+ RULER_TYPE_DONTKNOW uebergeben wird, bestimmt das Lineal, was
+ verschoben werden soll. Bei den anderen, wird der Drag nur dann
+ gestartet, wenn auch an der uebergebenen Position ein entsprechendes
+ Element gefunden wurde. Dies ist zun Beispiel dann notwendig, wenn
+ zum Beispiel Einzuege und Spalten an der gleichen X-Position liegen.
+ Der Rueckgabewert gibt an, ob der Drag ausgeloest wurde. Wenn ein
+ Drag ausgeloest wird, uebernimmt das Lineal die normale Drag-Steuerung
+ und verhaelt sich dann so, wie als wenn direkt in das Lineal geklickt
+ wurde. So captured das Lineal die Mouse und uebernimmt auch die
+ Steuerung des Cancel (ueber Tastatur, oder wenn die Mouse ueber
+ oder links vom Lineal ruasgeschoben wird). Auch alle Handler werden
+ gerufen (inkl. des StartDrag-Handlers). Wenn ein MouseEvent mit
+ Click-Count 2 uebergeben wird auch der DoubleClick-Handler
+ entsprechend gerufen.
+
+ - GetDocType()
+ Dieser Methode wird die Position vom Dokumentfenster uebergeben und
+ testet, was sich unter der Position befindet. Dabei kann wie bei
+ StartDocDrag() der entsprechende Test auf ein bestimmtes Element
+ eingeschraenkt werden. Im Gegensatz zu GetType() liefert diese
+ Methode immer DontKnow zurueck, falls kein Element getroffen wurde.
+ Falls man den HitTest selber durchfuehren moechte, kann man
+ folgende Defines fuer die Toleranz benutzen (Werte gelten fuer
+ eine Richtung):
+ RULER_MOUSE_TABLEWIDTH - fuer Tabellenspalten
+ RULER_MOUSE_MARGINWIDTH - fuer Margins
+
+--------------------------------------------------------------------------
+
+Fuer das Extra-Feld kann der Inhalt bestimmt werden und es gibt Handler,
+womit man bestimmte Aktionen abfangen kann.
+
+ - ExtraDown()
+ Dieser Handler wird gerufen, wenn im Extra-Feld die Maus
+ gedrueckt wird.
+
+ - SetExtraType()
+ Mit dieser Methode kann festgelegt werden, was im ExtraFeld
+ dargestellt werden soll.
+ - ExtraType Was im Extrafeld dargestellt werden soll
+ RULER_EXTRA_DONTKNOW (Nichts)
+ RULER_EXTRA_NULLOFFSET (Koordinaaten-Kreuz)
+ RULER_EXTRA_TAB (Tab)
+ - USHORT nStyle Bitfeld als Style:
+ RULER_STYLE_HIGHLIGHT (selektiert)
+ RULER_TAB_... (ein Tab-Style)
+
+ - GetExtraClick()
+ Liefert die Anzahl der Mausclicks zurueck. Dadurch ist es zum
+ Beispiel auch moeglich, auch durch einen DoubleClick im Extrafeld
+ eine Aktion auszuloesen.
+
+ - GetExtraModifier()
+ Liefert die Modifier-Tasten zurueck, die beim Klicken in das Extra-
+ Feld gedrueckt waren. Siehe MouseEvent.
+
+--------------------------------------------------------------------------
+
+Weitere Hilfsfunktionen:
+
+- static Ruler::DrawTab()
+ Mit dieser Methode kann ein Tab auf einem OutputDevice ausgegeben
+ werden. Dadurch ist es moeglich, auch in Dialogen die Tabs so
+ anzuzeigen, wie Sie im Lineal gemalt werden.
+
+ Diese Methode gibt den Tab zentriert an der uebergebenen Position
+ aus. Die Groesse der Tabs kann ueber die Defines RULER_TAB_WIDTH und
+ RULER_TAB_HEIGHT bestimmt werden.
+
+--------------------------------------------------------------------------
+
+Tips zur Benutzung des Lineals:
+
+- Bei dem Lineal muss weder im Drag-Modus noch sonst das Setzen der Werte
+ in SetUpdateMode() geklammert werden. Denn das Lineal sorgt von sich
+ aus dafuer, das wenn mehrere Werte gesetzt werden, diese automatisch
+ zusammengefast werden und flackerfrei ausgegeben werden.
+
+- Initial sollten beim Lineal zuerst die Groessen, Positionen und Werte
+ gesetzt werden, bevor es angezeigt wird. Dies ist deshalb wichtig, da
+ ansonsten viele Werte unnoetig berechnet werden.
+
+- Wenn das Dokumentfenster, in dem sich das Lineal befindet aktiv bzw.
+ deaktiv wird, sollten die Methoden Activate() und Deactivate() vom
+ Lineal gerufen werden. Denn je nach Einstellungen und System wird die
+ Anzeige entsprechend umgeschaltet.
+
+- Zum Beispiel sollte beim Drag von Tabs und Einzuegen nach Moeglichkeit die
+ alten Positionen noch mit angezeigt werden. Dazu sollte zusaetzlich beim
+ Setzen der Tabs und Einzuege als erstes im Array die alten Positionen
+ eingetragen werden und mit dem Style RULER_STYLE_DONTKNOW verknuepft
+ werden. Danach sollte im Array die restlichen Werte eingetragen werden.
+
+- Bei mehreren markierten Absaetzen und Tabellen-Zellen, sollten die Tabs
+ und Einzuege in grau von der ersten Zelle, bzw. vom ersten Absatz
+ angezeigt werden. Dies kann man auch ueber den Style RULER_STYLE_DONTKNOW
+ erreichen.
+
+- Die Bemassungspfeile sollten immer dann angezeigt, wenn beim Drag die
+ Alt-Taste (WW-Like) gedrueckt wird. Vielleicht sollte diese Einstellung
+ auch immer vornehmbar sein und vielleicht beim Drag immer die
+ Bemassungspfeile dargestellt werden. Bei allen Einstellung sollten die
+ Werte immer auf ein vielfaches eines Wertes gerundet werden, da die
+ Bildschirmausloesung sehr ungenau ist.
+
+- DoppelKlicks sollten folgendermassen behandelt werden (GetClickType()):
+ - RULER_TYPE_DONTKNOW
+ RULER_TYPE_MARGIN1
+ RULER_TYPE_MARGIN2
+ Wenn die Bedingunden GetClickPos() <= GetMargin1() oder
+ GetClickPos() >= GetMargin2() oder der Type gleich
+ RULER_TYPE_MARGIN1 oder RULER_TYPE_MARGIN2 ist, sollte
+ ein SeitenDialog angezeigt werden, wo der Focus auf dem
+ entsprechenden Rand steht
+ - RULER_TYPE_BORDER
+ Es sollte ein Spalten- oder Tabellen-Dialog angezeigt werden,
+ wo der Focus auf der entsprechenden Spalte steht, die mit
+ GetClickAryPos() abgefragt werden kann.
+ - RULER_TYPE_INDENT
+ Es sollte der Dialog angezeigt werden, wo die Einzuege eingestellt
+ werden koennen. Dabei sollte der Focus auf dem Einzug stehen, der
+ mit GetClickAryPos() ermittelt werden kann.
+ - RULER_TYPE_TAB
+ Es sollte ein TabDialog angezeigt werden, wo der Tab selektiert
+ sein sollte, der ueber GetClickAryPos() abgefragt werden kann.
+
+*************************************************************************/
+
+// -----------
+// - WinBits -
+// -----------
+
+#define WB_EXTRAFIELD ((WinBits)0x00004000)
+#define WB_RIGHT_ALIGNED ((WinBits)0x00008000)
+#define WB_STDRULER WB_HORZ
+
+// ---------------
+// - Ruler-Types -
+// ---------------
+
+struct ImplRulerHitTest;
+
+// --------------
+// - Ruler-Type -
+// --------------
+
+enum RulerType { RULER_TYPE_DONTKNOW, RULER_TYPE_OUTSIDE,
+ RULER_TYPE_MARGIN1, RULER_TYPE_MARGIN2,
+ RULER_TYPE_BORDER, RULER_TYPE_INDENT, RULER_TYPE_TAB };
+
+enum RulerExtra { RULER_EXTRA_DONTKNOW,
+ RULER_EXTRA_NULLOFFSET, RULER_EXTRA_TAB };
+
+#define RULER_STYLE_HIGHLIGHT ((USHORT)0x8000)
+#define RULER_STYLE_DONTKNOW ((USHORT)0x4000)
+#define RULER_STYLE_INVISIBLE ((USHORT)0x2000)
+
+#define RULER_DRAGSIZE_MOVE 0
+#define RULER_DRAGSIZE_1 1
+#define RULER_DRAGSIZE_2 2
+
+#define RULER_MOUSE_BORDERMOVE 5
+#define RULER_MOUSE_BORDERWIDTH 5
+#define RULER_MOUSE_TABLEWIDTH 1
+#define RULER_MOUSE_MARGINWIDTH 3
+
+#define RULER_SCROLL_NO 0
+#define RULER_SCROLL_1 1
+#define RULER_SCROLL_2 2
+
+// ---------------
+// - RulerMargin -
+// ---------------
+
+#define RULER_MARGIN_SIZEABLE ((USHORT)0x0001)
+
+// ---------------
+// - RulerBorder -
+// ---------------
+
+#define RULER_BORDER_SIZEABLE ((USHORT)0x0001)
+#define RULER_BORDER_MOVEABLE ((USHORT)0x0002)
+#define RULER_BORDER_VARIABLE ((USHORT)0x0004)
+#define RULER_BORDER_TABLE ((USHORT)0x0008)
+#define RULER_BORDER_SNAP ((USHORT)0x0010)
+#define RULER_BORDER_MARGIN ((USHORT)0x0020)
+
+struct RulerBorder
+{
+ long nPos;
+ long nWidth;
+ USHORT nStyle;
+ //minimum/maximum position, supported for table borders/rows
+ long nMinPos;
+ long nMaxPos;
+};
+
+// ---------------
+// - RulerIndent -
+// ---------------
+
+#define RULER_INDENT_TOP ((USHORT)0x0000)
+#define RULER_INDENT_BOTTOM ((USHORT)0x0001)
+#define RULER_INDENT_BORDER ((USHORT)0x0002)
+#define RULER_INDENT_STYLE ((USHORT)0x000F)
+
+struct RulerIndent
+{
+ long nPos;
+ USHORT nStyle;
+};
+
+// ------------
+// - RulerTab -
+// ------------
+
+#define RULER_TAB_LEFT ((USHORT)0x0000)
+#define RULER_TAB_RIGHT ((USHORT)0x0001)
+#define RULER_TAB_DECIMAL ((USHORT)0x0002)
+#define RULER_TAB_CENTER ((USHORT)0x0003)
+#define RULER_TAB_DEFAULT ((USHORT)0x0004)
+#define RULER_TAB_STYLE ((USHORT)0x000F)
+#define RULER_TAB_RTL ((USHORT)0x0010)
+
+struct RulerTab
+{
+ long nPos;
+ USHORT nStyle;
+};
+
+#define RULER_TAB_WIDTH 7
+#define RULER_TAB_HEIGHT 6
+
+// -------------
+// - RulerLine -
+// -------------
+
+struct RulerLine
+{
+ long nPos;
+ USHORT nStyle;
+};
+
+// --------------
+// - RulerArrow -
+// --------------
+
+struct RulerArrow
+{
+ long nPos;
+ long nWidth;
+ long nLogWidth;
+ USHORT nStyle;
+};
+
+class ImplRulerData;
+// ---------
+// - Ruler -
+// ---------
+
+class SVT_DLLPUBLIC Ruler : public Window
+{
+private:
+ VirtualDevice maVirDev;
+ MapMode maMapMode;
+ long mnBorderOff;
+ long mnWinOff;
+ long mnWinWidth;
+ long mnWidth;
+ long mnHeight;
+ long mnVirOff;
+ long mnVirWidth;
+ long mnVirHeight;
+ long mnBorderWidth;
+ long mnStartDragPos;
+ long mnDragPos;
+ ULONG mnUpdateEvtId;
+ ImplRulerData* mpSaveData;
+ ImplRulerData* mpData;
+ ImplRulerData* mpDragData;
+ Rectangle maExtraRect;
+ WinBits mnWinStyle;
+ USHORT mnUnitIndex;
+ USHORT mnDragAryPos;
+ USHORT mnDragSize;
+ USHORT mnDragScroll;
+ USHORT mnDragModifier;
+ USHORT mnExtraStyle;
+ USHORT mnExtraClicks;
+ USHORT mnExtraModifier;
+ RulerExtra meExtraType;
+ RulerType meDragType;
+ MapUnit meSourceUnit;
+ FieldUnit meUnit;
+ Fraction maZoom;
+ BOOL mbCalc;
+ BOOL mbFormat;
+ BOOL mbDrag;
+ BOOL mbDragDelete;
+ BOOL mbDragCanceled;
+ BOOL mbAutoWinWidth;
+ BOOL mbActive;
+ BYTE mnUpdateFlags;
+ Link maStartDragHdl;
+ Link maDragHdl;
+ Link maEndDragHdl;
+ Link maClickHdl;
+ Link maDoubleClickHdl;
+ Link maExtraDownHdl;
+
+#ifdef _SV_RULER_CXX
+ SVT_DLLPRIVATE void ImplVDrawLine( long nX1, long nY1, long nX2, long nY2 );
+ SVT_DLLPRIVATE void ImplVDrawRect( long nX1, long nY1, long nX2, long nY2 );
+ SVT_DLLPRIVATE void ImplVDrawText( long nX, long nY, const String& rText );
+
+ SVT_DLLPRIVATE void ImplDrawTicks( long nMin, long nMax, long nStart, long nCenter );
+ SVT_DLLPRIVATE void ImplDrawArrows( long nCenter );
+ SVT_DLLPRIVATE void ImplDrawBorders( long nMin, long nMax, long nVirTop, long nVirBottom );
+ SVT_DLLPRIVATE void ImplDrawIndent( const Polygon& rPoly, USHORT nStyle );
+ SVT_DLLPRIVATE void ImplDrawIndents( long nMin, long nMax, long nVirTop, long nVirBottom );
+ SVT_DLLPRIVATE void ImplDrawTab( OutputDevice* pDevice, const Point& rPos, USHORT nStyle );
+ SVT_DLLPRIVATE void ImplDrawTabs( long nMin, long nMax, long nVirTop, long nVirBottom );
+ using Window::ImplInit;
+ SVT_DLLPRIVATE void ImplInit( WinBits nWinBits );
+ SVT_DLLPRIVATE void ImplInitSettings( BOOL bFont, BOOL bForeground, BOOL bBackground );
+ SVT_DLLPRIVATE void ImplCalc();
+ SVT_DLLPRIVATE void ImplFormat();
+ SVT_DLLPRIVATE void ImplInitExtraField( BOOL bUpdate );
+ SVT_DLLPRIVATE void ImplInvertLines( BOOL bErase = FALSE );
+ SVT_DLLPRIVATE void ImplDraw();
+ SVT_DLLPRIVATE void ImplDrawExtra( BOOL bPaint = FALSE );
+ SVT_DLLPRIVATE void ImplUpdate( BOOL bMustCalc = FALSE );
+ using Window::ImplHitTest;
+ SVT_DLLPRIVATE BOOL ImplHitTest( const Point& rPos,
+ ImplRulerHitTest* pHitTest,
+ BOOL bRequiredStyle = FALSE,
+ USHORT nRequiredStyle = 0 ) const;
+ SVT_DLLPRIVATE BOOL ImplDocHitTest( const Point& rPos, RulerType eDragType, ImplRulerHitTest* pHitTest ) const;
+ SVT_DLLPRIVATE BOOL ImplStartDrag( ImplRulerHitTest* pHitTest, USHORT nModifier );
+ SVT_DLLPRIVATE void ImplDrag( const Point& rPos );
+ SVT_DLLPRIVATE void ImplEndDrag();
+ DECL_DLLPRIVATE_LINK( ImplUpdateHdl, void* );
+#endif
+
+ // Forbidden and not implemented.
+ Ruler (const Ruler &);
+ Ruler & operator= (const Ruler &);
+
+public:
+ Ruler( Window* pParent, WinBits nWinStyle = WB_STDRULER );
+ virtual ~Ruler();
+
+ virtual void MouseButtonDown( const MouseEvent& rMEvt );
+ virtual void MouseMove( const MouseEvent& rMEvt );
+ virtual void Tracking( const TrackingEvent& rTEvt );
+ virtual void Paint( const Rectangle& rRect );
+ virtual void Resize();
+ virtual void StateChanged( StateChangedType nStateChange );
+ virtual void DataChanged( const DataChangedEvent& rDCEvt );
+
+ virtual long StartDrag();
+ virtual void Drag();
+ virtual void EndDrag();
+ virtual void Click();
+ virtual void DoubleClick();
+ virtual void ExtraDown();
+
+ void Activate();
+ void Deactivate();
+ BOOL IsActive() const { return mbActive; }
+
+ void SetWinPos( long nOff = 0, long nWidth = 0 );
+ long GetWinOffset() const { return mnWinOff; }
+ long GetWinWidth() const { return mnWinWidth; }
+ void SetPagePos( long nOff = 0, long nWidth = 0 );
+ long GetPageOffset() const;
+ long GetPageWidth() const;
+ void SetBorderPos( long nOff = 0 );
+ long GetBorderOffset() const { return mnBorderOff; }
+ Rectangle GetExtraRect() const { return maExtraRect; }
+
+ void SetUnit( FieldUnit eNewUnit );
+ FieldUnit GetUnit() const { return meUnit; }
+ void SetZoom( const Fraction& rNewZoom );
+ Fraction GetZoom() const { return maZoom; }
+
+ void SetSourceUnit( MapUnit eNewUnit ) { meSourceUnit = eNewUnit; }
+ MapUnit GetSourceUnit() const { return meSourceUnit; }
+
+ void SetExtraType( RulerExtra eNewExtraType, USHORT nStyle = 0 );
+ RulerExtra GetExtraType() const { return meExtraType; }
+ USHORT GetExtraStyle() const { return mnExtraStyle; }
+ USHORT GetExtraClicks() const { return mnExtraClicks; }
+ USHORT GetExtraModifier() const { return mnExtraModifier; }
+
+ BOOL StartDocDrag( const MouseEvent& rMEvt,
+ RulerType eDragType = RULER_TYPE_DONTKNOW );
+ RulerType GetDocType( const Point& rPos,
+ RulerType eDragType = RULER_TYPE_DONTKNOW,
+ USHORT* pAryPos = NULL ) const;
+ RulerType GetDragType() const { return meDragType; }
+ long GetDragPos() const { return mnDragPos; }
+ USHORT GetDragAryPos() const { return mnDragAryPos; }
+ USHORT GetDragSize() const { return mnDragSize; }
+ BOOL IsDragDelete() const { return mbDragDelete; }
+ BOOL IsDragCanceled() const { return mbDragCanceled; }
+ USHORT GetDragScroll() const { return mnDragScroll; }
+ USHORT GetDragModifier() const { return mnDragModifier; }
+ BOOL IsDrag() const { return mbDrag; }
+ void CancelDrag();
+ long GetClickPos() const { return mnDragPos; }
+ RulerType GetClickType() const { return meDragType; }
+ USHORT GetClickAryPos() const { return mnDragAryPos; }
+ using Window::GetType;
+ RulerType GetType( const Point& rPos,
+ USHORT* pAryPos = NULL ) const;
+
+ void SetNullOffset( long nPos );
+ long GetNullOffset() const;
+ void SetMargin1() { SetMargin1( 0, RULER_STYLE_INVISIBLE ); }
+ void SetMargin1( long nPos, USHORT nMarginStyle = RULER_MARGIN_SIZEABLE );
+ long GetMargin1() const;
+ USHORT GetMargin1Style() const;
+ void SetMargin2() { SetMargin2( 0, RULER_STYLE_INVISIBLE ); }
+ void SetMargin2( long nPos, USHORT nMarginStyle = RULER_MARGIN_SIZEABLE );
+ long GetMargin2() const;
+ USHORT GetMargin2Style() const;
+
+ void SetLines( USHORT n = 0, const RulerLine* pLineAry = NULL );
+ USHORT GetLineCount() const;
+ const RulerLine* GetLines() const;
+
+ void SetArrows( USHORT n = 0, const RulerArrow* pArrowAry = NULL );
+ USHORT GetArrowCount() const;
+ const RulerArrow* GetArrows() const;
+
+ void SetBorders( USHORT n = 0, const RulerBorder* pBrdAry = NULL );
+ USHORT GetBorderCount() const;
+ const RulerBorder* GetBorders() const;
+
+ void SetIndents( USHORT n = 0, const RulerIndent* pIndentAry = NULL );
+ USHORT GetIndentCount() const;
+ const RulerIndent* GetIndents() const;
+
+ void SetTabs( USHORT n = 0, const RulerTab* pTabAry = NULL );
+ USHORT GetTabCount() const;
+ const RulerTab* GetTabs() const;
+
+ static void DrawTab( OutputDevice* pDevice,
+ const Point& rPos, USHORT nStyle );
+
+ void SetStyle( WinBits nStyle );
+ WinBits GetStyle() const { return mnWinStyle; }
+
+ void SetStartDragHdl( const Link& rLink ) { maStartDragHdl = rLink; }
+ const Link& GetStartDragHdl() const { return maStartDragHdl; }
+ void SetDragHdl( const Link& rLink ) { maDragHdl = rLink; }
+ const Link& GetDragHdl() const { return maDragHdl; }
+ void SetEndDragHdl( const Link& rLink ) { maEndDragHdl = rLink; }
+ const Link& GetEndDragHdl() const { return maEndDragHdl; }
+ void SetClickHdl( const Link& rLink ) { maClickHdl = rLink; }
+ const Link& GetClickHdl() const { return maClickHdl; }
+ void SetDoubleClickHdl( const Link& rLink ) { maDoubleClickHdl = rLink; }
+ const Link& GetDoubleClickHdl() const { return maDoubleClickHdl; }
+ void SetExtraDownHdl( const Link& rLink ) { maExtraDownHdl = rLink; }
+ const Link& GetExtraDownHdl() const { return maExtraDownHdl; }
+
+ //set text direction right-to-left
+ void SetTextRTL(BOOL bRTL);
+};
+
+#endif // _RULER_HXX
diff --git a/svtools/inc/svtools/scriptedtext.hxx b/svtools/inc/svtools/scriptedtext.hxx
new file mode 100644
index 000000000000..5bb89969785b
--- /dev/null
+++ b/svtools/inc/svtools/scriptedtext.hxx
@@ -0,0 +1,129 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVTOOLS_SCRIPTEDTEXT_HXX
+#define _SVTOOLS_SCRIPTEDTEXT_HXX
+
+#include "svtools/svtdllapi.h"
+#include <tools/gen.hxx>
+#include <com/sun/star/i18n/XBreakIterator.hpp>
+
+
+namespace rtl { class OUString; }
+class OutputDevice;
+class Font;
+class SvtScriptedTextHelper_Impl;
+
+
+//_____________________________________________________________________________
+
+/**
+This class provides drawing text with different script types on any output devices.
+*/
+class SVT_DLLPUBLIC SvtScriptedTextHelper
+{
+private:
+ SvtScriptedTextHelper_Impl* mpImpl; /// Implementation of class functionality.
+
+ /** Assignment operator not implemented to prevent usage. */
+ SvtScriptedTextHelper& operator=( const SvtScriptedTextHelper& );
+
+public:
+ /** Constructor sets an output device and no fonts.
+ @param _rOutDevice
+ A reference to an output device. */
+ SvtScriptedTextHelper( OutputDevice& _rOutDevice );
+
+ /** Constructor sets an output device and fonts for all script types.
+ @param _rOutDevice
+ A reference to an output device.
+ @param _pLatinFont
+ The font for latin characters.
+ @param _pAsianFont
+ The font for asian characters.
+ @param _pCmplxFont
+ The font for complex text layout. */
+ SvtScriptedTextHelper(
+ OutputDevice& _rOutDevice,
+ Font* _pLatinFont,
+ Font* _pAsianFont,
+ Font* _pCmplxFont );
+
+ /** Copy constructor. */
+ SvtScriptedTextHelper(
+ const SvtScriptedTextHelper& _rCopy );
+
+ /** Destructor. */
+ virtual ~SvtScriptedTextHelper();
+
+ /** Sets new fonts and recalculates the text width.
+ @param _pLatinFont
+ The font for latin characters.
+ @param _pAsianFont
+ The font for asian characters.
+ @param _pCmplxFont
+ The font for complex text layout. */
+ void SetFonts( Font* _pLatinFont, Font* _pAsianFont, Font* _pCmplxFont );
+
+ /** Sets the default font of the current output device to all script types. */
+ void SetDefaultFont();
+
+ /** Sets a new text and calculates all script breaks and the text width.
+ @param _rText
+ The new text.
+ @param _xBreakIter
+ The break iterator for iterating through the script portions. */
+ void SetText(
+ const ::rtl::OUString& _rText,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::i18n::XBreakIterator >& _xBreakIter );
+
+ /** Returns the previously set text.
+ @return The current text. */
+ const ::rtl::OUString& GetText() const;
+
+ /** Returns the calculated width the text will take in the current output device.
+ @return The calculated text width. */
+ sal_Int32 GetTextWidth() const;
+
+ /** Returns the maximum height the text will take in the current output device.
+ @return The maximum text height. */
+ sal_Int32 GetTextHeight() const;
+
+ /** Returns a size struct containing the width and height of the text in the current output device.
+ @return A size struct with the text dimensions. */
+ const Size& GetTextSize() const;
+
+ /** Draws the text in the current output device.
+ @param _rPos
+ The position of the top left edge of the text. */
+ void DrawText( const Point& _rPos );
+};
+
+//_____________________________________________________________________________
+
+#endif
+
diff --git a/svtools/inc/svtools/scrwin.hxx b/svtools/inc/svtools/scrwin.hxx
new file mode 100644
index 000000000000..1542ed667133
--- /dev/null
+++ b/svtools/inc/svtools/scrwin.hxx
@@ -0,0 +1,112 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SCRWIN_HXX
+#define _SCRWIN_HXX
+
+#include "svtools/svtdllapi.h"
+
+#ifndef _SCRBAR_HXX //autogen
+#include <vcl/scrbar.hxx>
+#endif
+
+class DataChangedEvent;
+
+// -------------------------
+// - ScrollableWindow-Type -
+// -------------------------
+
+typedef USHORT ScrollableWindowFlags;
+
+#define SCRWIN_THUMBDRAGGING 1
+#define SCRWIN_VCENTER 2
+#define SCRWIN_HCENTER 4
+#define SCRWIN_DEFAULT (SCRWIN_THUMBDRAGGING | SCRWIN_VCENTER | SCRWIN_HCENTER)
+
+// --------------------
+// - ScrollableWindow -
+// --------------------
+
+class SVT_DLLPUBLIC ScrollableWindow: public Window
+{
+private:
+ Point aPixOffset; // offset to virtual window (pixel)
+ Size aTotPixSz; // total size of virtual window (pixel)
+ long nLinePixH; // size of a line/column (pixel)
+ long nColumnPixW;
+
+ ScrollBar aVScroll; // the scrollbars
+ ScrollBar aHScroll;
+ ScrollBarBox aCornerWin; // window in the bottom right corner
+ BOOL bScrolling:1, // user controlled scrolling
+ bHandleDragging:1, // scroll window while dragging
+ bHCenter:1,
+ bVCenter:1;
+
+#ifdef _SVT_SCRWIN_CXX
+ SVT_DLLPRIVATE void ImpInitialize( ScrollableWindowFlags nFlags );
+ DECL_DLLPRIVATE_LINK( ScrollHdl, ScrollBar * );
+ DECL_DLLPRIVATE_LINK( EndScrollHdl, ScrollBar * );
+#endif
+
+public:
+ ScrollableWindow( Window* pParent, WinBits nBits = 0,
+ ScrollableWindowFlags = SCRWIN_DEFAULT );
+ ScrollableWindow( Window* pParent, const ResId& rId,
+ ScrollableWindowFlags = SCRWIN_DEFAULT );
+
+ virtual void Resize();
+ virtual void Command( const CommandEvent& rCEvt );
+ virtual void DataChanged( const DataChangedEvent& rDEvt );
+
+ virtual void StartScroll();
+ virtual void EndScroll( long nDeltaX, long nDeltaY );
+
+ using OutputDevice::SetMapMode;
+ virtual void SetMapMode( const MapMode& rNewMapMode );
+ virtual MapMode GetMapMode() const;
+
+ void SetTotalSize( const Size& rNewSize );
+ Size GetTotalSize() { return PixelToLogic( aTotPixSz ); }
+
+ void SetVisibleSize( const Size& rNewSize );
+ BOOL MakeVisible( const Rectangle& rTarget, BOOL bSloppy = FALSE );
+ Rectangle GetVisibleArea() const;
+
+ void SetLineSize( ULONG nHorz, ULONG nVert );
+ using Window::Scroll;
+ virtual void Scroll( long nDeltaX, long nDeltaY, USHORT nFlags = 0 );
+ void ScrollLines( long nLinesX, long nLinesY );
+ void ScrollPages( long nPagesX, ULONG nOverlapX,
+ long nPagesY, ULONG nOverlapY );
+
+private:
+ SVT_DLLPRIVATE Size GetOutputSizePixel() const;
+ SVT_DLLPRIVATE Size GetOutputSize() const;
+};
+
+#endif
diff --git a/svtools/inc/svtools/sfxecode.hxx b/svtools/inc/svtools/sfxecode.hxx
new file mode 100644
index 000000000000..59611eb35844
--- /dev/null
+++ b/svtools/inc/svtools/sfxecode.hxx
@@ -0,0 +1,118 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SFXECODE_HXX
+#define _SFXECODE_HXX
+
+#include <tools/errcode.hxx>
+
+#define ERRCODE_SFX_NOSTDTEMPLATE (ERRCODE_AREA_SFX|ERRCODE_CLASS_PATH|1)
+#define ERRCODE_SFX_NOTATEMPLATE (ERRCODE_AREA_SFX|ERRCODE_CLASS_FORMAT|2)
+#define ERRCODE_SFX_GENERAL (ERRCODE_AREA_SFX|ERRCODE_CLASS_GENERAL|3)
+#define ERRCODE_SFX_DOLOADFAILED (ERRCODE_AREA_SFX|ERRCODE_CLASS_READ|4)
+#define ERRCODE_SFX_DOSAVECOMPLETEDFAILED (ERRCODE_AREA_SFX|ERRCODE_CLASS_WRITE|5)
+#define ERRCODE_SFX_COMMITFAILED (ERRCODE_AREA_SFX|ERRCODE_CLASS_WRITE|6)
+#define ERRCODE_SFX_HANDSOFFFAILED (ERRCODE_AREA_SFX|ERRCODE_CLASS_GENERAL|7)
+#define ERRCODE_SFX_DOINITNEWFAILED (ERRCODE_AREA_SFX|ERRCODE_CLASS_CREATE|8)
+#define ERRCODE_SFX_CANTREADDOCINFO (ERRCODE_AREA_SFX|ERRCODE_CLASS_FORMAT|9)
+#define ERRCODE_SFX_ALREADYOPEN (ERRCODE_AREA_SFX|ERRCODE_CLASS_ALREADYEXISTS|10)
+#define ERRCODE_SFX_WRONGPASSWORD (ERRCODE_AREA_SFX|ERRCODE_CLASS_READ|11)
+#define ERRCODE_SFX_DOCUMENTREADONLY (ERRCODE_AREA_SFX|ERRCODE_CLASS_WRITE|12)
+#define ERRCODE_SFX_OLEGENERAL (ERRCODE_AREA_SFX|ERRCODE_CLASS_NONE|14)
+#define ERRCODE_SFXMSG_STYLEREPLACE (ERRCODE_WARNING_MASK|ERRCODE_AREA_SFX|ERRCODE_CLASS_NONE|13)
+#define ERRCODE_SFX_TEMPLATENOTFOUND (ERRCODE_AREA_SFX|ERRCODE_CLASS_NOTEXISTS|15)
+#define ERRCODE_SFX_ISRELATIVE (ERRCODE_WARNING_MASK|ERRCODE_AREA_SFX|ERRCODE_CLASS_NOTEXISTS|16)
+#define ERRCODE_SFX_FORCEDOCLOAD (ERRCODE_WARNING_MASK|ERRCODE_AREA_SFX|ERRCODE_CLASS_NONE|17)
+
+#define ERRCODE_SFX_CANTFINDORIGINAL (ERRCODE_AREA_SFX|ERRCODE_CLASS_GENERAL|19)
+#define ERRCODE_SFX_RESTART (ERRCODE_AREA_SFX|ERRCODE_CLASS_GENERAL|20)
+#define ERRCODE_SFX_CANTCREATECONTENT (ERRCODE_AREA_SFX|ERRCODE_CLASS_CREATE|21)
+#define ERRCODE_SFX_CANTCREATELINK (ERRCODE_AREA_SFX|ERRCODE_CLASS_CREATE|22)
+#define ERRCODE_SFX_WRONGBMKFORMAT (ERRCODE_AREA_SFX|ERRCODE_CLASS_FORMAT|23)
+#define ERRCODE_SFX_WRONGICONFILE (ERRCODE_AREA_SFX|ERRCODE_CLASS_FORMAT|24)
+#define ERRCODE_SFX_CANTDELICONFILE (ERRCODE_AREA_SFX|ERRCODE_CLASS_ACCESS|25)
+#define ERRCODE_SFX_CANTWRITEICONFILE (ERRCODE_AREA_SFX|ERRCODE_CLASS_ACCESS|26)
+#define ERRCODE_SFX_CANTRENAMECONTENT (ERRCODE_AREA_SFX|ERRCODE_CLASS_ACCESS|27)
+#define ERRCODE_SFX_INVALIDBMKPATH (ERRCODE_AREA_SFX|ERRCODE_CLASS_PATH|28)
+#define ERRCODE_SFX_CANTWRITEURLCFGFILE (ERRCODE_AREA_SFX|ERRCODE_CLASS_ACCESS|29)
+#define ERRCODE_SFX_WRONGURLCFGFORMAT (ERRCODE_AREA_SFX|ERRCODE_CLASS_FORMAT|30)
+#define ERRCODE_SFX_NODOCUMENT (ERRCODE_AREA_SFX|ERRCODE_CLASS_NOTEXISTS|31)
+#define ERRCODE_SFX_INVALIDLINK (ERRCODE_AREA_SFX|ERRCODE_CLASS_NOTEXISTS|32)
+#define ERRCODE_SFX_INVALIDTRASHPATH (ERRCODE_AREA_SFX|ERRCODE_CLASS_PATH|33)
+#define ERRCODE_SFX_NOTRESTORABLE (ERRCODE_AREA_SFX|ERRCODE_CLASS_CREATE|34)
+#define ERRCODE_SFX_NOTRASH (ERRCODE_AREA_SFX|ERRCODE_CLASS_NOTEXISTS|35)
+#define ERRCODE_SFX_INVALIDSYNTAX (ERRCODE_AREA_SFX|ERRCODE_CLASS_PATH|36)
+#define ERRCODE_SFX_CANTCREATEFOLDER (ERRCODE_AREA_SFX|ERRCODE_CLASS_CREATE|37)
+#define ERRCODE_SFX_CANTRENAMEFOLDER (ERRCODE_AREA_SFX|ERRCODE_CLASS_PATH|38)
+#define ERRCODE_SFX_WRONG_CDF_FORMAT (ERRCODE_AREA_SFX| ERRCODE_CLASS_READ | 39)
+#define ERRCODE_SFX_EMPTY_SERVER (ERRCODE_AREA_SFX|ERRCODE_CLASS_NONE|40)
+#define ERRCODE_SFX_NO_ABOBOX (ERRCODE_AREA_SFX| ERRCODE_CLASS_READ | 41)
+#define ERRCODE_SFX_CANTGETPASSWD (ERRCODE_AREA_SFX| ERRCODE_CLASS_READ | 42)
+#define ERRCODE_SFX_TARGETFILECORRUPTED (ERRCODE_AREA_SFX| ERRCODE_CLASS_READ | 43)
+#define ERRCODE_SFX_NOMOREDOCUMENTSALLOWED (ERRCODE_WARNING_MASK | ERRCODE_AREA_SFX | ERRCODE_CLASS_NONE | 44)
+#define ERRCODE_SFX_NOFILTER (ERRCODE_AREA_SFX|ERRCODE_CLASS_NOTEXISTS|45)
+#define ERRCODE_SFX_FORCEQUIET (ERRCODE_WARNING_MASK|ERRCODE_AREA_SFX|ERRCODE_CLASS_NONE|47)
+#define ERRCODE_SFX_CONSULTUSER (ERRCODE_WARNING_MASK|ERRCODE_AREA_SFX|ERRCODE_CLASS_NONE|48)
+#define ERRCODE_SFX_NEVERCHECKCONTENT (ERRCODE_AREA_SFX|ERRCODE_CLASS_NONE|49)
+#define ERRCODE_SFX_CANTCREATEBACKUP (ERRCODE_AREA_SFX | ERRCODE_CLASS_CREATE | 50)
+#define ERRCODE_SFX_MACROS_SUPPORT_DISABLED (ERRCODE_WARNING_MASK | ERRCODE_AREA_SFX | ERRCODE_CLASS_NONE | 51)
+#define ERRCODE_SFX_DOCUMENT_MACRO_DISABLED (ERRCODE_WARNING_MASK | ERRCODE_AREA_SFX | ERRCODE_CLASS_NONE | 52)
+#define ERRCODE_SFX_BROKENSIGNATURE (ERRCODE_WARNING_MASK | ERRCODE_AREA_SFX | ERRCODE_CLASS_NONE | 53)
+#define ERRCODE_SFX_SHARED_NOPASSWORDCHANGE (ERRCODE_WARNING_MASK | ERRCODE_AREA_SFX | ERRCODE_CLASS_NONE | 54)
+#define ERRCODE_SFX_INCOMPLETE_ENCRYPTION (ERRCODE_WARNING_MASK | ERRCODE_AREA_SFX | ERRCODE_CLASS_NONE | 55)
+
+
+
+//Dies und das
+#define ERRCTX_ERROR 21
+#define ERRCTX_WARNING 22
+
+//Documentkontexte
+#define ERRCTX_SFX_LOADTEMPLATE 1
+#define ERRCTX_SFX_SAVEDOC 2
+#define ERRCTX_SFX_SAVEASDOC 3
+#define ERRCTX_SFX_DOCINFO 4
+#define ERRCTX_SFX_DOCTEMPLATE 5
+#define ERRCTX_SFX_MOVEORCOPYCONTENTS 6
+
+//Appkontexte
+#define ERRCTX_SFX_DOCMANAGER 50
+#define ERRCTX_SFX_OPENDOC 51
+#define ERRCTX_SFX_NEWDOCDIRECT 52
+#define ERRCTX_SFX_NEWDOC 53
+
+//Organizerkontexte
+#define ERRCTX_SFX_CREATEOBJSH 70
+
+//BASIC-Kontexte
+#define ERRCTX_SFX_LOADBASIC 80
+
+//Addressbook contexts
+#define ERRCTX_SFX_SEARCHADDRESS 90
+
+#endif // #ifndef _SFXECODE_HXX
+
+
diff --git a/svtools/inc/svtools/soerr.hxx b/svtools/inc/svtools/soerr.hxx
new file mode 100644
index 000000000000..41e488480039
--- /dev/null
+++ b/svtools/inc/svtools/soerr.hxx
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SOERR_HXX
+#define _SOERR_HXX
+
+#include <tools/errcode.hxx>
+
+// Fehler Codes
+#define RID_SO_ERROR_HANDLER 32000
+
+#define SO_ERR() (ERRCODE_AREA_SO | ERRCODE_CLASS_SO)
+#define SO_WRN() (ERRCODE_AREA_SO | ERRCODE_CLASS_SO | ERRCODE_WARNING_MASK)
+
+#define ERRCODE_SO_GENERALERROR (SO_ERR() | 1)
+#define ERRCODE_SO_CANT_BINDTOSOURCE (SO_ERR() | 2)
+#define ERRCODE_SO_NOCACHE_UPDATED (SO_ERR() | 3)
+#define ERRCODE_SO_SOMECACHES_NOTUPDATED (SO_WRN() | 4)
+#define ERRCODE_SO_MK_UNAVAILABLE (SO_ERR() | 5)
+#define ERRCODE_SO_E_CLASSDIFF (SO_ERR() | 6)
+#define ERRCODE_SO_MK_NO_OBJECT (SO_ERR() | 7)
+#define ERRCODE_SO_MK_EXCEEDED_DEADLINE (SO_ERR() | 8)
+#define ERRCODE_SO_MK_CONNECT_MANUALLY (SO_ERR() | 9)
+#define ERRCODE_SO_MK_INTERMEDIATE_INTERFACE_NOT_SUPPORTED (SO_ERR() | 10)
+#define ERRCODE_SO_NO_INTERFACE (SO_ERR() | 11)
+#define ERRCODE_SO_OUT_OF_MEMORY (SO_ERR() | 12)
+#define ERRCODE_SO_MK_SYNTAX (SO_ERR() | 13)
+#define ERRCODE_SO_MK_REDUCED_TO_SELF (SO_WRN() | 14)
+#define ERRCODE_SO_MK_NO_INVERSE (SO_ERR() | 15)
+#define ERRCODE_SO_MK_NO_PREFIX (SO_ERR() | 16)
+#define ERRCODE_SO_MK_HIM (SO_WRN() | 17)
+#define ERRCODE_SO_MK_US (SO_WRN() | 18)
+#define ERRCODE_SO_MK_ME (SO_WRN() | 19)
+#define ERRCODE_SO_MK_NOT_BINDABLE (SO_ERR() | 20)
+#define ERRCODE_SO_NOT_IMPLEMENTED (SO_ERR() | 21)
+#define ERRCODE_SO_MK_NO_STORAGE (SO_ERR() | 22)
+#define ERRCODE_SO_FALSE (SO_WRN() | 23)
+#define ERRCODE_SO_MK_NEED_GENERIC (SO_ERR() | 24)
+#define ERRCODE_SO_PENDING (SO_ERR() | 25)
+#define ERRCODE_SO_NOT_INPLACEACTIVE (SO_ERR() | 26)
+#define ERRCODE_SO_LINDEX (SO_ERR() | 27)
+#define ERRCODE_SO_CANNOT_DOVERB_NOW (SO_WRN() | 28)
+#define ERRCODE_SO_OLEOBJ_INVALIDHWND (SO_WRN() | 29)
+#define ERRCODE_SO_NOVERBS (SO_ERR() | 30)
+#define ERRCODE_SO_INVALIDVERB (SO_WRN() | 31)
+#define ERRCODE_SO_MK_CONNECT (SO_ERR() | 32)
+#define ERRCODE_SO_NOTIMPL (SO_ERR() | 33)
+#define ERRCODE_SO_MK_CANTOPENFILE (SO_ERR() | 34)
+
+// Fehler Contexte
+#define RID_SO_ERRCTX 32001
+
+#define ERRCTX_SO_DOVERB 1
+
+
+
+#endif
+
diff --git a/svtools/inc/svtools/sores.hxx b/svtools/inc/svtools/sores.hxx
new file mode 100644
index 000000000000..e5a7e51b54cf
--- /dev/null
+++ b/svtools/inc/svtools/sores.hxx
@@ -0,0 +1,179 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+// Strings
+#define STR_INS_OBJECT 32000
+#define STR_INS_OBJECT_ICON 32001
+#define STR_INS_FILE 32002
+#define STR_INS_FILE_ICON 32003
+#define STR_INS_FILE_LINK 32004
+#define STR_INS_FILE_ICON_LINK 32005
+#define STR_PASTE 32012
+#define STR_ERROR_DDE 32013
+#define STR_ERROR_OBJNOCREATE 32014
+#define STR_ERROR_OBJNOCREATE_FROM_FILE 32015
+#define STR_VERB_OPEN 32016
+#define STR_PLUGIN_CANT_SHOW 32017
+#define STR_ERROR_OBJNOCREATE_PLUGIN 32018
+#define STR_INS_PLUGIN 32019
+#define STR_CONVERT_TO 32010
+#define STR_ACTIVATE_AS 32021
+#define STR_QUERYUPDATELINKS 32022
+#define STR_INS_APPLET 32023
+#define STR_VERB_PROPS 32025
+#define STR_FURTHER_OBJECT 32026
+#define STR_EDIT_APPLET 32029
+#define STR_UNKNOWN_SOURCE 32027
+
+#define BMP_PLUGIN 32000
+#define BMP_OLEOBJ 32001
+#define MB_PLUGIN 32000
+#define MI_PLUGIN 32000
+#define MI_PLUGIN_DEACTIVATE 1
+
+// Sot Format Strings
+#define STR_FORMAT_START 32100
+#define STR_FORMAT_STRING (STR_FORMAT_START + 1)
+#define STR_FORMAT_BITMAP (STR_FORMAT_START + 2)
+#define STR_FORMAT_GDIMETAFILE (STR_FORMAT_START + 3)
+ // #define STR_FORMAT_PRIVATE (STR_FORMAT_START + 4)
+ // #define STR_FORMAT_FILE (STR_FORMAT_START + 5)
+ // #define STR_FORMAT_FILE_LIST (STR_FORMAT_START + 6)
+#define STR_FORMAT_RTF (STR_FORMAT_START + 7)
+#define STR_FORMAT_ID_DRAWING (STR_FORMAT_START + 8)
+#define STR_FORMAT_ID_SVXB (STR_FORMAT_START + 9)
+ // #define STR_FORMAT_ID_SVIM (STR_FORMAT_START + 10)
+ // #define STR_FORMAT_ID_XFA (STR_FORMAT_START + 11)
+ // #define STR_FORMAT_ID_EDITENGINE (STR_FORMAT_START + 12)
+#define STR_FORMAT_ID_INTERNALLINK_STATE (STR_FORMAT_START + 13)
+#define STR_FORMAT_ID_SOLK (STR_FORMAT_START + 14)
+#define STR_FORMAT_ID_NETSCAPE_BOOKMARK (STR_FORMAT_START + 15)
+ // #define STR_FORMAT_ID_TREELISTBOX (STR_FORMAT_START + 16)
+ // #define STR_FORMAT_ID_NATIVE (STR_FORMAT_START + 17)
+ // #define STR_FORMAT_ID_OWNERLINK (STR_FORMAT_START + 18)
+#define STR_FORMAT_ID_STARSERVER (STR_FORMAT_START + 19)
+#define STR_FORMAT_ID_STAROBJECT (STR_FORMAT_START + 20)
+#define STR_FORMAT_ID_APPLETOBJECT (STR_FORMAT_START + 21)
+#define STR_FORMAT_ID_PLUGIN_OBJECT (STR_FORMAT_START + 22)
+#define STR_FORMAT_ID_STARWRITER_30 (STR_FORMAT_START + 23)
+#define STR_FORMAT_ID_STARWRITER_40 (STR_FORMAT_START + 24)
+#define STR_FORMAT_ID_STARWRITER_50 (STR_FORMAT_START + 25)
+#define STR_FORMAT_ID_STARWRITERWEB_40 (STR_FORMAT_START + 26)
+#define STR_FORMAT_ID_STARWRITERWEB_50 (STR_FORMAT_START + 27)
+#define STR_FORMAT_ID_STARWRITERGLOB_40 (STR_FORMAT_START + 28)
+#define STR_FORMAT_ID_STARWRITERGLOB_50 (STR_FORMAT_START + 29)
+#define STR_FORMAT_ID_STARDRAW (STR_FORMAT_START + 30)
+#define STR_FORMAT_ID_STARDRAW_40 (STR_FORMAT_START + 31)
+#define STR_FORMAT_ID_STARIMPRESS_50 (STR_FORMAT_START + 32)
+#define STR_FORMAT_ID_STARDRAW_50 (STR_FORMAT_START + 33)
+#define STR_FORMAT_ID_STARCALC (STR_FORMAT_START + 34)
+#define STR_FORMAT_ID_STARCALC_40 (STR_FORMAT_START + 35)
+#define STR_FORMAT_ID_STARCALC_50 (STR_FORMAT_START + 36)
+#define STR_FORMAT_ID_STARCHART (STR_FORMAT_START + 37)
+#define STR_FORMAT_ID_STARCHART_40 (STR_FORMAT_START + 38)
+#define STR_FORMAT_ID_STARCHART_50 (STR_FORMAT_START + 39)
+#define STR_FORMAT_ID_STARIMAGE (STR_FORMAT_START + 40)
+#define STR_FORMAT_ID_STARIMAGE_40 (STR_FORMAT_START + 41)
+#define STR_FORMAT_ID_STARIMAGE_50 (STR_FORMAT_START + 42)
+#define STR_FORMAT_ID_STARMATH (STR_FORMAT_START + 43)
+#define STR_FORMAT_ID_STARMATH_40 (STR_FORMAT_START + 44)
+#define STR_FORMAT_ID_STARMATH_50 (STR_FORMAT_START + 45)
+#define STR_FORMAT_ID_STAROBJECT_PAINTDOC (STR_FORMAT_START + 46)
+ // #define STR_FORMAT_ID_FILLED_AREA (STR_FORMAT_START + 47)
+#define STR_FORMAT_ID_HTML (STR_FORMAT_START + 48)
+#define STR_FORMAT_ID_HTML_SIMPLE (STR_FORMAT_START + 49)
+ // #define STR_FORMAT_ID_CHAOS (STR_FORMAT_START + 50)
+ // #define STR_FORMAT_ID_CNT_MSGATTACHFILE (STR_FORMAT_START + 51)
+#define STR_FORMAT_ID_BIFF_5 (STR_FORMAT_START + 52)
+#define STR_FORMAT_ID_BIFF_8 (STR_FORMAT_START + 53)
+#define STR_FORMAT_ID_SYLK (STR_FORMAT_START + 54)
+ // #define STR_FORMAT_ID_SYLK_BIGCAPS (STR_FORMAT_START + 55)
+#define STR_FORMAT_ID_LINK (STR_FORMAT_START + 56)
+#define STR_FORMAT_ID_DIF (STR_FORMAT_START + 57)
+ // #define STR_FORMAT_ID_STARDRAW_TABBAR (STR_FORMAT_START + 58)
+ // #define STR_FORMAT_ID_SONLK (STR_FORMAT_START + 59)
+#define STR_FORMAT_ID_MSWORD_DOC (STR_FORMAT_START + 60)
+#define STR_FORMAT_ID_STAR_FRAMESET_DOC (STR_FORMAT_START + 61)
+#define STR_FORMAT_ID_OFFICE_DOC (STR_FORMAT_START + 62)
+#define STR_FORMAT_ID_NOTES_DOCINFO (STR_FORMAT_START + 63)
+ // #define STR_FORMAT_ID_NOTES_HNOTE (STR_FORMAT_START + 64)
+ // #define STR_FORMAT_ID_NOTES_NATIVE (STR_FORMAT_START + 65)
+#define STR_FORMAT_ID_SFX_DOC (STR_FORMAT_START + 66)
+ // #define STR_FORMAT_ID_EVDF (STR_FORMAT_START + 67)
+ // #define STR_FORMAT_ID_ESDF (STR_FORMAT_START + 68)
+ // #define STR_FORMAT_ID_IDF (STR_FORMAT_START + 69)
+ // #define STR_FORMAT_ID_EFTP (STR_FORMAT_START + 70)
+ // #define STR_FORMAT_ID_EFD (STR_FORMAT_START + 71)
+ // #define STR_FORMAT_ID_SVX_FORMFIELDEXCH (STR_FORMAT_START + 72)
+ // #define STR_FORMAT_ID_EXTENDED_TABBAR (STR_FORMAT_START + 73)
+ // #define STR_FORMAT_ID_SBA_DATAEXCHANGE (STR_FORMAT_START + 74)
+ // #define STR_FORMAT_ID_SBA_FIELDDATAEXCHANGE (STR_FORMAT_START + 75)
+ // #define STR_FORMAT_ID_SBA_PRIVATE_URL (STR_FORMAT_START + 76)
+ // #define STR_FORMAT_ID_SBA_TABED (STR_FORMAT_START + 77)
+ // #define STR_FORMAT_ID_SBA_TABID (STR_FORMAT_START + 78)
+ // #define STR_FORMAT_ID_SBA_JOIN (STR_FORMAT_START + 79)
+ // #define STR_FORMAT_ID_OBJECTDESCRIPTOR (STR_FORMAT_START + 80)
+ // #define STR_FORMAT_ID_LINKSRCDESCRIPTOR (STR_FORMAT_START + 81)
+ // #define STR_FORMAT_ID_EMBED_SOURCE (STR_FORMAT_START + 82)
+ // #define STR_FORMAT_ID_LINK_SOURCE (STR_FORMAT_START + 83)
+ // #define STR_FORMAT_ID_EMBEDDED_OBJ (STR_FORMAT_START + 84)
+ // #define STR_FORMAT_ID_FILECONTENT (STR_FORMAT_START + 85)
+#define STR_FORMAT_ID_FILEGRPDESCRIPTOR (STR_FORMAT_START + 86)
+ // #define STR_FORMAT_ID_FILENAME (STR_FORMAT_START + 87)
+ // #define STR_FORMAT_ID_SD_OLE (STR_FORMAT_START + 88)
+ // #define STR_FORMAT_ID_EMBEDDED_OBJ_OLE (STR_FORMAT_START + 89)
+ // #define STR_FORMAT_ID_EMBED_SOURCE_OLE (STR_FORMAT_START + 90)
+ // #define STR_FORMAT_ID_OBJECTDESCRIPTOR_OLE (STR_FORMAT_START + 91)
+ // #define STR_FORMAT_ID_LINKSRCDESCRIPTOR_OLE (STR_FORMAT_START + 92)
+ // #define STR_FORMAT_ID_LINK_SOURCE_OLE (STR_FORMAT_START + 93)
+ // #define STR_FORMAT_ID_SBA_CTRLDATAEXCHANGE (STR_FORMAT_START + 94)
+ // #define STR_FORMAT_ID_OUTPLACE_OBJ (STR_FORMAT_START + 95)
+ // #define STR_FORMAT_ID_CNT_OWN_CLIP (STR_FORMAT_START + 96)
+ // #define STR_FORMAT_ID_INET_IMAGE (STR_FORMAT_START + 97)
+ // #define STR_FORMAT_ID_NETSCAPE_IMAGE (STR_FORMAT_START + 98)
+ // #define STR_FORMAT_ID_SBA_FORMEXCHANGE (STR_FORMAT_START + 99)
+ // #define STR_FORMAT_ID_SBA_REPORTEXCHANGE (STR_FORMAT_START + 100)
+ // #define STR_FORMAT_ID_UNIFORMRESOURCELOCATOR (STR_FORMAT_START + 101)
+#define STR_FORMAT_ID_STARCHARTDOCUMENT_50 (STR_FORMAT_START + 102)
+#define STR_FORMAT_ID_GRAPHOBJ (STR_FORMAT_START + 103)
+#define STR_FORMAT_ID_STARWRITER_60 (STR_FORMAT_START + 104)
+#define STR_FORMAT_ID_STARWRITERWEB_60 (STR_FORMAT_START + 105)
+#define STR_FORMAT_ID_STARWRITERGLOB_60 (STR_FORMAT_START + 106)
+#define STR_FORMAT_ID_STARDRAW_60 (STR_FORMAT_START + 107)
+#define STR_FORMAT_ID_STARIMPRESS_60 (STR_FORMAT_START + 108)
+#define STR_FORMAT_ID_STARCALC_60 (STR_FORMAT_START + 109)
+#define STR_FORMAT_ID_STARCHART_60 (STR_FORMAT_START + 110)
+#define STR_FORMAT_ID_STARMATH_60 (STR_FORMAT_START + 111)
+#define STR_FORMAT_ID_WMF (STR_FORMAT_START + 112)
+#define STR_FORMAT_ID_DBACCESS_QUERY (STR_FORMAT_START + 113)
+#define STR_FORMAT_ID_DBACCESS_TABLE (STR_FORMAT_START + 114)
+#define STR_FORMAT_ID_DBACCESS_COMMAND (STR_FORMAT_START + 115)
+#define STR_FORMAT_ID_DIALOG_60 (STR_FORMAT_START + 116)
+ // #define STR_FORMAT_ID_EMF (STR_FORMAT_START + 117)
+ // #define STR_FORMAT_ID_BIFF_8 (STR_FORMAT_START + 118)
+#define STR_FORMAT_ID_HTML_NO_COMMENT (STR_FORMAT_START + 119)
+#define STR_FORMAT_END (STR_FORMAT_ID_HTML_NO_COMMENT)
diff --git a/svtools/inc/svtools/statusbarcontroller.hxx b/svtools/inc/svtools/statusbarcontroller.hxx
new file mode 100644
index 000000000000..7856d96bcd77
--- /dev/null
+++ b/svtools/inc/svtools/statusbarcontroller.hxx
@@ -0,0 +1,158 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVTOOLS_STATUSBARCONTROLLER_HXX
+#define _SVTOOLS_STATUSBARCONTROLLER_HXX
+
+#include "svtools/svtdllapi.h"
+#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include <com/sun/star/lang/XInitialization.hpp>
+#include <com/sun/star/util/XUpdatable.hpp>
+#include <com/sun/star/frame/XFrame.hpp>
+#include <com/sun/star/frame/XDispatch.hpp>
+#include <com/sun/star/frame/XStatusListener.hpp>
+#include <com/sun/star/frame/XStatusbarController.hpp>
+#include <com/sun/star/util/XURLTransformer.hpp>
+#include <com/sun/star/frame/XLayoutManager.hpp>
+#include <cppuhelper/weak.hxx>
+#include <cppuhelper/interfacecontainer.hxx>
+#include <comphelper/broadcasthelper.hxx>
+
+#ifndef INCLUDED_HASH_MAP
+#include <hash_map>
+#define INCLUDED_HASH_MAP
+#endif
+
+#include <tools/gen.hxx>
+
+namespace svt
+{
+
+class SVT_DLLPUBLIC StatusbarController : public ::com::sun::star::frame::XStatusListener,
+ public ::com::sun::star::frame::XStatusbarController,
+ public ::com::sun::star::lang::XInitialization,
+ public ::com::sun::star::util::XUpdatable,
+ public ::com::sun::star::lang::XComponent,
+ public ::comphelper::OBaseMutex,
+ public ::cppu::OWeakObject
+{
+ public:
+ StatusbarController( const com::sun::star::uno::Reference< com::sun::star::lang::XMultiServiceFactory >& rServiceManager,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& xFrame,
+ const rtl::OUString& aCommandURL,
+ unsigned short nID );
+ StatusbarController();
+ virtual ~StatusbarController();
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > getFrameInterface() const;
+ ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > getServiceManager() const;
+ ::com::sun::star::uno::Reference< ::com::sun::star::frame::XLayoutManager > getLayoutManager() const;
+ ::com::sun::star::uno::Reference< ::com::sun::star::util::XURLTransformer > getURLTransformer() const;
+
+ void updateStatus( const rtl::OUString aCommandURL );
+ void updateStatus();
+
+ ::Rectangle getControlRect() const;
+
+ // XInterface
+ virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& aType ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL acquire() throw ();
+ virtual void SAL_CALL release() throw ();
+
+ // XInitialization
+ virtual void SAL_CALL initialize( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aArguments ) throw (::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
+
+ // XUpdatable
+ virtual void SAL_CALL update() throw (::com::sun::star::uno::RuntimeException);
+
+ // XComponent
+ virtual void SAL_CALL dispose() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& aListener ) throw (::com::sun::star::uno::RuntimeException);
+
+ // XEventListener
+ virtual void SAL_CALL disposing( const com::sun::star::lang::EventObject& Source ) throw ( ::com::sun::star::uno::RuntimeException );
+
+ // XStatusListener
+ virtual void SAL_CALL statusChanged( const ::com::sun::star::frame::FeatureStateEvent& Event ) throw ( ::com::sun::star::uno::RuntimeException );
+
+ // XStatusbarController
+ virtual ::sal_Bool SAL_CALL mouseButtonDown( const ::com::sun::star::awt::MouseEvent& aMouseEvent ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Bool SAL_CALL mouseMove( const ::com::sun::star::awt::MouseEvent& aMouseEvent ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Bool SAL_CALL mouseButtonUp( const ::com::sun::star::awt::MouseEvent& aMouseEvent ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL command( const ::com::sun::star::awt::Point& aPos,
+ ::sal_Int32 nCommand,
+ ::sal_Bool bMouseEvent,
+ const ::com::sun::star::uno::Any& aData ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL paint( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XGraphics >& xGraphics,
+ const ::com::sun::star::awt::Rectangle& rOutputRectangle,
+ ::sal_Int32 nItemId, ::sal_Int32 nStyle ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL click() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL doubleClick() throw (::com::sun::star::uno::RuntimeException);
+
+ protected:
+ struct Listener
+ {
+ Listener( const ::com::sun::star::util::URL& rURL, const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatch >& rDispatch ) :
+ aURL( rURL ), xDispatch( rDispatch ) {}
+
+ ::com::sun::star::util::URL aURL;
+ ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatch > xDispatch;
+ };
+
+ typedef ::std::hash_map< ::rtl::OUString,
+ com::sun::star::uno::Reference< com::sun::star::frame::XDispatch >,
+ ::rtl::OUStringHash,
+ ::std::equal_to< ::rtl::OUString > > URLToDispatchMap;
+
+ // methods to support status forwarder, known by the old sfx2 toolbox controller implementation
+ void addStatusListener( const rtl::OUString& aCommandURL );
+ void removeStatusListener( const rtl::OUString& aCommandURL );
+ void bindListener();
+ void unbindListener();
+ sal_Bool isBound() const;
+
+ // execute methods
+ // execute bound status bar controller command/execute various commands
+ void execute( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aArgs );
+ void execute( const rtl::OUString& aCommand, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aArgs );
+
+ sal_Bool m_bInitialized : 1,
+ m_bDisposed : 1;
+ unsigned short m_nID;
+ ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > m_xFrame;
+ ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow > m_xParentWindow;
+ ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > m_xServiceManager;
+ rtl::OUString m_aCommandURL;
+ URLToDispatchMap m_aListenerMap;
+ ::cppu::OMultiTypeInterfaceContainerHelper m_aListenerContainer; /// container for ALL Listener
+ mutable ::com::sun::star::uno::Reference< ::com::sun::star::util::XURLTransformer > m_xURLTransformer;
+};
+
+}
+
+#endif // _SVTOOLS_TOOLBOXCONTROLLER_HXX
diff --git a/svtools/inc/svtools/stdmenu.hxx b/svtools/inc/svtools/stdmenu.hxx
new file mode 100644
index 000000000000..1b7e9816a103
--- /dev/null
+++ b/svtools/inc/svtools/stdmenu.hxx
@@ -0,0 +1,241 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _STDMENU_HXX
+#define _STDMENU_HXX
+
+#include "svtools/svtdllapi.h"
+#include <tools/link.hxx>
+#ifndef _MENU_HXX
+#include <vcl/menu.hxx>
+#endif
+
+class FontList;
+class FontInfo;
+
+/*************************************************************************
+
+Beschreibung
+============
+
+class FontNameMenu
+
+Beschreibung
+
+Erlaubt die Auswahl von Fonts. Das Menu wird ueber Fill mit den FontNamen
+gefuellt. Fill sortiert automatisch die FontNamen (inkl. aller Umlaute und
+sprachabhaengig). Mit SetCurName()/GetCurName() kann der aktuelle Fontname
+gesetzt/abgefragt werden. Wenn SetCurName() mit einem leeren String
+aufgerufen wird, wird kein Eintrag als aktueller angezeigt (fuer DontKnow).
+Vor dem Selectaufruf wird der ausgewaehlte Name automatisch als aktueller
+gesetzt und wuerde beim naechsten Aufruf auch als aktueller Name angezeigt
+werden. Deshalb sollte vor PopupMenu::Execute() gegebenenfalls mit
+SetCurName() der aktuelle Fontname gesetzt werden.
+
+Da die Id's und der interne Aufbau des Menus nicht bekannt ist, muss ein
+Select-Handler gesetzt werden, um die Auswahl eines Namens mitzubekommen.
+
+In dieses Menu koennen keine weiteren Items eingefuegt werden.
+
+Spaeter soll auch das Menu die gleichen Bitmaps anzeigen, wie die
+FontNameBox. Auf den Systemen, wo Menues nicht automatisch scrollen,
+wird spaeter wohl ein A-Z Menu ziwschengeschaltet. Da ein Menu bei vielen
+installierten Fonts bisher schon immer lange gebraucht hat, sollte dieses
+Menu schon jetzt nur einmal erzeugt werden (da sonst das Kontextmenu bis
+zu 10-Sekunden fuer die Erzeugung brauchen koennte).
+
+Querverweise
+
+FontList; FontStyleMenu; FontSizeMenu; FontNameBox
+
+--------------------------------------------------------------------------
+
+class FontStyleMenu
+
+Beschreibung
+
+Erlaubt die Auswahl eines FontStyles. Mit Fill wird das FontStyleMenu mit
+den Styles zum uebergebenen Font gefuellt. Nachgebildete Styles werden
+immer mit eingefuegt (kann sich aber noch aendern, da vielleicht
+nicht alle Applikationen [StarDraw,Formel,FontWork] mit Syntetic-Fonts
+umgehen koennen). Mit SetCurStyle()/GetCurStyle() kann der aktuelle Fontstyle
+gesetzt/abgefragt werden. Der Stylename muss mit FontList::GetStyleName()
+ermittelt werden. Wenn SetCurStyle() mit einem leeren String aufgerufen wird,
+wird kein Eintrag als aktueller angezeigt (fuer DontKnow). Vor dem Selectaufruf
+wird der ausgewaehlte Style automatisch als aktueller gesetzt und wuerde beim
+naechsten Aufruf auch als aktueller Style angezeigt werden. Deshalb sollte vor
+PopupMenu::Execute() gegebenenfalls mit SetCurStyle() der aktuelle Style
+gesetzt werden. Da die Styles vom ausgewaehlten Font abhaengen, sollte
+nach einer Aenderung des Fontnamen das Menu mit Fill mit den Styles des
+Fonts neu gefuellt werden.
+
+Mit GetCurStyle() kann der ausgewaehlte Style abgefragt
+werden. Mit Check wird der Style gecheckt/uncheckt, welcher aktiv
+ist. Der Stylename muss mit FontList::GetStyleName() ermittelt werden. Vor
+dem Selectaufruf wird der ausgewaehlte Style automatisch gecheckt. Mit
+UncheckAllStyles() koennen alle Fontstyles geuncheckt werden (zum Beispiel
+fuer DontKnow).
+
+Da die Id's und der interne Aufbau des Menus nicht bekannt ist, muss ein
+Select-Handler gesetzt werden, um die Auswahl eines Styles mitzubekommen.
+
+An dieses Menu kann ueber MENU_APPEND weitere Items eingefuegt werden.
+Bei Fill werden nur Items entfernt, die die Id zwischen FONTSTYLEMENU_FIRSTID
+und FONTSTYLEMENU_LASTID haben.
+
+Querverweise
+
+FontList; FontNameMenu; FontSizeMenu; FontStyleBox
+
+--------------------------------------------------------------------------
+
+class FontSizeMenu
+
+Beschreibung
+
+Erlaubt die Auswahl von Fontgroessen. Ueber Fill wird das FontSizeMenu
+gefuellt und ueber GetCurHeight() kann die ausgewaehlte Fontgroesse
+abgefragt werden. Mit SetCurHeight()/GetCurHeight() kann die aktuelle
+Fontgroesse gesetzt/abgefragt werden. Wenn SetCurHeight() mit 0 aufgerufen
+wird, wird kein Eintrag als aktueller angezeigt (fuer DontKnow). Vor dem
+Selectaufruf wird die ausgewaehlte Groesse automatisch als aktuelle gesetzt
+und wuerde beim naechsten Aufruf auch als aktuelle Groesse angezeigt werden.
+Deshalb sollte vor PopupMenu::Execute() gegebenenfalls mit SetCurHeight()
+die aktuelle Groesse gesetzt werden. Da die Groessen vom ausgewaehlten Font
+abhaengen, sollte nach einer Aenderung des Fontnamen das Menu mit Fill mit
+den Groessen des Fonts neu gefuellt werden.
+
+Da die Id's und der interne Aufbau des Menus nicht bekannt ist, muss ein
+Select-Handler gesetzt werden, um die Auswahl einer Groesse mitzubekommen.
+
+Alle Groessen werden in 10tel Point angegeben.
+
+In dieses Menu koennen keine weiteren Items eingefuegt werden.
+
+Spaeter soll das Menu je nach System die Groessen anders darstelllen. Zum
+Beispiel koennte der Mac spaeter vielleicht einmal die Groessen als Outline
+darstellen, die als Bitmap-Fonts vorhanden sind.
+
+Querverweise
+
+FontList; FontNameMenu; FontStyleMenu; FontSizeBox
+
+*************************************************************************/
+
+// ----------------
+// - FontNameMenu -
+// ----------------
+
+class SVT_DLLPUBLIC FontNameMenu : public PopupMenu
+{
+private:
+ XubString maCurName;
+ Link maSelectHdl;
+ Link maHighlightHdl;
+
+public:
+ FontNameMenu();
+ virtual ~FontNameMenu();
+
+ virtual void Select();
+ virtual void Highlight();
+
+ void Fill( const FontList* pList );
+
+ void SetCurName( const XubString& rName );
+ const XubString& GetCurName() const { return maCurName; }
+
+ void SetSelectHdl( const Link& rLink ) { maSelectHdl = rLink; }
+ const Link& GetSelectHdl() const { return maSelectHdl; }
+ void SetHighlightHdl( const Link& rLink ) { maHighlightHdl = rLink; }
+ const Link& GetHighlightHdl() const { return maHighlightHdl; }
+};
+
+// -----------------
+// - FontStyleMenu -
+// -----------------
+
+#define FONTSTYLEMENU_FIRSTID 62000
+#define FONTSTYLEMENU_LASTID 62999
+
+class SVT_DLLPUBLIC FontStyleMenu : public PopupMenu
+{
+private:
+ XubString maCurStyle;
+ Link maSelectHdl;
+ Link maHighlightHdl;
+
+ SVT_DLLPRIVATE BOOL ImplIsAlreadyInserted( const XubString& rStyleName, USHORT nCount );
+
+public:
+ FontStyleMenu();
+ virtual ~FontStyleMenu();
+
+ virtual void Select();
+ virtual void Highlight();
+
+ void Fill( const XubString& rName, const FontList* pList );
+ void SetCurStyle( const XubString& rStyle );
+ const XubString& GetCurStyle() const { return maCurStyle; }
+
+ void SetSelectHdl( const Link& rLink ) { maSelectHdl = rLink; }
+ const Link& GetSelectHdl() const { return maSelectHdl; }
+ void SetHighlightHdl( const Link& rLink ) { maHighlightHdl = rLink; }
+ const Link& GetHighlightHdl() const { return maHighlightHdl; }
+};
+
+// ----------------
+// - FontSizeMenu -
+// ----------------
+
+class SVT_DLLPUBLIC FontSizeMenu : public PopupMenu
+{
+private:
+ long* mpHeightAry;
+ long mnCurHeight;
+ Link maSelectHdl;
+ Link maHighlightHdl;
+
+public:
+ FontSizeMenu();
+ ~FontSizeMenu();
+
+ virtual void Select();
+ virtual void Highlight();
+
+ void Fill( const FontInfo& rInfo, const FontList* pList );
+
+ void SetCurHeight( long nHeight );
+ long GetCurHeight() const { return mnCurHeight; }
+
+ void SetSelectHdl( const Link& rLink ) { maSelectHdl = rLink; }
+ const Link& GetSelectHdl() const { return maSelectHdl; }
+ void SetHighlightHdl( const Link& rLink ) { maHighlightHdl = rLink; }
+ const Link& GetHighlightHdl() const { return maHighlightHdl; }
+};
+
+#endif // _STDMENU_HXX
diff --git a/svtools/inc/svtools/svtdata.hxx b/svtools/inc/svtools/svtdata.hxx
index eb5c5dad1b75..ad7b60b3f2b7 100644
--- a/svtools/inc/svtools/svtdata.hxx
+++ b/svtools/inc/svtools/svtdata.hxx
@@ -28,6 +28,7 @@
#ifndef _SVTOOLS_SVTDATA_HXX
#define _SVTOOLS_SVTDATA_HXX
+#include "svtools/svtdllapi.h"
#include <tools/resid.hxx>
#include <com/sun/star/lang/Locale.hpp>
@@ -56,13 +57,11 @@ public:
};
//============================================================================
-class SvtResId: public ResId
+class SVT_DLLPUBLIC SvtResId: public ResId
{
public:
- SvtResId(USHORT nId, const ::com::sun::star::lang::Locale aLocale):
- ResId(nId, *ImpSvtData::GetSvtData().GetResMgr(aLocale)) {}
-
- SvtResId(USHORT nId): ResId(nId, *ImpSvtData::GetSvtData().GetResMgr()) {}
+ SvtResId(USHORT nId, const ::com::sun::star::lang::Locale aLocale);
+ SvtResId(USHORT nId);
// VCL dependant, only available in SVT, not in SVL!
};
diff --git a/svtools/inc/svtools/svtools.hrc b/svtools/inc/svtools/svtools.hrc
index 3dd2f0706a2e..0461064f7d96 100644
--- a/svtools/inc/svtools/svtools.hrc
+++ b/svtools/inc/svtools/svtools.hrc
@@ -89,6 +89,10 @@
#define STR_BASICKEY_FORMAT_TRUE (RID_SVTOOLS_START+107)
#define STR_BASICKEY_FORMAT_FALSE (RID_SVTOOLS_START+108)
#define CONFIG_BASIC_FORMAT_END (RID_SVTOOLS_START+109)
+#define STR_UNDO (RID_SVTOOLS_START+110)
+#define STR_REDO (RID_SVTOOLS_START+111)
+#define STR_REPEAT (RID_SVTOOLS_START+112)
+
#define STR_INVALIDTRYBUY (RID_SVTOOLS_START+120)
#define STR_OLDTRYBUY (RID_SVTOOLS_START+121)
diff --git a/svtools/inc/svtools/sychconv.hxx b/svtools/inc/svtools/sychconv.hxx
new file mode 100644
index 000000000000..4056556a2100
--- /dev/null
+++ b/svtools/inc/svtools/sychconv.hxx
@@ -0,0 +1,47 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SYCHCONV_HXX
+#define _SYCHCONV_HXX
+
+#include <tools/string.hxx>
+#include <vcl/font.hxx>
+
+// ----------------------
+// - CharacterConverter -
+// ----------------------
+
+class OutputDevice;
+
+class SymCharConverter
+{
+public:
+
+ static BOOL Convert( Font& rFont, UniString& rString, OutputDevice* pDev = NULL );
+};
+
+#endif // _CHARCONV_HXX
diff --git a/svtools/inc/svtools/tabbar.hxx b/svtools/inc/svtools/tabbar.hxx
new file mode 100644
index 000000000000..2757811ba34e
--- /dev/null
+++ b/svtools/inc/svtools/tabbar.hxx
@@ -0,0 +1,560 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _TABBAR_HXX
+#define _TABBAR_HXX
+
+#include "svtools/svtdllapi.h"
+#include <tools/link.hxx>
+#include <vcl/window.hxx>
+
+class MouseEvent;
+class TrackingEvent;
+class DataChangedEvent;
+class ImplTabBarList;
+class ImplTabButton;
+class ImplTabSizer;
+class TabBarEdit;
+
+// -----------------
+// - Dokumentation -
+// -----------------
+
+/*
+
+Erlaubte StyleBits
+------------------
+
+WB_SCROLL - Die Tabs koennen ueber ein Extra-Feld gescrollt werden
+WB_MINSCROLL - Die Tabs koennen ueber 2 zusaetzliche Buttons gescrollt werden
+WB_RANGESELECT - Zusammenhaengende Bereiche koennen selektiert werden
+WB_MULTISELECT - Einzelne Tabs koennen selektiert werden
+WB_BORDER - Oben und unten wird ein Strich gezeichnet
+WB_TOPBORDER - Oben wird ein Border gezeichnet
+WB_3DTAB - Die Tabs und der Border werden in 3D gezeichnet
+WB_DRAG - Vom TabBar wird ein StartDrag-Handler gerufen, wenn
+ Drag and Drop gestartet werden soll. Es wird ausserdem
+ im TabBar mit EnableDrop() Drag and Drop eingeschaltet.
+WB_SIZEABLE - Vom TabBar wird ein Split-Handler gerufen, wenn der Anwender
+ den TabBar in der Breite aendern will
+WB_STDTABBAR - WB_BORDER
+
+Wenn man den TabBar zum Beispiel als Property-Bar benutzen moechte, sollten
+die WinBits WB_TOPBORDER und WB_3DTAB anstatt WB_BORDER gesetzt werden.
+
+
+Erlaubte PageBits
+-----------------
+
+TPB_SPECIAL - Andere Darstellung des TabTextes, zum Beispiel fuer
+ Szenario-Seiten.
+
+
+Handler
+-------
+
+Select - Wird gerufen, wenn eine Tab selektiert oder
+ deselektiert wird
+DoubleClick - Wird gerufen, wenn ein DoubleClick im TabBar ausgeloest
+ wurde. Innerhalb des Handlers liefert GetCurPageId() die
+ angeklickte Tab zurueck oder 0, wenn keine Tab angeklickt
+ wurde
+ActivatePage - Wird gerufen, wenn eine andere Seite aktiviert wird.
+ GetCurPageId() gibt die aktivierte Seite zurueck.
+DeactivatePage - Wird gerufen, wenn eine Seite deaktiviert wird. Wenn
+ eine andere Seite aktiviert werden darf, muss TRUE
+ zurueckgegeben werden, wenn eine andere Seite von
+ der Aktivierung ausgeschlossen werden soll, muss
+ FALSE zurueckgegeben werden. GetCurPageId() gibt die
+ zu deaktivierende Seite zurueck.
+
+
+
+Drag and Drop
+-------------
+
+Fuer Drag and Drop muss das WinBit WB_DRAG gesetzt werden. Ausserdem
+muss der Command-, QueryDrop-Handler und der Drop-Handler ueberlagert
+werden. Dabei muss in den Handlern folgendes implementiert werden:
+
+Command - Wenn in diesem Handler das Dragging gestartet werden
+ soll, muss StartDrag() gerufen werden. Diese Methode
+ selektiert dann den entsprechenden Eintrag oder gibt
+ FALSE zurueck, wenn das Dragging nicht durchgefuhert
+ werden kann.
+
+QueryDrop - Dieser Handler wird von StarView immer dann gerufen, wenn
+ bei einem Drag-Vorgang die Maus ueber das Fenster gezogen
+ wird (siehe dazu auch SV-Doku). In diesem Handler muss
+ festgestellt werden, ob ein Drop moeglich ist. Die
+ Drop-Position kann im TabBar mit ShowDropPos() angezeigt
+ werden. Beim Aufruf muss die Position vom Event uebergeben
+ werden. Wenn sich die Position am linken oder rechten
+ Rand befindet, wird automatisch im TabBar gescrollt.
+ Diese Methode gibt auch die entsprechende Drop-Position
+ zurueck, die auch fuer ein Drop gebraucht wird. Wenn das
+ Fenster beim Drag verlassen wird, kann mit HideDropPos()
+ die DropPosition wieder weggenommen werden. Es ist dadurch
+ auch moeglich, ein von ausserhalb des TabBars ausgeloestes
+ Drag zu verarbeiten.
+
+Drop - Im Drop-Handler muessen dann die Pages verschoben werden,
+ oder die neuen Pages eingefuegt werden. Die entsprechende
+ Drop-Postion kann mit ShowDropPos() ermittelt werden.
+
+Folgende Methoden werden fuer Drag and Drop gebraucht und muessen von
+den Handlern gerufen werden:
+
+StartDrag - Muss aus dem Commnad-Handler gerufen werden. Als Parameter
+ muss der CommandEvent uebergeben werden und eine Referenz
+ auf eine Region. Diese Region muss dann bei ExecuteDrag()
+ uebergeben werden, wenn der Rueckgabewert sagt, das
+ ExecuteDrag durchgefuehrt werden soll. Falls der Eintrag
+ nicht selektiert ist, wird er vorher als aktueller
+ Eintrag gesetzt. Es ist daher darauf zu achten, das aus
+ dieser Methode heraus der Select-Handler gerufen werden
+ kann.
+
+ShowDropPos - Diese Methode muss vom QueryDrop-Handler gerufen werden,
+ damit der TabBar anzeigt, wo die Tabs eingefuegt werden.
+ Diese Methode kann auch im Drop-Handler benutzt werden,
+ um die Position zu ermitteln wo die Tabs eingefuegt werden
+ sollen. In der Methode muss die Position vom Event
+ uebergeben werden. Diese Methode gibt die Position zurueck,
+ wo die Tabs eingefuegt werden sollen.
+
+HideDropPos - Diese Methode nimmt die vorher mit ShowDropPos() angezeigte
+ DropPosition wieder zurueck. Diese Methode sollte dann
+ gerufen werden, wenn bei QueryDrop() das Fenster verlassen
+ wird oder der Dragvorgang beendet wurde.
+
+Folgende Methoden koennen eingesetzt werden, wenn bei D&D die Seiten
+umgeschaltet werden sollen:
+
+SwitchPage - Diese Methode muss vom QueryDrop-Handler gerufen werden,
+ wenn die Seite ueber der sich der Mousepointer befindet,
+ umgeschaltet werden soll. Diese Methode sollte jedesmal
+ gerufen werden, wenn der QueryDrop-Handler gerufen wird.
+ Das umschalten der Seite passiert zeitverzoegert (500 ms)
+ und wird automatisch von dieser Methode verwaltet.
+ In der Methode muss die Position vom Event uebergeben
+ werden. Diese Methode gibt TRUE zurueck, wenn die Page
+ umgeschaltet wurde.
+
+EndSwitchPage - Diese Methode setzt die Daten fuer das umschalten der
+ Seiten zurueck. Diese Methode sollte dann gerufen werden,
+ wenn bei QueryDrop() das Fenster verlassen wird oder
+ der Dragvorgang beendet wurde.
+
+IsInSwitching - Mit dieser Methode kann im ActivatePage()/DeactivatePage()
+ abgefragt werden, ob dies durch SwitchPage() veranlasst
+ wurde. So kann dann beispielsweise in DeactivatePage()
+ das Umschalten ohne eine Fehlerbox verhindert werden.
+
+
+Fenster-Resize
+--------------
+
+Wenn das Fenster vom Anwender in der Breite geaendert werden kann, dann
+muss das WinBit WB_SIZEABLE gesetzt werden. In diesem Fall muss noch
+folgender Handler ueberlagert werden:
+
+Split - Wenn dieser Handler gerufen wird, sollte das Fenster
+ auf die Breite angepasst werden, die von GetSplitSize()
+ zurueckgegeben wird. Dabei wird keine minimale und
+ maximale Breite beruecksichtig. Eine minimale Breite
+ kann mit GetMinSize() abgefragt werden und die maximale
+ Breite muss von der Anwendung selber berechnet werden.
+ Da nur Online-Resize unterstuetzt wird, muss das Fenster
+ innerhalb dieses Handlers in der Breite geaendert
+ werden und eventuell abhaengige Fenster ebenfalls. Fuer
+ diesen Handler kann auch mit SetSplitHdl() ein
+ Link gesetzt werden.
+
+Folgende Methoden liefern beim Splitten weitere Informationen:
+
+GetSplitSize() - Liefert die Breite des TabBars zurueck, auf die der
+ Anwender das Fenster resizen will. Dabei wird keine
+ minimale oder maximale Breite beruecksichtigt. Es wird
+ jedoch nie eine Breite < 5 zurueckgeliefert. Diese Methode
+ liefert nur solange richtige Werte, wie Splitten aktiv
+ ist.
+
+GetMinSize() - Mit dieser Methode kann eine minimale Fensterbreite
+ abgefragt werden, so das min. etwas eines Tabs sichtbar
+ ist. Jedoch kann der TabBar immer noch schmaler gesetzt
+ werden, als die Breite, die diese Methode zurueckliefert.
+ Diese Methode kann auch aufgerufen werden, wenn kein
+ Splitten aktiv ist.
+
+
+Edit-Modus
+----------
+
+Der Tabbar bietet auch Moeglichkeiten, das der Anwender in den Tabreitern
+die Namen aendern kann.
+
+EnableEditMode - Damit kann eingestellt werden, das bei Alt+LeftClick
+ StartEditMode() automatisch vom TabBar gerufen wird.
+ Im StartRenaming()-Handler kann dann das Umbenennen
+ noch abgelehnt werden.
+StartEditMode - Mit dieser Methode wird der EditModus auf einem
+ Tab gestartet. FALSE wird zurueckgegeben, wenn
+ der Editmodus schon aktiv ist, mit StartRenaming()
+ der Modus abgelehnt wurde oder kein Platz zum
+ Editieren vorhanden ist.
+EndEditMode - Mit dieser Methode wird der EditModus beendet.
+SetEditText - Mit dieser Methode kann der Text im AllowRenaming()-
+ Handler noch durch einen anderen Text ersetzt werden.
+GetEditText - Mit dieser Methode kann im AllowRenaming()-Handler
+ der Text abgefragt werden, den der Anwender eingegeben
+ hat.
+IsInEditMode - Mit dieser Methode kann abgefragt werden, ob der
+ Editmodus aktiv ist.
+IsEditModeCanceled - Mit dieser Methode kann im EndRenaming()-
+ Handler abgefragt werden, ob die Umbenenung
+ abgebrochen wurde.
+GetEditPageId - Mit dieser Methode wird in den Renaming-Handlern
+ abgefragt, welcher Tab umbenannt wird/wurde.
+
+StartRenaming() - Dieser Handler wird gerufen, wenn ueber StartEditMode()
+ der Editmodus gestartet wurde. Mit GetEditPageId()
+ kann abgefragt werden, welcher Tab umbenannt werden
+ soll. FALSE sollte zurueckgegeben werden, wenn
+ der Editmodus nicht gestartet werden soll.
+AllowRenaming() - Dieser Handler wird gerufen, wenn der Editmodus
+ beendet wird (nicht bei Cancel). In diesem Handler
+ kann dann getestet werden, ob der Text OK ist.
+ Mit GetEditPageId() kann abgefragt werden, welcher Tab
+ umbenannt wurde.
+ Es sollte einer der folgenden Werte zurueckgegeben
+ werden:
+ TAB_RENAMING_YES
+ Der Tab wird umbenannt.
+ TAB_RENAMING_NO
+ Der Tab wird nicht umbenannt, der Editmodus bleibt
+ jedoch aktiv, so das der Anwender den Namen
+ entsprechent anpassen kann.
+ TAB_RENAMING_CANCEL
+ Der Editmodus wird abgebrochen und der alte
+ Text wieder hergestellt.
+EndRenaming() - Dieser Handler wird gerufen, wenn der Editmodus
+ beendet wurde. Mit GetEditPageId() kann abgefragt
+ werden, welcher Tab umbenannt wurde. Mit
+ IsEditModeCanceled() kann abgefragt werden, ob der
+ Modus abgebrochen wurde und der Name dadurch nicht
+ geaendert wurde.
+
+
+Maximale Pagebreite
+-------------------
+
+Die Pagebreite der Tabs kann begrenzt werden, damit ein einfacheres
+Navigieren ueber diese moeglich ist. Wenn der Text dann nicht komplett
+angezeigt werden kann, wird er mit ... abgekuerzt und in der Tip-
+oder der aktiven Hilfe (wenn kein Hilfetext gesetzt ist) wird dann der
+ganze Text angezeigt. Mit EnableAutoMaxPageWidth() kann eingestellt
+werden, ob die maximale Pagebreite sich nach der gerade sichtbaren
+Breite richten soll (ist der default). Ansonsten kann auch die
+maximale Pagebreite mit SetMaxPageWidth() (in Pixeln) gesetzt werden
+(die AutoMaxPageWidth wird dann ignoriert).
+
+
+KontextMenu
+-----------
+
+Wenn ein kontextsensitives PopupMenu anzeigt werden soll, muss der
+Command-Handler ueberlagert werden. Mit GetPageId() und bei
+Uebergabe der Mausposition kann ermittelt werden, ob der Mausclick
+ueber einem bzw. ueber welchem Item durchgefuehrt wurde.
+*/
+
+// -----------
+// - WinBits -
+// -----------
+
+#define WB_RANGESELECT ((WinBits)0x00200000)
+#define WB_MULTISELECT ((WinBits)0x00400000)
+#define WB_TOPBORDER ((WinBits)0x04000000)
+#define WB_3DTAB ((WinBits)0x08000000)
+#define WB_MINSCROLL ((WinBits)0x20000000)
+#define WB_STDTABBAR WB_BORDER
+
+// ------------------
+// - TabBarPageBits -
+// ------------------
+
+typedef USHORT TabBarPageBits;
+
+// -------------------------
+// - Bits fuer TabBarPages -
+// -------------------------
+
+#define TPB_SPECIAL ((TabBarPageBits)0x0001)
+
+// ----------------
+// - TabBar-Types -
+// ----------------
+
+#define TABBAR_RENAMING_YES ((long)TRUE)
+#define TABBAR_RENAMING_NO ((long)FALSE)
+#define TABBAR_RENAMING_CANCEL ((long)2)
+
+// ----------
+// - TabBar -
+// ----------
+struct TabBar_Impl;
+
+class SVT_DLLPUBLIC TabBar : public Window
+{
+ friend class ImplTabButton;
+ friend class ImplTabSizer;
+
+private:
+ ImplTabBarList* mpItemList;
+ ImplTabButton* mpFirstBtn;
+ ImplTabButton* mpPrevBtn;
+ ImplTabButton* mpNextBtn;
+ ImplTabButton* mpLastBtn;
+ TabBar_Impl* mpImpl;
+ TabBarEdit* mpEdit;
+ XubString maEditText;
+ Color maSelColor;
+ Color maSelTextColor;
+ Size maWinSize;
+ long mnMaxPageWidth;
+ long mnCurMaxWidth;
+ long mnOffX;
+ long mnOffY;
+ long mnLastOffX;
+ long mnSplitSize;
+ ULONG mnSwitchTime;
+ WinBits mnWinStyle;
+ USHORT mnCurPageId;
+ USHORT mnFirstPos;
+ USHORT mnDropPos;
+ USHORT mnSwitchId;
+ USHORT mnEditId;
+ BOOL mbFormat;
+ BOOL mbFirstFormat;
+ BOOL mbSizeFormat;
+ BOOL mbAutoMaxWidth;
+ BOOL mbInSwitching;
+ BOOL mbAutoEditMode;
+ BOOL mbEditCanceled;
+ BOOL mbDropPos;
+ BOOL mbInSelect;
+ BOOL mbSelColor;
+ BOOL mbSelTextColor;
+ BOOL mbMirrored;
+ Link maSelectHdl;
+ Link maDoubleClickHdl;
+ Link maSplitHdl;
+ Link maActivatePageHdl;
+ Link maDeactivatePageHdl;
+ Link maStartRenamingHdl;
+ Link maAllowRenamingHdl;
+ Link maEndRenamingHdl;
+
+ using Window::ImplInit;
+ SVT_DLLPRIVATE void ImplInit( WinBits nWinStyle );
+ SVT_DLLPRIVATE void ImplInitSettings( BOOL bFont, BOOL bBackground );
+ SVT_DLLPRIVATE void ImplGetColors( Color& rFaceColor, Color& rFaceTextColor,
+ Color& rSelectColor, Color& rSelectTextColor );
+ SVT_DLLPRIVATE void ImplShowPage( USHORT nPos );
+ SVT_DLLPRIVATE BOOL ImplCalcWidth();
+ SVT_DLLPRIVATE void ImplFormat();
+ SVT_DLLPRIVATE USHORT ImplGetLastFirstPos();
+ SVT_DLLPRIVATE void ImplInitControls();
+ SVT_DLLPRIVATE void ImplEnableControls();
+ SVT_DLLPRIVATE void ImplSelect();
+ SVT_DLLPRIVATE void ImplActivatePage();
+ SVT_DLLPRIVATE long ImplDeactivatePage();
+ DECL_DLLPRIVATE_LINK( ImplClickHdl, ImplTabButton* );
+
+public:
+ static const sal_uInt16 APPEND;
+ static const sal_uInt16 PAGE_NOT_FOUND;
+
+ TabBar( Window* pParent, WinBits nWinStyle = WB_STDTABBAR );
+ virtual ~TabBar();
+
+ virtual void MouseMove( const MouseEvent& rMEvt );
+ virtual void MouseButtonDown( const MouseEvent& rMEvt );
+ virtual void MouseButtonUp( const MouseEvent& rMEvt );
+ virtual void Paint( const Rectangle& rRect );
+ virtual void Resize();
+ virtual void RequestHelp( const HelpEvent& rHEvt );
+ virtual void StateChanged( StateChangedType nStateChange );
+ virtual void DataChanged( const DataChangedEvent& rDCEvt );
+
+ virtual void Select();
+ virtual void DoubleClick();
+ virtual void Split();
+ virtual void ActivatePage();
+ virtual long DeactivatePage();
+ virtual long StartRenaming();
+ virtual long AllowRenaming();
+ virtual void EndRenaming();
+ virtual void Mirror();
+
+ void InsertPage( USHORT nPageId, const XubString& rText,
+ TabBarPageBits nBits = 0,
+ USHORT nPos = TabBar::APPEND );
+ void RemovePage( USHORT nPageId );
+ void MovePage( USHORT nPageId, USHORT nNewPos );
+
+ Color GetTabBgColor( USHORT nPageId ) const;
+ void SetTabBgColor( USHORT nPageId, const Color& aTabBgColor );
+ BOOL IsDefaultTabBgColor( USHORT nPageId );
+
+ void Clear();
+
+ void EnablePage( USHORT nPageId, BOOL bEnable = TRUE );
+ BOOL IsPageEnabled( USHORT nPageId ) const;
+
+ void SetPageBits( USHORT nPageId, TabBarPageBits nBits = 0 );
+ TabBarPageBits GetPageBits( USHORT nPageId ) const;
+
+ USHORT GetPageCount() const;
+ USHORT GetPageId( USHORT nPos ) const;
+ USHORT GetPagePos( USHORT nPageId ) const;
+ USHORT GetPageId( const Point& rPos ) const;
+ Rectangle GetPageRect( USHORT nPageId ) const;
+ // returns the rectangle in which page tabs are drawn
+ Rectangle GetPageArea() const;
+
+ void SetCurPageId( USHORT nPageId );
+ USHORT GetCurPageId() const { return mnCurPageId; }
+
+ void SetFirstPageId( USHORT nPageId );
+ USHORT GetFirstPageId() const { return GetPageId( mnFirstPos ); }
+ void MakeVisible( USHORT nPageId );
+
+ void SelectPage( USHORT nPageId, BOOL bSelect = TRUE );
+ void SelectPageRange( BOOL bSelect = FALSE,
+ USHORT nStartPos = 0,
+ USHORT nEndPos = TabBar::APPEND );
+ USHORT GetSelectPage( USHORT nSelIndex = 0 ) const;
+ USHORT GetSelectPageCount() const;
+ BOOL IsPageSelected( USHORT nPageId ) const;
+
+ void EnableAutoMaxPageWidth( BOOL bEnable = TRUE ) { mbAutoMaxWidth = bEnable; }
+ BOOL IsAutoMaxPageWidthEnabled() const { return mbAutoMaxWidth; }
+ void SetMaxPageWidth( long nMaxWidth );
+ long GetMaxPageWidth() const { return mnMaxPageWidth; }
+ void ResetMaxPageWidth() { SetMaxPageWidth( 0 ); }
+ BOOL IsMaxPageWidth() const { return mnMaxPageWidth != 0; }
+
+ void EnableEditMode( BOOL bEnable = TRUE ) { mbAutoEditMode = bEnable; }
+ BOOL IsEditModeEnabled() const { return mbAutoEditMode; }
+ BOOL StartEditMode( USHORT nPageId );
+ void EndEditMode( BOOL bCancel = FALSE );
+ void SetEditText( const XubString& rText ) { maEditText = rText; }
+ const XubString& GetEditText() const { return maEditText; }
+ BOOL IsInEditMode() const { return (mpEdit != NULL); }
+ BOOL IsEditModeCanceled() const { return mbEditCanceled; }
+ USHORT GetEditPageId() const { return mnEditId; }
+
+ /** Mirrors the entire control including position of buttons and splitter.
+ Mirroring is done relative to the current direction of the GUI.
+ @param bMirrored TRUE = the control will draw itself RTL in LTR GUI,
+ and vice versa; FALSE = the control behaves according to the
+ current direction of the GUI. */
+ void SetMirrored( BOOL bMirrored = TRUE );
+ /** Returns TRUE, if the control is set to mirrored mode (see SetMirrored()). */
+ BOOL IsMirrored() const { return mbMirrored; }
+
+ /** Sets the control to LTR or RTL mode regardless of the GUI direction.
+ @param bRTL FALSE = the control will draw from left to right;
+ TRUE = the control will draw from right to left. */
+ void SetEffectiveRTL( BOOL bRTL );
+ /** Returns TRUE, if the control draws from right to left (see SetEffectiveRTL()). */
+ BOOL IsEffectiveRTL() const;
+
+ BOOL StartDrag( const CommandEvent& rCEvt, Region& rRegion );
+ USHORT ShowDropPos( const Point& rPos );
+ void HideDropPos();
+ BOOL SwitchPage( const Point& rPos );
+ void EndSwitchPage();
+ BOOL IsInSwitching() { return mbInSwitching; }
+
+ void SetSelectColor();
+ void SetSelectColor( const Color& rColor );
+ const Color& GetSelectColor() const { return maSelColor; }
+ BOOL IsSelectColor() const { return mbSelColor; }
+ void SetSelectTextColor();
+ void SetSelectTextColor( const Color& rColor );
+ const Color& GetSelectTextColor() const { return maSelTextColor; }
+ BOOL IsSelectTextColor() const { return mbSelTextColor; }
+
+ void SetPageText( USHORT nPageId, const XubString& rText );
+ XubString GetPageText( USHORT nPageId ) const;
+ void SetHelpText( USHORT nPageId, const XubString& rText );
+ XubString GetHelpText( USHORT nPageId ) const;
+ void SetHelpId( USHORT nPageId, const rtl::OString& nHelpId );
+ rtl::OString GetHelpId( USHORT nPageId ) const;
+
+ long GetSplitSize() const { return mnSplitSize; }
+ long GetMinSize() const;
+
+ void SetHelpText( const XubString& rText )
+ { Window::SetHelpText( rText ); }
+ XubString GetHelpText() const
+ { return Window::GetHelpText(); };
+ void SetHelpId( const rtl::OString& rId )
+ { Window::SetHelpId( rId ); }
+ const rtl::OString& GetHelpId() const
+ { return Window::GetHelpId(); }
+
+ void SetStyle( WinBits nStyle );
+ WinBits GetStyle() const { return mnWinStyle; }
+
+ Size CalcWindowSizePixel() const;
+
+ void SetSelectHdl( const Link& rLink ) { maSelectHdl = rLink; }
+ const Link& GetSelectHdl() const { return maSelectHdl; }
+ void SetDoubleClickHdl( const Link& rLink ) { maDoubleClickHdl = rLink; }
+ const Link& GetDoubleClickHdl() const { return maDoubleClickHdl; }
+ void SetSplitHdl( const Link& rLink ) { maSplitHdl = rLink; }
+ const Link& GetSplitHdl() const { return maSplitHdl; }
+ void SetActivatePageHdl( const Link& rLink ) { maActivatePageHdl = rLink; }
+ const Link& GetActivatePageHdl() const { return maActivatePageHdl; }
+ void SetDeactivatePageHdl( const Link& rLink ) { maDeactivatePageHdl = rLink; }
+ const Link& GetDeactivatePageHdl() const { return maDeactivatePageHdl; }
+ void SetStartRenamingHdl( const Link& rLink ) { maStartRenamingHdl = rLink; }
+ const Link& GetStartRenamingHdl() const { return maStartRenamingHdl; }
+ void SetAllowRenamingHdl( const Link& rLink ) { maAllowRenamingHdl = rLink; }
+ const Link& GetAllowRenamingHdl() const { return maAllowRenamingHdl; }
+ void SetEndRenamingHdl( const Link& rLink ) { maEndRenamingHdl = rLink; }
+ const Link& GetEndRenamingHdl() const { return maEndRenamingHdl; }
+
+ // accessibility
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > CreateAccessible();
+};
+
+#endif // _TABBAR_HXX
diff --git a/svtools/inc/svtools/taskbar.hxx b/svtools/inc/svtools/taskbar.hxx
new file mode 100644
index 000000000000..d4a6699e2d5e
--- /dev/null
+++ b/svtools/inc/svtools/taskbar.hxx
@@ -0,0 +1,490 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _TASKBAR_HXX
+#define _TASKBAR_HXX
+
+#include "svtools/svtdllapi.h"
+#include <tools/time.hxx>
+#ifndef _TOOLS_LIST_HXX
+#include <tools/list.hxx>
+#endif
+#include <vcl/timer.hxx>
+#include <vcl/toolbox.hxx>
+#include <vcl/status.hxx>
+
+class TaskBar;
+class TaskStatusFieldItem;
+class ImplTaskItemList;
+class ImplTaskSBItemList;
+class ImplTaskBarFloat;
+struct ImplTaskSBFldItem;
+
+// -----------------
+// - Dokumentation -
+// -----------------
+
+/*
+
+TaskToolBox
+===========
+
+StartUpdateTask()/UpdateTask()/EndUpdateTask()
+Diese muessen gerufen werden, wenn die Task upgedatet werden muessen.
+Dann muss StartUpdateTask() gerufen werden, dann UpdateTask() fuer alle
+Task's und danach EndUpdateTask() wo dann die TaskButtons entsprechend
+neu angeordnet werden.
+
+ActivateTask()
+Handler der gerufen wird, wenn ein Task aktiviert werden muss. Mit
+GetTaskItem() kann abgefragt werden, welcher Task aktiviert werden muss.
+
+ContextMenu()
+Dieser Handler wird gerufen, wenn ein ContextMenu angezeigt werden soll.
+Mit GetTaskMode() kann abgefragt werden, ob fuer einen Task oder ein
+Item.
+
+GetTaskItem()
+Diese Methode liefert das Item zurueck, welches bei UpdateTask an der
+entsprechenden Position eingefuegt wurde.
+
+GetContextMenuPos()
+Liefert die Position zurueck, wo das Contextmenu angezeigt werden soll.
+
+
+TaskStatusBar
+=============
+
+InsertStatusField()/RemoveStatusField()
+Fuegt ein Statusfeld ein, wo die aktuelle Uhrzeit angezeigt wird. In
+dieses Feld koennen dann mit AddStatusFielItem(), ModifyStatusFielItem()
+und RemoveStatusFielItem() Status-Items eingefuegt werden. Bei diesen
+muss man ein Image angeben, welches dann angezeigt wird. Ausserdem kann
+man bei diesen noch Hilfe-Texte angeben oder sagen, ob sie blinken
+sollen und ein Notify-Object, worueber man informiert wird, wenn ein
+Kontextmenu angezeigt wird oder das Item angeklickt wird. Am
+TaskStatusBar kann auch ein Notify-Object gesetzt werden, wenn man
+benachrichtigt werden will, wenn die Uhrzeit oder die TaskStatusBar
+angeklickt wird. Wenn der Notify fuer die Uhrzeit kommt, ist die
+Id TASKSTATUSBAR_CLOCKID, wenn er fuer die TaskStatusBar kommt, ist
+die Id 0. Mit SetFieldFlags() kann am TaskStatusBar auch die Flags
+hinterher umgesetzt werden, um zum Beispiel die Uhrzeit ein- und
+auszuschalten.
+
+
+TaskBar
+=======
+
+Erlaubte StyleBits
+------------------
+
+WB_BORDER - Border an der oberen Kante
+WB_SIZEABLE - Zwischen TaskToolBox und TaskStatusBar kann der Anwender
+ die Groesse aendern.
+
+Wenn WB_SIZEABLE gesetzt ist, kann die Breite des StatusBars gesetzt und
+abgefragt werden. Dazu kann man SetStatusSize()/GetStatusSize() aufrufen.
+0 steht dabei fuer optimale Groesse, was auch der Default ist. Bei einem
+Doppelklick auf den Trenner kann der Anwender auch wieder die optimale
+Groesse einstellen.
+
+Wichtige Methoden
+------------------
+
+virtual TaskToolBox* TaskBar::CreateButtonBar();
+virtual TaskToolBox* TaskBar::CreateTaskToolBox();
+virtual TaskStatusBar* TaskBar::CreateTaskStatusBar();
+
+Diese Methoden muesste man ueberladen, wenn man eine eigene Klasse anlegen
+will.
+
+void TaskBar::ShowStatusText( const String& rText );
+void TaskBar::HideStatusText();
+
+Blendet den ButtonBar und die TaskBar ein bzw. aus um den Hilfetexte in der
+gesammten Zeile anzuzeigen.
+*/
+
+// -----------------
+// - TaskButtonBar -
+// -----------------
+
+class TaskButtonBar : public ToolBox
+{
+ friend class TaskBar;
+
+private:
+ TaskBar* mpNotifyTaskBar;
+ void* mpDummy1;
+ void* mpDummy2;
+ void* mpDummy3;
+ void* mpDummy4;
+
+public:
+ TaskButtonBar( Window* pParent, WinBits nWinStyle = 0 );
+ ~TaskButtonBar();
+
+ virtual void RequestHelp( const HelpEvent& rHEvt );
+
+ void InsertButton( USHORT nItemId,
+ const Image& rImage, const String& rText,
+ USHORT nPos = TOOLBOX_APPEND )
+ { InsertItem( nItemId, rImage, rText, TIB_LEFT | TIB_AUTOSIZE, nPos ); }
+ void RemoveButton( USHORT nItemId )
+ { RemoveItem( nItemId ); }
+};
+
+// ---------------------
+// - TaskToolBox-Types -
+// ---------------------
+
+#define TASKTOOLBOX_TASK_NOTFOUND ((USHORT)0xFFFF)
+
+// ---------------
+// - TaskToolBox -
+// ---------------
+
+class SVT_DLLPUBLIC TaskToolBox : public ToolBox
+{
+ friend class TaskBar;
+
+private:
+ ImplTaskItemList* mpItemList;
+ TaskBar* mpNotifyTaskBar;
+ Point maContextMenuPos;
+ ULONG mnOldItemCount;
+ long mnMaxTextWidth;
+ long mnDummy1;
+ USHORT mnUpdatePos;
+ USHORT mnUpdateNewPos;
+ USHORT mnActiveItemId;
+ USHORT mnNewActivePos;
+ USHORT mnTaskItem;
+ USHORT mnSmallItem;
+ USHORT mnDummy2;
+ BOOL mbMinActivate;
+ BOOL mbDummy1;
+ Link maActivateTaskHdl;
+ Link maContextMenuHdl;
+
+#ifdef _TASKBAR_CXX
+ SVT_DLLPRIVATE void ImplFormatTaskToolBox();
+#endif
+
+ // Forbidden and not implemented.
+ TaskToolBox (const TaskToolBox &);
+ TaskToolBox & operator= (const TaskToolBox &);
+
+public:
+ TaskToolBox( Window* pParent, WinBits nWinStyle = 0 );
+ ~TaskToolBox();
+
+ void ActivateTaskItem( USHORT nItemId,
+ BOOL bMinActivate = FALSE );
+ USHORT GetTaskItem( const Point& rPos ) const;
+
+ virtual void ActivateTask();
+ virtual void ContextMenu();
+
+ virtual void Select();
+
+ virtual void MouseButtonDown( const MouseEvent& rMEvt );
+ virtual void Resize();
+ virtual void Command( const CommandEvent& rCEvt );
+ virtual void RequestHelp( const HelpEvent& rHEvt );
+
+ void StartUpdateTask();
+ void UpdateTask( const Image& rImage, const String& rText,
+ BOOL bActive = FALSE );
+ void EndUpdateTask();
+
+ const Point& GetContextMenuPos() const { return maContextMenuPos; }
+ USHORT GetTaskItem() const { return mnTaskItem; }
+ BOOL IsMinActivate() const { return mbMinActivate; }
+
+ void SetActivateTaskHdl( const Link& rLink ) { maActivateTaskHdl = rLink; }
+ const Link& GetActivateTaskHdl() const { return maActivateTaskHdl; }
+ void SetContextMenuHdl( const Link& rLink ) { maContextMenuHdl = rLink; }
+ const Link& GetContextMenuHdl() const { return maContextMenuHdl; }
+};
+
+inline USHORT TaskToolBox::GetTaskItem( const Point& rPos ) const
+{
+ USHORT nId = GetItemId( rPos );
+ if ( nId )
+ return nId-1;
+ else
+ return TASKTOOLBOX_TASK_NOTFOUND;
+}
+
+// ---------------------
+// - ITaskStatusNotify -
+// ---------------------
+
+class ITaskStatusNotify
+{
+public:
+ virtual BOOL MouseButtonDown( USHORT nItemd, const MouseEvent& rMEvt );
+ virtual BOOL MouseButtonUp( USHORT nItemd, const MouseEvent& rMEvt );
+ virtual BOOL MouseMove( USHORT nItemd, const MouseEvent& rMEvt );
+ virtual BOOL Command( USHORT nItemd, const CommandEvent& rCEvt );
+ virtual BOOL UpdateHelp( USHORT nItemd );
+};
+
+// -----------------------
+// - TaskStatusFieldItem -
+// -----------------------
+
+#define TASKSTATUSFIELDITEM_FLASH ((USHORT)0x0001)
+
+class TaskStatusFieldItem
+{
+private:
+ ITaskStatusNotify* mpNotify;
+ Image maImage;
+ XubString maQuickHelpText;
+ XubString maHelpText;
+ rtl::OString maHelpId;
+ USHORT mnFlags;
+
+public:
+ TaskStatusFieldItem();
+ TaskStatusFieldItem( const TaskStatusFieldItem& rItem );
+ TaskStatusFieldItem( ITaskStatusNotify* pNotify,
+ const Image& rImage,
+ const XubString& rQuickHelpText,
+ const XubString& rHelpText,
+ USHORT nFlags );
+ ~TaskStatusFieldItem();
+
+ void SetNotifyObject( ITaskStatusNotify* pNotify ) { mpNotify = pNotify; }
+ ITaskStatusNotify* GetNotifyObject() const { return mpNotify; }
+ void SetImage( const Image& rImage ) { maImage = rImage; }
+ const Image& GetImage() const { return maImage; }
+ void SetQuickHelpText( const XubString& rStr ) { maQuickHelpText = rStr; }
+ const XubString& GetQuickHelpText() const { return maQuickHelpText; }
+ void SetHelpText( const XubString& rStr ) { maHelpText = rStr; }
+ const XubString& GetHelpText() const { return maHelpText; }
+ void SetHelpId( const rtl::OString& rHelpId ) { maHelpId = rHelpId; }
+ const rtl::OString& GetHelpId() const { return maHelpId; }
+ void SetFlags( USHORT nFlags ) { mnFlags = nFlags; }
+ USHORT GetFlags() const { return mnFlags; }
+
+ const TaskStatusFieldItem& operator=( const TaskStatusFieldItem& rItem );
+};
+
+// -----------------
+// - TaskStatusBar -
+// -----------------
+
+#define TASKSTATUSBAR_STATUSFIELDID ((USHORT)61000)
+
+#define TASKSTATUSBAR_CLOCKID ((USHORT)61000)
+#define TASKSTATUSFIELD_CLOCK ((USHORT)0x0001)
+
+class SVT_DLLPUBLIC TaskStatusBar : public StatusBar
+{
+ friend class TaskBar;
+
+private:
+ ImplTaskSBItemList* mpFieldItemList;
+ TaskBar* mpNotifyTaskBar;
+ ITaskStatusNotify* mpNotify;
+ Time maTime;
+ XubString maTimeText;
+ AutoTimer maTimer;
+ long mnClockWidth;
+ long mnItemWidth;
+ long mnFieldWidth;
+ USHORT mnFieldFlags;
+ USHORT mnDummy1;
+ BOOL mbFlashItems;
+ BOOL mbOutInterval;
+ BOOL mbDummy1;
+ BOOL mbDummy2;
+
+#ifdef _TASKBAR_CXX
+ SVT_DLLPRIVATE ImplTaskSBFldItem* ImplGetFieldItem( USHORT nItemId ) const;
+ SVT_DLLPRIVATE ImplTaskSBFldItem* ImplGetFieldItem( const Point& rPos, BOOL& rFieldRect ) const;
+ SVT_DLLPRIVATE BOOL ImplUpdateClock();
+ SVT_DLLPRIVATE BOOL ImplUpdateFlashItems();
+ SVT_DLLPRIVATE void ImplUpdateField( BOOL bItems );
+ DECL_DLLPRIVATE_LINK( ImplTimerHdl, Timer* );
+#endif
+
+public:
+ TaskStatusBar( Window* pParent, WinBits nWinStyle = WB_LEFT );
+ ~TaskStatusBar();
+
+ virtual void MouseButtonDown( const MouseEvent& rMEvt );
+ virtual void MouseButtonUp( const MouseEvent& rMEvt );
+ virtual void MouseMove( const MouseEvent& rMEvt );
+ virtual void Command( const CommandEvent& rCEvt );
+ virtual void RequestHelp( const HelpEvent& rHEvt );
+ virtual void UserDraw( const UserDrawEvent& rUDEvt );
+
+ void InsertStatusField( long nOffset = STATUSBAR_OFFSET,
+ USHORT nPos = STATUSBAR_APPEND,
+ USHORT nFlags = TASKSTATUSFIELD_CLOCK );
+ void RemoveStatusField()
+ { maTimer.Stop(); RemoveItem( TASKSTATUSBAR_STATUSFIELDID ); }
+ void SetFieldFlags( USHORT nFlags );
+ USHORT GetFieldFlags() const { return mnFieldFlags; }
+ void SetNotifyObject( ITaskStatusNotify* pNotify ) { mpNotify = pNotify; }
+ ITaskStatusNotify* GetNotifyObject() const { return mpNotify; }
+
+ void AddStatusFieldItem( USHORT nItemId, const TaskStatusFieldItem& rItem,
+ USHORT nPos = 0xFFFF );
+ void ModifyStatusFieldItem( USHORT nItemId, const TaskStatusFieldItem& rItem );
+ void RemoveStatusFieldItem( USHORT nItemId );
+ BOOL GetStatusFieldItem( USHORT nItemId, TaskStatusFieldItem& rItem ) const;
+};
+
+// -----------
+// - TaskBar -
+// -----------
+
+class SVT_DLLPUBLIC TaskBar : public Window
+{
+private:
+ ImplTaskBarFloat* mpAutoHideBar;
+ TaskButtonBar* mpButtonBar;
+ TaskToolBox* mpTaskToolBox;
+ TaskStatusBar* mpStatusBar;
+ void* mpDummy1;
+ void* mpDummy2;
+ void* mpDummy3;
+ void* mpDummy4;
+ String maOldText;
+ long mnStatusWidth;
+ long mnMouseOff;
+ long mnOldStatusWidth;
+ long mnDummy1;
+ long mnDummy2;
+ long mnDummy3;
+ long mnDummy4;
+ WinBits mnWinBits;
+ USHORT mnLines;
+ BOOL mbStatusText;
+ BOOL mbShowItems;
+ BOOL mbAutoHide;
+ BOOL mbAlignDummy1;
+ BOOL mbDummy1;
+ BOOL mbDummy2;
+ BOOL mbDummy3;
+ BOOL mbDummy4;
+ Link maTaskResizeHdl;
+
+#ifdef _TASKBAR_CXX
+ SVT_DLLPRIVATE void ImplInitSettings();
+ SVT_DLLPRIVATE void ImplNewHeight( long nNewHeight );
+#endif
+
+public:
+ TaskBar( Window* pParent, WinBits nWinStyle = WB_BORDER | WB_SIZEABLE );
+ ~TaskBar();
+
+ virtual void TaskResize();
+
+ virtual TaskButtonBar* CreateButtonBar();
+ virtual TaskToolBox* CreateTaskToolBox();
+ virtual TaskStatusBar* CreateTaskStatusBar();
+
+ virtual void MouseMove( const MouseEvent& rMEvt );
+ virtual void MouseButtonDown( const MouseEvent& rMEvt );
+ virtual void Tracking( const TrackingEvent& rMEvt );
+ virtual void Paint( const Rectangle& rRect );
+ virtual void Resize();
+ virtual void StateChanged( StateChangedType nType );
+ virtual void DataChanged( const DataChangedEvent& rDCEvt );
+
+ void Format();
+
+ void SetLines( USHORT nLines );
+ USHORT GetLines() const { return mnLines; }
+ void EnableAutoHide( BOOL bAutoHide = TRUE );
+ BOOL IsAutoHideEnabled() const { return mbAutoHide; }
+
+ void ShowStatusText( const String& rText );
+ void HideStatusText();
+
+ void SetStatusSize( long nNewSize )
+ { mnStatusWidth=nNewSize; Resize(); }
+ long GetStatusSize() const { return mnStatusWidth; }
+
+ Size CalcWindowSizePixel() const;
+
+ TaskButtonBar* GetButtonBar() const;
+ TaskToolBox* GetTaskToolBox() const;
+ TaskStatusBar* GetStatusBar() const;
+
+ void SetTaskResizeHdl( const Link& rLink ) { maTaskResizeHdl = rLink; }
+ const Link& GetTaskResizeHdl() const { return maTaskResizeHdl; }
+};
+
+// -----------------------
+// - WindowArrange-Types -
+// -----------------------
+
+#define WINDOWARRANGE_TILE 1
+#define WINDOWARRANGE_HORZ 2
+#define WINDOWARRANGE_VERT 3
+#define WINDOWARRANGE_CASCADE 4
+
+class ImplWindowArrangeList;
+
+// -----------------------
+// - class WindowArrange -
+// -----------------------
+
+class SVT_DLLPUBLIC WindowArrange
+{
+private:
+ List* mpWinList;
+ void* mpDummy;
+ ULONG mnDummy;
+
+#ifdef _TASKBAR_CXX
+ SVT_DLLPRIVATE void ImplTile( const Rectangle& rRect );
+ SVT_DLLPRIVATE void ImplHorz( const Rectangle& rRect );
+ SVT_DLLPRIVATE void ImplVert( const Rectangle& rRect );
+ SVT_DLLPRIVATE void ImplCascade( const Rectangle& rRect );
+#endif
+
+public:
+ WindowArrange();
+ ~WindowArrange();
+
+ void AddWindow( Window* pWindow, ULONG nPos = LIST_APPEND )
+ { mpWinList->Insert( (void*)pWindow, nPos ); }
+ void RemoveAllWindows()
+ { mpWinList->Clear(); }
+
+ void Arrange( USHORT nType, const Rectangle& rRect );
+};
+
+#endif // _TASKBAR_HXX
diff --git a/svtools/inc/svtools/templatefoldercache.hxx b/svtools/inc/svtools/templatefoldercache.hxx
new file mode 100644
index 000000000000..25d5080bd748
--- /dev/null
+++ b/svtools/inc/svtools/templatefoldercache.hxx
@@ -0,0 +1,108 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef SFX2_TEMPLATEFOLDERCACHE_HXX
+#define SFX2_TEMPLATEFOLDERCACHE_HXX
+
+#include "svtools/svtdllapi.h"
+#include <sal/types.h>
+
+//.........................................................................
+namespace svt
+{
+//.........................................................................
+
+ //=====================================================================
+ //= TemplateFolderCache
+ //=====================================================================
+ class TemplateFolderCacheImpl;
+ /** allows to cache the state of the template directories of OOo
+ <p>Usually, this class is used together with an instance of a the
+ <service scope="com.sun.star.frame">DocumentTemplates</service> service. It allows to scan the template folders
+ of the Office, and updates the configuration so that it reflects the most recent state of the folders.<br/>
+ As this is an expensive, the TemplateFolderCache has been introduced. It caches the state of the template
+ folders, and allows to determine if the DocumentTemplates service needs to be invoked to do the (much more expensive)
+ update.</p>
+ @example C++
+ <listing>
+ TemplateFolderCache aTemplateFolders;
+ if ( aTemplateFolders.needsUpdate() )
+ {
+ // store the current state
+ aCache.storeState();
+
+ // create the DocumentTemplates instance
+ Reference< XDocumentTemplates > xTemplates = ...;
+
+ // update the templates configuration
+ xTemplates->update();
+ }
+
+ // do anything which relies on a up-to-date template configuration
+ </listing>
+ */
+ class SVT_DLLPUBLIC TemplateFolderCache
+ {
+ private:
+ TemplateFolderCacheImpl* m_pImpl;
+
+ public:
+ /** ctor.
+ @param _bAutoStoreState
+ Set this to <TRUE/> if you want the instance to automatically store the state of the template folders upon
+ destruction.<br/>
+ If set to <FALSE/>, you would epplicitly need to call <method>storeState</method> to do this.<br/>
+ If the current state is not known (e.g. because you did not call needsUpdate, which retrieves it),
+ it is not retrieved in the dtor, regardless of the <arg>_bAutoStoreState</arg> flag.
+ */
+ TemplateFolderCache( sal_Bool _bAutoStoreState = sal_False );
+ ~TemplateFolderCache( );
+
+ /** determines whether or not the template configuration needs to be updated
+ @param _bForceCheck
+ set this to <TRUE/> if you want the object to rescan the template folders in every case. The default (<FALSE/>)
+ means that once the information has been retrieved in a first call, every second call returns the same result
+ as the first one, even if in the meantime the template folders changed.
+ @return
+ <TRUE/> if the template configuration needs to be updated
+ */
+ sal_Bool needsUpdate( sal_Bool _bForceCheck = sal_False );
+
+ /** stores the current state of the template folders in the cache
+ @param _bForceRetrieval
+ if set to <TRUE/>, the current state of the template folders is retrieved again, even if it is already known.
+ Usually, you set this to <FALSE/>: After calling <method>needsUpdate</method>, the state is know and does not
+ need to be read again.
+ */
+ void storeState( sal_Bool _bForceRetrieval = sal_False );
+ };
+
+//.........................................................................
+} // namespace svt
+//.........................................................................
+
+#endif // SFX2_TEMPLATEFOLDERCACHE_HXX
diff --git a/svtools/inc/svtools/templdlg.hxx b/svtools/inc/svtools/templdlg.hxx
new file mode 100644
index 000000000000..f08f7cc8770d
--- /dev/null
+++ b/svtools/inc/svtools/templdlg.hxx
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVTOOLS_TEMPLDLG_HXX
+#define _SVTOOLS_TEMPLDLG_HXX
+
+#include "svtools/svtdllapi.h"
+
+#include <vcl/button.hxx>
+#include <vcl/dialog.hxx>
+#include <vcl/fixed.hxx>
+#include <svtools/fixedhyper.hxx>
+
+struct SvtTmplDlg_Impl;
+
+// class SvtDocumentTemplateDialog ---------------------------------------
+
+class SvtTemplateWindow;
+
+class SVT_DLLPUBLIC SvtDocumentTemplateDialog : public ModalDialog
+{
+private:
+ svt::FixedHyperlink aMoreTemplatesLink;
+ FixedLine aLine;
+ PushButton aManageBtn;
+ PushButton aEditBtn;
+ OKButton aOKBtn;
+ CancelButton aCancelBtn;
+ HelpButton aHelpBtn;
+
+ SvtTmplDlg_Impl* pImpl;
+
+ DECL_DLLPRIVATE_LINK( SelectHdl_Impl, SvtTemplateWindow* );
+ DECL_DLLPRIVATE_LINK( DoubleClickHdl_Impl, SvtTemplateWindow* );
+ DECL_DLLPRIVATE_LINK( NewFolderHdl_Impl, SvtTemplateWindow* );
+ DECL_DLLPRIVATE_LINK( SendFocusHdl_Impl, SvtTemplateWindow* );
+ DECL_DLLPRIVATE_LINK( OKHdl_Impl, PushButton* );
+ DECL_DLLPRIVATE_LINK( OrganizerHdl_Impl, PushButton* );
+ DECL_DLLPRIVATE_LINK( UpdateHdl_Impl, Timer* );
+ DECL_DLLPRIVATE_LINK( OpenLinkHdl_Impl, svt::FixedHyperlink* );
+
+public:
+ SvtDocumentTemplateDialog( Window* pParent );
+
+ /** ctor for calling the dialog for <em>selection</em> only, not for <em>opening</em> a document
+ <p>If you use this ctor, the dialog will behave differently in the following areas:
+ <ul><li>The <em>Edit</em> button will be hidden.</li>
+ <li>Upon pressing em>Open</em>, the selected file will not be opened. Instead, it's
+ URL is available (see <method>GetSelectedFileURL</method>).</li>
+ </ul>
+
+ */
+ struct SelectOnly { };
+ SvtDocumentTemplateDialog( Window* _pParent, SelectOnly );
+
+ ~SvtDocumentTemplateDialog();
+
+ sal_Bool IsFileSelected( ) const;
+ String GetSelectedFileURL( ) const;
+
+ void SelectTemplateFolder();
+
+private:
+ SVT_DLLPRIVATE void InitImpl( );
+ SVT_DLLPRIVATE sal_Bool CanEnableEditBtn() const;
+};
+
+#endif // _SVTOOLS_TEMPLDLG_HXX
+
diff --git a/svtools/inc/svtools/testtool.hxx b/svtools/inc/svtools/testtool.hxx
new file mode 100644
index 000000000000..ea00fe33cdbf
--- /dev/null
+++ b/svtools/inc/svtools/testtool.hxx
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef SVTOOLS_TESTTOOL_HXX
+#define SVTOOLS_TESTTOOL_HXX
+
+#include <tools/solar.h>
+#include <tools/link.hxx>
+#include <tools/string.hxx>
+
+class Application;
+class SvStream;
+
+class StatementFlow;
+class CommunicationManager;
+class CommunicationLink;
+#if OSL_DEBUG_LEVEL > 1
+class EditWindow;
+#endif
+class ImplRC;
+
+class RemoteControl
+{
+ friend class StatementFlow;
+
+ BOOL m_bIdleInserted;
+#if OSL_DEBUG_LEVEL > 1
+ EditWindow *m_pDbgWin;
+#endif
+ ImplRC* pImplRC;
+
+public:
+ RemoteControl();
+ ~RemoteControl();
+ BOOL QueCommands( ULONG nServiceId, SvStream *pIn );
+ SvStream* GetReturnStream();
+
+ DECL_LINK( IdleHdl, Application* );
+ DECL_LINK( CommandHdl, Application* );
+
+ DECL_LINK( QueCommandsEvent, CommunicationLink* );
+ ULONG nStoredServiceId;
+ SvStream *pStoredStream;
+
+ void ExecuteURL( String &aURL );
+
+protected:
+ CommunicationManager *pServiceMgr;
+ SvStream *pRetStream;
+};
+
+#endif // SVTOOLS_TESTTOOL_HXX
diff --git a/svtools/inc/svtools/tooltiplbox.hxx b/svtools/inc/svtools/tooltiplbox.hxx
new file mode 100644
index 000000000000..e50d516f5aa1
--- /dev/null
+++ b/svtools/inc/svtools/tooltiplbox.hxx
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef SVTOOLS_TOOLTIPLBOX_HXX
+#define SVTOOLS_TOOLTIPLBOX_HXX
+
+#include "svtools/svtdllapi.h"
+#include <vcl/lstbox.hxx>
+
+namespace svtools {
+
+// ============================================================================
+
+/** ListBox with tool tips for long entries. */
+class ToolTipListBox : public ListBox
+{
+public:
+ ToolTipListBox( Window* pParent, WinBits nStyle = WB_BORDER );
+ ToolTipListBox( Window* pParent, const ResId& rResId );
+
+protected:
+ virtual void RequestHelp( const HelpEvent& rHEvt );
+};
+
+// ----------------------------------------------------------------------------
+
+/** MultiListBox with tool tips for long entries. */
+class SVT_DLLPUBLIC ToolTipMultiListBox : public MultiListBox
+{
+public:
+ ToolTipMultiListBox( Window* pParent, WinBits nStyle = WB_BORDER );
+ ToolTipMultiListBox( Window* pParent, const ResId& rResId );
+
+protected:
+ virtual void RequestHelp( const HelpEvent& rHEvt );
+};
+
+// ============================================================================
+
+} // namespace svtools
+
+#endif
+
diff --git a/svtools/inc/svtools/txtattr.hxx b/svtools/inc/svtools/txtattr.hxx
new file mode 100644
index 000000000000..29723a38129b
--- /dev/null
+++ b/svtools/inc/svtools/txtattr.hxx
@@ -0,0 +1,235 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _TXTATTR_HXX
+#define _TXTATTR_HXX
+
+#include "svtools/svtdllapi.h"
+#include <tools/color.hxx>
+#include <vcl/vclenum.hxx>
+#include <tools/string.hxx>
+#include <tools/debug.hxx>
+
+class Font;
+
+#define TEXTATTR_INVALID 0
+#define TEXTATTR_FONTCOLOR 1
+#define TEXTATTR_HYPERLINK 2
+#define TEXTATTR_FONTWEIGHT 3
+
+#define TEXTATTR_USER_START 1000 //start id for user defined text attributes
+#define TEXTATTR_PROTECTED 4
+
+
+class SVT_DLLPUBLIC TextAttrib
+{
+private:
+ USHORT mnWhich;
+
+protected:
+ TextAttrib( USHORT nWhich ) { mnWhich = nWhich; }
+ TextAttrib( const TextAttrib& rAttr ) { mnWhich = rAttr.mnWhich; }
+
+public:
+
+ virtual ~TextAttrib();
+
+ USHORT Which() const { return mnWhich; }
+
+ virtual void SetFont( Font& rFont ) const = 0;
+ virtual TextAttrib* Clone() const = 0;
+ virtual int operator==( const TextAttrib& rAttr ) const = 0;
+ int operator!=( const TextAttrib& rAttr ) const
+ { return !(*this == rAttr ); }
+};
+
+
+
+class SVT_DLLPUBLIC TextAttribFontColor : public TextAttrib
+{
+private:
+ Color maColor;
+
+public:
+ TextAttribFontColor( const Color& rColor );
+ TextAttribFontColor( const TextAttribFontColor& rAttr );
+ ~TextAttribFontColor();
+
+ const Color& GetColor() const { return maColor; }
+
+ virtual void SetFont( Font& rFont ) const;
+ virtual TextAttrib* Clone() const;
+ virtual int operator==( const TextAttrib& rAttr ) const;
+
+};
+
+class SVT_DLLPUBLIC TextAttribFontWeight : public TextAttrib
+{
+private:
+ FontWeight meWeight;
+
+public:
+ TextAttribFontWeight( FontWeight eWeight );
+ TextAttribFontWeight( const TextAttribFontWeight& rAttr );
+ ~TextAttribFontWeight();
+
+ virtual void SetFont( Font& rFont ) const;
+ virtual TextAttrib* Clone() const;
+ virtual int operator==( const TextAttrib& rAttr ) const;
+
+ inline FontWeight getFontWeight() const { return meWeight; }
+};
+
+
+class TextAttribHyperLink : public TextAttrib
+{
+private:
+ XubString maURL;
+ XubString maDescription;
+ Color maColor;
+
+public:
+ TextAttribHyperLink( const XubString& rURL );
+ TextAttribHyperLink( const XubString& rURL, const XubString& rDescription );
+ TextAttribHyperLink( const TextAttribHyperLink& rAttr );
+ ~TextAttribHyperLink();
+
+ void SetURL( const XubString& rURL ) { maURL = rURL; }
+ const XubString& GetURL() const { return maURL; }
+
+ void SetDescription( const XubString& rDescr ) { maDescription = rDescr; }
+ const XubString& GetDescription() const { return maDescription; }
+
+ void SetColor( const Color& rColor ) { maColor = rColor; }
+ const Color& GetColor() const { return maColor; }
+
+ virtual void SetFont( Font& rFont ) const;
+ virtual TextAttrib* Clone() const;
+ virtual int operator==( const TextAttrib& rAttr ) const;
+};
+
+class SVT_DLLPUBLIC TextAttribProtect : public TextAttrib
+{
+public:
+ TextAttribProtect();
+ TextAttribProtect( const TextAttribProtect& rAttr );
+ ~TextAttribProtect();
+
+ virtual void SetFont( Font& rFont ) const;
+ virtual TextAttrib* Clone() const;
+ virtual int operator==( const TextAttrib& rAttr ) const;
+
+};
+
+
+class TextCharAttrib
+{
+private:
+ TextAttrib* mpAttr;
+ USHORT mnStart;
+ USHORT mnEnd;
+
+protected:
+
+public:
+
+ TextCharAttrib( const TextAttrib& rAttr, USHORT nStart, USHORT nEnd );
+ TextCharAttrib( const TextCharAttrib& rTextCharAttrib );
+ ~TextCharAttrib();
+
+ const TextAttrib& GetAttr() const { return *mpAttr; }
+
+ USHORT Which() const { return mpAttr->Which(); }
+
+ USHORT GetStart() const { return mnStart; }
+ USHORT& GetStart() { return mnStart; }
+
+ USHORT GetEnd() const { return mnEnd; }
+ USHORT& GetEnd() { return mnEnd; }
+
+ inline USHORT GetLen() const;
+
+ inline void MoveForward( USHORT nDiff );
+ inline void MoveBackward( USHORT nDiff );
+
+ inline void Expand( USHORT nDiff );
+ inline void Collaps( USHORT nDiff );
+
+ inline BOOL IsIn( USHORT nIndex );
+ inline BOOL IsInside( USHORT nIndex );
+ inline BOOL IsEmpty();
+
+};
+
+inline USHORT TextCharAttrib::GetLen() const
+{
+ DBG_ASSERT( mnEnd >= mnStart, "TextCharAttrib: nEnd < nStart!" );
+ return mnEnd-mnStart;
+}
+
+inline void TextCharAttrib::MoveForward( USHORT nDiff )
+{
+ DBG_ASSERT( ((long)mnEnd + nDiff) <= 0xFFFF, "TextCharAttrib: MoveForward?!" );
+ mnStart = mnStart + nDiff;
+ mnEnd = mnEnd + nDiff;
+}
+
+inline void TextCharAttrib::MoveBackward( USHORT nDiff )
+{
+ DBG_ASSERT( ((long)mnStart - nDiff) >= 0, "TextCharAttrib: MoveBackward?!" );
+ mnStart = mnStart - nDiff;
+ mnEnd = mnEnd - nDiff;
+}
+
+inline void TextCharAttrib::Expand( USHORT nDiff )
+{
+ DBG_ASSERT( ( ((long)mnEnd + nDiff) <= (long)0xFFFF ), "TextCharAttrib: Expand?!" );
+ mnEnd = mnEnd + nDiff;
+}
+
+inline void TextCharAttrib::Collaps( USHORT nDiff )
+{
+ DBG_ASSERT( (long)mnEnd - nDiff >= (long)mnStart, "TextCharAttrib: Collaps?!" );
+ mnEnd = mnEnd - nDiff;
+}
+
+inline BOOL TextCharAttrib::IsIn( USHORT nIndex )
+{
+ return ( ( mnStart <= nIndex ) && ( mnEnd >= nIndex ) );
+}
+
+inline BOOL TextCharAttrib::IsInside( USHORT nIndex )
+{
+ return ( ( mnStart < nIndex ) && ( mnEnd > nIndex ) );
+}
+
+inline BOOL TextCharAttrib::IsEmpty()
+{
+ return mnStart == mnEnd;
+}
+
+#endif // _TXTATTR_HXX
diff --git a/svtools/inc/svtools/txtcmp.hxx b/svtools/inc/svtools/txtcmp.hxx
new file mode 100644
index 000000000000..7b30b76e69a7
--- /dev/null
+++ b/svtools/inc/svtools/txtcmp.hxx
@@ -0,0 +1,33 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _TXTCMP_HXX
+#define _TXTCMP_HXX
+
+#include <unotools/textsearch.hxx>
+
+#endif
+
diff --git a/svtools/inc/svtools/unoevent.hxx b/svtools/inc/svtools/unoevent.hxx
new file mode 100644
index 000000000000..5d5378bf909b
--- /dev/null
+++ b/svtools/inc/svtools/unoevent.hxx
@@ -0,0 +1,329 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVTOOLS_UNOEVENT_HXX_
+#define _SVTOOLS_UNOEVENT_HXX_
+
+#include "svtools/svtdllapi.h"
+#include <com/sun/star/container/XNameReplace.hpp>
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include <com/sun/star/uno/XInterface.hpp>
+#include <cppuhelper/implbase2.hxx>
+
+class SvxMacroTableDtor;
+class SvxMacroItem;
+class SvxMacro;
+
+/** SvEventDescription: Description of a single event.
+ mnEvent is the id used by SvxMacroItem
+ mpEventName is the api name for this event
+
+ the last event in an array is indicated by mnEvent && mpEventName == 0
+*/
+struct SvEventDescription
+{
+ sal_uInt16 mnEvent;
+ const sal_Char* mpEventName;
+};
+
+/**
+ * SvBaseEventDescriptor: Abstract class that implements the basics
+ * of an XNameReplace that is delivered by the
+ * XEventsSupplier::getEvents() method.
+ *
+ * The functionality this class provides is:
+ * 1) Which elements are in the XNameReplace?
+ * 2) Mapping from Api names to item IDs.
+ * 3) conversion from SvxMacroItem to Any and vice versa.
+ *
+ * All details of how to actually get and set SvxMacroItem(s) have to
+ * be supplied by the base class.
+ */
+class SVT_DLLPUBLIC SvBaseEventDescriptor : public cppu::WeakImplHelper2
+<
+ ::com::sun::star::container::XNameReplace,
+ ::com::sun::star::lang::XServiceInfo
+>
+{
+ const ::rtl::OUString sEventType;
+ const ::rtl::OUString sMacroName;
+ const ::rtl::OUString sLibrary;
+ const ::rtl::OUString sStarBasic;
+ const ::rtl::OUString sJavaScript;
+ const ::rtl::OUString sScript;
+ const ::rtl::OUString sNone;
+
+
+ /// name of own service
+ const ::rtl::OUString sServiceName;
+
+protected:
+ const ::rtl::OUString sEmpty;
+
+ /// last element is 0, 0
+ const SvEventDescription* mpSupportedMacroItems;
+ sal_Int16 mnMacroItems;
+
+public:
+
+ SvBaseEventDescriptor(const SvEventDescription* pSupportedMacroItems);
+
+ virtual ~SvBaseEventDescriptor();
+
+
+ // XNameReplace
+ /// calls replaceByName(const sal_uInt16, const SvxMacro&)
+ virtual void SAL_CALL replaceByName(
+ const ::rtl::OUString& rName, /// API name of event
+ const ::com::sun::star::uno::Any& rElement ) /// event (PropertyValues)
+ throw(
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::container::NoSuchElementException,
+ ::com::sun::star::lang::WrappedTargetException,
+ ::com::sun::star::uno::RuntimeException);
+
+ // XNameAccess (via XNameReplace)
+ /// calls getByName(sal_uInt16)
+ virtual ::com::sun::star::uno::Any SAL_CALL getByName(
+ const ::rtl::OUString& rName ) /// API name of event
+ throw(
+ ::com::sun::star::container::NoSuchElementException,
+ ::com::sun::star::lang::WrappedTargetException,
+ ::com::sun::star::uno::RuntimeException);
+
+ // XNameAxcess (via XNameReplace)
+ virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL
+ getElementNames()
+ throw(::com::sun::star::uno::RuntimeException);
+
+ // XNameAccess (via XNameReplace)
+ virtual sal_Bool SAL_CALL hasByName(
+ const ::rtl::OUString& rName )
+ throw(::com::sun::star::uno::RuntimeException);
+
+ // XElementAccess (via XNameReplace)
+ virtual ::com::sun::star::uno::Type SAL_CALL getElementType()
+ throw(::com::sun::star::uno::RuntimeException);
+
+ // XElementAccess (via XNameReplace)
+ virtual sal_Bool SAL_CALL hasElements()
+ throw(::com::sun::star::uno::RuntimeException);
+
+ // XServiceInfo
+ /// must be implemented in subclass
+ virtual rtl::OUString SAL_CALL getImplementationName(void)
+ throw( ::com::sun::star::uno::RuntimeException ) = 0;
+
+ // XServiceInfo
+ virtual sal_Bool SAL_CALL supportsService(const rtl::OUString& ServiceName)
+ throw( ::com::sun::star::uno::RuntimeException );
+
+ // XServiceInfo
+ virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL
+ getSupportedServiceNames(void)
+ throw( ::com::sun::star::uno::RuntimeException );
+
+protected:
+
+ /// Must be implemented in subclass.
+ virtual void replaceByName(
+ const sal_uInt16 nEvent, /// item ID of event
+ const SvxMacro& rMacro) /// event (will be copied)
+ throw(
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::container::NoSuchElementException,
+ ::com::sun::star::lang::WrappedTargetException,
+ ::com::sun::star::uno::RuntimeException) = 0;
+
+ /// Must be implemented in subclass.
+ virtual void getByName(
+ SvxMacro& rMacro,
+ const sal_uInt16 nEvent )
+ throw(
+ ::com::sun::star::container::NoSuchElementException,
+ ::com::sun::star::lang::WrappedTargetException,
+ ::com::sun::star::uno::RuntimeException) = 0;
+
+ /// convert an API event name to the event ID as used by SvxMacroItem
+ sal_uInt16 mapNameToEventID(const ::rtl::OUString& rName) const;
+
+ /// convert an event ID to an API event name
+ ::rtl::OUString mapEventIDToName(sal_uInt16 nPoolID) const;
+
+ /// get the event ID for the name; return 0 if not supported
+ sal_uInt16 getMacroID(const ::rtl::OUString& rName) const;
+
+ /// create PropertyValues and Any from macro
+ void getAnyFromMacro(
+ ::com::sun::star::uno::Any& aAny, // Any to be filled by Macro values
+ const SvxMacro& rMacro);
+
+ /// create macro from PropertyValues (in an Any)
+ void getMacroFromAny(
+ SvxMacro& aMacro, // reference to be filled by Any
+ const ::com::sun::star::uno::Any& rAny)
+ throw (
+ ::com::sun::star::lang::IllegalArgumentException);
+
+};
+
+
+
+
+/**
+ * SvEventDescriptor: Implement the XNameReplace that is delivered by
+ * the XEventsSupplier::getEvents() method. The SvEventDescriptor has
+ * to be subclassed to implement the events for a specific
+ * objects. The subclass has to
+ * 1) supply the super class constructor with a list of known events (item IDs)
+ * 2) supply the super class constructor with a reference of it's parent object
+ * (to prevent destruction)
+ * 3) implement getItem() and setItem(...) methods.
+ *
+ * If no object is available to which the SvEventDescriptor can attach itself,
+ * the class SvDetachedEventDescriptor should be used.
+ */
+class SVT_DLLPUBLIC SvEventDescriptor : public SvBaseEventDescriptor
+{
+ /// keep reference to parent to prevent it from being destroyed
+ ::com::sun::star::uno::Reference<
+ ::com::sun::star::uno::XInterface > xParentRef;
+
+public:
+
+ SvEventDescriptor(::com::sun::star::uno::XInterface& rParent,
+ const SvEventDescription* pSupportedMacroItems);
+
+ virtual ~SvEventDescriptor();
+
+
+protected:
+
+
+ using SvBaseEventDescriptor::replaceByName;
+ virtual void replaceByName(
+ const sal_uInt16 nEvent, /// item ID of event
+ const SvxMacro& rMacro) /// event (will be copied)
+ throw(
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::container::NoSuchElementException,
+ ::com::sun::star::lang::WrappedTargetException,
+ ::com::sun::star::uno::RuntimeException);
+
+ using SvBaseEventDescriptor::getByName;
+ virtual void getByName(
+ SvxMacro& rMacros, /// macro to be filled with values
+ const sal_uInt16 nEvent ) /// item ID of event
+ throw(
+ ::com::sun::star::container::NoSuchElementException,
+ ::com::sun::star::lang::WrappedTargetException,
+ ::com::sun::star::uno::RuntimeException);
+
+
+ /// Get the SvxMacroItem from the parent.
+ /// must be implemented by subclass
+ virtual const SvxMacroItem& getMacroItem() = 0;
+
+ /// Set the SvxMacroItem at the parent.
+ /// must be implemented by subclass
+ virtual void setMacroItem(const SvxMacroItem& rItem) = 0;
+
+ /// Get the SvxMacroItem Which Id needed for the current application
+ /// must be implemented by subclass
+ virtual sal_uInt16 getMacroItemWhich() const = 0;
+};
+
+
+/**
+ * SvDetachedEventDescriptor:
+ */
+class SVT_DLLPUBLIC SvDetachedEventDescriptor : public SvBaseEventDescriptor
+{
+ // the macros; aMacros[i] is the value for aSupportedMacroItemIDs[i]
+ SvxMacro** aMacros;
+
+ const ::rtl::OUString sImplName;
+
+public:
+
+ SvDetachedEventDescriptor(const SvEventDescription* pSupportedMacroItems);
+
+ virtual ~SvDetachedEventDescriptor();
+
+ //XServiceInfo
+ virtual rtl::OUString SAL_CALL getImplementationName(void)
+ throw( ::com::sun::star::uno::RuntimeException );
+
+protected:
+
+ sal_Int16 getIndex(const sal_uInt16 nID) const;
+
+ using SvBaseEventDescriptor::replaceByName;
+ virtual void replaceByName(
+ const sal_uInt16 nEvent, /// item ID of event
+ const SvxMacro& rMacro) /// event (will be copied)
+ throw(
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::container::NoSuchElementException,
+ ::com::sun::star::lang::WrappedTargetException,
+ ::com::sun::star::uno::RuntimeException);
+
+ using SvBaseEventDescriptor::getByName;
+ virtual void getByName(
+ SvxMacro& rMacro, /// macro to be filled
+ const sal_uInt16 nEvent ) /// item ID of event
+ throw(
+ ::com::sun::star::container::NoSuchElementException,
+ ::com::sun::star::lang::WrappedTargetException,
+ ::com::sun::star::uno::RuntimeException);
+
+ /// do we have an event?
+ /// return sal_True: we have a macro for the event
+ /// return sal_False: no macro; getByName() will return an empty macro
+ /// IllegalArgumentException: the event is not supported
+ using SvBaseEventDescriptor::hasByName;
+ virtual sal_Bool hasByName(
+ const sal_uInt16 nEvent ) const /// item ID of event
+ throw(
+ ::com::sun::star::lang::IllegalArgumentException);
+
+};
+
+class SVT_DLLPUBLIC SvMacroTableEventDescriptor : public SvDetachedEventDescriptor
+{
+public:
+
+ SvMacroTableEventDescriptor(const SvEventDescription* pSupportedMacroItems);
+ SvMacroTableEventDescriptor(const SvxMacroTableDtor& aFmt,
+ const SvEventDescription* pSupportedMacroItems);
+
+ virtual ~SvMacroTableEventDescriptor();
+
+ void copyMacrosFromTable(const SvxMacroTableDtor& aFmt);
+ void copyMacrosIntoTable(SvxMacroTableDtor& aFmt);
+};
+
+#endif
diff --git a/svtools/inc/svtools/unoimap.hxx b/svtools/inc/svtools/unoimap.hxx
new file mode 100644
index 000000000000..9ed2afe8dc6c
--- /dev/null
+++ b/svtools/inc/svtools/unoimap.hxx
@@ -0,0 +1,45 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVTOOLS_UNOIMAP_HXX
+#define _SVTOOLS_UNOIMAP_HXX
+
+#include "svtools/svtdllapi.h"
+#include <com/sun/star/uno/XInterface.hpp>
+
+class ImageMap;
+struct SvEventDescription;
+
+SVT_DLLPUBLIC com::sun::star::uno::Reference< com::sun::star::uno::XInterface > SvUnoImageMapRectangleObject_createInstance( const SvEventDescription* pSupportedMacroItems );
+SVT_DLLPUBLIC com::sun::star::uno::Reference< com::sun::star::uno::XInterface > SvUnoImageMapCircleObject_createInstance( const SvEventDescription* pSupportedMacroItems );
+SVT_DLLPUBLIC com::sun::star::uno::Reference< com::sun::star::uno::XInterface > SvUnoImageMapPolygonObject_createInstance( const SvEventDescription* pSupportedMacroItems );
+
+SVT_DLLPUBLIC com::sun::star::uno::Reference< com::sun::star::uno::XInterface > SvUnoImageMap_createInstance( const SvEventDescription* pSupportedMacroItems );
+SVT_DLLPUBLIC com::sun::star::uno::Reference< com::sun::star::uno::XInterface > SvUnoImageMap_createInstance( const ImageMap& rMap, const SvEventDescription* pSupportedMacroItems );
+SVT_DLLPUBLIC sal_Bool SvUnoImageMap_fillImageMap( com::sun::star::uno::Reference< com::sun::star::uno::XInterface > xImageMap, ImageMap& rMap );
+
+#endif
diff --git a/svtools/inc/svtools/wallitem.hxx b/svtools/inc/svtools/wallitem.hxx
new file mode 100644
index 000000000000..533d5ae3f6d3
--- /dev/null
+++ b/svtools/inc/svtools/wallitem.hxx
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _WALLITEM_HXX
+#define _WALLITEM_HXX
+
+#ifndef SHL_HXX
+#include <tools/shl.hxx>
+#endif
+
+// -----------------------------------------------------------------------------------------
+// Hilfsklasse, um die Download-Funktionalitaet des SvxBrushItems unterhalb
+// des SVX zu benutzen. Der Link wird im Konstruktor von SvxDialogDll gesetzt.
+#ifndef _SFX_BRUSHITEMLINK_DECLARED
+#define _SFX_BRUSHITEMLINK_DECLARED
+#include <vcl/graph.hxx>
+
+#ifndef SHL_BRUSHITEM
+#define SHL_BRUSHITEM SHL_SHL1
+#endif
+
+class Window;
+class SfxItemSet;
+
+typedef void* (*CreateSvxBrushTabPage)(Window *pParent, const SfxItemSet &rAttrSet);
+typedef USHORT* (*GetSvxBrushTabPageRanges)();
+
+class Graphic;
+class String;
+class SfxBrushItemLink
+{
+public:
+ virtual Graphic GetGraphic( const String& rLink, const String& rFilter) = 0;
+ virtual CreateSvxBrushTabPage GetBackgroundTabpageCreateFunc() = 0;
+ virtual GetSvxBrushTabPageRanges GetBackgroundTabpageRanges() = 0;
+ static SfxBrushItemLink* Get() { return *(SfxBrushItemLink**)GetAppData(SHL_BRUSHITEM); }
+ static void Set( SfxBrushItemLink* pLink );
+};
+#endif // _SFX_BRUSHITEMLINK_DECLARED
+
+#endif // _WALLITEM_HXX
+