summaryrefslogtreecommitdiff
path: root/editeng
diff options
context:
space:
mode:
Diffstat (limited to 'editeng')
-rw-r--r--editeng/inc/editeng.hrc66
-rw-r--r--editeng/inc/editeng/AccessibleComponentBase.hxx150
-rw-r--r--editeng/inc/editeng/AccessibleContextBase.hxx403
-rw-r--r--editeng/inc/editeng/AccessibleSelectionBase.hxx76
-rw-r--r--editeng/inc/editeng/AccessibleStaticTextBase.hxx562
-rw-r--r--editeng/inc/editeng/AccessibleStringWrap.hxx66
-rw-r--r--editeng/inc/editeng/SpellPortions.hxx98
-rw-r--r--editeng/inc/editeng/UnoForbiddenCharsTable.hxx68
-rw-r--r--editeng/inc/editeng/acorrcfg.hxx136
-rw-r--r--editeng/inc/editeng/adjitem.hxx146
-rw-r--r--editeng/inc/editeng/akrnitem.hxx77
-rw-r--r--editeng/inc/editeng/blnkitem.hxx75
-rw-r--r--editeng/inc/editeng/bolnitem.hxx86
-rw-r--r--editeng/inc/editeng/borderline.hxx137
-rw-r--r--editeng/inc/editeng/boxitem.hxx226
-rw-r--r--editeng/inc/editeng/brkitem.hxx106
-rw-r--r--editeng/inc/editeng/brshitem.hxx143
-rw-r--r--editeng/inc/editeng/bulitem.hxx163
-rw-r--r--editeng/inc/editeng/charhiddenitem.hxx64
-rw-r--r--editeng/inc/editeng/charreliefitem.hxx83
-rw-r--r--editeng/inc/editeng/charrotateitem.hxx95
-rw-r--r--editeng/inc/editeng/charscaleitem.hxx81
-rw-r--r--editeng/inc/editeng/cmapitem.hxx92
-rw-r--r--editeng/inc/editeng/cntritem.hxx71
-rw-r--r--editeng/inc/editeng/colritem.hxx98
-rw-r--r--editeng/inc/editeng/crsditem.hxx96
-rw-r--r--editeng/inc/editeng/cscoitem.hxx78
-rw-r--r--editeng/inc/editeng/editdata.hxx391
-rw-r--r--editeng/inc/editeng/editeng.hxx489
-rw-r--r--editeng/inc/editeng/editengdllapi.h43
-rw-r--r--editeng/inc/editeng/editids.hrc1151
-rw-r--r--editeng/inc/editeng/editobj.hxx129
-rw-r--r--editeng/inc/editeng/editrids.hrc420
-rw-r--r--editeng/inc/editeng/editstat.hxx153
-rw-r--r--editeng/inc/editeng/editund2.hxx79
-rw-r--r--editeng/inc/editeng/editview.hxx251
-rw-r--r--editeng/inc/editeng/edtdlg.hxx113
-rw-r--r--editeng/inc/editeng/eedata.hxx78
-rw-r--r--editeng/inc/editeng/eeitem.hxx102
-rw-r--r--editeng/inc/editeng/eeitemid.hxx139
-rw-r--r--editeng/inc/editeng/eerdll.hxx63
-rw-r--r--editeng/inc/editeng/emphitem.hxx91
-rw-r--r--editeng/inc/editeng/escpitem.hxx117
-rw-r--r--editeng/inc/editeng/fhgtitem.hxx119
-rw-r--r--editeng/inc/editeng/flditem.hxx430
-rw-r--r--editeng/inc/editeng/flstitem.hxx82
-rw-r--r--editeng/inc/editeng/fontitem.hxx121
-rw-r--r--editeng/inc/editeng/forbiddencharacterstable.hxx73
-rw-r--r--editeng/inc/editeng/forbiddenruleitem.hxx72
-rw-r--r--editeng/inc/editeng/frmdir.hxx63
-rw-r--r--editeng/inc/editeng/frmdiritem.hxx83
-rw-r--r--editeng/inc/editeng/fwdtitem.hxx111
-rw-r--r--editeng/inc/editeng/hangulhanja.hxx305
-rw-r--r--editeng/inc/editeng/hngpnctitem.hxx72
-rw-r--r--editeng/inc/editeng/hyznitem.hxx109
-rw-r--r--editeng/inc/editeng/itemtype.hxx78
-rw-r--r--editeng/inc/editeng/keepitem.hxx81
-rw-r--r--editeng/inc/editeng/kernitem.hxx83
-rw-r--r--editeng/inc/editeng/langitem.hxx87
-rw-r--r--editeng/inc/editeng/lcolitem.hxx68
-rw-r--r--editeng/inc/editeng/lrspitem.hxx182
-rw-r--r--editeng/inc/editeng/lspcitem.hxx126
-rw-r--r--editeng/inc/editeng/memberids.hrc199
-rw-r--r--editeng/inc/editeng/mutxhelp.hxx47
-rw-r--r--editeng/inc/editeng/nhypitem.hxx71
-rw-r--r--editeng/inc/editeng/nlbkitem.hxx76
-rw-r--r--editeng/inc/editeng/numdef.hxx33
-rw-r--r--editeng/inc/editeng/numitem.hxx398
-rw-r--r--editeng/inc/editeng/opaqitem.hxx84
-rw-r--r--editeng/inc/editeng/orphitem.hxx77
-rw-r--r--editeng/inc/editeng/outliner.hxx1050
-rw-r--r--editeng/inc/editeng/outlobj.hxx99
-rw-r--r--editeng/inc/editeng/paperinf.hxx76
-rw-r--r--editeng/inc/editeng/paragraphdata.hxx75
-rw-r--r--editeng/inc/editeng/paravertalignitem.hxx83
-rw-r--r--editeng/inc/editeng/pbinitem.hxx80
-rw-r--r--editeng/inc/editeng/pgrditem.hxx67
-rw-r--r--editeng/inc/editeng/pmdlitem.hxx89
-rw-r--r--editeng/inc/editeng/postitem.hxx92
-rw-r--r--editeng/inc/editeng/prntitem.hxx82
-rw-r--r--editeng/inc/editeng/protitem.hxx108
-rw-r--r--editeng/inc/editeng/prszitem.hxx71
-rw-r--r--editeng/inc/editeng/scriptspaceitem.hxx73
-rw-r--r--editeng/inc/editeng/scripttypeitem.hxx94
-rw-r--r--editeng/inc/editeng/shaditem.hxx114
-rw-r--r--editeng/inc/editeng/shdditem.hxx77
-rw-r--r--editeng/inc/editeng/sizeitem.hxx86
-rw-r--r--editeng/inc/editeng/spltitem.hxx84
-rw-r--r--editeng/inc/editeng/splwrap.hxx162
-rw-r--r--editeng/inc/editeng/svdfield.hxx74
-rw-r--r--editeng/inc/editeng/svxacorr.hxx396
-rw-r--r--editeng/inc/editeng/svxenum.hxx221
-rw-r--r--editeng/inc/editeng/svxfont.hxx129
-rw-r--r--editeng/inc/editeng/svxrtf.hxx478
-rw-r--r--editeng/inc/editeng/swafopt.hxx109
-rw-r--r--editeng/inc/editeng/tstpitem.hxx188
-rw-r--r--editeng/inc/editeng/twolinesitem.hxx93
-rw-r--r--editeng/inc/editeng/txtrange.hxx121
-rw-r--r--editeng/inc/editeng/udlnitem.hxx136
-rw-r--r--editeng/inc/editeng/ulspitem.hxx116
-rw-r--r--editeng/inc/editeng/unoedhlp.hxx192
-rw-r--r--editeng/inc/editeng/unoedsrc.hxx554
-rw-r--r--editeng/inc/editeng/unofdesc.hxx57
-rw-r--r--editeng/inc/editeng/unofield.hxx140
-rw-r--r--editeng/inc/editeng/unofored.hxx102
-rw-r--r--editeng/inc/editeng/unoforou.hxx130
-rw-r--r--editeng/inc/editeng/unoipset.hxx87
-rw-r--r--editeng/inc/editeng/unolingu.hxx239
-rw-r--r--editeng/inc/editeng/unonrule.hxx98
-rw-r--r--editeng/inc/editeng/unopracc.hxx76
-rw-r--r--editeng/inc/editeng/unoprnms.hxx379
-rw-r--r--editeng/inc/editeng/unotext.hxx678
-rw-r--r--editeng/inc/editeng/unoviwed.hxx65
-rw-r--r--editeng/inc/editeng/unoviwou.hxx71
-rw-r--r--editeng/inc/editeng/wghtitem.hxx92
-rw-r--r--editeng/inc/editeng/widwitem.hxx77
-rw-r--r--editeng/inc/editeng/writingmodeitem.hxx71
-rw-r--r--editeng/inc/editeng/wrlmitem.hxx78
-rw-r--r--editeng/inc/editeng/xmlcnitm.hxx94
-rw-r--r--editeng/inc/editxml.hxx46
-rw-r--r--editeng/inc/helpid.hrc60
-rw-r--r--editeng/inc/makefile.mk52
-rw-r--r--editeng/inc/pch/precompiled_editeng.cxx32
-rw-r--r--editeng/inc/pch/precompiled_editeng.hxx897
-rw-r--r--editeng/inc/unoedprx.hxx177
-rw-r--r--editeng/prj/build.lst13
-rw-r--r--editeng/prj/d.lst14
-rw-r--r--editeng/source/accessibility/AccessibleComponentBase.cxx240
-rw-r--r--editeng/source/accessibility/AccessibleContextBase.cxx718
-rw-r--r--editeng/source/accessibility/AccessibleEditableTextPara.cxx2204
-rw-r--r--editeng/source/accessibility/AccessibleEditableTextPara.hxx414
-rw-r--r--editeng/source/accessibility/AccessibleImageBullet.cxx654
-rw-r--r--editeng/source/accessibility/AccessibleImageBullet.hxx240
-rw-r--r--editeng/source/accessibility/AccessibleParaManager.cxx423
-rw-r--r--editeng/source/accessibility/AccessibleParaManager.hxx349
-rw-r--r--editeng/source/accessibility/AccessibleSelectionBase.cxx111
-rw-r--r--editeng/source/accessibility/AccessibleStaticTextBase.cxx1050
-rw-r--r--editeng/source/accessibility/AccessibleStringWrap.cxx103
-rw-r--r--editeng/source/accessibility/accessibility.src43
-rwxr-xr-xediteng/source/accessibility/makefile.mk58
-rw-r--r--editeng/source/editeng/editattr.cxx457
-rw-r--r--editeng/source/editeng/editattr.hxx429
-rw-r--r--editeng/source/editeng/editdbg.cxx589
-rw-r--r--editeng/source/editeng/editdbg.hxx60
-rw-r--r--editeng/source/editeng/editdoc.cxx2317
-rw-r--r--editeng/source/editeng/editdoc.hxx805
-rw-r--r--editeng/source/editeng/editdoc2.cxx547
-rw-r--r--editeng/source/editeng/editeng.cxx2944
-rw-r--r--editeng/source/editeng/editeng.src127
-rw-r--r--editeng/source/editeng/editobj.cxx1728
-rw-r--r--editeng/source/editeng/editobj2.hxx312
-rw-r--r--editeng/source/editeng/editsel.cxx124
-rw-r--r--editeng/source/editeng/editsel.hxx78
-rw-r--r--editeng/source/editeng/editstt2.hxx133
-rw-r--r--editeng/source/editeng/editundo.cxx753
-rw-r--r--editeng/source/editeng/editundo.hxx318
-rw-r--r--editeng/source/editeng/editview.cxx1598
-rw-r--r--editeng/source/editeng/edtspell.cxx749
-rw-r--r--editeng/source/editeng/edtspell.hxx188
-rw-r--r--editeng/source/editeng/eehtml.cxx853
-rw-r--r--editeng/source/editeng/eehtml.hxx101
-rw-r--r--editeng/source/editeng/eeng_pch.cxx33
-rw-r--r--editeng/source/editeng/eeng_pch.hxx37
-rw-r--r--editeng/source/editeng/eeobj.cxx115
-rw-r--r--editeng/source/editeng/eeobj.hxx75
-rw-r--r--editeng/source/editeng/eerdll.cxx240
-rw-r--r--editeng/source/editeng/eerdll2.hxx64
-rw-r--r--editeng/source/editeng/eertfpar.cxx635
-rw-r--r--editeng/source/editeng/eertfpar.hxx131
-rw-r--r--editeng/source/editeng/impedit.cxx2005
-rw-r--r--editeng/source/editeng/impedit.hxx1211
-rw-r--r--editeng/source/editeng/impedit2.cxx4635
-rw-r--r--editeng/source/editeng/impedit3.cxx4680
-rw-r--r--editeng/source/editeng/impedit4.cxx2958
-rw-r--r--editeng/source/editeng/impedit5.cxx914
-rw-r--r--editeng/source/editeng/makefile.mk84
-rw-r--r--editeng/source/editeng/textconv.cxx632
-rw-r--r--editeng/source/editeng/textconv.hxx125
-rw-r--r--editeng/source/items/bulitem.cxx537
-rw-r--r--editeng/source/items/charhiddenitem.cxx85
-rw-r--r--editeng/source/items/flditem.cxx1101
-rw-r--r--editeng/source/items/frmitems.cxx4470
-rw-r--r--editeng/source/items/itemtype.cxx242
-rw-r--r--editeng/source/items/makefile.mk78
-rw-r--r--editeng/source/items/numitem.cxx1276
-rw-r--r--editeng/source/items/page.src258
-rw-r--r--editeng/source/items/paperinf.cxx188
-rw-r--r--editeng/source/items/paraitem.cxx1761
-rw-r--r--editeng/source/items/svdfield.cxx65
-rw-r--r--editeng/source/items/svxfont.cxx860
-rw-r--r--editeng/source/items/svxitems.src1027
-rw-r--r--editeng/source/items/textitem.cxx3846
-rw-r--r--editeng/source/items/writingmodeitem.cxx156
-rw-r--r--editeng/source/items/xmlcnitm.cxx251
-rw-r--r--editeng/source/misc/SvXMLAutoCorrectExport.cxx120
-rw-r--r--editeng/source/misc/SvXMLAutoCorrectExport.hxx78
-rw-r--r--editeng/source/misc/SvXMLAutoCorrectImport.cxx269
-rw-r--r--editeng/source/misc/SvXMLAutoCorrectImport.hxx151
-rw-r--r--editeng/source/misc/acorrcfg.cxx681
-rw-r--r--editeng/source/misc/edtdlg.cxx39
-rw-r--r--editeng/source/misc/forbiddencharacterstable.cxx95
-rw-r--r--editeng/source/misc/hangulhanja.cxx1174
-rw-r--r--editeng/source/misc/lingu.src107
-rw-r--r--editeng/source/misc/makefile.mk71
-rw-r--r--editeng/source/misc/splwrap.cxx637
-rw-r--r--editeng/source/misc/svxacorr.cxx2706
-rw-r--r--editeng/source/misc/swafopt.cxx163
-rw-r--r--editeng/source/misc/txtrange.cxx722
-rw-r--r--editeng/source/misc/unolingu.cxx1377
-rw-r--r--editeng/source/outliner/makefile.mk64
-rw-r--r--editeng/source/outliner/outl_pch.cxx34
-rw-r--r--editeng/source/outliner/outl_pch.hxx36
-rw-r--r--editeng/source/outliner/outleeng.cxx247
-rw-r--r--editeng/source/outliner/outleeng.hxx96
-rw-r--r--editeng/source/outliner/outlin2.cxx816
-rw-r--r--editeng/source/outliner/outliner.cxx2184
-rw-r--r--editeng/source/outliner/outliner.src87
-rw-r--r--editeng/source/outliner/outlobj.cxx274
-rw-r--r--editeng/source/outliner/outlundo.cxx237
-rw-r--r--editeng/source/outliner/outlundo.hxx143
-rw-r--r--editeng/source/outliner/outlvw.cxx1663
-rw-r--r--editeng/source/outliner/paralist.cxx290
-rw-r--r--editeng/source/outliner/paralist.hxx74
-rw-r--r--editeng/source/rtf/makefile.mk55
-rw-r--r--editeng/source/rtf/rtfgrf.cxx561
-rw-r--r--editeng/source/rtf/rtfitem.cxx2104
-rw-r--r--editeng/source/rtf/segincr.asm43
-rw-r--r--editeng/source/rtf/svxrtf.cxx1517
-rw-r--r--editeng/source/uno/UnoForbiddenCharsTable.cxx148
-rw-r--r--editeng/source/uno/makefile.mk65
-rw-r--r--editeng/source/uno/unoedhlp.cxx200
-rw-r--r--editeng/source/uno/unoedprx.cxx1292
-rw-r--r--editeng/source/uno/unoedsrc.cxx93
-rw-r--r--editeng/source/uno/unofdesc.cxx269
-rw-r--r--editeng/source/uno/unofield.cxx1183
-rw-r--r--editeng/source/uno/unofored.cxx555
-rw-r--r--editeng/source/uno/unoforou.cxx613
-rw-r--r--editeng/source/uno/unoipset.cxx425
-rw-r--r--editeng/source/uno/unonrule.cxx618
-rw-r--r--editeng/source/uno/unopracc.cxx174
-rw-r--r--editeng/source/uno/unotext.cxx2720
-rw-r--r--editeng/source/uno/unotext2.cxx714
-rw-r--r--editeng/source/uno/unoviwed.cxx140
-rw-r--r--editeng/source/uno/unoviwou.cxx176
-rw-r--r--editeng/source/xml/editsource.hxx55
-rw-r--r--editeng/source/xml/makefile.mk50
-rw-r--r--editeng/source/xml/xmltxtexp.cxx503
-rw-r--r--editeng/source/xml/xmltxtimp.cxx263
-rw-r--r--editeng/util/editeng.dxp3
-rw-r--r--editeng/util/hidother.src72
-rw-r--r--editeng/util/makefile.mk103
-rw-r--r--editeng/util/makefile.pmk47
252 files changed, 105963 insertions, 0 deletions
diff --git a/editeng/inc/editeng.hrc b/editeng/inc/editeng.hrc
new file mode 100644
index 0000000000..9b8593e6f7
--- /dev/null
+++ b/editeng/inc/editeng.hrc
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: editeng.hrc,v $
+ * $Revision: 1.5 $
+ *
+ * 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 _EDITENG_HRC
+#define _EDITENG_HRC
+
+#ifndef _SOLAR_HRC
+#include <svl/solar.hrc>
+#endif
+
+#define RID_EDITUNDO_DEL ( RID_EDIT_START + 0 )
+#define RID_EDITUNDO_MOVE ( RID_EDIT_START + 1 )
+#define RID_EDITUNDO_INSERT ( RID_EDIT_START + 2 )
+#define RID_EDITUNDO_REPLACE ( RID_EDIT_START + 3 )
+#define RID_EDITUNDO_SETATTRIBS ( RID_EDIT_START + 4 )
+#define RID_EDITUNDO_SETSTYLE ( RID_EDIT_START + 5 )
+#define RID_EDITUNDO_RESETATTRIBS ( RID_EDIT_START + 6 )
+#define RID_EDITUNDO_INDENT ( RID_EDIT_START + 7 )
+#define RID_EDITUNDO_TRANSLITERATE ( RID_EDIT_START + 8 )
+
+#define RID_MENU_SPELL ( RID_EDIT_START + 10 )
+#define RID_STR_PARAGRAPH ( RID_EDIT_START + 11 )
+#define RID_STR_WORD ( RID_EDIT_START + 12 )
+
+#define RID_SVXSTR_A11Y_IMAGEBULLET_DESCRIPTION (RID_EDIT_START + 13)
+#define RID_SVXSTR_A11Y_IMAGEBULLET_NAME (RID_EDIT_START + 14)
+
+#define MN_SPELLING 1
+#define MN_INSERT 2
+#define MN_IGNORE 3
+#define MN_AUTOCORR 4
+#define MN_WORDLANGUAGE 5
+#define MN_PARALANGUAGE 6
+
+#define MN_ALTSTART 1000
+#define MN_AUTOSTART 2000
+#define MN_DICTSTART 3000
+
+
+#endif // _EDITENG_HRC
diff --git a/editeng/inc/editeng/AccessibleComponentBase.hxx b/editeng/inc/editeng/AccessibleComponentBase.hxx
new file mode 100644
index 0000000000..4c21936c0f
--- /dev/null
+++ b/editeng/inc/editeng/AccessibleComponentBase.hxx
@@ -0,0 +1,150 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: AccessibleComponentBase.hxx,v $
+ * $Revision: 1.3 $
+ *
+ * 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 _SVX_ACCESSIBILITY_ACCESSIBLE_EXTENDED_COMPONENT_BASE_HXX
+#define _SVX_ACCESSIBILITY_ACCESSIBLE_EXTENDED_COMPONENT_BASE_HXX
+
+
+#include <com/sun/star/accessibility/XAccessible.hpp>
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.hpp>
+#include <com/sun/star/awt/XFocusListener.hpp>
+#include "editeng/editengdllapi.h"
+
+namespace accessibility {
+
+/** @descr
+ This base class provides (will provice) a base implementation of the
+ <type>XAccessibleComponent</type> and the
+ <type>XAccessibleExtendedComponent</type> for all shapes. For
+ more detailed documentation about the methods refer to the interface
+ descriptions of <type>XAccessible</type>,
+ <type>XAccessibleContext</type>, <type>XInterface</type>,
+ <type>XServiceInfo</type>, and <type>XTypeProvider</type>.
+*/
+class EDITENG_DLLPUBLIC AccessibleComponentBase
+ : public ::com::sun::star::accessibility::XAccessibleExtendedComponent
+{
+public:
+ //===== internal ========================================================
+ AccessibleComponentBase (void);
+ virtual ~AccessibleComponentBase (void);
+
+
+ //===== XAccessibleComponent ================================================
+
+ /** The default implementation uses the result of
+ <member>getBounds</member> to determine whether the given point lies
+ inside this object.
+ */
+ virtual sal_Bool SAL_CALL containsPoint (
+ const ::com::sun::star::awt::Point& aPoint)
+ throw (::com::sun::star::uno::RuntimeException);
+
+ /** The default implementation returns an empty reference.
+ */
+ virtual ::com::sun::star::uno::Reference<
+ ::com::sun::star::accessibility::XAccessible > SAL_CALL
+ getAccessibleAtPoint (
+ const ::com::sun::star::awt::Point& aPoint)
+ throw (::com::sun::star::uno::RuntimeException);
+
+ /** The default implementation returns an empty rectangle.
+ */
+ virtual ::com::sun::star::awt::Rectangle SAL_CALL getBounds (void)
+ throw (::com::sun::star::uno::RuntimeException);
+
+ /** The default implementation uses the result of
+ <member>getBounds</member> to determine the location.
+ */
+ virtual ::com::sun::star::awt::Point SAL_CALL getLocation (void)
+ throw (::com::sun::star::uno::RuntimeException);
+
+ /** The default implementation returns an empty position, i.e. the
+ * result of the default constructor of <type>com::sun::star::awt::Point</type>.
+ */
+ virtual ::com::sun::star::awt::Point SAL_CALL getLocationOnScreen (void)
+ throw (::com::sun::star::uno::RuntimeException);
+
+ /** The default implementation uses the result of
+ <member>getBounds</member> to determine the size.
+ */
+ virtual ::com::sun::star::awt::Size SAL_CALL getSize (void)
+ throw (::com::sun::star::uno::RuntimeException);
+
+ /** The default implementation ignores this call.
+ */
+ virtual void SAL_CALL addFocusListener (
+ const ::com::sun::star::uno::Reference<
+ ::com::sun::star::awt::XFocusListener >& xListener)
+ throw (::com::sun::star::uno::RuntimeException);
+
+ /** The default implementation ignores this call.
+ */
+ virtual void SAL_CALL removeFocusListener (const ::com::sun::star::uno::Reference<
+ ::com::sun::star::awt::XFocusListener >& xListener )
+ throw (::com::sun::star::uno::RuntimeException);
+
+ /** The default implementation does nothing.
+ */
+ virtual void SAL_CALL grabFocus (void)
+ throw (::com::sun::star::uno::RuntimeException);
+
+ /** Returns black as the default foreground color.
+ */
+ virtual sal_Int32 SAL_CALL getForeground (void)
+ throw (::com::sun::star::uno::RuntimeException);
+
+ /** Returns white as the default background color.
+ */
+ virtual sal_Int32 SAL_CALL getBackground (void)
+ throw (::com::sun::star::uno::RuntimeException);
+
+ //===== XAccessibleExtendedComponent ====================================
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::awt::XFont > SAL_CALL
+ getFont (void)
+ throw (::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getTitledBorderText (void)
+ throw (::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getToolTipText (void)
+ throw (::com::sun::star::uno::RuntimeException);
+
+
+ //===== XTypeProvider ===================================================
+
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type> SAL_CALL
+ getTypes (void)
+ throw (::com::sun::star::uno::RuntimeException);
+
+};
+
+} // end of namespace accessibility
+
+#endif
diff --git a/editeng/inc/editeng/AccessibleContextBase.hxx b/editeng/inc/editeng/AccessibleContextBase.hxx
new file mode 100644
index 0000000000..49a351951b
--- /dev/null
+++ b/editeng/inc/editeng/AccessibleContextBase.hxx
@@ -0,0 +1,403 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: AccessibleContextBase.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVX_ACCESSIBILITY_ACCESSIBLE_CONTEXT_BASE_HXX
+#define _SVX_ACCESSIBILITY_ACCESSIBLE_CONTEXT_BASE_HXX
+
+//#include <editeng/ChildrenManager.hxx>
+#include <com/sun/star/accessibility/XAccessible.hpp>
+#include <com/sun/star/accessibility/XAccessibleContext.hpp>
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.hpp>
+#include <com/sun/star/accessibility/XAccessibleStateSet.hpp>
+#include <com/sun/star/accessibility/XAccessibleRelationSet.hpp>
+#include <com/sun/star/accessibility/AccessibleEventObject.hpp>
+#include <com/sun/star/accessibility/AccessibleEventId.hpp>
+#include <com/sun/star/accessibility/IllegalAccessibleComponentStateException.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+#include <com/sun/star/lang/XComponent.hpp>
+#include <cppuhelper/weak.hxx>
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include <com/sun/star/lang/XTypeProvider.hpp>
+#include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
+#include <com/sun/star/lang/DisposedException.hpp>
+#include <osl/mutex.hxx>
+#include <cppuhelper/compbase4.hxx>
+#include <editeng/editengdllapi.h>
+
+
+namespace accessibility {
+
+struct MutexOwner {mutable ::osl::Mutex maMutex;};
+
+/** @descr
+ This base class provides an implementation of the
+ <type>AccessibleContext</type> service. Appart from the
+ <type>XXAccessible<type> and <type>XAccessibleContextContext</type>
+ interfaces it supports the <type>XServiceInfo</type> interface.
+*/
+class EDITENG_DLLPUBLIC AccessibleContextBase
+ : public MutexOwner,
+ public cppu::WeakComponentImplHelper4<
+ ::com::sun::star::accessibility::XAccessible,
+ ::com::sun::star::accessibility::XAccessibleContext,
+ ::com::sun::star::accessibility::XAccessibleEventBroadcaster,
+ ::com::sun::star::lang::XServiceInfo
+ >
+{
+public:
+
+ //===== internal ========================================================
+
+ /** The origin of the accessible name or description.
+ */
+ enum StringOrigin {
+ ManuallySet,
+ FromShape,
+ AutomaticallyCreated,
+ NotSet
+ };
+
+ AccessibleContextBase (
+ const ::com::sun::star::uno::Reference<
+ ::com::sun::star::accessibility::XAccessible>& rxParent,
+ const sal_Int16 aRole);
+ virtual ~AccessibleContextBase (void);
+
+
+ /** Call all accessiblity event listeners to inform them about the
+ specified event.
+ @param aEventId
+ Id of the event type.
+ @param rNewValue
+ New value of the modified attribute. Pass empty structure if
+ not applicable.
+ @param rOldValue
+ Old value of the modified attribute. Pass empty structure if
+ not applicable.
+ */
+ void CommitChange (sal_Int16 aEventId,
+ const ::com::sun::star::uno::Any& rNewValue,
+ const ::com::sun::star::uno::Any& rOldValue);
+
+ /** Set a new description and, provided that the new name differs from
+ the old one, broadcast an accessibility event.
+ @param rsDescription
+ The new description.
+ @param eDescriptionOrigin
+ The origin of the description. This is used to determine
+ whether the given description overrules the existing one. An
+ origin with a lower numerical value overrides one with a higher
+ value.
+ */
+ void SetAccessibleDescription (
+ const ::rtl::OUString& rsDescription,
+ StringOrigin eDescriptionOrigin)
+ throw (::com::sun::star::uno::RuntimeException);
+
+ /** Set a new description and, provided that the new name differs from
+ the old one, broadcast an accessibility event.
+ @param rsName
+ The new name.
+ @param eNameOrigin
+ The origin of the name. This is used to determine whether the
+ given name overrules the existing one. An origin with a lower
+ numerical value overrides one with a higher value.
+ */
+ void SetAccessibleName (
+ const ::rtl::OUString& rsName,
+ StringOrigin eNameOrigin)
+ throw (::com::sun::star::uno::RuntimeException);
+
+ /** Set the specified state (turn it on) and send events to all
+ listeners to inform them of the change.
+
+ @param aState
+ The state to turn on.
+
+ @return
+ If the specified state changed its value due to this call
+ <TRUE/> is returned, otherwise <FALSE/>.
+ */
+ virtual sal_Bool SetState (sal_Int16 aState);
+
+ /** Reset the specified state (turn it off) and send events to all
+ listeners to inform them of the change.
+
+ @param aState
+ The state to turn off.
+
+ @return
+ If the specified state changed its value due to this call
+ <TRUE/> is returned, otherwise <FALSE/>.
+ */
+ virtual sal_Bool ResetState (sal_Int16 aState);
+
+ /** Return the state of the specified state.
+
+ @param aState
+ The state for which to return its value.
+
+ @return
+ A value of <TRUE/> indicates that the state is set. A <FALSE/>
+ value indicates an unset state.
+ */
+ sal_Bool GetState (sal_Int16 aState);
+
+ /** Replace the current relation set with the specified one. Send
+ events for relations that are not in both sets.
+
+ @param rRelationSet
+ The new relation set that replaces the old one.
+ */
+ virtual void SetRelationSet (
+ const ::com::sun::star::uno::Reference<
+ ::com::sun::star::accessibility::XAccessibleRelationSet>& rxRelationSet)
+ throw (::com::sun::star::uno::RuntimeException);
+
+
+ //===== XAccessible =====================================================
+
+ /// Return the XAccessibleContext.
+ virtual ::com::sun::star::uno::Reference<
+ ::com::sun::star::accessibility::XAccessibleContext> SAL_CALL
+ getAccessibleContext (void) throw (::com::sun::star::uno::RuntimeException);
+
+
+ //===== XAccessibleContext ==============================================
+
+ /// Return the number of currently visible children.
+ virtual sal_Int32 SAL_CALL
+ getAccessibleChildCount (void) throw (::com::sun::star::uno::RuntimeException);
+
+ /// Return the specified child or throw exception.
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible> SAL_CALL
+ getAccessibleChild (sal_Int32 nIndex)
+ throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
+
+ /// Return a reference to the parent.
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible> SAL_CALL
+ getAccessibleParent (void)
+ throw (::com::sun::star::uno::RuntimeException);
+
+ /// Return this objects index among the parents children.
+ virtual sal_Int32 SAL_CALL
+ getAccessibleIndexInParent (void)
+ throw (::com::sun::star::uno::RuntimeException);
+
+ /// Return this object's role.
+ virtual sal_Int16 SAL_CALL
+ getAccessibleRole (void)
+ throw (::com::sun::star::uno::RuntimeException);
+
+ /// Return this object's description.
+ virtual ::rtl::OUString SAL_CALL
+ getAccessibleDescription (void)
+ throw (::com::sun::star::uno::RuntimeException);
+
+ /// Return the object's current name.
+ virtual ::rtl::OUString SAL_CALL
+ getAccessibleName (void)
+ throw (::com::sun::star::uno::RuntimeException);
+
+ /// Return NULL to indicate that an empty relation set.
+ virtual ::com::sun::star::uno::Reference<
+ ::com::sun::star::accessibility::XAccessibleRelationSet> SAL_CALL
+ getAccessibleRelationSet (void)
+ throw (::com::sun::star::uno::RuntimeException);
+
+ /// Return the set of current states.
+ virtual ::com::sun::star::uno::Reference<
+ ::com::sun::star::accessibility::XAccessibleStateSet> SAL_CALL
+ getAccessibleStateSet (void)
+ throw (::com::sun::star::uno::RuntimeException);
+
+ /** Return the parents locale or throw exception if this object has no
+ parent yet/anymore.
+ */
+ virtual ::com::sun::star::lang::Locale SAL_CALL
+ getLocale (void)
+ throw (::com::sun::star::uno::RuntimeException,
+ ::com::sun::star::accessibility::IllegalAccessibleComponentStateException);
+
+ //===== XComponent ========================================================
+
+ using WeakComponentImplHelperBase::addEventListener;
+ using WeakComponentImplHelperBase::removeEventListener;
+
+ //===== XAccessibleEventBroadcaster ========================================
+
+ virtual void SAL_CALL
+ addEventListener (
+ const ::com::sun::star::uno::Reference<
+ ::com::sun::star::accessibility::XAccessibleEventListener >& xListener)
+ throw (::com::sun::star::uno::RuntimeException);
+
+ virtual void SAL_CALL
+ removeEventListener (
+ const ::com::sun::star::uno::Reference<
+ ::com::sun::star::accessibility::XAccessibleEventListener >& xListener)
+ throw (::com::sun::star::uno::RuntimeException);
+
+
+ //===== XServiceInfo ====================================================
+
+ /** Returns an identifier for the implementation of this object.
+ */
+ virtual ::rtl::OUString SAL_CALL
+ getImplementationName (void)
+ throw (::com::sun::star::uno::RuntimeException);
+
+ /** Return whether the specified service is supported by this class.
+ */
+ virtual sal_Bool SAL_CALL
+ supportsService (const ::rtl::OUString& sServiceName)
+ throw (::com::sun::star::uno::RuntimeException);
+
+ /** Returns a list of all supported services. In this case that is just
+ the AccessibleContext service.
+ */
+ virtual ::com::sun::star::uno::Sequence< ::rtl::OUString> SAL_CALL
+ getSupportedServiceNames (void)
+ throw (::com::sun::star::uno::RuntimeException);
+
+
+ //===== XTypeProvider ===================================================
+
+ /** Returns a sequence of all supported interfaces.
+ */
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type> SAL_CALL
+ getTypes (void)
+ throw (::com::sun::star::uno::RuntimeException);
+
+ /** Returns a implementation id.
+ */
+ virtual ::com::sun::star::uno::Sequence<sal_Int8> SAL_CALL
+ getImplementationId (void)
+ throw (::com::sun::star::uno::RuntimeException);
+
+protected:
+ /** The state set.
+ */
+ ::com::sun::star::uno::Reference<
+ ::com::sun::star::accessibility::XAccessibleStateSet> mxStateSet;
+
+ /** The relation set. Relations can be set or removed by calling the
+ <member>AddRelation</member> and <member>RemoveRelation</member> methods.
+ */
+ ::com::sun::star::uno::Reference<
+ ::com::sun::star::accessibility::XAccessibleRelationSet> mxRelationSet;
+
+ // This method is called from the component helper base class while disposing.
+ virtual void SAL_CALL disposing (void);
+
+ /** Create the accessible object's name. This method may be called more
+ than once for a single object.
+ @return
+ The returned string is a unique (among the accessible object's
+ siblings) name.
+ */
+ virtual ::rtl::OUString CreateAccessibleName (void)
+ throw (::com::sun::star::uno::RuntimeException);
+
+ /** Create the accessible object's descriptive string. May be called
+ more than once.
+ @return
+ Descriptive string. Not necessarily unique.
+ */
+ virtual ::rtl::OUString
+ CreateAccessibleDescription (void)
+ throw (::com::sun::star::uno::RuntimeException);
+
+ void FireEvent (const ::com::sun::star::accessibility::AccessibleEventObject& aEvent);
+
+ /** Check whether or not the object has been disposed (or is in the
+ state of beeing disposed). If that is the case then
+ DisposedException is thrown to inform the (indirect) caller of the
+ foul deed.
+ */
+ void ThrowIfDisposed (void)
+ throw (::com::sun::star::lang::DisposedException);
+
+ /** Check whether or not the object has been disposed (or is in the
+ state of beeing disposed).
+
+ @return sal_True, if the object is disposed or in the course
+ of being disposed. Otherwise, sal_False is returned.
+ */
+ sal_Bool IsDisposed (void);
+
+ /** sets the role as returned by XaccessibleContext::getAccessibleRole
+
+ <p>Caution: This is only to be used in the construction phase (means within
+ the ctor or late ctor), <em>never</em> when the object is still alive and part
+ of an Accessibility hierarchy.</p>
+ */
+ void SetAccessibleRole( sal_Int16 _nRole );
+
+private:
+ /// Reference to the parent object.
+ ::com::sun::star::uno::Reference<
+ ::com::sun::star::accessibility::XAccessible> mxParent;
+
+ /** Description of this object. This is not a constant because it can
+ be set from the outside. Furthermore, it changes according the the
+ draw page's display mode.
+ */
+ ::rtl::OUString msDescription;
+
+ /** The origin of the description is used to determine whether new
+ descriptions given to the SetAccessibleDescription is ignored or
+ whether that replaces the old value in msDescription.
+ */
+ StringOrigin meDescriptionOrigin;
+
+ /** Name of this object. It changes according the the draw page's
+ display mode.
+ */
+ ::rtl::OUString msName;
+
+ /** The origin of the name is used to determine whether new
+ name given to the SetAccessibleName is ignored or
+ whether that replaces the old value in msName.
+ */
+ StringOrigin meNameOrigin;
+
+ /** client id in the AccessibleEventNotifier queue
+ */
+ sal_uInt32 mnClientId;
+
+ /** This is the role of this object.
+ */
+ sal_Int16 maRole;
+};
+
+}
+
+#endif
diff --git a/editeng/inc/editeng/AccessibleSelectionBase.hxx b/editeng/inc/editeng/AccessibleSelectionBase.hxx
new file mode 100644
index 0000000000..e5de8bdec6
--- /dev/null
+++ b/editeng/inc/editeng/AccessibleSelectionBase.hxx
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: AccessibleSelectionBase.hxx,v $
+ * $Revision: 1.6 $
+ *
+ * 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 _SVX_ACCESSIBILITY_ACCESSIBLE_SELECTION_BASE_HXX
+#define _SVX_ACCESSIBILITY_ACCESSIBLE_SELECTION_BASE_HXX
+
+#include <comphelper/accessibleselectionhelper.hxx>
+#include "editeng/editengdllapi.h"
+
+namespace accessibility
+{
+/** @descr
+ This base class provides a base implementation of the
+ <type>XAccessibleSelection</type> interface.
+ The following methods have to be implemented if this
+ class is used:
+
+ <method>implGetMutex</method>,
+ <method>implGetAccessibleContext</method>,
+ <method>implIsSelected</method>,
+ <method>implSelect</method>,
+*/
+ class EDITENG_DLLPUBLIC AccessibleSelectionBase : public ::comphelper::OCommonAccessibleSelection,
+ public ::com::sun::star::accessibility::XAccessibleSelection
+ {
+ protected:
+
+ virtual ::osl::Mutex& implGetMutex() = 0;
+
+ public:
+
+ // XAccessibleSelection - default implementations
+ virtual void SAL_CALL selectAccessibleChild( sal_Int32 nChildIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
+ virtual sal_Bool SAL_CALL isAccessibleChildSelected( sal_Int32 nChildIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL clearAccessibleSelection( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL selectAllAccessibleChildren( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual sal_Int32 SAL_CALL getSelectedAccessibleChildCount( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getSelectedAccessibleChild( sal_Int32 nSelectedChildIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL deselectAccessibleChild( sal_Int32 nSelectedChildIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
+
+ public:
+
+ AccessibleSelectionBase();
+ virtual ~AccessibleSelectionBase();
+ };
+
+}
+
+#endif // _SVX_ACCESSIBILITY_ACCESSIBLE_SELECTION_BASE_HXX
diff --git a/editeng/inc/editeng/AccessibleStaticTextBase.hxx b/editeng/inc/editeng/AccessibleStaticTextBase.hxx
new file mode 100644
index 0000000000..34928b5539
--- /dev/null
+++ b/editeng/inc/editeng/AccessibleStaticTextBase.hxx
@@ -0,0 +1,562 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: AccessibleStaticTextBase.hxx,v $
+ * $Revision: 1.14 $
+ *
+ * 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 _SVX_ACCESSILE_STATIC_TEXT_BASE_HXX_
+#define _SVX_ACCESSILE_STATIC_TEXT_BASE_HXX_
+
+#include <memory>
+#include <tools/gen.hxx>
+#include <cppuhelper/implbase2.hxx>
+#include <com/sun/star/uno/Any.hxx>
+#include <com/sun/star/uno/Reference.hxx>
+#include <com/sun/star/accessibility/XAccessible.hpp>
+#include <com/sun/star/accessibility/XAccessibleText.hpp>
+#include <com/sun/star/accessibility/XAccessibleTextAttributes.hpp>
+#include <com/sun/star/accessibility/TextSegment.hpp>
+#include "editeng/editengdllapi.h"
+
+
+class SvxEditSource;
+class SvxEditViewForwarder;
+
+namespace accessibility
+{
+
+ class AccessibleStaticTextBase_Impl;
+
+ typedef ::cppu::ImplHelper2<
+ ::com::sun::star::accessibility::XAccessibleText,
+ ::com::sun::star::accessibility::XAccessibleTextAttributes > AccessibleStaticTextBase_BASE;
+
+ /** Helper class for objects containing EditEngine/Outliner text
+
+ This class implements the XAccessibleText interface for static
+ text, somewhat similar to the children of the
+ AccessibleTextHelper class. Currently, there are no children,
+ i.e. the whole text is presented in one big chunk. This might
+ change in the future, if a need for image bullets should
+ arise. These, by convention, would be represented as children
+ of the text.
+
+ You have to implement the SvxEditSource, SvxTextForwarder,
+ SvxViewForwarder and SvxEditViewForwarder interfaces in order
+ to enable your object to cooperate with this
+ class. SvxTextForwarder encapsulates the fact that text
+ objects do not necessarily have an EditEngine at their
+ disposal, SvxViewForwarder and SvxEditViewForwarder do the
+ same for the document and the edit view. The three mentioned
+ forwarder objects are not stored by the AccessibleTextHelper,
+ but fetched every time from the SvxEditSource. So you are best
+ off making your SvxEditSource::Get*Forwarder methods cache the
+ current forwarder.
+
+ As this class is intended for static (i.e. non-changing) text
+ only, no event broadcasting is necessary. You must handle
+ visibility by yourself, the bounding boxes returned by
+ getCharacterBounds() are relative to your accessibility
+ object.
+
+ @attention All public non-UNO methods (those are the uppercase
+ ones) must not be called with any mutex hold, except when
+ calling from the main thread (with holds the solar mutex),
+ unless stated otherwise. This is because they themselves might
+ need the solar mutex in addition to the object mutex, and the
+ ordering of the locking must be: first solar mutex, then
+ object mutex. Furthermore, state change events might be fired
+ internally.
+
+ @derive Use this class as a base for objects containing static
+ edit engine text. To avoid overwriting every interface method
+ to intercept derived object defunc state, just set NULL as the
+ edit source. Every interface method will then properly throw
+ an exception.
+ */
+ class EDITENG_DLLPUBLIC AccessibleStaticTextBase : public AccessibleStaticTextBase_BASE
+ {
+
+ public:
+ /** Create accessible text object for given edit source
+
+ @param pEditSource
+ The edit source to use. Object ownership is transferred
+ from the caller to the callee. The object listens on the
+ SvxEditSource for object disposal, so no provisions have
+ to be taken if the caller destroys the data (e.g. the
+ model) contained in the given SvxEditSource.
+
+ */
+ explicit AccessibleStaticTextBase( ::std::auto_ptr< SvxEditSource > pEditSource );
+ virtual ~AccessibleStaticTextBase();
+
+ private:
+
+ // declared, but not defined
+ EDITENG_DLLPRIVATE AccessibleStaticTextBase( const AccessibleStaticTextBase& );
+ // declared, but not defined
+ EDITENG_DLLPRIVATE AccessibleStaticTextBase& operator= ( const AccessibleStaticTextBase& );
+
+ public:
+ /** Query the current edit source
+
+ @attention This method returns by reference, so you are
+ responsible for serialization (typically, you aquired the
+ solar mutex when calling this method). Thus, the method
+ should only be called from the main office thread.
+
+ */
+ virtual const SvxEditSource& GetEditSource() const SAL_THROW((::com::sun::star::uno::RuntimeException));
+
+ /** Set the current edit source
+
+ @attention You are required to have the solar mutex
+ locked, when calling this method. Thus, the method should
+ only be called from the main office thread.
+
+ The EditSource set here is required to broadcast out the
+ following hints: EDITSOURCE_HINT_PARASMOVED,
+ EDITSOURCE_HINT_SELECTIONCHANGED, TEXT_HINT_MODIFIED,
+ TEXT_HINT_PARAINSERTED, TEXT_HINT_PARAREMOVED,
+ TEXT_HINT_TEXTHEIGHTCHANGED,
+ TEXT_HINT_VIEWSCROLLED. Otherwise, not all state changes
+ will get noticed by the accessibility object. Further
+ more, when the corresponding core object or the model is
+ dying, either the edit source must be set to NULL or it
+ has to broadcast a SFX_HINT_DYING hint.
+
+ This class does not have a dispose method, since it is not
+ a UNO component. Nevertheless, it holds C++ references to
+ several core objects, so you should issue a
+ SetEditSource(::std::auto_ptr<SvxEditSource>(NULL)) in
+ your dispose() method.
+
+ @param pEditSource
+ The new edit source to set. Object ownership is transferred
+ from the caller to the callee.
+ */
+ virtual void SetEditSource( ::std::auto_ptr< SvxEditSource > pEditSource ) SAL_THROW((::com::sun::star::uno::RuntimeException));
+
+ /** Set the event source
+
+ @attention When setting a reference here, you should call
+ Dispose() when you as the owner are disposing, since until
+ then this object will hold that reference
+
+ @param rInterface
+ The interface that should be set as the source for
+ accessibility events sent by this object.
+ */
+ virtual void SetEventSource( const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& rInterface );
+
+ /** Get the event source
+
+ @return the interface that is set as the source for
+ accessibility events sent by this object.
+ */
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > GetEventSource() const;
+
+ /** Set offset of EditEngine from parent
+
+ @attention You are required to have the solar mutex
+ locked, when calling this method. Thus, the method should
+ only be called from the main office thread.
+
+ If the origin of the underlying EditEngine does
+ not correspond to the upper left corner of the object
+ using this class, you have to specify the offset.
+
+ @param rPoint
+ The offset in screen coordinates (i.e. pixel)
+ */
+ virtual void SetOffset( const Point& rPoint );
+
+ /** Query offset of EditEngine from parent
+
+ @return the offset in screen coordinates (i.e. pixel)
+ */
+ virtual Point GetOffset() const;
+
+ /** Update the visible children
+
+ As this class currently does not represent any content
+ using children, this does nothing at the moment.
+
+ @attention You are required to have the solar mutex
+ locked, when calling this method. Thus, the method should
+ only be called from the main office thread.
+
+ This method reevaluates the visibility of all
+ childrens. Call this method if your visibility state has
+ changed somehow, e.g. if the visible area has changed and
+ the AccessibleStaticTextHelper isn't notified
+ internally. Normally, there should not be a need to call
+ this method.
+ */
+ virtual void UpdateChildren() SAL_THROW((::com::sun::star::uno::RuntimeException));
+
+ /** Drop all references and enter disposed state
+
+ This method drops all references to external objects (also
+ the event source reference set via SetEventSource()) and
+ sets the object into the disposed state (i.e. the methods
+ return default values or throw a uno::DisposedException
+ exception).
+ */
+ virtual void Dispose();
+
+ // XAccessibleText interface implementation
+ virtual sal_Int32 SAL_CALL getCaretPosition() throw (::com::sun::star::uno::RuntimeException);
+ virtual sal_Bool SAL_CALL setCaretPosition( sal_Int32 nIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
+ virtual sal_Unicode SAL_CALL getCharacter( sal_Int32 nIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL getCharacterAttributes( sal_Int32 nIndex, const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aRequestedAttributes ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::awt::Rectangle SAL_CALL getCharacterBounds( sal_Int32 nIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
+ virtual sal_Int32 SAL_CALL getCharacterCount() throw (::com::sun::star::uno::RuntimeException);
+ virtual sal_Int32 SAL_CALL getIndexAtPoint( const ::com::sun::star::awt::Point& aPoint ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getSelectedText() throw (::com::sun::star::uno::RuntimeException);
+ virtual sal_Int32 SAL_CALL getSelectionStart() throw (::com::sun::star::uno::RuntimeException);
+ virtual sal_Int32 SAL_CALL getSelectionEnd() throw (::com::sun::star::uno::RuntimeException);
+ /// This will only work with a functional SvxEditViewForwarder, i.e. an EditEngine/Outliner in edit mode
+ virtual sal_Bool SAL_CALL setSelection( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getText() throw (::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getTextRange( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
+ /// Does not support AccessibleTextType::SENTENCE (missing feature in EditEngine)
+ virtual ::com::sun::star::accessibility::TextSegment SAL_CALL getTextAtIndex( sal_Int32 nIndex, sal_Int16 aTextType ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
+ /// Does not support AccessibleTextType::SENTENCE (missing feature in EditEngine)
+ virtual ::com::sun::star::accessibility::TextSegment SAL_CALL getTextBeforeIndex( sal_Int32 nIndex, sal_Int16 aTextType ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
+ /// Does not support AccessibleTextType::SENTENCE (missing feature in EditEngine)
+ virtual ::com::sun::star::accessibility::TextSegment SAL_CALL getTextBehindIndex( sal_Int32 nIndex, sal_Int16 aTextType ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
+ /// This will only work with a functional SvxEditViewForwarder, i.e. an EditEngine/Outliner in edit mode
+ virtual sal_Bool SAL_CALL copyText( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
+
+ // XAccessibleTextAttributes
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL getDefaultAttributes( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& RequestedAttributes ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL getRunAttributes( sal_Int32 Index, const ::com::sun::star::uno::Sequence< ::rtl::OUString >& RequestedAttributes ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
+
+ // child-related methods from XAccessibleContext
+ virtual sal_Int32 SAL_CALL getAccessibleChildCount() throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getAccessibleChild( sal_Int32 i ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
+
+ // child-related methods from XAccessibleComponent
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint( const ::com::sun::star::awt::Point& aPoint ) throw (::com::sun::star::uno::RuntimeException);
+
+ protected:
+ Rectangle GetParagraphBoundingBox() const;
+ sal_Int32 GetParagraphCount() const;
+ sal_Int32 GetParagraphIndex() const;
+ sal_Int32 GetLineCount( sal_Int32 nParagraph ) const;
+
+ private:
+
+ /// @dyn
+ const std::auto_ptr< AccessibleStaticTextBase_Impl > mpImpl;
+
+ };
+
+} // end of namespace accessibility
+
+#endif /* _SVX_ACCESSILE_STATIC_TEXT_BASE_HXX_ */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: AccessibleStaticTextBase.hxx,v $
+ * $Revision: 1.14 $
+ *
+ * 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 _SVX_ACCESSILE_STATIC_TEXT_BASE_HXX_
+#define _SVX_ACCESSILE_STATIC_TEXT_BASE_HXX_
+
+#include <memory>
+#include <tools/gen.hxx>
+#include <cppuhelper/implbase2.hxx>
+#include <com/sun/star/uno/Any.hxx>
+#include <com/sun/star/uno/Reference.hxx>
+#include <com/sun/star/accessibility/XAccessible.hpp>
+#include <com/sun/star/accessibility/XAccessibleText.hpp>
+#include <com/sun/star/accessibility/XAccessibleTextAttributes.hpp>
+#include <com/sun/star/accessibility/TextSegment.hpp>
+#include "editeng/editengdllapi.h"
+
+
+class SvxEditSource;
+
+namespace accessibility
+{
+
+ class AccessibleStaticTextBase_Impl;
+
+ typedef ::cppu::ImplHelper2<
+ ::com::sun::star::accessibility::XAccessibleText,
+ ::com::sun::star::accessibility::XAccessibleTextAttributes > AccessibleStaticTextBase_BASE;
+
+ /** Helper class for objects containing EditEngine/Outliner text
+
+ This class implements the XAccessibleText interface for static
+ text, somewhat similar to the children of the
+ AccessibleTextHelper class. Currently, there are no children,
+ i.e. the whole text is presented in one big chunk. This might
+ change in the future, if a need for image bullets should
+ arise. These, by convention, would be represented as children
+ of the text.
+
+ You have to implement the SvxEditSource, SvxTextForwarder,
+ SvxViewForwarder and SvxEditViewForwarder interfaces in order
+ to enable your object to cooperate with this
+ class. SvxTextForwarder encapsulates the fact that text
+ objects do not necessarily have an EditEngine at their
+ disposal, SvxViewForwarder and SvxEditViewForwarder do the
+ same for the document and the edit view. The three mentioned
+ forwarder objects are not stored by the AccessibleTextHelper,
+ but fetched every time from the SvxEditSource. So you are best
+ off making your SvxEditSource::Get*Forwarder methods cache the
+ current forwarder.
+
+ As this class is intended for static (i.e. non-changing) text
+ only, no event broadcasting is necessary. You must handle
+ visibility by yourself, the bounding boxes returned by
+ getCharacterBounds() are relative to your accessibility
+ object.
+
+ @attention All public non-UNO methods (those are the uppercase
+ ones) must not be called with any mutex hold, except when
+ calling from the main thread (with holds the solar mutex),
+ unless stated otherwise. This is because they themselves might
+ need the solar mutex in addition to the object mutex, and the
+ ordering of the locking must be: first solar mutex, then
+ object mutex. Furthermore, state change events might be fired
+ internally.
+
+ @derive Use this class as a base for objects containing static
+ edit engine text. To avoid overwriting every interface method
+ to intercept derived object defunc state, just set NULL as the
+ edit source. Every interface method will then properly throw
+ an exception.
+ */
+ class EDITENG_DLLPUBLIC AccessibleStaticTextBase : public AccessibleStaticTextBase_BASE
+ {
+
+ public:
+ /** Create accessible text object for given edit source
+
+ @param pEditSource
+ The edit source to use. Object ownership is transferred
+ from the caller to the callee. The object listens on the
+ SvxEditSource for object disposal, so no provisions have
+ to be taken if the caller destroys the data (e.g. the
+ model) contained in the given SvxEditSource.
+
+ */
+ explicit AccessibleStaticTextBase( ::std::auto_ptr< SvxEditSource > pEditSource );
+ virtual ~AccessibleStaticTextBase();
+
+ private:
+
+ // declared, but not defined
+ EDITENG_DLLPRIVATE AccessibleStaticTextBase( const AccessibleStaticTextBase& );
+ // declared, but not defined
+ EDITENG_DLLPRIVATE AccessibleStaticTextBase& operator= ( const AccessibleStaticTextBase& );
+
+ public:
+ /** Query the current edit source
+
+ @attention This method returns by reference, so you are
+ responsible for serialization (typically, you aquired the
+ solar mutex when calling this method). Thus, the method
+ should only be called from the main office thread.
+
+ */
+ virtual const SvxEditSource& GetEditSource() const SAL_THROW((::com::sun::star::uno::RuntimeException));
+
+ /** Set the current edit source
+
+ @attention You are required to have the solar mutex
+ locked, when calling this method. Thus, the method should
+ only be called from the main office thread.
+
+ The EditSource set here is required to broadcast out the
+ following hints: EDITSOURCE_HINT_PARASMOVED,
+ EDITSOURCE_HINT_SELECTIONCHANGED, TEXT_HINT_MODIFIED,
+ TEXT_HINT_PARAINSERTED, TEXT_HINT_PARAREMOVED,
+ TEXT_HINT_TEXTHEIGHTCHANGED,
+ TEXT_HINT_VIEWSCROLLED. Otherwise, not all state changes
+ will get noticed by the accessibility object. Further
+ more, when the corresponding core object or the model is
+ dying, either the edit source must be set to NULL or it
+ has to broadcast a SFX_HINT_DYING hint.
+
+ This class does not have a dispose method, since it is not
+ a UNO component. Nevertheless, it holds C++ references to
+ several core objects, so you should issue a
+ SetEditSource(::std::auto_ptr<SvxEditSource>(NULL)) in
+ your dispose() method.
+
+ @param pEditSource
+ The new edit source to set. Object ownership is transferred
+ from the caller to the callee.
+ */
+ virtual void SetEditSource( ::std::auto_ptr< SvxEditSource > pEditSource ) SAL_THROW((::com::sun::star::uno::RuntimeException));
+
+ /** Set the event source
+
+ @attention When setting a reference here, you should call
+ Dispose() when you as the owner are disposing, since until
+ then this object will hold that reference
+
+ @param rInterface
+ The interface that should be set as the source for
+ accessibility events sent by this object.
+ */
+ virtual void SetEventSource( const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& rInterface );
+
+ /** Get the event source
+
+ @return the interface that is set as the source for
+ accessibility events sent by this object.
+ */
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > GetEventSource() const;
+
+ /** Set offset of EditEngine from parent
+
+ @attention You are required to have the solar mutex
+ locked, when calling this method. Thus, the method should
+ only be called from the main office thread.
+
+ If the origin of the underlying EditEngine does
+ not correspond to the upper left corner of the object
+ using this class, you have to specify the offset.
+
+ @param rPoint
+ The offset in screen coordinates (i.e. pixel)
+ */
+ virtual void SetOffset( const Point& rPoint );
+
+ /** Query offset of EditEngine from parent
+
+ @return the offset in screen coordinates (i.e. pixel)
+ */
+ virtual Point GetOffset() const;
+
+ /** Update the visible children
+
+ As this class currently does not represent any content
+ using children, this does nothing at the moment.
+
+ @attention You are required to have the solar mutex
+ locked, when calling this method. Thus, the method should
+ only be called from the main office thread.
+
+ This method reevaluates the visibility of all
+ childrens. Call this method if your visibility state has
+ changed somehow, e.g. if the visible area has changed and
+ the AccessibleStaticTextHelper isn't notified
+ internally. Normally, there should not be a need to call
+ this method.
+ */
+ virtual void UpdateChildren() SAL_THROW((::com::sun::star::uno::RuntimeException));
+
+ /** Drop all references and enter disposed state
+
+ This method drops all references to external objects (also
+ the event source reference set via SetEventSource()) and
+ sets the object into the disposed state (i.e. the methods
+ return default values or throw a uno::DisposedException
+ exception).
+ */
+ virtual void Dispose();
+
+ // XAccessibleText interface implementation
+ virtual sal_Int32 SAL_CALL getCaretPosition() throw (::com::sun::star::uno::RuntimeException);
+ virtual sal_Bool SAL_CALL setCaretPosition( sal_Int32 nIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
+ virtual sal_Unicode SAL_CALL getCharacter( sal_Int32 nIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL getCharacterAttributes( sal_Int32 nIndex, const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aRequestedAttributes ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::awt::Rectangle SAL_CALL getCharacterBounds( sal_Int32 nIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
+ virtual sal_Int32 SAL_CALL getCharacterCount() throw (::com::sun::star::uno::RuntimeException);
+ virtual sal_Int32 SAL_CALL getIndexAtPoint( const ::com::sun::star::awt::Point& aPoint ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getSelectedText() throw (::com::sun::star::uno::RuntimeException);
+ virtual sal_Int32 SAL_CALL getSelectionStart() throw (::com::sun::star::uno::RuntimeException);
+ virtual sal_Int32 SAL_CALL getSelectionEnd() throw (::com::sun::star::uno::RuntimeException);
+ /// This will only work with a functional SvxEditViewForwarder, i.e. an EditEngine/Outliner in edit mode
+ virtual sal_Bool SAL_CALL setSelection( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getText() throw (::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getTextRange( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
+ /// Does not support AccessibleTextType::SENTENCE (missing feature in EditEngine)
+ virtual ::com::sun::star::accessibility::TextSegment SAL_CALL getTextAtIndex( sal_Int32 nIndex, sal_Int16 aTextType ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
+ /// Does not support AccessibleTextType::SENTENCE (missing feature in EditEngine)
+ virtual ::com::sun::star::accessibility::TextSegment SAL_CALL getTextBeforeIndex( sal_Int32 nIndex, sal_Int16 aTextType ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
+ /// Does not support AccessibleTextType::SENTENCE (missing feature in EditEngine)
+ virtual ::com::sun::star::accessibility::TextSegment SAL_CALL getTextBehindIndex( sal_Int32 nIndex, sal_Int16 aTextType ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
+ /// This will only work with a functional SvxEditViewForwarder, i.e. an EditEngine/Outliner in edit mode
+ virtual sal_Bool SAL_CALL copyText( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
+
+ // XAccessibleTextAttributes
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL getDefaultAttributes( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& RequestedAttributes ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL getRunAttributes( sal_Int32 Index, const ::com::sun::star::uno::Sequence< ::rtl::OUString >& RequestedAttributes ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
+
+ // child-related methods from XAccessibleContext
+ virtual sal_Int32 SAL_CALL getAccessibleChildCount() throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getAccessibleChild( sal_Int32 i ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
+
+ // child-related methods from XAccessibleComponent
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint( const ::com::sun::star::awt::Point& aPoint ) throw (::com::sun::star::uno::RuntimeException);
+
+ protected:
+ Rectangle GetParagraphBoundingBox() const;
+
+ private:
+
+ /// @dyn
+ const std::auto_ptr< AccessibleStaticTextBase_Impl > mpImpl;
+
+ };
+
+} // end of namespace accessibility
+
+#endif /* _SVX_ACCESSILE_STATIC_TEXT_BASE_HXX_ */
diff --git a/editeng/inc/editeng/AccessibleStringWrap.hxx b/editeng/inc/editeng/AccessibleStringWrap.hxx
new file mode 100644
index 0000000000..e6065314f2
--- /dev/null
+++ b/editeng/inc/editeng/AccessibleStringWrap.hxx
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: AccessibleStringWrap.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _ACCESSIBLESTRINGWRAP_HXX
+#define _ACCESSIBLESTRINGWRAP_HXX
+
+#include <sal/types.h>
+#include <tools/string.hxx>
+
+#include <editeng/editengdllapi.h>
+
+class OutputDevice;
+class SvxFont;
+class Rectangle;
+class Point;
+
+//------------------------------------------------------------------------
+//
+// AccessibleStringWrap declaration
+//
+//------------------------------------------------------------------------
+
+class AccessibleStringWrap
+{
+public:
+
+ EDITENG_DLLPUBLIC AccessibleStringWrap( OutputDevice& rDev, SvxFont& rFont, const String& rText );
+
+ EDITENG_DLLPUBLIC sal_Bool GetCharacterBounds( sal_Int32 nIndex, Rectangle& rRect );
+ EDITENG_DLLPUBLIC sal_Int32 GetIndexAtPoint( const Point& rPoint );
+
+private:
+
+ OutputDevice& mrDev;
+ SvxFont& mrFont;
+ String maText;
+};
+
+#endif /* _ACCESSIBLESTRINGWRAP_HXX */
diff --git a/editeng/inc/editeng/SpellPortions.hxx b/editeng/inc/editeng/SpellPortions.hxx
new file mode 100644
index 0000000000..c7644ae7a0
--- /dev/null
+++ b/editeng/inc/editeng/SpellPortions.hxx
@@ -0,0 +1,98 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: SpellPortions.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef SVX_SPELL_PORTIONS_HXX
+#define SVX_SPELL_PORTIONS_HXX
+
+#include <i18npool/lang.h>
+#include <rtl/ustring.hxx>
+#include <com/sun/star/uno/Reference.h>
+#include <com/sun/star/linguistic2/SingleProofreadingError.hpp>
+#include <com/sun/star/linguistic2/XProofreader.hpp>
+#include <vector>
+
+namespace com{ namespace sun{ namespace star{ namespace linguistic2{
+ class XSpellAlternatives;
+}}}}
+
+namespace svx{
+/** contains a portion of text that has the same language attributes applied
+ and belongs to the same script type.
+ */
+struct SpellPortion
+{
+ /** contains the text of the portion.
+ */
+ rtl::OUString sText;
+ /** Marks the portion as field, footnote symbol or any other special content that
+ should be protected against unintentional deletion.
+ */
+ bool bIsField;
+ /** Marks the portion hidden content that should not be touched by spell checking
+ and not be removed like redlines. The creator of the portions has to take care
+ for them.
+ */
+ bool bIsHidden;
+ /** contains the language applied to the text. It has to match the script type.
+ */
+ LanguageType eLanguage;
+ /** for wrong words this reference is filled with the error informations otherwise
+ it's an empty reference
+ */
+ ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XSpellAlternatives> xAlternatives;
+ /** determines whether the error type is a grammar error
+ */
+ bool bIsGrammarError;
+ /** contains the grammar error information
+ */
+ com::sun::star::linguistic2::SingleProofreadingError aGrammarError;
+ /** provides access to the grammar checker interface
+ */
+ ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XProofreader > xGrammarChecker;
+ /** marks portion as to-be-ignored. This is a return parameter.
+ */
+ /** contains the proposed dialog title if the proof reading component provides one.
+ */
+ rtl::OUString sDialogTitle;
+
+ bool bIgnoreThisError;
+ SpellPortion() :
+ bIsField(false),
+ bIsHidden(false),
+ eLanguage(LANGUAGE_DONTKNOW),
+ bIsGrammarError(false),
+ bIgnoreThisError(false)
+ {
+ aGrammarError.nErrorStart = aGrammarError.nErrorLength = aGrammarError.nErrorType = 0;
+ }
+};
+typedef std::vector<SpellPortion> SpellPortions;
+}//namespace svx
+#endif
diff --git a/editeng/inc/editeng/UnoForbiddenCharsTable.hxx b/editeng/inc/editeng/UnoForbiddenCharsTable.hxx
new file mode 100644
index 0000000000..cd9ca2e3f2
--- /dev/null
+++ b/editeng/inc/editeng/UnoForbiddenCharsTable.hxx
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: UnoForbiddenCharsTable.hxx,v $
+ * $Revision: 1.5 $
+ *
+ * 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 _SVX_UNOFORBIDDENCHARSTABLE_HXX_
+#define _SVX_UNOFORBIDDENCHARSTABLE_HXX_
+
+#include <com/sun/star/i18n/XForbiddenCharacters.hpp>
+#include <com/sun/star/linguistic2/XSupportedLocales.hpp>
+#include <vos/ref.hxx>
+
+#include <cppuhelper/implbase2.hxx>
+#include "editeng/editengdllapi.h"
+
+class SvxForbiddenCharactersTable;
+
+class EDITENG_DLLPUBLIC SvxUnoForbiddenCharsTable : public cppu::WeakImplHelper2<
+ com::sun::star::i18n::XForbiddenCharacters,
+ com::sun::star::linguistic2::XSupportedLocales>
+{
+protected:
+ /** this virtual function is called if the forbidden characters are changed */
+ virtual void onChange();
+
+ vos::ORef<SvxForbiddenCharactersTable> mxForbiddenChars;
+
+public:
+ SvxUnoForbiddenCharsTable(vos::ORef<SvxForbiddenCharactersTable> xForbiddenChars);
+ ~SvxUnoForbiddenCharsTable();
+
+ // XForbiddenCharacters
+ virtual com::sun::star::i18n::ForbiddenCharacters SAL_CALL getForbiddenCharacters( const com::sun::star::lang::Locale& rLocale ) throw(com::sun::star::container::NoSuchElementException, com::sun::star::uno::RuntimeException);
+ virtual sal_Bool SAL_CALL hasForbiddenCharacters( const com::sun::star::lang::Locale& rLocale ) throw(com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setForbiddenCharacters( const com::sun::star::lang::Locale& rLocale, const com::sun::star::i18n::ForbiddenCharacters& rForbiddenCharacters ) throw(com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeForbiddenCharacters( const com::sun::star::lang::Locale& rLocale ) throw(com::sun::star::uno::RuntimeException);
+
+ // XSupportedLocales
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::lang::Locale > SAL_CALL getLocales( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual sal_Bool SAL_CALL hasLocale( const ::com::sun::star::lang::Locale& aLocale ) throw (::com::sun::star::uno::RuntimeException);
+};
+
+#endif // _SVX_UNOFORBIDDENCHARSTABLE_HXX_
diff --git a/editeng/inc/editeng/acorrcfg.hxx b/editeng/inc/editeng/acorrcfg.hxx
new file mode 100644
index 0000000000..4a76b7ab28
--- /dev/null
+++ b/editeng/inc/editeng/acorrcfg.hxx
@@ -0,0 +1,136 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: acorrcfg.hxx,v $
+ * $Revision: 1.7 $
+ *
+ * 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 _SVXACCFG_HXX
+#define _SVXACCFG_HXX
+
+// include ---------------------------------------------------------------
+
+#include "editeng/editengdllapi.h"
+#include <unotools/configitem.hxx>
+/* -----------------------------12.10.00 11:40--------------------------------
+
+ ---------------------------------------------------------------------------*/
+class SvxAutoCorrect;
+class SvxAutoCorrCfg;
+class EDITENG_DLLPUBLIC SvxBaseAutoCorrCfg : public utl::ConfigItem
+{
+ SvxAutoCorrCfg& rParent;
+ com::sun::star::uno::Sequence<rtl::OUString> GetPropertyNames();
+
+public:
+ SvxBaseAutoCorrCfg(SvxAutoCorrCfg& rParent);
+ ~SvxBaseAutoCorrCfg();
+
+ void Load(sal_Bool bInit);
+ virtual void Commit();
+ virtual void Notify( const com::sun::star::uno::Sequence<rtl::OUString>& aPropertyNames);
+ void SetModified() {ConfigItem::SetModified();}
+};
+/* -----------------------------12.10.00 11:40--------------------------------
+
+ ---------------------------------------------------------------------------*/
+class EDITENG_DLLPUBLIC SvxSwAutoCorrCfg : public utl::ConfigItem
+{
+ SvxAutoCorrCfg& rParent;
+ com::sun::star::uno::Sequence<rtl::OUString> GetPropertyNames();
+
+public:
+ SvxSwAutoCorrCfg(SvxAutoCorrCfg& rParent);
+ ~SvxSwAutoCorrCfg();
+
+ void Load(sal_Bool bInit);
+ virtual void Commit();
+ virtual void Notify( const com::sun::star::uno::Sequence<rtl::OUString>& aPropertyNames);
+ void SetModified() {ConfigItem::SetModified();}
+};
+/*--------------------------------------------------------------------
+ Beschreibung: Konfiguration fuer Auto Correction
+ --------------------------------------------------------------------*/
+class EDITENG_DLLPUBLIC SvxAutoCorrCfg
+{
+ friend class SvxBaseAutoCorrCfg;
+ friend class SvxSwAutoCorrCfg;
+
+ SvxAutoCorrect* pAutoCorrect;
+
+ SvxBaseAutoCorrCfg aBaseConfig;
+ SvxSwAutoCorrCfg aSwConfig;
+
+ // Flags f"ur Autotext:
+ sal_Bool bFileRel;
+ sal_Bool bNetRel;
+ // Tiphilfe f"ur Autotext w"ahrend der Eingabe
+ sal_Bool bAutoTextTip;
+ sal_Bool bAutoTextPreview;
+ sal_Bool bAutoFmtByInput;
+ sal_Bool bSearchInAllCategories;
+
+public:
+ void SetModified()
+ {
+ aBaseConfig.SetModified();
+ aSwConfig.SetModified();
+ }
+ void Commit()
+ {
+ aBaseConfig.Commit();
+ aSwConfig.Commit();
+ }
+
+ SvxAutoCorrect* GetAutoCorrect() { return pAutoCorrect; }
+ const SvxAutoCorrect* GetAutoCorrect() const { return pAutoCorrect; }
+ // der Pointer geht in den Besitz des ConfigItems!
+ void SetAutoCorrect( SvxAutoCorrect* );
+
+ sal_Bool IsAutoFmtByInput() const { return bAutoFmtByInput; }
+ void SetAutoFmtByInput( sal_Bool bSet ) { bAutoFmtByInput = bSet;aSwConfig.SetModified();}
+
+ sal_Bool IsSaveRelFile() const { return bFileRel; }
+ void SetSaveRelFile( sal_Bool bSet ) { bFileRel = bSet; aSwConfig.SetModified(); }
+
+ sal_Bool IsSaveRelNet() const { return bNetRel; }
+ void SetSaveRelNet( sal_Bool bSet ) { bNetRel = bSet; aSwConfig.SetModified();}
+
+ sal_Bool IsAutoTextPreview() const {return bAutoTextPreview;}
+ void SetAutoTextPreview(sal_Bool bSet) {bAutoTextPreview = bSet; aSwConfig.SetModified();}
+
+ sal_Bool IsAutoTextTip() const { return bAutoTextTip; }
+ void SetAutoTextTip(sal_Bool bSet ) { bAutoTextTip = bSet;aSwConfig.SetModified();}
+
+ sal_Bool IsSearchInAllCategories() const { return bSearchInAllCategories;}
+ void SetSearchInAllCategories(sal_Bool bSet ) { bSearchInAllCategories = bSet; aSwConfig.SetModified(); }
+
+ SvxAutoCorrCfg();
+ virtual ~SvxAutoCorrCfg();
+ static SvxAutoCorrCfg* Get();
+};
+
+
+#endif
diff --git a/editeng/inc/editeng/adjitem.hxx b/editeng/inc/editeng/adjitem.hxx
new file mode 100644
index 0000000000..ae47c2cc3c
--- /dev/null
+++ b/editeng/inc/editeng/adjitem.hxx
@@ -0,0 +1,146 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: adjitem.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_ADJITEM_HXX
+#define _SVX_ADJITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/eitem.hxx>
+#include <editeng/svxenum.hxx>
+#include <editeng/eeitem.hxx>
+#include <editeng/editengdllapi.h>
+
+class SvXMLUnitConverter;
+namespace rtl
+{
+ class OUString;
+}
+
+// class SvxAdjustItem ---------------------------------------------------
+
+/*
+[Beschreibung]
+Dieses Item beschreibt die Zeilenausrichtung.
+*/
+#define ADJUST_LASTBLOCK_VERSION ((USHORT)0x0001)
+
+class EDITENG_DLLPUBLIC SvxAdjustItem : public SfxEnumItemInterface
+{
+ BOOL bLeft : 1;
+ BOOL bRight : 1;
+ BOOL bCenter : 1;
+ BOOL bBlock : 1;
+
+ // nur aktiv, wenn bBlock
+ BOOL bOneBlock : 1;
+ BOOL bLastCenter : 1;
+ BOOL bLastBlock : 1;
+
+ friend SvStream& operator<<( SvStream&, SvxAdjustItem& ); //$ ostream
+public:
+ TYPEINFO();
+
+ SvxAdjustItem( const SvxAdjust eAdjst /*= SVX_ADJUST_LEFT*/,
+ const USHORT nId );
+
+ // "pure virtual Methoden" vom SfxPoolItem
+ virtual int operator==( const SfxPoolItem& ) const;
+
+ virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
+ virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+ virtual USHORT GetValueCount() const;
+ virtual String GetValueTextByPos( USHORT nPos ) const;
+ virtual USHORT GetEnumValue() const;
+ virtual void SetEnumValue( USHORT nNewVal );
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual SvStream& Store(SvStream &, USHORT nItemVersion ) const;
+ virtual USHORT GetVersion( USHORT nFileVersion ) const;
+
+ inline void SetOneWord( const SvxAdjust eType )
+ {
+ bOneBlock = eType == SVX_ADJUST_BLOCK;
+ }
+
+ inline void SetLastBlock( const SvxAdjust eType )
+ {
+ bLastBlock = eType == SVX_ADJUST_BLOCK;
+ bLastCenter = eType == SVX_ADJUST_CENTER;
+ }
+
+ inline void SetAdjust( const SvxAdjust eType )
+ {
+ bLeft = eType == SVX_ADJUST_LEFT;
+ bRight = eType == SVX_ADJUST_RIGHT;
+ bCenter = eType == SVX_ADJUST_CENTER;
+ bBlock = eType == SVX_ADJUST_BLOCK;
+ }
+
+ inline SvxAdjust GetLastBlock() const
+ {
+ SvxAdjust eRet = SVX_ADJUST_LEFT;
+
+ if ( bLastBlock )
+ eRet = SVX_ADJUST_BLOCK;
+ else if( bLastCenter )
+ eRet = SVX_ADJUST_CENTER;
+ return eRet;
+ }
+
+ inline SvxAdjust GetOneWord() const
+ {
+ SvxAdjust eRet = SVX_ADJUST_LEFT;
+
+ if ( bBlock && bOneBlock )
+ eRet = SVX_ADJUST_BLOCK;
+ return eRet;
+ }
+
+ inline SvxAdjust GetAdjust() const
+ {
+ SvxAdjust eRet = SVX_ADJUST_LEFT;
+
+ if ( bRight )
+ eRet = SVX_ADJUST_RIGHT;
+ else if ( bCenter )
+ eRet = SVX_ADJUST_CENTER;
+ else if ( bBlock )
+ eRet = SVX_ADJUST_BLOCK;
+ return eRet;
+ }
+};
+
+#endif
+
diff --git a/editeng/inc/editeng/akrnitem.hxx b/editeng/inc/editeng/akrnitem.hxx
new file mode 100644
index 0000000000..f15885b19c
--- /dev/null
+++ b/editeng/inc/editeng/akrnitem.hxx
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: akrnitem.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_AKRNITEM_HXX
+#define _SVX_AKRNITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/eitem.hxx>
+#include <editeng/editengdllapi.h>
+
+class SvXMLUnitConverter;
+namespace rtl
+{
+ class OUString;
+}
+
+// class SvxAutoKernItem -------------------------------------------------
+
+/*
+ [Beschreibung]
+ Attribut fuer Pair-Kerning.
+*/
+
+class EDITENG_DLLPUBLIC SvxAutoKernItem : public SfxBoolItem
+{
+public:
+ TYPEINFO();
+
+ SvxAutoKernItem( const BOOL bAutoKern /*= FALSE*/,
+ const USHORT nId );
+
+ // "pure virtual Methoden" vom SfxPoolItem
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual SvStream& Store(SvStream &, USHORT nItemVersion) const;
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ inline SvxAutoKernItem& operator=(const SvxAutoKernItem& rAutoKern)
+ {
+ SetValue( rAutoKern.GetValue() );
+ return *this;
+ }
+};
+
+#endif
+
diff --git a/editeng/inc/editeng/blnkitem.hxx b/editeng/inc/editeng/blnkitem.hxx
new file mode 100644
index 0000000000..6e84ab016d
--- /dev/null
+++ b/editeng/inc/editeng/blnkitem.hxx
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: blnkitem.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_BLNKITEM_HXX
+#define _SVX_BLNKITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/poolitem.hxx>
+#include <svl/eitem.hxx>
+#include <editeng/editengdllapi.h>
+
+class SvXMLUnitConverter;
+namespace rtl
+{
+ class OUString;
+}
+
+// class SvxBlinkItem -------------------------------------------------
+
+/*
+ [Beschreibung]
+ Dieses Item beschreibt, ob geblinkt werden soll.
+*/
+
+class EDITENG_DLLPUBLIC SvxBlinkItem : public SfxBoolItem
+{
+public:
+ TYPEINFO();
+
+ SvxBlinkItem( const BOOL bBlink /*= FALSE*/, const USHORT nId );
+
+ // "pure virtual Methoden" vom SfxPoolItem
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual SvStream& Store(SvStream &, USHORT nItemVersion) const;
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ inline SvxBlinkItem& operator=(const SvxBlinkItem& rBlink) {
+ SetValue(rBlink.GetValue());
+ return *this;
+ }
+};
+
+#endif
+
diff --git a/editeng/inc/editeng/bolnitem.hxx b/editeng/inc/editeng/bolnitem.hxx
new file mode 100644
index 0000000000..45d42c2f99
--- /dev/null
+++ b/editeng/inc/editeng/bolnitem.hxx
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: bolnitem.hxx,v $
+ * $Revision: 1.7 $
+ *
+ * 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 _SVX_BOLNITEM_HXX
+#define _SVX_BOLNITEM_HXX
+
+// include ---------------------------------------------------------------
+
+
+
+#include <svl/poolitem.hxx>
+#include "editeng/editengdllapi.h"
+
+
+
+// class SvxLineItem -----------------------------------------------------
+
+
+/*
+[Beschreibung]
+Dieses Item transportiert eine SvxBorderLine.
+*/
+
+class SvxBorderLine;
+
+class EDITENG_DLLPUBLIC SvxLineItem : public SfxPoolItem
+{
+public:
+ TYPEINFO();
+
+ SvxLineItem( const USHORT nId );
+ SvxLineItem( const SvxLineItem& rCpy );
+ ~SvxLineItem();
+ SvxLineItem &operator=( const SvxLineItem& rLine );
+
+ virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
+ virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
+ virtual int operator==( const SfxPoolItem& ) const;
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual SvStream& Store(SvStream &, USHORT nItemVersion ) const;
+ virtual int ScaleMetrics( long nMult, long nDiv );
+ virtual int HasMetrics() const;
+
+ const SvxBorderLine* GetLine () const { return pLine; }
+ void SetLine ( const SvxBorderLine *pNew );
+
+private:
+ SvxBorderLine* pLine;
+};
+
+
+
+
+#endif
diff --git a/editeng/inc/editeng/borderline.hxx b/editeng/inc/editeng/borderline.hxx
new file mode 100644
index 0000000000..09aabf45ed
--- /dev/null
+++ b/editeng/inc/editeng/borderline.hxx
@@ -0,0 +1,137 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: borderline.hxx,v $
+ * $Revision: 1.5 $
+ *
+ * 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 SVX_BORDERLINE_HXX
+#define SVX_BORDERLINE_HXX
+
+#include <tools/color.hxx>
+#include <svl/poolitem.hxx>
+#include <editeng/editengdllapi.h>
+
+// Line defaults in twips (former Writer defaults):
+
+#define DEF_LINE_WIDTH_0 1
+#define DEF_LINE_WIDTH_1 20
+#define DEF_LINE_WIDTH_2 50
+#define DEF_LINE_WIDTH_3 80
+#define DEF_LINE_WIDTH_4 100
+#define DEF_LINE_WIDTH_5 10
+
+#define DEF_MAX_LINE_WIDHT DEF_LINE_WIDTH_4
+#define DEF_MAX_LINE_DIST DEF_LINE_WIDTH_2
+
+#define DEF_DOUBLE_LINE0_OUT DEF_LINE_WIDTH_0
+#define DEF_DOUBLE_LINE0_IN DEF_LINE_WIDTH_0
+#define DEF_DOUBLE_LINE0_DIST DEF_LINE_WIDTH_1
+
+#define DEF_DOUBLE_LINE1_OUT DEF_LINE_WIDTH_1
+#define DEF_DOUBLE_LINE1_IN DEF_LINE_WIDTH_1
+#define DEF_DOUBLE_LINE1_DIST DEF_LINE_WIDTH_1
+
+#define DEF_DOUBLE_LINE2_OUT DEF_LINE_WIDTH_2
+#define DEF_DOUBLE_LINE2_IN DEF_LINE_WIDTH_2
+#define DEF_DOUBLE_LINE2_DIST DEF_LINE_WIDTH_2
+
+#define DEF_DOUBLE_LINE3_OUT DEF_LINE_WIDTH_2
+#define DEF_DOUBLE_LINE3_IN DEF_LINE_WIDTH_1
+#define DEF_DOUBLE_LINE3_DIST DEF_LINE_WIDTH_2
+
+#define DEF_DOUBLE_LINE4_OUT DEF_LINE_WIDTH_1
+#define DEF_DOUBLE_LINE4_IN DEF_LINE_WIDTH_2
+#define DEF_DOUBLE_LINE4_DIST DEF_LINE_WIDTH_1
+
+#define DEF_DOUBLE_LINE5_OUT DEF_LINE_WIDTH_3
+#define DEF_DOUBLE_LINE5_IN DEF_LINE_WIDTH_2
+#define DEF_DOUBLE_LINE5_DIST DEF_LINE_WIDTH_2
+
+#define DEF_DOUBLE_LINE6_OUT DEF_LINE_WIDTH_2
+#define DEF_DOUBLE_LINE6_IN DEF_LINE_WIDTH_3
+#define DEF_DOUBLE_LINE6_DIST DEF_LINE_WIDTH_2
+
+#define DEF_DOUBLE_LINE7_OUT DEF_LINE_WIDTH_0
+#define DEF_DOUBLE_LINE7_IN DEF_LINE_WIDTH_0
+#define DEF_DOUBLE_LINE7_DIST DEF_LINE_WIDTH_2
+
+#define DEF_DOUBLE_LINE8_OUT DEF_LINE_WIDTH_1
+#define DEF_DOUBLE_LINE8_IN DEF_LINE_WIDTH_0
+#define DEF_DOUBLE_LINE8_DIST DEF_LINE_WIDTH_2
+
+#define DEF_DOUBLE_LINE9_OUT DEF_LINE_WIDTH_2
+#define DEF_DOUBLE_LINE9_IN DEF_LINE_WIDTH_0
+#define DEF_DOUBLE_LINE9_DIST DEF_LINE_WIDTH_2
+
+#define DEF_DOUBLE_LINE10_OUT DEF_LINE_WIDTH_3
+#define DEF_DOUBLE_LINE10_IN DEF_LINE_WIDTH_0
+#define DEF_DOUBLE_LINE10_DIST DEF_LINE_WIDTH_2
+
+// ============================================================================
+
+class EDITENG_DLLPUBLIC SvxBorderLine
+{
+protected:
+ Color aColor;
+ USHORT nOutWidth;
+ USHORT nInWidth;
+ USHORT nDistance;
+
+public:
+ SvxBorderLine( const Color *pCol = 0, USHORT nOut = 0, USHORT nIn = 0, USHORT nDist = 0 );
+ SvxBorderLine( const SvxBorderLine& r );
+
+ SvxBorderLine& operator=( const SvxBorderLine& r );
+
+ const Color& GetColor() const { return aColor; }
+ USHORT GetOutWidth() const { return nOutWidth; }
+ USHORT GetInWidth() const { return nInWidth; }
+ USHORT GetDistance() const { return nDistance; }
+
+ void SetColor( const Color &rColor ) { aColor = rColor; }
+ void SetOutWidth( USHORT nNew ) { nOutWidth = nNew; }
+ void SetInWidth( USHORT nNew ) { nInWidth = nNew; }
+ void SetDistance( USHORT nNew ) { nDistance = nNew; }
+ void ScaleMetrics( long nMult, long nDiv );
+
+ BOOL operator==( const SvxBorderLine &rCmp ) const;
+
+ String GetValueString( SfxMapUnit eSrcUnit, SfxMapUnit eDestUnit,
+ const IntlWrapper* pIntl,
+ BOOL bMetricStr = FALSE ) const;
+
+ bool HasPriority( const SvxBorderLine& rOtherLine ) const;
+
+ bool isEmpty() const { return (0 == nOutWidth && 0 == nInWidth && 0 == nDistance); }
+ bool isDouble() const { return (0 != nOutWidth && 0 != nInWidth); }
+ sal_uInt16 getWidth() const { return nOutWidth + nInWidth + nDistance; }
+};
+
+// ============================================================================
+
+#endif
+
diff --git a/editeng/inc/editeng/boxitem.hxx b/editeng/inc/editeng/boxitem.hxx
new file mode 100644
index 0000000000..c4c9504265
--- /dev/null
+++ b/editeng/inc/editeng/boxitem.hxx
@@ -0,0 +1,226 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: boxitem.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_BOXITEM_HXX
+#define _SVX_BOXITEM_HXX
+
+#include <svl/poolitem.hxx>
+#include <editeng/borderline.hxx>
+#include <editeng/editengdllapi.h>
+
+namespace rtl { class OUString; }
+
+// class SvxBoxItem ------------------------------------------------------
+
+/*
+[Beschreibung]
+Dieses Item beschreibt ein Umrandungsattribut (alle vier Kanten und
+Abstand nach innen.
+*/
+
+#define BOX_LINE_TOP ((USHORT)0)
+#define BOX_LINE_BOTTOM ((USHORT)1)
+#define BOX_LINE_LEFT ((USHORT)2)
+#define BOX_LINE_RIGHT ((USHORT)3)
+
+#define BOX_4DISTS_VERSION ((USHORT)1)
+
+class EDITENG_DLLPUBLIC SvxBoxItem : public SfxPoolItem
+{
+ SvxBorderLine *pTop,
+ *pBottom,
+ *pLeft,
+ *pRight;
+ USHORT nTopDist,
+ nBottomDist,
+ nLeftDist,
+ nRightDist;
+
+public:
+ TYPEINFO();
+
+ SvxBoxItem( const USHORT nId );
+ SvxBoxItem( const SvxBoxItem &rCpy );
+ ~SvxBoxItem();
+ SvxBoxItem &operator=( const SvxBoxItem& rBox );
+
+ // "pure virtual Methoden" vom SfxPoolItem
+ virtual int operator==( const SfxPoolItem& ) const;
+ virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
+ virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual SvStream& Store(SvStream &, USHORT nItemVersion ) const;
+ virtual USHORT GetVersion( USHORT nFileVersion ) const;
+
+ virtual int ScaleMetrics( long nMult, long nDiv );
+ virtual int HasMetrics() const;
+
+ const SvxBorderLine* GetTop() const { return pTop; }
+ const SvxBorderLine* GetBottom() const { return pBottom; }
+ const SvxBorderLine* GetLeft() const { return pLeft; }
+ const SvxBorderLine* GetRight() const { return pRight; }
+
+ const SvxBorderLine* GetLine( USHORT nLine ) const;
+
+ //Die Pointer werden kopiert!
+ void SetLine( const SvxBorderLine* pNew, USHORT nLine );
+
+ USHORT GetDistance( USHORT nLine ) const;
+ USHORT GetDistance() const;
+
+ void SetDistance( USHORT nNew, USHORT nLine );
+ inline void SetDistance( USHORT nNew );
+
+ //Breite der Linien plus Zwischenraum plus Abstand nach innen.
+ //JP 09.06.99: bIgnoreLine = TRUE -> Distance auch returnen, wenn
+ // keine Line gesetzt ist
+ USHORT CalcLineSpace( USHORT nLine, BOOL bIgnoreLine = FALSE ) const;
+};
+
+inline void SvxBoxItem::SetDistance( USHORT nNew )
+{
+ nTopDist = nBottomDist = nLeftDist = nRightDist = nNew;
+}
+
+// class SvxBoxInfoItem --------------------------------------------------
+
+/*
+[Beschreibung]
+Noch ein Item fuer die Umrandung. Dieses Item hat lediglich SS-Funktionalitaet.
+Einerseits wird dem allgemeinen Dialog mit diesem Item mitgeteilt, welche
+Moeglichkeiten er anbieten soll.
+Andererseits werden ueber dieses Attribut ggf. die BorderLines fuer die
+horizontalen und vertikalen innerern Linien transportiert.
+*/
+
+#define BOXINFO_LINE_HORI ((USHORT)0)
+#define BOXINFO_LINE_VERT ((USHORT)1)
+
+#define VALID_TOP 0x01
+#define VALID_BOTTOM 0x02
+#define VALID_LEFT 0x04
+#define VALID_RIGHT 0x08
+#define VALID_HORI 0x10
+#define VALID_VERT 0x20
+#define VALID_DISTANCE 0x40
+#define VALID_DISABLE 0x80
+
+class EDITENG_DLLPUBLIC SvxBoxInfoItem : public SfxPoolItem
+{
+ SvxBorderLine* pHori; //innere horizontale Linie
+ SvxBorderLine* pVert; //innere vertikale Linie
+
+ bool mbEnableHor; /// true = Enable inner horizonal line.
+ bool mbEnableVer; /// true = Enable inner vertical line.
+
+ /*
+ z.Z. nur fuer StarWriter: Abstand nach innen von SvxBoxItem.
+ Wenn der Abstand gewuenscht ist, so muss das Feld fuer den Abstand vom
+ Dialog freigeschaltet werden. nDefDist ist als Defaultwert anzusehen.
+ Wenn irgendeine Linie eingeschalt ist oder wird, so muss dieser
+ Abstand defaultet werden. bMinDist gibt an, ob der Wert durch den
+ Anwender unterschritten werden darf. Mit nDist wird der aktuelle
+ Abstand von der App zum Dialog und zurueck transportiert.
+ */
+
+ BOOL bDist :1; // TRUE, Abstand freischalten.
+ BOOL bMinDist :1; // TRUE, Abstand darf nicht unterschritten werden.
+
+ BYTE nValidFlags; // 0000 0000
+ // ³³³³ ³³³ÀÄ VALID_TOP
+ // ³³³³ ³³ÀÄÄ VALID_BOTTOM
+ // ³³³³ ³ÀÄÄÄ VALID_LEFT
+ // ³³³³ ÀÄÄÄÄ VALID_RIGHT
+ // ³³³ÀÄÄÄÄÄÄ VALID_HORI
+ // ³³ÀÄÄÄÄÄÄÄ VALID_VERT
+ // ³ÀÄÄÄÄÄÄÄÄ VALID_DIST
+ // ÀÄÄÄÄÄÄÄÄÄ VALID_DISABLE
+
+ USHORT nDefDist; // Der Default- bzw. Minimalabstand.
+
+public:
+ TYPEINFO();
+
+ SvxBoxInfoItem( const USHORT nId );
+ SvxBoxInfoItem( const SvxBoxInfoItem &rCpy );
+ ~SvxBoxInfoItem();
+ SvxBoxInfoItem &operator=( const SvxBoxInfoItem &rCpy );
+
+ // "pure virtual Methoden" vom SfxPoolItem
+ virtual int operator==( const SfxPoolItem& ) const;
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+ virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
+ virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual SvStream& Store(SvStream &, USHORT nItemVersion ) const;
+ virtual int ScaleMetrics( long nMult, long nDiv );
+ virtual int HasMetrics() const;
+
+ const SvxBorderLine* GetHori() const { return pHori; }
+ const SvxBorderLine* GetVert() const { return pVert; }
+
+ //Die Pointer werden kopiert!
+ void SetLine( const SvxBorderLine* pNew, USHORT nLine );
+
+ BOOL IsTable() const { return mbEnableHor && mbEnableVer; }
+ void SetTable( BOOL bNew ) { mbEnableHor = mbEnableVer = bNew; }
+
+ inline bool IsHorEnabled() const { return mbEnableHor; }
+ inline void EnableHor( bool bEnable ) { mbEnableHor = bEnable; }
+ inline bool IsVerEnabled() const { return mbEnableVer; }
+ inline void EnableVer( bool bEnable ) { mbEnableVer = bEnable; }
+
+ BOOL IsDist() const { return bDist; }
+ void SetDist( BOOL bNew ) { bDist = bNew; }
+ BOOL IsMinDist() const { return bMinDist; }
+ void SetMinDist( BOOL bNew ) { bMinDist = bNew; }
+ USHORT GetDefDist() const { return nDefDist; }
+ void SetDefDist( USHORT nNew ) { nDefDist = nNew; }
+
+ BOOL IsValid( BYTE nValid ) const
+ { return ( nValidFlags & nValid ) == nValid; }
+ void SetValid( BYTE nValid, BOOL bValid = TRUE )
+ { bValid ? ( nValidFlags |= nValid )
+ : ( nValidFlags &= ~nValid ); }
+ void ResetFlags();
+};
+#endif
+
diff --git a/editeng/inc/editeng/brkitem.hxx b/editeng/inc/editeng/brkitem.hxx
new file mode 100644
index 0000000000..82759895c0
--- /dev/null
+++ b/editeng/inc/editeng/brkitem.hxx
@@ -0,0 +1,106 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: brkitem.hxx,v $
+ * $Revision: 1.4.216.1 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_BRKITEM_HXX
+#define _SVX_BRKITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/eitem.hxx>
+#include <editeng/svxenum.hxx>
+#include <editeng/editengdllapi.h>
+
+namespace rtl
+{
+ class OUString;
+}
+
+// class SvxFmtBreakItem -------------------------------------------------
+
+/*
+ [Beschreibung]
+ Dieses Item beschreibt ein Umbruch-Attribut
+ Automatisch?, Seiten- oder Spaltenumbruch, davor oder danach?
+*/
+#define FMTBREAK_NOAUTO ((USHORT)0x0001)
+
+class EDITENG_DLLPUBLIC SvxFmtBreakItem : public SfxEnumItem
+{
+public:
+ TYPEINFO();
+
+ inline SvxFmtBreakItem( const SvxBreak eBrk /*= SVX_BREAK_NONE*/,
+ const USHORT nWhich );
+ inline SvxFmtBreakItem( const SvxFmtBreakItem& rBreak );
+ inline SvxFmtBreakItem& operator=( const SvxFmtBreakItem& rCpy );
+
+ // "pure virtual Methoden" vom SfxPoolItem
+ virtual int operator==( const SfxPoolItem& ) const;
+ virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
+ virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+ virtual String GetValueTextByPos( USHORT nPos ) const;
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SvStream& Store( SvStream& , USHORT nItemVersion ) const;
+ virtual USHORT GetVersion( USHORT nFileVersion ) const;
+ virtual SfxPoolItem* Create( SvStream&, USHORT ) const;
+ virtual USHORT GetValueCount() const;
+
+ // MS VC4.0 kommt durcheinander
+ void SetValue( USHORT nNewVal )
+ {SfxEnumItem::SetValue(nNewVal); }
+ SvxBreak GetBreak() const { return SvxBreak( GetValue() ); }
+ void SetBreak( const SvxBreak eNew )
+ { SetValue( (USHORT)eNew ); }
+};
+
+
+inline SvxFmtBreakItem::SvxFmtBreakItem( const SvxBreak eBreak,
+ const USHORT _nWhich ) :
+ SfxEnumItem( _nWhich, (USHORT)eBreak )
+{}
+
+inline SvxFmtBreakItem::SvxFmtBreakItem( const SvxFmtBreakItem& rBreak ) :
+ SfxEnumItem( rBreak )
+{}
+
+inline SvxFmtBreakItem& SvxFmtBreakItem::operator=(
+ const SvxFmtBreakItem& rBreak )
+{
+ SetValue( rBreak.GetValue() );
+ return *this;
+}
+
+#endif
+
diff --git a/editeng/inc/editeng/brshitem.hxx b/editeng/inc/editeng/brshitem.hxx
new file mode 100644
index 0000000000..c2b32c85d8
--- /dev/null
+++ b/editeng/inc/editeng/brshitem.hxx
@@ -0,0 +1,143 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: brshitem.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_BRSHITEM_HXX
+#define _SVX_BRSHITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/poolitem.hxx>
+#include <vcl/wall.hxx>
+#include <tools/link.hxx>
+#include <editeng/editengdllapi.h>
+
+// class SvxBrushItem ----------------------------------------------------
+
+class Graphic;
+class GraphicObject;
+class CntWallpaperItem;
+namespace rtl
+{
+ class OUString;
+}
+
+#define BRUSH_GRAPHIC_VERSION ((USHORT)0x0001)
+
+enum SvxGraphicPosition
+{
+ GPOS_NONE,
+ GPOS_LT, GPOS_MT, GPOS_RT,
+ GPOS_LM, GPOS_MM, GPOS_RM,
+ GPOS_LB, GPOS_MB, GPOS_RB,
+ GPOS_AREA, GPOS_TILED
+};
+
+#define PARA_DEST_PARA 0
+#define PARA_DEST_CHAR 1
+
+class SvxBrushItem_Impl;
+class EDITENG_DLLPUBLIC SvxBrushItem : public SfxPoolItem
+{
+ Color aColor;
+ SvxBrushItem_Impl* pImpl;
+ String* pStrLink;
+ String* pStrFilter;
+ SvxGraphicPosition eGraphicPos;
+ BOOL bLoadAgain;
+
+ void ApplyGraphicTransparency_Impl();
+ DECL_STATIC_LINK( SvxBrushItem, DoneHdl_Impl, void *);
+ // wird nur von Create benutzt
+ SvxBrushItem( SvStream& rStrm,
+ USHORT nVersion, USHORT nWhich );
+
+public:
+ TYPEINFO();
+
+ SvxBrushItem( USHORT nWhich );
+ SvxBrushItem( const Color& rColor, USHORT nWhich );
+
+ SvxBrushItem( const Graphic& rGraphic,
+ SvxGraphicPosition ePos, USHORT nWhich );
+ SvxBrushItem( const GraphicObject& rGraphicObj,
+ SvxGraphicPosition ePos, USHORT nWhich );
+ SvxBrushItem( const String& rLink, const String& rFilter,
+ SvxGraphicPosition ePos, USHORT nWhich );
+ SvxBrushItem( const SvxBrushItem& );
+ SvxBrushItem( const CntWallpaperItem&, USHORT nWhich );
+
+ ~SvxBrushItem();
+
+public:
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ virtual int operator==( const SfxPoolItem& ) const;
+ virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
+ virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create( SvStream&, USHORT nVersion ) const;
+ virtual SvStream& Store( SvStream& , USHORT nItemVersion ) const;
+ virtual USHORT GetVersion( USHORT nFileVersion ) const;
+
+ const Color& GetColor() const { return aColor; }
+ Color& GetColor() { return aColor; }
+ void SetColor( const Color& rCol) { aColor = rCol; }
+
+ void SetDoneLink( const Link& rLink );
+
+ SvxGraphicPosition GetGraphicPos() const { return eGraphicPos; }
+
+ void PurgeGraphic() const;
+ void PurgeMedium() const;
+
+ const Graphic* GetGraphic() const;
+ const GraphicObject* GetGraphicObject() const;
+ const String* GetGraphicLink() const { return pStrLink; }
+ const String* GetGraphicFilter() const { return pStrFilter; }
+
+ void SetGraphicPos( SvxGraphicPosition eNew );
+ void SetGraphic( const Graphic& rNew );
+ void SetGraphicObject( const GraphicObject& rNewObj );
+ void SetGraphicLink( const String& rNew );
+ void SetGraphicFilter( const String& rNew );
+
+ SvxBrushItem& operator=( const SvxBrushItem& rItem);
+
+ static SvxGraphicPosition WallpaperStyle2GraphicPos( WallpaperStyle eStyle );
+ static WallpaperStyle GraphicPos2WallpaperStyle( SvxGraphicPosition ePos );
+ CntWallpaperItem* CreateCntWallpaperItem() const;
+};
+
+#endif // #ifndef _SVX_BRSHITEM_HXX
+
diff --git a/editeng/inc/editeng/bulitem.hxx b/editeng/inc/editeng/bulitem.hxx
new file mode 100644
index 0000000000..baa1f78f44
--- /dev/null
+++ b/editeng/inc/editeng/bulitem.hxx
@@ -0,0 +1,163 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: bulitem.hxx,v $
+ * $Revision: 1.6 $
+ *
+ * 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 _SVX_BULITEM_HXX
+#define _SVX_BULITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include "editeng/editengdllapi.h"
+
+
+// define ----------------------------------------------------------------
+
+// Styles
+#define BS_ABC_BIG 0
+#define BS_ABC_SMALL 1
+#define BS_ROMAN_BIG 2
+#define BS_ROMAN_SMALL 3
+#define BS_123 4
+#define BS_NONE 5
+#define BS_BULLET 6
+#define BS_BMP 128
+
+// Justification
+#define BJ_HLEFT 0x01
+#define BJ_HRIGHT 0x02
+#define BJ_HCENTER 0x04
+#define BJ_VTOP 0x08
+#define BJ_VBOTTOM 0x10
+#define BJ_VCENTER 0x20
+
+// Valid-Bits
+// Erstmal nur die Werte, die vom Dialog geaendert werden...
+#define VALID_FONTCOLOR 0x0001
+#define VALID_FONTNAME 0x0002
+#define VALID_SYMBOL 0x0004
+#define VALID_BITMAP 0x0008
+#define VALID_SCALE 0x0010
+#define VALID_START 0x0020
+#define VALID_STYLE 0x0040
+#define VALID_PREVTEXT 0x0080
+#define VALID_FOLLOWTEXT 0x0100
+#include <svl/poolitem.hxx>
+#include <vcl/font.hxx>
+#include <svtools/grfmgr.hxx>
+
+// class SvxBulletItem ---------------------------------------------------
+
+class EDITENG_DLLPUBLIC SvxBulletItem : public SfxPoolItem
+{
+ Font aFont;
+ GraphicObject* pGraphicObject;
+ String aPrevText;
+ String aFollowText;
+ USHORT nStart;
+ USHORT nStyle;
+ long nWidth;
+ USHORT nScale;
+ sal_Unicode cSymbol;
+ BYTE nJustify;
+ USHORT nValidMask; // Nur temporaer fuer GetAttribs/SetAttribs, wegen des grossen Bullets
+
+#ifdef _SVX_BULITEM_CXX
+ void SetDefaultFont_Impl();
+ void SetDefaults_Impl();
+#endif
+
+public:
+ TYPEINFO();
+
+ SvxBulletItem( USHORT nWhich = 0 );
+ SvxBulletItem( BYTE nStyle, const Font& rFont, USHORT nStart = 0, USHORT nWhich = 0 );
+ SvxBulletItem( const Font& rFont, sal_Unicode cSymbol, USHORT nWhich=0 );
+ SvxBulletItem( const Bitmap&, USHORT nWhich = 0 );
+ SvxBulletItem( const GraphicObject&, USHORT nWhich = 0 );
+ SvxBulletItem( SvStream& rStrm, USHORT nWhich = 0 );
+ SvxBulletItem( const SvxBulletItem& );
+ ~SvxBulletItem();
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create( SvStream&, USHORT nVersion ) const;
+ virtual SvStream& Store( SvStream & , USHORT nItemVersion ) const;
+
+ String GetFullText() const;
+ sal_Unicode GetSymbol() const { return cSymbol; }
+ String GetPrevText() const { return aPrevText; }
+ String GetFollowText() const { return aFollowText; }
+
+ USHORT GetStart() const { return nStart; }
+ long GetWidth() const { return nWidth; }
+ USHORT GetStyle() const { return nStyle; }
+ BYTE GetJustification() const { return nJustify; }
+ Font GetFont() const { return aFont; }
+ USHORT GetScale() const { return nScale; }
+
+ Bitmap GetBitmap() const;
+ void SetBitmap( const Bitmap& rBmp );
+
+ const GraphicObject& GetGraphicObject() const;
+ void SetGraphicObject( const GraphicObject& rGraphicObject );
+
+ void SetSymbol( sal_Unicode c) { cSymbol = c; }
+ void SetPrevText( const String& rStr) { aPrevText = rStr;}
+ void SetFollowText(const String& rStr) { aFollowText=rStr;}
+
+ void SetStart( USHORT nNew ) { nStart = nNew; }
+ void SetWidth( long nNew ) { nWidth = nNew; }
+ void SetStyle( USHORT nNew ) { nStyle = nNew; }
+ void SetJustification( BYTE nNew ) { nJustify = nNew; }
+ void SetFont( const Font& rNew) { aFont = rNew; }
+ void SetScale( USHORT nNew ) { nScale = nNew; }
+
+ virtual USHORT GetVersion(USHORT nFileVersion) const;
+ virtual int operator==( const SfxPoolItem& ) const;
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ static void StoreFont( SvStream&, const Font& );
+ static Font CreateFont( SvStream&, USHORT nVer );
+
+ USHORT& GetValidMask() { return nValidMask; }
+ USHORT GetValidMask() const { return nValidMask; }
+ USHORT IsValid( USHORT nFlag ) const { return nValidMask & nFlag; }
+ void SetValid( USHORT nFlag, BOOL bValid )
+ {
+ if ( bValid )
+ nValidMask |= nFlag;
+ else
+ nValidMask &= ~nFlag;
+ }
+ void CopyValidProperties( const SvxBulletItem& rCopyFrom );
+};
+
+
+#endif
diff --git a/editeng/inc/editeng/charhiddenitem.hxx b/editeng/inc/editeng/charhiddenitem.hxx
new file mode 100644
index 0000000000..bdc950f9fe
--- /dev/null
+++ b/editeng/inc/editeng/charhiddenitem.hxx
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: charhiddenitem.hxx,v $
+ * $Revision: 1.6 $
+ *
+ * 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 _SVX_CHARHIDDENITEM_HXX
+#define _SVX_CHARHIDDENITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/poolitem.hxx>
+#include <svl/eitem.hxx>
+#include "editeng/editengdllapi.h"
+
+// class SvxCharHiddenItem -------------------------------------------------
+/*
+ [Description]
+ This item marks text as hidden
+*/
+
+class EDITENG_DLLPUBLIC SvxCharHiddenItem : public SfxBoolItem
+{
+public:
+ TYPEINFO();
+
+ SvxCharHiddenItem( const BOOL bHidden /*= FALSE*/, const USHORT nId );
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ inline SvxCharHiddenItem& operator=(const SvxCharHiddenItem& rHidden) {
+ SetValue(rHidden.GetValue());
+ return *this;
+ }
+};
+
+#endif
diff --git a/editeng/inc/editeng/charreliefitem.hxx b/editeng/inc/editeng/charreliefitem.hxx
new file mode 100644
index 0000000000..00a13872d5
--- /dev/null
+++ b/editeng/inc/editeng/charreliefitem.hxx
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: charreliefitem.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_CHARRELIEFITEM_HXX
+#define _SVX_CHARRELIEFITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/eitem.hxx>
+#include <vcl/fntstyle.hxx>
+#include <editeng/editengdllapi.h>
+
+// class SvxCharRotateItem ----------------------------------------------
+
+/* [Description]
+
+ This item defines a character relief and has currently the values
+ emboss, relief.
+
+*/
+
+class EDITENG_DLLPUBLIC SvxCharReliefItem : public SfxEnumItem
+{
+public:
+ TYPEINFO();
+
+ SvxCharReliefItem( FontRelief eValue /*= RELIEF_NONE*/,
+ const sal_uInt16 nId );
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual SvStream& Store(SvStream & rStrm, USHORT nIVer) const;
+ virtual USHORT GetVersion( USHORT nFileVersion ) const;
+
+ virtual String GetValueTextByPos( USHORT nPos ) const;
+ virtual USHORT GetValueCount() const;
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText,
+ const IntlWrapper * = 0 ) const;
+
+ virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal,
+ BYTE nMemberId );
+ virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal,
+ BYTE nMemberId ) const;
+
+ inline SvxCharReliefItem& operator=( const SvxCharReliefItem& rItem )
+ {
+ SetValue( rItem.GetValue() );
+ return *this;
+ }
+};
+
+#endif
+
diff --git a/editeng/inc/editeng/charrotateitem.hxx b/editeng/inc/editeng/charrotateitem.hxx
new file mode 100644
index 0000000000..7ec67c24fb
--- /dev/null
+++ b/editeng/inc/editeng/charrotateitem.hxx
@@ -0,0 +1,95 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: charrotateitem.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_CHARROTATEITEM_HXX
+#define _SVX_CHARROTATEITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/intitem.hxx>
+#include <editeng/editengdllapi.h>
+
+// class SvxCharRotateItem ----------------------------------------------
+
+/* [Description]
+
+ This item defines a character rotation value (0,1 degree). Currently
+ character can only be rotated 90,0 and 270,0 degrees.
+ The flag FitToLine defines only a UI-Information -
+ if true it must also create a SvxCharScaleItem.
+
+*/
+
+class EDITENG_DLLPUBLIC SvxCharRotateItem : public SfxUInt16Item
+{
+ sal_Bool bFitToLine;
+public:
+ TYPEINFO();
+
+ SvxCharRotateItem( sal_uInt16 nValue /*= 0*/,
+ sal_Bool bFitIntoLine /*= sal_False*/,
+ const sal_uInt16 nId );
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual SvStream& Store(SvStream & rStrm, USHORT nIVer) const;
+ virtual USHORT GetVersion( USHORT nFileVersion ) const;
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText,
+ const IntlWrapper * = 0 ) const;
+
+ virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal,
+ BYTE nMemberId );
+ virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal,
+ BYTE nMemberId ) const;
+
+ inline SvxCharRotateItem& operator=( const SvxCharRotateItem& rItem )
+ {
+ SetValue( rItem.GetValue() );
+ SetFitToLine( rItem.IsFitToLine() );
+ return *this;
+ }
+
+ virtual int operator==( const SfxPoolItem& ) const;
+
+ // our currently only degree values
+ void SetTopToBotton() { SetValue( 2700 ); }
+ void SetBottomToTop() { SetValue( 900 ); }
+ sal_Bool IsTopToBotton() const { return 2700 == GetValue(); }
+ sal_Bool IsBottomToTop() const { return 900 == GetValue(); }
+
+ sal_Bool IsFitToLine() const { return bFitToLine; }
+ void SetFitToLine( sal_Bool b ) { bFitToLine = b; }
+};
+
+#endif
+
diff --git a/editeng/inc/editeng/charscaleitem.hxx b/editeng/inc/editeng/charscaleitem.hxx
new file mode 100644
index 0000000000..a6098f7f9d
--- /dev/null
+++ b/editeng/inc/editeng/charscaleitem.hxx
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: charscaleitem.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_CHARSCALEITEM_HXX
+#define _SVX_CHARSCALEITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/intitem.hxx>
+#include <editeng/editengdllapi.h>
+
+// class SvxCharScaleItem ----------------------------------------------
+
+/* [Description]
+
+ This item defines a character scaling factor as percent value.
+ A value of 100 is identical to 100% and means normal width
+ A value of 50 is identical to 50% and means 1/2 width.
+
+*/
+
+class EDITENG_DLLPUBLIC SvxCharScaleWidthItem : public SfxUInt16Item
+{
+public:
+ TYPEINFO();
+
+ SvxCharScaleWidthItem( sal_uInt16 nValue /*= 100*/,
+ const sal_uInt16 nId );
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual SvStream& Store( SvStream& , USHORT nItemVersion ) const;
+ virtual USHORT GetVersion( USHORT nFileVersion ) const;
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText,
+ const IntlWrapper * = 0 ) const;
+
+ virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal,
+ BYTE nMemberId );
+ virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal,
+ BYTE nMemberId ) const;
+
+ inline SvxCharScaleWidthItem& operator=(const SvxCharScaleWidthItem& rItem )
+ {
+ SetValue( rItem.GetValue() );
+ return *this;
+ }
+
+};
+
+#endif
+
diff --git a/editeng/inc/editeng/cmapitem.hxx b/editeng/inc/editeng/cmapitem.hxx
new file mode 100644
index 0000000000..2cca9496f3
--- /dev/null
+++ b/editeng/inc/editeng/cmapitem.hxx
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: cmapitem.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_CMAPITEM_HXX
+#define _SVX_CMAPITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/eitem.hxx>
+#include <editeng/svxenum.hxx>
+#include <editeng/editengdllapi.h>
+
+class SvXMLUnitConverter;
+namespace rtl
+{
+ class OUString;
+}
+
+// class SvxCaseMapItem --------------------------------------------------
+
+/* [Beschreibung]
+
+ Dieses Item beschreibt die Schrift-Ausrichtung (Versalien, Kapitaelchen,...).
+*/
+
+class EDITENG_DLLPUBLIC SvxCaseMapItem : public SfxEnumItem
+{
+public:
+ TYPEINFO();
+
+ SvxCaseMapItem( const SvxCaseMap eMap /*= SVX_CASEMAP_NOT_MAPPED*/,
+ const USHORT nId );
+
+ // "pure virtual Methoden" vom SfxPoolItem + SfxEnumItem
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual SvStream& Store(SvStream &, USHORT nItemVersion) const;
+ virtual String GetValueTextByPos( USHORT nPos ) const;
+ virtual USHORT GetValueCount() const;
+
+ // MS VC4.0 kommt durcheinander
+ void SetValue( USHORT nNewVal )
+ {SfxEnumItem::SetValue(nNewVal); }
+
+ inline SvxCaseMapItem& operator=(const SvxCaseMapItem& rMap)
+ {
+ SetValue( rMap.GetValue() );
+ return *this;
+ }
+
+ // enum cast
+ SvxCaseMap GetCaseMap() const
+ { return (SvxCaseMap)GetValue(); }
+ void SetCaseMap( SvxCaseMap eNew )
+ { SetValue( (USHORT)eNew ); }
+ virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
+ virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
+};
+
+#endif
+
diff --git a/editeng/inc/editeng/cntritem.hxx b/editeng/inc/editeng/cntritem.hxx
new file mode 100644
index 0000000000..4b1d00d3c1
--- /dev/null
+++ b/editeng/inc/editeng/cntritem.hxx
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: cntritem.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_ITEM_HXX
+#define _SVX_ITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/eitem.hxx>
+#include <editeng/editengdllapi.h>
+
+// class SvxContourItem --------------------------------------------------
+
+/*
+ [Beschreibung]
+ Dieses Item beschreibt, ob Konturschrift eingestellt ist.
+*/
+
+class EDITENG_DLLPUBLIC SvxContourItem : public SfxBoolItem
+{
+public:
+ TYPEINFO();
+
+ SvxContourItem( const BOOL bContoured /*= FALSE*/,
+ const USHORT nId );
+
+ // "pure virtual Methoden" vom SfxPoolItem
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual SvStream& Store(SvStream &, USHORT nItemVersion) const;
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ inline SvxContourItem& operator=(const SvxContourItem& rCont)
+ {
+ SetValue(rCont.GetValue());
+ return *this;
+ }
+};
+
+#endif
+
diff --git a/editeng/inc/editeng/colritem.hxx b/editeng/inc/editeng/colritem.hxx
new file mode 100644
index 0000000000..017d4d0908
--- /dev/null
+++ b/editeng/inc/editeng/colritem.hxx
@@ -0,0 +1,98 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: colritem.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_COLRITEM_HXX
+#define _SVX_COLRITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/poolitem.hxx>
+#include <tools/color.hxx>
+#include <editeng/editengdllapi.h>
+
+class SvXMLUnitConverter;
+namespace rtl
+{
+ class OUString;
+}
+
+// class SvxColorItem ----------------------------------------------------
+
+/* [Beschreibung]
+
+ Dieses Item beschreibt eine Farbe.
+*/
+
+#define VERSION_USEAUTOCOLOR 1
+
+class EDITENG_DLLPUBLIC SvxColorItem : public SfxPoolItem
+{
+private:
+ Color mColor;
+
+public:
+ TYPEINFO();
+
+ SvxColorItem( const USHORT nId );
+ SvxColorItem( const Color& aColor, const USHORT nId );
+ SvxColorItem( SvStream& rStrm, const USHORT nId );
+ SvxColorItem( const SvxColorItem& rCopy );
+ ~SvxColorItem();
+
+ // "pure virtual Methoden" vom SfxPoolItem
+ virtual int operator==( const SfxPoolItem& ) const;
+ virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
+ virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
+ virtual USHORT GetVersion( USHORT nFileVersion ) const;
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual SvStream& Store(SvStream &, USHORT nItemVersion) const;
+
+ inline SvxColorItem& operator=(const SvxColorItem& rColor)
+ {
+ SetValue( rColor.GetValue() );
+ return *this;
+ }
+
+ const Color& GetValue() const
+ {
+ return mColor;
+ }
+ void SetValue( const Color& rNewCol );
+
+};
+
+#endif
+
diff --git a/editeng/inc/editeng/crsditem.hxx b/editeng/inc/editeng/crsditem.hxx
new file mode 100644
index 0000000000..b728e3af75
--- /dev/null
+++ b/editeng/inc/editeng/crsditem.hxx
@@ -0,0 +1,96 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: crsditem.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_CRSDITEM_HXX
+#define _SVX_CRSDITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <vcl/vclenum.hxx>
+#include <svl/eitem.hxx>
+#include <editeng/editengdllapi.h>
+
+class SvXMLUnitConverter;
+namespace rtl
+{
+ class OUString;
+}
+
+// class SvxCrossedOutItem -----------------------------------------------
+
+/*
+ [Beschreibung]
+ Dieses Item beschreibt, ob und wie durchstrichen ist.
+*/
+
+class EDITENG_DLLPUBLIC SvxCrossedOutItem : public SfxEnumItem
+{
+public:
+ TYPEINFO();
+
+ SvxCrossedOutItem( const FontStrikeout eSt /*= STRIKEOUT_NONE*/,
+ const USHORT nId );
+
+ // "pure virtual Methoden" vom SfxPoolItem
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual SvStream& Store(SvStream &, USHORT nItemVersion) const;
+ virtual String GetValueTextByPos( USHORT nPos ) const;
+ virtual USHORT GetValueCount() const;
+ virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
+ virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
+
+ // MS VC4.0 kommt durcheinander
+ void SetValue( USHORT nNewVal )
+ {SfxEnumItem::SetValue(nNewVal); }
+
+ virtual int HasBoolValue() const;
+ virtual BOOL GetBoolValue() const;
+ virtual void SetBoolValue( BOOL bVal );
+
+ inline SvxCrossedOutItem& operator=(const SvxCrossedOutItem& rCross)
+ {
+ SetValue( rCross.GetValue() );
+ return *this;
+ }
+
+ // enum cast
+ FontStrikeout GetStrikeout() const
+ { return (FontStrikeout)GetValue(); }
+ void SetStrikeout( FontStrikeout eNew )
+ { SetValue( (USHORT)eNew ); }
+};
+
+#endif // #ifndef _SVX_CRSDITEM_HXX
+
diff --git a/editeng/inc/editeng/cscoitem.hxx b/editeng/inc/editeng/cscoitem.hxx
new file mode 100644
index 0000000000..ac90cf4de6
--- /dev/null
+++ b/editeng/inc/editeng/cscoitem.hxx
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: cscoitem.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_CSCOITEM_HXX
+#define _SVX_CSCOITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <tools/string.hxx>
+#include <editeng/colritem.hxx>
+#include <editeng/editengdllapi.h>
+
+// class SvxCharSetColorItem ---------------------------------------------
+
+/* [Beschreibung]
+
+ PB: wird nur intern im Reader des Writers benoetigt
+*/
+
+class EDITENG_DLLPUBLIC SvxCharSetColorItem : public SvxColorItem
+{
+ rtl_TextEncoding eFrom;
+public:
+ TYPEINFO();
+
+ SvxCharSetColorItem( const USHORT nId );
+ SvxCharSetColorItem( const Color& aColor, const rtl_TextEncoding eFrom,
+ const USHORT nId );
+
+ // "pure virtual Methoden" vom SfxPoolItem
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual SvStream& Store(SvStream &, USHORT nItemVersion) const;
+
+ inline rtl_TextEncoding& GetCharSet() { return eFrom; }
+ inline rtl_TextEncoding GetCharSet() const { return eFrom; }
+
+ inline SvxCharSetColorItem& operator=(const SvxCharSetColorItem& rColor)
+ {
+ SetValue( rColor.GetValue() );
+ eFrom = rColor.GetCharSet();
+ return *this;
+ }
+};
+
+#endif
+
diff --git a/editeng/inc/editeng/editdata.hxx b/editeng/inc/editeng/editdata.hxx
new file mode 100644
index 0000000000..bed0c6cc86
--- /dev/null
+++ b/editeng/inc/editeng/editdata.hxx
@@ -0,0 +1,391 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: editdata.hxx,v $
+ * $Revision: 1.5 $
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+// MyEDITDATA, wegen exportiertem EditData
+#ifndef _MyEDITDATA_HXX
+#define _MyEDITDATA_HXX
+
+#include <tools/string.hxx>
+#include "editeng/editengdllapi.h"
+
+#include <svl/svarray.hxx>
+
+class SfxItemSet;
+class SfxPoolItem;
+class SvParser;
+class SvxFieldItem;
+
+enum EETextFormat { EE_FORMAT_TEXT = 0x20, EE_FORMAT_RTF, EE_FORMAT_BIN = 0x31, EE_FORMAT_HTML, EE_FORMAT_XML };
+enum EEHorizontalTextDirection { EE_HTEXTDIR_DEFAULT, EE_HTEXTDIR_L2R, EE_HTEXTDIR_R2L };
+enum EESelectionMode { EE_SELMODE_STD, EE_SELMODE_TXTONLY, EE_SELMODE_HIDDEN };
+ // EE_SELMODE_HIDDEN can be used to completely hide the selection. This is usefull e.g. when you want show the selection
+ // only as long as your window (which the edit view works on) has the focus
+enum EESpellState { EE_SPELL_OK, EE_SPELL_NOLANGUAGE, EE_SPELL_LANGUAGENOTINSTALLED, EE_SPELL_NOSPELLER, EE_SPELL_ERRORFOUND };
+enum EVAnchorMode {
+ ANCHOR_TOP_LEFT, ANCHOR_VCENTER_LEFT, ANCHOR_BOTTOM_LEFT,
+ ANCHOR_TOP_HCENTER, ANCHOR_VCENTER_HCENTER, ANCHOR_BOTTOM_HCENTER,
+ ANCHOR_TOP_RIGHT, ANCHOR_VCENTER_RIGHT, ANCHOR_BOTTOM_RIGHT };
+
+#define EE_PARA_NOT_FOUND 0xFFFF
+#define EE_PARA_APPEND 0xFFFF
+#define EE_PARA_ALL 0xFFFF
+#define EE_APPEND 0xFFFF
+#define EE_INDEX_NOT_FOUND 0xFFFF
+
+// Fehlermeldungen fuer Read/Write-Methode
+#define EE_READWRITE_OK (SVSTREAM_OK)
+#define EE_READWRITE_WRONGFORMAT (SVSTREAM_ERRBASE_USER+1)
+#define EE_READWRITE_GENERALERROR (SVSTREAM_ERRBASE_USER+2)
+
+#define EDITUNDO_START 100
+#define EDITUNDO_REMOVECHARS 100
+#define EDITUNDO_CONNECTPARAS 101
+#define EDITUNDO_REMOVEFEATURE 102
+#define EDITUNDO_MOVEPARAGRAPHS 103
+#define EDITUNDO_INSERTFEATURE 104
+#define EDITUNDO_SPLITPARA 105
+#define EDITUNDO_INSERTCHARS 106
+#define EDITUNDO_DELCONTENT 107
+#define EDITUNDO_DELETE 108
+#define EDITUNDO_CUT 109
+#define EDITUNDO_PASTE 110
+#define EDITUNDO_INSERT 111
+#define EDITUNDO_SRCHANDREPL 112
+#define EDITUNDO_MOVEPARAS 113
+#define EDITUNDO_PARAATTRIBS 114
+#define EDITUNDO_ATTRIBS 115
+#define EDITUNDO_DRAGANDDROP 116
+#define EDITUNDO_READ 117
+#define EDITUNDO_STYLESHEET 118
+#define EDITUNDO_REPLACEALL 119
+#define EDITUNDO_STRETCH 120
+#define EDITUNDO_RESETATTRIBS 121
+#define EDITUNDO_INDENTBLOCK 122
+#define EDITUNDO_UNINDENTBLOCK 123
+#define EDITUNDO_MARKSELECTION 124
+#define EDITUNDO_TRANSLITERATE 125
+#define EDITUNDO_END 125
+
+#define EDITUNDO_USER 200
+
+
+#define EE_COMPATIBLEMODE_PARAGRAPHSPACING_SUMMATION 0x0001
+#define EE_COMPATIBLEMODE_PARAGRAPHSPACING_BEFOREFIRSTPARAGRAPH 0x0002
+
+class EditView;
+class EditEngine;
+class ImpEditView;
+class ImpEditEngine;
+class EditTextObject;
+class SfxStyleSheet;
+
+#define RGCHK_NONE 0 // Keine Korrektur der ViusArea beim Scrollen
+#define RGCHK_NEG 1 // Keine neg. ViusArea beim Scrollen
+#define RGCHK_PAPERSZ1 2 // VisArea muss in Papierbreite,Texthoehe liegen
+
+struct EPosition
+{
+ USHORT nPara;
+ xub_StrLen nIndex;
+
+ EPosition() :
+ nPara( EE_PARA_NOT_FOUND ),
+ nIndex( EE_INDEX_NOT_FOUND )
+ {
+ }
+
+ EPosition( USHORT nPara_, xub_StrLen nPos_ ) :
+ nPara( nPara_ ),
+ nIndex( nPos_ )
+ {
+ }
+};
+
+struct ESelection
+{
+ USHORT nStartPara;
+ xub_StrLen nStartPos;
+ USHORT nEndPara;
+ xub_StrLen nEndPos;
+
+ ESelection() : nStartPara( 0 ), nStartPos( 0 ), nEndPara( 0 ), nEndPos( 0 ) {}
+
+ ESelection( USHORT nStPara, xub_StrLen nStPos, USHORT nEPara, xub_StrLen nEPos ) :
+ nStartPara( nStPara ),
+ nStartPos( nStPos ),
+ nEndPara( nEPara ),
+ nEndPos( nEPos )
+ {
+ }
+
+ ESelection( USHORT nPara, xub_StrLen nPos ) :
+ nStartPara( nPara ),
+ nStartPos( nPos ),
+ nEndPara( nPara ),
+ nEndPos( nPos )
+ {
+ }
+
+ void Adjust();
+ BOOL IsEqual( const ESelection& rS ) const;
+ BOOL IsLess( const ESelection& rS ) const;
+ BOOL IsGreater( const ESelection& rS ) const;
+ BOOL IsZero() const;
+ BOOL HasRange() const;
+};
+
+inline BOOL ESelection::HasRange() const
+{
+ return ( nStartPara != nEndPara ) || ( nStartPos != nEndPos );
+}
+
+inline sal_Bool ESelection::IsZero() const
+{
+ return ( ( nStartPara == 0 ) && ( nStartPos == 0 ) &&
+ ( nEndPara == 0 ) && ( nEndPos == 0 ) );
+}
+
+inline sal_Bool ESelection::IsEqual( const ESelection& rS ) const
+{
+ return ( ( nStartPara == rS.nStartPara ) && ( nStartPos == rS.nStartPos ) &&
+ ( nEndPara == rS.nEndPara ) && ( nEndPos == rS.nEndPos ) );
+}
+
+inline sal_Bool ESelection::IsLess( const ESelection& rS ) const
+{
+ // Selektion muss justiert sein.
+ // => Nur pueffen, ob Ende von 'this' < Start von rS
+
+ if ( ( nEndPara < rS.nStartPara ) ||
+ ( ( nEndPara == rS.nStartPara ) && ( nEndPos < rS.nStartPos ) && !IsEqual( rS ) ) )
+ {
+ return sal_True;
+ }
+ return sal_False;
+}
+
+inline sal_Bool ESelection::IsGreater( const ESelection& rS ) const
+{
+ // Selektion muss justiert sein.
+ // => Nur pueffen, ob Ende von 'this' > Start von rS
+
+ if ( ( nStartPara > rS.nEndPara ) ||
+ ( ( nStartPara == rS.nEndPara ) && ( nStartPos > rS.nEndPos ) && !IsEqual( rS ) ) )
+ {
+ return sal_True;
+ }
+ return sal_False;
+}
+
+inline void ESelection::Adjust()
+{
+ sal_Bool bSwap = sal_False;
+ if ( nStartPara > nEndPara )
+ bSwap = sal_True;
+ else if ( ( nStartPara == nEndPara ) && ( nStartPos > nEndPos ) )
+ bSwap = sal_True;
+
+ if ( bSwap )
+ {
+ sal_uInt16 nSPar = nStartPara; sal_uInt16 nSPos = nStartPos;
+ nStartPara = nEndPara; nStartPos = nEndPos;
+ nEndPara = nSPar; nEndPos = nSPos;
+ }
+}
+
+struct EDITENG_DLLPUBLIC EFieldInfo
+{
+ SvxFieldItem* pFieldItem;
+ String aCurrentText;
+ EPosition aPosition;
+
+ EFieldInfo();
+ EFieldInfo( const SvxFieldItem& rFieldItem, USHORT nPara, USHORT nPos );
+ ~EFieldInfo();
+
+ EFieldInfo( const EFieldInfo& );
+ EFieldInfo& operator= ( const EFieldInfo& );
+};
+
+// -----------------------------------------------------------------------
+
+enum ImportState {
+ RTFIMP_START, RTFIMP_END, // nur pParser, nPara, nIndex
+ RTFIMP_NEXTTOKEN, RTFIMP_UNKNOWNATTR, // nToken+nTokenValue
+ RTFIMP_SETATTR, // pAttrs
+ RTFIMP_INSERTTEXT, // aText
+ RTFIMP_INSERTPARA, // -
+ HTMLIMP_START, HTMLIMP_END, // nur pParser, nPara, nIndex
+ HTMLIMP_NEXTTOKEN, HTMLIMP_UNKNOWNATTR, // nToken
+ HTMLIMP_SETATTR, // pAttrs
+ HTMLIMP_INSERTTEXT, // aText
+ HTMLIMP_INSERTPARA, HTMLIMP_INSERTFIELD // -
+ };
+
+struct ImportInfo
+{
+ SvParser* pParser;
+ ESelection aSelection;
+ ImportState eState;
+
+ int nToken;
+ short nTokenValue;
+
+ String aText;
+
+ void* pAttrs; // RTF: SvxRTFItemStackType*, HTML: SfxItemSet*
+
+ ImportInfo( ImportState eState, SvParser* pPrsrs, const ESelection& rSel );
+ ~ImportInfo();
+};
+
+#define EE_SEARCH_WORDONLY 0x0001
+#define EE_SEARCH_EXACT 0x0002
+#define EE_SEARCH_BACKWARD 0x0004
+#define EE_SEARCH_INSELECTION 0x0008
+#define EE_SEARCH_REGEXPR 0x0010
+#define EE_SEARCH_PATTERN 0x0020
+
+struct ParagraphInfos
+{
+ ParagraphInfos()
+ : nParaHeight( 0 )
+ , nLines( 0 )
+ , nFirstLineStartX( 0 )
+ , nFirstLineOffset( 0 )
+ , nFirstLineHeight( 0 )
+ , nFirstLineTextHeight ( 0 )
+ , nFirstLineMaxAscent( 0 )
+ , bValid( 0 )
+ {}
+ USHORT nParaHeight;
+ USHORT nLines;
+
+ USHORT nFirstLineStartX;
+
+ USHORT nFirstLineOffset;
+ USHORT nFirstLineHeight;
+ USHORT nFirstLineTextHeight;
+ USHORT nFirstLineMaxAscent;
+
+ BOOL bValid; // Bei einer Abfrage waehrend der Formatierung ungueltig!
+};
+
+struct EECharAttrib
+{
+ const SfxPoolItem* pAttr;
+
+ USHORT nPara;
+ xub_StrLen nStart;
+ xub_StrLen nEnd;
+};
+
+SV_DECL_VARARR_VISIBILITY( EECharAttribArray, EECharAttrib, 0, 4, EDITENG_DLLPUBLIC )
+
+struct MoveParagraphsInfo
+{
+ USHORT nStartPara;
+ USHORT nEndPara;
+ USHORT nDestPara;
+
+ MoveParagraphsInfo( USHORT nS, USHORT nE, USHORT nD )
+ { nStartPara = nS; nEndPara = nE; nDestPara = nD; }
+};
+
+#define EE_ACTION_PASTE 1
+#define EE_ACTION_DROP 2
+
+struct PasteOrDropInfos
+{
+ USHORT nAction;
+ USHORT nStartPara;
+ USHORT nEndPara;
+
+ PasteOrDropInfos() : nAction(0), nStartPara(0xFFFF), nEndPara(0xFFFF) {}
+};
+
+enum EENotifyType
+{
+ /// EditEngine text was modified
+ EE_NOTIFY_TEXTMODIFIED,
+
+ /// A paragraph was inserted into the EditEngine
+ EE_NOTIFY_PARAGRAPHINSERTED,
+
+ /// A paragraph was removed from the EditEngine
+ EE_NOTIFY_PARAGRAPHREMOVED,
+
+ /// Multiple paragraphs have been removed from the EditEngine
+ EE_NOTIFY_PARAGRAPHSMOVED,
+
+ /// The height of at least one paragraph has changed
+ EE_NOTIFY_TEXTHEIGHTCHANGED,
+
+ /// The view area of the EditEngine scrolled
+ EE_NOTIFY_TEXTVIEWSCROLLED,
+
+ /// The selection and/or the cursor position has changed
+ EE_NOTIFY_TEXTVIEWSELECTIONCHANGED,
+
+ /** Denotes the beginning of a collected amount of EditEngine
+ notification events. This event itself is not queued, but sent
+ immediately
+ */
+ EE_NOTIFY_BLOCKNOTIFICATION_START,
+
+ /** Denotes the end of a collected amount of EditEngine
+ notification events. After this event, the queue is empty, and
+ a high-level operation such as "insert paragraph" is finished
+ */
+ EE_NOTIFY_BLOCKNOTIFICATION_END,
+
+ /// Denotes the beginning of a high-level action triggered by a key press
+ EE_NOTIFY_INPUT_START,
+
+ /// Denotes the end of a high-level action triggered by a key press
+ EE_NOTIFY_INPUT_END
+};
+
+struct EENotify
+{
+ EENotifyType eNotificationType;
+ EditEngine* pEditEngine;
+ EditView* pEditView;
+
+ USHORT nParagraph; // only valid in PARAGRAPHINSERTED/EE_NOTIFY_PARAGRAPHREMOVED
+
+ USHORT nParam1;
+ USHORT nParam2;
+
+ EENotify( EENotifyType eType )
+ { eNotificationType = eType; pEditEngine = NULL; pEditView = NULL; nParagraph = EE_PARA_NOT_FOUND; nParam1 = 0; nParam2 = 0; }
+};
+
+#endif // _MyEDITDATA_HXX
diff --git a/editeng/inc/editeng/editeng.hxx b/editeng/inc/editeng/editeng.hxx
new file mode 100644
index 0000000000..6a8fd1e288
--- /dev/null
+++ b/editeng/inc/editeng/editeng.hxx
@@ -0,0 +1,489 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: editeng.hxx,v $
+ * $Revision: 1.8.14.2 $
+ *
+ * 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.
+ *
+ ************************************************************************/
+// MyEDITENG, wegen exportiertem EditEng
+#ifndef _MyEDITENG_HXX
+#define _MyEDITENG_HXX
+
+class ImpEditEngine;
+class EditView;
+class OutputDevice;
+class EditUndo;
+class SvxFont;
+class SfxUndoManager;
+class SfxItemPool;
+class SfxStyleSheet;
+class String;
+class SfxStyleSheetPool;
+class SvxSearchItem;
+class SvxFieldItem;
+class SvxCharSetColorItem;
+class SfxUndoAction;
+class MapMode;
+class Color;
+class Font;
+class KeyEvent;
+class PolyPolygon;
+class Size;
+class Point;
+class Rectangle;
+class SvStream;
+class Link;
+class OutputDevice;
+class SvUShorts;
+class SfxPoolItem;
+class SvxNumBulletItem;
+class SvxBulletItem;
+class SvxLRSpaceItem;
+class SvKeyValueIterator;
+class SvxForbiddenCharactersTable;
+class SvxNumberFormat;
+class FontList;
+
+#include <vos/ref.hxx>
+#include <vector>
+#include <com/sun/star/uno/Reference.h>
+
+namespace com { namespace sun { namespace star {
+ namespace linguistic2 {
+ class XSpellChecker1;
+ class XHyphenator;
+ }
+ namespace datatransfer {
+ class XTransferable;
+ }
+ namespace lang {
+ struct Locale;
+ }
+}}}
+namespace svx{
+struct SpellPortion;
+typedef std::vector<SpellPortion> SpellPortions;
+}
+
+namespace basegfx { class B2DPolyPolygon; }
+#include <rsc/rscsfx.hxx>
+#ifndef _EDITDATA_HXX
+#include <editeng/editdata.hxx>
+#endif
+#include <i18npool/lang.h>
+#include "editeng/editengdllapi.h"
+
+#include <tools/rtti.hxx> // wegen typedef TypeId
+
+#include <editeng/eedata.hxx>
+class SvxFieldData;
+
+//////////////////////////////////////////////////////////////////////////////
+
+/** values for GetAttribs
+*/
+const sal_uInt8 EditEngineAttribs_All = 0; /// returns all attributes even when theire not set
+const sal_uInt8 EditEngineAttribs_HardAndPara = 1; /// returns all attributes set on paragraph and on portions
+const sal_uInt8 EditEngineAttribs_OnlyHard = 2; /// returns only attributes hard set on portions
+
+#define GETATTRIBS_STYLESHEET (sal_uInt8)0x01
+#define GETATTRIBS_PARAATTRIBS (sal_uInt8)0x02
+#define GETATTRIBS_CHARATTRIBS (sal_uInt8)0x04
+#define GETATTRIBS_ALL (sal_uInt8)0xFF
+
+class EDITENG_DLLPUBLIC EditEngine
+{
+ friend class EditView;
+ friend class ImpEditView;
+ friend class EditDbg;
+ friend class Outliner;
+
+private:
+ ImpEditEngine* pImpEditEngine;
+
+ EDITENG_DLLPRIVATE EditEngine( const EditEngine& );
+ EDITENG_DLLPRIVATE EditEngine& operator=( const EditEngine& );
+
+//#if 0 // _SOLAR__PRIVATE
+ EDITENG_DLLPRIVATE BOOL PostKeyEvent( const KeyEvent& rKeyEvent, EditView* pView );
+//#endif
+
+protected:
+
+
+public:
+ EditEngine( SfxItemPool* pItemPool );
+ virtual ~EditEngine();
+
+ const SfxItemSet& GetEmptyItemSet();
+
+ void SetDefTab( USHORT nDefTab );
+ USHORT GetDefTab() const;
+
+ void SetRefDevice( OutputDevice* pRefDef );
+ OutputDevice* GetRefDevice() const;
+
+ void SetRefMapMode( const MapMode& rMapMode );
+ MapMode GetRefMapMode();
+
+ void SetUpdateMode( BOOL bUpdate );
+ BOOL GetUpdateMode() const;
+
+ void SetBackgroundColor( const Color& rColor );
+ Color GetBackgroundColor() const;
+ Color GetAutoColor() const;
+ void EnableAutoColor( BOOL b );
+ BOOL IsAutoColorEnabled() const;
+ void ForceAutoColor( BOOL b );
+ BOOL IsForceAutoColor() const;
+
+ void InsertView( EditView* pEditView, USHORT nIndex = EE_APPEND );
+ EditView* RemoveView( EditView* pEditView );
+ EditView* RemoveView( USHORT nIndex = EE_APPEND );
+ EditView* GetView( USHORT nIndex = 0 ) const;
+ USHORT GetViewCount() const;
+ BOOL HasView( EditView* pView ) const;
+ EditView* GetActiveView() const;
+ void SetActiveView( EditView* pView );
+
+ void SetPaperSize( const Size& rSize );
+ const Size& GetPaperSize() const;
+
+ void SetVertical( BOOL bVertical );
+ BOOL IsVertical() const;
+
+ void SetFixedCellHeight( BOOL bUseFixedCellHeight );
+ BOOL IsFixedCellHeight() const;
+
+ void SetDefaultHorizontalTextDirection( EEHorizontalTextDirection eHTextDir );
+ EEHorizontalTextDirection GetDefaultHorizontalTextDirection() const;
+
+ USHORT GetScriptType( const ESelection& rSelection ) const;
+ LanguageType GetLanguage( USHORT nPara, USHORT nPos ) const;
+
+ void TransliterateText( const ESelection& rSelection, sal_Int32 nTransliterationMode );
+
+ void SetAsianCompressionMode( USHORT nCompression );
+ USHORT GetAsianCompressionMode() const;
+
+ void SetKernAsianPunctuation( BOOL bEnabled );
+ BOOL IsKernAsianPunctuation() const;
+
+ void SetAddExtLeading( BOOL b );
+ BOOL IsAddExtLeading() const;
+
+ void SetPolygon( const basegfx::B2DPolyPolygon& rPolyPolygon );
+ void SetPolygon( const basegfx::B2DPolyPolygon& rPolyPolygon, const basegfx::B2DPolyPolygon* pLinePolyPolygon);
+ void ClearPolygon();
+ const PolyPolygon* GetPolygon();
+
+ const Size& GetMinAutoPaperSize() const;
+ void SetMinAutoPaperSize( const Size& rSz );
+
+ const Size& GetMaxAutoPaperSize() const;
+ void SetMaxAutoPaperSize( const Size& rSz );
+
+ String GetText( LineEnd eEnd = LINEEND_LF ) const;
+ String GetText( const ESelection& rSelection, const LineEnd eEnd = LINEEND_LF ) const;
+ sal_uInt32 GetTextLen() const;
+ sal_uInt32 GetTextHeight() const;
+ sal_uInt32 CalcTextWidth();
+
+ String GetText( USHORT nParagraph ) const;
+ xub_StrLen GetTextLen( USHORT nParagraph ) const;
+ sal_uInt32 GetTextHeight( USHORT nParagraph ) const;
+
+ USHORT GetParagraphCount() const;
+
+ USHORT GetLineCount( USHORT nParagraph ) const;
+ xub_StrLen GetLineLen( USHORT nParagraph, USHORT nLine ) const;
+ void GetLineBoundaries( /*out*/USHORT &rStart, /*out*/USHORT &rEnd, USHORT nParagraph, USHORT nLine ) const;
+ USHORT GetLineNumberAtIndex( USHORT nPara, USHORT nIndex ) const;
+ sal_uInt32 GetLineHeight( USHORT nParagraph, USHORT nLine = 0 );
+ USHORT GetFirstLineOffset( USHORT nParagraph );
+ ParagraphInfos GetParagraphInfos( USHORT nPara );
+ USHORT FindParagraph( long nDocPosY );
+ EPosition FindDocPosition( const Point& rDocPos ) const;
+ Rectangle GetCharacterBounds( const EPosition& rPos ) const;
+
+ String GetWord( USHORT nPara, xub_StrLen nIndex );
+
+ ESelection GetWord( const ESelection& rSelection, USHORT nWordType ) const;
+ ESelection WordLeft( const ESelection& rSelection, USHORT nWordType ) const;
+ ESelection WordRight( const ESelection& rSelection, USHORT nWordType ) const;
+ ESelection CursorLeft( const ESelection& rSelection, USHORT nCharacterIteratorMode ) const;
+ ESelection CursorRight( const ESelection& rSelection, USHORT nCharacterIteratorMode ) const;
+
+ void Clear();
+ void SetText( const String& rStr );
+
+ EditTextObject* CreateTextObject();
+ EditTextObject* CreateTextObject( USHORT nPara, USHORT nParas = 1 );
+ EditTextObject* CreateTextObject( const ESelection& rESelection );
+ void SetText( const EditTextObject& rTextObject );
+
+ void RemoveParagraph( USHORT nPara );
+ void InsertParagraph( USHORT nPara, const EditTextObject& rTxtObj );
+ void InsertParagraph( USHORT nPara, const String& rText);
+
+ void SetText( USHORT nPara, const EditTextObject& rTxtObj );
+ void SetText( USHORT nPara, const String& rText);
+
+ virtual void SetParaAttribs( USHORT nPara, const SfxItemSet& rSet );
+ virtual const SfxItemSet& GetParaAttribs( USHORT nPara ) const;
+
+ void GetCharAttribs( USHORT nPara, EECharAttribArray& rLst ) const;
+
+ SfxItemSet GetAttribs( USHORT nPara, USHORT nStart, USHORT nEnd, sal_uInt8 nFlags = 0xFF ) const;
+ SfxItemSet GetAttribs( const ESelection& rSel, BOOL bOnlyHardAttrib = EditEngineAttribs_All );
+
+ BOOL HasParaAttrib( USHORT nPara, USHORT nWhich ) const;
+ const SfxPoolItem& GetParaAttrib( USHORT nPara, USHORT nWhich );
+
+ Font GetStandardFont( USHORT nPara );
+ SvxFont GetStandardSvxFont( USHORT nPara );
+
+ void RemoveAttribs( const ESelection& rSelection, sal_Bool bRemoveParaAttribs, sal_uInt16 nWhich );
+
+ void ShowParagraph( USHORT nParagraph, BOOL bShow = TRUE );
+ BOOL IsParagraphVisible( USHORT nParagraph );
+
+ SfxUndoManager& GetUndoManager();
+ void UndoActionStart( USHORT nId );
+ void UndoActionEnd( USHORT nId );
+ BOOL IsInUndo();
+
+ void EnableUndo( BOOL bEnable );
+ BOOL IsUndoEnabled();
+
+ /** returns the value last used for bTryMerge while calling ImpEditEngine::InsertUndo
+ This is currently used in a bad but needed hack to get undo actions merged in the
+ OutlineView in impress. Do not use it unless you want to sell your soul too! */
+ BOOL HasTriedMergeOnLastAddUndo() const;
+
+ void ClearModifyFlag();
+ void SetModified();
+ BOOL IsModified() const;
+
+ void SetModifyHdl( const Link& rLink );
+ Link GetModifyHdl() const;
+
+ BOOL IsInSelectionMode() const;
+ void StopSelectionMode();
+
+ void StripPortions();
+ void GetPortions( USHORT nPara, SvUShorts& rList );
+
+ long GetFirstLineStartX( USHORT nParagraph );
+ Point GetDocPosTopLeft( USHORT nParagraph );
+ Point GetDocPos( const Point& rPaperPos ) const;
+ BOOL IsTextPos( const Point& rPaperPos, USHORT nBorder = 0 );
+
+ // StartDocPos entspr. VisArea.TopLeft().
+ void Draw( OutputDevice* pOutDev, const Rectangle& rOutRect );
+ void Draw( OutputDevice* pOutDev, const Rectangle& rOutRect, const Point& rStartDocPos );
+ void Draw( OutputDevice* pOutDev, const Rectangle& rOutRect, const Point& rStartDocPos, BOOL bClip );
+ void Draw( OutputDevice* pOutDev, const Point& rStartPos, short nOrientation = 0 );
+
+// ULONG: Fehlercode des Streams.
+ ULONG Read( SvStream& rInput, const String& rBaseURL, EETextFormat, SvKeyValueIterator* pHTTPHeaderAttrs = NULL );
+ ULONG Write( SvStream& rOutput, EETextFormat );
+
+ void SetStatusEventHdl( const Link& rLink );
+ Link GetStatusEventHdl() const;
+
+ void SetNotifyHdl( const Link& rLink );
+ Link GetNotifyHdl() const;
+
+ void SetImportHdl( const Link& rLink );
+ Link GetImportHdl() const;
+
+ // Flat-Mode: Keine Zeichenformatierung auswerten => Fuer Outliner
+ BOOL IsFlatMode() const;
+ void SetFlatMode( BOOL bFlat );
+
+ void SetControlWord( sal_uInt32 nWord );
+ sal_uInt32 GetControlWord() const;
+
+ void QuickSetAttribs( const SfxItemSet& rSet, const ESelection& rSel );
+ void QuickRemoveCharAttribs( USHORT nPara, USHORT nWhich = 0 );
+ void QuickMarkInvalid( const ESelection& rSel );
+ void QuickFormatDoc( BOOL bFull = FALSE );
+ void QuickInsertField( const SvxFieldItem& rFld, const ESelection& rSel );
+ void QuickInsertLineBreak( const ESelection& rSel );
+ void QuickInsertText( const String& rText, const ESelection& rSel );
+ void QuickDelete( const ESelection& rSel );
+ void QuickMarkToBeRepainted( USHORT nPara );
+
+ void SetGlobalCharStretching( USHORT nX = 100, USHORT nY = 100 );
+ void GetGlobalCharStretching( USHORT& rX, USHORT& rY );
+ void DoStretchChars( USHORT nX, USHORT nY );
+
+ void SetEditTextObjectPool( SfxItemPool* pPool );
+ SfxItemPool* GetEditTextObjectPool() const;
+
+ void SetStyleSheetPool( SfxStyleSheetPool* pSPool );
+ SfxStyleSheetPool* GetStyleSheetPool();
+
+ void SetStyleSheet( USHORT nPara, SfxStyleSheet* pStyle );
+ SfxStyleSheet* GetStyleSheet( USHORT nPara ) const;
+
+ void SetWordDelimiters( const String& rDelimiters );
+ String GetWordDelimiters() const;
+
+ void SetGroupChars( const String& rChars );
+ String GetGroupChars() const;
+
+ void EnablePasteSpecial( BOOL bEnable );
+ BOOL IsPasteSpecialEnabled() const;
+
+ void EnableIdleFormatter( BOOL bEnable );
+ BOOL IsIdleFormatterEnabled() const;
+
+ void EraseVirtualDevice();
+
+ void SetSpeller( ::com::sun::star::uno::Reference<
+ ::com::sun::star::linguistic2::XSpellChecker1 > &xSpeller );
+ ::com::sun::star::uno::Reference<
+ ::com::sun::star::linguistic2::XSpellChecker1 >
+ GetSpeller();
+ ::com::sun::star::uno::Reference<
+ ::com::sun::star::linguistic2::XHyphenator >
+ GetHyphenator() const;
+ void SetHyphenator( ::com::sun::star::uno::Reference<
+ ::com::sun::star::linguistic2::XHyphenator >& xHyph );
+
+ void SetForbiddenCharsTable( vos::ORef<SvxForbiddenCharactersTable> xForbiddenChars );
+ vos::ORef<SvxForbiddenCharactersTable> GetForbiddenCharsTable() const;
+
+ void SetDefaultLanguage( LanguageType eLang );
+ LanguageType GetDefaultLanguage() const;
+
+ BOOL HasOnlineSpellErrors() const;
+ void CompleteOnlineSpelling();
+
+ void SetBigTextObjectStart( USHORT nStartAtPortionCount );
+ USHORT GetBigTextObjectStart() const;
+ BOOL ShouldCreateBigTextObject() const;
+
+ // Zum schnellen Vorab-Pruefen ohne View:
+ EESpellState HasSpellErrors();
+ BOOL HasText( const SvxSearchItem& rSearchItem );
+
+ //initialize sentence spelling
+ void StartSpelling(EditView& rEditView, sal_Bool bMultipleDoc);
+ //spell and return a sentence
+ bool SpellSentence(EditView& rEditView, ::svx::SpellPortions& rToFill, bool bIsGrammarChecking );
+ // put spell position to start of current sentence
+ void PutSpellingToSentenceStart( EditView& rEditView );
+ //applies a changed sentence
+ void ApplyChangedSentence(EditView& rEditView, const ::svx::SpellPortions& rNewPortions, bool bIsGrammarChecking );
+ //deinitialize sentence spelling
+ void EndSpelling();
+
+ // for text conversion (see also HasSpellErrors)
+ sal_Bool HasConvertibleTextPortion( LanguageType nLang );
+ virtual BOOL ConvertNextDocument();
+
+ BOOL UpdateFields();
+ void RemoveFields( BOOL bKeepFieldText, TypeId aType = NULL );
+
+ USHORT GetFieldCount( USHORT nPara ) const;
+ EFieldInfo GetFieldInfo( USHORT nPara, USHORT nField ) const;
+
+ BOOL IsRightToLeft( USHORT nPara ) const;
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::XTransferable >
+ CreateTransferable( const ESelection& rSelection ) const;
+
+ // MT: Can't create new virtual functions like for ParagraphInserted/Deleted, musst be compatible in SRC638, change later...
+ void SetBeginMovingParagraphsHdl( const Link& rLink );
+ void SetEndMovingParagraphsHdl( const Link& rLink );
+ void SetBeginPasteOrDropHdl( const Link& rLink );
+ void SetEndPasteOrDropHdl( const Link& rLink );
+
+ virtual void PaintingFirstLine( USHORT nPara, const Point& rStartPos, long nBaseLineY, const Point& rOrigin, short nOrientation, OutputDevice* pOutDev );
+ virtual void ParagraphInserted( USHORT nNewParagraph );
+ virtual void ParagraphDeleted( USHORT nDeletedParagraph );
+ virtual void ParagraphConnected( USHORT nLeftParagraph, USHORT nRightParagraph );
+ virtual void ParaAttribsChanged( USHORT nParagraph );
+ virtual void StyleSheetChanged( SfxStyleSheet* pStyle );
+ virtual void ParagraphHeightChanged( USHORT nPara );
+
+ // #101498#
+ virtual void DrawingText(
+ const Point& rStartPos, const String& rText, USHORT nTextStart, USHORT nTextLen, const sal_Int32* pDXArray,
+ const SvxFont& rFont, USHORT nPara, xub_StrLen nIndex, BYTE nRightToLeft,
+ const EEngineData::WrongSpellVector* pWrongSpellVector,
+ const SvxFieldData* pFieldData,
+ bool bEndOfLine,
+ bool bEndOfParagraph,
+ bool bEndOfBullet,
+ const ::com::sun::star::lang::Locale* pLocale,
+ const Color& rOverlineColor,
+ const Color& rTextLineColor);
+
+ virtual String GetUndoComment( USHORT nUndoId ) const;
+ virtual BOOL FormattingParagraph( USHORT nPara );
+ virtual BOOL SpellNextDocument();
+ virtual void FieldClicked( const SvxFieldItem& rField, USHORT nPara, xub_StrLen nPos );
+ virtual void FieldSelected( const SvxFieldItem& rField, USHORT nPara, xub_StrLen nPos );
+ virtual String CalcFieldValue( const SvxFieldItem& rField, USHORT nPara, xub_StrLen nPos, Color*& rTxtColor, Color*& rFldColor );
+
+ // to be overloaded if access to bullet information needs to be provided
+ virtual const SvxNumberFormat * GetNumberFormat( USHORT nPara ) const;
+
+ virtual Rectangle GetBulletArea( USHORT nPara );
+
+ static SfxItemPool* CreatePool( BOOL bLoadRefCounts = TRUE );
+ static SfxItemPool& GetGlobalItemPool();
+ static sal_uInt32 RegisterClipboardFormatName();
+ static BOOL DoesKeyChangeText( const KeyEvent& rKeyEvent );
+ static BOOL DoesKeyMoveCursor( const KeyEvent& rKeyEvent );
+ static BOOL IsSimpleCharInput( const KeyEvent& rKeyEvent );
+ static USHORT GetAvailableSearchOptions();
+ static void SetFontInfoInItemSet( SfxItemSet& rItemSet, const Font& rFont );
+ static void SetFontInfoInItemSet( SfxItemSet& rItemSet, const SvxFont& rFont );
+ static Font CreateFontFromItemSet( const SfxItemSet& rItemSet );
+ static Font CreateFontFromItemSet( const SfxItemSet& rItemSet, USHORT nScriptType );
+ static SvxFont CreateSvxFontFromItemSet( const SfxItemSet& rItemSet );
+ static void ImportBulletItem( SvxNumBulletItem& rNumBullet, USHORT nLevel, const SvxBulletItem* pOldBullet, const SvxLRSpaceItem* pOldLRSpace );
+ static BOOL IsPrintable( sal_Unicode c ) { return ( ( c >= 32 ) && ( c != 127 ) ); }
+ static BOOL HasValidData( const ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::XTransferable >& rTransferable );
+
+ /** sets a link that is called at the beginning of a drag operation at an edit view */
+ void SetBeginDropHdl( const Link& rLink );
+ Link GetBeginDropHdl() const;
+
+ /** sets a link that is called at the end of a drag operation at an edit view */
+ void SetEndDropHdl( const Link& rLink );
+ Link GetEndDropHdl() const;
+
+ /// specifies if auto-correction should capitalize the first word or not (default is on)
+ void SetFirstWordCapitalization( BOOL bCapitalize );
+ BOOL IsFirstWordCapitalization() const;
+};
+
+#endif // _MyEDITENG_HXX
diff --git a/editeng/inc/editeng/editengdllapi.h b/editeng/inc/editeng/editengdllapi.h
new file mode 100644
index 0000000000..a2fca4f87a
--- /dev/null
+++ b/editeng/inc/editeng/editengdllapi.h
@@ -0,0 +1,43 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: editengdllapi.h,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef INCLUDED_EDITENGDLLAPI_H
+#define INCLUDED_EDITENGDLLAPI_H
+
+#include "sal/types.h"
+
+#if defined(EDITENG_DLLIMPLEMENTATION)
+#define EDITENG_DLLPUBLIC SAL_DLLPUBLIC_EXPORT
+#else
+#define EDITENG_DLLPUBLIC SAL_DLLPUBLIC_IMPORT
+#endif
+#define EDITENG_DLLPRIVATE SAL_DLLPRIVATE
+
+#endif
diff --git a/editeng/inc/editeng/editids.hrc b/editeng/inc/editeng/editids.hrc
new file mode 100644
index 0000000000..33f04bc868
--- /dev/null
+++ b/editeng/inc/editeng/editids.hrc
@@ -0,0 +1,1151 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: svxids.hrc,v $
+ * $Revision: 1.10.132.2 $
+ *
+ * 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 _EDIT_SVXIDS_HRC
+#define _EDIT_SVXIDS_HRC
+
+// include ------------------------------------------------------------------
+
+#include <svl/memberid.hrc>
+#include <svl/solar.hrc>
+#include <tools/errcode.hxx>
+
+#define ERRCODE_SVX_LINGU_LANGUAGENOTEXISTS (2UL | ERRCODE_AREA_SVX)
+
+#define ERRCODE_SVX_GRAPHIC_WRONG_FILEFORMAT (8UL | ERRCODE_AREA_SVX | \
+ ERRCODE_CLASS_READ )
+
+#define SID_PARA_VERTALIGN ( SID_SVX_START + 925 )
+#define SID_ATTR_BORDER_OUTER ( SID_SVX_START + 24 )
+#define SID_ATTR_BORDER_SHADOW ( SID_SVX_START + 25 )
+#define SID_ATTR_BRUSH ( SID_SVX_START + 1 )
+#define SID_ATTR_BRUSH_CHAR ( SID_SVX_START + 591 )
+#define SID_ATTR_NUMBERING_RULE ( SID_SVX_START + 855 )
+#define SID_ATTR_TABSTOP ( SID_SVX_START + 2 )
+#define SID_FIELD ( SID_SVX_START + 363 )
+#define SID_ATTR_FRAMEDIRECTION ( SID_SVX_START + 944 )
+#define SID_ATTR_PARA ( SID_SVX_START + 26 )
+#define SID_ATTR_PARA_ADJUST ( SID_SVX_START + 27 )
+#define SID_ATTR_PARA_ADJUST_LEFT ( SID_SVX_START + 28 )
+#define SID_ATTR_PARA_BULLET ( SID_SVX_START + 250 )
+#define SID_ATTR_PARA_OUTLLEVEL ( SID_SVX_START + 300 )
+#define SID_ATTR_PARA_REGISTER ( SID_SVX_START + 413 )
+#define SID_ATTR_PARA_PAGENUM ( SID_SVX_START + 457 )
+#define SID_ATTR_PARA_NUMRULE ( SID_SVX_START + 587 )
+#define SID_ATTR_PARA_SCRIPTSPACE ( SID_SVX_START + 901 )
+#define SID_ATTR_PARA_HANGPUNCTUATION ( SID_SVX_START + 902 )
+#define SID_ATTR_PARA_FORBIDDEN_RULES ( SID_SVX_START + 903 )
+#define SID_ATTR_PARA_SNAPTOGRID ( SID_SVX_START + 945 )
+#define SID_ATTR_PARA_LRSPACE_VERTICAL ( SID_SVX_START + 947 )
+#define SID_ATTR_PARA_LEFT_TO_RIGHT ( SID_SVX_START + 950 )
+#define SID_ATTR_PARA_RIGHT_TO_LEFT ( SID_SVX_START + 951 )
+#define SID_ATTR_PARA_OUTLINE_LEVEL (SID_SVX_START+1092)
+#define SID_ATTR_PARA_ADJUST_RIGHT ( SID_SVX_START + 29 )
+#define SID_ATTR_PARA_ADJUST_CENTER ( SID_SVX_START + 30 )
+#define SID_ATTR_PARA_ADJUST_BLOCK ( SID_SVX_START + 31 )
+#define SID_ATTR_PARA_ADJUST_BLOCKLINE ( SID_SVX_START + 32 )
+#define SID_ATTR_PARA_LINESPACE ( SID_SVX_START + 33 )
+#define SID_ATTR_PARA_LINESPACE_10 ( SID_SVX_START + 34 )
+#define SID_ATTR_PARA_LINESPACE_15 ( SID_SVX_START + 35 )
+#define SID_ATTR_PARA_LINESPACE_20 ( SID_SVX_START + 36 )
+#define SID_ATTR_PARA_PAGEBREAK ( SID_SVX_START + 37 )
+#define SID_ATTR_PARA_HYPHENZONE ( SID_SVX_START + 38 )
+#define SID_ATTR_PARA_SPLIT ( SID_SVX_START + 39 )
+#define SID_ATTR_PARA_ORPHANS ( SID_SVX_START + 40 )
+#define SID_ATTR_PARA_WIDOWS ( SID_SVX_START + 41 )
+#define SID_ATTR_PARA_ULSPACE ( SID_SVX_START + 42 )
+#define SID_ATTR_PARA_LRSPACE ( SID_SVX_START + 43 )
+#define SID_ATTR_PARA_MODEL ( SID_SVX_START + 65 )
+#define SID_ATTR_PARA_KEEP ( SID_SVX_START + 66 )
+#define SID_ATTR_NUMBERING_RULE ( SID_SVX_START + 855 )
+#define SID_ATTR_LRSPACE ( SID_SVX_START + 48 )
+#define SID_ATTR_ULSPACE ( SID_SVX_START + 49 )
+#define SID_ATTR_TABSTOP ( SID_SVX_START + 2 )
+#define SID_ATTR_TABSTOP_DEFAULTS ( SID_SVX_START + 3 )
+#define SID_ATTR_TABSTOP_POS ( SID_SVX_START + 4 )
+#define SID_ATTR_TABSTOP_OFFSET ( SID_SVX_START + 5 )
+#define SID_ATTR_CHAR (SID_SVX_START + 6)
+#define SID_ATTR_CHAR_FONT (SID_SVX_START + 7)
+#define SID_ATTR_CHAR_POSTURE (SID_SVX_START + 8)
+#define SID_ATTR_CHAR_WEIGHT (SID_SVX_START + 9)
+#define SID_ATTR_CHAR_SHADOWED (SID_SVX_START + 10)
+#define SID_ATTR_CHAR_WORDLINEMODE (SID_SVX_START + 11)
+#define SID_ATTR_CHAR_CONTOUR (SID_SVX_START + 12)
+#define SID_ATTR_CHAR_STRIKEOUT (SID_SVX_START + 13)
+#define SID_ATTR_CHAR_UNDERLINE (SID_SVX_START + 14)
+#define SID_ATTR_CHAR_FONTHEIGHT (SID_SVX_START + 15)
+#define SID_ATTR_CHAR_PROPSIZE (SID_SVX_START + 16)
+#define SID_ATTR_CHAR_COLOR (SID_SVX_START + 17)
+#define SID_ATTR_CHAR_KERNING (SID_SVX_START + 18)
+#define SID_ATTR_CHAR_CASEMAP (SID_SVX_START + 19)
+#define SID_ATTR_CHAR_LANGUAGE (SID_SVX_START + 20)
+#define SID_ATTR_CHAR_ESCAPEMENT (SID_SVX_START + 21)
+#define SID_ATTR_CHAR_FONTLIST (SID_SVX_START + 22)
+#define SID_ATTR_CHAR_MAPTYPE (SID_SVX_START + 64)
+#define SID_ATTR_CHAR_AUTOKERN (SID_SVX_START + 67)
+#define SID_ATTR_CHAR_OVERLINE (SID_SVX_START + 68)
+#define SID_ATTR_CHAR_CHARSETCOLOR ( SID_SVX_START + 877 )
+#define SID_ATTR_CHAR_CJK_FONT ( SID_SVX_START + 887 )
+#define SID_ATTR_CHAR_CJK_FONTHEIGHT ( SID_SVX_START + 888 )
+#define SID_ATTR_CHAR_CJK_LANGUAGE ( SID_SVX_START + 889 )
+#define SID_ATTR_CHAR_CJK_POSTURE ( SID_SVX_START + 890 )
+#define SID_ATTR_CHAR_CJK_WEIGHT ( SID_SVX_START + 891 )
+#define SID_ATTR_CHAR_CTL_FONT ( SID_SVX_START + 892 )
+#define SID_ATTR_CHAR_CTL_FONTHEIGHT ( SID_SVX_START + 893 )
+#define SID_ATTR_CHAR_CTL_LANGUAGE ( SID_SVX_START + 894 )
+#define SID_ATTR_CHAR_CTL_POSTURE ( SID_SVX_START + 895 )
+#define SID_ATTR_CHAR_CTL_WEIGHT ( SID_SVX_START + 896 )
+#define SID_ATTR_CHAR_TWO_LINES ( SID_SVX_START + 897 )
+#define SID_ATTR_CHAR_CJK_RUBY ( SID_SVX_START + 898 )
+#define SID_ATTR_CHAR_EMPHASISMARK ( SID_SVX_START + 899 )
+#define SID_ATTR_CHAR_SCRIPTTYPE ( SID_SVX_START + 900 )
+#define SID_ATTR_CHAR_VERTICAL ( SID_SVX_START + 905 )
+
+#define SID_ATTR_CHAR_ROTATED ( SID_SVX_START + 910 )
+#define SID_ATTR_CHAR_SCALEWIDTH ( SID_SVX_START + 911 )
+#define SID_ATTR_CHAR_WIDTH_FIT_TO_LINE ( SID_SVX_START + 919 )
+#define SID_ATTR_CHAR_RELIEF ( SID_SVX_START + 920 )
+#define SID_ATTR_CHAR_HIDDEN ( SID_SVX_START + 989 )
+#define SID_ATTR_CHAR_LATIN_FONT ( SID_SVX_START + 994 )
+#define SID_ATTR_CHAR_LATIN_FONTHEIGHT ( SID_SVX_START + 995 )
+#define SID_ATTR_CHAR_LATIN_LANGUAGE ( SID_SVX_START + 996 )
+#define SID_ATTR_CHAR_LATIN_POSTURE ( SID_SVX_START + 997 )
+#define SID_ATTR_CHAR_LATIN_WEIGHT ( SID_SVX_START + 998 )
+#define SID_TEXT_ALIGNLEFT SID_ATTR_PARA_ADJUST_LEFT
+#define SID_TEXT_ALIGNRIGHT SID_ATTR_PARA_ADJUST_RIGHT
+#define SID_TEXT_ALIGNCENTER SID_ATTR_PARA_ADJUST_CENTER
+#define SID_TEXT_ALIGNBLOCK SID_ATTR_PARA_ADJUST_BLOCK
+
+
+#if 0
+// --------------------------------------------------------------------------
+// Member-Id's
+// --------------------------------------------------------------------------
+
+#define MID_APPFLAG 0x20
+#define MID_AUTOBREAK 0x21
+#define MID_BG_COLOR 0x22
+#define MID_BREAKxxx 0x22
+#define MID_BRUSHSTYLE 0x23
+#define MID_CELLTYPE 0x24
+#define MID_CHARSET 0x25
+#define MID_COMMAND 0x26
+#define MID_CONTENT 0x27
+#define MID_DESCNAMExxx 0x28
+#define MID_DISTANCE 0x29
+#define MID_ESCAPEMENT 0x2a
+#define MID_FAMILY 0x2b
+#define MID_FG_COLOR 0x2c
+#define MID_FIRSTLINE_OFFSET 0x2d
+#define MID_FLAGS 0x2e
+#define MID_FONTFAMILY 0x2f
+#define MID_FONTFAMILYNAME 0x30
+#define MID_FONTPITCH 0x31
+#define MID_FONTSTYLE 0x32
+#define MID_PERCENT 0x33
+#define MID_HYPHEN 0x34
+#define MID_INNER_WIDTH 0x35
+#define MID_INTER_LINESPACE 0x36
+#define MID_INTER_SPACE 0x37
+#define MID_LANDSCAPE 0x38
+
+#define MID_LEFT_MARGIN 0x3a
+#define MID_LINESPACE 0x3b
+#define MID_LOCATION 0x3c
+#define MID_LOWER 0x3d
+#define MID_MAXHYPHENS 0x3e
+#define MID_MINLEAD 0x3f
+#define MID_MINTRAIL 0x40
+#define MID_NUMTYPExxx 0x41
+#define MID_OUTER_WIDTH 0x41
+#define MID_PAGEEND 0x42
+#define MID_POS 0x43
+#define MID_PROPORTIONAL 0x44
+#define MID_REPLACE_STRING 0x45
+#define MID_RIGHT 0x46
+#define MID_RIGHT_MARGIN 0x47
+#define MID_ROW_DIRECTION 0x48
+#define MID_SIZE 0x4a
+#define MID_TRANSPARENT 0x4b
+#define MID_TYPE 0x4c
+#define MID_UPPER 0x4d
+#define MID_USExxx 0x4e
+#define MID_VALUESET 0x4f
+
+#define MID_ADR_CITY 0x50
+#define MID_ADR_COMPANY 0x51
+#define MID_ADR_COUNTRY 0x52
+#define MID_ADR_EMAIL 0x53
+#define MID_ADR_FAX 0x54
+#define MID_ADR_FIRSTNAME 0x55
+#define MID_ADR_ID 0x56
+#define MID_ADR_LASTNAME 0x57
+#define MID_ADR_PHONE 0x58
+#define MID_ADR_PHONEPRIVATE 0x59
+#define MID_ADR_POSITION 0x5a
+#define MID_ADR_STREET 0x5b
+#define MID_ADR_TITLE 0x5c
+#define MID_ADR_ZIPCODE 0x5d
+#define MID_ADR_STATE 0x5e
+
+#define MID_FILENAME 0x6c
+#define MID_FILTERNAME 0x6d
+#define MID_POSITION 0x6e
+
+#define MID_HLINK_NAME 0x6f
+#define MID_HLINK_URL 0x70
+#define MID_HLINK_TARGET 0x71
+#define MID_HLINK_TYPE 0x72
+#define MID_HLINK_TEXT 0x73
+
+#define MID_COUNT 0x74
+#define MID_READONLY 0x76
+
+#define MID_VIEWLAYOUT_COLUMNS 0x77
+#define MID_VIEWLAYOUT_BOOKMODE 0x78
+
+#define MID_ZOOMSLIDER_CURRENTZOOM 0x79
+#define MID_ZOOMSLIDER_SNAPPINGPOINTS 0x7a
+#define MID_ZOOMSLIDER_MINZOOM 0x7b
+#define MID_ZOOMSLIDER_MAXZOOM 0x7c
+
+#define MID_ADR_FATHERSNAME 0x80
+#define MID_ADR_APARTMENT 0x81
+
+
+// --------------------------------------------------------------------------
+// Svx-Id's
+// --------------------------------------------------------------------------
+
+#define SID_ATTR_ZOOM ( SID_SVX_START + 0 )
+#define SID_ATTR_BRUSH ( SID_SVX_START + 1 )
+#define SID_ATTR_BORDER_INNER ( SID_SVX_START + 23 )
+#define SID_ATTR_BORDER_OUTER ( SID_SVX_START + 24 )
+#define SID_ATTR_BORDER_SHADOW ( SID_SVX_START + 25 )
+#define SID_ATTR_POSTIT_AUTHOR ( SID_SVX_START + 44 )
+#define SID_ATTR_POSTIT_DATE ( SID_SVX_START + 45 )
+#define SID_ATTR_POSTIT_TEXT ( SID_SVX_START + 46 )
+#define SID_ATTR_SEARCH ( SID_SVX_START + 47 )
+#define SID_ATTR_PAGE ( SID_SVX_START + 50 )
+#define SID_ATTR_PAGE_SIZE ( SID_SVX_START + 51 )
+#define SID_ATTR_PAGE_MAXSIZE ( SID_SVX_START + 52 )
+#define SID_ATTR_PAGE_PAPERBIN ( SID_SVX_START + 54 )
+#define SID_ATTR_PAGE_APP ( SID_SVX_START + 55 )
+#define SID_ATTR_PAGE_EXT1 ( SID_SVX_START + 56 )
+#define SID_ATTR_PAGE_EXT2 ( SID_SVX_START + 57 )
+#define SID_ATTR_PAGE_HEADERSET ( SID_SVX_START + 58 )
+#define SID_ATTR_PAGE_FOOTERSET ( SID_SVX_START + 59 )
+#define SID_ATTR_PAGE_ON ( SID_SVX_START + 60 )
+#define SID_ATTR_PAGE_DYNAMIC ( SID_SVX_START + 61 )
+#define SID_ATTR_PAGE_SHARED ( SID_SVX_START + 62 )
+#define SID_ATTR_PAGE_BSP ( SID_SVX_START + 63 )
+#define SID_ATTR_DBSESS_SERVERTYPE ( SID_SVX_START + 70 )
+#define SID_ATTR_DBSESS_SERVEROPTS ( SID_SVX_START + 71 )
+#define SID_ATTR_DBSESS_USERNAME ( SID_SVX_START + 72 )
+#define SID_ATTR_DBSESS_PASSWORD ( SID_SVX_START + 73 )
+#define SID_ATTR_DBSESS_SAVESESS ( SID_SVX_START + 74 )
+#define SID_ATTR_DBSESS_SAVEUSER ( SID_SVX_START + 75 )
+#define SID_ATTR_DBSESS_SERVERNAME ( SID_SVX_START + 76 )
+#define SID_ATTR_DBSESS_ENABLETYPE ( SID_SVX_START + 77 )
+#define SID_ATTR_NUMBERFORMAT_VALUE ( SID_SVX_START + 85 )
+#define SID_ATTR_NUMBERFORMAT_INFO ( SID_SVX_START + 86 )
+#define SID_ATTR_TRANSFORM ( SID_SVX_START + 87 )
+#define SID_ATTR_TRANSFORM_POS_X ( SID_SVX_START + 88 )
+#define SID_ATTR_TRANSFORM_POS_Y ( SID_SVX_START + 89 )
+#define SID_ATTR_TRANSFORM_WIDTH ( SID_SVX_START + 90 )
+#define SID_ATTR_TRANSFORM_HEIGHT ( SID_SVX_START + 91 )
+#define SID_ATTR_TRANSFORM_SIZE_POINT ( SID_SVX_START + 92 )
+#define SID_ATTR_TRANSFORM_ROT_X ( SID_SVX_START + 93 )
+#define SID_ATTR_TRANSFORM_ROT_Y ( SID_SVX_START + 94 )
+#define SID_ATTR_TRANSFORM_ANGLE ( SID_SVX_START + 95 )
+#define SID_RULER_NULL_OFFSET ( SID_SVX_START + 79 )
+#define SID_RULER_BORDERS ( SID_SVX_START + 80 )
+#define SID_RULER_OBJECT ( SID_SVX_START + 81 )
+#define SID_RULER_PAGE_POS ( SID_SVX_START + 82 )
+#define SID_RULER_ACT_LINE_ONLY ( SID_SVX_START + 83 )
+#define SID_RULER_LR_MIN_MAX ( SID_SVX_START + 84 )
+//#define SID_ZOOM_TOOLBOX ( SID_SVX_START + 96 ) -> sfxsids.hrc
+//#define SID_ZOOM_OUT ( SID_SVX_START + 97 ) -> sfxsids.hrc
+//#define SID_ZOOM_IN ( SID_SVX_START + 98 ) -> sfxsids.hrc
+//#define SID_SIZE_REAL ( SID_SVX_START + 99 ) -> sfxsids.hrc
+//#define SID_SIZE_PAGE ( SID_SVX_START + 100 ) -> sfxsids.hrc
+#define SID_SIZE_ALL ( SID_SVX_START + 101 )
+#define SID_DRAW_LINE ( SID_SVX_START + 102 )
+#define SID_DRAW_XLINE ( SID_SVX_START + 103 )
+#define SID_DRAW_RECT ( SID_SVX_START + 104 )
+#define SID_DRAW_RECT_ROUND ( SID_SVX_START + 105 )
+#define SID_DRAW_RECT_MOREROUND ( SID_SVX_START + 106 )
+#define SID_DRAW_FULLRECT ( SID_SVX_START + 107 )
+#define SID_DRAW_FULLRECT_ROUND ( SID_SVX_START + 108 )
+#define SID_DRAW_FULLRECT_MOREROUND ( SID_SVX_START + 109 )
+#define SID_DRAW_ELLIPSE ( SID_SVX_START + 110 )
+#define SID_DRAW_FULLELLIPSE ( SID_SVX_START + 111 )
+#define SID_DRAW_PIE ( SID_SVX_START + 112 )
+#define SID_DRAW_FULLPIE ( SID_SVX_START + 113 )
+#define SID_DRAW_ARC ( SID_SVX_START + 114 )
+#define SID_DRAW_CIRCLECUT ( SID_SVX_START + 115 )
+#define SID_DRAW_FULLCIRCLECUT ( SID_SVX_START + 116 )
+#define SID_DRAW_POLYGON ( SID_SVX_START + 117 )
+#define SID_DRAW_BEZIER_FILL ( SID_SVX_START + 118 )
+#define SID_BEZIER_INSERT ( SID_SVX_START + 119 )
+#define SID_BEZIER_DELETE ( SID_SVX_START + 120 )
+#define SID_BEZIER_MOVE ( SID_SVX_START + 121 )
+#define SID_BEZIER_CLOSE ( SID_SVX_START + 122 )
+#define SID_BEZIER_SMOOTH ( SID_SVX_START + 123 )
+#define SID_BEZIER_APPEND ( SID_SVX_START + 124 )
+#define SID_BEZIER_OPEN ( SID_SVX_START + 125 )
+#define SID_BEZIER_EDIT ( SID_SVX_START + 126 )
+#define SID_BEZIER_CUTLINE ( SID_SVX_START + 127 )
+#define SID_OBJECT_SELECT ( SID_SVX_START + 128 )
+#define SID_OBJECT_ROTATE ( SID_SVX_START + 129 )
+#define SID_OBJECT_ALIGN ( SID_SVX_START + 130 )
+#define SID_OBJECT_ALIGN_LEFT ( SID_SVX_START + 131 )
+#define SID_OBJECT_ALIGN_CENTER ( SID_SVX_START + 132 )
+#define SID_OBJECT_ALIGN_RIGHT ( SID_SVX_START + 133 )
+#define SID_OBJECT_ALIGN_UP ( SID_SVX_START + 134 )
+#define SID_OBJECT_ALIGN_MIDDLE ( SID_SVX_START + 135 )
+#define SID_OBJECT_ALIGN_DOWN ( SID_SVX_START + 136 )
+#define SID_COPY_FORMAT ( SID_SVX_START + 137 )
+#define SID_PASTE_FORMAT ( SID_SVX_START + 138 )
+#define SID_INSERT_ORGANIGRAM ( SID_SVX_START + 139 )
+#define SID_INSERT_DIAGRAM ( SID_SVX_START + 140 )
+#define SID_DRAW_CHART SID_INSERT_DIAGRAM
+#define SID_INSERT_TABLE ( SID_SVX_START + 141 )
+#define SID_ATTRIBUTES_AREA ( SID_SVX_START + 142 )
+#define SID_ATTRIBUTES_LINE ( SID_SVX_START + 143 )
+#define SID_CHOOSE_CONTROLS ( SID_SVX_START + 144 )
+#define SID_ACTIVATE_CONTROLS ( SID_SVX_START + 145 )
+#define SID_INSERT_PUSHBUTTON ( SID_SVX_START + 146 )
+#define SID_INSERT_RADIOBUTTON ( SID_SVX_START + 147 )
+#define SID_INSERT_CHECKBOX ( SID_SVX_START + 148 )
+#define SID_OUTLINE ( SID_SVX_START + 149 )
+#define SID_OUTLINE_UP ( SID_SVX_START + 150 )
+#define SID_OUTLINE_DOWN ( SID_SVX_START + 151 )
+#define SID_OUTLINE_LEFT ( SID_SVX_START + 152 )
+#define SID_OUTLINE_RIGHT ( SID_SVX_START + 153 )
+#define SID_OUTLINE_FORMAT ( SID_SVX_START + 154 )
+#define SID_OUTLINE_COLLAPSE_ALL ( SID_SVX_START + 155 )
+#define SID_OUTLINE_BULLET ( SID_SVX_START + 156 )
+#define SID_PRESENTATION ( SID_SVX_START + 157 )
+#define SID_TIMER ( SID_SVX_START + 158 )
+#define SID_REHEARSE_TIMINGS ( SID_SVX_START + 159 )
+#define SID_DIA ( SID_SVX_START + 160 )
+#define SID_HIDE_SLIDE ( SID_SVX_START + 161 )
+#define SID_CHOOSE_POLYGON ( SID_SVX_START + 162 )
+//#define SID_SHOW_BROWSER ( SID_SVX_START + 163 ) -> sfxsids.hrc
+#define SID_ATTR_FILL_STYLE ( SID_SVX_START + 164 )
+#define SID_ATTR_FILL_COLOR ( SID_SVX_START + 165 )
+#define SID_ATTR_FILL_GRADIENT ( SID_SVX_START + 166 )
+#define SID_ATTR_FILL_HATCH ( SID_SVX_START + 167 )
+#define SID_ATTR_FILL_BITMAP ( SID_SVX_START + 168 )
+#define SID_ATTR_LINE_STYLE ( SID_SVX_START + 169 )
+#define SID_ATTR_LINE_DASH ( SID_SVX_START + 170 )
+#define SID_ATTR_LINE_WIDTH ( SID_SVX_START + 171 )
+#define SID_ATTR_LINE_COLOR ( SID_SVX_START + 172 )
+#define SID_ATTR_LINE_START ( SID_SVX_START + 173 )
+#define SID_ATTR_LINE_END ( SID_SVX_START + 174 )
+#define SID_ATTR_LINE_STARTWIDTH ( SID_SVX_START + 175 )
+#define SID_ATTR_LINE_ENDWIDTH ( SID_SVX_START + 176 )
+#define SID_ATTR_LINE_STARTCENTER ( SID_SVX_START + 177 )
+#define SID_ATTR_LINE_ENDCENTER ( SID_SVX_START + 178 )
+#define SID_COLOR_TABLE ( SID_SVX_START + 179 )
+#define SID_GRADIENT_LIST ( SID_SVX_START + 180 )
+#define SID_HATCH_LIST ( SID_SVX_START + 181 )
+#define SID_BITMAP_LIST ( SID_SVX_START + 182 )
+#define SID_DASH_LIST ( SID_SVX_START + 183 )
+#define SID_LINEEND_LIST ( SID_SVX_START + 184 )
+#define SID_BACKGROUND_COLOR ( SID_SVX_START + 185 )
+#define SID_BACKGROUND_PATTERN ( SID_SVX_START + 186 )
+#define SID_ATTR_BORDER ( SID_SVX_START + 187 )
+#define SID_INSERT_FIXEDTEXT ( SID_SVX_START + 188 )
+#define SID_INSERT_GROUPBOX ( SID_SVX_START + 189 )
+#define SID_INSERT_EDIT ( SID_SVX_START + 190 )
+#define SID_INSERT_LISTBOX ( SID_SVX_START + 191 )
+#define SID_INSERT_COMBOBOX ( SID_SVX_START + 192 )
+#define SID_INSERT_SPINBUTTON ( SID_SVX_START + 193 )
+#define SID_INSERT_HSCROLLBAR ( SID_SVX_START + 194 )
+#define SID_INSERT_VSCROLLBAR ( SID_SVX_START + 195 )
+#define SID_INSERT_PREVIEW ( SID_SVX_START + 196 )
+#define SID_INSERT_URLBUTTON ( SID_SVX_START + 197 )
+#define SID_INSERT_SELECT ( SID_SVX_START + 198 )
+#define SID_DIALOG_TESTMODE ( SID_SVX_START + 199 )
+#define SID_FRAME_LINESTYLE ( SID_SVX_START + 200 )
+#define SID_FRAME_LINECOLOR ( SID_SVX_START + 201 )
+#define SID_ATTR_GRID_USE ( SID_SVX_START + 202 )
+#define SID_ATTR_GRID_VISIBLE ( SID_SVX_START + 203 )
+#define SID_ATTR_GRID_DRAW_X ( SID_SVX_START + 204 )
+#define SID_ATTR_GRID_DRAW_Y ( SID_SVX_START + 205 )
+#define SID_ATTR_GRID_DIVISION_X ( SID_SVX_START + 206 )
+#define SID_ATTR_GRID_DIVISION_Y ( SID_SVX_START + 207 )
+#define SID_ATTR_GRID_SNAP_X ( SID_SVX_START + 208 )
+#define SID_ATTR_GRID_SNAP_Y ( SID_SVX_START + 209 )
+#define SID_ATTR_GRID_ORIGIN_X ( SID_SVX_START + 210 )
+#define SID_ATTR_GRID_ORIGIN_Y ( SID_SVX_START + 211 )
+#define SID_IMPORT_GRAPH_PREVIEW ( SID_SVX_START + 212 )
+#define SID_IMPORT_GRAPH_LASTPATH ( SID_SVX_START + 213 )
+#define SID_IMPORT_GRAPH_LASTFILTER ( SID_SVX_START + 214 )
+#define SID_SEARCHDLG_SEARCHSTRINGS ( SID_SVX_START + 215 )
+#define SID_SEARCHDLG_REPLACESTRINGS ( SID_SVX_START + 216 )
+#define SID_ATTR_TABLE ( SID_SVX_START + 217 )
+#define SID_ATTR_TABLE_COLUMN ( SID_SVX_START + 218 )
+#define SID_ATTR_TABLE_ROW ( SID_SVX_START + 219 )
+#define SID_ATTR_COLUMNS ( SID_SVX_START + 220 )
+#define SID_ATTR_INSERT ( SID_SVX_START + 221 )
+#define SID_ATTR_ZOOM_USER ( SID_SVX_START + 222 )
+#define SID_ATTR_POSITION ( SID_SVX_START + 223 )
+#define SID_ATTR_SIZE ( SID_SVX_START + 224 )
+#define SID_TABLE_CELL ( SID_SVX_START + 225 )
+#define SID_ATTR_ALIGN_HOR_JUSTIFY ( SID_SVX_START + 226 )
+#define SID_ATTR_ALIGN_VER_JUSTIFY ( SID_SVX_START + 227 )
+#define SID_ATTR_ALIGN_MARGIN ( SID_SVX_START + 228 )
+#define SID_ATTR_ALIGN_STACKED ( SID_SVX_START + 229 )
+#define SID_ATTR_ALIGN_LINEBREAK ( SID_SVX_START + 230 )
+#define SID_OUTLINE_COLLAPSE ( SID_SVX_START + 231 )
+#define SID_OUTLINE_EXPAND_ALL ( SID_SVX_START + 232 )
+#define SID_OUTLINE_EXPAND ( SID_SVX_START + 233 )
+#define SID_OUTLINE_DELETEALL ( SID_SVX_START + 234 )
+#define SID_ATTR_TRANSFORM_PROTECT_POS ( SID_SVX_START + 236 )
+#define SID_ATTR_TRANSFORM_PROTECT_SIZE ( SID_SVX_START + 237 )
+#define SID_ATTR_TRANSFORM_AUTOSIZE ( SID_SVX_START + 238 ) // !!!
+#define SID_ATTR_TRANSFORM_INTERN ( SID_SVX_START + 239 )
+#define SID_INSERT_FRAME ( SID_SVX_START + 240 )
+#define SID_INSERT_GRAPHIC ( SID_SVX_START + 241 )
+#define SID_AUTOFORMAT ( SID_SVX_START + 242 )
+#define SID_SPELL_DIALOG ( SID_SVX_START + 243 )
+#define SID_INSERT_DRAW ( SID_SVX_START + 244 )
+#define SID_THESAURUS ( SID_SVX_START + 245 )
+#define SID_AUTOCOMPLETEWORD ( SID_SVX_START + 251 )
+#define SID_DRAW_TEXT ( SID_SVX_START + 253 )
+#define SID_DRAW_CAPTION ( SID_SVX_START + 254 )
+#define SID_INSERT_LEGEND SID_DRAW_CAPTION
+#define SID_DRAW_SELECT ( SID_SVX_START + 255 )
+#define SID_FONTWORK ( SID_SVX_START + 256 )
+#define SID_FORMTEXT_STYLE ( SID_SVX_START + 257 )
+#define SID_FORMTEXT_ADJUST ( SID_SVX_START + 258 )
+#define SID_FORMTEXT_DISTANCE ( SID_SVX_START + 259 )
+#define SID_FORMTEXT_START ( SID_SVX_START + 260 )
+#define SID_FORMTEXT_MIRROR ( SID_SVX_START + 261 )
+#define SID_FORMTEXT_OUTLINE ( SID_SVX_START + 262 )
+#define SID_FORMTEXT_SHADOW ( SID_SVX_START + 263 )
+#define SID_FORMTEXT_SHDWCOLOR ( SID_SVX_START + 264 )
+#define SID_FORMTEXT_SHDWXVAL ( SID_SVX_START + 265 )
+#define SID_FORMTEXT_SHDWYVAL ( SID_SVX_START + 266 )
+#define SID_FORMTEXT_STDFORM ( SID_SVX_START + 267 )
+#define SID_FORMTEXT_HIDEFORM ( SID_SVX_START + 268 )
+#define SID_FORMTEXT_RESERVED1 ( SID_SVX_START + 269 )
+#define SID_FORMTEXT_RESERVED2 ( SID_SVX_START + 270 )
+#define SID_FORMTEXT_RESERVED3 ( SID_SVX_START + 271 )
+#define SID_FORMTEXT_RESERVED4 ( SID_SVX_START + 272 )
+#define SID_FORMTEXT_RESERVED5 ( SID_SVX_START + 273 )
+#define SID_FORMTEXT_RESERVED_LAST ( SID_SVX_START + 274 )
+#define SID_GALLERY_ENABLE_ADDCOPY ( SID_SVX_START + 276 )
+#define SID_GALLERY_IMPORTTHEME ( SID_SVX_START + 277 )
+#define SID_GALLERY_BG_POS ( SID_SVX_START + 278 )
+//#define SID_GALLERY_BG_BRUSH ( SID_SVX_START + 279 ) -> sfxsids.hrc
+#define SID_GALLERY_FORMATS ( SID_SVX_START + 280 )
+//#define SID_SEARCH_OPTIONS ( SID_SVX_START + 281 ) -> sfxsids.hrc
+#define SID_OBJECT_HELL ( SID_SVX_START + 282 )
+#define SID_OBJECT_HEAVEN ( SID_SVX_START + 283 )
+#define SID_ATTR_LONG_ULSPACE ( SID_SVX_START + 284 )
+#define SID_ATTR_LONG_LRSPACE ( SID_SVX_START + 285 )
+#define SID_FRAME_TO_TOP ( SID_SVX_START + 286 )
+#define SID_FRAME_TO_BOTTOM ( SID_SVX_START + 287 )
+#define SID_POSTIT ( SID_SVX_START + 288 )
+//#define SID_ZOOM ( SID_SVX_START + 289 ) -> sfxsids.hrc
+#define SID_GRID ( SID_SVX_START + 290 )
+//#define SID_SEARCH_ITEM ( SID_SVX_START + 291 ) -> sfxsids.hrc
+#define SID_SEARCH_SEARCHSET ( SID_SVX_START + 292 )
+#define SID_SEARCH_REPLACESET ( SID_SVX_START + 293 )
+#define SID_SET_SUPER_SCRIPT ( SID_SVX_START + 294 )
+#define SID_SET_SUB_SCRIPT ( SID_SVX_START + 295 )
+#define SID_CHAR_DLG ( SID_SVX_START + 296 )
+#define SID_PARA_DLG ( SID_SVX_START + 297 )
+#define SID_ATTR_GRID_OPTIONS ( SID_SVX_START + 298 )
+#define SID_ATTR_FILL_SHADOW ( SID_SVX_START + 299 )
+#define SID_ATTR_LINEEND_STYLE ( SID_SVX_START + 301 )
+#define SID_ATTR_TRANSFORM_SLANT ( SID_SVX_START + 302 ) // !!!
+#define SID_ATTR_TRANSFORM_SHEAR ( SID_SVX_START + 304 )
+#define SID_ATTR_TRANSFORM_SHEAR_X ( SID_SVX_START + 305 )
+#define SID_ATTR_TRANSFORM_SHEAR_Y ( SID_SVX_START + 306 )
+#define SID_ATTR_TRANSFORM_SHEAR_VERTICAL ( SID_SVX_START + 307 )
+#define SID_ATTR_TRANSFORM_RESIZE_REF_X ( SID_SVX_START + 308 )
+#define SID_ATTR_TRANSFORM_RESIZE_REF_Y ( SID_SVX_START + 309 )
+#define SID_ATTR_TRANSFORM_AUTOWIDTH ( SID_SVX_START + 310 )
+#define SID_ATTR_TRANSFORM_AUTOHEIGHT ( SID_SVX_START + 311 )
+#define SID_ATTR_TRANSFORM_HORI_RELATION ( SID_SVX_START + 312 )
+#define SID_ATTR_TRANSFORM_VERT_RELATION ( SID_SVX_START + 313 )
+#define SID_ATTR_TRANSFORM_HORI_ORIENT ( SID_SVX_START + 314 )
+#define SID_ATTR_TRANSFORM_IN_VERTICAL_TEXT ( SID_SVX_START + 315 )
+#define SID_ATTR_TRANSFORM_IN_RTL_TEXT ( SID_SVX_START + 316 )
+#define SID_ATTR_TRANSFORM_HORI_MIRROR ( SID_SVX_START + 317 )
+#define SID_ATTR_TRANSFORM_ANCHOR ( SID_SVX_START + 318 )
+#define SID_ATTR_TRANSFORM_VERT_ORIENT ( SID_SVX_START + 319 )
+#define SID_TAB_INSERT ( SID_SVX_START + 320 )
+#define SID_TAB_COUNT ( SID_SVX_START + 321 )
+#define SID_TAB_POSITION ( SID_SVX_START + 322 )
+#define SID_TAB_ADJUST ( SID_SVX_START + 323 )
+#define SID_TAB_DECIMAL ( SID_SVX_START + 324 )
+#define SID_TAB_FILLCHAR ( SID_SVX_START + 325 )
+#define SID_SCAN ( SID_SVX_START + 330 )
+#define SID_TWAIN_SELECT ( SID_SVX_START + 331 )
+#define SID_TWAIN_TRANSFER ( SID_SVX_START + 332 )
+#define SID_CONTOUR_DLG ( SID_SVX_START + 334 )
+#define SID_CONTOUR_EXEC ( SID_SVX_START + 335 )
+#define SID_BORDER_OBJECT ( SID_SVX_START + 340 )
+#define SID_BORDER_LEFTLINE ( SID_SVX_START + 341 )
+#define SID_BORDER_RIGHTLINE ( SID_SVX_START + 342 )
+#define SID_BORDER_TOPLINE ( SID_SVX_START + 343 )
+#define SID_BORDER_BOTTOMLINE ( SID_SVX_START + 344 )
+#define SID_BORDER_HORIZONTALLINE ( SID_SVX_START + 345 )
+#define SID_BORDER_VERTICALLINE ( SID_SVX_START + 346 )
+#define SID_BORDER_DISTANCE ( SID_SVX_START + 347 )
+#define SID_SB_CONNECTIONPOOLING ( SID_SVX_START + 348 )
+#define SID_SB_DBREGISTEROPTIONS ( SID_SVX_START + 349 )
+#define SID_BMPMASK ( SID_SVX_START + 350 )
+#define SID_BMPMASK_PIPETTE ( SID_SVX_START + 351 )
+#define SID_BMPMASK_BMPSELECT ( SID_SVX_START + 352 )
+#define SID_BMPMASK_EXEC ( SID_SVX_START + 353 )
+//#define SID_HYPERLINK_INSERT ( SID_SVX_START + 360 ) -> sfxsids.hrc
+//#define SID_HYPERLINK_GETLINK ( SID_SVX_START + 361 ) -> sfxsids.hrc
+//#define SID_HYPERLINK_SETLINK ( SID_SVX_START + 362 ) -> sfxsids.hrc
+#define SID_NO_GRAPHICS ( SID_SVX_START + 364 )
+#define SID_IMPORT_GRAPH_LASTURL ( SID_SVX_START + 365 )
+//#define SID_NAVIGATOR ( SID_SVX_START + 366 ) -> sfxsids.hrc
+#define SID_ATTR_TEXT_FITTOSIZE ( SID_SVX_START + 367 )
+#define SID_ATTR_BRUSH_ROW ( SID_SVX_START + 368 )
+#define SID_OPTFILTER_MSOFFICE ( SID_SVX_START + 369 )
+#define SID_IMAP ( SID_SVX_START + 371 )
+#define SID_IMAP_DLG ( SID_SVX_START + 372 )
+#define SID_IMAP_SELECT ( SID_SVX_START + 373 )
+#define SID_IMAP_EXEC ( SID_SVX_START + 374 )
+#define SID_SHOW_HIDDEN ( SID_SVX_START + 375 )
+#define SID_SHOW_FORMS ( SID_SVX_START + 376 )
+#define SID_DRAW_RECT_NOFILL ( SID_SVX_START + 378 )
+#define SID_DRAW_RECT_ROUND_NOFILL ( SID_SVX_START + 379 )
+#define SID_DRAW_SQUARE ( SID_SVX_START + 380 )
+#define SID_DRAW_SQUARE_ROUND ( SID_SVX_START + 381 )
+#define SID_DRAW_SQUARE_NOFILL ( SID_SVX_START + 382 )
+#define SID_DRAW_SQUARE_ROUND_NOFILL ( SID_SVX_START + 383 )
+#define SID_DRAW_ELLIPSE_NOFILL ( SID_SVX_START + 384 )
+#define SID_DRAW_CIRCLE ( SID_SVX_START + 385 )
+#define SID_DRAW_CIRCLE_NOFILL ( SID_SVX_START + 386 )
+#define SID_DRAW_PIE_NOFILL ( SID_SVX_START + 387 )
+#define SID_DRAW_CIRCLEPIE ( SID_SVX_START + 388 )
+#define SID_DRAW_CIRCLEPIE_NOFILL ( SID_SVX_START + 389 )
+#define SID_DRAW_CIRCLEARC ( SID_SVX_START + 390 )
+#define SID_DRAW_CIRCLECUT_NOFILL ( SID_SVX_START + 391 )
+#define SID_DRAW_ELLIPSECUT ( SID_SVX_START + 392 )
+#define SID_DRAW_ELLIPSECUT_NOFILL ( SID_SVX_START + 393 )
+#define SID_DRAW_XPOLYGON ( SID_SVX_START + 394 )
+#define SID_DRAW_POLYGON_NOFILL ( SID_SVX_START + 395 )
+#define SID_DRAW_XPOLYGON_NOFILL ( SID_SVX_START + 396 )
+#define SID_DRAW_BEZIER_NOFILL ( SID_SVX_START + 397 )
+#define SID_DRAWTBX_TEXT ( SID_SVX_START + 398 )
+#define SID_DRAWTBX_RECTANGLES ( SID_SVX_START + 399 )
+#define SID_DRAWTBX_ELLIPSES ( SID_SVX_START + 400 )
+#define SID_DRAWTBX_LINES ( SID_SVX_START + 401 )
+//#define SID_ZOOM_NEXT ( SID_SVX_START + 402 ) -> sfxsids.hrc
+//#define SID_ZOOM_PREV ( SID_SVX_START + 403 ) -> sfxsids.hrc
+#define SID_BACKGRND_DESTINATION ( SID_SVX_START + 404 )
+#define SID_ATTR_FLASH ( SID_SVX_START + 406 )
+#define SID_ATTR_3D_LIGHT ( SID_SVX_START + 407 ) /* --> Slots mit --> koennen demnaechst entfallen ( heute 12.03.1998 ) */
+#define SID_ATTR_3D_START SID_ATTR_3D_LIGHT
+#define SID_ATTR_3D_LIGHTINTENSITY ( SID_SVX_START + 408 ) /* --> Slots mit --> koennen demnaechst entfallen ( heute 12.03.1998 ) */
+#define SID_ATTR_3D_LIGHTCOLOR ( SID_SVX_START + 409 ) /* --> Slots mit --> koennen demnaechst entfallen ( heute 12.03.1998 ) */
+#define SID_ATTR_3D_AMBIENTINTENSITY ( SID_SVX_START + 410 ) /* --> Slots mit --> koennen demnaechst entfallen ( heute 12.03.1998 ) */
+#define SID_ATTR_3D_AMBIENTCOLOR ( SID_SVX_START + 411 )
+#define SID_IMPORT_GRAPH_LINK ( SID_SVX_START + 412 )
+#define SID_HTML_MODE ( SID_SVX_START + 414 )
+#define SID_RULER_PROTECT ( SID_SVX_START + 415 )
+//#define SID_INET_DLG ( SID_SVX_START + 416 ) -> sfxsids.hrc
+#define SID_COLOR_CONTROL ( SID_SVX_START + 417 )
+#define SID_ATTR_3D_PERSPECTIVE ( SID_SVX_START + 418 )
+#define SID_ATTR_3D_DEPTH ( SID_SVX_START + 419 )
+#define SID_ATTR_3D_DISTANCE ( SID_SVX_START + 420 )
+#define SID_ATTR_3D_FOCAL_LENGTH ( SID_SVX_START + 421 )
+#define SID_ATTR_3D_INTERN ( SID_SVX_START + 422 )
+#define SID_PSZ_FUNCTION ( SID_SVX_START + 423 )
+//#define SID_AUTO_CORRECT_DLG ( SID_SVX_START + 424 ) -> sfxsids.hrc
+#define SID_OFASLOTS_START ( SID_SVX_START + 425 )
+//#define SID_SD_AUTOPILOT ( SID_SVX_START + 425 ) -> sfxsids.hrc
+#define SID_AUTOPILOT SID_SD_AUTOPILOT
+
+#define SID_TABLE_INSERT_COL_DLG ( SID_SVX_START + 426 )
+#define SID_TABLE_INSERT_ROW_DLG ( SID_SVX_START + 427 )
+#define SID_TABLE_PARAM_INSERT_AFTER ( SID_SVX_START + 428 )
+
+#define SID_TABLEDESIGN ( SID_SVX_START + 429 )
+#define SID_MN_AUTOPILOT ( SID_SVX_START + 430 )
+#define SID_GENERAL_OPTIONS ( SID_SVX_START + 432 )
+#define SID_SW_EDITOPTIONS ( SID_SVX_START + 433 )
+#define SID_SD_EDITOPTIONS ( SID_SVX_START + 434 )
+#define SID_SC_EDITOPTIONS ( SID_SVX_START + 435 )
+#define SID_SM_EDITOPTIONS ( SID_SVX_START + 436 )
+#define SID_SCH_EDITOPTIONS ( SID_SVX_START + 437 )
+#define SID_SIM_EDITOPTIONS ( SID_SVX_START + 438 )
+#define SID_SW_ONLINEOPTIONS ( SID_SVX_START + 439 )
+#define SID_MN_OPTIONS ( SID_SVX_START + 440 )
+#define SID_GET_COLORTABLE ( SID_SVX_START + 441 )
+#define SID_MN_INSERT_OBJECT_DLGS ( SID_SVX_START + 442 )
+#define SID_OUTLINE_TO_IMPRESS ( SID_SVX_START + 443 )
+#define SID_SIM_TP_COLOR ( SID_SVX_START + 444 )
+#define SID_SIM_TP_EFFECTS ( SID_SVX_START + 445 )
+#define SID_SPELLCHECKER_CHANGED ( SID_SVX_START + 446 )
+#define SID_SD_GRAPHIC_OPTIONS ( SID_SVX_START + 447 )
+#define SID_SM_TP_PRINTOPTIONS ( SID_SVX_START + 448 )
+#define SID_OFASLOTS_END ( SID_SVX_START + 449 )
+#define SID_SB_STARBASEOPTIONS ( SID_SVX_START + 450 )
+#define SID_SWREGISTER_COLLECTION ( SID_SVX_START + 451 )
+#define SID_FILTER_DLG ( SID_SVX_START + 452 )
+#define SID_ATTR_BRUSH_TABLE ( SID_SVX_START + 453 )
+#define SID_GROUP ( SID_SVX_START + 454 )
+#define SID_UNGROUP ( SID_SVX_START + 455 )
+#define SID_SET_DEFAULT ( SID_SVX_START + 456 )
+#define SID_BEZIER ( SID_SVX_START + 458 )
+#define SID_ATTR_3D_DOUBLE_SIDED ( SID_SVX_START + 459 )
+#define SID_ATTR_ALIGN_INDENT ( SID_SVX_START + 460 )
+#define SID_DEC_INDENT ( SID_SVX_START + 461 )
+#define SID_INC_INDENT ( SID_SVX_START + 462 )
+#define SID_DRAW_FREELINE ( SID_SVX_START + 463 )
+#define SID_DRAW_FREELINE_NOFILL ( SID_SVX_START + 464 )
+#define SID_DRAW_TEXT_MARQUEE ( SID_SVX_START + 465 )
+#define SID_SCH_TP_DEFCOLORS ( SID_SVX_START + 466 )
+#define SID_SWREGISTER_MODE ( SID_SVX_START + 467 )
+#define SID_OPTBASE_DATABASENAMES ( SID_SVX_START + 468 )
+#define SID_GRFFILTER ( SID_SVX_START + 469 )
+#define SID_GRFFILTER_INVERT ( SID_SVX_START + 470 )
+#define SID_GRFFILTER_SMOOTH ( SID_SVX_START + 471 )
+#define SID_GRFFILTER_SHARPEN ( SID_SVX_START + 472 )
+#define SID_GRFFILTER_REMOVENOISE ( SID_SVX_START + 473 )
+#define SID_GRFFILTER_SOBEL ( SID_SVX_START + 474 )
+#define SID_GRFFILTER_MOSAIC ( SID_SVX_START + 475 )
+#define SID_GRFFILTER_EMBOSS ( SID_SVX_START + 476 )
+#define SID_GRFFILTER_POSTER ( SID_SVX_START + 477 )
+#define SID_GRFFILTER_POPART ( SID_SVX_START + 478 )
+#define SID_GRFFILTER_SEPIA ( SID_SVX_START + 479 )
+#define SID_GRFFILTER_SOLARIZE ( SID_SVX_START + 480 )
+#define SID_COLL_CLEAR ( SID_SVX_START + 536 )
+#define SID_SHOW_ADDRESS ( SID_SVX_START + 538 )
+#define SID_APP_ENTERWAIT ( SID_SVX_START + 550 )
+#define SID_APP_LEAVEWAIT ( SID_SVX_START + 551 )
+#define SID_APP_ISWAIT ( SID_SVX_START + 552 )
+#define SID_OFA_TBL_DESIGNVIEW ( SID_SVX_START + 554 )
+#define SID_OFA_TBL_ADRESSBOOK ( SID_SVX_START + 555 )
+#define SID_OFA_QRY_DESIGNVIEW ( SID_SVX_START + 556 )
+#define SID_OFA_QRY_SQLVIEW ( SID_SVX_START + 557 )
+#define SID_OFA_FRM_DESIGNVIEW ( SID_SVX_START + 558 )
+#define SID_OFA_RPT_DESIGNVIEW ( SID_SVX_START + 559 )
+#define SID_OFA_TBL_CREATE ( SID_SVX_START + 560 )
+#define SID_OFA_QRY_CREATE ( SID_SVX_START + 561 )
+#define SID_OFA_FRM_CREATE ( SID_SVX_START + 562 )
+#define SID_OFA_RPT_CREATE ( SID_SVX_START + 563 )
+#define SID_FIELD_GRABFOCUS ( SID_SVX_START + 567 )
+#define SID_ATTR_3D_HORZ_SEGS ( SID_SVX_START + 568 )
+#define SID_ATTR_3D_VERT_SEGS ( SID_SVX_START + 569 )
+#define SID_ATTR_3D_DUMMY_1 ( SID_SVX_START + 570 )
+#define SID_ATTR_3D_DUMMY_2 ( SID_SVX_START + 571 )
+#define SID_BROWSER_DLG ( SID_SVX_START + 572 )
+#define SID_OFA_TBL_COMPRESS ( SID_SVX_START + 576 )
+#define SID_ATTR_ALIGN_DEGREES ( SID_SVX_START + 577 )
+#define SID_ATTR_ALIGN_LOCKPOS ( SID_SVX_START + 578 )
+#define SID_ATTR_LINEEND_WIDTH_DEFAULT ( SID_SVX_START + 579 )
+#define SID_ATTR_NUMBERFORMAT_ONE_AREA ( SID_SVX_START + 580 )
+#define SID_FUNCTION_CONTROL ( SID_SVX_START + 581 )
+#define SID_TAB_REMOVE ( SID_SVX_START + 582 )
+#define SID_TAB_REMOVE_ALL ( SID_SVX_START + 583 )
+#define SID_TAB_REMOVE_BY_INDEX ( SID_SVX_START + 584 )
+#define SID_OFA_VW_CREATE ( SID_SVX_START + 585 )
+#define SID_OFA_REL_DESIGNVIEW ( SID_SVX_START + 588 )
+#define SID_OFA_MANUAL_SQL ( SID_SVX_START + 589 )
+#define SID_PARA_BACKGRND_DESTINATION ( SID_SVX_START + 590 )
+#define SID_ATTR_BRUSH_CHAR ( SID_SVX_START + 591 )
+#define SID_FMSLOTS_START ( SID_SVX_START + 592 )
+#define SID_FM_CONFIG ( SID_SVX_START + 593 )
+#define SID_FM_PUSHBUTTON ( SID_SVX_START + 594 )
+#define SID_FM_RADIOBUTTON ( SID_SVX_START + 595 )
+#define SID_FM_CHECKBOX ( SID_SVX_START + 596 )
+#define SID_FM_FIXEDTEXT ( SID_SVX_START + 597 )
+#define SID_FM_GROUPBOX ( SID_SVX_START + 598 )
+#define SID_FM_EDIT ( SID_SVX_START + 599 )
+#define SID_FM_LISTBOX ( SID_SVX_START + 600 )
+#define SID_FM_COMBOBOX ( SID_SVX_START + 601 )
+#define SID_FM_DBGRID ( SID_SVX_START + 603 )
+#define SID_FM_IMAGEBUTTON ( SID_SVX_START + 604 )
+#define SID_FM_FILECONTROL ( SID_SVX_START + 605 )
+#define SID_FM_CHANGECOL ( SID_SVX_START + 606 )
+#define SID_FM_NAVIGATIONBAR ( SID_SVX_START + 607 )
+#define SID_FM_NEW_HIDDEN ( SID_SVX_START + 608 )
+#define SID_FM_RENAME_OBJECT ( SID_SVX_START + 609 )
+#define SID_FM_DELETEROWS ( SID_SVX_START + 610 )
+#define SID_FM_INSERTCOL ( SID_SVX_START + 611 )
+#define SID_FM_DELETECOL ( SID_SVX_START + 612 )
+#define SID_FM_CTL_PROPERTIES ( SID_SVX_START + 613 )
+#define SID_FM_PROPERTIES ( SID_SVX_START + 614 )
+#define SID_FM_TAB_DIALOG ( SID_SVX_START + 615 )
+#define SID_FM_RECORD_FIRST ( SID_SVX_START + 616 )
+#define SID_FM_RECORD_NEXT ( SID_SVX_START + 617 )
+#define SID_FM_RECORD_PREV ( SID_SVX_START + 618 )
+#define SID_FM_RECORD_LAST ( SID_SVX_START + 619 )
+#define SID_FM_RECORD_NEW ( SID_SVX_START + 620 )
+#define SID_FM_RECORD_DELETE ( SID_SVX_START + 621 )
+#define SID_FM_RECORD_ABSOLUTE ( SID_SVX_START + 622 )
+#define SID_FM_ADD_FIELD ( SID_SVX_START + 623 )
+#define SID_FM_RECORD_TEXT ( SID_SVX_START + 624 )
+#define SID_FM_RECORD_FROM_TEXT ( SID_SVX_START + 625 )
+#define SID_FM_RECORD_TOTAL ( SID_SVX_START + 626 )
+#define SID_FM_RECORD_SAVE ( SID_SVX_START + 627 )
+#define SID_FM_CREATE_CONTROL ( SID_SVX_START + 628 )
+#define SID_FM_DESIGN_MODE ( SID_SVX_START + 629 )
+#define SID_FM_RECORD_UNDO ( SID_SVX_START + 630 )
+#define SID_FM_CONTROL_IDENTIFIER ( SID_SVX_START + 631 )
+#define SID_FM_CONTROL_INVENTOR ( SID_SVX_START + 632 )
+#define SID_FM_SHOW_FMEXPLORER ( SID_SVX_START + 633 )
+#define SID_FM_FIELDS_CONTROL ( SID_SVX_START + 634 )
+#define SID_FM_SHOW_PROPERTIES ( SID_SVX_START + 635 )
+#define SID_FM_PROPERTY_CONTROL ( SID_SVX_START + 636 )
+#define SID_FM_FMEXPLORER_CONTROL ( SID_SVX_START + 637 )
+#define SID_FM_NEW ( SID_SVX_START + 638 )
+#define SID_FM_DELETE ( SID_SVX_START + 639 )
+#define SID_FM_NEW_FORM ( SID_SVX_START + 640 )
+#define SID_FMSLOTS_END ( SID_SVX_START + 641 )
+#define SID_REDLIN_FILTER_PAGE ( SID_SVX_START + 642 )
+#define SID_REDLIN_VIEW_PAGE ( SID_SVX_START + 643 )
+#define SID_3D_WIN ( SID_SVX_START + 644 )
+#define SID_3D_STATE ( SID_SVX_START + 645 )
+#define SID_3D_INIT ( SID_SVX_START + 646 )
+#define SID_3D_ASSIGN ( SID_SVX_START + 647 )
+#define SID_CONVERT_TO_3D ( SID_SVX_START + 648 )
+#define SID_CONVERT_TO_3D_LATHE_FAST ( SID_SVX_START + 649 )
+#define SID_ATTR_3D_PERCENT_DIAGONAL ( SID_SVX_START + 650 )
+#define SID_ATTR_3D_BACKSCALE ( SID_SVX_START + 651 )
+#define SID_ATTR_3D_END_ANGLE ( SID_SVX_START + 652 )
+#define SID_ATTR_3D_NORMALS_KIND ( SID_SVX_START + 653 )
+#define SID_ATTR_3D_NORMALS_INVERT ( SID_SVX_START + 654 )
+#define SID_ATTR_3D_TWO_SIDED_LIGHTING ( SID_SVX_START + 655 )
+#define SID_ATTR_3D_TEXTURE_KIND ( SID_SVX_START + 656 )
+#define SID_ATTR_3D_TEXTURE_MODE ( SID_SVX_START + 657 )
+#define SID_ATTR_3D_TEXTURE_PROJ_X ( SID_SVX_START + 658 )
+#define SID_ATTR_3D_TEXTURE_PROJ_Y ( SID_SVX_START + 659 )
+#define SID_ATTR_3D_TEXTURE_FILTER ( SID_SVX_START + 660 )
+#define SID_ATTR_3D_MAT_COLOR ( SID_SVX_START + 661 )
+#define SID_ATTR_3D_MAT_EMISSION ( SID_SVX_START + 662 )
+#define SID_ATTR_3D_MAT_SPECULAR ( SID_SVX_START + 663 )
+#define SID_ATTR_3D_MAT_SPECULAR_INTENSITY ( SID_SVX_START + 664 )
+#define SID_ATTR_3D_SHADE_MODE ( SID_SVX_START + 665 )
+#define SID_ATTR_3D_SHADOW_3D ( SID_SVX_START + 666 )
+#define SID_ATTR_3D_SHADOW_SLANT ( SID_SVX_START + 667 )
+#define SID_ATTR_3D_LIGHTCOLOR_1 ( SID_SVX_START + 668 )
+#define SID_ATTR_3D_LIGHTCOLOR_2 ( SID_SVX_START + 669 )
+#define SID_ATTR_3D_LIGHTCOLOR_3 ( SID_SVX_START + 670 )
+#define SID_ATTR_3D_LIGHTCOLOR_4 ( SID_SVX_START + 671 )
+#define SID_ATTR_3D_LIGHTCOLOR_5 ( SID_SVX_START + 672 )
+#define SID_ATTR_3D_LIGHTCOLOR_6 ( SID_SVX_START + 673 )
+#define SID_ATTR_3D_LIGHTCOLOR_7 ( SID_SVX_START + 674 )
+#define SID_ATTR_3D_LIGHTCOLOR_8 ( SID_SVX_START + 675 )
+#define SID_ATTR_3D_LIGHTON_1 ( SID_SVX_START + 676 )
+#define SID_ATTR_3D_LIGHTON_2 ( SID_SVX_START + 677 )
+#define SID_ATTR_3D_LIGHTON_3 ( SID_SVX_START + 678 )
+#define SID_ATTR_3D_LIGHTON_4 ( SID_SVX_START + 679 )
+#define SID_ATTR_3D_LIGHTON_5 ( SID_SVX_START + 680 )
+#define SID_ATTR_3D_LIGHTON_6 ( SID_SVX_START + 681 )
+#define SID_ATTR_3D_LIGHTON_7 ( SID_SVX_START + 682 )
+#define SID_ATTR_3D_LIGHTON_8 ( SID_SVX_START + 683 )
+#define SID_ATTR_3D_LIGHTDIRECTION_1 ( SID_SVX_START + 684 )
+#define SID_ATTR_3D_LIGHTDIRECTION_2 ( SID_SVX_START + 685 )
+#define SID_ATTR_3D_LIGHTDIRECTION_3 ( SID_SVX_START + 686 )
+#define SID_ATTR_3D_LIGHTDIRECTION_4 ( SID_SVX_START + 687 )
+#define SID_ATTR_3D_LIGHTDIRECTION_5 ( SID_SVX_START + 688 )
+#define SID_ATTR_3D_LIGHTDIRECTION_6 ( SID_SVX_START + 689 )
+#define SID_ATTR_3D_LIGHTDIRECTION_7 ( SID_SVX_START + 690 )
+#define SID_ATTR_3D_LIGHTDIRECTION_8 ( SID_SVX_START + 691 )
+#define SID_ATTR_3D_END SID_ATTR_3D_LIGHTDIRECTION_8
+#define SID_ATTR_3D_DUMMY_3 ( SID_SVX_START + 692 )
+#define SID_ATTR_3D_DUMMY_4 ( SID_SVX_START + 693 )
+#define SID_ATTR_3D_DUMMY_5 ( SID_SVX_START + 694 )
+#define SID_ATTR_3D_DUMMY_6 ( SID_SVX_START + 695 )
+#define SID_ATTR_3D_DUMMY_7 ( SID_SVX_START + 696 )
+#define SID_ATTR_3D_DUMMY_8 ( SID_SVX_START + 697 )
+#define SID_ATTR_3D_DUMMY_9 ( SID_SVX_START + 698 )
+#define SID_ATTR_3D_DUMMY_10 ( SID_SVX_START + 699 )
+#define SID_ATTR_NUMBERFORMAT_NOLANGUAGE ( SID_SVX_START + 700 )
+#define SID_MN_GROUP ( SID_SVX_START + 701 )
+#define SID_FM_AUTO_ORDER ( SID_SVX_START + 702 )
+
+#define SID_MORE_FMSLOTS_START ( SID_SVX_START + 702 )
+#define SID_FM_SHOW_PROPERTY_BROWSER ( SID_SVX_START + 703 )
+#define SID_FM_DATEFIELD ( SID_SVX_START + 704 )
+#define SID_FM_TIMEFIELD ( SID_SVX_START + 705 )
+#define SID_FM_NUMERICFIELD ( SID_SVX_START + 706 )
+#define SID_FM_CURRENCYFIELD ( SID_SVX_START + 707 )
+#define SID_FM_PATTERNFIELD ( SID_SVX_START + 708 )
+#define SID_FM_OPEN_READONLY ( SID_SVX_START + 709 )
+#define SID_FM_IMAGECONTROL ( SID_SVX_START + 710 )
+#define SID_FM_REMOVE_FILTER_SORT ( SID_SVX_START + 711 )
+#define SID_FM_SORTUP ( SID_SVX_START + 712 )
+#define SID_FM_SORTDOWN ( SID_SVX_START + 713 )
+#define SID_FM_ORDERCRIT ( SID_SVX_START + 714 )
+#define SID_FM_FILTERCRIT ( SID_SVX_START + 715 )
+#define SID_FM_AUTOFILTER ( SID_SVX_START + 716 )
+#define SID_FM_COUNTALL ( SID_SVX_START + 717 )
+#define SID_FM_NATIVESQL ( SID_SVX_START + 720 )
+#define SID_FM_EXECUTE ( SID_SVX_START + 721 )
+#define SID_SBA_QRY_EXECUTE SID_FM_EXECUTE
+#define SID_FM_ADDTABLE ( SID_SVX_START + 722 )
+#define SID_FM_FORM_FILTERED ( SID_SVX_START + 723 )
+#define SID_FM_REFRESH ( SID_SVX_START + 724 )
+#define SID_FM_SEARCH ( SID_SVX_START + 725 )
+#define SID_FM_LEAVE_CREATE ( SID_SVX_START + 726 ) // Formcontroller-Button rauspoppen
+#define SID_FM_USE_WIZARDS ( SID_SVX_START + 727 )
+#define SID_FM_FORMATTEDFIELD ( SID_SVX_START + 728 )
+#define SID_FM_FILTER_START ( SID_SVX_START + 729 )
+#define SID_FM_FILTER_EXIT ( SID_SVX_START + 730 )
+#define SID_FM_FILTER_EXECUTE ( SID_SVX_START + 731 )
+#define SID_FM_FILTER_NAVIGATOR ( SID_SVX_START + 732 )
+#define SID_FM_CHANGECONTROLTYPE ( SID_SVX_START + 733 )
+#define SID_FM_CONVERTTO_EDIT ( SID_SVX_START + 734 )
+#define SID_FM_CONVERTTO_BUTTON ( SID_SVX_START + 735 )
+#define SID_FM_CONVERTTO_FIXEDTEXT ( SID_SVX_START + 736 )
+#define SID_FM_CONVERTTO_LISTBOX ( SID_SVX_START + 737 )
+#define SID_FM_CONVERTTO_CHECKBOX ( SID_SVX_START + 738 )
+#define SID_FM_CONVERTTO_RADIOBUTTON ( SID_SVX_START + 739 )
+#define SID_FM_CONVERTTO_GROUPBOX ( SID_SVX_START + 740 )
+#define SID_FM_CONVERTTO_COMBOBOX ( SID_SVX_START + 741 )
+#define SID_FM_CONVERTTO_IMAGEBUTTON ( SID_SVX_START + 743 )
+#define SID_FM_CONVERTTO_FILECONTROL ( SID_SVX_START + 744 )
+#define SID_FM_CONVERTTO_DATE ( SID_SVX_START + 745 )
+#define SID_FM_CONVERTTO_TIME ( SID_SVX_START + 746 )
+#define SID_FM_CONVERTTO_NUMERIC ( SID_SVX_START + 747 )
+#define SID_FM_CONVERTTO_CURRENCY ( SID_SVX_START + 748 )
+#define SID_FM_CONVERTTO_PATTERN ( SID_SVX_START + 749 )
+#define SID_FM_CONVERTTO_IMAGECONTROL ( SID_SVX_START + 750 )
+#define SID_FM_CONVERTTO_FORMATTED ( SID_SVX_START + 751 )
+#define SID_FM_FILTER_NAVIGATOR_CONTROL ( SID_SVX_START + 752 )
+#define SID_FM_HIDECOL ( SID_SVX_START + 753 )
+#define SID_FM_SHOWCOLS ( SID_SVX_START + 754 )
+#define SID_FM_SHOWCOLS_MORE ( SID_SVX_START + 755 )
+#define SID_FM_SHOWALLCOLS ( SID_SVX_START + 756 )
+#define SID_FM_TWOFIELDS_DATE_N_TIME ( SID_SVX_START + 757 )
+#define SID_FM_FILTER_EDIT ( SID_SVX_START + 758 )
+#define SID_FM_FILTER_IS_NULL ( SID_SVX_START + 759 )
+#define SID_FM_FILTER_IS_NOT_NULL ( SID_SVX_START + 760 )
+#define SID_FM_VIEW_AS_GRID ( SID_SVX_START + 761 )
+#define SID_FM_FILTER_REMOVE ( SID_SVX_START + 762 )
+#define SID_FM_AUTOCONTROLFOCUS ( SID_SVX_START + 763 )
+#define SID_DSBROWSER_EXPLORER ( SID_SVX_START + 764 )
+#define SID_FM_CREATE_FIELDCONTROL ( SID_SVX_START + 765 )
+#define SID_FM_DATACCESS_DESCRIPTOR ( SID_SVX_START + 766 )
+#define SID_FM_GRABCONTROLFOCUS ( SID_SVX_START + 767 )
+#define SID_FM_SCROLLBAR ( SID_SVX_START + 768 )
+#define SID_FM_SPINBUTTON ( SID_SVX_START + 769 )
+#define SID_FM_CONVERTTO_SCROLLBAR ( SID_SVX_START + 770 )
+#define SID_FM_CONVERTTO_SPINBUTTON ( SID_SVX_START + 771 )
+#define SID_FM_CONVERTTO_NAVIGATIONBAR ( SID_SVX_START + 772 )
+#define SID_FM_SHOW_DATANAVIGATOR ( SID_SVX_START + 773 )
+#define SID_FM_DATANAVIGATOR_CONTROL ( SID_SVX_START + 774 )
+#define SID_FM_REFRESH_FORM_CONTROL ( SID_SVX_START + 775 )
+#define SID_MORE_FMSLOTS_END ( SID_SVX_START + 850 )
+
+#define SID_HLINKBAR_LINK ( SID_SVX_START + 851 )
+#define SID_HLINKBAR_BOOKMARK ( SID_SVX_START + 852 )
+#define SID_HLINKBAR_SEARCH ( SID_SVX_START + 853 )
+#define SID_HLINKBAR_TARGET ( SID_SVX_START + 854 )
+#define SID_PARAM_NUM_PRESET ( SID_SVX_START + 856 )
+#define SID_PARAM_CUR_NUMBER ( SID_SVX_START + 857 )
+#define SID_PARAM_CHILD_LEVELS ( SID_SVX_START + 858 )
+#define SID_PARAM_CUR_NUM_LEVEL ( SID_SVX_START + 859 )
+#define SID_CREATE_SW_DRAWVIEW ( SID_SVX_START + 860 )
+#define SID_ATTR_GRAF_LUMINANCE ( SID_SVX_START + 863 )
+#define SID_ATTR_GRAF_CONTRAST ( SID_SVX_START + 864 )
+#define SID_ATTR_GRAF_RED ( SID_SVX_START + 865 )
+#define SID_ATTR_GRAF_GREEN ( SID_SVX_START + 866 )
+#define SID_ATTR_GRAF_BLUE ( SID_SVX_START + 867 )
+#define SID_ATTR_GRAF_GAMMA ( SID_SVX_START + 868 )
+#define SID_ATTR_GRAF_TRANSPARENCE ( SID_SVX_START + 869 )
+#define SID_ATTR_GRAF_INVERT ( SID_SVX_START + 870 )
+#define SID_ATTR_GRAF_MODE ( SID_SVX_START + 871 )
+#define SID_ATTR_GRAF_RESERVE2 ( SID_SVX_START + 872 )
+#define SID_ATTR_GRAF_RESERVE3 ( SID_SVX_START + 873 )
+#define SID_ATTR_GRAF_RESERVE4 ( SID_SVX_START + 874 )
+#define SID_ATTR_GRAF_RESERVE5 ( SID_SVX_START + 875 )
+//#define SID_COMP_BIBLIOGRAPHY ( SID_SVX_START + 880 ) -> sfxsids.hrc
+#define SID_ATTR_GRAF_KEEP_ZOOM ( SID_SVX_START + 882 )
+#define SID_ATTR_GRAF_CROP ( SID_SVX_START + 883 )
+#define SID_ATTR_GRAF_FRMSIZE ( SID_SVX_START + 884 )
+#define SID_ATTR_GRAF_FRMSIZE_PERCENT ( SID_SVX_START + 885 )
+#define SID_ATTR_GRAF_GRAPHIC ( SID_SVX_START + 886 )
+#define SID_ASIAN_DLG ( SID_SVX_START + 904 )
+#define SID_DRAW_TEXT_VERTICAL SID_ATTR_CHAR_VERTICAL
+#define SID_DRAW_CAPTION_VERTICAL ( SID_SVX_START + 906 )
+#define SID_TEXTDIRECTION_LEFT_TO_RIGHT ( SID_SVX_START + 907 )
+#define SID_TEXTDIRECTION_TOP_TO_BOTTOM ( SID_SVX_START + 908 )
+#define SID_TRANSLITERATE_UPPER ( SID_SVX_START + 912 )
+#define SID_TRANSLITERATE_LOWER ( SID_SVX_START + 913 )
+#define SID_TRANSLITERATE_HALFWIDTH ( SID_SVX_START + 914 )
+#define SID_TRANSLITERATE_FULLWIDTH ( SID_SVX_START + 915 )
+#define SID_TRANSLITERATE_HIRAGANA ( SID_SVX_START + 916 )
+#define SID_TRANSLITERATE_KATAGANA ( SID_SVX_START + 917 )
+#define SID_MN_SUB_TRANSLITERATE ( SID_SVX_START + 918 )
+#define SID_LANGUAGE_OPTIONS ( SID_SVX_START + 921 )
+#define SID_GETUNDOSTRINGS ( SID_SVX_START + 923 )
+#define SID_GETREDOSTRINGS ( SID_SVX_START + 924 )
+#define SID_PARA_VERTALIGN ( SID_SVX_START + 925 )
+#define SID_INSERT_IMAGECONTROL ( SID_SVX_START + 926 )
+#define SID_INSERT_PROGRESSBAR ( SID_SVX_START + 927 )
+#define SID_INSERT_HFIXEDLINE ( SID_SVX_START + 928 )
+#define SID_INSERT_VFIXEDLINE ( SID_SVX_START + 929 )
+#define SID_READONLY_MODE ( SID_SVX_START + 930 )
+#define SID_ATTR_ALIGN_HYPHENATION ( SID_SVX_START + 931 )
+#define SID_ATTR_NUMBERFORMAT_SOURCE ( SID_SVX_START + 932 )
+#define SID_ATTR_AUTO_COLOR_INVALID ( SID_SVX_START + 933 )
+//#define SID_ADDRESS_DATA_SOURCE ( SID_SVX_START + 934 ) -> sfxsids.hrc
+#define SID_RULER_BORDER_DISTANCE ( SID_SVX_START + 935 )
+#define SID_INSERT_DATEFIELD ( SID_SVX_START + 936 )
+#define SID_INSERT_TIMEFIELD ( SID_SVX_START + 937 )
+#define SID_INSERT_NUMERICFIELD ( SID_SVX_START + 938 )
+#define SID_INSERT_CURRENCYFIELD ( SID_SVX_START + 939 )
+#define SID_INSERT_FORMATTEDFIELD ( SID_SVX_START + 940 )
+#define SID_INSERT_PATTERNFIELD ( SID_SVX_START + 941 )
+#define SID_INSERT_FILECONTROL ( SID_SVX_START + 942 )
+#define SID_SHOW_PROPERTYBROWSER ( SID_SVX_START + 943 )
+#define SID_ATTR_TABSTOP_VERTICAL ( SID_SVX_START + 946 )
+#define SID_RULER_BORDERS_VERTICAL ( SID_SVX_START + 948 )
+#define SID_ATTR_ALIGN_ASIANVERTICAL ( SID_SVX_START + 949 )
+#define SID_RULER_TEXT_RIGHT_TO_LEFT ( SID_SVX_START + 952 )
+#define SID_ATTR_HDFT_DYNAMIC_SPACING ( SID_SVX_START + 953 )
+#define SID_ATTR_NUMBERFORMAT_ADD_AUTO ( SID_SVX_START + 954 )
+#define SID_OPEN_HYPERLINK ( SID_SVX_START + 955 )
+#define SID_CTLFONT_STATE ( SID_SVX_START + 956 )
+#define SID_VERTICALTEXT_STATE ( SID_SVX_START + 957 )
+#define SID_OPEN_XML_FILTERSETTINGS ( SID_SVX_START + 958 )
+#define SID_HANGUL_HANJA_CONVERSION ( SID_SVX_START + 959 )
+#define SID_EXTRUSION_TOOGLE ( SID_SVX_START + 960 )
+#define SID_EXTRUSION_TILT_DOWN ( SID_SVX_START + 961 )
+#define SID_EXTRUSION_TILT_UP ( SID_SVX_START + 962 )
+#define SID_EXTRUSION_TILT_LEFT ( SID_SVX_START + 963 )
+#define SID_EXTRUSION_TILT_RIGHT ( SID_SVX_START + 964 )
+#define SID_EXTRUSION_DEPTH_FLOATER ( SID_SVX_START + 965 )
+#define SID_EXTRUSION_DIRECTION_FLOATER ( SID_SVX_START + 966 )
+#define SID_EXTRUSION_LIGHTING_FLOATER ( SID_SVX_START + 967 )
+#define SID_EXTRUSION_SURFACE_FLOATER ( SID_SVX_START + 968 )
+#define SID_EXTRUSION_3D_COLOR ( SID_SVX_START + 969 )
+#define SID_EXTRUSION_DEPTH ( SID_SVX_START + 970 )
+#define SID_EXTRUSION_DIRECTION ( SID_SVX_START + 971 )
+#define SID_EXTRUSION_PROJECTION ( SID_SVX_START + 972 )
+#define SID_EXTRUSION_LIGHTING_DIRECTION ( SID_SVX_START + 973 )
+#define SID_EXTRUSION_LIGHTING_INTENSITY ( SID_SVX_START + 974 )
+#define SID_EXTRUSION_SURFACE ( SID_SVX_START + 975 )
+#define SID_EXTRUSION_DEPTH_DIALOG ( SID_SVX_START + 976 )
+#define SID_FONTWORK_GALLERY_FLOATER ( SID_SVX_START + 977 )
+// free ( SID_SVX_START + 978 )
+#define SID_FONTWORK_SHAPE_TYPE ( SID_SVX_START + 979 )
+#define SID_FONTWORK_SAME_LETTER_HEIGHTS ( SID_SVX_START + 980 )
+#define SID_FONTWORK_ALIGNMENT_FLOATER ( SID_SVX_START + 981 )
+#define SID_FONTWORK_CHARACTER_SPACING_FLOATER ( SID_SVX_START + 982 )
+#define SID_FONTWORK_SHAPE ( SID_SVX_START + 983 )
+#define SID_FONTWORK_ALIGNMENT ( SID_SVX_START + 984 )
+#define SID_FONTWORK_CHARACTER_SPACING ( SID_SVX_START + 985 )
+#define SID_FONTWORK_KERN_CHARACTER_PAIRS ( SID_SVX_START + 986 )
+#define SID_DRAW_FONTWORK ( SID_SVX_START + 987 )
+#define SID_DRAW_FONTWORK_VERTICAL ( SID_SVX_START + 988 )
+#define SID_ATTR_BORDER_CONNECT ( SID_SVX_START + 990 )
+#define SID_SW_FOLLOW_TEXT_FLOW ( SID_SVX_START + 991 ) /* #i18732# - slot-id for new option IsFollowingTextFlow' */
+#define SID_RULER_ROWS ( SID_SVX_START + 992 )
+#define SID_RULER_ROWS_VERTICAL ( SID_SVX_START + 993 )
+#define SID_ATTR_TRANSFORM_HORI_POSITION ( SID_SVX_START + 999 )
+#define SID_ATTR_TRANSFORM_VERT_POSITION ( SID_SVX_START + 1000 )
+#define SID_SHOW_ITEMBROWSER ( SID_SVX_START + 1001 )
+#define SID_ALIGN_ANY_LEFT ( SID_SVX_START + 1002 )
+#define SID_ALIGN_ANY_HCENTER ( SID_SVX_START + 1003 )
+#define SID_ALIGN_ANY_RIGHT ( SID_SVX_START + 1004 )
+#define SID_ALIGN_ANY_JUSTIFIED ( SID_SVX_START + 1005 )
+#define SID_ALIGN_ANY_TOP ( SID_SVX_START + 1006 )
+#define SID_ALIGN_ANY_VCENTER ( SID_SVX_START + 1007 )
+#define SID_ALIGN_ANY_BOTTOM ( SID_SVX_START + 1008 )
+#define SID_ALIGN_ANY_HDEFAULT ( SID_SVX_START + 1009 )
+#define SID_ALIGN_ANY_VDEFAULT ( SID_SVX_START + 1010 )
+#define SID_SW_COLLAPSING_BORDERS ( SID_SVX_START + 1011 )
+#define SID_SW_WRAP_INFLUENCE_ON_OBJPOS ( SID_SVX_START + 1012 ) /* #i28701# - slot-id for new attribute WrapInfluenceOnObjPos' */
+#define SID_ATTR_BORDER_DIAG_TLBR ( SID_SVX_START + 1013 )
+#define SID_ATTR_BORDER_DIAG_BLTR ( SID_SVX_START + 1014 )
+#define SID_ATTR_ALIGN_SHRINKTOFIT ( SID_SVX_START + 1015 )
+#define SID_CHINESE_CONVERSION ( SID_SVX_START + 1016 )
+#define SID_PAGE_TYPE ( SID_SVX_START + 1017 )
+#define SID_DLG_TYPE ( SID_SVX_START + 1018 )
+#define SID_TABPAGE_POS ( SID_SVX_START + 1019 )
+#define SID_GRAPHIC ( SID_SVX_START + 1020 )
+#define SID_OBJECT_LIST ( SID_SVX_START + 1021 )
+#define SID_ATTR_SET ( SID_SVX_START + 1022 )
+#define SID_CHAR_FMT_LIST_BOX ( SID_SVX_START + 1023 )
+#define SID_METRIC_ITEM ( SID_SVX_START + 1024 )
+#define SID_NUM_CHAR_FMT ( SID_SVX_START + 1025 )
+#define SID_BULLET_CHAR_FMT ( SID_SVX_START + 1026 )
+#define SID_DISABLE_SVXEXTPARAGRAPHTABPAGE_PAGEBREAK ( SID_SVX_START + 1027 )
+#define SID_SVXPARAALIGNTABPAGE_ENABLEJUSTIFYEXT ( SID_SVX_START + 1028 )
+#define SID_SVXSTDPARAGRAPHTABPAGE_PAGEWIDTH ( SID_SVX_START + 1029 )
+#define SID_SVXSTDPARAGRAPHTABPAGE_FLAGSET ( SID_SVX_START + 1030 )
+#define SID_SVXSTDPARAGRAPHTABPAGE_ABSLINEDIST ( SID_SVX_START + 1031 )
+#define SID_SVXTABULATORTABPAGE_CONTROLFLAGS ( SID_SVX_START + 1032 )
+#define SID_SVXTEXTATTRPAGE_VIEW ( SID_SVX_START + 1033 )
+#define SID_FLAG_TYPE ( SID_SVX_START + 1034 )
+#define SID_SWMODE_TYPE ( SID_SVX_START + 1035 )
+#define SID_DISABLE_CTL ( SID_SVX_START + 1036 )
+#define SID_LINK_TYPE ( SID_SVX_START + 1037 )
+#define SID_ENUM_PAGE_MODE ( SID_SVX_START + 1038 )
+#define SID_PAPER_START ( SID_SVX_START + 1039 )
+#define SID_PAPER_END ( SID_SVX_START + 1040 )
+#define SID_COLLECT_LIST ( SID_SVX_START + 1041 )
+#define SID_GROW_FONT_SIZE ( SID_SVX_START + 1042 )
+#define SID_SHRINK_FONT_SIZE ( SID_SVX_START + 1043 )
+// color subtoolbar on graphictoolbar
+#define SID_COLOR_SETTINGS ( SID_SVX_START + 1044 )
+#define SID_FM_MORE_CONTROLS ( SID_SVX_START + 1045 )
+#define SID_FM_FORM_DESIGN_TOOLS ( SID_SVX_START + 1046 )
+#define SID_DRAWTBX_CS_BASIC ( SID_SVX_START + 1047 )
+#define SID_DRAWTBX_CS_SYMBOL ( SID_SVX_START + 1048 )
+#define SID_DRAWTBX_CS_ARROW ( SID_SVX_START + 1049 )
+#define SID_DRAWTBX_CS_FLOWCHART ( SID_SVX_START + 1050 )
+#define SID_DRAWTBX_CS_CALLOUT ( SID_SVX_START + 1051 )
+#define SID_DRAWTBX_CS_STAR ( SID_SVX_START + 1052 )
+#define SID_DRAW_CS_ID ( SID_SVX_START + 1053 )
+#define SID_FONTWORK_CHARACTER_SPACING_DIALOG ( SID_SVX_START + 1054 )
+#define SID_BORDER_REDUCED_MODE ( SID_SVX_START + 1055 )
+#define SID_INSERT_RLM ( SID_SVX_START + 1056 ) /* insert RLM - right to left mark */
+#define SID_INSERT_LRM ( SID_SVX_START + 1057 ) /* insert LRM - left to right mark */
+#define SID_INSERT_ZWSP ( SID_SVX_START + 1058 ) /* insert ZWJ - invisible space, keep words together*/
+#define SID_INSERT_ZWNBSP ( SID_SVX_START + 1059 ) /* insert ZWNJ - invisible space, forces linebreak*/
+#define SID_OPTIONS_DATABASES ( SID_SVX_START + 1060 )
+#define SID_OPEN_SMARTTAGMENU ( SID_SVX_START + 1061 )
+#define SID_OPEN_SMARTTAGOPTIONS ( SID_SVX_START + 1062 )
+#define SID_INSERT_TREECONTROL ( SID_SVX_START + 1063 )
+#define SID_ATTR_VIEWLAYOUT ( SID_SVX_START + 1064 )
+#define SID_ATTR_ZOOMSLIDER ( SID_SVX_START + 1065 )
+#define SID_FONTNAMELIST ( SID_SVX_START + 1066 )
+#define SID_LANGUAGE_STATUS ( SID_SVX_START + 1067 )
+#define SID_CHAR_DLG_FOR_PARAGRAPH ( SID_SVX_START + 1068 )
+#define SID_SET_DOCUMENT_LANGUAGE ( SID_SVX_START + 1069 )
+
+#define SID_TABLE_MERGE_CELLS (SID_SVX_START+1070)
+#define SID_TABLE_SPLIT_CELLS (SID_SVX_START+1071)
+#define SID_OPTIMIZE_TABLE (SID_SVX_START+1072)
+#define SID_TABLE_VERT_BOTTOM (SID_SVX_START+1073)
+#define SID_TABLE_VERT_CENTER (SID_SVX_START+1074)
+#define SID_TABLE_VERT_NONE (SID_SVX_START+1075)
+#define SID_TABLE_INSERT_ROW (SID_SVX_START+1076)
+#define SID_TABLE_INSERT_COL (SID_SVX_START+1077)
+#define SID_TABLE_DELETE_ROW (SID_SVX_START+1078)
+#define SID_TABLE_DELETE_COL (SID_SVX_START+1079)
+#define SID_TABLE_SELECT_ALL (SID_SVX_START+1080)
+#define SID_TABLE_SELECT_COL (SID_SVX_START+1081)
+#define SID_TABLE_SELECT_ROW (SID_SVX_START+1082)
+#define SID_FORMAT_TABLE_DLG (SID_SVX_START+1083)
+#define SID_TABLE_SORT_DIALOG (SID_SVX_START+1084)
+#define SID_TABLE_AUTOSUM (SID_SVX_START+1085)
+#define SID_TABLE_DISTRIBUTE_COLUMNS (SID_SVX_START+1086)
+#define SID_TABLE_DISTRIBUTE_ROWS (SID_SVX_START+1087)
+#define SID_TABLE_STYLE (SID_SVX_START+1088)
+#define SID_TABLE_STYLE_SETTINGS (SID_SVX_START+1089)
+#define SID_CHAR_DLG_PREVIEW_STRING (SID_SVX_START+1090)
+#define SID_RECHECK_DOCUMENT (SID_SVX_START+1091)
+#define SID_OBJECT_MIRROR (SID_SVX_START+1093)
+
+#define SID_DELETE_POSTIT (SID_SVX_START+1094)
+#define SID_NEXT_POSTIT (SID_SVX_START+1095)
+#define SID_PREVIOUS_POSTIT (SID_SVX_START+1096)
+#define SID_DELETEALL_POSTIT (SID_SVX_START+1097)
+#define SID_SHOW_POSTIT (SID_SVX_START+1098)
+#define SID_REPLYTO_POSTIT (SID_SVX_START+1099)
+#define SID_DELETEALLBYAUTHOR_POSTIT (SID_SVX_START+1100)
+#define SID_INSERT_POSTIT (SID_SVX_START+1101)
+
+// IMPORTANT NOTE: adjust SID_SVX_FIRSTFREE, when adding new slot id
+#define SID_SVX_FIRSTFREE SID_INSERT_POSTIT + 1
+
+// --------------------------------------------------------------------------
+// Overflow check for slot IDs
+// --------------------------------------------------------------------------
+
+#if SID_SVX_FIRSTFREE > SID_SVX_END
+#error Resource-Ueberlauf in #line, #file
+#endif
+
+// --------------------------------------------------------------------------
+// Ranges, um ItemSets fuer bestimmte 3D-Objekte erstellen zu koennen
+// --------------------------------------------------------------------------
+
+//
+// SceneObject:
+#define SID_ATTR_3D_RANGE_SCENE \
+SID_ATTR_3D_AMBIENTCOLOR, SID_ATTR_3D_PERSPECTIVE, \
+SID_ATTR_3D_DISTANCE, SID_ATTR_3D_FOCAL_LENGTH, \
+SID_ATTR_3D_TWO_SIDED_LIGHTING, SID_ATTR_3D_TWO_SIDED_LIGHTING, \
+SID_ATTR_3D_SHADE_MODE, SID_ATTR_3D_SHADE_MODE, \
+SID_ATTR_3D_SHADOW_SLANT, SID_ATTR_3D_LIGHTDIRECTION_8 \
+
+//
+// CompoundObject:
+#define SID_ATTR_3D_RANGE_COMPOUND \
+SID_ATTR_3D_DOUBLE_SIDED, SID_ATTR_3D_DOUBLE_SIDED, \
+SID_ATTR_3D_NORMALS_KIND, SID_ATTR_3D_NORMALS_INVERT, \
+SID_ATTR_3D_TEXTURE_KIND, SID_ATTR_3D_MAT_SPECULAR_INTENSITY, \
+SID_ATTR_3D_SHADOW_3D, SID_ATTR_3D_SHADOW_3D \
+
+//
+// ExtrudeObject:
+#define SID_ATTR_3D_RANGE_EXTRUDE \
+SID_ATTR_3D_RANGE_COMPOUND, \
+SID_ATTR_3D_DEPTH, SID_ATTR_3D_DEPTH, \
+SID_ATTR_3D_PERCENT_DIAGONAL, SID_ATTR_3D_BACKSCALE \
+
+//
+// LatheObject:
+#define SID_ATTR_3D_RANGE_LATHE \
+SID_ATTR_3D_RANGE_COMPOUND, \
+SID_ATTR_3D_HORZ_SEGS, SID_ATTR_3D_VERT_SEGS, \
+SID_ATTR_3D_PERCENT_DIAGONAL, SID_ATTR_3D_END_ANGLE \
+
+//
+// SphereObject:
+#define SID_ATTR_3D_RANGE_SPHERE \
+SID_ATTR_3D_RANGE_COMPOUND, \
+SID_ATTR_3D_HORZ_SEGS, SID_ATTR_3D_VERT_SEGS \
+
+//
+// Spezieller Range fuer alle 3D-Objekte
+#define SID_ATTR_3D_RANGE_OBJECT \
+SID_ATTR_3D_RANGE_COMPOUND, \
+SID_ATTR_3D_DEPTH, SID_ATTR_3D_DEPTH, \
+SID_ATTR_3D_HORZ_SEGS, SID_ATTR_3D_VERT_SEGS, \
+SID_ATTR_3D_PERCENT_DIAGONAL, SID_ATTR_3D_END_ANGLE \
+
+#endif
+
+#endif // #ifndef _SVX_SVXIDS_HRC
+
+// ******************************************************************* EOF
+
diff --git a/editeng/inc/editeng/editobj.hxx b/editeng/inc/editeng/editobj.hxx
new file mode 100644
index 0000000000..682dd84cfa
--- /dev/null
+++ b/editeng/inc/editeng/editobj.hxx
@@ -0,0 +1,129 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: editobj.hxx,v $
+ * $Revision: 1.5 $
+ *
+ * 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 _EDITOBJ_HXX
+#define _EDITOBJ_HXX
+
+#include <tools/stream.hxx>
+#include <tools/debug.hxx>
+#include <rsc/rscsfx.hxx>
+#include <svl/itemset.hxx>
+#include <editeng/eeitem.hxx>
+#include "editeng/editengdllapi.h"
+
+DBG_NAMEEX( EE_EditTextObject )
+
+class SfxItemPool;
+class SfxStyleSheetPool;
+class SvxFieldItem;
+class EECharAttribArray;
+
+#define EDTOBJ_SETTINGS_ULITEMSUMMATION 0x00000001
+#define EDTOBJ_SETTINGS_ULITEMFIRSTPARA 0x00000002
+
+class EDITENG_DLLPUBLIC EditTextObject
+{
+private:
+ USHORT nWhich;
+ EDITENG_DLLPRIVATE EditTextObject& operator=( const EditTextObject& );
+
+protected:
+ EditTextObject( USHORT nWhich );
+ EditTextObject( const EditTextObject& r );
+
+ virtual void StoreData( SvStream& rOStream ) const;
+ virtual void CreateData( SvStream& rIStream );
+
+public:
+ virtual ~EditTextObject();
+
+ USHORT Which() const { return nWhich; }
+
+ virtual USHORT GetUserType() const; // Fuer OutlinerMode, der kann das aber nicht kompatibel speichern
+ virtual void SetUserType( USHORT n );
+
+ virtual ULONG GetObjectSettings() const;
+ virtual void SetObjectSettings( ULONG n );
+
+ virtual BOOL IsVertical() const;
+ virtual void SetVertical( BOOL bVertical );
+
+ virtual USHORT GetScriptType() const;
+
+ virtual USHORT GetVersion() const; // Solange der Outliner keine Recordlaenge speichert
+
+ virtual EditTextObject* Clone() const = 0;
+
+ BOOL Store( SvStream& rOStream ) const;
+ static EditTextObject* Create( SvStream& rIStream,
+ SfxItemPool* pGlobalTextObjectPool = 0 );
+ void Skip( SvStream& rIStream );
+
+ virtual USHORT GetParagraphCount() const;
+
+ virtual XubString GetText( USHORT nParagraph ) const;
+ virtual void Insert( const EditTextObject& rObj, USHORT nPara );
+ virtual void RemoveParagraph( USHORT nPara );
+ virtual EditTextObject* CreateTextObject( USHORT nPara, USHORT nParas = 1 ) const;
+
+ virtual BOOL HasPortionInfo() const;
+ virtual void ClearPortionInfo();
+
+ virtual BOOL HasOnlineSpellErrors() const;
+
+ virtual BOOL HasCharAttribs( USHORT nWhich = 0 ) const;
+ virtual void GetCharAttribs( USHORT nPara, EECharAttribArray& rLst ) const;
+
+ virtual BOOL RemoveCharAttribs( USHORT nWhich = 0 );
+ virtual BOOL RemoveParaAttribs( USHORT nWhich = 0 );
+
+ virtual void MergeParaAttribs( const SfxItemSet& rAttribs, USHORT nStart = EE_CHAR_START, USHORT nEnd = EE_CHAR_END );
+
+ virtual BOOL IsFieldObject() const;
+ virtual const SvxFieldItem* GetField() const;
+ virtual BOOL HasField( TypeId aType = NULL ) const;
+
+ virtual SfxItemSet GetParaAttribs( USHORT nPara ) const;
+ virtual void SetParaAttribs( USHORT nPara, const SfxItemSet& rAttribs );
+
+ virtual BOOL HasStyleSheet( const XubString& rName, SfxStyleFamily eFamily ) const;
+ virtual void GetStyleSheet( USHORT nPara, XubString& rName, SfxStyleFamily& eFamily ) const;
+ virtual void SetStyleSheet( USHORT nPara, const XubString& rName, const SfxStyleFamily& eFamily );
+ virtual BOOL ChangeStyleSheets( const XubString& rOldName, SfxStyleFamily eOldFamily,
+ const XubString& rNewName, SfxStyleFamily eNewFamily );
+ virtual void ChangeStyleSheetName( SfxStyleFamily eFamily, const XubString& rOldName, const XubString& rNewName );
+
+ bool operator==( const EditTextObject& rCompare ) const;
+
+ // #i102062#
+ bool isWrongListEqual(const EditTextObject& rCompare) const;
+};
+
+#endif // _EDITOBJ_HXX
diff --git a/editeng/inc/editeng/editrids.hrc b/editeng/inc/editeng/editrids.hrc
new file mode 100644
index 0000000000..869d2253bf
--- /dev/null
+++ b/editeng/inc/editeng/editrids.hrc
@@ -0,0 +1,420 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: svxids.hrc,v $
+ * $Revision: 1.10.132.2 $
+ *
+ * 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 _EDIT_RIDS_HRC
+#define _EDIT_RIDS_HRC
+
+// include ------------------------------------------------------------------
+
+#include <svl/solar.hrc>
+
+// strings also used in cui
+#define RID_SVXSTR_PAPERBIN_SETTINGS (RID_SVX_START + 149)
+#define RID_SVXSTR_PAPERBIN (RID_SVX_START + 145)
+
+// outliner
+#ifndef RID_OUTL_START
+#define RID_OUTL_START ( RID_EDIT_END + 100 )
+#endif
+
+#define RID_OUTLUNDO_DEPTH ( RID_OUTL_START + 0 )
+#define RID_OUTLUNDO_HEIGHT ( RID_OUTL_START + 1 )
+#define RID_OUTLUNDO_EXPAND ( RID_OUTL_START + 2 )
+#define RID_OUTLUNDO_COLLAPSE ( RID_OUTL_START + 3 )
+#define RID_OUTLUNDO_ATTR ( RID_OUTL_START + 4 )
+#define RID_OUTLUNDO_INSERT ( RID_OUTL_START + 5 )
+
+
+// strings for items
+
+#define RID_SVXITEMS_TRUE (RID_SVXITEMS_START + 0)
+#define RID_SVXITEMS_FALSE (RID_SVXITEMS_START + 1)
+
+#define RID_SVXITEMS_FRMDIR_BEGIN (RID_EDITITEMS_START + 570)
+#define RID_SVXITEMS_FRMDIR_HORI_LEFT_TOP (RID_EDITITEMS_START + 570)
+#define RID_SVXITEMS_FRMDIR_HORI_RIGHT_TOP (RID_EDITITEMS_START + 571)
+#define RID_SVXITEMS_FRMDIR_VERT_TOP_RIGHT (RID_EDITITEMS_START + 572)
+#define RID_SVXITEMS_FRMDIR_VERT_TOP_LEFT (RID_EDITITEMS_START + 573)
+#define RID_SVXITEMS_FRMDIR_ENVIRONMENT (RID_EDITITEMS_START + 574)
+#define RID_SVXITEMS_FRMDIR_END (RID_EDITITEMS_START + 574)
+
+#define RID_SVXITEMS_BORDER_COMPLETE (RID_SVXITEMS_START + 490)
+#define RID_SVXITEMS_BORDER_TOP (RID_SVXITEMS_START + 491)
+#define RID_SVXITEMS_BORDER_BOTTOM (RID_SVXITEMS_START + 492)
+#define RID_SVXITEMS_BORDER_LEFT (RID_SVXITEMS_START + 493)
+#define RID_SVXITEMS_BORDER_RIGHT (RID_SVXITEMS_START + 494)
+#define RID_SVXITEMS_BORDER_DISTANCE (RID_SVXITEMS_START + 495)
+#define RID_SVXITEMS_BORDER_NONE (RID_SVXITEMS_START + 528)
+
+#define RID_SVXITEMS_TRANSPARENT_TRUE (RID_SVXITEMS_START + 441)
+#define RID_SVXITEMS_TRANSPARENT_FALSE (RID_SVXITEMS_START + 442)
+
+#define RID_SVXITEMS_OPAQUE_TRUE (RID_SVXITEMS_START + 429)
+#define RID_SVXITEMS_OPAQUE_FALSE (RID_SVXITEMS_START + 430)
+
+#define RID_SVXITEMS_SHADOW_COMPLETE (RID_SVXITEMS_START + 489)
+#define RID_SVXITEMS_GRAPHIC (RID_SVXITEMS_START + 526)
+#define RID_SVXITEMS_LINES (RID_SVXITEMS_START + 511)
+#define RID_SVXITEMS_ORPHANS_COMPLETE (RID_SVXITEMS_START + 513)
+#define RID_SVXITEMS_WIDOWS_COMPLETE (RID_SVXITEMS_START + 512)
+#define RID_SVXITEMS_PAGEMODEL_COMPLETE (RID_SVXITEMS_START + 517)
+
+#define RID_SVXITEMS_SHADOWED_TRUE (RID_SVXITEMS_START + 415)
+#define RID_SVXITEMS_SHADOWED_FALSE (RID_SVXITEMS_START + 416)
+#define RID_SVXITEMS_AUTOKERN_TRUE (RID_SVXITEMS_START + 417)
+#define RID_SVXITEMS_AUTOKERN_FALSE (RID_SVXITEMS_START + 418)
+#define RID_SVXITEMS_WORDLINE_TRUE (RID_SVXITEMS_START + 419)
+#define RID_SVXITEMS_WORDLINE_FALSE (RID_SVXITEMS_START + 420)
+#define RID_SVXITEMS_CONTOUR_TRUE (RID_SVXITEMS_START + 421)
+#define RID_SVXITEMS_CONTOUR_FALSE (RID_SVXITEMS_START + 422)
+#define RID_SVXITEMS_NOLINEBREAK_TRUE (RID_SVXITEMS_START + 423)
+#define RID_SVXITEMS_NOLINEBREAK_FALSE (RID_SVXITEMS_START + 424)
+#define RID_SVXITEMS_NOHYPHEN_TRUE (RID_SVXITEMS_START + 425)
+#define RID_SVXITEMS_NOHYPHEN_FALSE (RID_SVXITEMS_START + 426)
+#define RID_SVXITEMS_FMTKEEP_TRUE (RID_SVXITEMS_START + 431)
+#define RID_SVXITEMS_FMTKEEP_FALSE (RID_SVXITEMS_START + 432)
+#define RID_SVXITEMS_FMTSPLIT_TRUE (RID_SVXITEMS_START + 433)
+#define RID_SVXITEMS_FMTSPLIT_FALSE (RID_SVXITEMS_START + 434)
+
+#define RID_SVXITEMS_PRINT_TRUE (RID_SVXITEMS_START + 427)
+#define RID_SVXITEMS_PRINT_FALSE (RID_SVXITEMS_START + 428)
+#define RID_SVXITEMS_PROT_POS_TRUE (RID_SVXITEMS_START + 439)
+#define RID_SVXITEMS_PROT_POS_FALSE (RID_SVXITEMS_START + 440)
+#define RID_SVXITEMS_PROT_SIZE_TRUE (RID_SVXITEMS_START + 437)
+#define RID_SVXITEMS_PROT_SIZE_FALSE (RID_SVXITEMS_START + 438)
+#define RID_SVXITEMS_PROT_CONTENT_TRUE (RID_SVXITEMS_START + 435)
+#define RID_SVXITEMS_PROT_CONTENT_FALSE (RID_SVXITEMS_START + 436)
+#define RID_SVXITEMS_ULSPACE_UPPER (RID_SVXITEMS_START + 496)
+#define RID_SVXITEMS_ULSPACE_LOWER (RID_SVXITEMS_START + 497)
+#define RID_SVXITEMS_LRSPACE_LEFT (RID_SVXITEMS_START + 486)
+#define RID_SVXITEMS_LRSPACE_FLINE (RID_SVXITEMS_START + 487)
+#define RID_SVXITEMS_LRSPACE_RIGHT (RID_SVXITEMS_START + 488)
+#define RID_SVXITEMS_SIZE_WIDTH (RID_SVXITEMS_START + 484)
+#define RID_SVXITEMS_SIZE_HEIGHT (RID_SVXITEMS_START + 485)
+#define RID_SVXITEMS_PAGE_END_TRUE (RID_SVXITEMS_START + 451)
+#define RID_SVXITEMS_PAGE_END_FALSE (RID_SVXITEMS_START + 452)
+#define RID_SVXITEMS_HYPHEN_TRUE (RID_SVXITEMS_START + 449)
+#define RID_SVXITEMS_HYPHEN_FALSE (RID_SVXITEMS_START + 450)
+#define RID_SVXITEMS_HYPHEN_MINLEAD (RID_SVXITEMS_START + 514)
+#define RID_SVXITEMS_HYPHEN_MINTRAIL (RID_SVXITEMS_START + 515)
+#define RID_SVXITEMS_HYPHEN_MAX (RID_SVXITEMS_START + 516)
+#define RID_SVXITEMS_HNGPNCT_OFF (RID_SVXITEMS_START + 552)
+#define RID_SVXITEMS_HNGPNCT_ON (RID_SVXITEMS_START + 553)
+#define RID_SVXITEMS_FORBIDDEN_RULE_OFF (RID_SVXITEMS_START + 554)
+#define RID_SVXITEMS_FORBIDDEN_RULE_ON (RID_SVXITEMS_START + 555)
+#define RID_SVXITEMS_SCRPTSPC_OFF (RID_SVXITEMS_START + 550)
+#define RID_SVXITEMS_SCRPTSPC_ON (RID_SVXITEMS_START + 551)
+#define RID_SVXITEMS_CHARSCALE_OFF (RID_SVXITEMS_START + 559)
+#define RID_SVXITEMS_CHARSCALE (RID_SVXITEMS_START + 560)
+#define RID_SVXITEMS_CHARROTATE_OFF (RID_SVXITEMS_START + 556)
+#define RID_SVXITEMS_CHARROTATE (RID_SVXITEMS_START + 557)
+#define RID_SVXITEMS_CHARROTATE_FITLINE (RID_SVXITEMS_START + 558)
+
+#define RID_SVXITEMS_RELIEF_BEGIN (RID_SVXITEMS_START + 561)
+#define RID_SVXITEMS_RELIEF_NONE (RID_SVXITEMS_START + 561)
+#define RID_SVXITEMS_RELIEF_EMBOSSED (RID_SVXITEMS_START + 562)
+#define RID_SVXITEMS_RELIEF_ENGRAVED (RID_SVXITEMS_START + 563)
+#define RID_SVXITEMS_RELIEF_END (RID_SVXITEMS_START + 564)
+
+#define RID_ATTR_CHAR_EMPHASISMARK (RID_ATTR_BEGIN + 899)
+
+// enum FontEmphasisMark ---------------------------------------------------
+#define RID_SVXITEMS_EMPHASIS_BEGIN_STYLE (RID_SVXITEMS_START + 530)
+#define RID_SVXITEMS_EMPHASIS_NONE_STYLE (RID_SVXITEMS_START + 530)
+#define RID_SVXITEMS_EMPHASIS_DOT_STYLE (RID_SVXITEMS_START + 531)
+#define RID_SVXITEMS_EMPHASIS_CIRCLE_STYLE (RID_SVXITEMS_START + 532)
+#define RID_SVXITEMS_EMPHASIS_DISC_STYLE (RID_SVXITEMS_START + 533)
+#define RID_SVXITEMS_EMPHASIS_ACCENT_STYLE (RID_SVXITEMS_START + 534)
+
+#define RID_SVXITEMS_EMPHASIS_ABOVE_POS (RID_SVXITEMS_START + 540)
+#define RID_SVXITEMS_EMPHASIS_BELOW_POS (RID_SVXITEMS_START + 541)
+
+// enum ESCAPEMENT -------------------------------------------------------
+#define RID_SVXITEMS_ESCAPEMENT_BEGIN (RID_SVXITEMS_START + 166)
+#define RID_SVXITEMS_ESCAPEMENT_OFF (RID_SVXITEMS_START + 166)
+#define RID_SVXITEMS_ESCAPEMENT_SUPER (RID_SVXITEMS_START + 167)
+#define RID_SVXITEMS_ESCAPEMENT_SUB (RID_SVXITEMS_START + 168)
+#define RID_SVXITEMS_ESCAPEMENT_AUTO (RID_SVXITEMS_START + 169)
+
+// enum CASEMAP ----------------------------------------------------------
+#define RID_SVXITEMS_CASEMAP_BEGIN (RID_SVXITEMS_START + 160)
+#define RID_SVXITEMS_CASEMAP_NONE (RID_SVXITEMS_START + 160)
+#define RID_SVXITEMS_CASEMAP_VERSALIEN (RID_SVXITEMS_START + 161)
+#define RID_SVXITEMS_CASEMAP_GEMEINE (RID_SVXITEMS_START + 162)
+#define RID_SVXITEMS_CASEMAP_TITEL (RID_SVXITEMS_START + 163)
+#define RID_SVXITEMS_CASEMAP_KAPITAELCHEN (RID_SVXITEMS_START + 164)
+
+#define RID_SVXITEMS_KERNING_COMPLETE (RID_SVXITEMS_START + 518)
+#define RID_SVXITEMS_KERNING_EXPANDED (RID_SVXITEMS_START + 519)
+#define RID_SVXITEMS_KERNING_CONDENSED (RID_SVXITEMS_START + 520)
+
+#define RID_SVXITEMS_BLINK_TRUE (RID_SVXITEMS_START + 453)
+#define RID_SVXITEMS_BLINK_FALSE (RID_SVXITEMS_START + 454)
+
+#define RID_SVXITEMS_TWOLINES_OFF (RID_SVXITEMS_START + 545)
+#define RID_SVXITEMS_TWOLINES (RID_SVXITEMS_START + 546)
+
+// enum FontStrikeout ----------------------------------------------------
+#define RID_SVXITEMS_STRIKEOUT_BEGIN (RID_SVXITEMS_START + 135)
+#define RID_SVXITEMS_STRIKEOUT_NONE (RID_SVXITEMS_START + 135)
+#define RID_SVXITEMS_STRIKEOUT_SINGLE (RID_SVXITEMS_START + 136)
+#define RID_SVXITEMS_STRIKEOUT_DOUBLE (RID_SVXITEMS_START + 137)
+#define RID_SVXITEMS_STRIKEOUT_DONTKNOW (RID_SVXITEMS_START + 138)
+#define RID_SVXITEMS_STRIKEOUT_BOLD (RID_SVXITEMS_START + 139)
+#define RID_SVXITEMS_STRIKEOUT_SLASH (RID_SVXITEMS_START + 140)
+#define RID_SVXITEMS_STRIKEOUT_X (RID_SVXITEMS_START + 141)
+
+// enum FontUnderline - used for overline --------------------------------
+#define RID_SVXITEMS_OL_BEGIN (RID_SVXITEMS_START + 200)
+#define RID_SVXITEMS_OL_NONE (RID_SVXITEMS_START + 200)
+#define RID_SVXITEMS_OL_SINGLE (RID_SVXITEMS_START + 201)
+#define RID_SVXITEMS_OL_DOUBLE (RID_SVXITEMS_START + 202)
+#define RID_SVXITEMS_OL_DOTTED (RID_SVXITEMS_START + 203)
+#define RID_SVXITEMS_OL_DONTKNOW (RID_SVXITEMS_START + 204)
+#define RID_SVXITEMS_OL_DASH (RID_SVXITEMS_START + 205)
+#define RID_SVXITEMS_OL_LONGDASH (RID_SVXITEMS_START + 206)
+#define RID_SVXITEMS_OL_DASHDOT (RID_SVXITEMS_START + 207)
+#define RID_SVXITEMS_OL_DASHDOTDOT (RID_SVXITEMS_START + 208)
+#define RID_SVXITEMS_OL_SMALLWAVE (RID_SVXITEMS_START + 209)
+#define RID_SVXITEMS_OL_WAVE (RID_SVXITEMS_START + 210)
+#define RID_SVXITEMS_OL_DOUBLEWAVE (RID_SVXITEMS_START + 211)
+#define RID_SVXITEMS_OL_BOLD (RID_SVXITEMS_START + 212)
+#define RID_SVXITEMS_OL_BOLDDOTTED (RID_SVXITEMS_START + 213)
+#define RID_SVXITEMS_OL_BOLDDASH (RID_SVXITEMS_START + 214)
+#define RID_SVXITEMS_OL_BOLDLONGDASH (RID_SVXITEMS_START + 215)
+#define RID_SVXITEMS_OL_BOLDDASHDOT (RID_SVXITEMS_START + 216)
+#define RID_SVXITEMS_OL_BOLDDASHDOTDOT (RID_SVXITEMS_START + 217)
+#define RID_SVXITEMS_OL_BOLDWAVE (RID_SVXITEMS_START + 218)
+
+// enum FontUnderline - used for underline -------------------------------
+#define RID_SVXITEMS_UL_BEGIN (RID_SVXITEMS_START + 170)
+#define RID_SVXITEMS_UL_NONE (RID_SVXITEMS_START + 170)
+#define RID_SVXITEMS_UL_SINGLE (RID_SVXITEMS_START + 171)
+#define RID_SVXITEMS_UL_DOUBLE (RID_SVXITEMS_START + 172)
+#define RID_SVXITEMS_UL_DOTTED (RID_SVXITEMS_START + 173)
+#define RID_SVXITEMS_UL_DONTKNOW (RID_SVXITEMS_START + 174)
+#define RID_SVXITEMS_UL_DASH (RID_SVXITEMS_START + 175)
+#define RID_SVXITEMS_UL_LONGDASH (RID_SVXITEMS_START + 176)
+#define RID_SVXITEMS_UL_DASHDOT (RID_SVXITEMS_START + 177)
+#define RID_SVXITEMS_UL_DASHDOTDOT (RID_SVXITEMS_START + 178)
+#define RID_SVXITEMS_UL_SMALLWAVE (RID_SVXITEMS_START + 179)
+#define RID_SVXITEMS_UL_WAVE (RID_SVXITEMS_START + 180)
+#define RID_SVXITEMS_UL_DOUBLEWAVE (RID_SVXITEMS_START + 181)
+#define RID_SVXITEMS_UL_BOLD (RID_SVXITEMS_START + 182)
+#define RID_SVXITEMS_UL_BOLDDOTTED (RID_SVXITEMS_START + 183)
+#define RID_SVXITEMS_UL_BOLDDASH (RID_SVXITEMS_START + 184)
+#define RID_SVXITEMS_UL_BOLDLONGDASH (RID_SVXITEMS_START + 185)
+#define RID_SVXITEMS_UL_BOLDDASHDOT (RID_SVXITEMS_START + 186)
+#define RID_SVXITEMS_UL_BOLDDASHDOTDOT (RID_SVXITEMS_START + 187)
+#define RID_SVXITEMS_UL_BOLDWAVE (RID_SVXITEMS_START + 188)
+
+// enum FontWeight -------------------------------------------------------
+#define RID_SVXITEMS_WEIGHT_BEGIN (RID_SVXITEMS_START + 120)
+#define RID_SVXITEMS_WEIGHT_DONTKNOW (RID_SVXITEMS_START + 120)
+#define RID_SVXITEMS_WEIGHT_THIN (RID_SVXITEMS_START + 121)
+#define RID_SVXITEMS_WEIGHT_ULTRALIGHT (RID_SVXITEMS_START + 122)
+#define RID_SVXITEMS_WEIGHT_LIGHT (RID_SVXITEMS_START + 123)
+#define RID_SVXITEMS_WEIGHT_SEMILIGHT (RID_SVXITEMS_START + 124)
+#define RID_SVXITEMS_WEIGHT_NORMAL (RID_SVXITEMS_START + 125)
+#define RID_SVXITEMS_WEIGHT_MEDIUM (RID_SVXITEMS_START + 126)
+#define RID_SVXITEMS_WEIGHT_SEMIBOLD (RID_SVXITEMS_START + 127)
+#define RID_SVXITEMS_WEIGHT_BOLD (RID_SVXITEMS_START + 128)
+#define RID_SVXITEMS_WEIGHT_ULTRABOLD (RID_SVXITEMS_START + 129)
+#define RID_SVXITEMS_WEIGHT_BLACK (RID_SVXITEMS_START + 130)
+
+// paper formats
+#define RID_SVXSTR_PAPER_A0 (RID_SVX_START + 100)
+#define RID_SVXSTR_PAPER_A1 (RID_SVX_START + 101)
+#define RID_SVXSTR_PAPER_A2 (RID_SVX_START + 102)
+#define RID_SVXSTR_PAPER_A3 (RID_SVX_START + 103)
+#define RID_SVXSTR_PAPER_A4 (RID_SVX_START + 104)
+#define RID_SVXSTR_PAPER_A5 (RID_SVX_START + 105)
+#define RID_SVXSTR_PAPER_B4_ISO (RID_SVX_START + 106)
+#define RID_SVXSTR_PAPER_B5_ISO (RID_SVX_START + 107)
+#define RID_SVXSTR_PAPER_LETTER (RID_SVX_START + 108)
+#define RID_SVXSTR_PAPER_LEGAL (RID_SVX_START + 109)
+#define RID_SVXSTR_PAPER_TABLOID (RID_SVX_START + 110)
+#define RID_SVXSTR_PAPER_USER (RID_SVX_START + 111)
+#define RID_SVXSTR_PAPER_B6_ISO (RID_SVX_START + 112)
+#define RID_SVXSTR_PAPER_C4 (RID_SVX_START + 113)
+#define RID_SVXSTR_PAPER_C5 (RID_SVX_START + 114)
+#define RID_SVXSTR_PAPER_C6 (RID_SVX_START + 115)
+#define RID_SVXSTR_PAPER_C65 (RID_SVX_START + 116)
+#define RID_SVXSTR_PAPER_DL (RID_SVX_START + 117)
+#define RID_SVXSTR_PAPER_DIA (RID_SVX_START + 118)
+#define RID_SVXSTR_PAPER_SCREEN (RID_SVX_START + 119)
+#define RID_SVXSTR_PAPER_C (RID_SVX_START + 120)
+#define RID_SVXSTR_PAPER_D (RID_SVX_START + 121)
+#define RID_SVXSTR_PAPER_E (RID_SVX_START + 122)
+#define RID_SVXSTR_PAPER_EXECUTIVE (RID_SVX_START + 123)
+#define RID_SVXSTR_PAPER_LEGAL2 (RID_SVX_START + 124)
+#define RID_SVXSTR_PAPER_MONARCH (RID_SVX_START + 125)
+#define RID_SVXSTR_PAPER_COM675 (RID_SVX_START + 126)
+#define RID_SVXSTR_PAPER_COM9 (RID_SVX_START + 127)
+#define RID_SVXSTR_PAPER_COM10 (RID_SVX_START + 128)
+#define RID_SVXSTR_PAPER_COM11 (RID_SVX_START + 129)
+#define RID_SVXSTR_PAPER_COM12 (RID_SVX_START + 130)
+#define RID_SVXSTR_PAPER_KAI16 (RID_SVX_START + 131)
+#define RID_SVXSTR_PAPER_KAI32 (RID_SVX_START + 132)
+#define RID_SVXSTR_PAPER_KAI32BIG (RID_SVX_START + 133)
+#define RID_SVXSTR_PAPER_B4_JIS (RID_SVX_START + 134)
+#define RID_SVXSTR_PAPER_B5_JIS (RID_SVX_START + 135)
+#define RID_SVXSTR_PAPER_B6_JIS (RID_SVX_START + 136)
+
+// enum FontItalic -------------------------------------------------------
+#define RID_SVXITEMS_ITALIC_BEGIN (RID_SVXITEMS_START + 115)
+#define RID_SVXITEMS_ITALIC_NONE (RID_SVXITEMS_START + 115)
+#define RID_SVXITEMS_ITALIC_OBLIQUE (RID_SVXITEMS_START + 116)
+#define RID_SVXITEMS_ITALIC_NORMAL (RID_SVXITEMS_START + 117)
+
+// enum SvxAdjust -----------------------------------------------------------
+#define RID_SVXITEMS_ADJUST_BEGIN (RID_SVXITEMS_START + 230)
+#define RID_SVXITEMS_ADJUST_LEFT (RID_SVXITEMS_START + 230)
+#define RID_SVXITEMS_ADJUST_RIGHT (RID_SVXITEMS_START + 231)
+#define RID_SVXITEMS_ADJUST_BLOCK (RID_SVXITEMS_START + 232)
+#define RID_SVXITEMS_ADJUST_CENTER (RID_SVXITEMS_START + 233)
+#define RID_SVXITEMS_ADJUST_BLOCKLINE (RID_SVXITEMS_START + 234)
+
+#define RID_SVXITEMS_TAB_DECIMAL_CHAR (RID_SVXITEMS_START + 243)
+#define RID_SVXITEMS_TAB_FILL_CHAR (RID_SVXITEMS_START + 244)
+#define RID_SVXITEMS_TAB_ADJUST_BEGIN (RID_SVXITEMS_START + 245)
+#define RID_SVXITEMS_TAB_ADJUST_LEFT (RID_SVXITEMS_START + 245)
+#define RID_SVXITEMS_TAB_ADJUST_RIGHT (RID_SVXITEMS_START + 246)
+#define RID_SVXITEMS_TAB_ADJUST_DECIMAL (RID_SVXITEMS_START + 247)
+#define RID_SVXITEMS_TAB_ADJUST_CENTER (RID_SVXITEMS_START + 248)
+#define RID_SVXITEMS_TAB_ADJUST_DEFAULT (RID_SVXITEMS_START + 249)
+
+// enum SvxBreak ------------------------------------------------------------
+#define RID_SVXITEMS_BREAK_BEGIN (RID_SVXITEMS_START + 30)
+#define RID_SVXITEMS_BREAK_NONE (RID_SVXITEMS_START + 30)
+#define RID_SVXITEMS_BREAK_COLUMN_BEFORE (RID_SVXITEMS_START + 31)
+#define RID_SVXITEMS_BREAK_COLUMN_AFTER (RID_SVXITEMS_START + 32)
+#define RID_SVXITEMS_BREAK_COLUMN_BOTH (RID_SVXITEMS_START + 33)
+#define RID_SVXITEMS_BREAK_PAGE_BEFORE (RID_SVXITEMS_START + 34)
+#define RID_SVXITEMS_BREAK_PAGE_AFTER (RID_SVXITEMS_START + 35)
+#define RID_SVXITEMS_BREAK_PAGE_BOTH (RID_SVXITEMS_START + 36)
+
+// enum SvxShadowLocation ---------------------------------------------------
+#define RID_SVXITEMS_SHADOW_BEGIN (RID_SVXITEMS_START + 40)
+#define RID_SVXITEMS_SHADOW_NONE (RID_SVXITEMS_START + 40)
+#define RID_SVXITEMS_SHADOW_TOPLEFT (RID_SVXITEMS_START + 41)
+#define RID_SVXITEMS_SHADOW_TOPRIGHT (RID_SVXITEMS_START + 42)
+#define RID_SVXITEMS_SHADOW_BOTTOMLEFT (RID_SVXITEMS_START + 43)
+#define RID_SVXITEMS_SHADOW_BOTTOMRIGHT (RID_SVXITEMS_START + 44)
+
+// Umrandungslinien
+#define RID_SINGLE_LINE0 (RID_SVXITEMS_START + 360)
+#define RID_SINGLE_LINE1 (RID_SVXITEMS_START + 361)
+#define RID_SINGLE_LINE2 (RID_SVXITEMS_START + 362)
+#define RID_SINGLE_LINE3 (RID_SVXITEMS_START + 363)
+#define RID_SINGLE_LINE4 (RID_SVXITEMS_START + 364)
+#define RID_DOUBLE_LINE0 (RID_SVXITEMS_START + 365)
+#define RID_DOUBLE_LINE1 (RID_SVXITEMS_START + 366)
+#define RID_DOUBLE_LINE2 (RID_SVXITEMS_START + 367)
+#define RID_DOUBLE_LINE3 (RID_SVXITEMS_START + 368)
+#define RID_DOUBLE_LINE4 (RID_SVXITEMS_START + 369)
+#define RID_DOUBLE_LINE5 (RID_SVXITEMS_START + 370)
+#define RID_DOUBLE_LINE6 (RID_SVXITEMS_START + 371)
+#define RID_DOUBLE_LINE7 (RID_SVXITEMS_START + 372)
+#define RID_DOUBLE_LINE8 (RID_SVXITEMS_START + 373)
+#define RID_DOUBLE_LINE9 (RID_SVXITEMS_START + 374)
+#define RID_DOUBLE_LINE10 (RID_SVXITEMS_START + 375)
+
+// Metric-Texte
+#define RID_SVXITEMS_METRIC_MM (RID_SVXITEMS_START + 380)
+#define RID_SVXITEMS_METRIC_CM (RID_SVXITEMS_START + 381)
+#define RID_SVXITEMS_METRIC_INCH (RID_SVXITEMS_START + 382)
+#define RID_SVXITEMS_METRIC_POINT (RID_SVXITEMS_START + 383)
+#define RID_SVXITEMS_METRIC_TWIP (RID_SVXITEMS_START + 384)
+#define RID_SVXITEMS_METRIC_PIXEL (RID_SVXITEMS_START + 385)
+
+// enum ColorName -----------------------------------------------------------
+#define RID_SVXITEMS_COLOR_BEGIN (RID_SVXITEMS_START + 60)
+#define RID_SVXITEMS_COLOR (RID_SVXITEMS_START + 60)
+#define RID_SVXITEMS_COLOR_BLACK (RID_SVXITEMS_START + 61)
+#define RID_SVXITEMS_COLOR_BLUE (RID_SVXITEMS_START + 62)
+#define RID_SVXITEMS_COLOR_GREEN (RID_SVXITEMS_START + 63)
+#define RID_SVXITEMS_COLOR_CYAN (RID_SVXITEMS_START + 64)
+#define RID_SVXITEMS_COLOR_RED (RID_SVXITEMS_START + 65)
+#define RID_SVXITEMS_COLOR_MAGENTA (RID_SVXITEMS_START + 66)
+#define RID_SVXITEMS_COLOR_BROWN (RID_SVXITEMS_START + 67)
+#define RID_SVXITEMS_COLOR_GRAY (RID_SVXITEMS_START + 68)
+#define RID_SVXITEMS_COLOR_LIGHTGRAY (RID_SVXITEMS_START + 69)
+#define RID_SVXITEMS_COLOR_LIGHTBLUE (RID_SVXITEMS_START + 70)
+#define RID_SVXITEMS_COLOR_LIGHTGREEN (RID_SVXITEMS_START + 71)
+#define RID_SVXITEMS_COLOR_LIGHTCYAN (RID_SVXITEMS_START + 72)
+#define RID_SVXITEMS_COLOR_LIGHTRED (RID_SVXITEMS_START + 73)
+#define RID_SVXITEMS_COLOR_LIGHTMAGENTA (RID_SVXITEMS_START + 74)
+#define RID_SVXITEMS_COLOR_YELLOW (RID_SVXITEMS_START + 75)
+#define RID_SVXITEMS_COLOR_WHITE (RID_SVXITEMS_START + 76)
+#define RID_SVXITEMS_COLOR_MENUBAR (RID_SVXITEMS_START + 77)
+#define RID_SVXITEMS_COLOR_MENUBARTEXT (RID_SVXITEMS_START + 78)
+#define RID_SVXITEMS_COLOR_POPUPMENU (RID_SVXITEMS_START + 79)
+#define RID_SVXITEMS_COLOR_POPUPMENUTEXT (RID_SVXITEMS_START + 80)
+#define RID_SVXITEMS_COLOR_WINDOWTEXT (RID_SVXITEMS_START + 81)
+#define RID_SVXITEMS_COLOR_WINDOWWORKSPACE (RID_SVXITEMS_START + 82)
+#define RID_SVXITEMS_COLOR_HIGHLIGHT (RID_SVXITEMS_START + 83)
+#define RID_SVXITEMS_COLOR_HIGHLIGHTTEXT (RID_SVXITEMS_START + 84)
+#define RID_SVXITEMS_COLOR_3DTEXT (RID_SVXITEMS_START + 85)
+#define RID_SVXITEMS_COLOR_3DFACE (RID_SVXITEMS_START + 86)
+#define RID_SVXITEMS_COLOR_3DLIGHT (RID_SVXITEMS_START + 87)
+#define RID_SVXITEMS_COLOR_3DSHADOW (RID_SVXITEMS_START + 88)
+#define RID_SVXITEMS_COLOR_SCROLLBAR (RID_SVXITEMS_START + 89)
+#define RID_SVXITEMS_COLOR_FIELD (RID_SVXITEMS_START + 90)
+#define RID_SVXITEMS_COLOR_FIELDTEXT (RID_SVXITEMS_START + 91)
+
+
+#define RID_SVXITEMS_PARASNAPTOGRID_ON (RID_SVXITEMS_START + 575)
+#define RID_SVXITEMS_PARASNAPTOGRID_OFF (RID_SVXITEMS_START + 576)
+
+#define RID_SVXITEMS_PARAVERTALIGN_AUTO (RID_SVXITEMS_START + 565)
+#define RID_SVXITEMS_PARAVERTALIGN_BASELINE (RID_SVXITEMS_START + 566)
+#define RID_SVXITEMS_PARAVERTALIGN_TOP (RID_SVXITEMS_START + 567)
+#define RID_SVXITEMS_PARAVERTALIGN_CENTER (RID_SVXITEMS_START + 568)
+#define RID_SVXITEMS_PARAVERTALIGN_BOTTOM (RID_SVXITEMS_START + 569)
+
+#define RID_SVXITEMS_CHARHIDDEN_FALSE (RID_SVXITEMS_START + 577)
+#define RID_SVXITEMS_CHARHIDDEN_TRUE (RID_SVXITEMS_START + 578)
+
+// strings for error messsages in dictionary updates
+#define RID_SVXSTR_DIC_ERR_UNKNOWN (RID_SVX_START + 810)
+#define RID_SVXSTR_DIC_ERR_FULL (RID_SVX_START + 811)
+#define RID_SVXSTR_DIC_ERR_READONLY (RID_SVX_START + 812)
+
+// HM_ERR
+#define RID_SVXSTR_HMERR_THESAURUS (RID_SVX_START + 150)
+
+// ResIds fuer HM-QueryBoxen und Error-Strings
+#define RID_SVXQB_BW_CONTINUE (RID_SVX_START + 39)
+#define RID_SVXQB_CONTINUE (RID_SVX_START + 34)
+
+#endif
+
+// ******************************************************************* EOF
+
diff --git a/editeng/inc/editeng/editstat.hxx b/editeng/inc/editeng/editstat.hxx
new file mode 100644
index 0000000000..a658509aad
--- /dev/null
+++ b/editeng/inc/editeng/editstat.hxx
@@ -0,0 +1,153 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: editstat.hxx,v $
+ * $Revision: 1.7 $
+ *
+ * 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 _EDITSTAT_HXX
+#define _EDITSTAT_HXX
+
+#include <tools/string.hxx>
+#include <i18npool/lang.h>
+
+#define EE_CNTRL_USECHARATTRIBS 0x00000001 // Verwendung harter ZeichenAttr.
+#define EE_CNTRL_USEPARAATTRIBS 0x00000002 // Verwendung von AbsatzAttr.
+#define EE_CNTRL_CRSRLEFTPARA 0x00000004 // Cursor ist in einen anderen Absatz gewandert
+#define EE_CNTRL_DOIDLEFORMAT 0x00000008 // Idle-Formatierung
+#define EE_CNTRL_PASTESPECIAL 0x00000010 // Allow PasteSpecial
+#define EE_CNTRL_AUTOINDENTING 0x00000020 // Automatisches einruecken
+#define EE_CNTRL_UNDOATTRIBS 0x00000040 // Undo fuer Attribute....
+#define EE_CNTRL_ONECHARPERLINE 0x00000080 // Ein Zeichen pro Zeile
+#define EE_CNTRL_NOCOLORS 0x00000100 // Engine: Keine Farben
+#define EE_CNTRL_OUTLINER 0x00000200 // Sonderbehandlung Outliner/Gliederungsmodus
+#define EE_CNTRL_OUTLINER2 0x00000400 // Sonderbehandlung Outliner/Seite
+#define EE_CNTRL_ALLOWBIGOBJS 0x00000800 // PortionInfo in Textobjekten
+#define EE_CNTRL_ONLINESPELLING 0x00001000 // Waehrend des editieren Spelling
+#define EE_CNTRL_STRETCHING 0x00002000 // Stretch-Modus
+#define EE_CNTRL_MARKFIELDS 0x00004000 // Felder farblich hinterlegen
+#define EE_CNTRL_URLSFXEXECUTE 0x00008000 // !!!OLD!!!: SFX-URL-Execute.
+#define EE_CNTRL_RESTOREFONT 0x00010000 // Font im OutDev restaurieren
+#define EE_CNTRL_RTFSTYLESHEETS 0x00020000 // Stylesheets bei Import verwenden
+//#define EE_CNTRL_NOREDLINES 0x00040000 // Keine RedLines bei OnlineSpellError /* removed #i91949 */
+#define EE_CNTRL_AUTOCORRECT 0x00080000 // AutoKorrektur
+#define EE_CNTRL_AUTOCOMPLETE 0x00100000 // AutoComplete
+#define EE_CNTRL_AUTOPAGESIZEX 0x00200000 // Papierbreite an Text anpassen
+#define EE_CNTRL_AUTOPAGESIZEY 0x00400000 // Papierhoehe an Text anpassen
+#define EE_CNTRL_AUTOPAGESIZE (EE_CNTRL_AUTOPAGESIZEX|EE_CNTRL_AUTOPAGESIZEY)
+#define EE_CNTRL_TABINDENTING 0x00800000 // Einruecken mit Tab
+#define EE_CNTRL_FORMAT100 0x01000000 // Immer nach 100% formatieren
+#define EE_CNTRL_ULSPACESUMMATION 0x02000000 // MS Compat: SA und SB aufsummieren, nicht maximalwert
+#define EE_CNTRL_ULSPACEFIRSTPARA 0x04000000 // MS Compat: SB auch beim ersten Absatz auswerten
+
+#define EV_CNTRL_AUTOSCROLL 0x00000001 // Autom. Scrollen horiz.
+#define EV_CNTRL_BIGSCROLL 0x00000002 // Weiter Scrollen, als nur zum Cursor
+#define EV_CNTRL_ENABLEPASTE 0x00000004 // Paste erlauben
+#define EV_CNTRL_SINGLELINEPASTE 0x00000008 // View: Paste in Eingabezeile...
+#define EV_CNTRL_OVERWRITE 0x00000010 // Ueberschreibmodus
+#define EV_CNTRL_INVONEMORE 0x00000020 // Ein Pixel mehr invalidieren
+#define EV_CNTRL_AUTOSIZEX 0x00000040 // Automatisch an Textbreite anpassen
+#define EV_CNTRL_AUTOSIZEY 0x00000080 // Automatisch an Texthoehe anpassen
+#define EV_CNTRL_AUTOSIZE (EV_CNTRL_AUTOSIZEX|EV_CNTRL_AUTOSIZEY)
+
+#define EE_STAT_HSCROLL 0x00000001
+#define EE_STAT_VSCROLL 0x00000002
+#define EE_STAT_CURSOROUT 0x00000004
+#define EE_STAT_CRSRMOVEFAIL 0x00000008
+#define EE_STAT_CRSRLEFTPARA 0x00000010
+#define EE_STAT_TEXTWIDTHCHANGED 0x00000020
+#define EE_STAT_TEXTHEIGHTCHANGED 0x00000040
+#define EE_STAT_WRONGWORDCHANGED 0x00000080
+// #define EE_STAT_MODIFIED 0x00000100
+
+// Nur fuer Update:
+#define EE_CNTRL_AUTOCENTER EE_CNTRL_AUTOPAGESIZE
+#define EE_STAT_GROWY EE_STAT_TEXTHEIGHTCHANGED
+
+/*
+ EE_STAT_CRSRLEFTPARA zur Zeit bei Cursorbewegungen und Return.
+*/
+
+inline void SetFlags( ULONG& rBits, const ULONG nMask, FASTBOOL bOn )
+{
+ if ( bOn )
+ rBits |= nMask;
+ else
+ rBits &= ~nMask;
+}
+
+class EditStatus
+{
+protected:
+ ULONG nStatusBits;
+ ULONG nControlBits;
+ USHORT nPrevPara; // fuer EE_STAT_CRSRLEFTPARA
+
+public:
+ EditStatus() { nStatusBits = 0; nControlBits = 0; nPrevPara = 0xFFFF; }
+
+ void Clear() { nStatusBits = 0; }
+ void SetControlBits( ULONG nMask, FASTBOOL bOn )
+ { SetFlags( nControlBits, nMask, bOn ); }
+
+ ULONG GetStatusWord() const { return nStatusBits; }
+ ULONG& GetStatusWord() { return nStatusBits; }
+
+ ULONG GetControlWord() const { return nControlBits; }
+ ULONG& GetControlWord() { return nControlBits; }
+
+ USHORT GetPrevParagraph() const { return nPrevPara; }
+ USHORT& GetPrevParagraph() { return nPrevPara; }
+};
+
+#define SPELLCMD_IGNOREWORD 0x0001
+#define SPELLCMD_STARTSPELLDLG 0x0002
+#define SPELLCMD_ADDTODICTIONARY 0x0003
+#define SPELLCMD_WORDLANGUAGE 0x0004
+#define SPELLCMD_PARALANGUAGE 0x0005
+
+struct SpellCallbackInfo
+{
+ USHORT nCommand;
+ String aWord;
+ LanguageType eLanguage;
+
+ SpellCallbackInfo( USHORT nCMD, const String& rWord )
+ : aWord( rWord )
+ {
+ nCommand = nCMD;
+ eLanguage = LANGUAGE_DONTKNOW;
+ }
+
+ SpellCallbackInfo( USHORT nCMD, LanguageType eLang )
+ {
+ nCommand = nCMD;
+ eLanguage = eLang;
+ }
+};
+
+#endif // _EDITSTAT_HXX
+
diff --git a/editeng/inc/editeng/editund2.hxx b/editeng/inc/editeng/editund2.hxx
new file mode 100644
index 0000000000..befea58698
--- /dev/null
+++ b/editeng/inc/editeng/editund2.hxx
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: editund2.hxx,v $
+ * $Revision: 1.5 $
+ *
+ * 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 _EDITUND2_HXX
+#define _EDITUND2_HXX
+
+#include "editeng/editengdllapi.h"
+#include <svl/undo.hxx>
+
+class ImpEditEngine;
+
+class EDITENG_DLLPUBLIC EditUndoManager : public SfxUndoManager
+{
+ using SfxUndoManager::Undo;
+ using SfxUndoManager::Redo;
+
+private:
+ ImpEditEngine* pImpEE;
+public:
+ EditUndoManager( ImpEditEngine* pImpEE );
+
+ virtual BOOL Undo( USHORT nCount=1 );
+ virtual BOOL Redo( USHORT nCount=1 );
+};
+
+// -----------------------------------------------------------------------
+// EditUndo
+// ------------------------------------------------------------------------
+class EDITENG_DLLPUBLIC EditUndo : public SfxUndoAction
+{
+private:
+ USHORT nId;
+ ImpEditEngine* pImpEE;
+
+public:
+ TYPEINFO();
+ EditUndo( USHORT nI, ImpEditEngine* pImpEE );
+ virtual ~EditUndo();
+
+ ImpEditEngine* GetImpEditEngine() const { return pImpEE; }
+
+ virtual void Undo() = 0;
+ virtual void Redo() = 0;
+
+ virtual BOOL CanRepeat(SfxRepeatTarget&) const;
+ virtual String GetComment() const;
+ virtual USHORT GetId() const;
+};
+
+#endif // _EDITUND2_HXX
+
+
diff --git a/editeng/inc/editeng/editview.hxx b/editeng/inc/editeng/editview.hxx
new file mode 100644
index 0000000000..f24455985f
--- /dev/null
+++ b/editeng/inc/editeng/editview.hxx
@@ -0,0 +1,251 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: editview.hxx,v $
+ * $Revision: 1.4.198.1 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+// MyEDITVIEW, wegen exportiertem EditView
+#ifndef _MyEDITVIEW_HXX
+#define _MyEDITVIEW_HXX
+
+#include <rsc/rscsfx.hxx>
+#include <i18npool/lang.h>
+#include <tools/color.hxx>
+#include <tools/gen.hxx>
+
+class EditEngine;
+class ImpEditEngine;
+class ImpEditView;
+class SvxSearchItem;
+class SvxFieldItem;
+class Window;
+class Pointer;
+class Cursor;
+class KeyEvent;
+class MouseEvent;
+class DropEvent;
+class CommandEvent;
+class Rectangle;
+class Link;
+class Pair;
+class Point;
+class Range;
+class SvStream;
+class SvKeyValueIterator;
+class SfxStyleSheet;
+class Font;
+class FontList;
+
+#ifndef _EDITDATA_HXX
+#include <editeng/editdata.hxx>
+#endif
+#include <com/sun/star/uno/Reference.h>
+#include "editeng/editengdllapi.h"
+
+namespace com {
+namespace sun {
+namespace star {
+namespace datatransfer {
+ class XTransferable;
+}}}}
+
+class EDITENG_DLLPUBLIC EditView
+{
+ friend class EditEngine;
+ friend class ImpEditEngine;
+ friend class EditSelFunctionSet;
+
+public: // brauche ich fuer Undo
+ ImpEditView* GetImpEditView() const { return pImpEditView; }
+ ImpEditEngine* GetImpEditEngine() const;
+
+private:
+ ImpEditView* pImpEditView;
+
+ EDITENG_DLLPRIVATE EditView( const EditView& );
+ EDITENG_DLLPRIVATE EditView& operator=( const EditView& );
+
+public:
+ EditView( EditEngine* pEng, Window* pWindow );
+ virtual ~EditView();
+
+ void SetEditEngine( EditEngine* pEditEngine );
+ EditEngine* GetEditEngine() const;
+
+ void SetWindow( Window* pWin );
+ Window* GetWindow() const;
+
+ void Paint( const Rectangle& rRect );
+ void Invalidate();
+ Pair Scroll( long nHorzScroll, long nVertScroll, BYTE nRangeCheck = RGCHK_NEG );
+
+ void ShowCursor( BOOL bGotoCursor = TRUE, BOOL bForceVisCursor = TRUE );
+ void HideCursor();
+
+ EESelectionMode GetSelectionMode() const;
+ void SetSelectionMode( EESelectionMode eMode );
+
+ void SetReadOnly( BOOL bReadOnly );
+ BOOL IsReadOnly() const;
+
+ BOOL HasSelection() const;
+ ESelection GetSelection() const;
+ void SetSelection( const ESelection& rNewSel );
+ BOOL SelectCurrentWord();
+
+ void IndentBlock();
+ void UnindentBlock();
+
+ BOOL IsInsertMode() const;
+ void SetInsertMode( BOOL bInsert );
+
+ void ReplaceSelected( const String& rStr );
+ String GetSelected();
+ void DeleteSelected();
+
+ USHORT GetSelectedScriptType() const;
+
+ // Position der VisArea im Ausgabefenster.
+ // Eine Groessenaenderung betrifft auch die VisArea
+ void SetOutputArea( const Rectangle& rRec );
+ const Rectangle& GetOutputArea() const;
+
+ // Dokumentposition.
+ // Eine Groessenaenderung betrifft auch die VisArea
+ void SetVisArea( const Rectangle& rRec );
+ const Rectangle& GetVisArea() const;
+
+ void SetPointer( const Pointer& rPointer );
+ const Pointer& GetPointer() const;
+
+ void SetCursor( const Cursor& rCursor );
+ Cursor* GetCursor() const;
+
+ void InsertText( const String& rNew, BOOL bSelect = FALSE );
+
+ BOOL PostKeyEvent( const KeyEvent& rKeyEvent );
+
+ BOOL MouseButtonUp( const MouseEvent& rMouseEvent );
+ BOOL MouseButtonDown( const MouseEvent& rMouseEvent );
+ BOOL MouseMove( const MouseEvent& rMouseEvent );
+ void Command( const CommandEvent& rCEvt );
+
+ BOOL Drop( const DropEvent& rEvt );
+ BOOL QueryDrop( DropEvent& rEvt );
+ ESelection GetDropPos();
+
+ void Cut();
+ void Copy();
+ void Paste();
+ void PasteSpecial();
+
+ void EnablePaste( BOOL bEnable );
+ BOOL IsPasteEnabled() const;
+
+ void Undo();
+ void Redo();
+
+ // speziell fuer Olli
+ USHORT GetParagraph( const Point& rMousePosPixel );
+ Point GetWindowPosTopLeft( USHORT nParagraph );
+ void MoveParagraphs( Range aParagraphs, USHORT nNewPos );
+ void MoveParagraphs( long nDiff );
+
+ const SfxItemSet& GetEmptyItemSet();
+ SfxItemSet GetAttribs();
+ void SetAttribs( const SfxItemSet& rSet );
+ void SetParaAttribs( const SfxItemSet& rSet, USHORT nPara );
+ void RemoveAttribs( BOOL bRemoveParaAttribs = FALSE, USHORT nWhich = 0 );
+ void RemoveCharAttribs( USHORT nPara, USHORT nWhich = 0 );
+ void RemoveAttribsKeepLanguages( BOOL bRemoveParaAttribs = FALSE );
+
+ ULONG Read( SvStream& rInput, const String& rBaseURL, EETextFormat eFormat, BOOL bSelect = FALSE, SvKeyValueIterator* pHTTPHeaderAttrs = NULL );
+ ULONG Write( SvStream& rOutput, EETextFormat eFormat );
+
+ void SetBackgroundColor( const Color& rColor );
+ Color GetBackgroundColor() const;
+
+ void SetControlWord( sal_uInt32 nWord );
+ sal_uInt32 GetControlWord() const;
+
+ EditTextObject* CreateTextObject();
+ void InsertText( const EditTextObject& rTextObject );
+ void InsertText( ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::XTransferable > xDataObj, const String& rBaseURL, BOOL bUseSpecial );
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::XTransferable > GetTransferable();
+
+ // An EditView, damit bei TRUE flackerfreies Update:
+ void SetEditEngineUpdateMode( BOOL bUpdate );
+ void ForceUpdate();
+
+ SfxStyleSheet* GetStyleSheet() const;
+ void SetStyleSheet( SfxStyleSheet* pStyle );
+
+ void SetAnchorMode( EVAnchorMode eMode );
+ EVAnchorMode GetAnchorMode() const;
+
+ BOOL MatchGroup();
+
+ void CompleteAutoCorrect();
+
+ EESpellState StartSpeller( BOOL bMultipleDoc = FALSE );
+ EESpellState StartThesaurus();
+ USHORT StartSearchAndReplace( const SvxSearchItem& rSearchItem );
+
+ // for text conversion
+ void StartTextConversion( LanguageType nSrcLang, LanguageType nDestLang, const Font *pDestFont, INT32 nOptions, BOOL bIsInteractive, BOOL bMultipleDoc );
+ sal_Bool HasConvertibleTextPortion( LanguageType nLang );
+
+ void TransliterateText( sal_Int32 nTransliterationMode );
+
+ BOOL IsCursorAtWrongSpelledWord( BOOL bMarkIfWrong = FALSE );
+ BOOL IsWrongSpelledWordAtPos( const Point& rPosPixel, BOOL bMarkIfWrong = FALSE );
+ void SpellIgnoreWord();
+ void ExecuteSpellPopup( const Point& rPosPixel, Link* pCallBack = 0 );
+
+ void InsertField( const SvxFieldItem& rFld );
+ const SvxFieldItem* GetFieldUnderMousePointer() const;
+ const SvxFieldItem* GetFieldUnderMousePointer( USHORT& nPara, xub_StrLen& nPos ) const;
+ const SvxFieldItem* GetField( const Point& rPos, USHORT* pnPara = NULL, xub_StrLen* pnPos = NULL ) const;
+
+ const SvxFieldItem* GetFieldAtSelection() const;
+
+ String GetWordUnderMousePointer() const;
+ String GetWordUnderMousePointer( Rectangle& rWordRect ) const;
+
+ void SetInvalidateMore( USHORT nPixel );
+ USHORT GetInvalidateMore() const;
+
+ // grows or shrinks the font height for the current selection
+ void ChangeFontSize( bool bGrow, const FontList* pList );
+
+ static bool ChangeFontSize( bool bGrow, SfxItemSet& rSet, const FontList* pFontList );
+
+ String GetSurroundingText() const;
+ Selection GetSurroundingTextSelection() const;
+};
+
+#endif // _MyEDITVIEW_HXX
diff --git a/editeng/inc/editeng/edtdlg.hxx b/editeng/inc/editeng/edtdlg.hxx
new file mode 100644
index 0000000000..5f54989deb
--- /dev/null
+++ b/editeng/inc/editeng/edtdlg.hxx
@@ -0,0 +1,113 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: abstdlg.hxx,v $
+ * $Revision: 1.5 $
+ *
+ * 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 _EDT_ABSTDLG_HXX
+#define _EDT_ABSTDLG_HXX
+
+// include ---------------------------------------------------------------
+
+#include <tools/solar.h>
+#include <tools/string.hxx>
+#include <editeng/editengdllapi.h>
+#include <i18npool/lang.h>
+#include <com/sun/star/uno/Reference.hxx>
+#include <vcl/abstdlg.hxx>
+#include <editeng/hangulhanja.hxx>
+
+namespace com { namespace sun { namespace star { namespace linguistic2
+{
+ class XThesaurus;
+ class XHyphenator;
+} } } }
+
+class Window;
+class ResId;
+class Link;
+class SvxSpellWrapper;
+
+class AbstractThesaurusDialog : public VclAbstractDialog
+{
+public:
+ virtual String GetWord() = 0;
+ virtual sal_uInt16 GetLanguage() const = 0;
+ virtual Window* GetWindow() = 0;
+};
+
+class AbstractHyphenWordDialog : public VclAbstractDialog
+{
+public:
+ virtual void SelLeft() = 0;
+ virtual void SelRight() = 0;
+ virtual Window* GetWindow() = 0;
+};
+
+class AbstractHangulHanjaConversionDialog : public VclAbstractTerminatedDialog
+{
+ public:
+ virtual void EnableRubySupport( sal_Bool _bVal ) = 0;
+ virtual void SetByCharacter( sal_Bool _bByCharacter ) = 0;
+ virtual void SetConversionDirectionState( sal_Bool _bTryBothDirections, editeng::HangulHanjaConversion::ConversionDirection _ePrimaryConversionDirection ) = 0;
+ virtual void SetConversionFormat( editeng::HangulHanjaConversion::ConversionFormat _eType ) = 0;
+ virtual void SetOptionsChangedHdl( const Link& _rHdl ) = 0;
+ virtual void SetIgnoreHdl( const Link& _rHdl ) = 0;
+ virtual void SetIgnoreAllHdl( const Link& _rHdl ) = 0;
+ virtual void SetChangeHdl( const Link& _rHdl ) = 0;
+ virtual void SetChangeAllHdl( const Link& _rHdl ) = 0;
+ virtual void SetClickByCharacterHdl( const Link& _rHdl ) = 0;
+ virtual void SetConversionFormatChangedHdl( const Link& _rHdl ) = 0;
+ virtual void SetFindHdl( const Link& _rHdl ) = 0;
+ virtual sal_Bool GetUseBothDirections( ) const= 0;
+ virtual editeng::HangulHanjaConversion::ConversionDirection GetDirection( editeng::HangulHanjaConversion::ConversionDirection _eDefaultDirection ) const = 0;
+ virtual void SetCurrentString(
+ const String& _rNewString,
+ const ::com::sun::star::uno::Sequence< ::rtl::OUString >& _rSuggestions,
+ bool _bOriginatesFromDocument = true )=0;
+ virtual String GetCurrentString( ) const =0;
+ virtual editeng::HangulHanjaConversion::ConversionFormat GetConversionFormat( ) const =0;
+ virtual void FocusSuggestion( )= 0;
+ virtual String GetCurrentSuggestion( ) const =0;
+};
+
+class EDITENG_DLLPUBLIC EditAbstractDialogFactory
+{
+public:
+ static EditAbstractDialogFactory* Create();
+ virtual AbstractThesaurusDialog* CreateThesaurusDialog( Window*, ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XThesaurus > xThesaurus,
+ const String &rWord, sal_Int16 nLanguage ) = 0;
+
+ virtual AbstractHyphenWordDialog* CreateHyphenWordDialog( Window*,
+ const String &rWord, LanguageType nLang,
+ ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XHyphenator > &xHyphen,
+ SvxSpellWrapper* pWrapper ) = 0;
+ virtual AbstractHangulHanjaConversionDialog * CreateHangulHanjaConversionDialog( Window* _pParent,
+ editeng::HangulHanjaConversion::ConversionDirection _ePrimaryDirection ) = 0;
+};
+
+#endif
+
diff --git a/editeng/inc/editeng/eedata.hxx b/editeng/inc/editeng/eedata.hxx
new file mode 100644
index 0000000000..32634f95fe
--- /dev/null
+++ b/editeng/inc/editeng/eedata.hxx
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: eedata.hxx,v $
+ *
+ * $Revision: 1.2 $
+ *
+ * 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 _EEDATA_HXX
+#define _EEDATA_HXX
+
+//////////////////////////////////////////////////////////////////////////////
+// extended data definitions for EditEngine portion stripping (StripPortions()
+// support). These may be mapped to some primitive definitions from Drawinglayer
+// later.
+#include <vector>
+
+namespace EEngineData
+{
+ // spell checking wrong vector containing the redlining data
+ class WrongSpellClass
+ {
+ public:
+ sal_uInt32 nStart;
+ sal_uInt32 nEnd;
+
+ WrongSpellClass(sal_uInt32 nS, sal_uInt32 nE) : nStart(nS), nEnd(nE) {}
+ };
+
+ typedef std::vector< WrongSpellClass > WrongSpellVector;
+
+ // text marking vector containing the EOC, EOW and EOS TEXT definitions
+ enum TextMarkingType
+ {
+ EndOfCaracter = 0,
+ EndOfWord = 1,
+ EndOfSentence = 2
+ };
+
+ class TextMarkingClass
+ {
+ public:
+ TextMarkingType eType;
+ sal_uInt32 nIndex;
+
+ TextMarkingClass(TextMarkingType eT, sal_uInt32 nI) : eType(eT), nIndex(nI) {}
+ };
+
+ typedef std::vector< TextMarkingClass > TextMarkingVector;
+
+} // end of namespace EditEngine
+
+#endif // _EEDATA_HXX
+
+//////////////////////////////////////////////////////////////////////////////
+// eof
diff --git a/editeng/inc/editeng/eeitem.hxx b/editeng/inc/editeng/eeitem.hxx
new file mode 100644
index 0000000000..e828c91d08
--- /dev/null
+++ b/editeng/inc/editeng/eeitem.hxx
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: eeitem.hxx,v $
+ * $Revision: 1.3.212.1 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _EEITEM_HXX
+#define _EEITEM_HXX
+
+#define EE_ITEMS_START 3989
+
+// Absatzattribute:
+#define EE_PARA_START (EE_ITEMS_START+0)
+#define EE_PARA_WRITINGDIR (EE_ITEMS_START+0)
+#define EE_PARA_XMLATTRIBS (EE_ITEMS_START+1)
+#define EE_PARA_HANGINGPUNCTUATION (EE_ITEMS_START+2)
+#define EE_PARA_FORBIDDENRULES (EE_ITEMS_START+3)
+#define EE_PARA_ASIANCJKSPACING (EE_ITEMS_START+4)
+#define EE_PARA_NUMBULLET (EE_ITEMS_START+5)
+#define EE_PARA_HYPHENATE (EE_ITEMS_START+6)
+#define EE_PARA_BULLETSTATE (EE_ITEMS_START+7)
+#define EE_PARA_OUTLLRSPACE (EE_ITEMS_START+8)
+#define EE_PARA_OUTLLEVEL (EE_ITEMS_START+9)
+#define EE_PARA_BULLET (EE_ITEMS_START+10)
+#define EE_PARA_LRSPACE (EE_ITEMS_START+11)
+#define EE_PARA_ULSPACE (EE_ITEMS_START+12)
+#define EE_PARA_SBL (EE_ITEMS_START+13)
+#define EE_PARA_JUST (EE_ITEMS_START+14)
+#define EE_PARA_TABS (EE_ITEMS_START+15)
+#define EE_PARA_END (EE_ITEMS_START+15)
+
+// Zeichenattribute:
+#define EE_CHAR_START (EE_ITEMS_START+16)
+#define EE_CHAR_COLOR (EE_ITEMS_START+16)
+#define EE_CHAR_FONTINFO (EE_ITEMS_START+17)
+#define EE_CHAR_FONTHEIGHT (EE_ITEMS_START+18)
+#define EE_CHAR_FONTWIDTH (EE_ITEMS_START+19)
+#define EE_CHAR_WEIGHT (EE_ITEMS_START+20)
+#define EE_CHAR_UNDERLINE (EE_ITEMS_START+21)
+#define EE_CHAR_STRIKEOUT (EE_ITEMS_START+22)
+#define EE_CHAR_ITALIC (EE_ITEMS_START+23)
+#define EE_CHAR_OUTLINE (EE_ITEMS_START+24)
+#define EE_CHAR_SHADOW (EE_ITEMS_START+25)
+#define EE_CHAR_ESCAPEMENT (EE_ITEMS_START+26)
+#define EE_CHAR_PAIRKERNING (EE_ITEMS_START+27)
+#define EE_CHAR_KERNING (EE_ITEMS_START+28)
+#define EE_CHAR_WLM (EE_ITEMS_START+29)
+#define EE_CHAR_LANGUAGE (EE_ITEMS_START+30)
+#define EE_CHAR_LANGUAGE_CJK (EE_ITEMS_START+31)
+#define EE_CHAR_LANGUAGE_CTL (EE_ITEMS_START+32)
+#define EE_CHAR_FONTINFO_CJK (EE_ITEMS_START+33)
+#define EE_CHAR_FONTINFO_CTL (EE_ITEMS_START+34)
+#define EE_CHAR_FONTHEIGHT_CJK (EE_ITEMS_START+35)
+#define EE_CHAR_FONTHEIGHT_CTL (EE_ITEMS_START+36)
+#define EE_CHAR_WEIGHT_CJK (EE_ITEMS_START+37)
+#define EE_CHAR_WEIGHT_CTL (EE_ITEMS_START+38)
+#define EE_CHAR_ITALIC_CJK (EE_ITEMS_START+39)
+#define EE_CHAR_ITALIC_CTL (EE_ITEMS_START+40)
+#define EE_CHAR_EMPHASISMARK (EE_ITEMS_START+41)
+#define EE_CHAR_RELIEF (EE_ITEMS_START+42)
+#define EE_CHAR_RUBI_DUMMY (EE_ITEMS_START+43)
+#define EE_CHAR_XMLATTRIBS (EE_ITEMS_START+44)
+#define EE_CHAR_OVERLINE (EE_ITEMS_START+45)
+#define EE_CHAR_END (EE_ITEMS_START+45)
+
+
+#define EE_FEATURE_START (EE_ITEMS_START+46)
+#define EE_FEATURE_TAB (EE_ITEMS_START+46)
+#define EE_FEATURE_LINEBR (EE_ITEMS_START+47)
+#define EE_FEATURE_NOTCONV (EE_ITEMS_START+48)
+#define EE_FEATURE_FIELD (EE_ITEMS_START+49)
+#define EE_FEATURE_END (EE_ITEMS_START+49)
+
+#define EE_ITEMS_END (EE_ITEMS_START+49)
+
+#define EDITITEMCOUNT ( EE_ITEMS_END - EE_ITEMS_START + 1 )
+
+#endif // _EEITEM_HXX
diff --git a/editeng/inc/editeng/eeitemid.hxx b/editeng/inc/editeng/eeitemid.hxx
new file mode 100644
index 0000000000..3d9db90255
--- /dev/null
+++ b/editeng/inc/editeng/eeitemid.hxx
@@ -0,0 +1,139 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: eeitemid.hxx,v $
+ * $Revision: 1.3.212.1 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _EEITEMID_HXX
+#define _EEITEMID_HXX
+
+#include <editing/eeitem.hxx>
+
+#ifdef ITEMID_FONT
+#undef ITEMID_FONT
+#endif
+#ifdef ITEMID_FONTHEIGHT
+#undef ITEMID_FONTHEIGHT
+#endif
+#ifdef ITEMID_COLOR
+#undef ITEMID_COLOR
+#endif
+#ifdef ITEMID_WEIGHT
+#undef ITEMID_WEIGHT
+#endif
+#ifdef ITEMID_POSTURE
+#undef ITEMID_POSTURE
+#endif
+#ifdef ITEMID_SHADOWED
+#undef ITEMID_SHADOWED
+#endif
+#ifdef ITEMID_CONTOUR
+#undef ITEMID_CONTOUR
+#endif
+#ifdef ITEMID_CROSSEDOUT
+#undef ITEMID_CROSSEDOUT
+#endif
+#ifdef ITEMID_UNDERLINE
+#undef ITEMID_UNDERLINE
+#endif
+#ifdef ITEMID_OVERLINE
+#undef ITEMID_OVERLINE
+#endif
+#ifdef ITEMID_LANGUAGE
+#undef ITEMID_LANGUAGE
+#endif
+#ifdef ITEMID_ADJUST
+#undef ITEMID_ADJUST
+#endif
+#ifdef ITEMID_WORDLINEMODE
+#undef ITEMID_WORDLINEMODE
+#endif
+#ifdef ITEMID_CHARSETCOLOR
+#undef ITEMID_CHARSETCOLOR
+#endif
+#ifdef ITEMID_SEARCH
+#undef ITEMID_SEARCH
+#endif
+#ifdef ITEMID_BRUSH
+#undef ITEMID_BRUSH
+#endif
+
+// Zeichenattribute....
+#define ITEMID_FONT EE_CHAR_FONTINFO
+#define ITEMID_POSTURE EE_CHAR_ITALIC
+#define ITEMID_WEIGHT EE_CHAR_WEIGHT
+#define ITEMID_SHADOWED EE_CHAR_SHADOW
+#define ITEMID_CONTOUR EE_CHAR_OUTLINE
+#define ITEMID_CROSSEDOUT EE_CHAR_STRIKEOUT
+#define ITEMID_UNDERLINE EE_CHAR_UNDERLINE
+#define ITEMID_OVERLINE EE_CHAR_OVERLINE
+#define ITEMID_FONTHEIGHT EE_CHAR_FONTHEIGHT
+#define ITEMID_CHARSCALE_W EE_CHAR_FONTWIDTH
+#define ITEMID_COLOR EE_CHAR_COLOR
+#define ITEMID_WORDLINEMODE EE_CHAR_WLM
+#define ITEMID_PROPSIZE 0
+#define ITEMID_CHARSETCOLOR 0 // EE_FEATURE_NOTCONV
+#define ITEMID_CASEMAP 0
+#define ITEMID_LANGUAGE 0
+#define ITEMID_ESCAPEMENT EE_CHAR_ESCAPEMENT
+#define ITEMID_NOLINEBREAK 0
+#define ITEMID_NOHYPHENHERE 0
+#define ITEMID_AUTOKERN EE_CHAR_PAIRKERNING
+#define ITEMID_KERNING EE_CHAR_KERNING
+#define ITEMID_EMPHASISMARK EE_CHAR_EMPHASISMARK
+#define ITEMID_CHARRELIEF EE_CHAR_RELIEF
+
+// Absatzattribute
+#define ITEMID_SCRIPTSPACE EE_PARA_ASIANCJKSPACING
+#define ITEMID_ADJUST EE_PARA_JUST
+#define ITEMID_LINESPACING EE_PARA_SBL
+#define ITEMID_WIDOWS 0
+#define ITEMID_ORPHANS 0
+#define ITEMID_HYPHENZONE 0
+
+#define ITEMID_TABSTOP EE_PARA_TABS
+
+#define ITEMID_PAPERBIN 0
+#define ITEMID_LRSPACE EE_PARA_LRSPACE
+#define ITEMID_ULSPACE EE_PARA_ULSPACE
+#define ITEMID_FRAMEDIR EE_PARA_WRITINGDIR
+#define ITEMID_PRINT 0
+#define ITEMID_OPAQUE 0
+#define ITEMID_PROTECT 0
+#define ITEMID_BACKGROUND 0
+#define ITEMID_SHADOW 0
+#define ITEMID_MACRO 0
+#define ITEMID_BOX 0
+#define ITEMID_BOXINFO 0
+#define ITEMID_BRUSH 0
+
+#define ITEMID_FIELD EE_FEATURE_FIELD
+
+#define ITEMID_SEARCH 0
+
+#endif //_EEITEMID_HXX
+
diff --git a/editeng/inc/editeng/eerdll.hxx b/editeng/inc/editeng/eerdll.hxx
new file mode 100644
index 0000000000..162d3aead7
--- /dev/null
+++ b/editeng/inc/editeng/eerdll.hxx
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: eerdll.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _EERDLL_HXX
+#define _EERDLL_HXX
+
+class GlobalEditData;
+
+#include <tools/resid.hxx>
+#include <tools/shl.hxx>
+
+class EditResId: public ResId
+{
+public:
+ EditResId( USHORT nId );
+};
+
+class EditDLL
+{
+ ResMgr* pResMgr;
+ GlobalEditData* pGlobalData;
+
+public:
+ EditDLL();
+ ~EditDLL();
+
+ ResMgr* GetResMgr() const { return pResMgr; }
+ GlobalEditData* GetGlobalData() const { return pGlobalData; }
+ static EditDLL* Get();
+};
+
+#define EE_DLL() EditDLL::Get()
+
+#define EE_RESSTR(x) String( EditResId(x) )
+
+#endif //_EERDLL_HXX
diff --git a/editeng/inc/editeng/emphitem.hxx b/editeng/inc/editeng/emphitem.hxx
new file mode 100644
index 0000000000..1f5b5b8a07
--- /dev/null
+++ b/editeng/inc/editeng/emphitem.hxx
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: emphitem.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_EMPHITEM_HXX
+#define _SVX_EMPHITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <vcl/vclenum.hxx>
+#include <svl/intitem.hxx>
+#include <editeng/editengdllapi.h>
+
+class SvXMLUnitConverter;
+namespace rtl
+{
+ class OUString;
+}
+
+// class SvxEmphasisMarkItem ----------------------------------------------
+
+/* [Beschreibung]
+
+ Dieses Item beschreibt die Font-Betonung.
+*/
+
+class EDITENG_DLLPUBLIC SvxEmphasisMarkItem : public SfxUInt16Item
+{
+public:
+ TYPEINFO();
+
+ SvxEmphasisMarkItem( const FontEmphasisMark eVal /*= EMPHASISMARK_NONE*/,
+ const USHORT nId );
+
+ // "pure virtual Methoden" vom SfxPoolItem + SfxEnumItem
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText,
+ const IntlWrapper * = 0 ) const;
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual SvStream& Store(SvStream &, USHORT nItemVersion) const;
+ virtual USHORT GetVersion( USHORT nFileVersion ) const;
+
+ virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal,
+ BYTE nMemberId = 0 ) const;
+ virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal,
+ BYTE nMemberId = 0 );
+
+ inline SvxEmphasisMarkItem& operator=(const SvxEmphasisMarkItem& rItem )
+ {
+ SetValue( rItem.GetValue() );
+ return *this;
+ }
+
+ // enum cast
+ FontEmphasisMark GetEmphasisMark() const
+ { return (FontEmphasisMark)GetValue(); }
+ void SetEmphasisMark( FontEmphasisMark eNew )
+ { SetValue( (USHORT)eNew ); }
+};
+
+#endif // #ifndef _SVX_EMPHITEM_HXX
+
diff --git a/editeng/inc/editeng/escpitem.hxx b/editeng/inc/editeng/escpitem.hxx
new file mode 100644
index 0000000000..32cec4f4cb
--- /dev/null
+++ b/editeng/inc/editeng/escpitem.hxx
@@ -0,0 +1,117 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: escpitem.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_ESCPITEM_HXX
+#define _SVX_ESCPITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/eitem.hxx>
+#include <svx/svxenum.hxx>
+#include <svx/svxdllapi.h>
+
+class SvXMLUnitConverter;
+namespace rtl
+{
+ class OUString;
+}
+
+// class SvxEscapementItem -----------------------------------------------
+
+#define DFLT_ESC_SUPER 33 // 1/3
+#define DFLT_ESC_SUB -33 // auch 1/3 fr"uher 8/100
+#define DFLT_ESC_PROP 58
+#define DFLT_ESC_AUTO_SUPER 101
+#define DFLT_ESC_AUTO_SUB -101
+
+/* [Beschreibung]
+
+ Dieses Item beschreibt die Schrift-Position.
+*/
+
+class SVX_DLLPUBLIC SvxEscapementItem : public SfxEnumItemInterface
+{
+ short nEsc;
+ BYTE nProp;
+public:
+ TYPEINFO();
+
+ SvxEscapementItem( const USHORT nId );
+ SvxEscapementItem( const SvxEscapement eEscape,
+ const USHORT nId );
+ SvxEscapementItem( const short nEsc, const BYTE nProp,
+ const USHORT nId );
+
+ // "pure virtual Methoden" vom SfxPoolItem
+ virtual int operator==( const SfxPoolItem& ) const;
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
+ virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual SvStream& Store(SvStream &, USHORT nItemVersion) const;
+
+ inline void SetEscapement( const SvxEscapement eNew )
+ {
+ if( SVX_ESCAPEMENT_OFF == eNew )
+ nEsc = 0, nProp = 100;
+ else
+ if( SVX_ESCAPEMENT_SUPERSCRIPT == eNew )
+ nEsc = DFLT_ESC_SUPER, nProp = DFLT_ESC_PROP;
+ else
+ nEsc = DFLT_ESC_SUB, nProp = DFLT_ESC_PROP;
+ }
+ inline SvxEscapement GetEscapement() const { return static_cast< SvxEscapement >( GetEnumValue() ); }
+
+ inline short &GetEsc() { return nEsc; }
+ inline short GetEsc() const { return nEsc; }
+
+ inline BYTE &GetProp() { return nProp; }
+ inline BYTE GetProp() const { return nProp; }
+
+ inline SvxEscapementItem& operator=(const SvxEscapementItem& rEsc)
+ {
+ nEsc = rEsc.GetEsc();
+ nProp = rEsc.GetProp();
+ return *this;
+ }
+
+ virtual USHORT GetValueCount() const;
+ virtual String GetValueTextByPos( USHORT nPos ) const;
+ virtual USHORT GetEnumValue() const;
+ virtual void SetEnumValue( USHORT nNewVal );
+};
+
+#endif
+
diff --git a/editeng/inc/editeng/fhgtitem.hxx b/editeng/inc/editeng/fhgtitem.hxx
new file mode 100644
index 0000000000..cc2777b984
--- /dev/null
+++ b/editeng/inc/editeng/fhgtitem.hxx
@@ -0,0 +1,119 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: fhgtitem.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_FHGTITEM_HXX
+#define _SVX_FHGTITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/poolitem.hxx>
+#include <editeng/editengdllapi.h>
+
+class SvXMLUnitConverter;
+namespace rtl
+{
+ class OUString;
+}
+
+// class SvxFontHeightItem -----------------------------------------------
+
+// Achtung: Twips-Werte
+
+/* [Beschreibung]
+
+ Dieses Item beschreibt die Font-Hoehe.
+*/
+
+#define FONTHEIGHT_16_VERSION ((USHORT)0x0001)
+#define FONTHEIGHT_UNIT_VERSION ((USHORT)0x0002)
+
+class EDITENG_DLLPUBLIC SvxFontHeightItem : public SfxPoolItem
+{
+ UINT32 nHeight;
+ USHORT nProp; // default 100%
+ SfxMapUnit ePropUnit; // Percent, Twip, ...
+public:
+ TYPEINFO();
+
+ SvxFontHeightItem( const ULONG nSz /*= 240*/, const USHORT nPropHeight /*= 100*/,
+ const USHORT nId );
+
+ // "pure virtual Methoden" vom SfxPoolItem
+ virtual int operator==( const SfxPoolItem& ) const;
+ virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
+ virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual SvStream& Store(SvStream &, USHORT nItemVersion) const;
+ virtual USHORT GetVersion( USHORT nItemVersion) const;
+ virtual int ScaleMetrics( long nMult, long nDiv );
+ virtual int HasMetrics() const;
+
+ inline SvxFontHeightItem& operator=(const SvxFontHeightItem& rSize)
+ {
+ SetHeightValue( rSize.GetHeight() );
+ SetProp( rSize.GetProp(), ePropUnit );
+ return *this;
+ }
+
+ void SetHeight( UINT32 nNewHeight, const USHORT nNewProp = 100,
+ SfxMapUnit eUnit = SFX_MAPUNIT_RELATIVE );
+
+ void SetHeight( UINT32 nNewHeight, USHORT nNewProp,
+ SfxMapUnit eUnit, SfxMapUnit eCoreUnit );
+
+ UINT32 GetHeight() const { return nHeight; }
+
+ void SetHeightValue( UINT32 nNewHeight )
+ {
+ DBG_ASSERT( GetRefCount() == 0, "SetValue() with pooled item" );
+ nHeight = nNewHeight;
+ }
+
+ void SetProp( const USHORT nNewProp,
+ SfxMapUnit eUnit = SFX_MAPUNIT_RELATIVE )
+ {
+ DBG_ASSERT( GetRefCount() == 0, "SetValue() with pooled item" );
+ nProp = nNewProp;
+ ePropUnit = eUnit;
+ }
+
+ USHORT GetProp() const { return nProp; }
+
+ SfxMapUnit GetPropUnit() const { return ePropUnit; } // Percent, Twip, ...
+};
+
+#endif
+
diff --git a/editeng/inc/editeng/flditem.hxx b/editeng/inc/editeng/flditem.hxx
new file mode 100644
index 0000000000..8c95b49f51
--- /dev/null
+++ b/editeng/inc/editeng/flditem.hxx
@@ -0,0 +1,430 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: flditem.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_FLDITEM_HXX
+#define _SVX_FLDITEM_HXX
+
+#include <i18npool/lang.h>
+#include <tools/time.hxx>
+#include <tools/date.hxx>
+#include <svl/poolitem.hxx>
+#include <tools/pstm.hxx>
+#include "editeng/editengdllapi.h"
+
+class SvNumberFormatter;
+class MetaAction;
+
+// class SvxFieldItem ---------------------------------------------------
+
+
+
+class EDITENG_DLLPUBLIC SvxFieldData : public SvPersistBase
+{
+public:
+ SV_DECL_PERSIST1( SvxFieldData, SvPersistBase, 1 )
+
+ SvxFieldData();
+ virtual ~SvxFieldData();
+
+ virtual SvxFieldData* Clone() const;
+ virtual int operator==( const SvxFieldData& ) const;
+
+ virtual MetaAction* createBeginComment() const;
+ virtual MetaAction* createEndComment() const;
+};
+
+/*
+[Beschreibung]
+In diesem Item wird ein Feld (SvxFieldData) gespeichert.
+Das Feld gehoert dem Item.
+Das Feld selbst wird durch eine Ableitung von SvxFieldData bestimmt. (RTTI)
+*/
+
+class EDITENG_DLLPUBLIC SvxFieldItem : public SfxPoolItem
+{
+private:
+ SvxFieldData* pField;
+
+ EDITENG_DLLPRIVATE SvxFieldItem( SvxFieldData* pField, const USHORT nId );
+
+public:
+ TYPEINFO();
+
+ SvxFieldItem( const SvxFieldData& rField, const USHORT nId );
+ SvxFieldItem( const SvxFieldItem& rItem );
+ ~SvxFieldItem();
+
+ virtual int operator==( const SfxPoolItem& ) const;
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create( SvStream&, USHORT nVer ) const;
+ virtual SvStream& Store( SvStream& , USHORT nItemVersion ) const;
+
+ const SvxFieldData* GetField() const { return pField; }
+ static SvClassManager& GetClassManager();
+};
+
+// =================================================================
+// Es folgen die Ableitungen von SvxFieldData...
+// =================================================================
+
+#define SVX_DATEFIELD 2
+#define SVX_URLFIELD 3
+
+#define SVX_PAGEFIELD 100 // Ex-Calc-Felder
+#define SVX_PAGESFIELD 101
+#define SVX_TIMEFIELD 102
+#define SVX_FILEFIELD 103
+#define SVX_TABLEFIELD 104
+#define SVX_EXT_TIMEFIELD 105
+#define SVX_EXT_FILEFIELD 106
+#define SVX_AUTHORFIELD 107
+#define SVX_HEADERFIELD 108
+#define SVX_FOOTERFIELD 109
+#define SVX_DATEFIMEFIELD 110
+
+#define SVX_USERFIELD 200 // Ab hier eigene Felder, nicht im SVX
+
+enum SvxDateType { SVXDATETYPE_FIX, SVXDATETYPE_VAR };
+enum SvxDateFormat { SVXDATEFORMAT_APPDEFAULT, // Wie in App eingestellt
+ SVXDATEFORMAT_SYSTEM, // Wie im System eingestellt
+ SVXDATEFORMAT_STDSMALL,
+ SVXDATEFORMAT_STDBIG,
+ SVXDATEFORMAT_A, // 13.02.96
+ SVXDATEFORMAT_B, // 13.02.1996
+ SVXDATEFORMAT_C, // 13.Feb 1996
+ SVXDATEFORMAT_D, // 13.Februar 1996
+ SVXDATEFORMAT_E, // Die, 13.Februar 1996
+ SVXDATEFORMAT_F // Dienstag, 13.Februar 1996
+ };
+
+class EDITENG_DLLPUBLIC SvxDateField : public SvxFieldData
+{
+ sal_uInt32 nFixDate;
+ SvxDateType eType;
+ SvxDateFormat eFormat;
+
+public:
+ SV_DECL_PERSIST1( SvxDateField, SvxFieldData, SVX_DATEFIELD )
+
+ SvxDateField();
+ SvxDateField( const Date& rDate,
+ SvxDateType eType = SVXDATETYPE_VAR,
+ SvxDateFormat eFormat = SVXDATEFORMAT_STDSMALL );
+
+ sal_uInt32 GetFixDate() const { return nFixDate; }
+ void SetFixDate( const Date& rDate ) { nFixDate = rDate.GetDate(); }
+
+ SvxDateType GetType() const { return eType; }
+ void SetType( SvxDateType eTp ) { eType = eTp; }
+
+ SvxDateFormat GetFormat() const { return eFormat; }
+ void SetFormat( SvxDateFormat eFmt ) { eFormat = eFmt; }
+
+ // deprecated, to be removed
+ String GetFormatted( LanguageType eLanguage, LanguageType eFormat ) const;
+ // use this instead
+ // If eLanguage==LANGUAGE_DONTKNOW the language/country
+ // used in number formatter initialization is taken.
+ String GetFormatted( SvNumberFormatter& rFormatter, LanguageType eLanguage ) const;
+ static String GetFormatted( Date& rDate, SvxDateFormat eFormat, SvNumberFormatter& rFormatter, LanguageType eLanguage );
+
+ virtual SvxFieldData* Clone() const;
+ virtual int operator==( const SvxFieldData& ) const;
+
+ virtual MetaAction* createBeginComment() const;
+};
+
+
+enum SvxURLFormat { SVXURLFORMAT_APPDEFAULT, // Wie in App eingestellt
+ SVXURLFORMAT_URL, // URL darstellen
+ SVXURLFORMAT_REPR // Repraesentation darstellen
+ };
+
+class EDITENG_DLLPUBLIC SvxURLField : public SvxFieldData
+{
+private:
+ SvxURLFormat eFormat;
+ XubString aURL; // URL-Adresse
+ XubString aRepresentation; // Was wird dargestellt
+ XubString aTargetFrame; // In welchem Frame
+
+public:
+ SV_DECL_PERSIST1( SvxURLField, SvxFieldData, SVX_URLFIELD )
+
+ SvxURLField();
+ SvxURLField( const XubString& rURL, const XubString& rRepres, SvxURLFormat eFmt = SVXURLFORMAT_URL );
+
+ const XubString& GetURL() const { return aURL; }
+ void SetURL( const XubString& rURL ) { aURL = rURL; }
+
+ const XubString& GetRepresentation() const { return aRepresentation; }
+ void SetRepresentation( const XubString& rRep ) { aRepresentation= rRep; }
+
+ const XubString& GetTargetFrame() const { return aTargetFrame; }
+ void SetTargetFrame( const XubString& rFrm ) { aTargetFrame = rFrm; }
+
+ SvxURLFormat GetFormat() const { return eFormat; }
+ void SetFormat( SvxURLFormat eFmt ) { eFormat = eFmt; }
+
+ virtual SvxFieldData* Clone() const;
+ virtual int operator==( const SvxFieldData& ) const;
+
+ virtual MetaAction* createBeginComment() const;
+};
+
+class EDITENG_DLLPUBLIC SvxPageField : public SvxFieldData
+{
+public:
+ SV_DECL_PERSIST1( SvxPageField, SvxFieldData, SVX_PAGEFIELD )
+ SvxPageField() {}
+ virtual SvxFieldData* Clone() const;
+ virtual int operator==( const SvxFieldData& ) const;
+
+ virtual MetaAction* createBeginComment() const;
+};
+
+class EDITENG_DLLPUBLIC SvxPagesField : public SvxFieldData
+{
+public:
+ SV_DECL_PERSIST1( SvxPagesField, SvxFieldData, SVX_PAGESFIELD )
+ SvxPagesField() {}
+ virtual SvxFieldData* Clone() const;
+ virtual int operator==( const SvxFieldData& ) const;
+};
+
+class EDITENG_DLLPUBLIC SvxTimeField : public SvxFieldData
+{
+public:
+ SV_DECL_PERSIST1( SvxTimeField, SvxFieldData, SVX_TIMEFIELD )
+ SvxTimeField() {}
+ virtual SvxFieldData* Clone() const;
+ virtual int operator==( const SvxFieldData& ) const;
+
+ virtual MetaAction* createBeginComment() const;
+};
+
+class EDITENG_DLLPUBLIC SvxFileField : public SvxFieldData
+{
+public:
+ SV_DECL_PERSIST1( SvxFileField, SvxFieldData, SVX_FILEFIELD )
+ SvxFileField() {}
+ virtual SvxFieldData* Clone() const;
+ virtual int operator==( const SvxFieldData& ) const;
+};
+
+class EDITENG_DLLPUBLIC SvxTableField : public SvxFieldData
+{
+public:
+ SV_DECL_PERSIST1( SvxTableField, SvxFieldData, SVX_TABLEFIELD )
+ SvxTableField() {}
+ virtual SvxFieldData* Clone() const;
+ virtual int operator==( const SvxFieldData& ) const;
+};
+
+
+enum SvxTimeType { SVXTIMETYPE_FIX, SVXTIMETYPE_VAR };
+enum SvxTimeFormat { SVXTIMEFORMAT_APPDEFAULT, // Wie in App eingestellt
+ SVXTIMEFORMAT_SYSTEM, // Wie im System eingestellt
+ SVXTIMEFORMAT_STANDARD,
+ SVXTIMEFORMAT_24_HM, // 13:49
+ SVXTIMEFORMAT_24_HMS, // 13:49:38
+ SVXTIMEFORMAT_24_HMSH, // 13:49:38.78
+ SVXTIMEFORMAT_12_HM, // 01:49
+ SVXTIMEFORMAT_12_HMS, // 01:49:38
+ SVXTIMEFORMAT_12_HMSH, // 01:49:38.78
+ SVXTIMEFORMAT_AM_HM, // 01:49 PM
+ SVXTIMEFORMAT_AM_HMS, // 01:49:38 PM
+ SVXTIMEFORMAT_AM_HMSH // 01:49:38.78 PM
+ };
+
+class EDITENG_DLLPUBLIC SvxExtTimeField : public SvxFieldData
+{
+private:
+ sal_uInt32 nFixTime;
+ SvxTimeType eType;
+ SvxTimeFormat eFormat;
+
+public:
+ SV_DECL_PERSIST1( SvxExtTimeField, SvxFieldData, SVX_EXT_TIMEFIELD )
+ SvxExtTimeField();
+ SvxExtTimeField( const Time& rTime,
+ SvxTimeType eType = SVXTIMETYPE_VAR,
+ SvxTimeFormat eFormat = SVXTIMEFORMAT_STANDARD );
+
+ sal_uInt32 GetFixTime() const { return nFixTime; }
+ void SetFixTime( const Time& rTime ) { nFixTime = rTime.GetTime(); }
+
+ SvxTimeType GetType() const { return eType; }
+ void SetType( SvxTimeType eTp ) { eType = eTp; }
+
+ SvxTimeFormat GetFormat() const { return eFormat; }
+ void SetFormat( SvxTimeFormat eFmt ) { eFormat = eFmt; }
+
+ // deprecated, to be removed
+ XubString GetFormatted( LanguageType eLanguage, LanguageType eFormat ) const;
+ // use this instead
+ // If eLanguage==LANGUAGE_DONTKNOW the language/country
+ // used in number formatter initialization is taken.
+ String GetFormatted( SvNumberFormatter& rFormatter, LanguageType eLanguage ) const;
+ static String GetFormatted( Time& rTime, SvxTimeFormat eFormat, SvNumberFormatter& rFormatter, LanguageType eLanguage );
+
+ virtual SvxFieldData* Clone() const;
+ virtual int operator==( const SvxFieldData& ) const;
+
+ virtual MetaAction* createBeginComment() const;
+};
+
+
+enum SvxFileType { SVXFILETYPE_FIX, SVXFILETYPE_VAR };
+enum SvxFileFormat { SVXFILEFORMAT_NAME_EXT, // Dateiname mit Extension
+ SVXFILEFORMAT_FULLPATH, // vollst„ndiger Pfad
+ SVXFILEFORMAT_PATH, // nur Pfad
+ SVXFILEFORMAT_NAME // nur Dateiname
+ };
+
+
+
+class EDITENG_DLLPUBLIC SvxExtFileField : public SvxFieldData
+{
+private:
+ XubString aFile;
+ SvxFileType eType;
+ SvxFileFormat eFormat;
+
+public:
+ SV_DECL_PERSIST1( SvxExtFileField, SvxFieldData, SVX_EXT_FILEFIELD )
+ SvxExtFileField();
+ SvxExtFileField( const XubString& rString,
+ SvxFileType eType = SVXFILETYPE_VAR,
+ SvxFileFormat eFormat = SVXFILEFORMAT_FULLPATH );
+
+ String GetFile() const { return aFile; }
+ void SetFile( const XubString& rString ) { aFile = rString; }
+
+ SvxFileType GetType() const { return eType; }
+ void SetType( SvxFileType eTp ) { eType = eTp; }
+
+ SvxFileFormat GetFormat() const { return eFormat; }
+ void SetFormat( SvxFileFormat eFmt ) { eFormat = eFmt; }
+
+ XubString GetFormatted() const;
+
+ virtual SvxFieldData* Clone() const;
+ virtual int operator==( const SvxFieldData& ) const;
+};
+
+
+enum SvxAuthorType { SVXAUTHORTYPE_FIX, SVXAUTHORTYPE_VAR };
+enum SvxAuthorFormat { SVXAUTHORFORMAT_FULLNAME, // vollst„ndiger Name
+ SVXAUTHORFORMAT_NAME, // nur Nachname
+ SVXAUTHORFORMAT_FIRSTNAME, // nur Vorname
+ SVXAUTHORFORMAT_SHORTNAME // Initialen
+ };
+
+class EDITENG_DLLPUBLIC SvxAuthorField : public SvxFieldData
+{
+private:
+ XubString aName;
+ XubString aFirstName;
+ XubString aShortName;
+ SvxAuthorType eType;
+ SvxAuthorFormat eFormat;
+
+public:
+ SV_DECL_PERSIST1( SvxAuthorField, SvxFieldData, SVX_AUTHORFIELD )
+ SvxAuthorField();
+ SvxAuthorField(
+ const XubString& rFirstName,
+ const XubString& rLastName,
+ const XubString& rShortName,
+ SvxAuthorType eType = SVXAUTHORTYPE_VAR,
+ SvxAuthorFormat eFormat = SVXAUTHORFORMAT_FULLNAME );
+
+ XubString GetName() const { return aName; }
+ void SetName( const XubString& rString ) { aName = rString; }
+
+ XubString GetFirstName() const { return aFirstName; }
+ void SetFirstName( const XubString& rString ) { aFirstName = rString; }
+
+ XubString GetShortName() const { return aShortName; }
+ void SetShortName( const XubString& rString ) { aShortName = rString; }
+
+ SvxAuthorType GetType() const { return eType; }
+ void SetType( SvxAuthorType eTp ) { eType = eTp; }
+
+ SvxAuthorFormat GetFormat() const { return eFormat; }
+ void SetFormat( SvxAuthorFormat eFmt ) { eFormat = eFmt; }
+
+ XubString GetFormatted() const;
+
+ virtual SvxFieldData* Clone() const;
+ virtual int operator==( const SvxFieldData& ) const;
+};
+
+/** this field is used as a placeholder for a header&footer in impress. The actual
+ value is stored at the page */
+class EDITENG_DLLPUBLIC SvxHeaderField : public SvxFieldData
+{
+public:
+ SV_DECL_PERSIST1( SvxHeaderField, SvxFieldData, SVX_HEADERFIELD )
+ SvxHeaderField() {}
+ virtual SvxFieldData* Clone() const;
+ virtual int operator==( const SvxFieldData& ) const;
+};
+
+/** this field is used as a placeholder for a header&footer in impress. The actual
+ value is stored at the page */
+class EDITENG_DLLPUBLIC SvxFooterField : public SvxFieldData
+{
+public:
+ SV_DECL_PERSIST1( SvxFooterField, SvxFieldData, SVX_FOOTERFIELD )
+ SvxFooterField() {}
+ virtual SvxFieldData* Clone() const;
+ virtual int operator==( const SvxFieldData& ) const;
+};
+
+/** this field is used as a placeholder for a header&footer in impress. The actual
+ value is stored at the page */
+class EDITENG_DLLPUBLIC SvxDateTimeField : public SvxFieldData
+{
+public:
+ SV_DECL_PERSIST1( SvxDateTimeField, SvxFieldData, SVX_DATEFIMEFIELD )
+ SvxDateTimeField() {}
+
+ static String GetFormatted( Date& rDate, Time& rTime, int eFormat, SvNumberFormatter& rFormatter, LanguageType eLanguage );
+
+ virtual SvxFieldData* Clone() const;
+ virtual int operator==( const SvxFieldData& ) const;
+};
+
+
+
+
+#endif
+
diff --git a/editeng/inc/editeng/flstitem.hxx b/editeng/inc/editeng/flstitem.hxx
new file mode 100644
index 0000000000..a6bdabe3f8
--- /dev/null
+++ b/editeng/inc/editeng/flstitem.hxx
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: flstitem.hxx,v $
+ * $Revision: 1.7 $
+ *
+ * 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 _SVX_FLSTITEM_HXX
+#define _SVX_FLSTITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/poolitem.hxx>
+#include <rtl/ustring.hxx>
+#include <com/sun/star/uno/Sequence.h>
+#include "editeng/editengdllapi.h"
+
+// class SvxFontListItem -------------------------------------------------
+
+class FontList;
+
+/*
+ [Beschreibung]
+
+ Dieses Item dient als Transport-Medium fuer eine FontListe.
+ Die Fontliste wird nicht kopiert und nicht geloescht!
+*/
+
+class EDITENG_DLLPUBLIC SvxFontListItem : public SfxPoolItem
+{
+private:
+ const FontList* pFontList;
+ com::sun::star::uno::Sequence< rtl::OUString > aFontNameSeq;
+
+public:
+ TYPEINFO();
+
+ SvxFontListItem( const FontList* pFontLst,
+ const USHORT nId );
+ SvxFontListItem( const SvxFontListItem& rItem );
+
+ virtual int operator==( const SfxPoolItem& ) const;
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+
+ virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ const FontList* GetFontList() const { return pFontList; }
+};
+
+
+
+
+#endif
+
+
diff --git a/editeng/inc/editeng/fontitem.hxx b/editeng/inc/editeng/fontitem.hxx
new file mode 100644
index 0000000000..aa709ff01c
--- /dev/null
+++ b/editeng/inc/editeng/fontitem.hxx
@@ -0,0 +1,121 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: fontitem.hxx,v $
+ * $Revision: 1.11 $
+ *
+ * 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 _SVX_FONTITEM_HXX
+#define _SVX_FONTITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/poolitem.hxx>
+#include <tools/string.hxx>
+#include <vcl/font.hxx>
+#include "editeng/editengdllapi.h"
+
+class SvXMLUnitConverter;
+namespace rtl
+{
+ class OUString;
+}
+
+// class SvxFontItem -----------------------------------------------------
+
+/*
+ [Beschreibung]
+ Dieses Item beschreibt einen Font.
+*/
+
+class EDITENG_DLLPUBLIC SvxFontItem : public SfxPoolItem
+{
+ String aFamilyName;
+ String aStyleName;
+ FontFamily eFamily;
+ FontPitch ePitch;
+ rtl_TextEncoding eTextEncoding;
+
+ static BOOL bEnableStoreUnicodeNames;
+
+public:
+ TYPEINFO();
+
+ SvxFontItem( const USHORT nId );
+ SvxFontItem( const FontFamily eFam, const String& rFamilyName,
+ const String& rStyleName,
+ const FontPitch eFontPitch /*= PITCH_DONTKNOW*/,
+ const rtl_TextEncoding eFontTextEncoding /*= RTL_TEXTENCODING_DONTKNOW*/,
+ const USHORT nId );
+
+ // "pure virtual Methoden" vom SfxPoolItem
+ virtual int operator==( const SfxPoolItem& ) const;
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual SvStream& Store(SvStream &, USHORT nItemVersion) const;
+ virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
+ virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ // ZugriffsMethoden:
+ inline String &GetFamilyName() { return aFamilyName; }
+ inline const String &GetFamilyName() const { return aFamilyName; }
+
+ inline String &GetStyleName() { return aStyleName; }
+ inline const String &GetStyleName() const { return aStyleName; }
+
+ inline FontFamily &GetFamily() { return eFamily; }
+ inline FontFamily GetFamily() const { return eFamily; }
+
+ inline FontPitch &GetPitch() { return ePitch; }
+ inline FontPitch GetPitch() const { return ePitch; }
+
+ inline rtl_TextEncoding &GetCharSet() { return eTextEncoding; }
+ inline rtl_TextEncoding GetCharSet() const { return eTextEncoding; }
+
+ inline SvxFontItem& operator=(const SvxFontItem& rFont)
+ {
+ aFamilyName = rFont.GetFamilyName();
+ aStyleName = rFont.GetStyleName();
+ eFamily = rFont.GetFamily();
+ ePitch = rFont.GetPitch();
+ eTextEncoding = rFont.GetCharSet();
+ return *this;
+ }
+
+ static void EnableStoreUnicodeNames( BOOL bEnable );
+
+};
+
+EDITENG_DLLPUBLIC void GetDefaultFonts( SvxFontItem& rLatin, SvxFontItem& rAsian,
+ SvxFontItem& rComplex );
+
+#endif // #ifndef _SVX_FONTITEM_HXX
+
+
diff --git a/editeng/inc/editeng/forbiddencharacterstable.hxx b/editeng/inc/editeng/forbiddencharacterstable.hxx
new file mode 100644
index 0000000000..b495a96afb
--- /dev/null
+++ b/editeng/inc/editeng/forbiddencharacterstable.hxx
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: forbiddencharacterstable.hxx,v $
+ * $Revision: 1.5 $
+ *
+ * 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 _FORBIDDENCHARACTERSTABLE_HXX
+#define _FORBIDDENCHARACTERSTABLE_HXX
+
+#ifndef _TABLE_HXX //autogen
+#include <tools/table.hxx>
+#endif
+
+#include <vos/refernce.hxx>
+#include <com/sun/star/uno/Reference.hxx>
+#include <com/sun/star/i18n/ForbiddenCharacters.hpp>
+#include "editeng/editengdllapi.h"
+
+namespace com {
+namespace sun {
+namespace star {
+namespace lang {
+ class XMultiServiceFactory;
+}}}}
+
+struct ForbiddenCharactersInfo
+{
+ com::sun::star::i18n::ForbiddenCharacters aForbiddenChars;
+ BOOL bTemporary;
+};
+
+DECLARE_TABLE( SvxForbiddenCharactersTableImpl, ForbiddenCharactersInfo* )
+
+class EDITENG_DLLPUBLIC SvxForbiddenCharactersTable : public SvxForbiddenCharactersTableImpl, public vos::OReference
+{
+private:
+ ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > mxMSF;
+
+public:
+ SvxForbiddenCharactersTable( ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > xMSF, USHORT nISize = 4, USHORT nGrow = 4 );
+ ~SvxForbiddenCharactersTable();
+
+ const com::sun::star::i18n::ForbiddenCharacters* GetForbiddenCharacters( USHORT nLanuage, BOOL bGetDefault ) const;
+ void SetForbiddenCharacters( USHORT nLanuage , const com::sun::star::i18n::ForbiddenCharacters& );
+ void ClearForbiddenCharacters( USHORT nLanuage );
+};
+
+#endif // _FORBIDDENCHARACTERSTABLE_HXX
+
diff --git a/editeng/inc/editeng/forbiddenruleitem.hxx b/editeng/inc/editeng/forbiddenruleitem.hxx
new file mode 100644
index 0000000000..a4d9aac501
--- /dev/null
+++ b/editeng/inc/editeng/forbiddenruleitem.hxx
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: forbiddenruleitem.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_FORBIDDENRULEITEM_HXX
+#define _SVX_FORBIDDENRULEITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/eitem.hxx>
+#include <editeng/editengdllapi.h>
+
+// class SvxForbiddenRuleItem -----------------------------------------
+
+/* [Description]
+
+ This item describe how to handle the last character of a line.
+*/
+
+class EDITENG_DLLPUBLIC SvxForbiddenRuleItem : public SfxBoolItem
+{
+public:
+ TYPEINFO();
+
+ SvxForbiddenRuleItem( sal_Bool bOn /*= sal_False*/,
+ const sal_uInt16 nId );
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual USHORT GetVersion( USHORT nFileVersion ) const;
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText,
+ const IntlWrapper * = 0 ) const;
+
+ inline SvxForbiddenRuleItem& operator=(
+ const SvxForbiddenRuleItem& rItem )
+ {
+ SetValue( rItem.GetValue() );
+ return *this;
+ }
+};
+
+#endif
+
diff --git a/editeng/inc/editeng/frmdir.hxx b/editeng/inc/editeng/frmdir.hxx
new file mode 100644
index 0000000000..81c7a130a0
--- /dev/null
+++ b/editeng/inc/editeng/frmdir.hxx
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: frmdir.hxx,v $
+ * $Revision: 1.3 $
+ *
+ * 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 _SVX_FRMDIR_HXX
+#define _SVX_FRMDIR_HXX
+
+// ----------------------------------------------------------------------------
+
+/** Defines possible text directions in frames. */
+enum SvxFrameDirection
+{
+ /** Horizontal, from left to right, from top to bottom
+ (typical for western languages). */
+ FRMDIR_HORI_LEFT_TOP,
+
+ /** Horizontal, from right to left, from top to bottom
+ (typical for ararbic/hebrew languages). */
+ FRMDIR_HORI_RIGHT_TOP,
+
+ /** Vertical, from top to bottom, from right to left
+ (typical for asian languages). */
+ FRMDIR_VERT_TOP_RIGHT,
+
+ /** Vertical, from top to bottom, from left to right
+ (typical for mongol language). */
+ FRMDIR_VERT_TOP_LEFT,
+
+ /** Use the value from the environment, can only be used in frames. */
+ FRMDIR_ENVIRONMENT
+};
+
+// ----------------------------------------------------------------------------
+
+#endif // #ifndef _SVX_FRMDIR_HXX
+
+
diff --git a/editeng/inc/editeng/frmdiritem.hxx b/editeng/inc/editeng/frmdiritem.hxx
new file mode 100644
index 0000000000..676dad88d7
--- /dev/null
+++ b/editeng/inc/editeng/frmdiritem.hxx
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: frmdiritem.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_FRMDIRITEM_HXX
+#define _SVX_FRMDIRITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/intitem.hxx>
+#include <editeng/frmdir.hxx>
+#include <editeng/editengdllapi.h>
+
+// class SvxFrameDirectionItem ----------------------------------------------
+
+/* [Description]
+
+ This item defines a frame direction, which place the content inside
+ a frame. It exist different kind of directions which are used to the
+ layout text for Western, CJK and CTL languages.
+*/
+
+class EDITENG_DLLPUBLIC SvxFrameDirectionItem : public SfxUInt16Item
+{
+public:
+ TYPEINFO();
+
+ SvxFrameDirectionItem( USHORT nWhich );
+ SvxFrameDirectionItem( SvxFrameDirection nValue /*= FRMDIR_HORI_LEFT_TOP*/,
+ USHORT nWhich );
+ virtual ~SvxFrameDirectionItem();
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual SvStream& Store(SvStream & rStrm, USHORT nIVer) const;
+ virtual USHORT GetVersion( USHORT nFileVersion ) const;
+ virtual int operator==( const SfxPoolItem& ) const;
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText,
+ const IntlWrapper * = 0 ) const;
+
+ virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal,
+ BYTE nMemberId );
+ virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal,
+ BYTE nMemberId ) const;
+
+ inline SvxFrameDirectionItem& operator=( const SvxFrameDirectionItem& rItem )
+ {
+ SetValue( rItem.GetValue() );
+ return *this;
+ }
+};
+
+#endif // #ifndef _SVX_FRMDIRITEM_HXX
+
diff --git a/editeng/inc/editeng/fwdtitem.hxx b/editeng/inc/editeng/fwdtitem.hxx
new file mode 100644
index 0000000000..12a4662222
--- /dev/null
+++ b/editeng/inc/editeng/fwdtitem.hxx
@@ -0,0 +1,111 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: fwdtitem.hxx,v $
+ * $Revision: 1.6 $
+ *
+ * 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 _SVX_FWDTITEM_HXX
+#define _SVX_FWDTITEM_HXX
+
+// include ---------------------------------------------------------------
+
+
+#include <svl/poolitem.hxx>
+
+
+// class SvxFontWidthItem -----------------------------------------------
+
+
+/* [Beschreibung]
+
+ Dieses Item beschreibt die Font-Breite.
+*/
+
+class SvxFontWidthItem : public SfxPoolItem
+{
+ UINT16 nWidth; // 0 = default
+ USHORT nProp; // default 100%
+public:
+ TYPEINFO();
+
+ SvxFontWidthItem( const USHORT nSz /*= 0*/,
+ const USHORT nPropWidth /*= 100*/,
+ const USHORT nId );
+
+ // "pure virtual Methoden" vom SfxPoolItem
+ virtual int operator==( const SfxPoolItem& ) const;
+ virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
+ virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual SvStream& Store(SvStream &, USHORT nItemVersion) const;
+ virtual int ScaleMetrics( long nMult, long nDiv );
+ virtual int HasMetrics() const;
+
+ inline SvxFontWidthItem& operator=(const SvxFontWidthItem& rItem )
+ {
+ SetWidthValue( rItem.GetWidth() );
+ SetProp( rItem.GetProp() );
+ return *this;
+ }
+
+ void SetWidth( UINT16 nNewWidth, const USHORT nNewProp = 100 )
+ {
+ DBG_ASSERT( GetRefCount() == 0, "SetValue() with pooled item" );
+ nWidth = UINT16(( (UINT32)nNewWidth * nNewProp ) / 100 );
+ nProp = nNewProp;
+ }
+
+ UINT16 GetWidth() const { return nWidth; }
+
+ void SetWidthValue( UINT16 nNewWidth )
+ {
+ DBG_ASSERT( GetRefCount() == 0, "SetValue() with pooled item" );
+ nWidth = nNewWidth;
+ }
+
+ void SetProp( const USHORT nNewProp )
+ {
+ DBG_ASSERT( GetRefCount() == 0, "SetValue() with pooled item" );
+ nProp = nNewProp;
+ }
+
+ USHORT GetProp() const { return nProp; }
+};
+
+
+
+
+
+#endif
+
+
diff --git a/editeng/inc/editeng/hangulhanja.hxx b/editeng/inc/editeng/hangulhanja.hxx
new file mode 100644
index 0000000000..2090c00b86
--- /dev/null
+++ b/editeng/inc/editeng/hangulhanja.hxx
@@ -0,0 +1,305 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: hangulhanja.hxx,v $
+ * $Revision: 1.3 $
+ *
+ * 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 SVX_HANGUL_HANJA_CONVERSION_HXX
+#define SVX_HANGUL_HANJA_CONVERSION_HXX
+
+#include <vcl/window.hxx>
+#include <memory>
+#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include <com/sun/star/lang/Locale.hpp>
+#include <com/sun/star/uno/Sequence.hxx>
+#include "editeng/editengdllapi.h"
+
+//.............................................................................
+namespace editeng
+{
+//.............................................................................
+
+ class HangulHanjaConversion_Impl;
+
+ //=========================================================================
+ //= HangulHanjaConversion
+ //=========================================================================
+ /** encapsulates Hangul-Hanja conversion functionality
+
+ <p>terminology:
+ <ul><li>A <b>text <em>portion</em></b> is some (potentially large) piece of text
+ which is to be analyzed for convertible sub-strings.</li>
+ <li>A <b>text <em>unit</em></b> is a sub string in a text portion, which is
+ to be converted as a whole.</li>
+ </ul>
+ For instance, you could have two independent selections within your document, which are then
+ two text portions. A text unit would be single Hangul/Hanja words within a portion, or even
+ single Hangul syllabills when "replace by character" is enabled.
+ </p>
+ */
+ class EDITENG_DLLPUBLIC HangulHanjaConversion
+ {
+ friend class HangulHanjaConversion_Impl;
+
+ public:
+ enum ReplacementAction
+ {
+ eExchange, // simply exchange one text with another
+ eReplacementBracketed, // keep the original, and put the replacement in brackets after it
+ eOriginalBracketed, // replace the original text, but put it in brackeds after the replacement
+ eReplacementAbove, // keep the original, and put the replacement text as ruby text above it
+ eOriginalAbove, // replace the original text, but put it as ruby text above it
+ eReplacementBelow, // keep the original, and put the replacement text as ruby text below it
+ eOriginalBelow // replace the original text, but put it as ruby text below it
+ };
+
+ enum ConversionType // does not specify direction...
+ {
+ eConvHangulHanja, // Korean Hangul/Hanja conversion
+ eConvSimplifiedTraditional // Chinese simplified / Chinese traditional conversion
+ };
+
+ // Note: conversion direction for eConvSimplifiedTraditional is
+ // specified by source language.
+ // This one is for Hangul/Hanja where source and target language
+ // are the same.
+ enum ConversionDirection
+ {
+ eHangulToHanja,
+ eHanjaToHangul
+ };
+
+ enum ConversionFormat
+ {
+ eSimpleConversion, // used for simplified / traditional Chinese as well
+ eHangulBracketed,
+ eHanjaBracketed,
+ eRubyHanjaAbove,
+ eRubyHanjaBelow,
+ eRubyHangulAbove,
+ eRubyHangulBelow
+ };
+
+ private:
+ ::std::auto_ptr< HangulHanjaConversion_Impl > m_pImpl;
+
+ // used to set initial values of m_pImpl object from saved ones
+ static sal_Bool m_bUseSavedValues; // defines if the followng two values should be used for initialization
+ static sal_Bool m_bTryBothDirectionsSave;
+ static ConversionDirection m_ePrimaryConversionDirectionSave;
+
+ // Forbidden and not implemented.
+ HangulHanjaConversion (const HangulHanjaConversion &);
+ HangulHanjaConversion & operator= (const HangulHanjaConversion &);
+
+ public:
+ HangulHanjaConversion(
+ Window* _pUIParent,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxORB,
+ const ::com::sun::star::lang::Locale& _rSourceLocale,
+ const ::com::sun::star::lang::Locale& _rTargetLocale,
+ const Font* _pTargetFont,
+ sal_Int32 nOptions,
+ sal_Bool _bIsInteractive
+ );
+
+ virtual ~HangulHanjaConversion( );
+
+ // converts the whole document
+ void ConvertDocument();
+
+ LanguageType GetSourceLanguage() const;
+ LanguageType GetTargetLanguage() const;
+ const Font * GetTargetFont() const;
+ sal_Int32 GetConversionOptions() const;
+ sal_Bool IsInteractive() const;
+
+ // chinese text conversion
+ static inline sal_Bool IsSimplified( LanguageType nLang );
+ static inline sal_Bool IsTraditional( LanguageType nLang );
+ static inline sal_Bool IsChinese( LanguageType nLang );
+ static inline sal_Bool IsSimilarChinese( LanguageType nLang1, LanguageType nLang2 );
+
+ // used to specify that the conversion direction states from the
+ // last incarnation should be used as
+ // initial conversion direction for the next incarnation.
+ // (A hack used to transport a state information from
+ // one incarnation to the next. Used in Writers text conversion...)
+ static void SetUseSavedConversionDirectionState( sal_Bool bVal );
+ static sal_Bool IsUseSavedConversionDirectionState();
+
+ protected:
+ /** retrieves the next text portion which is to be analyzed
+
+ <p>pseudo-abstract, needs to be overridden</p>
+
+ @param _rNextPortion
+ upon return, this must contain the next text portion
+ @param _rLangOfPortion
+ upon return, this must contain the language for the found text portion.
+ (necessary for Chinese translation since there are 5 language variants
+ too look for even if the 'source' language usually is only 'simplified'
+ or 'traditional'.)
+ */
+ virtual void GetNextPortion(
+ ::rtl::OUString& /* [out] */ _rNextPortion,
+ LanguageType& /* [out] */ _rLangOfPortion,
+ sal_Bool /* [in] */ _bAllowImplicitChangesForNotConvertibleText );
+
+ /** announces a new "current unit"
+
+ <p>This will be called whenever it is necessary to interactively ask the user for
+ a conversion. In such a case, a range within the current portion (see <member>GetNextPortion</member>)
+ is presented to the user for chosing a substitution. Additionally, this method is called,
+ so that derived classes can e.g. highlight this text range in a document view.</p>
+
+ <p>Note that the indexes are relative to the most recent replace action. See
+ <member>ReplaceUnit</member> for details.</p>
+
+ @param _nUnitStart
+ the start index of the unit
+
+ @param _nUnitEnd
+ the start index (exclusively!) of the unit.
+
+ @param _bAllowImplicitChangesForNotConvertibleText
+ allows implicit changes other than the text itself for the
+ text parts not being convertible.
+ Used for chinese translation to attribute all not convertible
+ text (e.g. western text, empty paragraphs, spaces, ...) to
+ the target language and target font of the conversion.
+ This is to ensure that after the conversion any new text entered
+ anywhere in the document will have the target language (of course
+ CJK Language only) and target font (CJK font only) set.
+
+ @see GetNextPortion
+ */
+ virtual void HandleNewUnit( const sal_Int32 _nUnitStart, const sal_Int32 _nUnitEnd );
+
+ /** replaces a text unit within a text portion with a new text
+
+ <p>pseudo-abstract, needs to be overridden</p>
+
+ <p>Note an important thing about the indicies: They are always relative to the <em>previous
+ call</em> of ReplaceUnit. This means whe you get a call to ReplaceUnit, and replace some text
+ in your document, than you have to remember the document position immediately <em>behind</em>
+ the changed text. In a next call to ReplaceUnit, an index of <em>0</em> will denote exactly
+ this position behind the previous replacement<br/>
+ The reaons for this is that this class here does not know anything about your document structure,
+ so after a replacement took place, it's impossible to address anything in the range from the
+ beginning of the portion up to the replaced text.<br/>
+ In the very first call to ReplaceUnit, an index of <em>0</em> denotes the very first position of
+ the current portion.</p>
+
+ <p>If the language of the text to be replaced is different from
+ the target language (as given by 'GetTargetLanguage') for example
+ when converting simplified Chinese from/to traditional Chinese
+ the language attribute of the new text has to be changed as well,
+ **and** the font is to be set to the default (document) font for
+ that language.</p>
+
+ @param _nUnitStart
+ the start index of the range to replace
+
+ @param _nUnitEnd
+ the end index (exclusively!) of the range to replace. E.g., an index
+ pair (4,5) indicates a range of length 1.
+
+ @param _rOrigText
+ the original text to be replaced (as returned by GetNextPortion).
+ Since in Chinese conversion the original text is needed as well
+ in order to only do the minimal necassry text changes and to keep
+ as much attributes as possible this is supplied here as well.
+
+ @param _rReplaceWith
+ The replacement text
+
+ @param _rOffsets
+ An sequence matching the indices (characters) of _rReplaceWith
+ to the indices of the characters in the original text they are
+ replacing.
+ This is necessary since some portions of the text may get
+ converted in portions of different length than the original.
+ The sequence will be empty if all conversions in the text are
+ of equal length. That is if always the character at index i in
+ _rOffsets is replacing the character at index i in the original
+ text for all valid index values of i.
+
+ @param _eAction
+ replacement action to take
+
+ @param pNewUnitLanguage
+ if the replacement unit is required to have a new language that
+ is specified here. If the language is to be left unchanged this
+ is the 0 pointer.
+ */
+ virtual void ReplaceUnit(
+ const sal_Int32 _nUnitStart, const sal_Int32 _nUnitEnd,
+ const ::rtl::OUString& _rOrigText,
+ const ::rtl::OUString& _rReplaceWith,
+ const ::com::sun::star::uno::Sequence< sal_Int32 > &_rOffsets,
+ ReplacementAction _eAction,
+ LanguageType *pNewUnitLanguage
+ );
+
+ /** specifies if rubies are supported by the document implementing
+ this class.
+
+ @return
+ <TRUE/> if rubies are supported.
+ */
+ virtual sal_Bool HasRubySupport() const;
+ };
+
+ sal_Bool HangulHanjaConversion::IsSimplified( LanguageType nLang )
+ {
+ return nLang == LANGUAGE_CHINESE_SIMPLIFIED ||
+ nLang == LANGUAGE_CHINESE_SINGAPORE;
+ }
+
+ sal_Bool HangulHanjaConversion::IsTraditional( LanguageType nLang )
+ {
+ return nLang == LANGUAGE_CHINESE_TRADITIONAL ||
+ nLang == LANGUAGE_CHINESE_HONGKONG ||
+ nLang == LANGUAGE_CHINESE_MACAU;
+ }
+
+ sal_Bool HangulHanjaConversion::IsChinese( LanguageType nLang )
+ {
+ return IsTraditional( nLang ) || IsSimplified( nLang );
+ }
+
+ sal_Bool HangulHanjaConversion::IsSimilarChinese( LanguageType nLang1, LanguageType nLang2 )
+ {
+ return (IsTraditional(nLang1) && IsTraditional(nLang2)) ||
+ (IsSimplified(nLang1) && IsSimplified(nLang2));
+ }
+
+//.............................................................................
+} // namespace svx
+//.............................................................................
+
+#endif // SVX_HANGUL_HANJA_CONVERSION_HXX
diff --git a/editeng/inc/editeng/hngpnctitem.hxx b/editeng/inc/editeng/hngpnctitem.hxx
new file mode 100644
index 0000000000..f1921c223a
--- /dev/null
+++ b/editeng/inc/editeng/hngpnctitem.hxx
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: hngpnctitem.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_HNGPNCTITEM_HXX
+#define _SVX_HNGPNCTITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/eitem.hxx>
+#include <editeng/editengdllapi.h>
+
+// class SvxHangingPunctuationItem -----------------------------------------
+
+/* [Description]
+
+ This item describe how to handle the last character of a line.
+*/
+
+class EDITENG_DLLPUBLIC SvxHangingPunctuationItem : public SfxBoolItem
+{
+public:
+ TYPEINFO();
+
+ SvxHangingPunctuationItem( sal_Bool bOn /*= sal_False*/,
+ const sal_uInt16 nId );
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual USHORT GetVersion( USHORT nFileVersion ) const;
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText,
+ const IntlWrapper * = 0 ) const;
+
+ inline SvxHangingPunctuationItem& operator=(
+ const SvxHangingPunctuationItem& rItem )
+ {
+ SetValue( rItem.GetValue() );
+ return *this;
+ }
+};
+
+#endif
+
diff --git a/editeng/inc/editeng/hyznitem.hxx b/editeng/inc/editeng/hyznitem.hxx
new file mode 100644
index 0000000000..da5a587384
--- /dev/null
+++ b/editeng/inc/editeng/hyznitem.hxx
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: hyznitem.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_HYZNITEM_HXX
+#define _SVX_HYZNITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/poolitem.hxx>
+#include <editeng/editengdllapi.h>
+
+class SvXMLUnitConverter;
+namespace rtl
+{
+ class OUString;
+}
+
+// class SvxHyphenZoneItem -----------------------------------------------
+
+/*
+[Beschreibung]
+Dieses Item beschreibt ein Silbentrennungsattribut (Automatisch?, Anzahl der
+Zeichen am Zeilenende und -anfang).
+*/
+
+class EDITENG_DLLPUBLIC SvxHyphenZoneItem : public SfxPoolItem
+{
+ BOOL bHyphen: 1;
+ BOOL bPageEnd: 1;
+ BYTE nMinLead;
+ BYTE nMinTrail;
+ BYTE nMaxHyphens;
+
+ friend SvStream & operator<<( SvStream & aS, SvxHyphenZoneItem & );
+
+public:
+ TYPEINFO();
+
+ SvxHyphenZoneItem( const BOOL bHyph /*= FALSE*/,
+ const USHORT nId );
+
+ // "pure virtual Methoden" vom SfxPoolItem
+ virtual int operator==( const SfxPoolItem& ) const;
+ virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
+ virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual SvStream& Store(SvStream &, USHORT nItemVersion ) const;
+
+ inline void SetHyphen( const BOOL bNew ) { bHyphen = bNew; }
+ inline BOOL IsHyphen() const { return bHyphen; }
+
+ inline void SetPageEnd( const BOOL bNew ) { bPageEnd = bNew; }
+ inline BOOL IsPageEnd() const { return bPageEnd; }
+
+ inline BYTE &GetMinLead() { return nMinLead; }
+ inline BYTE GetMinLead() const { return nMinLead; }
+
+ inline BYTE &GetMinTrail() { return nMinTrail; }
+ inline BYTE GetMinTrail() const { return nMinTrail; }
+
+ inline BYTE &GetMaxHyphens() { return nMaxHyphens; }
+ inline BYTE GetMaxHyphens() const { return nMaxHyphens; }
+
+ inline SvxHyphenZoneItem &operator=( const SvxHyphenZoneItem &rNew )
+ {
+ bHyphen = rNew.IsHyphen();
+ bPageEnd = rNew.IsPageEnd();
+ nMinLead = rNew.GetMinLead();
+ nMinTrail = rNew.GetMinTrail();
+ nMaxHyphens = rNew.GetMaxHyphens();
+ return *this;
+ }
+};
+
+#endif
+
diff --git a/editeng/inc/editeng/itemtype.hxx b/editeng/inc/editeng/itemtype.hxx
new file mode 100644
index 0000000000..63819ec759
--- /dev/null
+++ b/editeng/inc/editeng/itemtype.hxx
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: itemtype.hxx,v $
+ * $Revision: 1.3 $
+ *
+ * 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 _SVX_ITEMTYPE_HXX
+#define _SVX_ITEMTYPE_HXX
+
+// include ---------------------------------------------------------------
+
+#include <editeng/editrids.hrc>
+#include <editeng/eerdll.hxx>
+
+// forward ---------------------------------------------------------------
+#include <tools/string.hxx>
+#include <tools/resid.hxx>
+#include <tools/bigint.hxx>
+#include <svl/poolitem.hxx>
+#include <tools/shl.hxx>
+#include "editeng/editengdllapi.h"
+
+class Color;
+class XColorTable;
+class IntlWrapper;
+// static and prototypes -------------------------------------------------
+
+static const sal_Unicode cDelim = ',';
+static const sal_Unicode cpDelim[] = { ',' , ' ', '\0' };
+
+EDITENG_DLLPUBLIC String GetSvxString( USHORT nId );
+EDITENG_DLLPUBLIC String GetMetricText( long nVal, SfxMapUnit eSrcUnit, SfxMapUnit eDestUnit, const IntlWrapper * pIntl );
+String GetColorString( const Color& rCol );
+EDITENG_DLLPUBLIC USHORT GetMetricId( SfxMapUnit eUnit );
+
+// -----------------------------------------------------------------------
+
+inline String GetBoolString( BOOL bVal )
+{
+ return String( EditResId( bVal ? RID_SVXITEMS_TRUE : RID_SVXITEMS_FALSE ) );
+}
+
+// -----------------------------------------------------------------------
+
+inline long Scale( long nVal, long nMult, long nDiv )
+{
+ BigInt aVal( nVal );
+ aVal *= nMult;
+ aVal += nDiv/2;
+ aVal /= nDiv;
+ return aVal;
+}
+
+#endif
+
diff --git a/editeng/inc/editeng/keepitem.hxx b/editeng/inc/editeng/keepitem.hxx
new file mode 100644
index 0000000000..deb1d1b0dd
--- /dev/null
+++ b/editeng/inc/editeng/keepitem.hxx
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: keepitem.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_KEEPITEM_HXX
+#define _SVX_KEEPITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/eitem.hxx>
+#include <editeng/editengdllapi.h>
+
+namespace rtl
+{
+ class OUString;
+}
+
+// class SvxFmtKeepItem ------------------------------------------------
+
+/*
+[Beschreibung]
+Dieses Item beschreibt eine logische Variable "Absaetze zusammenhalten?".
+*/
+
+class EDITENG_DLLPUBLIC SvxFmtKeepItem : public SfxBoolItem
+{
+public:
+ TYPEINFO();
+
+ inline SvxFmtKeepItem( const BOOL bKeep /*= FALSE*/,
+ const USHORT _nWhich );
+ inline SvxFmtKeepItem& operator=( const SvxFmtKeepItem& rSplit );
+
+ // "pure virtual Methoden" vom SfxPoolItem
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create( SvStream&, USHORT ) const;
+ virtual SvStream& Store( SvStream& , USHORT nItemVersion ) const;
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+};
+
+inline SvxFmtKeepItem::SvxFmtKeepItem( const BOOL bKeep, const USHORT _nWhich ) :
+ SfxBoolItem( _nWhich, bKeep )
+{}
+
+inline SvxFmtKeepItem& SvxFmtKeepItem::operator=( const SvxFmtKeepItem& rKeep )
+{
+ SetValue( rKeep.GetValue() );
+ return *this;
+}
+
+#endif
+
diff --git a/editeng/inc/editeng/kernitem.hxx b/editeng/inc/editeng/kernitem.hxx
new file mode 100644
index 0000000000..bdc480a8b2
--- /dev/null
+++ b/editeng/inc/editeng/kernitem.hxx
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: kernitem.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_KERNITEM_HXX
+#define _SVX_KERNITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/intitem.hxx>
+#include <editeng/editengdllapi.h>
+
+class SvXMLUnitConverter;
+namespace rtl
+{
+ class OUString;
+}
+
+// class SvxKerningItem --------------------------------------------------
+
+// Achtung: Twips-Werte
+// Twips: 0 = kein Kerning
+
+/* [Beschreibung]
+
+ Dieses Item beschreibt die Schrift-Laufweite.
+*/
+
+class EDITENG_DLLPUBLIC SvxKerningItem : public SfxInt16Item
+{
+public:
+ TYPEINFO();
+
+ SvxKerningItem( const short nKern /*= 0*/, const USHORT nId );
+
+ // "pure virtual Methoden" vom SfxPoolItem
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual SvStream& Store(SvStream &, USHORT nItemVersion) const;
+ virtual int ScaleMetrics( long nMult, long nDiv );
+ virtual int HasMetrics() const;
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ inline SvxKerningItem& operator=(const SvxKerningItem& rKern) {
+ SetValue( rKern.GetValue() );
+ return *this;
+ }
+
+ virtual BOOL QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
+ virtual BOOL PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
+};
+
+#endif
+
diff --git a/editeng/inc/editeng/langitem.hxx b/editeng/inc/editeng/langitem.hxx
new file mode 100644
index 0000000000..7379b66bc1
--- /dev/null
+++ b/editeng/inc/editeng/langitem.hxx
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: langitem.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_LANGITEM_HXX
+#define _SVX_LANGITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/eitem.hxx>
+#include <i18npool/lang.h>
+#include <editeng/editengdllapi.h>
+
+class SvXMLUnitConverter;
+namespace rtl
+{
+ class OUString;
+}
+
+// class SvxLanguageItem -------------------------------------------------
+
+/* [Beschreibung]
+
+ Dieses Item beschreibt eine Sprache.
+*/
+
+class EDITENG_DLLPUBLIC SvxLanguageItem : public SfxEnumItem
+{
+public:
+ TYPEINFO();
+
+ SvxLanguageItem( const LanguageType eLang /*= LANGUAGE_GERMAN*/,
+ const USHORT nId );
+
+ // "pure virtual Methoden" vom SfxPoolItem
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual SvStream& Store(SvStream &, USHORT nItemVersion) const;
+ virtual USHORT GetValueCount() const;
+
+ inline SvxLanguageItem& operator=(const SvxLanguageItem& rLang)
+ {
+ SetValue( rLang.GetValue() );
+ return *this;
+ }
+
+ // enum cast
+ LanguageType GetLanguage() const
+ { return (LanguageType)GetValue(); }
+ void SetLanguage( const LanguageType eLang )
+ { SetValue( (USHORT)eLang ); }
+ virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
+ virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
+};
+
+#endif
+
diff --git a/editeng/inc/editeng/lcolitem.hxx b/editeng/inc/editeng/lcolitem.hxx
new file mode 100644
index 0000000000..bb24ff8c17
--- /dev/null
+++ b/editeng/inc/editeng/lcolitem.hxx
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: lcolitem.hxx,v $
+ * $Revision: 1.5 $
+ *
+ * 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 _SVX_LCOLITEM_HXX
+#define _SVX_LCOLITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <editeng/colritem.hxx>
+#include <editeng/editengdllapi.h>
+
+/*
+ * dummy-Item fuer ToolBox-Controller:
+ *
+ */
+
+class EDITENG_DLLPUBLIC SvxLineColorItem : public SvxColorItem
+{
+public:
+ TYPEINFO();
+
+ SvxLineColorItem( const USHORT nId );
+ SvxLineColorItem( const Color& aColor, const USHORT nId );
+ SvxLineColorItem( SvStream& rStrm, const USHORT nId );
+ SvxLineColorItem( const SvxLineColorItem& rCopy );
+ ~SvxLineColorItem();
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText,
+ const IntlWrapper * pIntlWrapper = 0 )
+ const;
+
+ inline SvxLineColorItem& operator=(const SvxLineColorItem& rColor)
+ { return (SvxLineColorItem&)SvxColorItem::
+ operator=((const SvxColorItem&)rColor); }
+
+};
+
+#endif
+
diff --git a/editeng/inc/editeng/lrspitem.hxx b/editeng/inc/editeng/lrspitem.hxx
new file mode 100644
index 0000000000..99f109f1a2
--- /dev/null
+++ b/editeng/inc/editeng/lrspitem.hxx
@@ -0,0 +1,182 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: lrspitem.hxx,v $
+ * $Revision: 1.5 $
+ *
+ * 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 _SVX_LRSPITEM_HXX
+#define _SVX_LRSPITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/poolitem.hxx>
+#include <editeng/editengdllapi.h>
+
+namespace rtl
+{
+ class OUString;
+}
+
+// class SvxLRSpaceItem --------------------------------------------------
+
+/*
+[Beschreibung]
+Linker/Rechter Rand sowie Erstzeileneinzug
+
+SvxLRSpaceItem bietet zwei Schnittstellen zur Befragung des linken
+Randes und des Erstzeileneinzuges an. Die Get-Methoden liefern
+die Member zurueck, wie sie das Layout bisher auch erwartete:
+Der linke Rand verschiebt sich beim negativem Erstzeileneinzug
+nach links. Die SetTxt/GetTxt-Methoden setzen voraus, dass der
+linke Rand der 0-Punkt des Erstzeileneinzugs darstellt:
+
+ UI UI LAYOUT UI/TEXT UI/TEXT (Wo?)
+SetTxtLeft SetTxtFirst GetLeft GetTxtLeft GetTxtFirst (Was?)
+ 500 -500 0 500 -500 (Wieviel?)
+ 500 0 500 500 0
+ 500 +500 500 500 +500
+ 700 -500 200 700 -500
+*/
+
+#define LRSPACE_16_VERSION ((USHORT)0x0001)
+#define LRSPACE_TXTLEFT_VERSION ((USHORT)0x0002)
+#define LRSPACE_AUTOFIRST_VERSION ((USHORT)0x0003)
+#define LRSPACE_NEGATIVE_VERSION ((USHORT)0x0004)
+
+class EDITENG_DLLPUBLIC SvxLRSpaceItem : public SfxPoolItem
+{
+ short nFirstLineOfst; // Erstzeileneinzug _immer_ relativ zu nTxtLeft
+ long nTxtLeft; // wir spendieren einen USHORT
+ long nLeftMargin; // nLeft oder der neg. Erstzeileneinzug
+ long nRightMargin; // der unproblematische rechte Rand
+
+ USHORT nPropFirstLineOfst, nPropLeftMargin, nPropRightMargin;
+ BOOL bAutoFirst : 1; // Automatische Berechnung der Erstzeileneinzugs
+
+ void AdjustLeft(); // nLeftMargin und nTxtLeft werden angepasst.
+
+public:
+ TYPEINFO();
+
+ SvxLRSpaceItem( const USHORT nId );
+ SvxLRSpaceItem( const long nLeft, const long nRight,
+ const long nTLeft /*= 0*/, const short nOfset /*= 0*/,
+ const USHORT nId );
+ inline SvxLRSpaceItem& operator=( const SvxLRSpaceItem &rCpy );
+
+ // "pure virtual Methoden" vom SfxPoolItem
+ virtual int operator==( const SfxPoolItem& ) const;
+
+ virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
+ virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual SvStream& Store(SvStream &, USHORT nItemVersion ) const;
+ virtual USHORT GetVersion( USHORT nFileVersion ) const;
+ virtual int ScaleMetrics( long nMult, long nDiv );
+ virtual int HasMetrics() const;
+
+ // Die "Layout-Schnittstelle":
+ inline void SetLeft ( const long nL, const USHORT nProp = 100 );
+ inline void SetRight( const long nR, const USHORT nProp = 100 );
+
+ // abfragen / direktes setzen der absoluten Werte
+ inline long GetLeft() const { return nLeftMargin; }
+ inline long GetRight() const { return nRightMargin;}
+ inline void SetLeftValue( const long nL ) { nTxtLeft = nLeftMargin = nL; }
+ inline void SetRightValue( const long nR ) { nRightMargin = nR; }
+ inline BOOL IsAutoFirst() const { return bAutoFirst; }
+ inline void SetAutoFirst( const BOOL bNew ) { bAutoFirst = bNew; }
+
+ // abfragen / setzen der Prozent-Werte
+ inline void SetPropLeft( const USHORT nProp = 100 )
+ { nPropLeftMargin = nProp; }
+ inline void SetPropRight( const USHORT nProp = 100 )
+ { nPropRightMargin = nProp;}
+ inline USHORT GetPropLeft() const { return nPropLeftMargin; }
+ inline USHORT GetPropRight() const { return nPropRightMargin;}
+
+ // Die "UI/Text-Schnittstelle":
+ inline void SetTxtLeft( const long nL, const USHORT nProp = 100 );
+ inline long GetTxtLeft() const { return nTxtLeft; }
+
+ inline void SetTxtFirstLineOfst( const short nF, const USHORT nProp = 100 );
+ inline short GetTxtFirstLineOfst() const { return nFirstLineOfst; }
+ inline void SetPropTxtFirstLineOfst( const USHORT nProp = 100 )
+ { nPropFirstLineOfst = nProp; }
+ inline USHORT GetPropTxtFirstLineOfst() const
+ { return nPropFirstLineOfst; }
+ inline void SetTxtFirstLineOfstValue( const short nValue )
+ { nFirstLineOfst = nValue; }
+};
+
+inline SvxLRSpaceItem &SvxLRSpaceItem::operator=( const SvxLRSpaceItem &rCpy )
+{
+ nFirstLineOfst = rCpy.nFirstLineOfst;
+ nTxtLeft = rCpy.nTxtLeft;
+ nLeftMargin = rCpy.nLeftMargin;
+ nRightMargin = rCpy.nRightMargin;
+ nPropFirstLineOfst = rCpy.nPropFirstLineOfst;
+ nPropLeftMargin = rCpy.nPropLeftMargin;
+ nPropRightMargin = rCpy.nPropRightMargin;
+ bAutoFirst = rCpy.bAutoFirst;
+ return *this;
+}
+
+inline void SvxLRSpaceItem::SetLeft( const long nL, const USHORT nProp )
+{
+ nLeftMargin = (nL * nProp) / 100;
+ nTxtLeft = nLeftMargin;
+ nPropLeftMargin = nProp;
+}
+inline void SvxLRSpaceItem::SetRight( const long nR, const USHORT nProp )
+{
+ nRightMargin = (nR * nProp) / 100;
+ nPropRightMargin = nProp;
+}
+inline void SvxLRSpaceItem::SetTxtFirstLineOfst( const short nF,
+ const USHORT nProp )
+{
+ nFirstLineOfst = short((long(nF) * nProp ) / 100);
+ nPropFirstLineOfst = nProp;
+ AdjustLeft();
+}
+
+inline void SvxLRSpaceItem::SetTxtLeft( const long nL, const USHORT nProp )
+{
+ nTxtLeft = (nL * nProp) / 100;
+ nPropLeftMargin = nProp;
+ AdjustLeft();
+}
+
+#endif
+
diff --git a/editeng/inc/editeng/lspcitem.hxx b/editeng/inc/editeng/lspcitem.hxx
new file mode 100644
index 0000000000..d99d123987
--- /dev/null
+++ b/editeng/inc/editeng/lspcitem.hxx
@@ -0,0 +1,126 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: lspcitem.hxx,v $
+ * $Revision: 1.4.216.1 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_LSPCITEM_HXX
+#define _SVX_LSPCITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/eitem.hxx>
+#include <editeng/svxenum.hxx>
+#include <editeng/editengdllapi.h>
+
+class SvXMLUnitConverter;
+namespace rtl
+{
+ class OUString;
+}
+
+// class SvxLineSpacingItem ----------------------------------------------
+
+/*
+[Beschreibung]
+Dieses Item beschreibt den Abstand zwischen den Zeilen.
+*/
+
+#define LINE_SPACE_DEFAULT_HEIGHT 200
+class EDITENG_DLLPUBLIC SvxLineSpacingItem : public SfxEnumItemInterface
+{
+ friend SvStream& operator<<( SvStream&, SvxLineSpacingItem& ); //$ ostream
+
+ short nInterLineSpace;
+ USHORT nLineHeight;
+ BYTE nPropLineSpace;
+ SvxLineSpace eLineSpace;
+ SvxInterLineSpace eInterLineSpace;
+
+public:
+ TYPEINFO();
+
+ // Der Writer verlaesst sich auf eine Default-Hoehe von 200!
+ // Eigentlich wuerde ich alle Werte mit 0 initialisieren, aber wer kann
+ // die Folgen beim Writer absehen ?
+ // => lieber einen krummen Wert als Default, aber der Programmierer
+ // sieht, dass dort etwas besonderes passiert.
+
+ SvxLineSpacingItem( USHORT nHeight /*= LINE_SPACE_DEFAULT_HEIGHT*/, const USHORT nId );
+
+ // "pure virtual Methoden" vom SfxPoolItem
+ virtual int operator==( const SfxPoolItem& ) const;
+ virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
+ virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual SvStream& Store(SvStream &, USHORT nItemVersion ) const;
+
+ // Methoden zum Abfragen und Aendern
+ // Interlinespace wird zur Hoehe addiert.
+ inline short GetInterLineSpace() const { return nInterLineSpace; }
+ inline void SetInterLineSpace( const short nSpace )
+ {
+ nInterLineSpace = nSpace;
+ eInterLineSpace = SVX_INTER_LINE_SPACE_FIX;
+ }
+
+ // Bestimmt absolute oder minimale Zeilenhoehe.
+ inline USHORT GetLineHeight() const { return nLineHeight; }
+ inline void SetLineHeight( const USHORT nHeight )
+ {
+ nLineHeight = nHeight;
+ eLineSpace = SVX_LINE_SPACE_MIN;
+ }
+
+ // Vergroessert oder verkleinert die Zeilenhoehe.
+ BYTE GetPropLineSpace() const { return nPropLineSpace; }
+ inline void SetPropLineSpace( const BYTE nProp )
+ {
+ nPropLineSpace = nProp;
+ eInterLineSpace = SVX_INTER_LINE_SPACE_PROP;
+ }
+
+ inline SvxLineSpace &GetLineSpaceRule() { return eLineSpace; }
+ inline SvxLineSpace GetLineSpaceRule() const { return eLineSpace; }
+
+ inline SvxInterLineSpace &GetInterLineSpaceRule() { return eInterLineSpace; }
+ inline SvxInterLineSpace GetInterLineSpaceRule() const { return eInterLineSpace; }
+
+ virtual USHORT GetValueCount() const;
+ virtual String GetValueTextByPos( USHORT nPos ) const;
+ virtual USHORT GetEnumValue() const;
+ virtual void SetEnumValue( USHORT nNewVal );
+};
+
+#endif
+
diff --git a/editeng/inc/editeng/memberids.hrc b/editeng/inc/editeng/memberids.hrc
new file mode 100644
index 0000000000..48444b3575
--- /dev/null
+++ b/editeng/inc/editeng/memberids.hrc
@@ -0,0 +1,199 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: unomid.hxx,v $
+ * $Revision: 1.3.212.1 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _EDT_UNOMID_HXX
+#define _EDT_UNOMID_HXX
+
+#define MID_LOCATION 0x3c
+#define MID_TRANSPARENT 0x4b
+#define MID_BG_COLOR 0x22
+#define MID_FLAGS 0x2e
+#define MID_DISTANCE 0x29
+#define MID_FG_COLOR 0x2c
+#define MID_OUTER_WIDTH 0x41
+#define MID_INNER_WIDTH 0x35
+#define MID_LINESPACE 0x3b
+
+//NameOrIndex
+#define MID_NAME 16
+#define MID_GRAFURL 32
+
+// SvxPageModelItem
+#define MID_AUTO 1
+
+// SvxTabStop
+#define MID_TABSTOPS 0
+#define MID_STD_TAB 1
+
+//SvxHyphenZoneItem
+#define MID_IS_HYPHEN 0
+#define MID_HYPHEN_MIN_LEAD 1
+#define MID_HYPHEN_MIN_TRAIL 2
+#define MID_HYPHEN_MAX_HYPHENS 3
+
+// SvxSizeItem
+#define MID_SIZE_SIZE 0
+#define MID_SIZE_WIDTH 1
+#define MID_SIZE_HEIGHT 2
+
+// SvxBoxInfoItem
+#define MID_HORIZONTAL 1
+#define MID_VERTICAL 2
+#define MID_VALIDFLAGS 4
+
+//AdjustItem
+#define MID_PARA_ADJUST 0
+#define MID_LAST_LINE_ADJUST 1
+#define MID_EXPAND_SINGLE 2
+
+//SvxFontItem
+// Don't use 0 as it used for the whole struct
+#define MID_FONT_FAMILY_NAME 1
+#define MID_FONT_STYLE_NAME 2
+#define MID_FONT_FAMILY 3
+#define MID_FONT_CHAR_SET 4
+#define MID_FONT_PITCH 5
+
+// SvxCharReliefItem
+#define MID_RELIEF 0
+
+//SvxCharRotateItem
+#define MID_ROTATE 0
+#define MID_FITTOLINE 1
+
+//SvxExcapementItem
+#define MID_ESC 0
+#define MID_ESC_HEIGHT 1
+#define MID_AUTO_ESC 2
+
+//SvxFontWidthItem
+#define MID_FONTWIDTH 0
+#define MID_FONTWIDTH_PROP 1
+
+//SvxFontHeightItem
+#define MID_FONTHEIGHT 1
+#define MID_FONTHEIGHT_PROP 2
+#define MID_FONTHEIGHT_DIFF 3
+
+//SvxTextLineItem
+#define MID_TEXTLINED 0
+#define MID_TL_STYLE 1
+#define MID_TL_COLOR 2
+#define MID_TL_HASCOLOR 3
+
+//SvxCrossedOutItem
+#define MID_CROSSED_OUT 0
+#define MID_CROSS_OUT 1
+
+//SvxPostureItem
+#define MID_ITALIC 0
+#define MID_POSTURE 1
+
+//SvxBoolItem
+#define MID_BOLD 0
+#define MID_WEIGHT 1
+
+//SvxLanguageItem
+#define MID_LANG_INT 0
+#define MID_LANG_LOCALE 1
+
+//SvxEmphasisMarkItem
+#define MID_EMPHASIS 0
+
+//SvxTwoLinesItem
+#define MID_TWOLINES 0
+#define MID_START_BRACKET 1
+#define MID_END_BRACKET 2
+
+//ULSpaceItem
+#define MID_UL_MARGIN 1
+#define MID_UL_REL_MARGIN 2
+#define MID_UP_MARGIN 3
+#define MID_LO_MARGIN 4
+#define MID_UP_REL_MARGIN 5
+#define MID_LO_REL_MARGIN 6
+
+//LRSpaceItem
+#define MID_LR_MARGIN 0
+#define MID_LRP_MARGIN 1
+#define MID_LR_REL_MARGIN 2
+#define MID_LRP_REL_MARGIN 3
+#define MID_L_MARGIN 4
+#define MID_R_MARGIN 5
+#define MID_L_REL_MARGIN 6
+#define MID_R_REL_MARGIN 7
+#define MID_FIRST_LINE_INDENT 8
+#define MID_FIRST_LINE_REL_INDENT 9
+#define MID_FIRST_AUTO 10
+#define MID_TXT_LMARGIN 11
+
+//ProtectItem
+#define MID_PROTECT_CONTENT 0
+#define MID_PROTECT_SIZE 1
+#define MID_PROTECT_POSITION 2
+
+//SvxBoxItem
+#define LEFT_BORDER 1
+#define RIGHT_BORDER 2
+#define TOP_BORDER 3
+#define BOTTOM_BORDER 4
+#define BORDER_DISTANCE 5
+#define LEFT_BORDER_DISTANCE 6
+#define RIGHT_BORDER_DISTANCE 7
+#define TOP_BORDER_DISTANCE 8
+#define BOTTOM_BORDER_DISTANCE 9
+#define MID_LEFT_BORDER 10
+#define MID_RIGHT_BORDER 11
+#define MID_TOP_BORDER 12
+#define MID_BOTTOM_BORDER 13
+
+//BrushItem
+#define MID_BACK_COLOR 0
+#define MID_GRAPHIC_POSITION 1
+#define MID_GRAPHIC_LINK 2
+#define MID_GRAPHIC 3
+#define MID_GRAPHIC_TRANSPARENT 4
+#define MID_GRAPHIC_URL 5
+#define MID_GRAPHIC_FILTER 6
+#define MID_GRAPHIC_REPEAT 7
+#define MID_GRAPHIC_TRANSPARENCY 8
+#define MID_BACK_COLOR_R_G_B 9
+#define MID_BACK_COLOR_TRANSPARENCY 10
+
+//SvxFmtBreakItem
+#define MID_BREAK_BEFORE 0
+#define MID_BREAK_AFTER 1
+
+//SvxCaseMapItem
+#define MID_CASEMAP_VARIANT 0
+#define MID_CASEMAP_TRANS 1
+
+
+
+#endif
diff --git a/editeng/inc/editeng/mutxhelp.hxx b/editeng/inc/editeng/mutxhelp.hxx
new file mode 100644
index 0000000000..c3a169f17b
--- /dev/null
+++ b/editeng/inc/editeng/mutxhelp.hxx
@@ -0,0 +1,47 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: mutxhelp.hxx,v $
+ * $Revision: 1.3 $
+ *
+ * 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 _SVX_MUTXHELP_HXX
+#define _SVX_MUTXHELP_HXX
+
+#include <osl/mutex.hxx>
+
+class SvxMutexHelper
+{
+private:
+ ::osl::Mutex maMutex;
+
+public:
+ ::osl::Mutex& getMutex() { return maMutex; }
+};
+
+#endif
+
+
diff --git a/editeng/inc/editeng/nhypitem.hxx b/editeng/inc/editeng/nhypitem.hxx
new file mode 100644
index 0000000000..51f87fe11b
--- /dev/null
+++ b/editeng/inc/editeng/nhypitem.hxx
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: nhypitem.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_NHYPITEM_HXX
+#define _SVX_NHYPITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/eitem.hxx>
+#include <editeng/editengdllapi.h>
+
+// class SvxNoHyphenItem -------------------------------------------------
+
+/* [Beschreibung]
+
+ PB: ???
+*/
+
+class EDITENG_DLLPUBLIC SvxNoHyphenItem : public SfxBoolItem
+{
+public:
+ TYPEINFO();
+
+ SvxNoHyphenItem( const BOOL bHyphen /*= TRUE*/,
+ const USHORT nId );
+
+ // "pure virtual Methoden" vom SfxPoolItem
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual SvStream& Store(SvStream &, USHORT nItemVersion) const;
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ inline SvxNoHyphenItem& operator=(const SvxNoHyphenItem& rNHH)
+ {
+ SetValue( rNHH.GetValue() );
+ return *this;
+ }
+};
+
+#endif
+
diff --git a/editeng/inc/editeng/nlbkitem.hxx b/editeng/inc/editeng/nlbkitem.hxx
new file mode 100644
index 0000000000..b9e706f103
--- /dev/null
+++ b/editeng/inc/editeng/nlbkitem.hxx
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: nlbkitem.hxx,v $
+ * $Revision: 1.6 $
+ *
+ * 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 _SVX_NLBKITEM_HXX
+#define _SVX_NLBKITEM_HXX
+
+// include ---------------------------------------------------------------
+
+
+#include <svl/eitem.hxx>
+#include "editeng/editengdllapi.h"
+
+// class SvxNoLinebreakItem ----------------------------------------------
+
+
+/* [Beschreibung]
+
+ PB: ???
+*/
+
+class EDITENG_DLLPUBLIC SvxNoLinebreakItem : public SfxBoolItem
+{
+public:
+ TYPEINFO();
+
+ SvxNoLinebreakItem( const BOOL bBreak /*= TRUE*/,
+ const USHORT nId );
+
+ // "pure virtual Methoden" vom SfxPoolItem
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual SvStream& Store(SvStream &, USHORT nItemVersion) const;
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ inline SvxNoLinebreakItem& operator=(const SvxNoLinebreakItem& rLB)
+ {
+ SetValue( rLB.GetValue() );
+ return *this;
+ }
+};
+
+
+
+#endif
+
+
diff --git a/editeng/inc/editeng/numdef.hxx b/editeng/inc/editeng/numdef.hxx
new file mode 100644
index 0000000000..5807940d18
--- /dev/null
+++ b/editeng/inc/editeng/numdef.hxx
@@ -0,0 +1,33 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: numdef.hxx,v $
+ * $Revision: 1.3 $
+ *
+ * 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 SVX_MAX_NUM 10 // max. moegliche Numerierungsebenen
+#define SVX_DEF_BULLET (0xF000 + 149)// Charakter fuer Aufzaehlungen
+
diff --git a/editeng/inc/editeng/numitem.hxx b/editeng/inc/editeng/numitem.hxx
new file mode 100644
index 0000000000..b887fac4de
--- /dev/null
+++ b/editeng/inc/editeng/numitem.hxx
@@ -0,0 +1,398 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: numitem.hxx,v $
+ * $Revision: 1.5 $
+ *
+ * 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 _SVX_NUMITEM_HXX
+#define _SVX_NUMITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <tools/link.hxx>
+#include <tools/string.hxx>
+#include <svl/poolitem.hxx>
+#include <editeng/svxenum.hxx>
+#include <tools/gen.hxx>
+#include <editeng/numdef.hxx>
+#include <tools/color.hxx>
+#include <cppuhelper/weakref.hxx>
+#include <com/sun/star/lang/Locale.hpp>
+#include <com/sun/star/uno/Reference.h>
+#include <com/sun/star/style/NumberingType.hpp>
+#include <unotools/fontcvt.hxx>
+#include <editeng/editengdllapi.h>
+
+class SvxBrushItem;
+class Font;
+class Graphic;
+class SvxNodeNum;
+class BitmapEx;
+namespace com{namespace sun{ namespace star{
+ namespace text{
+ class XNumberingFormatter;
+ }
+}}}
+
+// -----------------------------------------------------------------------
+//Feature-Flags (only USHORT!)
+#define NUM_CONTINUOUS 0x0001 // fortlaufende Numerierung moeglich?
+#define NUM_CHAR_TEXT_DISTANCE 0x0002 // Abstand Symbol<->Text?
+#define NUM_CHAR_STYLE 0x0004 // Zeichenvorlagen?
+#define NUM_BULLET_REL_SIZE 0x0008 // rel. Bulletgroesse?
+#define NUM_BULLET_COLOR 0x0010 // Bullet color
+#define NUM_SYMBOL_ALIGNMENT 0x0040 // alignment soll unter den Optionen angezeigt werden
+#define NUM_NO_NUMBERS 0x0080 // Numberierungen sind nicht erlaubt
+#define NUM_ENABLE_LINKED_BMP 0x0100 // linked bitmaps are available
+#define NUM_ENABLE_EMBEDDED_BMP 0x0200 // embedded bitmaps are available
+
+#define SVX_NO_NUM 200 // Markierung fuer keine Numerierung
+#define SVX_NO_NUMLEVEL 0x20
+
+#define LINK_TOKEN 0x80 //indicate linked bitmaps - for use in dialog only
+class EDITENG_DLLPUBLIC SvxNumberType
+{
+ static sal_Int32 nRefCount;
+ static com::sun::star::uno::Reference<com::sun::star::text::XNumberingFormatter> xFormatter;
+
+ sal_Int16 nNumType;
+ sal_Bool bShowSymbol; // Symbol auch anzeigen?
+
+public:
+ SvxNumberType(sal_Int16 nType = com::sun::star::style::NumberingType::ARABIC);
+ SvxNumberType(const SvxNumberType& rType);
+ ~SvxNumberType();
+
+ String GetNumStr( ULONG nNo ) const;
+ String GetNumStr( ULONG nNo, const com::sun::star::lang::Locale& rLocale ) const;
+
+ void SetNumberingType(sal_Int16 nSet) {nNumType = nSet;}
+ sal_Int16 GetNumberingType() const {return nNumType;}
+
+ void SetShowSymbol(sal_Bool bSet) {bShowSymbol = bSet;}
+ sal_Bool IsShowSymbol()const{return bShowSymbol;}
+
+ sal_Bool IsTxtFmt() const
+ {
+ return com::sun::star::style::NumberingType::NUMBER_NONE != nNumType &&
+ com::sun::star::style::NumberingType::CHAR_SPECIAL != nNumType &&
+ com::sun::star::style::NumberingType::BITMAP != nNumType;
+ }
+};
+
+class EDITENG_DLLPUBLIC SvxNumberFormat : public SvxNumberType
+{
+public:
+ // --> OD 2008-01-08 #newlistlevelattrs#
+ enum SvxNumPositionAndSpaceMode
+ {
+ LABEL_WIDTH_AND_POSITION,
+ LABEL_ALIGNMENT
+ };
+ enum SvxNumLabelFollowedBy
+ {
+ LISTTAB,
+ SPACE,
+ NOTHING
+ };
+ // <--
+
+private:
+ String sPrefix;
+ String sSuffix;
+
+ SvxAdjust eNumAdjust;
+
+ BYTE nInclUpperLevels; //Nummern aus der vorigen Ebenen uebernehmen
+ USHORT nStart; //Start der Zaehlung
+
+ sal_Unicode cBullet; //Symbol
+ USHORT nBulletRelSize; //proz. Groesse des Bullets
+ Color nBulletColor; //Bullet color
+
+ // --> OD 2008-01-08 #newlistlevelattrs#
+ // mode indicating, if the position and spacing of the list label is
+ // determined by the former attributes (nFirstLineOffset, nAbsLSpace,
+ // nLSpace and nCharTextDistance) called position and spacing via label
+ // width and position (LABEL_WIDTH_AND_POSITION) or by the new attributes
+ // (meLabelFollowedBy, mnListtabPos, mnFirstLineIndent and mnIndentAt)
+ // called position and spacing via label alignment.
+ // Note 1: Attribute <eNumAdjust> is relevant for both modes.
+ // Note 2: The values of the former attributes are treated as 0, if mode
+ // LABEL_ALIGNMENT is active.
+ SvxNumPositionAndSpaceMode mePositionAndSpaceMode;
+ // <--
+
+ short nFirstLineOffset; //Erstzeileneinzug
+ short nAbsLSpace; //Abstand Rand<->Nummer
+ short nLSpace; //relative Einrueckung zum Vorgaenger
+ short nCharTextDistance; //Abstand Nummer<->Text
+
+ // --> OD 2008-01-08 #newlistlevelattrs#
+ // specifies what follows the list label before the text of the first line
+ // of the list item starts
+ SvxNumLabelFollowedBy meLabelFollowedBy;
+ // specifies an additional list tab stop position for meLabelFollowedBy = LISTTAB
+ long mnListtabPos;
+ // specifies the first line indent
+ long mnFirstLineIndent;
+ // specifies the indent before the text, e.g. in L2R-layout the left margin
+ long mnIndentAt;
+ // <--
+
+ SvxBrushItem* pGraphicBrush; //
+ sal_Int16 eVertOrient; // vert. Ausrichtung einer Bitmap
+
+ Size aGraphicSize; // immer! in 1/100 mm
+ Font* pBulletFont; // Pointer auf den BulletFont
+
+ String sCharStyleName; // Zeichenvorlage
+
+ BitmapEx* pScaledImageCache; // Image scaled to aGraphicSize, only cached for WINDOW/VDEV
+
+ DECL_STATIC_LINK( SvxNumberFormat, GraphicArrived, void * );
+ virtual void NotifyGraphicArrived();
+public:
+ // --> OD 2008-01-09 #newlistlevelattrs#
+ SvxNumberFormat( sal_Int16 nNumberingType,
+ SvxNumPositionAndSpaceMode ePositionAndSpaceMode = LABEL_WIDTH_AND_POSITION );
+ // <--
+ SvxNumberFormat(const SvxNumberFormat& rFormat);
+ SvxNumberFormat(SvStream &rStream);
+ virtual ~SvxNumberFormat();
+
+ SvStream& Store(SvStream &rStream, FontToSubsFontConverter pConverter);
+
+ SvxNumberFormat& operator=( const SvxNumberFormat& );
+ BOOL operator==( const SvxNumberFormat& ) const;
+ BOOL operator!=( const SvxNumberFormat& rFmt) const {return !(*this == rFmt);}
+
+ void SetNumAdjust(SvxAdjust eSet) {eNumAdjust = eSet;}
+ SvxAdjust GetNumAdjust() const {return eNumAdjust;}
+ void SetPrefix(const String& rSet) { sPrefix = rSet;}
+ const String& GetPrefix() const { return sPrefix;}
+ void SetSuffix(const String& rSet) { sSuffix = rSet;}
+ const String& GetSuffix() const { return sSuffix;}
+
+ void SetCharFmtName(const String& rSet){ sCharStyleName = rSet; }
+ virtual const String& GetCharFmtName()const;
+
+ void SetBulletFont(const Font* pFont);
+ const Font* GetBulletFont() const {return pBulletFont;}
+ void SetBulletChar(sal_Unicode cSet){cBullet = cSet;}
+ sal_Unicode GetBulletChar()const {return cBullet;}
+ void SetBulletRelSize(USHORT nSet) {nBulletRelSize = nSet;}
+ USHORT GetBulletRelSize() const { return nBulletRelSize;}
+ void SetBulletColor(Color nSet){nBulletColor = nSet;}
+ Color GetBulletColor()const {return nBulletColor;}
+
+ void SetIncludeUpperLevels( BYTE nSet ) { nInclUpperLevels = nSet;}
+ BYTE GetIncludeUpperLevels()const { return nInclUpperLevels;}
+ void SetStart(USHORT nSet) {nStart = nSet;}
+ USHORT GetStart() const {return nStart;}
+
+ virtual void SetGraphicBrush( const SvxBrushItem* pBrushItem, const Size* pSize = 0, const sal_Int16* pOrient = 0);
+ const SvxBrushItem* GetBrush() const {return pGraphicBrush;}
+ void SetGraphic( const String& rName );
+ virtual void SetVertOrient(sal_Int16 eSet);
+ virtual sal_Int16 GetVertOrient() const;
+ void SetGraphicSize(const Size& rSet) {aGraphicSize = rSet;}
+ const Size& GetGraphicSize() const {return aGraphicSize;}
+
+ // --> OD 2008-01-09 #newlistlevelattrs#
+ SvxNumPositionAndSpaceMode GetPositionAndSpaceMode() const;
+ void SetPositionAndSpaceMode( SvxNumPositionAndSpaceMode ePositionAndSpaceMode );
+ // <--
+
+ void SetLSpace(short nSet) {nLSpace = nSet;}
+ // --> OD 2008-01-09 #newlistlevelattrs#
+ short GetLSpace() const;
+ // <--
+ void SetAbsLSpace(short nSet) {nAbsLSpace = nSet;}
+ // --> OD 2008-01-09 #newlistlevelattrs#
+ short GetAbsLSpace() const;
+ // <--
+ void SetFirstLineOffset(short nSet) { nFirstLineOffset = nSet;}
+ // --> OD 2008-01-09 #newlistlevelattrs#
+ short GetFirstLineOffset() const;
+ // <--
+ void SetCharTextDistance(short nSet) { nCharTextDistance = nSet; }
+ // --> OD 2008-01-09 #newlistlevelattrs#
+ short GetCharTextDistance() const;
+ // <--
+
+ // --> OD 2008-01-09 #newlistlevelattrs#
+ void SetLabelFollowedBy( const SvxNumLabelFollowedBy eLabelFollowedBy );
+ SvxNumLabelFollowedBy GetLabelFollowedBy() const;
+ void SetListtabPos( const long nListtabPos );
+ long GetListtabPos() const;
+ void SetFirstLineIndent( const long nFirstLineIndent );
+ long GetFirstLineIndent() const;
+ void SetIndentAt( const long nIndentAt );
+ long GetIndentAt() const;
+ // <--
+
+ static Size GetGraphicSizeMM100(const Graphic* pGraphic);
+ static String CreateRomanString( ULONG nNo, BOOL bUpper );
+};
+
+enum SvxNumRuleType
+{
+ SVX_RULETYPE_NUMBERING,
+ SVX_RULETYPE_OUTLINE_NUMBERING,
+ SVX_RULETYPE_PRESENTATION_NUMBERING,
+ SVX_RULETYPE_END
+};
+
+class EDITENG_DLLPUBLIC SvxNumRule
+{
+ USHORT nLevelCount; // Anzahl der unterstuetzten Levels
+ ULONG nFeatureFlags; // was wird unterstuetzt?
+ SvxNumRuleType eNumberingType; // was fuer eine Numerierung
+ BOOL bContinuousNumbering; // fortlaufende Numerierung
+
+ SvxNumberFormat* aFmts[SVX_MAX_NUM];
+ BOOL aFmtsSet[SVX_MAX_NUM]; //Flags ueber Gueltigkeit der Ebenen
+
+ static sal_Int32 nRefCount;
+ com::sun::star::lang::Locale aLocale;
+public:
+ // --> OD 2008-02-11 #newlistlevelattrs#
+ SvxNumRule( ULONG nFeatures,
+ USHORT nLevels,
+ BOOL bCont,
+ SvxNumRuleType eType = SVX_RULETYPE_NUMBERING,
+ SvxNumberFormat::SvxNumPositionAndSpaceMode
+ eDefaultNumberFormatPositionAndSpaceMode
+ = SvxNumberFormat::LABEL_WIDTH_AND_POSITION );
+ // <--
+ SvxNumRule(const SvxNumRule& rCopy);
+ SvxNumRule(SvStream &rStream);
+ virtual ~SvxNumRule();
+
+ int operator==( const SvxNumRule& ) const;
+ int operator!=( const SvxNumRule& rRule ) const {return !(*this == rRule);}
+
+ SvxNumRule& operator=( const SvxNumRule& );
+
+ SvStream& Store(SvStream &rStream);
+
+ const SvxNumberFormat* Get(USHORT nLevel)const;
+ const SvxNumberFormat& GetLevel(USHORT nLevel)const;
+ void SetLevel(USHORT nLevel, const SvxNumberFormat& rFmt, BOOL bIsValid = TRUE);
+ void SetLevel(USHORT nLevel, const SvxNumberFormat* pFmt);
+
+ BOOL IsContinuousNumbering()const
+ {return bContinuousNumbering;}
+ void SetContinuousNumbering(BOOL bSet)
+ {bContinuousNumbering = bSet;}
+
+ USHORT GetLevelCount() const {return nLevelCount;}
+ BOOL IsFeatureSupported(ULONG nFeature) const
+ {return 0 != (nFeatureFlags & nFeature);}
+ ULONG GetFeatureFlags() const {return nFeatureFlags;}
+ void SetFeatureFlag( ULONG nFlag, BOOL bSet = TRUE ) { if(bSet) nFeatureFlags |= nFlag; else nFeatureFlags &= ~nFlag; }
+
+ String MakeNumString( const SvxNodeNum&, BOOL bInclStrings = TRUE ) const;
+
+ SvxNumRuleType GetNumRuleType() const { return eNumberingType; }
+ void SetNumRuleType( const SvxNumRuleType& rType ) { eNumberingType = rType; }
+
+ BOOL UnLinkGraphics();
+};
+/* -----------------27.10.98 13:04-------------------
+ *
+ * --------------------------------------------------*/
+class EDITENG_DLLPUBLIC SvxNumBulletItem : public SfxPoolItem
+{
+ SvxNumRule* pNumRule;
+public:
+ SvxNumBulletItem(SvxNumRule& rRule);
+ SvxNumBulletItem(SvxNumRule& rRule, USHORT nWhich );
+ SvxNumBulletItem(const SvxNumBulletItem& rCopy);
+ virtual ~SvxNumBulletItem();
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ USHORT GetVersion( USHORT nFileVersion ) const;
+ virtual SvStream& Store(SvStream &, USHORT nItemVersion ) const;
+ virtual int operator==( const SfxPoolItem& ) const;
+
+ SvxNumRule* GetNumRule() const {return pNumRule;}
+
+ virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
+ virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
+};
+/* -----------------28.10.98 15:21-------------------
+ *
+ * --------------------------------------------------*/
+class SvxNodeNum
+{
+ USHORT nLevelVal[ SVX_MAX_NUM ]; // Nummern aller Levels
+ USHORT nSetValue; // vorgegebene Nummer
+ BYTE nMyLevel; // akt. Level
+ BOOL bStartNum; // Numerierung neu starten
+
+public:
+ inline SvxNodeNum( BYTE nLevel = SVX_NO_NUM, USHORT nSetVal = USHRT_MAX );
+ inline SvxNodeNum& operator=( const SvxNodeNum& rCpy );
+
+ BYTE GetLevel() const { return nMyLevel; }
+ void SetLevel( BYTE nVal ) { nMyLevel = nVal; }
+
+ BOOL IsStart() const { return bStartNum; }
+ void SetStart( BOOL bFlag = TRUE ) { bStartNum = bFlag; }
+
+ USHORT GetSetValue() const { return nSetValue; }
+ void SetSetValue( USHORT nVal ) { nSetValue = nVal; }
+
+ const USHORT* GetLevelVal() const { return nLevelVal; }
+ USHORT* GetLevelVal() { return nLevelVal; }
+};
+
+SvxNodeNum::SvxNodeNum( BYTE nLevel, USHORT nSetVal )
+ : nSetValue( nSetVal ), nMyLevel( nLevel ), bStartNum( FALSE )
+{
+ memset( nLevelVal, 0, sizeof( nLevelVal ) );
+}
+
+inline SvxNodeNum& SvxNodeNum::operator=( const SvxNodeNum& rCpy )
+{
+ nSetValue = rCpy.nSetValue;
+ nMyLevel = rCpy.nMyLevel;
+ bStartNum = rCpy.bStartNum;
+
+ memcpy( nLevelVal, rCpy.nLevelVal, sizeof( nLevelVal ) );
+ return *this;
+}
+
+/* --------------------------------------------------
+ *
+ * --------------------------------------------------*/
+SvxNumRule* SvxConvertNumRule( const SvxNumRule* pRule, USHORT nLevel, SvxNumRuleType eType );
+
+#endif
+
diff --git a/editeng/inc/editeng/opaqitem.hxx b/editeng/inc/editeng/opaqitem.hxx
new file mode 100644
index 0000000000..980f07d8cb
--- /dev/null
+++ b/editeng/inc/editeng/opaqitem.hxx
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: opaqitem.hxx,v $
+ * $Revision: 1.9 $
+ *
+ * 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 _SVX_OPAQITEM_HXX
+#define _SVX_OPAQITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/eitem.hxx>
+#include "editeng/editengdllapi.h"
+
+class SvXMLUnitConverter;
+namespace rtl
+{
+ class OUString;
+}
+
+// class SvxOpaqueItem ---------------------------------------------------
+
+
+/*
+[Beschreibung]
+Dieses Item beschreibt eine logische Variable "Undurchsichtig ja oder nein".
+*/
+
+class EDITENG_DLLPUBLIC SvxOpaqueItem : public SfxBoolItem
+{
+public:
+ TYPEINFO();
+
+ SvxOpaqueItem( const USHORT nId , const BOOL bOpa = TRUE );
+ inline SvxOpaqueItem &operator=( const SvxOpaqueItem &rCpy );
+
+ // "pure virtual Methoden" vom SfxPoolItem
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual SvStream& Store(SvStream &, USHORT nItemVersion ) const;
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+};
+
+inline SvxOpaqueItem::SvxOpaqueItem( const USHORT nId, const BOOL bOpa )
+ : SfxBoolItem( nId, bOpa )
+{}
+
+inline SvxOpaqueItem &SvxOpaqueItem::operator=( const SvxOpaqueItem &rCpy )
+{
+ SetValue( rCpy.GetValue() );
+ return *this;
+}
+
+
+
+#endif
+
diff --git a/editeng/inc/editeng/orphitem.hxx b/editeng/inc/editeng/orphitem.hxx
new file mode 100644
index 0000000000..d3cf661972
--- /dev/null
+++ b/editeng/inc/editeng/orphitem.hxx
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: orphitem.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_ORPHITEM_HXX
+#define _SVX_ORPHITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/intitem.hxx>
+#include <editeng/editengdllapi.h>
+
+class SvXMLUnitConverter;
+namespace rtl
+{
+ class OUString;
+}
+
+// class SvxOrphansItem --------------------------------------------------
+
+/*
+[Beschreibung]
+Dieses Item beschreibt die Anzahl der Zeilen fuer die Schusterjungenregelung.
+*/
+
+class EDITENG_DLLPUBLIC SvxOrphansItem: public SfxByteItem
+{
+ friend SvStream & operator<<( SvStream & aS, SvxOrphansItem & );
+public:
+ TYPEINFO();
+
+ SvxOrphansItem( const BYTE nL /*= 0*/, const USHORT nId );
+
+ // "pure virtual Methoden" vom SfxPoolItem
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual SvStream& Store(SvStream &, USHORT nItemVersion ) const;
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ inline SvxOrphansItem& operator=( const SvxOrphansItem& rOrphans )
+ {
+ SetValue( rOrphans.GetValue() );
+ return *this;
+ }
+};
+
+#endif
+
diff --git a/editeng/inc/editeng/outliner.hxx b/editeng/inc/editeng/outliner.hxx
new file mode 100644
index 0000000000..0128bce090
--- /dev/null
+++ b/editeng/inc/editeng/outliner.hxx
@@ -0,0 +1,1050 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: outliner.hxx,v $
+ * $Revision: 1.6.16.2 $
+ *
+ * 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 _OUTLINER_HXX
+#define _OUTLINER_HXX
+
+#include <tools/gen.hxx>
+#include <tools/string.hxx>
+#include <tools/debug.hxx>
+
+#include <svl/brdcst.hxx>
+
+#include <editeng/editdata.hxx>
+#include <i18npool/lang.h>
+#include <tools/color.hxx>
+#include <vcl/graph.hxx>
+#include <tools/list.hxx>
+#include <tools/link.hxx>
+#include <rsc/rscsfx.hxx>
+#include "editeng/editengdllapi.h"
+
+#include <svtools/grfmgr.hxx>
+
+#include <tools/rtti.hxx> // wegen typedef TypeId
+#include <vector>
+
+class OutlinerEditEng;
+class Outliner;
+class EditView;
+class EditUndo;
+class ParagraphList;
+class OutlinerParaObject;
+class SvStream;
+class SvxBulletItem;
+class SvxFont;
+class SvxSearchItem;
+class SvxFieldItem;
+class OLUndoRemove;
+class Window;
+class KeyEvent;
+class MouseEvent;
+class Pointer;
+class CommandEvent;
+class MapMode;
+class OutputDevice;
+class PolyPolygon;
+class SfxStyleSheetPool;
+class SfxStyleSheet;
+class SfxItemPool;
+class SfxItemSet;
+class SvxNumBulletItem;
+class SvxNumberFormat;
+class SvxLRSpaceItem;
+class SfxUndoManager;
+class EditEngine;
+class SvKeyValueIterator;
+class SvxForbiddenCharactersTable;
+#include <com/sun/star/uno/Reference.h>
+
+#include <vos/ref.hxx>
+#include <editeng/svxfont.hxx>
+#include <editeng/eedata.hxx>
+#include <editeng/paragraphdata.hxx>
+
+class SvxFieldData;
+//////////////////////////////////////////////////////////////////////////////
+
+namespace com { namespace sun { namespace star { namespace linguistic2 {
+ class XSpellChecker1;
+ class XHyphenator;
+}}}}
+namespace svx{
+struct SpellPortion;
+typedef std::vector<SpellPortion> SpellPortions;
+}
+
+namespace basegfx { class B2DPolyPolygon; }
+
+// nur interner Gebrauch!
+#define PARAFLAG_DROPTARGET 0x1000
+#define PARAFLAG_DROPTARGET_EMPTY 0x2000
+#define PARAFLAG_HOLDDEPTH 0x4000
+#define PARAFLAG_SETBULLETTEXT 0x8000
+#define PARAFLAG_ISPAGE 0x0100
+
+// Undo-Action-Ids
+#define OLUNDO_DEPTH EDITUNDO_USER
+// #define OLUNDO_HEIGHT EDITUNDO_USER+1
+#define OLUNDO_EXPAND EDITUNDO_USER+2
+#define OLUNDO_COLLAPSE EDITUNDO_USER+3
+// #define OLUNDO_REMOVE EDITUNDO_USER+4
+#define OLUNDO_ATTR EDITUNDO_USER+5
+#define OLUNDO_INSERT EDITUNDO_USER+6
+// #define OLUNDO_MOVEPARAGRAPHS EDITUNDO_USER+7
+#define OLUNDO_CHECKPARA EDITUNDO_USER+8
+
+class Paragraph : protected ParagraphData
+{
+private:
+ friend class Outliner;
+ friend class ParagraphList;
+ friend class OutlinerView;
+ friend class OutlinerParaObject;
+ friend class OutlinerEditEng;
+ friend class OLUndoDepth;
+ friend class OutlinerUndoCheckPara;
+ friend class OutlinerUndoChangeParaFlags;
+
+ Paragraph& operator=(const Paragraph& rPara );
+
+ USHORT nFlags;
+ XubString aBulText;
+ Size aBulSize;
+ BOOL bVisible;
+
+ BOOL IsVisible() const { return bVisible; }
+ void SetText( const XubString& rText ) { aBulText = rText; aBulSize.Width() = -1; }
+ void Invalidate() { aBulSize.Width() = -1; }
+ void SetDepth( sal_Int16 nNewDepth ) { nDepth = nNewDepth; aBulSize.Width() = -1; }
+ const XubString& GetText() const { return aBulText; }
+
+ Paragraph( sal_Int16 nDepth );
+ Paragraph( const Paragraph& );
+ Paragraph( const ParagraphData& );
+ ~Paragraph();
+
+ sal_Int16 GetDepth() const { return nDepth; }
+
+ sal_Int16 GetNumberingStartValue() const { return mnNumberingStartValue; }
+ void SetNumberingStartValue( sal_Int16 nNumberingStartValue );
+
+ sal_Bool IsParaIsNumberingRestart() const { return mbParaIsNumberingRestart; }
+ void SetParaIsNumberingRestart( sal_Bool bParaIsNumberingRestart );
+
+ void SetFlag( USHORT nFlag ) { nFlags |= nFlag; }
+ void RemoveFlag( USHORT nFlag ) { nFlags &= ~nFlag; }
+ bool HasFlag( USHORT nFlag ) const { return (nFlags & nFlag) != 0; }
+};
+
+struct ParaRange
+{
+ USHORT nStartPara;
+ USHORT nEndPara;
+
+ ParaRange( USHORT nS, USHORT nE ) { nStartPara = nS, nEndPara = nE; }
+
+ void Adjust();
+ USHORT Len() const { return 1 + ( ( nEndPara > nStartPara ) ? (nEndPara-nStartPara) : (nStartPara-nEndPara) ); }
+};
+
+inline void ParaRange::Adjust()
+{
+ if ( nStartPara > nEndPara )
+ {
+ USHORT nTmp = nStartPara;
+ nStartPara = nEndPara;
+ nEndPara = nTmp;
+ }
+}
+
+#define OL_ROOTPARENT (Paragraph*)NULL
+
+class EDITENG_DLLPUBLIC OutlinerView
+{
+ friend class Outliner;
+
+private:
+
+ Outliner* pOwner;
+ EditView* pEditView;
+
+ // Drag & Drop
+ BOOL bBeginDragAtMove_OLDMEMBER;
+ BOOL bInDragMode;
+ Point aDDStartPosRef;
+ Point aDDStartPosPix;
+ ULONG nDDStartPara;
+ ULONG nDDStartParaVisChildCount;
+ ULONG nDDCurPara;
+ USHORT nDDStartDepth;
+ USHORT nDDCurDepth;
+ USHORT nDDMaxDepth;
+ BOOL bDDChangingDepth;
+ BOOL bDDCursorVisible;
+ long* pHorTabArrDoc;
+ long nDDScrollLRBorderWidthWin; // Left Right
+ long nDDScrollTBBorderWidthWin; // Top Bottom
+ long nDDScrollLROffs;
+ long nDDScrollTDOffs;
+
+ void* pDummy;
+ ULONG nDummy;
+
+ enum MouseTarget {
+ MouseText = 0,
+ MouseBullet = 1,
+ MouseHypertext = 2, // ausserhalb OutputArea
+ MouseOutside = 3, // ausserhalb OutputArea
+ MouseDontKnow = 4
+ };
+ MouseTarget OLD_ePrevMouseTarget;
+
+#ifdef _OUTLINER_CXX
+
+ EDITENG_DLLPRIVATE void ImplExpandOrCollaps( USHORT nStartPara, USHORT nEndPara, BOOL bExpand );
+
+ EDITENG_DLLPRIVATE ULONG ImpCheckMousePos( const Point& rPosPixel, MouseTarget& reTarget);
+ EDITENG_DLLPRIVATE void ImpToggleExpand( Paragraph* pParentPara );
+ EDITENG_DLLPRIVATE ParaRange ImpGetSelectedParagraphs( BOOL bIncludeHiddenChilds );
+ EDITENG_DLLPRIVATE void ImpHideDDCursor();
+ EDITENG_DLLPRIVATE void ImpShowDDCursor();
+ EDITENG_DLLPRIVATE void ImpPaintDDCursor();
+
+ EDITENG_DLLPRIVATE void ImpDragScroll( const Point& rPosPix );
+ EDITENG_DLLPRIVATE void ImpScrollLeft();
+ EDITENG_DLLPRIVATE void ImpScrollRight();
+ EDITENG_DLLPRIVATE void ImpScrollUp();
+ EDITENG_DLLPRIVATE void ImpScrollDown();
+
+ EDITENG_DLLPRIVATE ULONG ImpGetInsertionPara( const Point& rPosPixel );
+ EDITENG_DLLPRIVATE Point ImpGetDocPos( const Point& rPosPixel );
+ EDITENG_DLLPRIVATE Pointer ImpGetMousePointer( MouseTarget eTarget );
+ EDITENG_DLLPRIVATE USHORT ImpInitPaste( ULONG& rStart );
+ EDITENG_DLLPRIVATE void ImpPasted( ULONG nStart, ULONG nPrevParaCount, USHORT nSize);
+ EDITENG_DLLPRIVATE USHORT ImpCalcSelectedPages( BOOL bIncludeFirstSelected );
+ EDITENG_DLLPRIVATE BOOL ImpIsIndentingPages();
+
+#endif
+
+public:
+ OutlinerView( Outliner* pOut, Window* pWindow );
+ virtual ~OutlinerView();
+
+ EditView& GetEditView() const { return *pEditView; }
+
+ void Scroll( long nHorzScroll, long nVertScroll );
+
+ void Paint( const Rectangle& rRect );
+ BOOL PostKeyEvent( const KeyEvent& rKEvt );
+ BOOL MouseButtonDown( const MouseEvent& );
+ BOOL MouseButtonUp( const MouseEvent& );
+ BOOL MouseMove( const MouseEvent& );
+
+ void ShowCursor( BOOL bGotoCursor = TRUE );
+ void HideCursor();
+
+ void SetOutliner( Outliner* pOutliner );
+ Outliner* GetOutliner() const { return pOwner; }
+
+ void SetWindow( Window* pWindow );
+ Window* GetWindow() const;
+
+ void SetReadOnly( BOOL bReadOnly );
+ BOOL IsReadOnly() const;
+
+ void SetOutputArea( const Rectangle& rRect );
+ Rectangle GetOutputArea() const;
+
+ Rectangle GetVisArea() const;
+
+ List* CreateSelectionList();
+
+ // gibt Anzahl selektierter Absaetze zurueck
+ // MT 07/00: Who needs this?
+ ULONG Select( Paragraph* pParagraph,
+ BOOL bSelect=TRUE,
+ BOOL bWChilds=TRUE);
+
+ String GetSelected() const;
+ void SelectRange( ULONG nFirst, USHORT nCount );
+ void SetAttribs( const SfxItemSet& );
+ void Indent( short nDiff );
+ void AdjustDepth( short nDX ); // Spaeter gegeb Indent ersetzen!
+
+ BOOL AdjustHeight( long nDY );
+ void AdjustDepth( Paragraph* pPara, short nDX,
+ BOOL bWithChilds = FALSE );
+ void AdjustHeight( Paragraph* pPara, long nDY,
+ BOOL bWithChilds=FALSE );
+
+ ULONG Read( SvStream& rInput, const String& rBaseURL, EETextFormat eFormat, BOOL bSelect = FALSE, SvKeyValueIterator* pHTTPHeaderAttrs = NULL );
+ ULONG Write( SvStream& rOutput, EETextFormat eFormat );
+
+ void InsertText( const String& rNew, BOOL bSelect = FALSE );
+ void InsertText( const OutlinerParaObject& rParaObj );
+ void Expand();
+ void Collapse();
+ void Expand( Paragraph* );
+ void Collapse( Paragraph* );
+ void ExpandAll();
+ void CollapseAll();
+
+ void SetBackgroundColor( const Color& rColor );
+ Color GetBackgroundColor();
+
+ SfxItemSet GetAttribs();
+
+ void Cut();
+ void Copy();
+ void Paste();
+ void PasteSpecial();
+ void EnablePaste( BOOL bEnable );
+
+ void Undo();
+ void Redo();
+
+ void SetStyleSheet( SfxStyleSheet* );
+ SfxStyleSheet* GetStyleSheet() const;
+
+ void SetControlWord( ULONG nWord );
+ ULONG GetControlWord() const;
+
+ void SetAnchorMode( EVAnchorMode eMode );
+ EVAnchorMode GetAnchorMode() const;
+
+ Pointer GetPointer( const Point& rPosPixel );
+ void Command( const CommandEvent& rCEvt );
+ void RemoveCharAttribs( ULONG nPara, USHORT nWhich = 0 );
+
+ void CompleteAutoCorrect();
+
+ EESpellState StartSpeller( BOOL bMultipleDoc = FALSE );
+ EESpellState StartThesaurus();
+ USHORT StartSearchAndReplace( const SvxSearchItem& rSearchItem );
+
+ // for text conversion
+ void StartTextConversion( LanguageType nSrcLang, LanguageType nDestLang, const Font *pDestFont, INT32 nOptions, BOOL bIsInteractive, BOOL bMultipleDoc );
+
+ void TransliterateText( sal_Int32 nTransliterationMode );
+
+ ESelection GetSelection();
+
+ USHORT GetSelectedScriptType() const;
+
+ void SetVisArea( const Rectangle& rRec );
+ void SetSelection( const ESelection& );
+
+ void RemoveAttribs( BOOL bRemoveParaAttribs = FALSE, USHORT nWhich = 0, BOOL bKeepLanguages = FALSE );
+ void RemoveAttribsKeepLanguages( BOOL bRemoveParaAttribs );
+ BOOL HasSelection() const;
+
+ void InsertField( const SvxFieldItem& rFld );
+ const SvxFieldItem* GetFieldUnderMousePointer() const;
+ const SvxFieldItem* GetFieldUnderMousePointer( USHORT& nPara, xub_StrLen& nPos ) const;
+ const SvxFieldItem* GetFieldAtSelection() const;
+
+ /** enables numbering for the selected paragraphs if the numbering of the first paragraph is off
+ or disables numbering for the selected paragraphs if the numbering of the first paragraph is on
+ */
+ void ToggleBullets();
+
+ /** enables numbering for the selected paragraphs that are not enabled and ignore all selected
+ paragraphs that already have numbering enabled.
+ */
+ void EnableBullets();
+
+ BOOL IsCursorAtWrongSpelledWord( BOOL bMarkIfWrong = FALSE );
+ BOOL IsWrongSpelledWordAtPos( const Point& rPosPixel, BOOL bMarkIfWrong = FALSE );
+ void SpellIgnoreWord();
+ void ExecuteSpellPopup( const Point& rPosPixel, Link* pCallBack = 0 );
+
+ void SetInvalidateMore( USHORT nPixel );
+ USHORT GetInvalidateMore() const;
+
+ String GetSurroundingText() const;
+ Selection GetSurroundingTextSelection() const;
+};
+
+//#if 0 // _SOLAR__PRIVATE
+DECLARE_LIST(ViewList,OutlinerView*)
+//#else
+//typedef List ViewList;
+//#endif
+
+class EDITENG_DLLPUBLIC DrawPortionInfo
+{
+public:
+ const Point& mrStartPos;
+ const String& mrText;
+ sal_uInt16 mnTextStart;
+ sal_uInt16 mnTextLen;
+ sal_uInt16 mnPara;
+ xub_StrLen mnIndex;
+ const SvxFont& mrFont;
+ const sal_Int32* mpDXArray;
+
+ const EEngineData::WrongSpellVector* mpWrongSpellVector;
+ const SvxFieldData* mpFieldData;
+ const ::com::sun::star::lang::Locale* mpLocale;
+ const Color maOverlineColor;
+ const Color maTextLineColor;
+
+ // #101498# BiDi level needs to be transported, too.
+ BYTE mnBiDiLevel;
+
+ // bitfield
+ unsigned mbEndOfLine : 1;
+ unsigned mbEndOfParagraph : 1;
+ unsigned mbEndOfBullet : 1;
+
+ BYTE GetBiDiLevel() const { return mnBiDiLevel; }
+ sal_Bool IsRTL() const;
+
+ DrawPortionInfo(
+ const Point& rPos,
+ const String& rTxt,
+ sal_uInt16 nTxtStart,
+ sal_uInt16 nTxtLen,
+ const SvxFont& rFnt,
+ sal_uInt16 nPar,
+ xub_StrLen nIdx,
+ const sal_Int32* pDXArr,
+ const EEngineData::WrongSpellVector* pWrongSpellVector,
+ const SvxFieldData* pFieldData,
+ const ::com::sun::star::lang::Locale* pLocale,
+ const Color& rOverlineColor,
+ const Color& rTextLineColor,
+ BYTE nBiDiLevel,
+ bool bEndOfLine,
+ bool bEndOfParagraph,
+ bool bEndOfBullet)
+ : mrStartPos(rPos),
+ mrText(rTxt),
+ mnTextStart(nTxtStart),
+ mnTextLen(nTxtLen),
+ mnPara(nPar),
+ mnIndex(nIdx),
+ mrFont(rFnt),
+ mpDXArray(pDXArr),
+ mpWrongSpellVector(pWrongSpellVector),
+ mpFieldData(pFieldData),
+ mpLocale(pLocale),
+ maOverlineColor(rOverlineColor),
+ maTextLineColor(rTextLineColor),
+ mnBiDiLevel(nBiDiLevel),
+ mbEndOfLine(bEndOfLine),
+ mbEndOfParagraph(bEndOfParagraph),
+ mbEndOfBullet(bEndOfBullet)
+ {}
+};
+
+class EDITENG_DLLPUBLIC DrawBulletInfo
+{
+public:
+ const GraphicObject maBulletGraphicObject;
+ Point maBulletPosition;
+ Size maBulletSize;
+
+ DrawBulletInfo(
+ const GraphicObject& rBulletGraphicObject,
+ const Point& rBulletPosition,
+ const Size& rBulletSize)
+ : maBulletGraphicObject(rBulletGraphicObject),
+ maBulletPosition(rBulletPosition),
+ maBulletSize(rBulletSize)
+ {}
+};
+
+struct EDITENG_DLLPUBLIC PaintFirstLineInfo
+{
+ USHORT mnPara;
+ const Point& mrStartPos;
+ long mnBaseLineY;
+ const Point& mrOrigin;
+ short mnOrientation;
+ OutputDevice* mpOutDev;
+
+ PaintFirstLineInfo( USHORT nPara, const Point& rStartPos, long nBaseLineY, const Point& rOrigin, short nOrientation, OutputDevice* pOutDev )
+ : mnPara( nPara ), mrStartPos( rStartPos ), mnBaseLineY( nBaseLineY ), mrOrigin( rOrigin ), mnOrientation( nOrientation ), mpOutDev( pOutDev )
+ {}
+};
+
+class SdrPage;
+
+class EditFieldInfo
+{
+private:
+ Outliner* pOutliner;
+ const SvxFieldItem& rFldItem;
+
+ Color* pTxtColor;
+ Color* pFldColor;
+
+ String aRepresentation;
+
+ USHORT nPara;
+ xub_StrLen nPos;
+ BOOL bSimpleClick;
+
+ EditFieldInfo();
+ EditFieldInfo( const EditFieldInfo& );
+
+ SdrPage* mpSdrPage;
+
+public:
+ EditFieldInfo( Outliner* pOutl, const SvxFieldItem& rFItem, USHORT nPa, xub_StrLen nPo )
+ : rFldItem( rFItem )
+ {
+ pOutliner = pOutl;
+ nPara = nPa; nPos = nPo;
+ pTxtColor = 0; pFldColor = 0; bSimpleClick = FALSE;
+ mpSdrPage = 0;
+ }
+ ~EditFieldInfo()
+ {
+ delete pTxtColor;
+ delete pFldColor;
+ }
+
+ Outliner* GetOutliner() const { return pOutliner; }
+
+ const SvxFieldItem& GetField() const { return rFldItem; }
+
+ Color* GetTxtColor() const { return pTxtColor; }
+ void SetTxtColor( const Color& rColor )
+ { delete pTxtColor; pTxtColor = new Color( rColor ); }
+
+ Color* GetFldColor() const { return pFldColor; }
+ void SetFldColor( const Color& rColor )
+ { delete pFldColor; pFldColor = new Color( rColor ); }
+ void ClearFldColor()
+ { delete pFldColor; pFldColor = 0; }
+
+ USHORT GetPara() const { return nPara; }
+ xub_StrLen GetPos() const { return nPos; }
+
+ BOOL IsSimpleClick() const { return bSimpleClick; }
+ void SetSimpleClick( BOOL bSimple ) { bSimpleClick = bSimple; }
+
+ const String& GetRepresentation() const { return aRepresentation; }
+ String& GetRepresentation() { return aRepresentation; }
+ void SetRepresentation( const String& rStr ) { aRepresentation = rStr; }
+
+ void SetSdrPage( SdrPage* pPage ) { mpSdrPage = pPage; }
+ SdrPage* GetSdrPage() const { return mpSdrPage; }
+};
+
+struct EBulletInfo
+{
+ BOOL bVisible;
+ USHORT nType; // see SvxNumberType
+ String aText;
+ SvxFont aFont;
+ Graphic aGraphic;
+ USHORT nParagraph;
+ Rectangle aBounds;
+
+ EBulletInfo() : bVisible( FALSE ), nType( 0 ), nParagraph( EE_PARA_NOT_FOUND ) {}
+};
+
+#define OUTLINERMODE_DONTKNOW 0x0000
+#define OUTLINERMODE_TEXTOBJECT 0x0001
+#define OUTLINERMODE_TITLEOBJECT 0x0002
+#define OUTLINERMODE_OUTLINEOBJECT 0x0003
+#define OUTLINERMODE_OUTLINEVIEW 0x0004
+
+#define OUTLINERMODE_USERMASK 0x00FF
+
+#define OUTLINERMODE_SUBTITLE (0x0100|OUTLINERMODE_TEXTOBJECT)
+#define OUTLINERMODE_NOTE (0x0200|OUTLINERMODE_TEXTOBJECT)
+
+class EDITENG_DLLPUBLIC Outliner : public SfxBroadcaster
+{
+ friend class OutlinerView;
+ friend class OutlinerEditEng;
+ friend class OutlinerParaObject;
+ friend class OLUndoExpand;
+ friend class OutlinerUndoChangeDepth;
+ friend class OutlinerUndoCheckPara;
+ friend class OutlinerUndoChangeParaFlags;
+
+ OutlinerEditEng* pEditEngine;
+
+ ParagraphList* pParaList;
+ ViewList aViewList;
+
+ Paragraph* pHdlParagraph;
+ ULONG mnFirstSelPage;
+ Link aDrawPortionHdl;
+ Link aDrawBulletHdl;
+ Link aExpandHdl;
+ Link aParaInsertedHdl;
+ Link aParaRemovingHdl;
+ Link aDepthChangedHdl;
+ Link aWidthArrReqHdl;
+ Link aBeginMovingHdl;
+ Link aEndMovingHdl;
+ Link aIndentingPagesHdl;
+ Link aRemovingPagesHdl;
+ Link aFieldClickedHdl;
+ Link aCalcFieldValueHdl;
+ Link maPaintFirstLineHdl;
+ Link maBeginPasteOrDropHdl;
+ Link maEndPasteOrDropHdl;
+
+ sal_Int16 nDepthChangedHdlPrevDepth;
+ USHORT mnDepthChangeHdlPrevFlags;
+ sal_Int16 nMaxDepth;
+ const sal_Int16 nMinDepth;
+ USHORT nFirstPage;
+
+ USHORT nOutlinerMode;
+
+ BOOL bIsExpanding; // Nur in Expand/Collaps-Hdl gueltig, mal umstellen
+ BOOL bFirstParaIsEmpty;
+ BOOL bBlockInsCallback;
+ BOOL bStrippingPortions;
+ BOOL bPasting;
+
+ ULONG nDummy;
+
+#ifdef _OUTLINER_CXX
+
+ DECL_LINK( ParaVisibleStateChangedHdl, Paragraph* );
+ DECL_LINK( BeginMovingParagraphsHdl, MoveParagraphsInfo* );
+ DECL_LINK( EndMovingParagraphsHdl, MoveParagraphsInfo* );
+ DECL_LINK( BeginPasteOrDropHdl, PasteOrDropInfos* );
+ DECL_LINK( EndPasteOrDropHdl, PasteOrDropInfos* );
+ DECL_LINK( EditEngineNotifyHdl, EENotify* );
+ void ImplCheckParagraphs( USHORT nStart, USHORT nEnd );
+ BOOL ImplHasBullet( USHORT nPara ) const;
+ Size ImplGetBulletSize( USHORT nPara );
+ sal_uInt16 ImplGetNumbering( USHORT nPara, const SvxNumberFormat* pParaFmt );
+ void ImplCalcBulletText( USHORT nPara, BOOL bRecalcLevel, BOOL bRecalcChilds );
+ String ImplGetBulletText( USHORT nPara );
+ void ImplCheckNumBulletItem( USHORT nPara );
+ void ImplInitDepth( USHORT nPara, sal_Int16 nDepth, BOOL bCreateUndo, BOOL bUndoAction = FALSE );
+ void ImplSetLevelDependendStyleSheet( USHORT nPara, SfxStyleSheet* pLevelStyle = NULL );
+
+ void ImplBlockInsertionCallbacks( BOOL b );
+
+ void ImplCheckStyleSheet( USHORT nPara, BOOL bReplaceExistingStyle );
+ void ImpRecalcBulletIndent( ULONG nPara );
+
+ const SvxBulletItem& ImpGetBullet( ULONG nPara, USHORT& );
+ void ImpFilterIndents( ULONG nFirstPara, ULONG nLastPara );
+ bool ImpConvertEdtToOut( sal_uInt32 nPara, EditView* pView = 0 );
+
+ void ImpTextPasted( ULONG nStartPara, USHORT nCount );
+ long ImpCalcMaxBulletWidth( USHORT nPara, const SvxBulletItem& rBullet );
+ Font ImpCalcBulletFont( USHORT nPara ) const;
+ Rectangle ImpCalcBulletArea( USHORT nPara, BOOL bAdjust, BOOL bReturnPaperPos );
+ long ImpGetTextIndent( ULONG nPara );
+ BOOL ImpCanIndentSelectedPages( OutlinerView* pCurView );
+ BOOL ImpCanDeleteSelectedPages( OutlinerView* pCurView );
+ BOOL ImpCanDeleteSelectedPages( OutlinerView* pCurView, USHORT nFirstPage, USHORT nPages );
+
+ USHORT ImplGetOutlinerMode() const { return nOutlinerMode & OUTLINERMODE_USERMASK; }
+ void ImplCheckDepth( sal_Int16& rnDepth ) const;
+#endif
+
+protected:
+ void ParagraphInserted( USHORT nParagraph );
+ void ParagraphDeleted( USHORT nParagraph );
+ void ParaAttribsChanged( USHORT nParagraph );
+
+ virtual void StyleSheetChanged( SfxStyleSheet* pStyle );
+
+ void InvalidateBullet( Paragraph* pPara, ULONG nPara );
+ void PaintBullet( USHORT nPara, const Point& rStartPos,
+ const Point& rOrigin, short nOrientation,
+ OutputDevice* pOutDev );
+
+ // used by OutlinerEditEng. Allows Outliner objects to provide
+ // bullet access to the EditEngine.
+ virtual const SvxNumberFormat* GetNumberFormat( USHORT nPara ) const;
+
+public:
+
+ Outliner( SfxItemPool* pPool, USHORT nOutlinerMode );
+ virtual ~Outliner();
+
+ void Init( USHORT nOutlinerMode );
+ USHORT GetMode() const { return nOutlinerMode; }
+
+ void SetVertical( BOOL bVertical );
+ BOOL IsVertical() const;
+
+ void SetFixedCellHeight( BOOL bUseFixedCellHeight );
+ BOOL IsFixedCellHeight() const;
+
+ void SetDefaultHorizontalTextDirection( EEHorizontalTextDirection eHTextDir );
+ EEHorizontalTextDirection GetDefaultHorizontalTextDirection() const;
+
+ USHORT GetScriptType( const ESelection& rSelection ) const;
+ LanguageType GetLanguage( USHORT nPara, USHORT nPos ) const;
+
+ void SetAsianCompressionMode( USHORT nCompressionMode );
+ USHORT GetAsianCompressionMode() const;
+
+ void SetKernAsianPunctuation( BOOL bEnabled );
+ BOOL IsKernAsianPunctuation() const;
+
+ void SetAddExtLeading( BOOL b );
+ BOOL IsAddExtLeading() const;
+
+ ULONG InsertView( OutlinerView* pView, ULONG nIndex=LIST_APPEND);
+ OutlinerView* RemoveView( OutlinerView* pView );
+ OutlinerView* RemoveView( ULONG nIndex );
+ OutlinerView* GetView( ULONG nIndex ) const;
+ ULONG GetViewCount() const;
+
+ Paragraph* Insert( const String& rText, ULONG nAbsPos = LIST_APPEND, sal_Int16 nDepth = 0 );
+ void SetText( const OutlinerParaObject& );
+ void AddText( const OutlinerParaObject& );
+ void SetText( const String& rText, Paragraph* pParagraph );
+ String GetText( Paragraph* pPara, ULONG nParaCount=1 ) const;
+
+ OutlinerParaObject* CreateParaObject( USHORT nStartPara = 0, USHORT nParaCount = 0xFFFF ) const;
+
+ const SfxItemSet& GetEmptyItemSet() const;
+
+ void SetRefMapMode( const MapMode& );
+ MapMode GetRefMapMode() const;
+
+ void SetBackgroundColor( const Color& rColor );
+ Color GetBackgroundColor() const;
+
+ sal_Int16 GetMinDepth() const { return -1; }
+
+ void SetMaxDepth( sal_Int16 nDepth, BOOL bCheckParas = FALSE );
+ sal_Int16 GetMaxDepth() const { return nMaxDepth; }
+
+ void SetUpdateMode( BOOL bUpdate );
+ BOOL GetUpdateMode() const;
+
+ void Clear();
+
+ void RemoveAttribs( const ESelection& rSelection, sal_Bool bRemoveParaAttribs, sal_uInt16 nWhich );
+
+ ULONG GetParagraphCount() const;
+ Paragraph* GetParagraph( ULONG nAbsPos ) const;
+
+ BOOL HasParent( Paragraph* pParagraph ) const;
+ BOOL HasChilds( Paragraph* pParagraph ) const;
+ ULONG GetChildCount( Paragraph* pParent ) const;
+ BOOL IsExpanded( Paragraph* pPara ) const;
+// Paragraph* GetParagraph( Paragraph* pParent, ULONG nRelPos ) const;
+ Paragraph* GetParent( Paragraph* pParagraph ) const;
+// ULONG GetRelPos( Paragraph* pParent, Paragraph* pPara ) const;
+ ULONG GetAbsPos( Paragraph* pPara );
+
+ sal_Int16 GetDepth( ULONG nPara ) const;
+ void SetDepth( Paragraph* pParagraph, sal_Int16 nNewDepth );
+
+ void SetVisible( Paragraph* pPara, BOOL bVisible );
+ BOOL IsVisible( Paragraph* pPara ) const { return pPara->IsVisible(); }
+
+ void EnableUndo( BOOL bEnable );
+ BOOL IsUndoEnabled() const;
+ void UndoActionStart( USHORT nId );
+ void UndoActionEnd( USHORT nId );
+ void InsertUndo( EditUndo* pUndo );
+ BOOL IsInUndo();
+
+ void ClearModifyFlag();
+ BOOL IsModified() const;
+
+ Paragraph* GetHdlParagraph() const { return pHdlParagraph; }
+ BOOL IsExpanding() const { return bIsExpanding; }
+
+ virtual void ExpandHdl();
+ void SetExpandHdl( const Link& rLink ) { aExpandHdl = rLink; }
+ Link GetExpandHdl() const { return aExpandHdl; }
+
+ virtual void ParagraphInsertedHdl();
+ void SetParaInsertedHdl(const Link& rLink){aParaInsertedHdl=rLink;}
+ Link GetParaInsertedHdl() const { return aParaInsertedHdl; }
+
+ virtual void ParagraphRemovingHdl();
+ void SetParaRemovingHdl(const Link& rLink){aParaRemovingHdl=rLink;}
+ Link GetParaRemovingHdl() const { return aParaRemovingHdl; }
+
+ virtual void DepthChangedHdl();
+ void SetDepthChangedHdl(const Link& rLink){aDepthChangedHdl=rLink;}
+ Link GetDepthChangedHdl() const { return aDepthChangedHdl; }
+ sal_Int16 GetPrevDepth() const { return nDepthChangedHdlPrevDepth; }
+ USHORT GetPrevFlags() const { return mnDepthChangeHdlPrevFlags; }
+
+ virtual long RemovingPagesHdl( OutlinerView* );
+ void SetRemovingPagesHdl(const Link& rLink){aRemovingPagesHdl=rLink;}
+ Link GetRemovingPagesHdl() const { return aRemovingPagesHdl; }
+ virtual long IndentingPagesHdl( OutlinerView* );
+ void SetIndentingPagesHdl(const Link& rLink){aIndentingPagesHdl=rLink;}
+ Link GetIndentingPagesHdl() const { return aIndentingPagesHdl; }
+ // nur gueltig in den beiden oberen Handlern
+ USHORT GetSelPageCount() const { return nDepthChangedHdlPrevDepth; }
+ // nur gueltig in den beiden oberen Handlern
+ ULONG GetFirstSelPage() const { return mnFirstSelPage; }
+
+ void SetCalcFieldValueHdl(const Link& rLink ) { aCalcFieldValueHdl= rLink; }
+ Link GetCalcFieldValueHdl() const { return aCalcFieldValueHdl; }
+
+ void SetFieldClickedHdl(const Link& rLink ) { aFieldClickedHdl= rLink; }
+ Link GetFieldClickedHdl() const { return aFieldClickedHdl; }
+
+ void SetDrawPortionHdl(const Link& rLink){aDrawPortionHdl=rLink;}
+ Link GetDrawPortionHdl() const { return aDrawPortionHdl; }
+
+ void SetDrawBulletHdl(const Link& rLink){aDrawBulletHdl=rLink;}
+ Link GetDrawBulletHdl() const { return aDrawBulletHdl; }
+
+ void SetPaintFirstLineHdl(const Link& rLink) { maPaintFirstLineHdl = rLink; }
+ Link GetPaintFirstLineHdl() const { return maPaintFirstLineHdl; }
+
+ void SetModifyHdl( const Link& rLink );
+ Link GetModifyHdl() const;
+
+ void SetNotifyHdl( const Link& rLink );
+ Link GetNotifyHdl() const;
+
+ void SetStatusEventHdl( const Link& rLink );
+ Link GetStatusEventHdl() const;
+
+ void Draw( OutputDevice* pOutDev, const Rectangle& rOutRect );
+ void Draw( OutputDevice* pOutDev, const Rectangle& rOutRect, const Point& rStartDocPos );
+ void Draw( OutputDevice* pOutDev, const Point& rStartPos, short nOrientation = 0 );
+
+ const Size& GetPaperSize() const;
+ void SetPaperSize( const Size& rSize );
+
+ void SetFirstPageNumber( USHORT n ) { nFirstPage = n; }
+ USHORT GetFirstPageNumber() const { return nFirstPage; }
+
+ void SetPolygon( const basegfx::B2DPolyPolygon& rPolyPolygon );
+ void SetPolygon( const basegfx::B2DPolyPolygon& rPolyPolygon, const basegfx::B2DPolyPolygon* pLinePolyPolygon);
+ void ClearPolygon();
+ const PolyPolygon* GetPolygon();
+
+ const Size& GetMinAutoPaperSize() const;
+ void SetMinAutoPaperSize( const Size& rSz );
+
+ const Size& GetMaxAutoPaperSize() const;
+ void SetMaxAutoPaperSize( const Size& rSz );
+
+ void SetDefTab( USHORT nTab );
+ USHORT GetDefTab() const;
+
+ BOOL IsFlatMode() const;
+ void SetFlatMode( BOOL bFlat );
+
+ void EnableAutoColor( BOOL b );
+ BOOL IsAutoColorEnabled() const;
+
+ void ForceAutoColor( BOOL b );
+ BOOL IsForceAutoColor() const;
+
+ EBulletInfo GetBulletInfo( USHORT nPara );
+
+ void SetWordDelimiters( const String& rDelimiters );
+ String GetWordDelimiters() const;
+ String GetWord( USHORT nPara, xub_StrLen nIndex );
+
+ void StripPortions();
+
+ // #101498#
+ virtual void DrawingText(
+ const Point& rStartPos, const String& rText, USHORT nTextStart, USHORT nTextLen,
+ const sal_Int32* pDXArray, const SvxFont& rFont, USHORT nPara, xub_StrLen nIndex, BYTE nRightToLeft,
+ const EEngineData::WrongSpellVector* pWrongSpellVector,
+ const SvxFieldData* pFieldData,
+ bool bEndOfLine,
+ bool bEndOfParagraph,
+ bool bEndOfBullet,
+ const ::com::sun::star::lang::Locale* pLocale,
+ const Color& rOverlineColor,
+ const Color& rTextLineColor);
+
+ Size CalcTextSize();
+
+ Point GetDocPos( Paragraph* pPara );
+
+ void SetStyleSheetPool( SfxStyleSheetPool* pSPool );
+ SfxStyleSheetPool* GetStyleSheetPool();
+
+ BOOL IsInSelectionMode() const;
+
+ void SetStyleSheet( ULONG nPara, SfxStyleSheet* pStyle );
+ SfxStyleSheet* GetStyleSheet( ULONG nPara );
+
+ void SetParaAttribs( USHORT nPara, const SfxItemSet& );
+ SfxItemSet GetParaAttribs( USHORT nPara );
+
+ void Remove( Paragraph* pPara, ULONG nParaCount );
+ BOOL Expand( Paragraph* );
+ BOOL Collapse( Paragraph* );
+
+ void SetParaFlag( Paragraph* pPara, sal_uInt16 nFlag );
+ void RemoveParaFlag( Paragraph* pPara, sal_uInt16 nFlag );
+ bool HasParaFlag( const Paragraph* pPara, sal_uInt16 nFlag ) const;
+
+ // gibt ein Array mit den Bulletbreiten der n Einrueckebenen
+ // zurueck. Letzter Wert muss -1 sein. Wird vom Outliner geloescht.
+ Link GetWidthArrReqHdl() const{ return aWidthArrReqHdl; }
+ void SetWidthArrReqHdl(const Link& rLink){aWidthArrReqHdl=rLink; }
+
+ void SetControlWord( ULONG nWord );
+ ULONG GetControlWord() const;
+
+ Link GetBeginMovingHdl() const { return aBeginMovingHdl; }
+ void SetBeginMovingHdl(const Link& rLink) {aBeginMovingHdl=rLink;}
+ Link GetEndMovingHdl() const {return aEndMovingHdl;}
+ void SetEndMovingHdl( const Link& rLink){aEndMovingHdl=rLink;}
+
+ ULONG GetLineCount( ULONG nParagraph ) const;
+ USHORT GetLineLen( ULONG nParagraph, USHORT nLine ) const;
+ ULONG GetLineHeight( ULONG nParagraph, ULONG nLine = 0 );
+
+ // nFormat muss ein Wert aus dem enum EETextFormat sein (wg.CLOOKS)
+ ULONG Read( SvStream& rInput, const String& rBaseURL, USHORT, SvKeyValueIterator* pHTTPHeaderAttrs = NULL );
+
+ SfxUndoManager& GetUndoManager();
+
+ void QuickSetAttribs( const SfxItemSet& rSet, const ESelection& rSel );
+ void QuickInsertField( const SvxFieldItem& rFld, const ESelection& rSel );
+ void QuickInsertLineBreak( const ESelection& rSel );
+
+ // nur fuer EditEngine-Modus
+ void QuickInsertText( const String& rText, const ESelection& rSel );
+ void QuickDelete( const ESelection& rSel );
+ void QuickRemoveCharAttribs( USHORT nPara, USHORT nWhich = 0 );
+ void QuickFormatDoc( BOOL bFull = FALSE );
+
+ BOOL UpdateFields();
+ void RemoveFields( BOOL bKeepFieldText, TypeId aType = NULL );
+
+ virtual void FieldClicked( const SvxFieldItem& rField, USHORT nPara, xub_StrLen nPos );
+ virtual void FieldSelected( const SvxFieldItem& rField, USHORT nPara, xub_StrLen nPos );
+ virtual String CalcFieldValue( const SvxFieldItem& rField, USHORT nPara, xub_StrLen nPos, Color*& rTxtColor, Color*& rFldColor );
+
+ void SetSpeller( ::com::sun::star::uno::Reference<
+ ::com::sun::star::linguistic2::XSpellChecker1 > &xSpeller );
+ ::com::sun::star::uno::Reference<
+ ::com::sun::star::linguistic2::XSpellChecker1 >
+ GetSpeller();
+ ::com::sun::star::uno::Reference<
+ ::com::sun::star::linguistic2::XHyphenator >
+ GetHyphenator() const;
+ void SetHyphenator( ::com::sun::star::uno::Reference<
+ ::com::sun::star::linguistic2::XHyphenator >& xHyph );
+
+ void SetForbiddenCharsTable( vos::ORef<SvxForbiddenCharactersTable> xForbiddenChars );
+ vos::ORef<SvxForbiddenCharactersTable> GetForbiddenCharsTable() const;
+
+ // Depricated
+ void SetDefaultLanguage( LanguageType eLang );
+ LanguageType GetDefaultLanguage() const;
+
+ BOOL HasOnlineSpellErrors() const;
+ void CompleteOnlineSpelling();
+
+ EESpellState HasSpellErrors();
+ BOOL HasText( const SvxSearchItem& rSearchItem );
+ virtual BOOL SpellNextDocument();
+
+ // for text conversion
+ sal_Bool HasConvertibleTextPortion( LanguageType nLang );
+ virtual BOOL ConvertNextDocument();
+
+ void SetEditTextObjectPool( SfxItemPool* pPool );
+ SfxItemPool* GetEditTextObjectPool() const;
+
+ void SetRefDevice( OutputDevice* pRefDev );
+ OutputDevice* GetRefDevice() const;
+
+ USHORT GetFirstLineOffset( ULONG nParagraph );
+
+ ULONG GetTextHeight() const;
+ ULONG GetTextHeight( ULONG nParagraph ) const;
+ Point GetDocPosTopLeft( ULONG nParagraph );
+ Point GetDocPos( const Point& rPaperPos ) const;
+ BOOL IsTextPos( const Point& rPaperPos, USHORT nBorder = 0 );
+ BOOL IsTextPos( const Point& rPaperPos, USHORT nBorder, BOOL* pbBuuletPos );
+
+ void SetGlobalCharStretching( USHORT nX = 100, USHORT nY = 100 );
+ void GetGlobalCharStretching( USHORT& rX, USHORT& rY );
+ void DoStretchChars( USHORT nX, USHORT nY );
+ void EraseVirtualDevice();
+
+ void SetBigTextObjectStart( USHORT nStartAtPortionCount );
+ USHORT GetBigTextObjectStart() const;
+ BOOL ShouldCreateBigTextObject() const;
+
+ const EditEngine& GetEditEngine() const { return *((EditEngine*)pEditEngine); }
+
+ // this is needed for StarOffice Api
+ void SetLevelDependendStyleSheet( USHORT nPara );
+
+ USHORT GetOutlinerMode() const { return nOutlinerMode & OUTLINERMODE_USERMASK; }
+
+ void StartSpelling(EditView& rEditView, sal_Bool bMultipleDoc);
+ //spell and return a sentence
+ bool SpellSentence(EditView& rEditView, ::svx::SpellPortions& rToFill, bool bIsGrammarChecking );
+ // put spell position to start of current sentence
+ void PutSpellingToSentenceStart( EditView& rEditView );
+ //applies a changed sentence
+ void ApplyChangedSentence(EditView& rEditView, const ::svx::SpellPortions& rNewPortions, bool bIsGrammarChecking );
+ void EndSpelling();
+
+ /** sets a link that is called at the beginning of a drag operation at an edit view */
+ void SetBeginDropHdl( const Link& rLink );
+ Link GetBeginDropHdl() const;
+
+ /** sets a link that is called at the end of a drag operation at an edit view */
+ void SetEndDropHdl( const Link& rLink );
+ Link GetEndDropHdl() const;
+
+ /** sets a link that is called before a drop or paste operation. */
+ void SetBeginPasteOrDropHdl( const Link& rLink );
+ Link GetBeginPasteOrDropHdl() const { return maBeginPasteOrDropHdl; }
+
+ /** sets a link that is called after a drop or paste operation. */
+ void SetEndPasteOrDropHdl( const Link& rLink );
+ Link GetEndPasteOrDropHdl() const { return maEndPasteOrDropHdl; }
+
+ virtual sal_Int16 GetNumberingStartValue( sal_uInt16 nPara );
+ virtual void SetNumberingStartValue( sal_uInt16 nPara, sal_Int16 nNumberingStartValue );
+
+ virtual sal_Bool IsParaIsNumberingRestart( sal_uInt16 nPara );
+ virtual void SetParaIsNumberingRestart( sal_uInt16 nPara, sal_Bool bParaIsNumberingRestart );
+};
+
+#endif
+
diff --git a/editeng/inc/editeng/outlobj.hxx b/editeng/inc/editeng/outlobj.hxx
new file mode 100644
index 0000000000..3c3d2e212a
--- /dev/null
+++ b/editeng/inc/editeng/outlobj.hxx
@@ -0,0 +1,99 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: outlobj.hxx,v $
+ * $Revision: 1.5.78.1 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _OUTLOBJ_HXX
+#define _OUTLOBJ_HXX
+
+//////////////////////////////////////////////////////////////////////////////
+
+#include <tools/solar.h>
+#include <tools/string.hxx>
+#include <rsc/rscsfx.hxx>
+#include <editeng/paragraphdata.hxx>
+#include "editeng/editengdllapi.h"
+
+class EditTextObject;
+class ImplOutlinerParaObject;
+
+//////////////////////////////////////////////////////////////////////////////
+
+class EDITENG_DLLPUBLIC OutlinerParaObject
+{
+private:
+ ImplOutlinerParaObject* mpImplOutlinerParaObject;
+
+ void ImplMakeUnique();
+
+public:
+ // constructors/destructor
+ OutlinerParaObject(
+ const EditTextObject& rEditTextObject,
+ const ParagraphDataVector& rParagraphDataVector = ParagraphDataVector(),
+ bool bIsEditDoc = true);
+ OutlinerParaObject(const OutlinerParaObject& rCandidate);
+ ~OutlinerParaObject();
+
+ // assignment operator
+ OutlinerParaObject& operator=(const OutlinerParaObject& rCandidate);
+
+ // compare operator
+ bool operator==(const OutlinerParaObject& rCandidate) const;
+ bool operator!=(const OutlinerParaObject& rCandidate) const { return !operator==(rCandidate); }
+
+ // #i102062#
+ bool isWrongListEqual(const OutlinerParaObject& rCompare) const;
+
+ // outliner mode access
+ sal_uInt16 GetOutlinerMode() const;
+ void SetOutlinerMode(sal_uInt16 nNew);
+
+ // vertical access
+ bool IsVertical() const;
+ void SetVertical(bool bNew);
+
+ // data read access
+ sal_uInt32 Count() const;
+ sal_Int16 GetDepth(sal_uInt16 nPara) const;
+ const EditTextObject& GetTextObject() const;
+ bool IsEditDoc() const;
+ const ParagraphData& GetParagraphData(sal_uInt32 nIndex) const;
+
+ // portion info support
+ void ClearPortionInfo();
+
+ // StyleSheet support
+ bool ChangeStyleSheets(const XubString& rOldName, SfxStyleFamily eOldFamily, const XubString& rNewName, SfxStyleFamily eNewFamily);
+ void ChangeStyleSheetName(SfxStyleFamily eFamily, const XubString& rOldName, const XubString& rNewName);
+ void SetStyleSheets(sal_uInt16 nLevel, const XubString rNewName, const SfxStyleFamily& rNewFamily);
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+#endif
diff --git a/editeng/inc/editeng/paperinf.hxx b/editeng/inc/editeng/paperinf.hxx
new file mode 100644
index 0000000000..552cfe66ac
--- /dev/null
+++ b/editeng/inc/editeng/paperinf.hxx
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: paperinf.hxx,v $
+ * $Revision: 1.3 $
+ *
+ * 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 _SVX_PAPERINF_HXX
+#define _SVX_PAPERINF_HXX
+
+// INCLUDE ---------------------------------------------------------------
+
+#include <vcl/print.hxx>
+#include <vcl/mapmod.hxx>
+#include <editeng/svxenum.hxx>
+#include "editeng/editengdllapi.h"
+
+// forward ---------------------------------------------------------------
+
+class Printer;
+class Size;
+class String;
+
+// class SvxPaperInfo -----------------------------------------------------
+
+class EDITENG_DLLPUBLIC SvxPaperInfo
+{
+public:
+ static Size GetDefaultPaperSize( MapUnit eUnit = MAP_TWIP );
+ static Size GetPaperSize( Paper ePaper, MapUnit eUnit = MAP_TWIP );
+ static Size GetPaperSize( const Printer* pPrinter );
+ static Paper GetSvxPaper( const Size &rSize, MapUnit eUnit = MAP_TWIP, bool bSloppy = FALSE );
+ static long GetSloppyPaperDimension( long nSize, MapUnit eUnit = MAP_TWIP );
+ static String GetName( Paper ePaper );
+};
+
+// INLINE -----------------------------------------------------------------
+
+inline Size &Swap(Size &rSize)
+{
+ const long lVal = rSize.Width();
+ rSize.Width() = rSize.Height();
+ rSize.Height() = lVal;
+ return rSize;
+}
+
+inline Size &LandscapeSwap(Size &rSize)
+{
+ if ( rSize.Height() > rSize.Width() )
+ Swap( rSize );
+ return rSize;
+}
+
+#endif
diff --git a/editeng/inc/editeng/paragraphdata.hxx b/editeng/inc/editeng/paragraphdata.hxx
new file mode 100644
index 0000000000..c998cc6291
--- /dev/null
+++ b/editeng/inc/editeng/paragraphdata.hxx
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: outlobj.hxx,v $
+ * $Revision: 1.5.78.1 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _PARAGRAPH_DATA_HXX
+#define _PARAGRAPH_DATA_HXX
+
+#include <tools/solar.h>
+#include <vector>
+
+//////////////////////////////////////////////////////////////////////////////
+// MT 07/00: Only for internal use, oder some kind like hPara for the few
+// functions where you need it outside ( eg. moving paragraphs... )
+//
+// AW: Unfortunately NOT only local (formally in outliner.hxx), but also
+// used in outlobj.hxx. Moved to own header
+
+class ParagraphData
+{
+ friend class Paragraph;
+ friend class OutlinerParaObject;
+
+protected:
+ sal_Int16 nDepth;
+ sal_Int16 mnNumberingStartValue;
+ sal_Bool mbParaIsNumberingRestart;
+
+public:
+ ParagraphData( const ParagraphData& );
+ ParagraphData();
+
+ ParagraphData& operator=( const ParagraphData& );
+
+ // compare operator
+ bool operator==(const ParagraphData& rCandidate) const;
+
+ // data read access
+ sal_Int16 getDepth() const { return nDepth; }
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+typedef ::std::vector< ParagraphData > ParagraphDataVector;
+
+//////////////////////////////////////////////////////////////////////////////
+
+#endif // _PARAGRAPH_DATA_HXX
+
+// eof
diff --git a/editeng/inc/editeng/paravertalignitem.hxx b/editeng/inc/editeng/paravertalignitem.hxx
new file mode 100644
index 0000000000..cbcf20d0ff
--- /dev/null
+++ b/editeng/inc/editeng/paravertalignitem.hxx
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: paravertalignitem.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_PARAVERTALIGNITEM_HXX
+#define _SVX_PARAVERTALIGNITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/intitem.hxx>
+#include <editeng/editengdllapi.h>
+
+// class SvxParaVertAlignItem ----------------------------------------------
+
+/* [Description]
+
+ This item defines the character alignment in the lines of a paragraph.
+ Currently the alignment can be none (i.e. baseline), top, center or bottom.
+
+*/
+
+class EDITENG_DLLPUBLIC SvxParaVertAlignItem : public SfxUInt16Item
+{
+public:
+ enum { AUTOMATIC, BASELINE, TOP, CENTER, BOTTOM };
+ TYPEINFO();
+
+ SvxParaVertAlignItem( sal_uInt16 nValue /*= 0*/,
+ const sal_uInt16 nId );
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual SvStream& Store(SvStream & rStrm, USHORT nIVer) const;
+ virtual USHORT GetVersion( USHORT nFileVersion ) const;
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText,
+ const IntlWrapper * = 0 ) const;
+
+ virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal,
+ BYTE nMemberId );
+ virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal,
+ BYTE nMemberId ) const;
+
+ inline SvxParaVertAlignItem& operator=( const SvxParaVertAlignItem& rItem )
+ {
+ SetValue( rItem.GetValue() );
+ return *this;
+ }
+
+ virtual int operator==( const SfxPoolItem& ) const;
+
+};
+
+#endif
+
diff --git a/editeng/inc/editeng/pbinitem.hxx b/editeng/inc/editeng/pbinitem.hxx
new file mode 100644
index 0000000000..8cdf10599c
--- /dev/null
+++ b/editeng/inc/editeng/pbinitem.hxx
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: pbinitem.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_PBINITEM_HXX
+#define _SVX_PBINITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/intitem.hxx>
+#include <editeng/editengdllapi.h>
+
+// define ----------------------------------------------------------------
+
+#define PAPERBIN_PRINTER_SETTINGS ((BYTE)0xFF)
+
+// class SvxPaperBinItem -------------------------------------------------
+
+/* [Beschreibung]
+
+ Dieses Item beschreibt die Auswahl eines Papierschachts des Drucker.
+*/
+
+class EDITENG_DLLPUBLIC SvxPaperBinItem : public SfxByteItem
+{
+public:
+ TYPEINFO();
+
+ inline SvxPaperBinItem( const USHORT nId ,
+ const BYTE nTray = PAPERBIN_PRINTER_SETTINGS );
+ inline SvxPaperBinItem &operator=( const SvxPaperBinItem &rCpy );
+
+ // "pure virtual Methoden" vom SfxPoolItem
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create( SvStream &, USHORT ) const;
+ virtual SvStream& Store( SvStream &, USHORT nItemVersion ) const;
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+};
+
+inline SvxPaperBinItem::SvxPaperBinItem( const USHORT nId, const BYTE nT )
+ : SfxByteItem( nId, nT )
+{}
+
+inline SvxPaperBinItem &SvxPaperBinItem::operator=(
+ const SvxPaperBinItem &rCpy )
+{
+ SetValue( rCpy.GetValue() );
+ return *this;
+}
+
+#endif
+
diff --git a/editeng/inc/editeng/pgrditem.hxx b/editeng/inc/editeng/pgrditem.hxx
new file mode 100644
index 0000000000..7ec71a8928
--- /dev/null
+++ b/editeng/inc/editeng/pgrditem.hxx
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: pgrditem.hxx,v $
+ * $Revision: 1.6 $
+ *
+ * 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 _SVX_PGRDITEM_HXX
+#define _SVX_PGRDITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/eitem.hxx>
+#include "editeng/editengdllapi.h"
+
+// class SvxParaGridItem -------------------------------------------------
+
+
+/*
+ [Beschreibung]
+ Paragraph snap to grid
+*/
+
+class EDITENG_DLLPUBLIC SvxParaGridItem : public SfxBoolItem
+{
+public:
+ TYPEINFO();
+
+ SvxParaGridItem( const BOOL bSnapToGrid /*= TRUE*/,
+ const USHORT nId );
+
+ // "pure virtual Methoden" vom SfxPoolItem
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual USHORT GetVersion( USHORT nFileVersion ) const;
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+};
+
+#endif
+
+
diff --git a/editeng/inc/editeng/pmdlitem.hxx b/editeng/inc/editeng/pmdlitem.hxx
new file mode 100644
index 0000000000..7fc3c8d10c
--- /dev/null
+++ b/editeng/inc/editeng/pmdlitem.hxx
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: pmdlitem.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_PMDLITEM_HXX
+#define _SVX_PMDLITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/stritem.hxx>
+#include <editeng/editengdllapi.h>
+
+// class SvxPageModelItem ------------------------------------------------
+
+/*
+[Beschreibung]
+Dieses Item enthaelt einen Namen einer Seitenvorlage.
+*/
+
+class EDITENG_DLLPUBLIC SvxPageModelItem : public SfxStringItem
+{
+private:
+ BOOL bAuto;
+
+public:
+ TYPEINFO();
+
+ inline SvxPageModelItem( USHORT nWh );
+ inline SvxPageModelItem( const String& rModel, BOOL bA /*= FALSE*/,
+ USHORT nWh );
+ inline SvxPageModelItem& operator=( const SvxPageModelItem& rModel );
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
+ virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
+ BOOL IsAuto() const { return bAuto; }
+};
+
+inline SvxPageModelItem::SvxPageModelItem( USHORT nWh )
+ : bAuto( FALSE )
+{
+ SetWhich( nWh );
+}
+
+inline SvxPageModelItem::SvxPageModelItem( const String& rModel, BOOL bA,
+ USHORT nWh ) :
+ SfxStringItem( nWh, rModel ),
+ bAuto( bA )
+{}
+
+inline SvxPageModelItem& SvxPageModelItem::operator=( const SvxPageModelItem& rModel )
+{
+ SetValue( rModel.GetValue() );
+ return *this;
+}
+
+#endif
+
diff --git a/editeng/inc/editeng/postitem.hxx b/editeng/inc/editeng/postitem.hxx
new file mode 100644
index 0000000000..788a9f580e
--- /dev/null
+++ b/editeng/inc/editeng/postitem.hxx
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: postitem.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_POSTITEM_HXX
+#define _SVX_POSTITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <vcl/vclenum.hxx>
+#include <svl/eitem.hxx>
+#include <editeng/editengdllapi.h>
+
+class SvXMLUnitConverter;
+namespace rtl
+{
+ class OUString;
+}
+
+// class SvxPostureItem --------------------------------------------------
+
+/*
+ [Beschreibung]
+ Dieses Item beschreibt die Font-Stellung (Italic)
+*/
+
+class EDITENG_DLLPUBLIC SvxPostureItem : public SfxEnumItem
+{
+public:
+ TYPEINFO();
+
+ SvxPostureItem( const FontItalic ePost /*= ITALIC_NONE*/,
+ const USHORT nId );
+
+ // "pure virtual Methoden" vom SfxPoolItem + SwEnumItem
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual SvStream& Store(SvStream &, USHORT nItemVersion) const;
+ virtual String GetValueTextByPos( USHORT nPos ) const;
+ virtual USHORT GetValueCount() const;
+
+ virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
+ virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
+
+ virtual int HasBoolValue() const;
+ virtual BOOL GetBoolValue() const;
+ virtual void SetBoolValue( BOOL bVal );
+
+ inline SvxPostureItem& operator=(const SvxPostureItem& rPost) {
+ SetValue( rPost.GetValue() );
+ return *this;
+ }
+
+ // enum cast
+ FontItalic GetPosture() const
+ { return (FontItalic)GetValue(); }
+ void SetPosture( FontItalic eNew )
+ { SetValue( (USHORT)eNew ); }
+};
+
+#endif // #ifndef _SVX_POSTITEM_HXX
+
diff --git a/editeng/inc/editeng/prntitem.hxx b/editeng/inc/editeng/prntitem.hxx
new file mode 100644
index 0000000000..3794bc14b6
--- /dev/null
+++ b/editeng/inc/editeng/prntitem.hxx
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: prntitem.hxx,v $
+ * $Revision: 1.8 $
+ *
+ * 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 _SVX_PRNTITEM_HXX
+#define _SVX_PRNTITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/eitem.hxx>
+#include "editeng/editengdllapi.h"
+
+
+
+// class SvxPrintItem ----------------------------------------------------
+
+
+/*
+[Beschreibung]
+Dieses Item beschreibt eine logische Variable "Drucken ja oder nein".
+*/
+
+
+class EDITENG_DLLPUBLIC SvxPrintItem : public SfxBoolItem
+{
+public:
+ TYPEINFO();
+
+ SvxPrintItem( const USHORT nId , const BOOL bPrt = TRUE );
+ inline SvxPrintItem &operator=( const SvxPrintItem &rCpy );
+
+ // "pure virtual Methoden" vom SfxPoolItem
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual SvStream& Store(SvStream &, USHORT nItemVersion ) const;
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+};
+
+inline SvxPrintItem::SvxPrintItem( const USHORT nId, const BOOL bPrt )
+ : SfxBoolItem( nId, bPrt )
+{}
+
+inline SvxPrintItem &SvxPrintItem::operator=( const SvxPrintItem &rCpy )
+{
+ SetValue( rCpy.GetValue() );
+ return *this;
+}
+
+
+
+
+#endif
+
diff --git a/editeng/inc/editeng/protitem.hxx b/editeng/inc/editeng/protitem.hxx
new file mode 100644
index 0000000000..dbf0339766
--- /dev/null
+++ b/editeng/inc/editeng/protitem.hxx
@@ -0,0 +1,108 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: protitem.hxx,v $
+ * $Revision: 1.9 $
+ *
+ * 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 _SVX_PROTITEM_HXX
+#define _SVX_PROTITEM_HXX
+
+// include ---------------------------------------------------------------
+
+
+#include <svl/poolitem.hxx>
+#include "editeng/editengdllapi.h"
+
+class SvXMLUnitConverter;
+namespace rtl
+{
+ class OUString;
+}
+
+// class SvxProtectItem --------------------------------------------------
+
+
+/*
+[Beschreibung]
+Dieses Item beschreibt, ob Inhalt, Groesse oder Position geschuetzt werden
+sollen.
+*/
+
+class EDITENG_DLLPUBLIC SvxProtectItem : public SfxPoolItem
+{
+ BOOL bCntnt :1; //Inhalt geschuetzt
+ BOOL bSize :1; //Groesse geschuetzt
+ BOOL bPos :1; //Position geschuetzt
+
+public:
+ TYPEINFO();
+
+ inline SvxProtectItem( const USHORT nId );
+ inline SvxProtectItem &operator=( const SvxProtectItem &rCpy );
+
+ // "pure virtual Methoden" vom SfxPoolItem
+ virtual int operator==( const SfxPoolItem& ) const;
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual SvStream& Store(SvStream &, USHORT nItemVersion ) const;
+
+ BOOL IsCntntProtected() const { return bCntnt; }
+ BOOL IsSizeProtected() const { return bSize; }
+ BOOL IsPosProtected() const { return bPos; }
+ void SetCntntProtect( BOOL bNew ) { bCntnt = bNew; }
+ void SetSizeProtect ( BOOL bNew ) { bSize = bNew; }
+ void SetPosProtect ( BOOL bNew ) { bPos = bNew; }
+
+ virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
+ virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
+};
+
+inline SvxProtectItem::SvxProtectItem( const USHORT nId )
+ : SfxPoolItem( nId )
+{
+ bCntnt = bSize = bPos = FALSE;
+}
+
+inline SvxProtectItem &SvxProtectItem::operator=( const SvxProtectItem &rCpy )
+{
+ bCntnt = rCpy.IsCntntProtected();
+ bSize = rCpy.IsSizeProtected();
+ bPos = rCpy.IsPosProtected();
+ return *this;
+}
+
+
+
+
+#endif
+
diff --git a/editeng/inc/editeng/prszitem.hxx b/editeng/inc/editeng/prszitem.hxx
new file mode 100644
index 0000000000..50323e9cfe
--- /dev/null
+++ b/editeng/inc/editeng/prszitem.hxx
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: prszitem.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_PRSZITEM_HXX
+#define _SVX_PRSZITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/intitem.hxx>
+#include <editeng/editengdllapi.h>
+
+// class SvxPropSizeItem -------------------------------------------------
+
+/* [Beschreibung]
+
+ Dieses Item beschreibt die relative Schriftgroesse.
+*/
+
+class EDITENG_DLLPUBLIC SvxPropSizeItem : public SfxUInt16Item
+{
+public:
+ TYPEINFO();
+
+ SvxPropSizeItem( const USHORT nPercent /*= 100*/,
+ const USHORT nID );
+
+ // "pure virtual Methoden" vom SfxPoolItem
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual SvStream& Store(SvStream &, USHORT nItemVersion) const;
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ inline SvxPropSizeItem& operator=(const SvxPropSizeItem& rPropSize)
+ {
+ SetValue( rPropSize.GetValue() );
+ return *this;
+ }
+};
+
+#endif
+
diff --git a/editeng/inc/editeng/scriptspaceitem.hxx b/editeng/inc/editeng/scriptspaceitem.hxx
new file mode 100644
index 0000000000..d7b7205831
--- /dev/null
+++ b/editeng/inc/editeng/scriptspaceitem.hxx
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: scriptspaceitem.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_SRIPTSPACEITEM_HXX
+#define _SVX_SRIPTSPACEITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/eitem.hxx>
+#include <editeng/editengdllapi.h>
+
+// class SvxScriptSpaceItem ----------------------------------------------
+
+/* [Description]
+
+ This item describe the scriptype of the selected text and is only
+ used for the user interface.
+*/
+
+class EDITENG_DLLPUBLIC SvxScriptSpaceItem : public SfxBoolItem
+{
+public:
+ TYPEINFO();
+
+ SvxScriptSpaceItem( sal_Bool bOn /*= sal_False*/,
+ const sal_uInt16 nId );
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual USHORT GetVersion( USHORT nFileVersion ) const;
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText,
+ const IntlWrapper * = 0 ) const;
+
+ inline SvxScriptSpaceItem& operator=(const SvxScriptSpaceItem& rItem )
+ {
+ SetValue( rItem.GetValue() );
+ return *this;
+ }
+
+};
+
+#endif
+
diff --git a/editeng/inc/editeng/scripttypeitem.hxx b/editeng/inc/editeng/scripttypeitem.hxx
new file mode 100644
index 0000000000..4badeaeb15
--- /dev/null
+++ b/editeng/inc/editeng/scripttypeitem.hxx
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: scripttypeitem.hxx,v $
+ * $Revision: 1.3 $
+ *
+ * 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 _SVX_SCRIPTTYPEITEM_HXX
+#define _SVX_SCRIPTTYPEITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/intitem.hxx>
+#include <svl/languageoptions.hxx>
+#include <editeng/editengdllapi.h>
+
+// class SvxScriptTypeItem ----------------------------------------------
+
+/* [Description]
+
+ This item describe the scriptype of the selected text and is only
+ used for the user interface.
+*/
+
+EDITENG_DLLPUBLIC USHORT GetI18NScriptTypeOfLanguage( USHORT nLang );
+USHORT GetItemScriptType( short nI18NType );
+short GetI18NScriptType( USHORT nItemType );
+
+class SvxScriptTypeItem : public SfxUInt16Item
+{
+public:
+ TYPEINFO();
+
+ SvxScriptTypeItem( sal_uInt16 nType = SCRIPTTYPE_LATIN );
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+
+};
+
+class EDITENG_DLLPUBLIC SvxScriptSetItem : public SfxSetItem
+{
+public:
+ TYPEINFO();
+
+ SvxScriptSetItem( USHORT nSlotId, SfxItemPool& rPool );
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create( SvStream &, USHORT nVersion ) const;
+
+ static const SfxPoolItem* GetItemOfScriptSet( const SfxItemSet& rSet,
+ USHORT nWhich );
+ inline const SfxPoolItem* GetItemOfScriptSet( USHORT _nWhich ) const
+ { return SvxScriptSetItem::GetItemOfScriptSet( GetItemSet(), _nWhich ); }
+
+ static const SfxPoolItem* GetItemOfScript( USHORT nSlotId, const SfxItemSet& rSet, USHORT nScript );
+
+ const SfxPoolItem* GetItemOfScript( USHORT nScript ) const;
+
+ void PutItemForScriptType( USHORT nScriptType, const SfxPoolItem& rItem );
+
+ static void GetWhichIds( USHORT nSlotId, const SfxItemSet& rSet, USHORT& rLatin, USHORT& rAsian, USHORT& rComplex);
+
+ void GetWhichIds( USHORT& rLatin, USHORT& rAsian, USHORT& rComplex) const;
+
+ static void GetSlotIds( USHORT nSlotId, USHORT& rLatin, USHORT& rAsian,
+ USHORT& rComplex );
+ inline void GetSlotIds( USHORT& rLatin, USHORT& rAsian,
+ USHORT& rComplex ) const
+ { GetSlotIds( Which(), rLatin, rAsian, rComplex ); }
+};
+
+#endif
+
diff --git a/editeng/inc/editeng/shaditem.hxx b/editeng/inc/editeng/shaditem.hxx
new file mode 100644
index 0000000000..48ef895d52
--- /dev/null
+++ b/editeng/inc/editeng/shaditem.hxx
@@ -0,0 +1,114 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: shaditem.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_SHADITEM_HXX
+#define _SVX_SHADITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <tools/color.hxx>
+#include <svl/eitem.hxx>
+#include <editeng/svxenum.hxx>
+#include <editeng/editengdllapi.h>
+
+namespace rtl
+{
+ class OUString;
+}
+
+// class SvxShadowItem ---------------------------------------------------
+
+/* [Beschreibung]
+
+ Dieses Item beschreibt ein Schattenattribut (Farbe, Breite, Lage).
+*/
+
+#define SHADOW_TOP ((USHORT)0)
+#define SHADOW_BOTTOM ((USHORT)1)
+#define SHADOW_LEFT ((USHORT)2)
+#define SHADOW_RIGHT ((USHORT)3)
+
+class EDITENG_DLLPUBLIC SvxShadowItem : public SfxEnumItemInterface
+{
+ Color aShadowColor;
+ USHORT nWidth;
+ SvxShadowLocation eLocation;
+public:
+ TYPEINFO();
+
+ SvxShadowItem( const USHORT nId ,
+ const Color *pColor = 0, const USHORT nWidth = 100 /*5pt*/,
+ const SvxShadowLocation eLoc = SVX_SHADOW_NONE );
+
+ inline SvxShadowItem& operator=( const SvxShadowItem& rFmtShadow );
+
+ // "pure virtual Methoden" vom SfxPoolItem
+ virtual int operator==( const SfxPoolItem& ) const;
+ virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
+ virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual SvStream& Store(SvStream &, USHORT nItemVersion ) const;
+ virtual int ScaleMetrics( long nMult, long nDiv );
+ virtual int HasMetrics() const;
+
+ const Color& GetColor() const { return aShadowColor;}
+ void SetColor( const Color &rNew ) { aShadowColor = rNew; }
+
+ USHORT GetWidth() const { return nWidth; }
+ SvxShadowLocation GetLocation() const { return eLocation; }
+
+ void SetWidth( USHORT nNew ) { nWidth = nNew; }
+ void SetLocation( SvxShadowLocation eNew ) { eLocation = eNew; }
+
+ //Breite des Schattens auf der jeweiligen Seite berechnen.
+ USHORT CalcShadowSpace( USHORT nShadow ) const;
+
+ virtual USHORT GetValueCount() const;
+ virtual String GetValueTextByPos( USHORT nPos ) const;
+ virtual USHORT GetEnumValue() const;
+ virtual void SetEnumValue( USHORT nNewVal );
+};
+
+inline SvxShadowItem &SvxShadowItem::operator=( const SvxShadowItem& rFmtShadow )
+{
+ aShadowColor = rFmtShadow.aShadowColor;
+ nWidth = rFmtShadow.GetWidth();
+ eLocation = rFmtShadow.GetLocation();
+ return *this;
+}
+
+#endif // #ifndef _SVX_SHADITEM_HXX
+
diff --git a/editeng/inc/editeng/shdditem.hxx b/editeng/inc/editeng/shdditem.hxx
new file mode 100644
index 0000000000..b660d39e4f
--- /dev/null
+++ b/editeng/inc/editeng/shdditem.hxx
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: shdditem.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_SHDDITEM_HXX
+#define _SVX_SHDDITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/eitem.hxx>
+#include <editeng/editengdllapi.h>
+
+class SvXMLUnitConverter;
+namespace rtl
+{
+ class OUString;
+}
+
+// class SvxShadowedItem -------------------------------------------------
+
+/*
+ [Beschreibung]
+ Dieses Item beschreibt, ob und wie schattiert ist.
+*/
+
+class EDITENG_DLLPUBLIC SvxShadowedItem : public SfxBoolItem
+{
+public:
+ TYPEINFO();
+
+ SvxShadowedItem( const BOOL bShadowed /*= FALSE*/,
+ const USHORT nId );
+
+ // "pure virtual Methoden" vom SfxPoolItem
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual SvStream& Store(SvStream &, USHORT nItemVersion) const;
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ inline SvxShadowedItem& operator=(const SvxShadowedItem& rShadow) {
+ SetValue(rShadow.GetValue());
+ return *this;
+ }
+
+};
+
+#endif
+
diff --git a/editeng/inc/editeng/sizeitem.hxx b/editeng/inc/editeng/sizeitem.hxx
new file mode 100644
index 0000000000..c0befa88d7
--- /dev/null
+++ b/editeng/inc/editeng/sizeitem.hxx
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: sizeitem.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_SIZEITEM_HXX
+#define _SVX_SIZEITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <tools/gen.hxx>
+#include <svl/poolitem.hxx>
+#include <editeng/editengdllapi.h>
+
+// class SvxSizeItem -----------------------------------------------------
+
+/*
+[Beschreibung]
+Dieses Item beschreibt eine zweidimensionale Groesse (Size).
+*/
+
+class EDITENG_DLLPUBLIC SvxSizeItem : public SfxPoolItem
+{
+
+ Size aSize;
+
+public:
+ TYPEINFO();
+
+ SvxSizeItem( const USHORT nId );
+ SvxSizeItem( const USHORT nId, const Size& rSize);
+
+ inline SvxSizeItem& operator=( const SvxSizeItem &rCpy );
+
+ // "pure virtual Methoden" vom SfxPoolItem
+ virtual int operator==( const SfxPoolItem& ) const;
+ virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
+ virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create(SvStream &, USHORT) const;
+ virtual SvStream& Store(SvStream &, USHORT nItemVersion ) const;
+ virtual int ScaleMetrics( long nMult, long nDiv );
+ virtual int HasMetrics() const;
+
+ const Size& GetSize() const { return aSize; }
+ void SetSize(const Size& rSize) { aSize = rSize; }
+};
+
+inline SvxSizeItem& SvxSizeItem::operator=( const SvxSizeItem &rCpy )
+{
+ aSize = rCpy.aSize;
+ return *this;
+}
+
+#endif
+
diff --git a/editeng/inc/editeng/spltitem.hxx b/editeng/inc/editeng/spltitem.hxx
new file mode 100644
index 0000000000..bc050516fb
--- /dev/null
+++ b/editeng/inc/editeng/spltitem.hxx
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: spltitem.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_SPLTITEM_HXX
+#define _SVX_SPLTITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/eitem.hxx>
+#include <editeng/editengdllapi.h>
+
+class SvXMLUnitConverter;
+namespace rtl
+{
+ class OUString;
+}
+
+// class SvxFmtSplitItem -------------------------------------------------
+
+/*
+[Beschreibung]
+Dieses Item beschreibt eine logische Variable "Absatz trennen ja oder nein".
+*/
+
+class EDITENG_DLLPUBLIC SvxFmtSplitItem : public SfxBoolItem
+{
+public:
+ TYPEINFO();
+ ~SvxFmtSplitItem();
+
+ inline SvxFmtSplitItem( const BOOL bSplit /*= TRUE*/,
+ const USHORT nWh );
+ inline SvxFmtSplitItem& operator=( const SvxFmtSplitItem& rSplit );
+
+ // "pure virtual Methoden" vom SfxPoolItem
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create( SvStream&, USHORT ) const;
+ virtual SvStream& Store( SvStream& , USHORT nItemVersion ) const;
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+};
+
+inline SvxFmtSplitItem::SvxFmtSplitItem( const BOOL bSplit, const USHORT nWh ) :
+ SfxBoolItem( nWh, bSplit )
+{}
+
+inline SvxFmtSplitItem& SvxFmtSplitItem::operator=(
+ const SvxFmtSplitItem& rSplit )
+{
+ SetValue( rSplit.GetValue() );
+ return *this;
+}
+
+#endif
+
diff --git a/editeng/inc/editeng/splwrap.hxx b/editeng/inc/editeng/splwrap.hxx
new file mode 100644
index 0000000000..fc8a08c44c
--- /dev/null
+++ b/editeng/inc/editeng/splwrap.hxx
@@ -0,0 +1,162 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: splwrap.hxx,v $
+ * $Revision: 1.3 $
+ *
+ * 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 _SVX_SPLWRAP_HXX
+#define _SVX_SPLWRAP_HXX
+
+// include ---------------------------------------------------------------
+
+#include <editeng/svxenum.hxx>
+#include <tools/string.hxx>
+#include <com/sun/star/uno/Reference.hxx>
+#include "editeng/editengdllapi.h"
+
+// forward ---------------------------------------------------------------
+
+namespace com { namespace sun { namespace star { namespace linguistic2 {
+ class XDictionary;
+ class XSpellChecker1;
+ class XHyphenator;
+}}}}
+
+class Window;
+
+// misc functions ---------------------------------------------------------------
+
+void EDITENG_DLLPUBLIC SvxPrepareAutoCorrect( String &rOldText, String &rNewText );
+
+/*--------------------------------------------------------------------
+ Beschreibung: Der SpellWrapper
+ --------------------------------------------------------------------*/
+
+class EDITENG_DLLPUBLIC SvxSpellWrapper {
+private:
+ friend class SvxSpellCheckDialog;
+ friend class SvxHyphenWordDialog;
+
+ Window* pWin;
+ ::com::sun::star::uno::Reference<
+ ::com::sun::star::uno::XInterface > xLast; // result of last spelling/hyphenation attempt
+ ::com::sun::star::uno::Reference<
+ ::com::sun::star::linguistic2::XSpellChecker1 > xSpell;
+ ::com::sun::star::uno::Reference<
+ ::com::sun::star::linguistic2::XHyphenator > xHyph;
+ sal_uInt16 nOldLang; // Sprache merken, nur bei Aenderung SetLanguage rufen
+ sal_Bool bOtherCntnt : 1; // gesetzt => Sonderbereiche zunaechst pruefen
+ sal_Bool bDialog : 1; // Ist pWin der Svx...Dialog?
+ sal_Bool bHyphen : 1; // Trennen statt Spellen
+ sal_Bool bAuto : 1; // Autokorrektur vorhanden?
+ sal_Bool bReverse : 1; // Rueckwaerts Spellen
+ sal_Bool bStartDone : 1; // Vorderen Teil bereits korrigiert
+ sal_Bool bEndDone : 1; // Hinteren Teil bereits korrigiert
+ sal_Bool bStartChk : 1; // Vorderen Teil pruefen
+ sal_Bool bRevAllowed : 1; // Niemals rueckwaerts spellen
+ sal_Bool bAllRight : 1; // falsche Woerter in geignetes Woerterbuch
+ // aufnehmen und nicht den Dialog starten.
+
+ EDITENG_DLLPRIVATE sal_Bool SpellNext(); // naechsten Bereich anwaehlen
+ sal_Bool FindSpellError(); // Suche nach Fehlern ( ueber Bereiche hinweg )
+
+public:
+ SvxSpellWrapper( Window* pWn,
+ ::com::sun::star::uno::Reference<
+ ::com::sun::star::linguistic2::XSpellChecker1 > &xSpellChecker,
+ const sal_Bool bStart = sal_False, const sal_Bool bIsAllRight = sal_False,
+ const sal_Bool bOther = sal_False, const sal_Bool bRevAllow = sal_True );
+ SvxSpellWrapper( Window* pWn,
+ ::com::sun::star::uno::Reference<
+ ::com::sun::star::linguistic2::XHyphenator > &xHyphenator,
+ const sal_Bool bStart = sal_False, const sal_Bool bOther = sal_False );
+
+ virtual ~SvxSpellWrapper();
+
+ static sal_Int16 CheckSpellLang(
+ ::com::sun::star::uno::Reference<
+ ::com::sun::star::linguistic2::XSpellChecker1 > xSpell,
+ sal_Int16 nLang );
+ static sal_Int16 CheckHyphLang(
+ ::com::sun::star::uno::Reference<
+ ::com::sun::star::linguistic2::XHyphenator > xHyph,
+ sal_Int16 nLang );
+
+ static void ShowLanguageErrors();
+
+ void SpellDocument(); // Rechtschreibpruefung durchfuehren
+ inline sal_Bool IsStartDone(){ return bStartDone; }
+ inline sal_Bool IsEndDone(){ return bEndDone; }
+ inline sal_Bool IsReverse(){ return bReverse; }
+ inline sal_Bool IsDialog(){ return bDialog; } // SvxSpellCheckDialog OnScreen
+ inline sal_Bool IsHyphen(){ return bHyphen; } // Trennen statt Spellen
+ inline void SetHyphen( const sal_Bool bNew = sal_True ){ bHyphen = bNew; }
+ inline ::com::sun::star::uno::Reference<
+ ::com::sun::star::linguistic2::XSpellChecker1 >
+ GetXSpellChecker() { return xSpell; }
+ inline ::com::sun::star::uno::Reference<
+ ::com::sun::star::linguistic2::XHyphenator >
+ GetXHyphenator() { return xHyph; }
+ inline sal_Bool IsAllRight() { return bAllRight; }
+ inline Window* GetWin() { return pWin; }
+ // kann evtl entfallen in ONE_LINGU:
+ inline void SetOldLang( const sal_uInt16 nNew ){ nOldLang = nNew; }
+ // kann evtl entfallen in ONE_LINGU:
+ inline void ChangeLanguage( const sal_uInt16 nNew ) // rufe ggf. SetLanguage
+ { if ( nNew != nOldLang ) { SetLanguage( nNew ); nOldLang = nNew; } }
+ inline void EnableAutoCorrect() { bAuto = sal_True; }
+
+protected:
+ ::com::sun::star::uno::Reference<
+ ::com::sun::star::uno::XInterface >
+ GetLast() { return xLast; }
+ void SetLast(const ::com::sun::star::uno::Reference<
+ ::com::sun::star::uno::XInterface > &xNewLast)
+ { xLast = xNewLast; }
+ virtual sal_Bool SpellMore(); // weitere Dokumente pruefen?
+ virtual sal_Bool HasOtherCnt(); // gibt es ueberhaupt Sonderbereiche
+ virtual void SpellStart( SvxSpellArea eSpell ); // Bereich vorbereiten
+ virtual sal_Bool SpellContinue(); // Bereich pruefen
+ // Ergebnis mit GetLast verfuegbar
+ virtual void ReplaceAll( const String &rNewText, sal_Int16 nLanguage ); // Wort aus Replace-Liste ersetzen
+ virtual void StartThesaurus( const String &rWord, sal_uInt16 nLang ); // Thesaurus starten
+ virtual ::com::sun::star::uno::Reference<
+ ::com::sun::star::linguistic2::XDictionary >
+ GetAllRightDic() const;
+ virtual void SpellEnd(); // Bereich abschliessen
+ virtual void ScrollArea(); // ScrollArea einstellen
+ // Wort ersetzen
+ virtual void ChangeWord( const String& rNewWord, const sal_uInt16 nLang );
+ virtual String GetThesWord();
+ // Wort via Thesaurus ersetzen
+ virtual void ChangeThesWord( const String& rNewWord );
+ virtual void SetLanguage( const sal_uInt16 nLang ); // Sprache aendern
+ virtual void AutoCorrect( const String& rAktStr, const String& rNewStr );
+ virtual void InsertHyphen( const sal_uInt16 nPos ); // Hyphen einfuegen
+
+};
+
+#endif
diff --git a/editeng/inc/editeng/svdfield.hxx b/editeng/inc/editeng/svdfield.hxx
new file mode 100644
index 0000000000..5d45f5999f
--- /dev/null
+++ b/editeng/inc/editeng/svdfield.hxx
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: svdfield.hxx,v $
+ * $Revision: 1.3 $
+ *
+ * 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 _SVDFIELD_HXX
+#define _SVDFIELD_HXX
+
+#include <editeng/eeitem.hxx>
+
+#ifndef _FLDITEM_HXX
+#ifndef ITEMID_FIELD
+#ifndef _EDITDATA_HXX
+#include <editeng/editdata.hxx> /* das include wird wg. EE_FEATURE_FIELD benoetigt */
+#endif
+#define ITEMID_FIELD EE_FEATURE_FIELD /* wird fuer #include <editeng/flditem.hxx> benoetigt */
+#endif
+#include <editeng/flditem.hxx>
+#endif
+#include "editeng/editengdllapi.h"
+
+////////////////////////////////////////////////////////////////////////////////////////////////////
+// Do not remove this, it is still used in src536a!
+void EDITENG_DLLPUBLIC SdrRegisterFieldClasses();
+////////////////////////////////////////////////////////////////////////////////////////////////////
+
+#define SDR_MEASUREFIELD 50
+
+class SdrMeasureObj;
+
+enum SdrMeasureFieldKind {SDRMEASUREFIELD_VALUE,SDRMEASUREFIELD_UNIT,SDRMEASUREFIELD_ROTA90BLANCS};
+
+class EDITENG_DLLPUBLIC SdrMeasureField: public SvxFieldData {
+ SdrMeasureFieldKind eMeasureFieldKind;
+public:
+ SV_DECL_PERSIST1(SdrMeasureField,SvxFieldData,SDR_MEASUREFIELD)
+ SdrMeasureField(): eMeasureFieldKind(SDRMEASUREFIELD_VALUE) {}
+ SdrMeasureField(SdrMeasureFieldKind eNewKind): eMeasureFieldKind(eNewKind) {}
+ virtual ~SdrMeasureField();
+ virtual SvxFieldData* Clone() const;
+ virtual int operator==(const SvxFieldData&) const;
+ SdrMeasureFieldKind GetMeasureFieldKind() const { return eMeasureFieldKind; }
+ void SetMeasureFieldKind(SdrMeasureFieldKind eNewKind) { eMeasureFieldKind=eNewKind; }
+};
+
+////////////////////////////////////////////////////////////////////////////////////////////////////
+
+#endif //_SVDFIELD_HXX
+
diff --git a/editeng/inc/editeng/svxacorr.hxx b/editeng/inc/editeng/svxacorr.hxx
new file mode 100644
index 0000000000..9b925f483b
--- /dev/null
+++ b/editeng/inc/editeng/svxacorr.hxx
@@ -0,0 +1,396 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: svxacorr.hxx,v $
+ * $Revision: 1.3 $
+ *
+ * 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 _MySVXACORR_HXX
+#define _MySVXACORR_HXX
+
+#include <com/sun/star/embed/XStorage.hpp>
+#include <tools/rtti.hxx>
+#include <svl/svarray.hxx>
+#include <i18npool/lang.h>
+#include <tools/time.hxx>
+#include <tools/date.hxx>
+#include <tools/string.hxx>
+#include <editeng/swafopt.hxx>
+#include "editeng/editengdllapi.h"
+
+class CharClass;
+class SfxPoolItem;
+class SvxAutoCorrect;
+class SvStringsISortDtor;
+class SfxObjectShell;
+class SvxAutoCorrLanguageTable_Impl;
+class SvxAutoCorrLastFileAskTable_Impl;
+class SotStorageRef;
+class SotStorage;
+
+// Flags fuer die AutoKorrekt-Flags
+const long CptlSttSntnc = 0x00000001; // Gross-Buchstaben am SatzAnfang
+const long CptlSttWrd = 0x00000002; // keine 2 Gr.-Buchst. am WordAnfang
+const long ChgFractionSymbol= 0x00000004; // 1/2, 1/4, .. ersetzen
+const long ChgOrdinalNumber = 0x00000008; // Ordinal-Number 1st, 2nd,..
+const long ChgToEnEmDash = 0x00000010; // - -> Endash/Emdash
+const long ChgWeightUnderl = 0x00000020; // * -> Fett, _ -> unterstreichen
+const long SetINetAttr = 0x00000040; // INetAttribut setzen
+const long Autocorrect = 0x00000080; // Autokorrektur aufrufen
+const long ChgQuotes = 0x00000100; // doppelte Quotes ersetzen
+const long SaveWordCplSttLst= 0x00000200; // GrB. am SatzAnf. auto. aufnehmen
+const long SaveWordWrdSttLst= 0x00000400; // 2 GrB. am WortAnf. auto. aufnehmen
+const long IngnoreDoubleSpace= 0x00000800; // 2 Spaces ignorieren
+const long ChgSglQuotes = 0x00001000; // einfache Quotes ersetzen
+
+const long ChgWordLstLoad = 0x20000000; // Ersetzungsliste geladen
+const long CplSttLstLoad = 0x40000000; // Exceptionlist fuer CplStart geladen
+const long WrdSttLstLoad = 0x80000000; // Exceptionlist fuer WordStart geladen
+
+// TODO: handle unicodes > U+FFFF and check users of this class
+
+// nur eine Mappingklasse
+class EDITENG_DLLPUBLIC SvxAutoCorrDoc
+{
+public:
+ SvxAutoCorrDoc() {}
+ virtual ~SvxAutoCorrDoc();
+
+ virtual BOOL Delete( xub_StrLen nStt, xub_StrLen nEnd ) = 0;
+ virtual BOOL Insert( xub_StrLen nPos, const String& rTxt ) = 0;
+ virtual BOOL Replace( xub_StrLen nPos, const String& rTxt ) = 0;
+
+ virtual BOOL SetAttr( xub_StrLen nStt, xub_StrLen nEnd, USHORT nSlotId,
+ SfxPoolItem& ) = 0;
+
+ virtual BOOL SetINetAttr( xub_StrLen nStt, xub_StrLen nEnd, const String& rURL ) = 0;
+
+ // returne den Text eines vorherigen Absatzes.
+ // Dieser darf nicht leer sein!
+ // Gibt es diesen nicht oder gibt es davor nur Leere, dann returne 0
+ // Das Flag gibt an:
+ // TRUE: den, vor der normalen Einfuegeposition (TRUE)
+ // FALSE: den, in den das korrigierte Wort eingfuegt wurde.
+ // (Muss nicht der gleiche Absatz sein!!!!)
+ virtual const String* GetPrevPara( BOOL bAtNormalPos ) = 0;
+
+ virtual BOOL ChgAutoCorrWord( xub_StrLen& rSttPos, xub_StrLen nEndPos,
+ SvxAutoCorrect& rACorrect,
+ const String** ppPara ) = 0;
+ // wird nach dem austauschen der Zeichen von den Funktionen
+ // - FnCptlSttWrd
+ // - FnCptlSttSntnc
+ // gerufen. Dann koennen die Worte ggfs. in die Ausnahmelisten
+ // aufgenommen werden.
+ virtual void SaveCpltSttWord( ULONG nFlag, xub_StrLen nPos,
+ const String& rExceptWord,
+ sal_Unicode cChar );
+
+ // welche Sprache gilt an der Position?
+ virtual LanguageType GetLanguage( xub_StrLen nPos, BOOL bPrevPara = FALSE ) const;
+};
+
+
+class EDITENG_DLLPUBLIC SvxAutocorrWord
+{
+ String sShort, sLong;
+ BOOL bIsTxtOnly; // ist reiner ASCII - Text
+public:
+ SvxAutocorrWord( const String& rS, const String& rL, BOOL bFlag = TRUE )
+ : sShort( rS ), sLong( rL ), bIsTxtOnly( bFlag )
+ {}
+
+ const String& GetShort() const { return sShort; }
+ const String& GetLong() const { return sLong; }
+ BOOL IsTextOnly() const { return bIsTxtOnly; }
+};
+
+typedef SvxAutocorrWord* SvxAutocorrWordPtr;
+SV_DECL_PTRARR_SORT_DEL_VISIBILITY( SvxAutocorrWordList, SvxAutocorrWordPtr, 10, 10 , EDITENG_DLLPUBLIC)
+
+class EDITENG_DLLPUBLIC SvxAutoCorrectLanguageLists
+{
+ String sShareAutoCorrFile, sUserAutoCorrFile;
+ // falls die AutoCorr Datei neuer ist
+ Date aModifiedDate;
+ Time aModifiedTime, aLastCheckTime;
+
+ LanguageType eLanguage; //LANGUAGE_DONTKNOW fuer alle Sprachen verwenden
+ SvStringsISortDtor* pCplStt_ExcptLst;
+ SvStringsISortDtor* pWrdStt_ExcptLst;
+ SvxAutocorrWordList* pAutocorr_List;
+ SvxAutoCorrect& rAutoCorrect;
+
+ long nFlags;
+
+ BOOL IsFileChanged_Imp();
+ void LoadXMLExceptList_Imp( SvStringsISortDtor*& rpLst,
+ const sal_Char* pStrmName,
+ SotStorageRef& rStg);
+ void SaveExceptList_Imp( const SvStringsISortDtor& rLst,
+ const sal_Char* pStrmName,
+ SotStorageRef& rStg,
+ BOOL bConvert = FALSE);
+
+ BOOL MakeBlocklist_Imp( SotStorage& rStg );
+ void RemoveStream_Imp( const String& rName );
+ void MakeUserStorage_Impl();
+
+public:
+ SvxAutoCorrectLanguageLists( SvxAutoCorrect& rParent,
+ const String& rShareAutoCorrectFile,
+ const String& rUserAutoCorrectFile,
+ LanguageType eLang);
+ ~SvxAutoCorrectLanguageLists();
+
+ // Lade, Setze, Gebe - die Ersetzungsliste
+ SvxAutocorrWordList* LoadAutocorrWordList();
+ void SetAutocorrWordList( SvxAutocorrWordList* pList );
+ const SvxAutocorrWordList* GetAutocorrWordList();
+
+ // Lade, Setze, Gebe - die Ausnahmeliste fuer Grossbuchstabe am
+ // Satzanfang
+ SvStringsISortDtor* LoadCplSttExceptList();
+ void SaveCplSttExceptList();
+ void SetCplSttExceptList( SvStringsISortDtor* pList );
+ SvStringsISortDtor* GetCplSttExceptList();
+ BOOL AddToCplSttExceptList(const String& rNew);
+
+ // Lade, Setze, Gebe die Ausnahmeliste fuer 2 Grossbuchstaben am
+ // Wortanfang
+ SvStringsISortDtor* LoadWrdSttExceptList();
+ void SaveWrdSttExceptList();
+ void SetWrdSttExceptList( SvStringsISortDtor* pList );
+ SvStringsISortDtor* GetWrdSttExceptList();
+ BOOL AddToWrdSttExceptList(const String& rNew);
+
+ // Speichern von Wortersetzungen:
+ // Diese speichern direkt im Storage. Die Wortliste wird
+ // entsprechend aktualisiert!
+ // - purer Text
+ BOOL PutText( const String& rShort, const String& rLong );
+ // - Text mit Attributierung (kann nur der SWG - SWG-Format!)
+ BOOL PutText( const String& rShort, SfxObjectShell& );
+ // - loesche einen Eintrag
+ BOOL DeleteText( const String& rShort );
+};
+
+
+class EDITENG_DLLPUBLIC SvxAutoCorrect
+{
+ friend class SvxAutoCorrectLanguageLists;
+
+ String sShareAutoCorrFile, sUserAutoCorrFile;
+
+ SvxSwAutoFmtFlags aSwFlags; // StarWriter AutoFormat-Flags
+
+ // alle Sprachen in einer Tabelle
+ SvxAutoCorrLanguageTable_Impl* pLangTable;
+ SvxAutoCorrLastFileAskTable_Impl* pLastFileTable;
+ CharClass* pCharClass;
+
+ LanguageType eCharClassLang;
+
+ long nFlags;
+ sal_Unicode cStartDQuote, cEndDQuote, cStartSQuote, cEndSQuote,
+ c1Div2, c1Div4, c3Div4,
+ cEmDash, cEnDash;
+
+
+ // private methods
+ SvxAutoCorrectLanguageLists& _GetLanguageList( LanguageType eLang );
+
+ void _GetCharClass( LanguageType eLang );
+
+protected:
+ // - Text mit Attributierung (kann nur der SWG - SWG-Format!)
+ // rShort ist der Stream-Name - gecryptet!
+ virtual BOOL PutText( const com::sun::star::uno::Reference < com::sun::star::embed::XStorage >& rStg, const String& rFileName, const String& rShort, SfxObjectShell& ,
+ String& );
+
+ // geforderte Sprache in die Tabelle eintragen gfs. nur wenn das file existiert
+ BOOL CreateLanguageFile(LanguageType eLang, BOOL bNewFile = TRUE);
+ // - return den Ersetzungstext (nur fuer SWG-Format, alle anderen
+ // koennen aus der Wortliste herausgeholt werden!)
+ // rShort ist der Stream-Name - gecryptet!
+public:
+ //The method below is changed from private to public by BerryJia for Bug95846 Time:2002-8-13 15:50
+ sal_Unicode GetQuote( sal_Unicode cInsChar, BOOL bSttQuote,
+ LanguageType eLang ) const;
+ virtual BOOL GetLongText( const com::sun::star::uno::Reference < com::sun::star::embed::XStorage >& rStg, const String& rFileName, const String& rShort, String& rLong );
+
+ TYPEINFO();
+
+ SvxAutoCorrect( const String& rShareAutocorrFile,
+ const String& rUserAutocorrFile );
+ SvxAutoCorrect( const SvxAutoCorrect& );
+ virtual ~SvxAutoCorrect();
+
+ // fuehre eine AutoKorrektur aus.
+ // returnt was ausgefuehrt wurde; entsprechend den obigen Flags
+ ULONG AutoCorrect( SvxAutoCorrDoc& rDoc, const String& rTxt,
+ xub_StrLen nPos, sal_Unicode cInsChar, BOOL bInsert );
+
+ // return fuer die Autotext Expandierung das vorherige Wort, was dem
+ // AutoCorrect - Algorythmus entspricht.
+ BOOL GetPrevAutoCorrWord( SvxAutoCorrDoc& rDoc, const String& rTxt,
+ xub_StrLen nPos, String& rWord ) const;
+
+ // suche das oder die Worte in der ErsetzungsTabelle.
+ // rText - ueberpruefe in diesem Text die Worte der Liste
+ // rStt - die gefundene Startposition
+ // nEnd - zu ueberpruefende Position - ab dieser Pos nach vorne
+ // rLang - Input: in welcher Sprache wird gesucht
+ // Output: in welcher "Sprach-Liste" wurde es gefunden
+ const SvxAutocorrWord* SearchWordsInList( const String& rTxt,
+ xub_StrLen& rStt, xub_StrLen nEndPos,
+ SvxAutoCorrDoc& rDoc,
+ LanguageType& rLang );
+
+ // erfrage / setze die Zeichen fuer die Quote-Ersetzung
+ sal_Unicode GetStartSingleQuote() const { return cStartSQuote; }
+ sal_Unicode GetEndSingleQuote() const { return cEndSQuote; }
+ sal_Unicode GetStartDoubleQuote() const { return cStartDQuote; }
+ sal_Unicode GetEndDoubleQuote() const { return cEndDQuote; }
+
+ void SetStartSingleQuote( const sal_Unicode cStart ) { cStartSQuote = cStart; }
+ void SetEndSingleQuote( const sal_Unicode cEnd ) { cEndSQuote = cEnd; }
+ void SetStartDoubleQuote( const sal_Unicode cStart ) { cStartDQuote = cStart; }
+ void SetEndDoubleQuote( const sal_Unicode cEnd ) { cEndDQuote = cEnd; }
+
+ String GetQuote( SvxAutoCorrDoc& rDoc, xub_StrLen nInsPos,
+ sal_Unicode cInsChar, BOOL bSttQuote );
+ void InsertQuote( SvxAutoCorrDoc& rDoc, xub_StrLen nInsPos,
+ sal_Unicode cInsChar, BOOL bSttQuote, BOOL bIns );
+
+ // erfrage / setze den Namen der AutoKorrektur-Datei
+ // defaultet auf "autocorr.dat"
+ String GetAutoCorrFileName( LanguageType eLang = LANGUAGE_SYSTEM,
+ BOOL bNewFile = FALSE,
+ BOOL bTstUserExist = FALSE ) const;
+ void SetUserAutoCorrFileName( const String& rNew );
+ void SetShareAutoCorrFileName( const String& rNew );
+
+ // erfrage / setze die aktuellen Einstellungen der AutoKorrektur
+ long GetFlags() const { return nFlags; }
+ inline SvxSwAutoFmtFlags& GetSwFlags() { return aSwFlags;}
+ BOOL IsAutoCorrFlag( long nFlag ) const
+ { return nFlags & nFlag ? TRUE : FALSE; }
+ void SetAutoCorrFlag( long nFlag, BOOL bOn = TRUE );
+
+ // Lade, Setze, Gebe - die Ersetzungsliste
+ SvxAutocorrWordList* LoadAutocorrWordList(
+ LanguageType eLang = LANGUAGE_SYSTEM )
+ { return _GetLanguageList( eLang ).LoadAutocorrWordList(); }
+ const SvxAutocorrWordList* GetAutocorrWordList(
+ LanguageType eLang = LANGUAGE_SYSTEM )
+ { return _GetLanguageList( eLang ).GetAutocorrWordList(); }
+
+ // Speichern von Wortersetzungen:
+ // Diese speichern direkt im Storage. Die Wortliste wird
+ // entsprechend aktualisiert!
+ // - purer Text
+ BOOL PutText( const String& rShort, const String& rLong, LanguageType eLang = LANGUAGE_SYSTEM );
+ // - Text mit Attributierung (kann nur der SWG - SWG-Format!)
+ BOOL PutText( const String& rShort, SfxObjectShell& rShell,
+ LanguageType eLang = LANGUAGE_SYSTEM )
+ { return _GetLanguageList( eLang ).PutText(rShort, rShell ); }
+
+ // - loesche einen Eintrag
+ BOOL DeleteText( const String& rShort, LanguageType eLang = LANGUAGE_SYSTEM);
+
+ // Lade, Setze, Gebe - die Ausnahmeliste fuer Grossbuchstabe am
+ // Satzanfang
+ void SaveCplSttExceptList( LanguageType eLang = LANGUAGE_SYSTEM );
+ SvStringsISortDtor* LoadCplSttExceptList(
+ LanguageType eLang = LANGUAGE_SYSTEM)
+ { return _GetLanguageList( eLang ).LoadCplSttExceptList(); }
+ const SvStringsISortDtor* GetCplSttExceptList(
+ LanguageType eLang = LANGUAGE_SYSTEM )
+ { return _GetLanguageList( eLang ).GetCplSttExceptList(); }
+
+ // fuegt ein einzelnes Wort hinzu. Die Liste wird sofort
+ // in die Datei geschrieben!
+ BOOL AddCplSttException( const String& rNew,
+ LanguageType eLang = LANGUAGE_SYSTEM );
+
+ // Lade, Setze, Gebe die Ausnahmeliste fuer 2 Grossbuchstaben am
+ // Wortanfang
+ void SaveWrdSttExceptList( LanguageType eLang = LANGUAGE_SYSTEM );
+ SvStringsISortDtor* LoadWrdSttExceptList(
+ LanguageType eLang = LANGUAGE_SYSTEM )
+ { return _GetLanguageList( eLang ).LoadWrdSttExceptList(); }
+ const SvStringsISortDtor* GetWrdSttExceptList(
+ LanguageType eLang = LANGUAGE_SYSTEM )
+ { return _GetLanguageList( eLang ).GetWrdSttExceptList(); }
+ // fuegt ein einzelnes Wort hinzu. Die Liste wird sofort
+ // in die Datei geschrieben!
+ BOOL AddWrtSttException( const String& rNew, LanguageType eLang = LANGUAGE_SYSTEM);
+
+ //ueber die Sprachen nach dem Eintrag suchen
+ BOOL FindInWrdSttExceptList( LanguageType eLang, const String& sWord );
+ BOOL FindInCplSttExceptList( LanguageType eLang, const String& sWord,
+ BOOL bAbbreviation = FALSE);
+
+ // die einzelnen Methoden fuer die Autokorrektur
+ BOOL FnCptlSttWrd( SvxAutoCorrDoc&, const String&,
+ xub_StrLen nSttPos, xub_StrLen nEndPos,
+ LanguageType eLang = LANGUAGE_SYSTEM );
+ BOOL FnChgFractionSymbol( SvxAutoCorrDoc&, const String&,
+ xub_StrLen nSttPos, xub_StrLen nEndPos );
+ BOOL FnChgOrdinalNumber( SvxAutoCorrDoc&, const String&,
+ xub_StrLen nSttPos, xub_StrLen nEndPos,
+ LanguageType eLang = LANGUAGE_SYSTEM );
+ BOOL FnChgToEnEmDash( SvxAutoCorrDoc&, const String&,
+ xub_StrLen nSttPos, xub_StrLen nEndPos,
+ LanguageType eLang = LANGUAGE_SYSTEM );
+ BOOL FnSetINetAttr( SvxAutoCorrDoc&, const String&,
+ xub_StrLen nSttPos, xub_StrLen nEndPos,
+ LanguageType eLang = LANGUAGE_SYSTEM );
+ BOOL FnChgWeightUnderl( SvxAutoCorrDoc&, const String&,
+ xub_StrLen nSttPos, xub_StrLen nEndPos,
+ LanguageType eLang = LANGUAGE_SYSTEM );
+ BOOL FnCptlSttSntnc( SvxAutoCorrDoc&, const String&, BOOL bNormalPos,
+ xub_StrLen nSttPos, xub_StrLen nEndPos,
+ LanguageType eLang = LANGUAGE_SYSTEM);
+
+ static long GetDefaultFlags();
+
+// returns TRUE for charcters where the function
+// 'SvxAutoCorrect::AutoCorrect' should be called.
+// (used to avoid occasional 'collisions' with (Thai) input-sequence-checking)
+ static sal_Bool IsAutoCorrectChar( sal_Unicode cChar );
+
+ CharClass& GetCharClass( LanguageType eLang )
+ {
+ if( !pCharClass || eLang != eCharClassLang )
+ _GetCharClass( eLang );
+ return *pCharClass;
+ }
+};
+
+#endif
+
diff --git a/editeng/inc/editeng/svxenum.hxx b/editeng/inc/editeng/svxenum.hxx
new file mode 100644
index 0000000000..d2f2530f27
--- /dev/null
+++ b/editeng/inc/editeng/svxenum.hxx
@@ -0,0 +1,221 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: svxenum.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_SVXENUM_HXX
+#define _SVX_SVXENUM_HXX
+
+// -----------------------------------------------------------------------
+
+enum SvxCaseMap
+{
+ SVX_CASEMAP_NOT_MAPPED,
+ SVX_CASEMAP_VERSALIEN,
+ SVX_CASEMAP_GEMEINE,
+ SVX_CASEMAP_TITEL,
+ SVX_CASEMAP_KAPITAELCHEN,
+ SVX_CASEMAP_END
+};
+
+enum SvxEscapement
+{
+ SVX_ESCAPEMENT_OFF,
+ SVX_ESCAPEMENT_SUPERSCRIPT,
+ SVX_ESCAPEMENT_SUBSCRIPT,
+ SVX_ESCAPEMENT_END
+};
+
+enum SvxShadowLocation
+{
+ SVX_SHADOW_NONE,
+ SVX_SHADOW_TOPLEFT,
+ SVX_SHADOW_TOPRIGHT,
+ SVX_SHADOW_BOTTOMLEFT,
+ SVX_SHADOW_BOTTOMRIGHT,
+ SVX_SHADOW_END
+};
+
+enum SvxTabAdjust
+{
+ SVX_TAB_ADJUST_LEFT = 0,
+ SVX_TAB_ADJUST_RIGHT,
+ SVX_TAB_ADJUST_DECIMAL,
+ SVX_TAB_ADJUST_CENTER,
+ SVX_TAB_ADJUST_DEFAULT,
+ SVX_TAB_ADJUST_END
+};
+
+enum SvxLineSpace
+{
+ SVX_LINE_SPACE_AUTO,
+ SVX_LINE_SPACE_FIX,
+ SVX_LINE_SPACE_MIN,
+ SVX_LINE_SPACE_END
+};
+
+enum SvxInterLineSpace
+{
+ SVX_INTER_LINE_SPACE_OFF,
+ SVX_INTER_LINE_SPACE_PROP,
+ SVX_INTER_LINE_SPACE_FIX,
+ SVX_INTER_LINE_SPACE_END