summaryrefslogtreecommitdiff
path: root/svx/inc/svx
diff options
context:
space:
mode:
Diffstat (limited to 'svx/inc/svx')
-rw-r--r--svx/inc/svx/ActionDescriptionProvider.hxx68
-rw-r--r--svx/inc/svx/DescriptionGenerator.hxx219
-rw-r--r--svx/inc/svx/EnhancedCustomShape2d.hxx223
-rw-r--r--svx/inc/svx/EnhancedCustomShapeGeometry.hxx104
-rw-r--r--svx/inc/svx/EnhancedCustomShapeTypeNames.hxx42
-rw-r--r--svx/inc/svx/ParseContext.hxx93
-rw-r--r--svx/inc/svx/UnoNamespaceMap.hxx48
-rw-r--r--svx/inc/svx/XPropertyTable.hxx46
-rw-r--r--svx/inc/svx/anchorid.hxx45
-rw-r--r--svx/inc/svx/chrtitem.hxx384
-rw-r--r--svx/inc/svx/clipboardctl.hxx68
-rw-r--r--svx/inc/svx/clipfmtitem.hxx69
-rw-r--r--svx/inc/svx/connctrl.hxx77
-rw-r--r--svx/inc/svx/databaseregistrationui.hxx56
-rw-r--r--svx/inc/svx/dbexch.hrc57
-rw-r--r--svx/inc/svx/dialcontrol.hxx140
-rwxr-xr-xsvx/inc/svx/dialogs.hrc72
-rw-r--r--svx/inc/svx/dlgutil.hxx47
-rw-r--r--svx/inc/svx/drawitem.hxx248
-rw-r--r--svx/inc/svx/exthelpid.hrc15
-rw-r--r--svx/inc/svx/extrusioncolorcontrol.hxx2
-rw-r--r--svx/inc/svx/flagsdef.hxx106
-rw-r--r--svx/inc/svx/float3d.hxx2
-rw-r--r--svx/inc/svx/fmgridif.hxx553
-rw-r--r--svx/inc/svx/fmobjfac.hxx53
-rw-r--r--svx/inc/svx/fmresids.hrc263
-rw-r--r--svx/inc/svx/fmsrccfg.hxx158
-rw-r--r--svx/inc/svx/fmsrcimp.hxx403
-rw-r--r--svx/inc/svx/fmtools.hxx2
-rw-r--r--svx/inc/svx/fontlb.hxx138
-rw-r--r--svx/inc/svx/fontworkgallery.hxx131
-rw-r--r--svx/inc/svx/formatpaintbrushctrl.hxx76
-rw-r--r--svx/inc/svx/galbrws.hxx119
-rw-r--r--svx/inc/svx/galctrl.hxx194
-rw-r--r--svx/inc/svx/gallery.hxx283
-rw-r--r--svx/inc/svx/gallery1.hxx1
-rw-r--r--svx/inc/svx/galtheme.hxx247
-rw-r--r--svx/inc/svx/globl3d.hxx53
-rw-r--r--svx/inc/svx/grafctrl.hxx194
-rw-r--r--svx/inc/svx/gridctrl.hxx4
-rw-r--r--svx/inc/svx/hlnkitem.hxx112
-rw-r--r--svx/inc/svx/htmlmode.hxx51
-rw-r--r--svx/inc/svx/hyperdlg.hxx60
-rw-r--r--svx/inc/svx/hyprlink.hxx45
-rw-r--r--svx/inc/svx/imapdlg.hxx203
-rw-r--r--svx/inc/svx/insctrl.hxx64
-rw-r--r--svx/inc/svx/langbox.hxx2
-rw-r--r--svx/inc/svx/layctrl.hxx81
-rw-r--r--svx/inc/svx/lboxctrl.hxx88
-rw-r--r--svx/inc/svx/linectrl.hxx177
-rw-r--r--svx/inc/svx/measctrl.hxx70
-rw-r--r--svx/inc/svx/modctrl.hxx58
-rw-r--r--svx/inc/svx/msdffdef.hxx2
-rw-r--r--svx/inc/svx/numvset.hxx157
-rw-r--r--svx/inc/svx/obj3d.hxx1
-rw-r--r--svx/inc/svx/objfac3d.hxx59
-rw-r--r--svx/inc/svx/ofaitem.hxx56
-rw-r--r--svx/inc/svx/optgenrl.hxx51
-rw-r--r--svx/inc/svx/optgrid.hxx181
-rw-r--r--svx/inc/svx/orienthelper.hxx134
-rw-r--r--svx/inc/svx/passwd.hxx82
-rw-r--r--svx/inc/svx/pfiledlg.hxx64
-rw-r--r--svx/inc/svx/postattr.hxx132
-rw-r--r--svx/inc/svx/prtqry.hxx43
-rw-r--r--svx/inc/svx/pszctrl.hxx64
-rw-r--r--svx/inc/svx/relfld.hxx67
-rw-r--r--svx/inc/svx/rotmodit.hxx71
-rw-r--r--svx/inc/svx/rubydialog.hxx202
-rw-r--r--svx/inc/svx/rulritem.hxx305
-rw-r--r--svx/inc/svx/sdr/contact/objectcontactofobjlistpainter.hxx9
-rw-r--r--svx/inc/svx/sdrpagewindow.hxx1
-rw-r--r--svx/inc/svx/sdrpaintwindow.hxx167
-rw-r--r--svx/inc/svx/selctrl.hxx63
-rw-r--r--svx/inc/svx/simptabl.hxx2
-rw-r--r--svx/inc/svx/splitcelldlg.hxx2
-rw-r--r--svx/inc/svx/srchdlg.hxx306
-rw-r--r--svx/inc/svx/svdedtv.hxx12
-rw-r--r--svx/inc/svx/svdglob.hxx71
-rw-r--r--svx/inc/svx/svdhdl.hxx2
-rw-r--r--svx/inc/svx/svditer.hxx83
-rw-r--r--svx/inc/svx/svditext.hxx39
-rw-r--r--svx/inc/svx/svdmodel.hxx4
-rw-r--r--svx/inc/svx/svdograf.hxx3
-rw-r--r--svx/inc/svx/svdpagv.hxx3
-rw-r--r--svx/inc/svx/svdpntv.hxx3
-rw-r--r--svx/inc/svx/svdstr.hrc723
-rw-r--r--svx/inc/svx/svdviter.hxx124
-rw-r--r--svx/inc/svx/svimbase.hxx208
-rw-r--r--svx/inc/svx/svx3ditems.hxx2
-rw-r--r--svx/inc/svx/svxcommands.h604
-rw-r--r--svx/inc/svx/svxdlg.hxx10
-rw-r--r--svx/inc/svx/svxerr.hxx109
-rw-r--r--svx/inc/svx/svxgrahicitem.hxx57
-rw-r--r--svx/inc/svx/swframeexample.hxx104
-rw-r--r--svx/inc/svx/swframeposstrings.hxx96
-rw-r--r--svx/inc/svx/swframevalidation.hxx89
-rw-r--r--svx/inc/svx/tabarea.hxx2
-rw-r--r--svx/inc/svx/tabline.hxx2
-rw-r--r--svx/inc/svx/tbxalign.hxx57
-rw-r--r--svx/inc/svx/tbxcolor.hxx73
-rw-r--r--svx/inc/svx/tbxctl.hxx64
-rw-r--r--svx/inc/svx/tbxcustomshapes.hxx70
-rw-r--r--svx/inc/svx/tbxdraw.hxx77
-rw-r--r--svx/inc/svx/txencbox.hxx121
-rw-r--r--svx/inc/svx/txenctab.hxx55
-rw-r--r--svx/inc/svx/unoapi.hxx102
-rw-r--r--svx/inc/svx/unofill.hxx46
-rw-r--r--svx/inc/svx/unomaster.hxx68
-rw-r--r--svx/inc/svx/unopool.hxx99
-rw-r--r--svx/inc/svx/unoshcol.hxx103
-rw-r--r--svx/inc/svx/unoshtxt.hxx2
-rw-r--r--svx/inc/svx/verttexttbxctrl.hxx66
-rw-r--r--svx/inc/svx/wrapfield.hxx60
-rw-r--r--svx/inc/svx/xattr.hxx54
-rw-r--r--svx/inc/svx/xdef.hxx3
-rw-r--r--svx/inc/svx/xexch.hxx69
-rw-r--r--svx/inc/svx/xmleohlp.hxx152
-rw-r--r--svx/inc/svx/xmlexchg.hxx106
-rw-r--r--svx/inc/svx/xmlgrhlp.hxx166
-rw-r--r--svx/inc/svx/xmlsecctrl.hxx61
-rw-r--r--svx/inc/svx/xoutbmp.hxx100
-rw-r--r--svx/inc/svx/xpoly.hxx4
-rw-r--r--svx/inc/svx/zoom_def.hxx11
-rw-r--r--svx/inc/svx/zoomctrl.hxx61
124 files changed, 12445 insertions, 90 deletions
diff --git a/svx/inc/svx/ActionDescriptionProvider.hxx b/svx/inc/svx/ActionDescriptionProvider.hxx
new file mode 100644
index 0000000000..95e61a649f
--- /dev/null
+++ b/svx/inc/svx/ActionDescriptionProvider.hxx
@@ -0,0 +1,68 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVX_ACTIONDESCRIPTIONPROVIDER_HXX
+#define _SVX_ACTIONDESCRIPTIONPROVIDER_HXX
+
+#include "svx/svxdllapi.h"
+
+// header for class OUString
+#include <rtl/ustring.hxx>
+
+//-----------------------------------------------------------------------------
+/** This class provides localized descriptions for some basic actions done with objects.
+The strings are intended to be provided to the user e.g. as description for undo actions in the menu.
+The name of the object acted on and the type of action needs to be given as input parameter.
+*/
+
+class SVX_DLLPUBLIC ActionDescriptionProvider
+{
+public:
+ enum ActionType
+ {
+ INSERT
+ , DELETE
+ , CUT
+ , MOVE
+ , RESIZE
+ , ROTATE
+ , TRANSFORM
+ , FORMAT
+ , MOVE_TOTOP
+ , MOVE_TOBOTTOM
+ , POS_SIZE
+ };
+
+public:
+ static ::rtl::OUString createDescription( ActionType eActionType
+ , const ::rtl::OUString& rObjectName );
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/DescriptionGenerator.hxx b/svx/inc/svx/DescriptionGenerator.hxx
new file mode 100644
index 0000000000..4b951aaee0
--- /dev/null
+++ b/svx/inc/svx/DescriptionGenerator.hxx
@@ -0,0 +1,219 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+
+#ifndef _SVX_ACCESSIBILITY_DESCRIPTION_GENERATOR_HXX
+#define _SVX_ACCESSIBILITY_DESCRIPTION_GENERATOR_HXX
+
+#include <com/sun/star/drawing/XShape.hpp>
+#include <com/sun/star/beans/XPropertySet.hpp>
+#include <rtl/ustrbuf.hxx>
+#include "svx/svxdllapi.h"
+
+
+namespace accessibility {
+
+/** This class creates description strings for shapes.
+ <p>Initialized with a given shape additional calls to the
+ <member>addProperty</member> method will build a descriptive string that
+ starts with a general shape description and the shapes style. Appended
+ are all the specified property names and values that differ from the
+ default values in the style.</p>
+*/
+class SVX_DLLPUBLIC DescriptionGenerator
+{
+public:
+ enum PropertyType {
+ COLOR,
+ INTEGER,
+ STRING,
+ FILL_STYLE
+ };
+
+ /** Creates a new description generator with an empty description
+ string. Usually you will want to call initialize next to specifiy
+ a general description of the shape.
+ @param xShape
+ The shape from which properties will be extracted by later calls
+ to <member>addProperty</member>.
+ */
+ DescriptionGenerator (const ::com::sun::star::uno::Reference<
+ ::com::sun::star::drawing::XShape>& xShape);
+
+ ~DescriptionGenerator (void);
+
+ /** Initialize the description with the given prefix followed by the
+ shape's style in parantheses and a colon.
+ @param sPrefix
+ An introductory description of the shape that is made more
+ specific by later calls to <member>addProperty</member>.
+ */
+ void Initialize (::rtl::OUString sPrefix);
+
+ /** Initialize the description with the specified string from the
+ resource followed by the shape's style in parantheses and a colon.
+ @param nResourceId
+ A resource id the specifies the introductory description of the
+ shape that is made more specific by later calls to
+ <member>addProperty</member>.
+ */
+ void Initialize (sal_Int32 nResourceId);
+
+ /** Returns the description string and then resets it. Usually called
+ as last method before destroying the object.
+ @return
+ The description string in its current form.
+ */
+ ::rtl::OUString operator() (void);
+
+ /** Add the given property name and its associated value to the
+ description string. If the property value does not differ from the
+ default value of the shape's style then the description string is
+ not modified.
+ @param sPropertyName
+ The Name of the property to append.
+ @param aType
+ Type of the property's value. It controls the transformation
+ into the value's string representation.
+ @param sLocalizedName
+ Localized name of the property. An empty string tells the
+ method to use the property name instead.
+ @param nWhichId
+ This which id is used to localize the property value. If it is
+ not known a value of -1 signals to use a default representation.
+ */
+ void AddProperty (const ::rtl::OUString& sPropertyName,
+ PropertyType aType,
+ const ::rtl::OUString& sLocalizedName=::rtl::OUString(),
+ long nWhichId=-1);
+
+ /** Add the given property name and its associated value to the
+ description string. If the property value does not differ from the
+ default value of the shape's style then the description string is
+ not modified. This method forwards the request to its cousing but
+ first replaces the id of the localized name by the associated string
+ from the resource.
+ @param sPropertyName
+ The Name of the property to append.
+ @param aType
+ Type of the property's value. It controls the transformation
+ into the value's string representation.
+ @param nResourceId
+ Id of the kocalized name of the property int the resource.
+ @param nWhichId
+ This which id is used to localize the property value. If it is
+ not known a value of -1 signals to use a default representation.
+ */
+ void AddProperty (const ::rtl::OUString& sPropertyName,
+ PropertyType aType,
+ sal_Int32 nResourceId,
+ long nWhichId=-1);
+
+ /** Append the given string as is to the current description.
+ @param sString
+ String to append to the current description. It is not modified
+ in any way.
+ */
+ void AppendString (const ::rtl::OUString& sString);
+
+ /** This method adds for debuging and development the list of all known
+ properties to the description. Don't use in production code.
+ */
+ void AddPropertyNames (void);
+
+ /** Add properties that describe line and border attributes.
+ */
+ void AddLineProperties (void);
+
+ /** Add properties that describe how areas are filled.
+ */
+ void AddFillProperties (void);
+
+ /** Add properties that describesattributes of 3D objects.
+ */
+ void Add3DProperties (void);
+
+ /** Add properties that describe text attributes.
+ */
+ void AddTextProperties (void);
+
+private:
+ /// Reference to the shape from which the properties are extracted.
+ ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape> mxShape;
+
+ /// Reference to the shape's property set.
+ ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet> mxSet;
+
+ /// The description string that is build.
+ ::rtl::OUStringBuffer msDescription;
+
+ /** This flag is used to determine whether to insert a separator e.g. a
+ comma before the next property.
+ */
+ bool mbIsFirstProperty;
+
+ /** Add a property value formated as color to the description string.
+ */
+ SVX_DLLPRIVATE void AddColor (const ::rtl::OUString& sPropertyName,
+ const ::rtl::OUString& sLocalizedName);
+
+ /** Add a property value of unknown type to the description string.
+ */
+ SVX_DLLPRIVATE void AddUnknown (const ::rtl::OUString& sPropertyName,
+ const ::rtl::OUString& sLocalizedName);
+
+ /** Add a property value formated as integer to the description string.
+ */
+ SVX_DLLPRIVATE void AddInteger (const ::rtl::OUString& sPropertyName,
+ const ::rtl::OUString& sLocalizedName);
+
+ /** Add a property value formated as string to the description string.
+ @param sPropertyName
+ Name of the property.
+ */
+ SVX_DLLPRIVATE void AddString (const ::rtl::OUString& sPropertyName,
+ const ::rtl::OUString& sLocalizedName, long nWhichId = -1);
+
+ /** Add a property value formated as fill style to the description
+ string. If the fill style is <const>HATCH</const>,
+ <const>GRADIENT</const>, or <const>BITMAP</const>, then the of the
+ hatch, gradient, or bitmap is appended as well.
+ @param sPropertyName
+ Name of the property. Usually this will be "FillStyle".
+ */
+ SVX_DLLPRIVATE void AddFillStyle (const ::rtl::OUString& sPropertyName,
+ const ::rtl::OUString& sLocalizedName);
+};
+
+
+} // end of namespace accessibility
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/EnhancedCustomShape2d.hxx b/svx/inc/svx/EnhancedCustomShape2d.hxx
new file mode 100644
index 0000000000..568f533385
--- /dev/null
+++ b/svx/inc/svx/EnhancedCustomShape2d.hxx
@@ -0,0 +1,223 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _ENHANCEDCUSTOMSHAPE2D_HXX
+#define _ENHANCEDCUSTOMSHAPE2D_HXX
+
+#include <svx/msdffdef.hxx>
+#include <svx/sdasitm.hxx>
+#include <com/sun/star/uno/Sequence.h>
+#include <com/sun/star/beans/PropertyValues.hpp>
+#include <com/sun/star/awt/Point.hpp>
+#include <svl/itemset.hxx>
+#include <com/sun/star/drawing/EnhancedCustomShapeParameterPair.hpp>
+#include <com/sun/star/drawing/EnhancedCustomShapeSegment.hpp>
+#include <com/sun/star/drawing/EnhancedCustomShapeParameter.hpp>
+#include <com/sun/star/drawing/EnhancedCustomShapeTextFrame.hpp>
+#include <com/sun/star/drawing/EnhancedCustomShapeAdjustmentValue.hpp>
+#include <svx/EnhancedCustomShapeFunctionParser.hxx>
+
+#include <boost/shared_ptr.hpp>
+#include <vector>
+
+#define DFF_CUSTOMSHAPE_FLIP_V 1
+#define DFF_CUSTOMSHAPE_FLIP_H 2
+#define DFF_CUSTOMSHAPE_EXCH 4
+
+class SdrModel;
+class SdrObject;
+class SfxItemSet;
+struct SvxMSDffVertPair;
+struct SvxMSDffCalculationData;
+struct SvxMSDffTextRectangles;
+class SvxMSDffAdjustmentHandle;
+
+#define HANDLE_FLAGS_MIRRORED_X 0x0001
+#define HANDLE_FLAGS_MIRRORED_Y 0x0002
+#define HANDLE_FLAGS_SWITCHED 0x0004
+#define HANDLE_FLAGS_POLAR 0x0008
+#define HANDLE_FLAGS_MAP 0x0010
+#define HANDLE_FLAGS_RANGE_X_MINIMUM 0x0020
+#define HANDLE_FLAGS_RANGE_X_MAXIMUM 0x0040
+#define HANDLE_FLAGS_RANGE_Y_MINIMUM 0x0080
+#define HANDLE_FLAGS_RANGE_Y_MAXIMUM 0x0100
+#define HANDLE_FLAGS_RADIUS_RANGE_MINIMUM 0x0200
+#define HANDLE_FLAGS_RADIUS_RANGE_MAXIMUM 0x0400
+#define HANDLE_FLAGS_REFX 0x0800
+#define HANDLE_FLAGS_REFY 0x1000
+#define HANDLE_FLAGS_REFANGLE 0x2000
+#define HANDLE_FLAGS_REFR 0x4000
+
+// MSDFF_HANDLE_FLAGS_RANGE_Y seems to be not defined in
+// escher, but we are using it internally in to differentiate
+// between X_RANGE and Y_RANGE
+
+class SdrPathObj;
+
+class EnhancedCustomShape2d : public SfxItemSet
+{
+ SdrObject* pCustomShapeObj;
+ MSO_SPT eSpType;
+
+ sal_Int32 nCoordLeft;
+ sal_Int32 nCoordTop;
+ sal_Int32 nCoordWidth;
+ sal_Int32 nCoordHeight;
+ Rectangle aLogicRect;
+
+ double fXScale;
+ double fYScale;
+ double fXRatio;
+ double fYRatio;
+
+ sal_Int32 nXRef;
+ sal_Int32 nYRef;
+ sal_uInt32 nFlags;
+ sal_uInt32 nColorData;
+
+ /*
+
+ */
+ com::sun::star::uno::Sequence< rtl::OUString > seqEquations;
+ std::vector< ::boost::shared_ptr< EnhancedCustomShape::ExpressionNode > > vNodesSharedPtr;
+
+
+ com::sun::star::uno::Sequence< com::sun::star::drawing::EnhancedCustomShapeSegment > seqSegments;
+ com::sun::star::uno::Sequence< com::sun::star::drawing::EnhancedCustomShapeParameterPair> seqCoordinates;
+ com::sun::star::uno::Sequence< com::sun::star::drawing::EnhancedCustomShapeTextFrame > seqTextFrames;
+ com::sun::star::uno::Sequence< com::sun::star::drawing::EnhancedCustomShapeParameterPair> seqGluePoints;
+ com::sun::star::uno::Sequence< com::sun::star::drawing::EnhancedCustomShapeAdjustmentValue > seqAdjustmentValues;
+ com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValues > seqHandles;
+
+ sal_Bool bTextFlow : 1;
+ sal_Bool bFilled : 1;
+ sal_Bool bStroked : 1;
+
+ sal_Bool bFlipH;
+ sal_Bool bFlipV;
+ sal_Int32 nRotateAngle;
+
+ sal_Bool SetAdjustValueAsDouble( const double& rValue, const sal_Int32 nIndex );
+ sal_Int32 GetLuminanceChange( sal_uInt32 nIndex ) const;
+ Color GetColorData( const Color& rFillColor, sal_uInt32 nIndex ) const;
+ void AdaptObjColor(SdrPathObj& rObj, const SfxItemSet& rCustomShapeSet,
+ sal_uInt32& nColorIndex, sal_uInt32 nColorCount);
+ sal_Bool GetParameter( double& rParameterReturnValue, const com::sun::star::drawing::EnhancedCustomShapeParameter&,
+ const sal_Bool bReplaceGeoWidth, const sal_Bool bReplaceGeoHeight ) const;
+ Point GetPoint( const com::sun::star::drawing::EnhancedCustomShapeParameterPair&,
+ const sal_Bool bScale = sal_True, const sal_Bool bReplaceGeoSize = sal_False ) const;
+
+ void CreateSubPath( sal_uInt16& rSrcPt, sal_uInt16& rSegmentInd, std::vector< SdrPathObj* >& rObjectList,
+ sal_Bool bLineGeometryNeededOnly, sal_Bool bSortFilledObjectsToBack );
+ SdrObject* CreatePathObj( sal_Bool bLineGeometryNeededOnly );
+ const sal_Int32* ApplyShapeAttributes( const SdrCustomShapeGeometryItem& rItem );
+
+ public :
+
+ struct Handle
+ {
+ sal_uInt32 nFlags;
+
+ sal_Bool bMirroredX;
+ sal_Bool bMirroredY;
+ sal_Bool bSwitched;
+
+ com::sun::star::drawing::EnhancedCustomShapeParameterPair aPosition;
+ com::sun::star::drawing::EnhancedCustomShapeParameterPair aPolar;
+
+ sal_Int32 nRefX;
+ sal_Int32 nRefY;
+ sal_Int32 nRefAngle;
+ sal_Int32 nRefR;
+
+ com::sun::star::drawing::EnhancedCustomShapeParameter aRadiusRangeMinimum;
+ com::sun::star::drawing::EnhancedCustomShapeParameter aRadiusRangeMaximum;
+ com::sun::star::drawing::EnhancedCustomShapeParameter aXRangeMinimum;
+ com::sun::star::drawing::EnhancedCustomShapeParameter aXRangeMaximum;
+ com::sun::star::drawing::EnhancedCustomShapeParameter aYRangeMinimum;
+ com::sun::star::drawing::EnhancedCustomShapeParameter aYRangeMaximum;
+
+ Handle() : bMirroredX ( sal_False ), bMirroredY ( sal_False ), bSwitched( sal_False ),
+ nRefX( -1 ), nRefY( -1 ), nRefAngle( -1 ), nRefR( -1 ) {};
+ };
+
+ sal_Bool IsFlipVert() { return bFlipV; };
+ sal_Bool IsFlipHorz() { return bFlipH; };
+ sal_Int32 GetRotateAngle() { return nRotateAngle; };
+
+ SVX_DLLPUBLIC SdrObject* CreateLineGeometry();
+ SVX_DLLPUBLIC SdrObject* CreateObject( sal_Bool bLineGeometryNeededOnly );
+ SVX_DLLPUBLIC void ApplyGluePoints( SdrObject* pObj );
+ SVX_DLLPUBLIC Rectangle GetTextRect() const;
+
+ SVX_DLLPUBLIC sal_uInt32 GetHdlCount() const;
+ SVX_DLLPUBLIC sal_Bool GetHandlePosition( const sal_uInt32 nIndex, Point& rReturnPosition ) const;
+ SVX_DLLPUBLIC sal_Bool SetHandleControllerPosition( const sal_uInt32 nIndex, const com::sun::star::awt::Point& rPosition );
+
+ SVX_DLLPUBLIC EnhancedCustomShape2d( SdrObject* pSdrObjCustomShape );
+ SVX_DLLPUBLIC ~EnhancedCustomShape2d();
+
+ enum EnumFunc
+ {
+ ENUM_FUNC_PI,
+ ENUM_FUNC_LEFT,
+ ENUM_FUNC_TOP,
+ ENUM_FUNC_RIGHT,
+ ENUM_FUNC_BOTTOM,
+ ENUM_FUNC_XSTRETCH,
+ ENUM_FUNC_YSTRETCH,
+ ENUM_FUNC_HASSTROKE,
+ ENUM_FUNC_HASFILL,
+ ENUM_FUNC_WIDTH,
+ ENUM_FUNC_HEIGHT,
+ ENUM_FUNC_LOGWIDTH,
+ ENUM_FUNC_LOGHEIGHT
+ };
+ double GetEnumFunc( const EnumFunc eVal ) const;
+
+ double GetAdjustValueAsDouble( const sal_Int32 nIndex ) const;
+ double GetEquationValueAsDouble( const sal_Int32 nIndex ) const;
+ sal_Int32 GetAdjustValueAsInteger( const sal_Int32 nIndex, const sal_Int32 nDefault = 0 ) const;
+
+ SVX_DLLPUBLIC static rtl::OUString GetEquation( const sal_uInt16 nFlags, sal_Int16 nPara1, sal_Int16 nPara2, sal_Int16 nPara3 );
+
+ static void AppendEnhancedCustomShapeEquationParameter( rtl::OUString& rParameter, const sal_Int16 nPara, const sal_Bool bIsSpecialValue );
+
+ static void SetEnhancedCustomShapeEquationParameter( com::sun::star::drawing::EnhancedCustomShapeParameter&
+ rParameter, const sal_Int16 nPara, const sal_Bool bIsSpecialValue );
+ SVX_DLLPUBLIC static void SetEnhancedCustomShapeParameter( com::sun::star::drawing::EnhancedCustomShapeParameter&
+ rParameter, const sal_Int32 nValue );
+ SVX_DLLPUBLIC static void SetEnhancedCustomShapeHandleParameter( com::sun::star::drawing::EnhancedCustomShapeParameter&
+ rParameter, const sal_Int32 nPara, const sal_Bool bIsSpecialValue, sal_Bool bHorz );
+ static sal_Bool ConvertSequenceToEnhancedCustomShape2dHandle( const com::sun::star::beans::PropertyValues& rHandleProperties,
+ EnhancedCustomShape2d::Handle& rDestinationHandle );
+ static void SwapStartAndEndArrow( SdrObject* pObj );
+};
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/EnhancedCustomShapeGeometry.hxx b/svx/inc/svx/EnhancedCustomShapeGeometry.hxx
new file mode 100644
index 0000000000..4c16eb1bf7
--- /dev/null
+++ b/svx/inc/svx/EnhancedCustomShapeGeometry.hxx
@@ -0,0 +1,104 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _ENHANCEDCUSTOMSHAPEGEOMETRY_HXX
+#define _ENHANCEDCUSTOMSHAPEGEOMETRY_HXX
+
+#include <sal/types.h>
+#include <svx/msdffdef.hxx>
+
+struct SvxMSDffVertPair
+{
+ sal_Int32 nValA;
+ sal_Int32 nValB;
+};
+struct SvxMSDffCalculationData
+{
+ sal_uInt16 nFlags;
+ sal_Int16 nVal[ 3 ];
+};
+struct SvxMSDffTextRectangles
+{
+ SvxMSDffVertPair nPairA;
+ SvxMSDffVertPair nPairB;
+};
+
+#define MSDFF_HANDLE_FLAGS_MIRRORED_X 0x0001
+#define MSDFF_HANDLE_FLAGS_MIRRORED_Y 0x0002
+#define MSDFF_HANDLE_FLAGS_SWITCHED 0x0004
+#define MSDFF_HANDLE_FLAGS_POLAR 0x0008
+#define MSDFF_HANDLE_FLAGS_MAP 0x0010
+#define MSDFF_HANDLE_FLAGS_RANGE 0x0020
+#define MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL 0x0080
+#define MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL 0x0100
+#define MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL 0x0200
+#define MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL 0x0400
+#define MSDFF_HANDLE_FLAGS_CENTER_X_IS_SPECIAL 0x0800
+#define MSDFF_HANDLE_FLAGS_CENTER_Y_IS_SPECIAL 0x1000
+#define MSDFF_HANDLE_FLAGS_RADIUS_RANGE 0x2000
+
+struct SvxMSDffHandle
+{
+ sal_uInt32 nFlags;
+ sal_Int32 nPositionX, nPositionY, nCenterX, nCenterY, nRangeXMin, nRangeXMax, nRangeYMin, nRangeYMax;
+};
+struct mso_CustomShape
+{
+ SvxMSDffVertPair* pVertices;
+ sal_uInt32 nVertices;
+ sal_uInt16* pElements;
+ sal_uInt32 nElements;
+ SvxMSDffCalculationData* pCalculation;
+ sal_uInt32 nCalculation;
+ sal_Int32* pDefData;
+ SvxMSDffTextRectangles* pTextRect;
+ sal_uInt32 nTextRect;
+ sal_Int32 nCoordWidth;
+ sal_Int32 nCoordHeight;
+ sal_Int32 nXRef;
+ sal_Int32 nYRef;
+ SvxMSDffVertPair* pGluePoints;
+ sal_uInt32 nGluePoints;
+ SvxMSDffHandle* pHandles;
+ sal_uInt32 nHandles;
+};
+
+#define MSO_I | (sal_Int32)0x80000000
+
+sal_Bool SortFilledObjectsToBackByDefault( MSO_SPT eSpType );
+SVX_DLLPUBLIC sal_Bool IsCustomShapeFilledByDefault( MSO_SPT eSpType );
+SVX_DLLPUBLIC sal_Int16 GetCustomShapeConnectionTypeDefault( MSO_SPT eSpType );
+
+// #i28269#
+SVX_DLLPUBLIC sal_Bool IsCustomShapeStrokedByDefault( MSO_SPT eSpType );
+
+SVX_DLLPUBLIC const mso_CustomShape* GetCustomShapeContent( MSO_SPT eSpType );
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/EnhancedCustomShapeTypeNames.hxx b/svx/inc/svx/EnhancedCustomShapeTypeNames.hxx
new file mode 100644
index 0000000000..4432c7a8a1
--- /dev/null
+++ b/svx/inc/svx/EnhancedCustomShapeTypeNames.hxx
@@ -0,0 +1,42 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _ENHANCED_CUSTOMSHAPE_TYPE_NAMES_HXX
+#define _ENHANCED_CUSTOMSHAPE_TYPE_NAMES_HXX
+#include <svx/msdffdef.hxx>
+#include <rtl/ustring.hxx>
+
+namespace EnhancedCustomShapeTypeNames
+{
+ SVX_DLLPUBLIC MSO_SPT Get( const rtl::OUString& );
+ SVX_DLLPUBLIC rtl::OUString Get( const MSO_SPT );
+}
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/ParseContext.hxx b/svx/inc/svx/ParseContext.hxx
new file mode 100644
index 0000000000..fa90223515
--- /dev/null
+++ b/svx/inc/svx/ParseContext.hxx
@@ -0,0 +1,93 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef SVX_QUERYDESIGNCONTEXT_HXX
+#define SVX_QUERYDESIGNCONTEXT_HXX
+
+#include "svx/svxdllapi.h"
+#include <connectivity/IParseContext.hxx>
+#include <tools/string.hxx>
+#include <unotools/localedatawrapper.hxx>
+
+
+#include <vector>
+
+namespace svxform
+{
+ //==========================================================================
+ //= OSystemParseContext
+ //==========================================================================
+ class SVX_DLLPUBLIC OSystemParseContext : public ::connectivity::IParseContext
+ {
+ private:
+
+ ::std::vector< String > m_aLocalizedKeywords;
+
+ public:
+ OSystemParseContext();
+
+ virtual ~OSystemParseContext();
+ // retrieves language specific error messages
+ virtual ::rtl::OUString getErrorMessage(ErrorCode _eCodes) const;
+
+ // retrieves language specific keyword strings (only ASCII allowed)
+ virtual ::rtl::OString getIntlKeywordAscii(InternationalKeyCode _eKey) const;
+
+ // finds out, if we have an international keyword (only ASCII allowed)
+ virtual InternationalKeyCode getIntlKeyCode(const ::rtl::OString& rToken) const;
+
+ /** get's a locale instance which should be used when parsing in the context specified by this instance
+ <p>if this is not overridden by derived classes, it returns the static default locale.</p>
+ */
+ virtual ::com::sun::star::lang::Locale getPreferredLocale( ) const;
+
+ public:
+ // helper methods to ease access to some of the characteristics of the locale
+ sal_Unicode getNumDecimalSep( ) const;
+ sal_Unicode getNumThousandSep( ) const;
+ };
+
+ //==========================================================================
+ //= OParseContextClient
+ //==========================================================================
+ /** helper class which needs access to a (shared and ref-counted) OSystemParseContext
+ instance.
+ */
+ class SVX_DLLPUBLIC OParseContextClient
+ {
+ protected:
+ OParseContextClient();
+ virtual ~OParseContextClient();
+
+ const OSystemParseContext* getParseContext() const;
+ };
+}
+#endif // SVX_QUERYDESIGNCONTEXT_HXX
+
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/UnoNamespaceMap.hxx b/svx/inc/svx/UnoNamespaceMap.hxx
new file mode 100644
index 0000000000..eaa7712863
--- /dev/null
+++ b/svx/inc/svx/UnoNamespaceMap.hxx
@@ -0,0 +1,48 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVX_UNONAMESPACEMAP_HXX_
+#define _SVX_UNONAMESPACEMAP_HXX_
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include "svx/svxdllapi.h"
+
+class SfxItemPool;
+
+namespace svx {
+
+SVX_DLLPUBLIC com::sun::star::uno::Reference< com::sun::star::uno::XInterface > SAL_CALL NamespaceMap_createInstance( sal_uInt16* pWhichIds, SfxItemPool* pPool );
+
+/** deprecated */
+SVX_DLLPUBLIC com::sun::star::uno::Reference< com::sun::star::uno::XInterface > SAL_CALL NamespaceMap_createInstance( sal_uInt16* pWhichIds, SfxItemPool* pPool1, SfxItemPool* pPool2 );
+
+}
+
+#endif // _SVX_UNONAMESPACEMAP_HXX_
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/XPropertyTable.hxx b/svx/inc/svx/XPropertyTable.hxx
new file mode 100644
index 0000000000..45d8db0f25
--- /dev/null
+++ b/svx/inc/svx/XPropertyTable.hxx
@@ -0,0 +1,46 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVX_XPROPERTYTABLE_HXX
+#define _SVX_XPROPERTYTABLE_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include "svx/svxdllapi.h"
+#include <svx/xtable.hxx>
+
+SVX_DLLPUBLIC ::com::sun::star::uno::Reference< com::sun::star::uno::XInterface > SAL_CALL SvxUnoXColorTable_createInstance( XPropertyTable* pTable ) throw();
+SVX_DLLPUBLIC ::com::sun::star::uno::Reference< com::sun::star::uno::XInterface > SAL_CALL SvxUnoXLineEndTable_createInstance( XPropertyList* pList ) throw();
+SVX_DLLPUBLIC ::com::sun::star::uno::Reference< com::sun::star::uno::XInterface > SAL_CALL SvxUnoXDashTable_createInstance( XPropertyList* pList ) throw();
+SVX_DLLPUBLIC ::com::sun::star::uno::Reference< com::sun::star::uno::XInterface > SAL_CALL SvxUnoXHatchTable_createInstance( XPropertyList* pList ) throw();
+SVX_DLLPUBLIC ::com::sun::star::uno::Reference< com::sun::star::uno::XInterface > SAL_CALL SvxUnoXGradientTable_createInstance( XPropertyList* pList ) throw();
+SVX_DLLPUBLIC ::com::sun::star::uno::Reference< com::sun::star::uno::XInterface > SAL_CALL SvxUnoXBitmapTable_createInstance( XPropertyList* pList ) throw();
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/anchorid.hxx b/svx/inc/svx/anchorid.hxx
new file mode 100644
index 0000000000..516aebd18b
--- /dev/null
+++ b/svx/inc/svx/anchorid.hxx
@@ -0,0 +1,45 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_ANCHORID_HXX
+#define _SVX_ANCHORID_HXX
+
+
+enum SvxAnchorIds
+{
+ SVX_OBJ_AT_CNTNT = 0x01, // Frame bound to paragraph
+ SVX_OBJ_IN_CNTNT = 0x02, // Frame bound to character
+ SVX_OBJ_PAGE = 0x04, // Frame bound to page
+ SVX_OBJ_AT_FLY = 0x08 // Frame bound to other frame
+// SVX_OBJ_AUTO_CNTNT = 0x10 // Automatically positioned frame bound to paragraph
+};
+
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/chrtitem.hxx b/svx/inc/svx/chrtitem.hxx
new file mode 100644
index 0000000000..4ce6daea7b
--- /dev/null
+++ b/svx/inc/svx/chrtitem.hxx
@@ -0,0 +1,384 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_CHRTITEM_HXX
+#define _SVX_CHRTITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/eitem.hxx>
+#include "svx/svxdllapi.h"
+
+//------------------------------------------------------------------------
+
+enum SvxChartStyle
+{
+ CHSTYLE_2D_LINE,
+ CHSTYLE_2D_STACKEDLINE,
+ CHSTYLE_2D_PERCENTLINE,
+ CHSTYLE_2D_COLUMN,
+ CHSTYLE_2D_STACKEDCOLUMN,
+ CHSTYLE_2D_PERCENTCOLUMN,
+ CHSTYLE_2D_BAR,
+ CHSTYLE_2D_STACKEDBAR,
+ CHSTYLE_2D_PERCENTBAR,
+ CHSTYLE_2D_AREA,
+ CHSTYLE_2D_STACKEDAREA,
+ CHSTYLE_2D_PERCENTAREA,
+ CHSTYLE_2D_PIE,
+ CHSTYLE_3D_STRIPE,
+ CHSTYLE_3D_COLUMN,
+ CHSTYLE_3D_FLATCOLUMN,
+ CHSTYLE_3D_STACKEDFLATCOLUMN,
+ CHSTYLE_3D_PERCENTFLATCOLUMN,
+ CHSTYLE_3D_AREA,
+ CHSTYLE_3D_STACKEDAREA,
+ CHSTYLE_3D_PERCENTAREA,
+ CHSTYLE_3D_SURFACE,
+ CHSTYLE_3D_PIE,
+ CHSTYLE_2D_XY,
+ CHSTYLE_3D_XYZ,
+ CHSTYLE_2D_LINESYMBOLS,
+ CHSTYLE_2D_STACKEDLINESYM,
+ CHSTYLE_2D_PERCENTLINESYM,
+ CHSTYLE_2D_XYSYMBOLS,
+ CHSTYLE_3D_XYZSYMBOLS,
+ CHSTYLE_2D_DONUT1,
+ CHSTYLE_2D_DONUT2,
+ CHSTYLE_3D_BAR,
+ CHSTYLE_3D_FLATBAR,
+ CHSTYLE_3D_STACKEDFLATBAR,
+ CHSTYLE_3D_PERCENTFLATBAR,
+ CHSTYLE_2D_PIE_SEGOF1,
+ CHSTYLE_2D_PIE_SEGOFALL,
+ CHSTYLE_2D_NET,
+ CHSTYLE_2D_NET_SYMBOLS,
+ CHSTYLE_2D_NET_STACK,
+ CHSTYLE_2D_NET_SYMBOLS_STACK,
+ CHSTYLE_2D_NET_PERCENT,
+ CHSTYLE_2D_NET_SYMBOLS_PERCENT,
+ CHSTYLE_2D_CUBIC_SPLINE,
+ CHSTYLE_2D_CUBIC_SPLINE_SYMBOL,
+ CHSTYLE_2D_B_SPLINE,
+ CHSTYLE_2D_B_SPLINE_SYMBOL,
+ CHSTYLE_2D_CUBIC_SPLINE_XY,
+ CHSTYLE_2D_CUBIC_SPLINE_SYMBOL_XY,
+ CHSTYLE_2D_B_SPLINE_XY,
+ CHSTYLE_2D_B_SPLINE_SYMBOL_XY,
+ CHSTYLE_2D_XY_LINE,
+ CHSTYLE_2D_LINE_COLUMN,
+ CHSTYLE_2D_LINE_STACKEDCOLUMN,
+ CHSTYLE_2D_STOCK_1,
+ CHSTYLE_2D_STOCK_2,
+ CHSTYLE_2D_STOCK_3,
+ CHSTYLE_2D_STOCK_4,
+ CHSTYLE_ADDIN
+};
+
+#define CHSTYLE_COUNT (CHSTYLE_ADDIN + 1)
+
+enum SvxChartDataDescr
+{
+ CHDESCR_NONE,
+ CHDESCR_VALUE,
+ CHDESCR_PERCENT,
+ CHDESCR_TEXT,
+ CHDESCR_TEXTANDPERCENT,
+ CHDESCR_NUMFORMAT_PERCENT,
+ CHDESCR_NUMFORMAT_VALUE,
+ CHDESCR_TEXTANDVALUE
+};
+
+#define CHDESCR_COUNT (CHDESCR_TEXTANDVALUE + 1)
+
+enum SvxChartLegendPos
+{
+ CHLEGEND_NONE,
+ CHLEGEND_LEFT,
+ CHLEGEND_TOP,
+ CHLEGEND_RIGHT,
+ CHLEGEND_BOTTOM,
+ CHLEGEND_NONE_TOP,
+ CHLEGEND_NONE_LEFT,
+ CHLEGEND_NONE_RIGHT,
+ CHLEGEND_NONE_BOTTOM
+};
+
+#define CHLEGEND_COUNT (CHLEGEND_BOTTOM + 1)
+
+enum SvxChartTextOrder
+{
+ CHTXTORDER_SIDEBYSIDE,
+ CHTXTORDER_UPDOWN,
+ CHTXTORDER_DOWNUP,
+ CHTXTORDER_AUTO
+};
+
+#define CHTXTORDER_COUNT (CHTXTORDER_AUTO + 1)
+
+enum SvxChartTextOrient
+{
+ CHTXTORIENT_AUTOMATIC,
+ CHTXTORIENT_STANDARD,
+ CHTXTORIENT_BOTTOMTOP,
+ CHTXTORIENT_STACKED,
+ CHTXTORIENT_TOPBOTTOM
+};
+
+#define CHTXTORIENT_COUNT (CHTXTORIENT_TOPBOTTOM + 1)
+
+enum SvxChartKindError
+{
+ CHERROR_NONE,
+ CHERROR_VARIANT,
+ CHERROR_SIGMA,
+ CHERROR_PERCENT,
+ CHERROR_BIGERROR,
+ CHERROR_CONST,
+ CHERROR_STDERROR,
+ CHERROR_RANGE
+};
+
+#define CHERROR_COUNT (CHERROR_RANGE + 1)
+
+enum SvxChartIndicate
+{
+ CHINDICATE_NONE,
+ CHINDICATE_BOTH,
+ CHINDICATE_UP,
+ CHINDICATE_DOWN
+};
+
+#define CHINDICATE_COUNT (CHINDICATE_DOWN + 1)
+
+enum SvxChartRegress
+{
+ CHREGRESS_NONE,
+ CHREGRESS_LINEAR,
+ CHREGRESS_LOG,
+ CHREGRESS_EXP,
+ CHREGRESS_POWER
+};
+
+#define CHREGRESS_COUNT (CHREGRESS_POWER + 1)
+
+//------------------------------------------------------------------
+
+class SVX_DLLPUBLIC SvxChartStyleItem : public SfxEnumItem
+{
+public:
+ TYPEINFO();
+ SvxChartStyleItem(SvxChartStyle eStyle /*= CHSTYLE_2D_LINE*/,
+ USHORT nId );
+ SvxChartStyleItem(SvStream& rIn, USHORT nId );
+
+ virtual SfxPoolItem* Clone(SfxItemPool* pPool = 0) const;
+ virtual SfxPoolItem* Create(SvStream& rIn, USHORT nVer) const;
+
+ USHORT GetValueCount() const { return CHSTYLE_COUNT; }
+ SvxChartStyle GetValue() const
+ { return (SvxChartStyle)SfxEnumItem::GetValue(); }
+};
+
+//------------------------------------------------------------------
+
+class SVX_DLLPUBLIC SvxChartRegressItem : public SfxEnumItem
+{
+public:
+ TYPEINFO();
+ SvxChartRegressItem(SvxChartRegress eRegress /*= CHREGRESS_LINEAR*/,
+ USHORT nId );
+ SvxChartRegressItem(SvStream& rIn, USHORT nId );
+
+ virtual SfxPoolItem* Clone(SfxItemPool* pPool = 0) const;
+ virtual SfxPoolItem* Create(SvStream& rIn, USHORT nVer) const;
+
+ USHORT GetValueCount() const { return CHREGRESS_COUNT; }
+ SvxChartRegress GetValue() const
+ { return (SvxChartRegress)SfxEnumItem::GetValue(); }
+ USHORT GetVersion (USHORT nFileFormatVersion) const;
+};
+
+//------------------------------------------------------------------
+
+class SVX_DLLPUBLIC SvxChartDataDescrItem : public SfxEnumItem
+{
+public:
+ TYPEINFO();
+ SvxChartDataDescrItem(SvxChartDataDescr eDataDescr /*= CHDESCR_NONE*/,
+ USHORT nId );
+ SvxChartDataDescrItem(SvStream& rIn,
+ USHORT nId );
+
+ virtual SfxPoolItem* Clone(SfxItemPool* pPool = 0) const;
+ virtual SfxPoolItem* Create(SvStream& rIn, USHORT nVer) const;
+
+ USHORT GetValueCount() const { return CHDESCR_COUNT; }
+ SvxChartDataDescr GetValue() const
+ { return (SvxChartDataDescr)SfxEnumItem::GetValue(); }
+};
+
+//------------------------------------------------------------------
+
+class SVX_DLLPUBLIC SvxChartLegendPosItem : public SfxEnumItem
+{
+public:
+ TYPEINFO();
+ SvxChartLegendPosItem(SvxChartLegendPos eLegendPos /*= CHLEGEND_NONE*/,
+ USHORT nId );
+ SvxChartLegendPosItem(SvStream& rIn,
+ USHORT nId );
+
+ virtual SfxPoolItem* Clone(SfxItemPool* pPool = 0) const;
+ virtual SfxPoolItem* Create(SvStream& rIn, USHORT nVer) const;
+
+ USHORT GetValueCount() const { return CHLEGEND_COUNT; }
+ SvxChartLegendPos GetValue() const
+ { return (SvxChartLegendPos)SfxEnumItem::GetValue(); }
+};
+
+//------------------------------------------------------------------
+
+class SVX_DLLPUBLIC SvxChartTextOrderItem : public SfxEnumItem
+{
+public:
+ TYPEINFO();
+ SvxChartTextOrderItem(SvxChartTextOrder eOrder /*= CHTXTORDER_SIDEBYSIDE*/,
+ USHORT nId );
+ SvxChartTextOrderItem(SvStream& rIn,
+ USHORT nId );
+
+ virtual SfxPoolItem* Clone(SfxItemPool* pPool = 0) const;
+ virtual SfxPoolItem* Create(SvStream& rIn, USHORT nVer) const;
+
+ 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 );
+
+ USHORT GetValueCount() const { return CHTXTORDER_COUNT; }
+ SvxChartTextOrder GetValue() const
+ { return (SvxChartTextOrder)SfxEnumItem::GetValue(); }
+};
+
+//------------------------------------------------------------------
+
+class SVX_DLLPUBLIC SvxChartTextOrientItem : public SfxEnumItem
+{
+public:
+ TYPEINFO();
+ SvxChartTextOrientItem(SvxChartTextOrient /*eOrient = CHTXTORIENT_STANDARD*/,
+ USHORT nId );
+ SvxChartTextOrientItem(SvStream& rIn,
+ USHORT nId );
+
+ virtual SfxPoolItem* Clone(SfxItemPool* pPool = 0) const;
+ virtual SfxPoolItem* Create(SvStream& rIn, USHORT nVer) const;
+
+ USHORT GetValueCount() const { return CHTXTORDER_COUNT; }
+ SvxChartTextOrient GetValue() const
+ { return (SvxChartTextOrient)SfxEnumItem::GetValue(); }
+};
+
+//------------------------------------------------------------------
+
+class SVX_DLLPUBLIC SvxChartKindErrorItem : public SfxEnumItem
+{
+public:
+ TYPEINFO();
+ SvxChartKindErrorItem(SvxChartKindError /*eOrient = CHERROR_NONE*/,
+ USHORT nId );
+ SvxChartKindErrorItem(SvStream& rIn,
+ USHORT nId );
+
+ virtual SfxPoolItem* Clone(SfxItemPool* pPool = 0) const;
+ virtual SfxPoolItem* Create(SvStream& rIn, USHORT nVer) const;
+
+ USHORT GetValueCount() const { return CHERROR_COUNT; }
+ SvxChartKindError GetValue() const
+ { return (SvxChartKindError)SfxEnumItem::GetValue(); }
+
+ USHORT GetVersion (USHORT nFileFormatVersion) const;
+};
+
+//------------------------------------------------------------------
+
+class SVX_DLLPUBLIC SvxChartIndicateItem : public SfxEnumItem
+{
+public:
+ TYPEINFO();
+ SvxChartIndicateItem(SvxChartIndicate eOrient /*= CHINDICATE_NONE*/,
+ USHORT nId );
+ SvxChartIndicateItem(SvStream& rIn,
+ USHORT nId );
+
+ virtual SfxPoolItem* Clone(SfxItemPool* pPool = 0) const;
+ virtual SfxPoolItem* Create(SvStream& rIn, USHORT nVer) const;
+
+ USHORT GetValueCount() const { return CHINDICATE_COUNT; }
+ SvxChartIndicate GetValue() const
+ { return (SvxChartIndicate)SfxEnumItem::GetValue(); }
+
+ USHORT GetVersion (USHORT nFileFormatVersion) const;
+};
+
+//------------------------------------------------------------------
+
+class SVX_DLLPUBLIC SvxDoubleItem : public SfxPoolItem
+{
+ double fVal;
+
+public:
+ TYPEINFO();
+ SvxDoubleItem(double fValue /*= 0.0*/, USHORT nId );
+ SvxDoubleItem(SvStream& rIn, USHORT nId );
+ SvxDoubleItem(const SvxDoubleItem& rItem);
+
+ 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 );
+
+ virtual String GetValueText() const;
+ virtual SfxItemPresentation GetPresentation(SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0) const;
+
+ virtual int operator == (const SfxPoolItem&) const;
+ virtual SfxPoolItem* Clone(SfxItemPool *pPool = NULL) const;
+ virtual SfxPoolItem* Create(SvStream& rIn, USHORT nVersion) const;
+ virtual SvStream& Store(SvStream& rOut, USHORT nItemVersion ) const;
+
+ virtual double GetMin() const;
+ virtual double GetMax() const;
+
+ virtual SfxFieldUnit GetUnit() const;
+
+ double GetValue() const { return fVal; }
+ void SetValue(double fNewVal) { fVal = fNewVal; }
+};
+
+#endif // _SVX_CHRTITEM_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/clipboardctl.hxx b/svx/inc/svx/clipboardctl.hxx
new file mode 100644
index 0000000000..48651a9e26
--- /dev/null
+++ b/svx/inc/svx/clipboardctl.hxx
@@ -0,0 +1,68 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVX_CLIPBOARDCTL_HXX_
+#define _SVX_CLIPBOARDCTL_HXX_
+
+#include <sfx2/tbxctrl.hxx>
+#include <sfx2/ctrlitem.hxx>
+#include <svl/poolitem.hxx>
+
+
+#include "svx/svxdllapi.h"
+
+class PopupMenu;
+class SvxClipboardFmtItem;
+
+
+class SVX_DLLPUBLIC SvxClipBoardControl : public SfxToolBoxControl
+{
+ SfxPoolItem* pClipboardFmtItem;
+ PopupMenu* pPopup;
+ USHORT nItemId;
+ BOOL bDisabled;
+
+ void DelPopup();
+
+public:
+ SFX_DECL_TOOLBOX_CONTROL();
+
+ SvxClipBoardControl( USHORT nSlotId, USHORT nId, ToolBox& rTbx );
+ ~SvxClipBoardControl();
+
+ virtual SfxPopupWindowType GetPopupWindowType() const;
+ virtual SfxPopupWindow* CreatePopupWindow();
+ virtual void StateChanged( USHORT nSID,
+ SfxItemState eState,
+ const SfxPoolItem* pState );
+};
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/clipfmtitem.hxx b/svx/inc/svx/clipfmtitem.hxx
new file mode 100644
index 0000000000..03b9bc6aee
--- /dev/null
+++ b/svx/inc/svx/clipfmtitem.hxx
@@ -0,0 +1,69 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_CLIPFMTITEM_HXX
+#define _SVX_CLIPFMTITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <tools/gen.hxx>
+#include <svl/poolitem.hxx>
+#include "svx/svxdllapi.h"
+
+// class SvxClipboardFmtItem ----------------------------------------------
+struct SvxClipboardFmtItem_Impl;
+
+class SVX_DLLPUBLIC SvxClipboardFmtItem : public SfxPoolItem
+{
+ SvxClipboardFmtItem_Impl* pImpl;
+protected:
+
+ virtual int operator==( const SfxPoolItem& ) const;
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+
+public:
+ TYPEINFO();
+ SvxClipboardFmtItem( USHORT nId = 0 );
+ SvxClipboardFmtItem( const SvxClipboardFmtItem& );
+ virtual ~SvxClipboardFmtItem();
+
+ virtual bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId ) const;
+ virtual bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId );
+
+ void AddClipbrdFormat( ULONG nId, USHORT nPos = USHRT_MAX );
+ void AddClipbrdFormat( ULONG nId, const String& rName,
+ USHORT nPos = USHRT_MAX );
+ USHORT Count() const;
+
+ ULONG GetClipbrdFormatId( USHORT nPos ) const;
+ const String& GetClipbrdFormatName( USHORT nPos ) const;
+};
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/connctrl.hxx b/svx/inc/svx/connctrl.hxx
new file mode 100644
index 0000000000..5bd0160031
--- /dev/null
+++ b/svx/inc/svx/connctrl.hxx
@@ -0,0 +1,77 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_CONNCTRL_HXX
+#define _SVX_CONNCTRL_HXX
+
+// include ---------------------------------------------------------------
+
+#include <vcl/ctrl.hxx>
+#include "svx/svxdllapi.h"
+
+class SfxItemSet;
+class SdrEdgeObj;
+class SdrView;
+class SdrObjList;
+
+/*************************************************************************
+|*
+|* SvxXConnectionPreview
+|*
+\************************************************************************/
+class SVX_DLLPUBLIC SvxXConnectionPreview : public Control
+{
+ friend class SvxConnectionPage;
+
+private:
+ const SfxItemSet& rAttrs;
+ SdrEdgeObj* pEdgeObj;
+ SdrObjList* pObjList;
+ const SdrView* pView;
+
+ SVX_DLLPRIVATE void SetStyles();
+public:
+ SvxXConnectionPreview( Window* pParent, const ResId& rResId,
+ const SfxItemSet& rInAttrs );
+ ~SvxXConnectionPreview();
+
+ virtual void Paint( const Rectangle& rRect );
+ virtual void MouseButtonDown( const MouseEvent& rMEvt );
+
+ void SetAttributes( const SfxItemSet& rInAttrs );
+ USHORT GetLineDeltaAnz();
+
+ void Construct();
+ void SetView( const SdrView* pSdrView ) { pView = pSdrView; }
+
+ virtual void DataChanged( const DataChangedEvent& rDCEvt );
+};
+
+
+#endif // _SVX_CONNCTRL_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/databaseregistrationui.hxx b/svx/inc/svx/databaseregistrationui.hxx
new file mode 100644
index 0000000000..352913bf5e
--- /dev/null
+++ b/svx/inc/svx/databaseregistrationui.hxx
@@ -0,0 +1,56 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef SVX_DATABASE_REGISTRATION_UI_HXX
+#define SVX_DATABASE_REGISTRATION_UI_HXX
+
+#include "svx/svxdllapi.h"
+#include <tools/solar.h>
+
+class Window;
+
+#define SID_SB_POOLING_ENABLED (RID_OFA_START + 247)
+#define SID_SB_DRIVER_TIMEOUTS (RID_OFA_START + 248)
+#define SID_SB_DB_REGISTER (RID_OFA_START + 249)
+
+//........................................................................
+namespace svx
+{
+//........................................................................
+
+ /** opens a dialog which allows the user to administrate the database registrations
+ */
+ USHORT SVX_DLLPUBLIC administrateDatabaseRegistration( Window* _parentWindow );
+
+//........................................................................
+} // namespace svx
+//........................................................................
+
+#endif // SVX_DATABASE_REGISTRATION_UI_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/dbexch.hrc b/svx/inc/svx/dbexch.hrc
new file mode 100644
index 0000000000..1909ece6de
--- /dev/null
+++ b/svx/inc/svx/dbexch.hrc
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_DBEXCH_HRC
+#define _SVX_DBEXCH_HRC
+
+// Format zum Uebertragen von Daten aus dem DatenbankBrowser
+// Format: "Datenbankname";"Tabellen/QueryName"; 1/0(fuer Tabelle/Abfrage); SQL-Statement;Selektionsliste
+// Name der Tabelle kann leer sein
+// Feldtrenner ist "ASCII 11" !!!!
+// Selektionsliste:"" // alle selektiert
+// | "1;2;...n" // Selektierte Saetze, Start bei 1
+#define SBA_DATAEXCHANGE_FORMAT "SBA-DATAFORMAT"
+
+// Feldtrenner ist "ASCII 11" !!!!
+// Format zum Uebertragen von Feldname aus dem DatenbankBrowser
+// "Datenbankname";"Tabellen/QueryName";0(Tabelle) / 1(Abfrage) / 2(SQL) / 3(NATIVE_SQL);"Feldname"
+#define SBA_FIELDEXCHANGE_FORMAT "SBA-FIELDFORMAT"
+
+// Feldtrenner ist "ASCII 11" !!!!
+// Format zum Uebertragen von Feldinhalten aus dem DatenbankBrowser
+// "Datenbankname";"Tabellen/QueryName";1/0(fuer Tabelle/Abfrage);"Feldname";"FeldInhalt"
+#define SBA_FIELDDATAEXCHANGE_FORMAT "SBA-FIELDDATAFORMAT"
+
+// Office-internes Format (entspricht der private-URL )
+// Wird vom Writer und Calc benutzt, wenn Explorer-Contents gedraggt werden
+#define SBA_PRIVATEURL_EXCHANGE_FORMAT "SBA-PRIVATEURLFORMAT"
+
+// SBA-internes Format fuer das erzeugen von Joins in der RelationsShell
+#define SBA_JOIN_EXCHANGE_FORMAT "SBA-JOINFORMAT"
+
+
+#endif // _SVX_DBEXCH_HRC
+
diff --git a/svx/inc/svx/dialcontrol.hxx b/svx/inc/svx/dialcontrol.hxx
new file mode 100644
index 0000000000..5ead2c2b68
--- /dev/null
+++ b/svx/inc/svx/dialcontrol.hxx
@@ -0,0 +1,140 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef SVX_DIALCONTROL_HXX
+#define SVX_DIALCONTROL_HXX
+
+#include <memory>
+#include <vcl/ctrl.hxx>
+#include <sfx2/itemconnect.hxx>
+#include "svx/svxdllapi.h"
+
+class NumericField;
+
+namespace svx {
+
+// ============================================================================
+
+struct DialControl_Impl;
+
+/** This control allows to input a rotation angle, visualized by a dial.
+
+ Usage: A single click sets a rotation angle rounded to steps of 15 degrees.
+ Dragging with the left mouse button sets an exact rotation angle. Pressing
+ the ESCAPE key during mouse drag cancels the operation and restores the old
+ state of the control.
+
+ It is possible to link a numeric field to this control using the function
+ SetLinkedField(). The DialControl will take full control of this numeric
+ field:
+ - Sets the rotation angle to the numeric field in mouse operations.
+ - Shows the value entered/modified in the numeric field.
+ - Enables/disables/shows/hides the field according to own state changes.
+ */
+class SVX_DLLPUBLIC DialControl : public Control
+{
+public:
+ explicit DialControl( Window* pParent, const Size& rSize, const Font& rFont, WinBits nWinStyle = 0 );
+ explicit DialControl( Window* pParent, const Size& rSize, WinBits nWinStyle = 0 );
+ explicit DialControl( Window* pParent, const ResId& rResId );
+ virtual ~DialControl();
+
+ virtual void Paint( const Rectangle& rRect );
+
+ virtual void StateChanged( StateChangedType nStateChange );
+ virtual void DataChanged( const DataChangedEvent& rDCEvt );
+
+ virtual void MouseButtonDown( const MouseEvent& rMEvt );
+ virtual void MouseMove( const MouseEvent& rMEvt );
+ virtual void MouseButtonUp( const MouseEvent& rMEvt );
+ virtual void KeyInput( const KeyEvent& rKEvt );
+ virtual void LoseFocus();
+
+ /** Returns true, if the control is not in "don't care" state. */
+ bool HasRotation() const;
+ /** Sets the control to "don't care" state. */
+ void SetNoRotation();
+
+ /** Returns the current rotation angle in 1/100 degrees. */
+ sal_Int32 GetRotation() const;
+ /** Sets the rotation to the passed value (in 1/100 degrees). */
+ void SetRotation( sal_Int32 nAngle );
+
+ /** Links the passed numeric edit field to the control (bi-directional). */
+ void SetLinkedField( NumericField* pField );
+ /** Returns the linked numeric edit field, or 0. */
+ NumericField* GetLinkedField() const;
+
+ /** The passed handler is called whenever the totation value changes. */
+ void SetModifyHdl( const Link& rLink );
+ /** Returns the current modify handler. */
+ const Link& GetModifyHdl() const;
+
+private:
+ void Init( const Size& rWinSize, const Font& rWinFont );
+ void Init( const Size& rWinSize );
+ void InvalidateControl();
+
+ void ImplSetRotation( sal_Int32 nAngle, bool bBroadcast );
+ void ImplSetFieldLink( const Link& rLink );
+
+ void HandleMouseEvent( const Point& rPos, bool bInitial );
+ void HandleEscapeEvent();
+
+ DECL_LINK( LinkedFieldModifyHdl, NumericField* );
+
+ std::auto_ptr< DialControl_Impl > mpImpl;
+};
+
+// ============================================================================
+
+/** Wrapper for usage of a DialControl in item connections. */
+class SVX_DLLPUBLIC DialControlWrapper : public sfx::SingleControlWrapper< DialControl, sal_Int32 >
+{
+public:
+ explicit DialControlWrapper( DialControl& rDial );
+
+ virtual bool IsControlDontKnow() const;
+ virtual void SetControlDontKnow( bool bSet );
+
+ virtual sal_Int32 GetControlValue() const;
+ virtual void SetControlValue( sal_Int32 nValue );
+};
+
+// ----------------------------------------------------------------------------
+
+/** An item<->control connection for a DialControl. */
+typedef sfx::ItemControlConnection< sfx::Int32ItemWrapper, DialControlWrapper > DialControlConnection;
+
+// ============================================================================
+
+} // namespace svx
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/dialogs.hrc b/svx/inc/svx/dialogs.hrc
index e337502c03..224f0e1778 100755
--- a/svx/inc/svx/dialogs.hrc
+++ b/svx/inc/svx/dialogs.hrc
@@ -1,7 +1,7 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
+ *
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
@@ -155,8 +155,8 @@
#define SID_SD_TP_CONTENTS (RID_OFA_START + 225)
#define SID_SD_TP_SNAP (RID_OFA_START + 227)
#define SID_SD_TP_MISC (RID_OFA_START + 231)
-#define RID_OFA_TP_INTERNATIONAL_SD (RID_OFA_START + 253)
-#define RID_OFA_TP_INTERNATIONAL_IMPR (RID_OFA_START + 254)
+#define RID_OFA_TP_INTERNATIONAL_SD (RID_OFA_START + 253)
+#define RID_OFA_TP_INTERNATIONAL_IMPR (RID_OFA_START + 254)
#define RID_OFA_TP_INTERNATIONAL (RID_OFA_START + 252) // calc
//---------------------------------------------------------------------
@@ -180,7 +180,6 @@
#define RID_SVXSW_FRAMEPOSITIONS (RID_SVX_START + 289)
#define RID_SVXIL_FRAME (RID_SVX_START + 65)
-
#define RID_SVXDLG_3D (RID_SVX_START + 70)
#define RID_SVXPAGE_LIGHT3D (RID_SVX_START + 71)
#define RID_SVXPAGE_3DATTR (RID_SVX_START + 72)
@@ -307,9 +306,6 @@
#define RID_SVXBMP_3D_FOCAL_LENGTH_10 (RID_SVX_START + 181)
// for ToolboxControls alignment and draw objects
-#define RID_SVXTBX_DRAW (RID_SVX_START + 189)
-#define RID_SVXTBX_ALIGNMENT (RID_SVX_START + 190)
-
// Ids fuer auto correction
#define RID_SVX_AUTOCORR (RID_SVX_START + 192)
@@ -382,7 +378,6 @@
// ResIds for the PageDialog
#define RID_SVXSTR_CALC_PAGE (RID_SVX_START + 146)
#define RID_SVXSTR_DRAW_PAGE (RID_SVX_START + 147)
-
// Strings of the ToolBox-Controls from tbcontrl.cxx
#define RID_SVXSTR_FILLPATTERN (RID_SVX_START + 191)
#define RID_SVXSTR_FRAME (RID_SVX_START + 192)
@@ -893,33 +888,33 @@
#define RID_SVXSTR_STYLEFAMILY_TABLEDESIGN (RID_SVX_START + 1168)
// if you add here, remember to adjust RID_SVXSTR_NEXTFREE
-#define RID_SVXSTR_BULLET_DESCRIPTIONS (RID_SVX_START + 1138)//?
-#define RID_SVXSTR_SINGLENUM_DESCRIPTIONS (RID_SVX_START + 1146)//?
-#define RID_SVXSTR_OUTLINENUM_DESCRIPTIONS (RID_SVX_START + 1154)//?
-#define RID_SVXSTR_BULLET_DESCRIPTION_0 (RID_SVXSTR_BULLET_DESCRIPTIONS + 0)//?
-#define RID_SVXSTR_BULLET_DESCRIPTION_1 (RID_SVXSTR_BULLET_DESCRIPTIONS + 1)//?
-#define RID_SVXSTR_BULLET_DESCRIPTION_2 (RID_SVXSTR_BULLET_DESCRIPTIONS + 2)//?
-#define RID_SVXSTR_BULLET_DESCRIPTION_3 (RID_SVXSTR_BULLET_DESCRIPTIONS + 3)//?
-#define RID_SVXSTR_BULLET_DESCRIPTION_4 (RID_SVXSTR_BULLET_DESCRIPTIONS + 4)//?
-#define RID_SVXSTR_BULLET_DESCRIPTION_5 (RID_SVXSTR_BULLET_DESCRIPTIONS + 5)//?
-#define RID_SVXSTR_BULLET_DESCRIPTION_6 (RID_SVXSTR_BULLET_DESCRIPTIONS + 6)//?
-#define RID_SVXSTR_BULLET_DESCRIPTION_7 (RID_SVXSTR_BULLET_DESCRIPTIONS + 7)//?
-#define RID_SVXSTR_SINGLENUM_DESCRIPTION_0 (RID_SVXSTR_SINGLENUM_DESCRIPTIONS + 0)//?
-#define RID_SVXSTR_SINGLENUM_DESCRIPTION_1 (RID_SVXSTR_SINGLENUM_DESCRIPTIONS + 1)//?
-#define RID_SVXSTR_SINGLENUM_DESCRIPTION_2 (RID_SVXSTR_SINGLENUM_DESCRIPTIONS + 2)//?
-#define RID_SVXSTR_SINGLENUM_DESCRIPTION_3 (RID_SVXSTR_SINGLENUM_DESCRIPTIONS + 3)//?
-#define RID_SVXSTR_SINGLENUM_DESCRIPTION_4 (RID_SVXSTR_SINGLENUM_DESCRIPTIONS + 4)//?
-#define RID_SVXSTR_SINGLENUM_DESCRIPTION_5 (RID_SVXSTR_SINGLENUM_DESCRIPTIONS + 5)//?
-#define RID_SVXSTR_SINGLENUM_DESCRIPTION_6 (RID_SVXSTR_SINGLENUM_DESCRIPTIONS + 6)//?
-#define RID_SVXSTR_SINGLENUM_DESCRIPTION_7 (RID_SVXSTR_SINGLENUM_DESCRIPTIONS + 7)//?
-#define RID_SVXSTR_OUTLINENUM_DESCRIPTION_0 (RID_SVXSTR_OUTLINENUM_DESCRIPTIONS + 0)//?
-#define RID_SVXSTR_OUTLINENUM_DESCRIPTION_1 (RID_SVXSTR_OUTLINENUM_DESCRIPTIONS + 1)//?
-#define RID_SVXSTR_OUTLINENUM_DESCRIPTION_2 (RID_SVXSTR_OUTLINENUM_DESCRIPTIONS + 2)//?
-#define RID_SVXSTR_OUTLINENUM_DESCRIPTION_3 (RID_SVXSTR_OUTLINENUM_DESCRIPTIONS + 3)//?
-#define RID_SVXSTR_OUTLINENUM_DESCRIPTION_4 (RID_SVXSTR_OUTLINENUM_DESCRIPTIONS + 4)//?
-#define RID_SVXSTR_OUTLINENUM_DESCRIPTION_5 (RID_SVXSTR_OUTLINENUM_DESCRIPTIONS + 5)//?
-#define RID_SVXSTR_OUTLINENUM_DESCRIPTION_6 (RID_SVXSTR_OUTLINENUM_DESCRIPTIONS + 6)//?
-#define RID_SVXSTR_OUTLINENUM_DESCRIPTION_7 (RID_SVXSTR_OUTLINENUM_DESCRIPTIONS + 7)//?
+#define RID_SVXSTR_BULLET_DESCRIPTIONS (RID_SVX_START + 1138)//?
+#define RID_SVXSTR_SINGLENUM_DESCRIPTIONS (RID_SVX_START + 1146)//?
+#define RID_SVXSTR_OUTLINENUM_DESCRIPTIONS (RID_SVX_START + 1154)//?
+#define RID_SVXSTR_BULLET_DESCRIPTION_0 (RID_SVXSTR_BULLET_DESCRIPTIONS + 0)//?
+#define RID_SVXSTR_BULLET_DESCRIPTION_1 (RID_SVXSTR_BULLET_DESCRIPTIONS + 1)//?
+#define RID_SVXSTR_BULLET_DESCRIPTION_2 (RID_SVXSTR_BULLET_DESCRIPTIONS + 2)//?
+#define RID_SVXSTR_BULLET_DESCRIPTION_3 (RID_SVXSTR_BULLET_DESCRIPTIONS + 3)//?
+#define RID_SVXSTR_BULLET_DESCRIPTION_4 (RID_SVXSTR_BULLET_DESCRIPTIONS + 4)//?
+#define RID_SVXSTR_BULLET_DESCRIPTION_5 (RID_SVXSTR_BULLET_DESCRIPTIONS + 5)//?
+#define RID_SVXSTR_BULLET_DESCRIPTION_6 (RID_SVXSTR_BULLET_DESCRIPTIONS + 6)//?
+#define RID_SVXSTR_BULLET_DESCRIPTION_7 (RID_SVXSTR_BULLET_DESCRIPTIONS + 7)//?
+#define RID_SVXSTR_SINGLENUM_DESCRIPTION_0 (RID_SVXSTR_SINGLENUM_DESCRIPTIONS + 0)//?
+#define RID_SVXSTR_SINGLENUM_DESCRIPTION_1 (RID_SVXSTR_SINGLENUM_DESCRIPTIONS + 1)//?
+#define RID_SVXSTR_SINGLENUM_DESCRIPTION_2 (RID_SVXSTR_SINGLENUM_DESCRIPTIONS + 2)//?
+#define RID_SVXSTR_SINGLENUM_DESCRIPTION_3 (RID_SVXSTR_SINGLENUM_DESCRIPTIONS + 3)//?
+#define RID_SVXSTR_SINGLENUM_DESCRIPTION_4 (RID_SVXSTR_SINGLENUM_DESCRIPTIONS + 4)//?
+#define RID_SVXSTR_SINGLENUM_DESCRIPTION_5 (RID_SVXSTR_SINGLENUM_DESCRIPTIONS + 5)//?
+#define RID_SVXSTR_SINGLENUM_DESCRIPTION_6 (RID_SVXSTR_SINGLENUM_DESCRIPTIONS + 6)//?
+#define RID_SVXSTR_SINGLENUM_DESCRIPTION_7 (RID_SVXSTR_SINGLENUM_DESCRIPTIONS + 7)//?
+#define RID_SVXSTR_OUTLINENUM_DESCRIPTION_0 (RID_SVXSTR_OUTLINENUM_DESCRIPTIONS + 0)//?
+#define RID_SVXSTR_OUTLINENUM_DESCRIPTION_1 (RID_SVXSTR_OUTLINENUM_DESCRIPTIONS + 1)//?
+#define RID_SVXSTR_OUTLINENUM_DESCRIPTION_2 (RID_SVXSTR_OUTLINENUM_DESCRIPTIONS + 2)//?
+#define RID_SVXSTR_OUTLINENUM_DESCRIPTION_3 (RID_SVXSTR_OUTLINENUM_DESCRIPTIONS + 3)//?
+#define RID_SVXSTR_OUTLINENUM_DESCRIPTION_4 (RID_SVXSTR_OUTLINENUM_DESCRIPTIONS + 4)//?
+#define RID_SVXSTR_OUTLINENUM_DESCRIPTION_5 (RID_SVXSTR_OUTLINENUM_DESCRIPTIONS + 5)//?
+#define RID_SVXSTR_OUTLINENUM_DESCRIPTION_6 (RID_SVXSTR_OUTLINENUM_DESCRIPTIONS + 6)//?
+#define RID_SVXSTR_OUTLINENUM_DESCRIPTION_7 (RID_SVXSTR_OUTLINENUM_DESCRIPTIONS + 7)//?
#define RID_SVXSTR_FINDBAR_FIND (RID_SVX_START + 1190)
@@ -981,7 +976,6 @@
// TabPages --------------------------------------------------------------
// !!!! double defined ID's (see above) !!!
-
#define OFA_TP_APPEARANCE (RID_OFA_START + 203)
#define OFA_TP_TABPROPERTIES_GENERAL (RID_OFA_START + 204)
@@ -1005,9 +999,13 @@
#define SID_SC_TP_COMPATIBILITY (RID_OFA_START + 258)
// ----------------------------------------------------------------------------
-// ooo-build specific resources
+// LibreOffice specific resources
#define SVX_OOO_BUILD_START (RID_SVX_START + 1200)
+#define RID_SVXBMP_DOC_MODIFIED_YES (SVX_OOO_BUILD_START + 1)
+#define RID_SVXBMP_DOC_MODIFIED_NO (SVX_OOO_BUILD_START + 2)
+#define RID_SVXSTR_DOC_MODIFIED_YES (SVX_OOO_BUILD_START + 3)
+#define RID_SVXSTR_DOC_MODIFIED_NO (SVX_OOO_BUILD_START + 4)
#define RID_SVXBMP_DOC_MODIFIED_YES (SVX_OOO_BUILD_START + 1)
#define RID_SVXBMP_DOC_MODIFIED_NO (SVX_OOO_BUILD_START + 2)
diff --git a/svx/inc/svx/dlgutil.hxx b/svx/inc/svx/dlgutil.hxx
new file mode 100644
index 0000000000..861203c2bd
--- /dev/null
+++ b/svx/inc/svx/dlgutil.hxx
@@ -0,0 +1,47 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_DLGUTIL_HXX
+#define _SVX_DLGUTIL_HXX
+
+// include ---------------------------------------------------------------
+#include <svtools/unitconv.hxx>
+#include <svx/svxdllapi.h>
+
+// macro -----------------------------------------------------------------
+
+// typedef ---------------------------------------------------------------
+
+// Functions -------------------------------------------------------------
+class SfxItemSet;
+
+SVX_DLLPUBLIC FieldUnit GetModuleFieldUnit( const SfxItemSet& );
+
+#define OUTPUT_DRAWMODE_COLOR (DRAWMODE_DEFAULT)
+#define OUTPUT_DRAWMODE_CONTRAST (DRAWMODE_SETTINGSLINE | DRAWMODE_SETTINGSFILL | DRAWMODE_SETTINGSTEXT | DRAWMODE_SETTINGSGRADIENT)
+
+#endif
+
diff --git a/svx/inc/svx/drawitem.hxx b/svx/inc/svx/drawitem.hxx
new file mode 100644
index 0000000000..cac8a37b87
--- /dev/null
+++ b/svx/inc/svx/drawitem.hxx
@@ -0,0 +1,248 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_DRAWITEM_HXX
+#define _SVX_DRAWITEM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/poolitem.hxx>
+#include <com/sun/star/uno/Sequence.hxx>
+#include <com/sun/star/drawing/LineDash.hpp>
+#include "svx/svxdllapi.h"
+
+//==================================================================
+// SvxColorTableItem
+//==================================================================
+
+class XColorTable;
+
+class SVX_DLLPUBLIC SvxColorTableItem: public SfxPoolItem
+{
+ XColorTable* pColorTable;
+
+public:
+ TYPEINFO();
+ SvxColorTableItem();
+ SvxColorTableItem( XColorTable* pTable,
+ USHORT nWhich );
+ SvxColorTableItem( const SvxColorTableItem& );
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ virtual int operator==( const SfxPoolItem& ) const;
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ 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 );
+
+ XColorTable* GetColorTable() const { return pColorTable; }
+ void SetColorTable( XColorTable* pTable ) {
+ pColorTable = pTable; }
+};
+
+
+//==================================================================
+// SvxGradientListItem
+//==================================================================
+
+
+class XGradientList;
+
+class SVX_DLLPUBLIC SvxGradientListItem: public SfxPoolItem
+{
+ XGradientList* pGradientList;
+
+public:
+ TYPEINFO();
+ SvxGradientListItem();
+ SvxGradientListItem( XGradientList* pList,
+ USHORT nWhich );
+ SvxGradientListItem( const SvxGradientListItem& );
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ virtual int operator==( const SfxPoolItem& ) const;
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ 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 );
+
+ XGradientList* GetGradientList() const { return pGradientList; }
+ void SetGradientList( XGradientList* pList ) {
+ pGradientList = pList; }
+};
+
+
+
+//==================================================================
+// SvxHatchListItem
+//==================================================================
+
+
+class XHatchList;
+
+class SVX_DLLPUBLIC SvxHatchListItem: public SfxPoolItem
+{
+ XHatchList* pHatchList;
+
+public:
+ TYPEINFO();
+ SvxHatchListItem();
+ SvxHatchListItem( XHatchList* pList,
+ USHORT nWhich );
+ SvxHatchListItem( const SvxHatchListItem& );
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ virtual int operator==( const SfxPoolItem& ) const;
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ 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 );
+
+ XHatchList* GetHatchList() const { return pHatchList; }
+ void SetHatchList( XHatchList* pList ) {
+ pHatchList = pList; }
+};
+
+
+
+//==================================================================
+// SvxBitmapListItem
+//==================================================================
+
+
+class XBitmapList;
+
+class SVX_DLLPUBLIC SvxBitmapListItem: public SfxPoolItem
+{
+ XBitmapList* pBitmapList;
+
+public:
+ TYPEINFO();
+ SvxBitmapListItem();
+ SvxBitmapListItem( XBitmapList* pBL,
+ USHORT nWhich );
+ SvxBitmapListItem( const SvxBitmapListItem& );
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ virtual int operator==( const SfxPoolItem& ) const;
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ 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 );
+
+ XBitmapList* GetBitmapList() const { return pBitmapList; }
+ void SetBitmapList( XBitmapList* pList ) {
+ pBitmapList = pList; }
+};
+
+
+
+//==================================================================
+// SvxDashListItem
+//==================================================================
+
+
+class XDashList;
+
+class SVX_DLLPUBLIC SvxDashListItem: public SfxPoolItem
+{
+ XDashList* pDashList;
+
+public:
+ TYPEINFO();
+ SvxDashListItem();
+ SvxDashListItem( XDashList* pList,
+ USHORT nWhich );
+ SvxDashListItem( const SvxDashListItem& );
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ virtual int operator==( const SfxPoolItem& ) const;
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ 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 );
+
+ XDashList* GetDashList() const { return pDashList; }
+ void SetDashList( XDashList* pList );
+};
+
+
+
+//==================================================================
+// SvxLineEndListItem
+//==================================================================
+
+
+class XLineEndList;
+
+class SVX_DLLPUBLIC SvxLineEndListItem: public SfxPoolItem
+{
+ XLineEndList* pLineEndList;
+
+public:
+ TYPEINFO();
+ SvxLineEndListItem();
+ SvxLineEndListItem( XLineEndList* pList,
+ USHORT nWhich );
+ SvxLineEndListItem( const SvxLineEndListItem& );
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ virtual int operator==( const SfxPoolItem& ) const;
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ 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 );
+
+ XLineEndList* GetLineEndList() const { return pLineEndList; }
+ void SetLineEndList( XLineEndList* pList ) {
+ pLineEndList = pList; }
+};
+
+
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/exthelpid.hrc b/svx/inc/svx/exthelpid.hrc
index 2008375dde..3ad488c1d9 100644
--- a/svx/inc/svx/exthelpid.hrc
+++ b/svx/inc/svx/exthelpid.hrc
@@ -37,19 +37,8 @@
// are moved to this exported (delivered) hrc file
// Help-Ids --------------------------------------------------------------
-#define HID_GALLERY_ACTUALIZE (HID_SVX_EXT0_START + 0)
-#define HID_GALLERY_TITLE (HID_SVX_EXT0_START + 1)
-
-// please adjust ACT_SVX_EXT_HID_END2 below if you add entries here!
-
-// -----------------------------------------------------------------------
-// Overrun check ---------------------------------------------------------
-// -----------------------------------------------------------------------
-
-#define ACT_SVX_EXT_HID_END (HID_SVX_EXT0_START + 1)
-#if ACT_SVX_EXT_HID_END > HID_SVX_EXT0_END
-#error Resource-Ueberlauf in #line, #file
-#endif
+#define HID_GALLERY_ACTUALIZE "SVX_HID_GALLERY_ACTUALIZE"
+#define HID_GALLERY_TITLE "SVX_HID_GALLERY_TITLE"
#endif
diff --git a/svx/inc/svx/extrusioncolorcontrol.hxx b/svx/inc/svx/extrusioncolorcontrol.hxx
index 8bd4a9392b..ca106ba8ee 100644
--- a/svx/inc/svx/extrusioncolorcontrol.hxx
+++ b/svx/inc/svx/extrusioncolorcontrol.hxx
@@ -1,4 +1,3 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -55,4 +54,3 @@ public:
#endif // _SVX_EXTRUSIONCOLORCONTROL_HXX
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/flagsdef.hxx b/svx/inc/svx/flagsdef.hxx
new file mode 100644
index 0000000000..0be00e027f
--- /dev/null
+++ b/svx/inc/svx/flagsdef.hxx
@@ -0,0 +1,106 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_FLAGSDEF_HXX
+#define _SVX_FLAGSDEF_HXX
+
+// defines ---------------------------------------------------------------
+
+//CHINA001 copy from border.hxx
+// Border-Modes for paragraphs, textframes and tables
+#define SW_BORDER_MODE_PARA 0x01
+#define SW_BORDER_MODE_TABLE 0x02
+#define SW_BORDER_MODE_FRAME 0x04
+
+//CHINA001 flags for SvxBackgroundTabPage
+#define SVX_SHOW_SELECTOR 0x01
+#define SVX_SHOW_PARACTL 0x02
+#define SVX_ENABLE_TRANSPARENCY 0x04
+#define SVX_SHOW_TBLCTL 0x08
+
+//CHINA001 flags for SvxBorderTabPage
+#define SVX_HIDESHADOWCTL 0x01
+
+//CHINA001 copy from chardlg.hxx
+#define DISABLE_CASEMAP ((USHORT)0x0001)
+#define DISABLE_WORDLINE ((USHORT)0x0002)
+#define DISABLE_BLINK ((USHORT)0x0004)
+#define DISABLE_UNDERLINE_COLOR ((USHORT)0x0008)
+
+#define DISABLE_LANGUAGE ((USHORT)0x0010)
+#define DISABLE_HIDE_LANGUAGE ((USHORT)0x0020)
+
+//CHINA001 flags for SvxCharBasePage's child class
+#define SVX_PREVIEW_CHARACTER 0x01
+//CHINA001 flags for SvxCharNamePage
+#define SVX_RELATIVE_MODE 0x02
+//CHINA001 flags for SvxCharEffectsPage
+#define SVX_ENABLE_FLASH 0x04
+
+
+//CHINA001 copy from numfmt.hxx
+#define SVX_NUMVAL_STANDARD -1234.12345678901234
+#define SVX_NUMVAL_CURRENCY -1234
+#define SVX_NUMVAL_PERCENT -0.1295
+#define SVX_NUMVAL_TIME 36525.5678935185
+#define SVX_NUMVAL_DATE 36525.5678935185
+#define SVX_NUMVAL_BOOLEAN 1
+
+//CHINA001 copy from page.hxx
+// enum ------------------------------------------------------------------
+
+enum SvxModeType
+{
+ SVX_PAGE_MODE_STANDARD,
+ SVX_PAGE_MODE_CENTER,
+ SVX_PAGE_MODE_PRESENTATION
+};
+// define ----------------------------------------------------------------
+
+// 1/2 cm in TWIPS
+// Is also used for minimum size of LayFrms of any kind
+#define MM50 283 //from original svx/inc/paragrph.hxx
+
+//--------------from original svx/inc/tabstpge.hxx
+#define TABTYPE_LEFT 0x0001
+#define TABTYPE_RIGHT 0x0002
+#define TABTYPE_CENTER 0x0004
+#define TABTYPE_DEZIMAL 0x0008
+#define TABTYPE_ALL 0x000F
+
+#define TABFILL_NONE 0x0010
+#define TABFILL_POINT 0x0020
+#define TABFILL_DASHLINE 0x0040
+#define TABFILL_SOLIDLINE 0x0080
+#define TABFILL_SPECIAL 0x0100
+#define TABFILL_ALL 0x01F0
+
+//-----
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/float3d.hxx b/svx/inc/svx/float3d.hxx
index 7f6eb2c26d..79e1e2f6c1 100644
--- a/svx/inc/svx/float3d.hxx
+++ b/svx/inc/svx/float3d.hxx
@@ -33,7 +33,7 @@
#include <vcl/fixed.hxx>
#include <vcl/field.hxx>
#include <sfx2/dockwin.hxx>
-#include <vcl/imagebtn.hxx>
+#include <vcl/button.hxx>
#include <svtools/valueset.hxx>
#include <svtools/stdctrl.hxx>
#include "svx/svxdllapi.h"
diff --git a/svx/inc/svx/fmgridif.hxx b/svx/inc/svx/fmgridif.hxx
new file mode 100644
index 0000000000..c6a9d2d967
--- /dev/null
+++ b/svx/inc/svx/fmgridif.hxx
@@ -0,0 +1,553 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_FMGRIDIF_HXX
+#define _SVX_FMGRIDIF_HXX
+
+#include "svx/svxdllapi.h"
+
+#include <com/sun/star/view/XSelectionSupplier.hpp>
+#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include <com/sun/star/container/XEnumerationAccess.hpp>
+#include <com/sun/star/container/XContainer.hpp>
+#include <com/sun/star/container/XContainerListener.hpp>
+#include <com/sun/star/sdbc/XRowSetListener.hpp>
+#include <com/sun/star/sdb/XRowSetSupplier.hpp>
+#include <com/sun/star/form/XReset.hpp>
+#include <com/sun/star/form/XBoundComponent.hpp>
+#include <com/sun/star/form/XLoadListener.hpp>
+#include <com/sun/star/form/XGridControl.hpp>
+#include <com/sun/star/form/XGridPeer.hpp>
+#include <com/sun/star/frame/XDispatchProvider.hpp>
+#include <com/sun/star/frame/XStatusListener.hpp>
+#include <com/sun/star/frame/XDispatchProviderInterception.hpp>
+#include <com/sun/star/view/XSelectionChangeListener.hpp>
+#include <com/sun/star/util/XModeSelector.hpp>
+#include <com/sun/star/util/XModifyListener.hpp>
+#include <com/sun/star/util/XModifyBroadcaster.hpp>
+
+#include <tools/wintypes.hxx>
+#include <toolkit/controls/unocontrol.hxx>
+#include <toolkit/awt/vclxwindow.hxx>
+#include <comphelper/uno3.hxx>
+#include <cppuhelper/implbase10.hxx>
+
+#if ! defined(INCLUDED_COMPHELPER_IMPLBASE_VAR_HXX_19)
+#define INCLUDED_COMPHELPER_IMPLBASE_VAR_HXX_19
+#define COMPHELPER_IMPLBASE_INTERFACE_NUMBER 19
+#include <comphelper/implbase_var.hxx>
+#endif
+
+
+class DbGridColumn;
+
+class OWeakSubObject : public ::cppu::OWeakObject
+{
+protected:
+ ::cppu::OWeakObject& m_rParent;
+
+public:
+ OWeakSubObject(::cppu::OWeakObject& rParent) : m_rParent(rParent) { }
+
+ virtual void SAL_CALL acquire() throw() { m_rParent.acquire(); }
+ virtual void SAL_CALL release() throw() { m_rParent.release(); }
+};
+
+//==================================================================
+// FmXModifyMultiplexer
+//==================================================================
+class FmXModifyMultiplexer :public OWeakSubObject
+ ,public ::cppu::OInterfaceContainerHelper
+ ,public ::com::sun::star::util::XModifyListener
+{
+public:
+ FmXModifyMultiplexer( ::cppu::OWeakObject& rSource, ::osl::Mutex& rMutex );
+ DECLARE_UNO3_DEFAULTS(FmXModifyMultiplexer,OWeakSubObject);
+ virtual ::com::sun::star::uno::Any SAL_CALL queryInterface(const ::com::sun::star::uno::Type& _rType) throw (::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::lang::XEventListener
+ virtual void SAL_CALL disposing(const ::com::sun::star::lang::EventObject& Source) throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::util::XModifyListener
+ virtual void SAL_CALL modified(const ::com::sun::star::lang::EventObject& Source) throw(::com::sun::star::uno::RuntimeException);
+
+// resolve ambiguity : both OWeakObject and OInterfaceContainerHelper have these memory operators
+ void * SAL_CALL operator new( size_t size ) throw() { return OWeakSubObject::operator new(size); }
+ void SAL_CALL operator delete( void * p ) throw() { OWeakSubObject::operator delete(p); }
+};
+
+//==================================================================
+// FmXUpdateMultiplexer
+//==================================================================
+class FmXUpdateMultiplexer : public OWeakSubObject,
+ public ::cppu::OInterfaceContainerHelper,
+ public ::com::sun::star::form::XUpdateListener
+{
+public:
+ FmXUpdateMultiplexer( ::cppu::OWeakObject& rSource, ::osl::Mutex& rMutex );
+ DECLARE_UNO3_DEFAULTS(FmXUpdateMultiplexer,OWeakSubObject);
+
+ virtual ::com::sun::star::uno::Any SAL_CALL queryInterface(const ::com::sun::star::uno::Type& _rType) throw (::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::lang::XEventListener
+ virtual void SAL_CALL disposing(const ::com::sun::star::lang::EventObject& Source) throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::form::XUpdateListener
+ virtual sal_Bool SAL_CALL approveUpdate(const ::com::sun::star::lang::EventObject &) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL updated(const ::com::sun::star::lang::EventObject &) throw(::com::sun::star::uno::RuntimeException);
+
+// resolve ambiguity : both OWeakObject and OInterfaceContainerHelper have these memory operators
+ void * SAL_CALL operator new( size_t size ) throw() { return OWeakSubObject::operator new(size); }
+ void SAL_CALL operator delete( void * p ) throw() { OWeakSubObject::operator delete(p); }
+};
+
+//==================================================================
+// FmXSelectionMultiplexer
+//==================================================================
+class FmXSelectionMultiplexer :public OWeakSubObject
+ ,public ::cppu::OInterfaceContainerHelper
+ ,public ::com::sun::star::view::XSelectionChangeListener
+{
+public:
+ FmXSelectionMultiplexer( ::cppu::OWeakObject& rSource, ::osl::Mutex& rMutex );
+ DECLARE_UNO3_DEFAULTS(FmXSelectionMultiplexer, OWeakSubObject);
+
+ virtual ::com::sun::star::uno::Any SAL_CALL queryInterface(const ::com::sun::star::uno::Type& _rType) throw (::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::lang::XEventListener
+ virtual void SAL_CALL disposing(const ::com::sun::star::lang::EventObject& Source) throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::view::XSelectionChangeListener
+ virtual void SAL_CALL selectionChanged( const ::com::sun::star::lang::EventObject& aEvent ) throw (::com::sun::star::uno::RuntimeException);
+
+// resolve ambiguity : both OWeakObject and OInterfaceContainerHelper have these memory operators
+ void * SAL_CALL operator new( size_t size ) throw() { return OWeakSubObject::operator new(size); }
+ void SAL_CALL operator delete( void * p ) throw() { OWeakSubObject::operator delete(p); }
+};
+
+//==================================================================
+// FmXGridControlMultiplexer
+//==================================================================
+class FmXGridControlMultiplexer :public OWeakSubObject
+ ,public ::cppu::OInterfaceContainerHelper
+ ,public ::com::sun::star::form::XGridControlListener
+{
+public:
+ FmXGridControlMultiplexer( ::cppu::OWeakObject& rSource, ::osl::Mutex& rMutex );
+ DECLARE_UNO3_DEFAULTS( FmXGridControlMultiplexer, OWeakSubObject );
+
+ virtual ::com::sun::star::uno::Any SAL_CALL queryInterface(const ::com::sun::star::uno::Type& _rType) throw (::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::lang::XEventListener
+ virtual void SAL_CALL disposing(const ::com::sun::star::lang::EventObject& Source) throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::view::XSelectionChangeListener
+ virtual void SAL_CALL columnChanged( const ::com::sun::star::lang::EventObject& _event ) throw (::com::sun::star::uno::RuntimeException);
+
+// resolve ambiguity : both OWeakObject and OInterfaceContainerHelper have these memory operators
+ void * SAL_CALL operator new( size_t size ) throw() { return OWeakSubObject::operator new(size); }
+ void SAL_CALL operator delete( void * p ) throw() { OWeakSubObject::operator delete(p); }
+};
+
+//==================================================================
+// FmXContainerMultiplexer
+//==================================================================
+class FmXContainerMultiplexer : public OWeakSubObject,
+ public ::cppu::OInterfaceContainerHelper,
+ public ::com::sun::star::container::XContainerListener
+{
+public:
+ FmXContainerMultiplexer( ::cppu::OWeakObject& rSource, ::osl::Mutex& rMutex);
+ DECLARE_UNO3_DEFAULTS(FmXContainerMultiplexer,OWeakSubObject);
+ virtual ::com::sun::star::uno::Any SAL_CALL queryInterface(const ::com::sun::star::uno::Type& _rType) throw (::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::lang::XEventListener
+ virtual void SAL_CALL disposing(const ::com::sun::star::lang::EventObject& Source) throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::container::XContainerListener
+ virtual void SAL_CALL elementInserted(const ::com::sun::star::container::ContainerEvent& Event) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL elementRemoved(const ::com::sun::star::container::ContainerEvent& Event) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL elementReplaced(const ::com::sun::star::container::ContainerEvent& Event) throw(::com::sun::star::uno::RuntimeException);
+
+// resolve ambiguity : both OWeakObject and OInterfaceContainerHelper have these memory operators
+ void * SAL_CALL operator new( size_t size ) throw() { return OWeakSubObject::operator new(size); }
+ void SAL_CALL operator delete( void * p ) throw() { OWeakSubObject::operator delete(p); }
+};
+
+//==================================================================
+// FmXGridControl
+//==================================================================
+typedef ::cppu::ImplHelper10< ::com::sun::star::form::XBoundComponent,
+ ::com::sun::star::form::XGridControl,
+ ::com::sun::star::util::XModifyBroadcaster,
+ ::com::sun::star::container::XIndexAccess,
+ ::com::sun::star::container::XEnumerationAccess,
+ ::com::sun::star::util::XModeSelector,
+ ::com::sun::star::container::XContainer,
+ ::com::sun::star::frame::XDispatchProvider,
+ ::com::sun::star::frame::XDispatchProviderInterception,
+ ::com::sun::star::view::XSelectionSupplier
+ > FmXGridControl_BASE;
+
+class FmXGridPeer;
+class SVX_DLLPUBLIC FmXGridControl :public UnoControl
+ ,public FmXGridControl_BASE
+{
+ FmXModifyMultiplexer m_aModifyListeners;
+ FmXUpdateMultiplexer m_aUpdateListeners;
+ FmXContainerMultiplexer m_aContainerListeners;
+ FmXSelectionMultiplexer m_aSelectionListeners;
+ FmXGridControlMultiplexer m_aGridControlListeners;
+
+protected:
+ sal_uInt16 m_nPeerCreationLevel;
+ sal_Bool m_bInDraw;
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > m_xServiceFactory;
+
+public:
+ FmXGridControl(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >&);
+ virtual ~FmXGridControl();
+
+ // UNO connection
+ DECLARE_UNO3_AGG_DEFAULTS(FmXGridControl, UnoControl);
+ virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation(const ::com::sun::star::uno::Type& _rType) throw (::com::sun::star::uno::RuntimeException);
+
+// XTypeProvider
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type> SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence<sal_Int8> SAL_CALL getImplementationId( ) throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::lang::XComponent
+ virtual void SAL_CALL dispose() throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::lang::XServiceInfo
+ virtual sal_Bool SAL_CALL supportsService(const ::rtl::OUString& ServiceName) throw();
+ virtual ::rtl::OUString SAL_CALL getImplementationName() throw();
+ virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw();
+
+// ::com::sun::star::awt::XControl
+ virtual void SAL_CALL createPeer(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XToolkit >& _rToolkit, const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindowPeer >& Parent) throw(::com::sun::star::uno::RuntimeException);
+ virtual sal_Bool SAL_CALL setModel(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel >& Model) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setDesignMode(sal_Bool bOn) throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::awt::XView
+ virtual void SAL_CALL draw( sal_Int32 x, sal_Int32 y ) throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::form::XBoundComponent
+ virtual void SAL_CALL addUpdateListener(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XUpdateListener >& l) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeUpdateListener(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XUpdateListener >& l) throw(::com::sun::star::uno::RuntimeException);
+ virtual sal_Bool SAL_CALL commit() throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::container::XElementAccess
+ virtual ::com::sun::star::uno::Type SAL_CALL getElementType( ) throw(::com::sun::star::uno::RuntimeException);
+ virtual sal_Bool SAL_CALL hasElements( ) throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::container::XEnumerationAccess
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL createEnumeration() throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::container::XIndexAccess
+ virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Any SAL_CALL getByIndex(sal_Int32 _rIndex) throw(::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::form::XGridControl
+ virtual void SAL_CALL addGridControlListener( const ::com::sun::star::uno::Reference< ::com::sun::star::form::XGridControlListener >& _listener ) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeGridControlListener( const ::com::sun::star::uno::Reference< ::com::sun::star::form::XGridControlListener >& _listener ) throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::form::XGrid (base of XGridControl)
+ virtual sal_Int16 SAL_CALL getCurrentColumnPosition() throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setCurrentColumnPosition(sal_Int16 nPos) throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::form::XGridFieldDataSupplier (base of XGridControl)
+ virtual ::com::sun::star::uno::Sequence< sal_Bool > SAL_CALL queryFieldDataType( const ::com::sun::star::uno::Type& xType ) throw(::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > SAL_CALL queryFieldData( sal_Int32 nRow, const ::com::sun::star::uno::Type& xType ) throw(::com::sun::star::uno::RuntimeException);
+
+// UnoControl
+ virtual ::rtl::OUString GetComponentServiceName();
+
+// ::com::sun::star::util::XModifyBroadcaster
+ virtual void SAL_CALL addModifyListener(const ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyListener >& l) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeModifyListener(const ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyListener >& l) throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::util::XModeSelector
+ virtual void SAL_CALL setMode(const ::rtl::OUString& Mode) throw(::com::sun::star::lang::NoSupportException, ::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getMode() throw(::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< ::rtl::OUString> SAL_CALL getSupportedModes() throw(::com::sun::star::uno::RuntimeException);
+ virtual sal_Bool SAL_CALL supportsMode(const ::rtl::OUString& Mode) throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::container::XContainer
+ virtual void SAL_CALL addContainerListener(const ::com::sun::star::uno::Reference< ::com::sun::star::container::XContainerListener >& l) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeContainerListener(const ::com::sun::star::uno::Reference< ::com::sun::star::container::XContainerListener >& l) throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::frame::XDispatchProvider
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatch > SAL_CALL queryDispatch(const ::com::sun::star::util::URL& aURL, const ::rtl::OUString& aTargetFrameName, sal_Int32 nSearchFlags) throw(::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatch > > SAL_CALL queryDispatches(const ::com::sun::star::uno::Sequence< ::com::sun::star::frame::DispatchDescriptor >& aDescripts) throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::frame::XDispatchProviderInterception
+ virtual void SAL_CALL registerDispatchProviderInterceptor(const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatchProviderInterceptor >& xInterceptor) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL releaseDispatchProviderInterceptor(const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatchProviderInterceptor >& xInterceptor) throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::view::XSelectionSupplier
+ virtual sal_Bool SAL_CALL select( const ::com::sun::star::uno::Any& aSelection ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Any SAL_CALL getSelection( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL addSelectionChangeListener( const ::com::sun::star::uno::Reference< ::com::sun::star::view::XSelectionChangeListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeSelectionChangeListener( const ::com::sun::star::uno::Reference< ::com::sun::star::view::XSelectionChangeListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
+
+protected:
+ virtual FmXGridPeer* imp_CreatePeer(Window* pParent);
+ // ImplCreatePeer would be better, but doesn't work because it's not exported
+
+};
+
+//==================================================================
+// FmXGridPeer -> Peer for the Gridcontrol
+//==================================================================
+typedef ::comphelper::ImplHelper19 < ::com::sun::star::form::XGridPeer,
+ ::com::sun::star::form::XBoundComponent,
+ ::com::sun::star::form::XGridControl,
+ ::com::sun::star::sdb::XRowSetSupplier,
+ ::com::sun::star::util::XModifyBroadcaster,
+ ::com::sun::star::beans::XPropertyChangeListener,
+ ::com::sun::star::container::XContainerListener,
+ ::com::sun::star::sdbc::XRowSetListener,
+ ::com::sun::star::form::XLoadListener,
+ ::com::sun::star::view::XSelectionChangeListener,
+ ::com::sun::star::container::XIndexAccess,
+ ::com::sun::star::container::XEnumerationAccess,
+ ::com::sun::star::util::XModeSelector,
+ ::com::sun::star::container::XContainer,
+ ::com::sun::star::frame::XStatusListener,
+ ::com::sun::star::frame::XDispatchProvider,
+ ::com::sun::star::frame::XDispatchProviderInterception,
+ ::com::sun::star::form::XResetListener,
+ ::com::sun::star::view::XSelectionSupplier
+ > FmXGridPeer_BASE;
+class FmGridControl;
+class SVX_DLLPUBLIC FmXGridPeer :public VCLXWindow
+ ,public FmXGridPeer_BASE
+{
+ ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexContainer > m_xColumns;
+ ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet > m_xCursor;
+ ::cppu::OInterfaceContainerHelper m_aModifyListeners,
+ m_aUpdateListeners,
+ m_aContainerListeners,
+ m_aSelectionListeners,
+ m_aGridControlListeners;
+
+ ::rtl::OUString m_aMode;
+ sal_Int32 m_nCursorListening;
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatchProviderInterceptor > m_xFirstDispatchInterceptor;
+
+ sal_Bool m_bInterceptingDispatch;
+
+ sal_Bool* m_pStateCache;
+ // one bool for each supported url
+ ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatch > * m_pDispatchers;
+ // one dispatcher for each supported url
+ // (I would like to have a vector here but including the stl in an exported file seems
+ // very risky to me ....)
+
+ class GridListenerDelegator;
+ friend class GridListenerDelegator;
+ GridListenerDelegator* m_pGridListener;
+
+protected:
+ ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > m_xServiceFactory;
+ ::osl::Mutex m_aMutex;
+
+public:
+ FmXGridPeer(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >&);
+ ~FmXGridPeer();
+
+ // spaeter Constructor, immer nach dem realen Constructor zu rufen !
+ void Create(Window* pParent, WinBits nStyle);
+
+// UNO connection
+ DECLARE_UNO3_DEFAULTS(FmXGridPeer, VCLXWindow);
+ virtual ::com::sun::star::uno::Any SAL_CALL queryInterface(const ::com::sun::star::uno::Type& _rType) throw (::com::sun::star::uno::RuntimeException);
+
+// XTypeProvider
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type> SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence<sal_Int8> SAL_CALL getImplementationId( ) throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::lang::XUnoTunnel
+ static const ::com::sun::star::uno::Sequence< sal_Int8 >& getUnoTunnelImplementationId() throw();
+ static FmXGridPeer* getImplementation( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _rxIFace ) throw();
+ sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& _rIdentifier ) throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::form::XGridPeer
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexContainer > SAL_CALL getColumns( ) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setColumns( const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexContainer >& aColumns ) throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::lang::XComponent
+ virtual void SAL_CALL dispose() throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::lang::XEventListener
+ virtual void SAL_CALL disposing(const ::com::sun::star::lang::EventObject& Source) throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::form::XBoundComponent
+ virtual void SAL_CALL addUpdateListener(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XUpdateListener >& l) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeUpdateListener(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XUpdateListener >& l) throw(::com::sun::star::uno::RuntimeException);
+ virtual sal_Bool SAL_CALL commit() throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::container::XElementAccess
+ virtual ::com::sun::star::uno::Type SAL_CALL getElementType( ) throw(::com::sun::star::uno::RuntimeException);
+ virtual sal_Bool SAL_CALL hasElements( ) throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::container::XEnumerationAccess
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL createEnumeration() throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::container::XIndexAccess
+ virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Any SAL_CALL getByIndex(sal_Int32 _rIndex) throw(::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::beans::XPropertyChangeListener
+ virtual void SAL_CALL SAL_CALL propertyChange(const ::com::sun::star::beans::PropertyChangeEvent& evt) throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::form::XLoadListener
+ virtual void SAL_CALL loaded(const ::com::sun::star::lang::EventObject& rEvent) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL unloaded(const ::com::sun::star::lang::EventObject& rEvent) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL unloading(const ::com::sun::star::lang::EventObject& aEvent) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL reloading(const ::com::sun::star::lang::EventObject& aEvent) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL reloaded(const ::com::sun::star::lang::EventObject& aEvent) throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::sdbc::XRowSetListener
+ virtual void SAL_CALL cursorMoved(const ::com::sun::star::lang::EventObject& event) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL rowChanged(const ::com::sun::star::lang::EventObject& event) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL rowSetChanged(const ::com::sun::star::lang::EventObject& event) throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::container::XContainerListener
+ virtual void SAL_CALL elementInserted(const ::com::sun::star::container::ContainerEvent& Event) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL elementRemoved(const ::com::sun::star::container::ContainerEvent& Event) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL elementReplaced(const ::com::sun::star::container::ContainerEvent& Event) throw(::com::sun::star::uno::RuntimeException);
+
+// VCLXWindow
+ virtual void SAL_CALL setProperty( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Any& Value ) throw(::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Any SAL_CALL getProperty( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext >
+ CreateAccessibleContext();
+
+// ::com::sun::star::form::XGridControl
+ virtual void SAL_CALL addGridControlListener( const ::com::sun::star::uno::Reference< ::com::sun::star::form::XGridControlListener >& _listener ) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeGridControlListener( const ::com::sun::star::uno::Reference< ::com::sun::star::form::XGridControlListener >& _listener ) throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::form::XGrid (base of XGridControl)
+ virtual sal_Int16 SAL_CALL getCurrentColumnPosition() throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setCurrentColumnPosition(sal_Int16 nPos) throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::form::XGridFieldDataSupplier (base of XGridControl)
+ virtual ::com::sun::star::uno::Sequence< sal_Bool > SAL_CALL queryFieldDataType( const ::com::sun::star::uno::Type& xType ) throw(::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > SAL_CALL queryFieldData( sal_Int32 nRow, const ::com::sun::star::uno::Type& xType ) throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::sdb::XRowSetSupplier
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet > SAL_CALL getRowSet() throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setRowSet(const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet >& xDataSource) throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::util::XModifyBroadcaster
+ virtual void SAL_CALL addModifyListener(const ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyListener >& l) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeModifyListener(const ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyListener >& l) throw(::com::sun::star::uno::RuntimeException);
+
+// UnoControl
+ virtual void SAL_CALL SAL_CALL setDesignMode(sal_Bool bOn) throw(::com::sun::star::uno::RuntimeException);
+ virtual sal_Bool SAL_CALL isDesignMode() throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::view::XSelectionChangeListener
+ virtual void SAL_CALL selectionChanged(const ::com::sun::star::lang::EventObject& aEvent) throw(::com::sun::star::uno::RuntimeException);
+
+ void CellModified();
+
+// PropertyListening
+ void updateGrid(const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet >& _rDatabaseCursor);
+ void startCursorListening();
+ void stopCursorListening();
+
+// ::com::sun::star::util::XModeSelector
+ virtual void SAL_CALL setMode(const ::rtl::OUString& Mode) throw(::com::sun::star::lang::NoSupportException, ::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getMode() throw(::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedModes() throw(::com::sun::star::uno::RuntimeException);
+ virtual sal_Bool SAL_CALL supportsMode(const ::rtl::OUString& Mode) throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::container::XContainer
+ virtual void SAL_CALL addContainerListener(const ::com::sun::star::uno::Reference< ::com::sun::star::container::XContainerListener >& l) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeContainerListener(const ::com::sun::star::uno::Reference< ::com::sun::star::container::XContainerListener >& l) throw(::com::sun::star::uno::RuntimeException);
+
+ void columnVisible(DbGridColumn* pColumn);
+ void columnHidden(DbGridColumn* pColumn);
+
+// ::com::sun::star::awt::XView
+ virtual void SAL_CALL draw( sal_Int32 x, sal_Int32 y ) throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::frame::XDispatchProvider
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatch > SAL_CALL queryDispatch(const ::com::sun::star::util::URL& aURL, const ::rtl::OUString& aTargetFrameName, sal_Int32 nSearchFlags) throw(::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatch > > SAL_CALL queryDispatches(const ::com::sun::star::uno::Sequence< ::com::sun::star::frame::DispatchDescriptor >& aDescripts) throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::frame::XDispatchProviderInterception
+ virtual void SAL_CALL registerDispatchProviderInterceptor(const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatchProviderInterceptor >& xInterceptor) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL releaseDispatchProviderInterceptor(const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatchProviderInterceptor >& xInterceptor) throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::frame::XStatusListener
+ virtual void SAL_CALL statusChanged(const ::com::sun::star::frame::FeatureStateEvent& Event) throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::form::XResetListener
+ virtual sal_Bool SAL_CALL approveReset(const ::com::sun::star::lang::EventObject& rEvent) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL resetted(const ::com::sun::star::lang::EventObject& rEvent) throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::view::XSelectionSupplier
+ virtual sal_Bool SAL_CALL select( const ::com::sun::star::uno::Any& aSelection ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Any SAL_CALL getSelection( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL addSelectionChangeListener( const ::com::sun::star::uno::Reference< ::com::sun::star::view::XSelectionChangeListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeSelectionChangeListener( const ::com::sun::star::uno::Reference< ::com::sun::star::view::XSelectionChangeListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
+
+protected:
+ virtual FmGridControl* imp_CreateControl(Window* pParent, WinBits nStyle);
+
+ static ::com::sun::star::uno::Sequence< ::com::sun::star::util::URL>& getSupportedURLs();
+ static ::com::sun::star::uno::Sequence<sal_uInt16>& getSupportedGridSlots();
+ void ConnectToDispatcher();
+ void DisConnectFromDispatcher();
+ void UpdateDispatches(); // will connect if not already connected and just update else
+
+ /** If a derived class wants to listen at some column properties, it doesn't have
+ to overload all methods affecting columns (setColumns, elementInserted, elementRemoved ...)
+ Instead it may use addColumnListeners and removeColumnListeners which are called in all
+ the cases.
+ */
+ virtual void addColumnListeners(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& xCol);
+ virtual void removeColumnListeners(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& xCol);
+
+ void selectionChanged();
+ void columnChanged();
+
+ DECL_LINK(OnQueryGridSlotState, void*);
+ DECL_LINK(OnExecuteGridSlot, void*);
+};
+
+
+
+#endif // _SVX_FMGRID_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/fmobjfac.hxx b/svx/inc/svx/fmobjfac.hxx
new file mode 100644
index 0000000000..b2767b6258
--- /dev/null
+++ b/svx/inc/svx/fmobjfac.hxx
@@ -0,0 +1,53 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVX_FMOBJFAC_HXX
+#define _SVX_FMOBJFAC_HXX
+
+#include <tools/link.hxx>
+#include "svx/svxdllapi.h"
+
+class SdrObjFactory;
+
+
+
+class SVX_DLLPUBLIC FmFormObjFactory
+{
+public:
+ FmFormObjFactory();
+ ~FmFormObjFactory();
+
+ DECL_LINK(MakeObject, SdrObjFactory*);
+};
+
+
+
+
+#endif // _FM_FMOBJFAC_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/fmresids.hrc b/svx/inc/svx/fmresids.hrc
new file mode 100644
index 0000000000..07e994bb62
--- /dev/null
+++ b/svx/inc/svx/fmresids.hrc
@@ -0,0 +1,263 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_FMRESIDS_HRC
+#define _SVX_FMRESIDS_HRC
+
+// include -----------------------------------------------------------
+#include <svl/solar.hrc>
+
+// unnamed ressources -------------------------------------------------------
+// sub ressources .....................
+
+// ImageList-Id's -----------------------------------------------------------
+#define RID_SVXIMGLIST_FMEXPL (RID_FORMS_START + 0)
+
+// Image-Id's -----------------------------------------------------------
+//#define SID_FMSLOTS_START (SID_SVX_START + 592) -> svxids.hrc
+#define RID_SVXIMG_FORM SID_FM_CONFIG
+#define RID_SVXIMG_CONTROL SID_CHOOSE_CONTROLS
+#define RID_SVXIMG_COLLAPSEDNODE (RID_FORMS_START + 2)
+#define RID_SVXIMG_EXPANDEDNODE (RID_FORMS_START + 3)
+#define RID_SVXIMG_BUTTON SID_FM_PUSHBUTTON
+#define RID_SVXIMG_RADIOBUTTON SID_FM_RADIOBUTTON
+#define RID_SVXIMG_CHECKBOX SID_FM_CHECKBOX
+#define RID_SVXIMG_FIXEDTEXT SID_FM_FIXEDTEXT
+#define RID_SVXIMG_GROUPBOX SID_FM_GROUPBOX
+#define RID_SVXIMG_EDIT SID_FM_EDIT
+#define RID_SVXIMG_LISTBOX SID_FM_LISTBOX
+#define RID_SVXIMG_COMBOBOX SID_FM_COMBOBOX
+#define RID_SVXIMG_FORMS (RID_FORMS_START +13)
+#define RID_SVXIMG_IMAGEBUTTON SID_FM_IMAGEBUTTON
+#define RID_SVXIMG_IMAGECONTROL SID_FM_IMAGECONTROL
+#define RID_SVXIMG_FILECONTROL SID_FM_FILECONTROL
+#define RID_SVXIMG_DATEFIELD SID_FM_DATEFIELD
+#define RID_SVXIMG_TIMEFIELD SID_FM_TIMEFIELD
+#define RID_SVXIMG_NUMERICFIELD SID_FM_NUMERICFIELD
+#define RID_SVXIMG_CURRENCYFIELD SID_FM_CURRENCYFIELD
+#define RID_SVXIMG_PATTERNFIELD SID_FM_PATTERNFIELD
+#define RID_SVXIMG_HIDDEN (RID_FORMS_START +22)
+#define RID_SVXIMG_GRID SID_FM_DBGRID
+#define RID_SVXIMG_FORMATTEDFIELD SID_FM_FORMATTEDFIELD
+#define RID_SVXIMG_FILTER SID_FM_FILTERCRIT
+#define RID_SVXIMG_DATE_N_TIME_FIELDS SID_FM_TWOFIELDS_DATE_N_TIME
+#define RID_SVXIMG_FIELD (RID_FORMS_START +27)
+#define RID_SVXIMG_SCROLLBAR SID_FM_SCROLLBAR
+#define RID_SVXIMG_SPINBUTTON SID_FM_SPINBUTTON
+#define RID_SVXIMG_NAVIGATIONBAR SID_FM_NAVIGATIONBAR
+
+// Dialog-Id's -----------------------------------------------------------
+#define RID_SVXTBX_FORM (RID_FORMS_START + 1)
+#define TBX_FORM (RID_FORMS_START + 2)
+#define RID_SVXDLG_ADD_TABLE (RID_FORMS_START + 3)
+#define RID_SVXDLG_TAB_ORDER (RID_FORMS_START + 4)
+#define RID_SVXDLG_SETFORM (RID_FORMS_START + 5)
+#define RID_SVX_FMEXPLORER (RID_FORMS_START + 6)
+#define RID_SVXDLG_ADD_DATAITEM (RID_FORMS_START + 12)
+#define RID_SVXDLG_ADD_CONDITION (RID_FORMS_START + 13)
+#define RID_SVXDLG_NAMESPACE_ITEM (RID_FORMS_START + 14)
+#define RID_SVXDLG_MANAGE_NAMESPACE (RID_FORMS_START + 15)
+#define RID_SVXDLG_ADD_SUBMISSION (RID_FORMS_START + 16)
+#define RID_SVXDLG_ADD_MODEL (RID_FORMS_START + 17)
+#define RID_SVXDLG_ADD_INSTANCE (RID_FORMS_START + 18)
+#define RID_SVXWIN_DATANAVIGATOR (RID_FORMS_START + 19)
+#define RID_SVX_XFORMS_TABPAGES (RID_FORMS_START + 20)
+
+// Toolbars ------------------------------------------------------------
+#define RID_SVXTBX_FORM_NAVIGATION (RID_FORMS_START + 1)
+#define RID_SVXTBX_FORM_FILTER (RID_FORMS_START + 2)
+#define RID_SVXTBX_TEXT_CONTROL_ATTRIBUTES (RID_FORMS_START + 3)
+#define RID_SVXTBX_CONTROLS (RID_FORMS_START + 4)
+#define RID_SVXTBX_MORECONTROLS (RID_FORMS_START + 5)
+#define RID_SVXTBX_FORMDESIGN (RID_FORMS_START + 6)
+
+// Menu-Id's -----------------------------------------------------------
+#define RID_FMEXPLORER_POPUPMENU (RID_FORMS_START + 0)
+#define RID_SVXMNU_ROWS (RID_FORMS_START + 1)
+#define RID_SVXMNU_COLS (RID_FORMS_START + 2)
+#define RID_SVXMNU_CELL (RID_FORMS_START + 3)
+#define RID_FMSHELL_CONVERSIONMENU (RID_FORMS_START + 4)
+#define RID_FM_FILTER_MENU (RID_FORMS_START + 5)
+#define RID_FM_TEXTATTRIBUTE_MENU (RID_FORMS_START + 6)
+#define MENU_FM_TEXTATTRIBITES_STYLE (RID_FORMS_START + 7)
+#define MENU_FM_TEXTATTRIBITES_ALIGNMENT (RID_FORMS_START + 8)
+#define MENU_FM_TEXTATTRIBITES_SPACING (RID_FORMS_START + 9)
+#define RID_MENU_DATANAVIGATOR (RID_FORMS_START + 10)
+
+// QueryBox-Id's -----------------------------------------------------------
+#define RID_QRY_SAVEMODIFIED (RID_FORMS_START + 1)
+#define RID_QRY_REMOVE_MODEL (RID_FORMS_START + 2)
+#define RID_QRY_REMOVE_INSTANCE (RID_FORMS_START + 3)
+#define RID_QRY_REMOVE_ELEMENT (RID_FORMS_START + 4)
+#define RID_QRY_REMOVE_ATTRIBUTE (RID_FORMS_START + 5)
+#define RID_QRY_LINK_WARNING (RID_FORMS_START + 6)
+#define RID_QRY_REMOVE_SUBMISSION (RID_FORMS_START + 7)
+#define RID_QRY_REMOVE_BINDING (RID_FORMS_START + 8)
+
+// ErrorBox-Id's -----------------------------------------------------------
+#define RID_ERR_INVALID_XMLNAME (RID_FORMS_START + 1)
+#define RID_ERR_INVALID_XMLPREFIX (RID_FORMS_START + 2)
+#define RID_ERR_DOUBLE_MODELNAME (RID_FORMS_START + 3)
+#define RID_ERR_EMPTY_SUBMISSIONNAME (RID_FORMS_START + 4)
+
+// String-Id's -----------------------------------------------------------
+#define RID_STR_FORMSHELL (RID_FORMS_START + 10)
+#define RID_STR_STDFORMNAME (RID_FORMS_START + 11)
+#define RID_STR_REC_TEXT (RID_FORMS_START + 12)
+#define RID_STR_REC_FROM_TEXT (RID_FORMS_START + 13)
+#define RID_STR_UNDO_PROPERTY (RID_FORMS_START + 14)
+#define RID_STR_UNDO_CONTAINER_INSERT (RID_FORMS_START + 15)
+#define RID_STR_UNDO_CONTAINER_REMOVE (RID_FORMS_START + 16)
+#define RID_STR_UNDO_CONTAINER_REMOVE_MULTIPLE (RID_FORMS_START + 27)
+#define RID_STR_UNDO_CONTAINER_REPLACE (RID_FORMS_START + 28)
+#define RID_STR_UNDO_TABORDER (RID_FORMS_START + 29)
+#define RID_STR_UNDO_DELETE_LOGICAL (RID_FORMS_START + 30)
+#define RID_STR_UNDO_MODEL_REPLACE (RID_FORMS_START + 31)
+#define RID_STR_NAVIGATIONBAR (RID_FORMS_START + 32)
+#define RID_STR_DEFAULT_CONTROL (RID_FORMS_START + 33)
+#define RID_STR_FORM (RID_FORMS_START + 36)
+#define RID_STR_FIELDSELECTION (RID_FORMS_START + 37)
+#define RID_STR_NO_PROPERTIES (RID_FORMS_START + 38)
+#define RID_STR_PROPERTIES_CONTROL (RID_FORMS_START + 39)
+#define RID_STR_PROPERTIES_FORM (RID_FORMS_START + 40)
+#define RID_STR_FMEXPLORER (RID_FORMS_START + 41)
+#define RID_STR_FORMS (RID_FORMS_START + 42)
+#define RID_STR_WRITEERROR (RID_FORMS_START + 43)
+#define RID_STR_DELETECONFIRM_RECORD (RID_FORMS_START + 44)
+#define RID_STR_DELETECONFIRM (RID_FORMS_START + 45)
+#define RID_STR_GROUPBOX (RID_FORMS_START + 46)
+#define RID_STR_NAVIGATION (RID_FORMS_START + 47)
+#define RID_STR_COLUMN (RID_FORMS_START + 48)
+#define RID_STR_DATE (RID_FORMS_START + 49)
+#define RID_STR_TIME (RID_FORMS_START + 50)
+#define RID_STR_PROPTITLE_NAVBAR (RID_FORMS_START + 51)
+#define RID_STR_PROPTITLE_PUSHBUTTON (RID_FORMS_START + 52)
+#define RID_STR_PROPTITLE_RADIOBUTTON (RID_FORMS_START + 53)
+#define RID_STR_PROPTITLE_CHECKBOX (RID_FORMS_START + 54)
+#define RID_STR_PROPTITLE_FIXEDTEXT (RID_FORMS_START + 55)
+#define RID_STR_PROPTITLE_GROUPBOX (RID_FORMS_START + 56)
+#define RID_STR_PROPTITLE_EDIT (RID_FORMS_START + 57)
+#define RID_STR_PROPTITLE_LISTBOX (RID_FORMS_START + 58)
+#define RID_STR_PROPTITLE_COMBOBOX (RID_FORMS_START + 59)
+#define RID_STR_PROPTITLE_IMAGEBUTTON (RID_FORMS_START + 60)
+#define RID_STR_PROPTITLE_IMAGECONTROL (RID_FORMS_START + 61)
+#define RID_STR_PROPTITLE_FILECONTROL (RID_FORMS_START + 62)
+#define RID_STR_PROPTITLE_DATEFIELD (RID_FORMS_START + 63)
+#define RID_STR_PROPTITLE_TIMEFIELD (RID_FORMS_START + 64)
+#define RID_STR_PROPTITLE_NUMERICFIELD (RID_FORMS_START + 65)
+#define RID_STR_PROPTITLE_CURRENCYFIELD (RID_FORMS_START + 66)
+#define RID_STR_PROPTITLE_PATTERNFIELD (RID_FORMS_START + 67)
+#define RID_STR_PROPTITLE_DBGRID (RID_FORMS_START + 68)
+#define RID_STR_PROPTITLE_MULTISELECT (RID_FORMS_START + 69)
+#define RID_STR_DELETECONFIRM_RECORDS (RID_FORMS_START + 70)
+#define RID_STR_CONTROL (RID_FORMS_START + 71)
+#define RID_STR_POSTFIX_DATE (RID_FORMS_START + 72)
+#define RID_STR_POSTFIX_TIME (RID_FORMS_START + 73)
+#define RID_STR_NODATACONTROLS (RID_FORMS_START + 77)
+#define RID_STR_FILTER_NAVIGATOR (RID_FORMS_START + 78)
+#define RID_STR_FILTER_FILTER_FOR (RID_FORMS_START + 79)
+#define RID_STR_FILTER_FILTER_OR (RID_FORMS_START + 80)
+#define RID_STR_PROPTITLE_FORMATTED (RID_FORMS_START + 81)
+#define RID_STR_SYNTAXERROR (RID_FORMS_START + 82)
+ // FREE
+#define RID_STR_NOCONTROLS_FOR_EXTERNALDISPLAY (RID_FORMS_START + 84)
+#define RID_STR_AUTOFIELD (RID_FORMS_START + 89)
+#define RID_STR_SVT_SQL_SYNTAX_ERROR (RID_FORMS_START + 90)
+#define RID_STR_SVT_SQL_SYNTAX_VALUE_NO_LIKE (RID_FORMS_START + 91)
+#define RID_STR_SVT_SQL_SYNTAX_FIELD_NO_LIKE (RID_FORMS_START + 92)
+#define RID_STR_SVT_SQL_SYNTAX_CRIT_NO_COMPARE (RID_FORMS_START + 93)
+#define RID_STR_SVT_SQL_SYNTAX_INT_NO_VALID (RID_FORMS_START + 94)
+#define RID_STR_SVT_SQL_SYNTAX_ACCESS_DAT_NO_VALID (RID_FORMS_START + 95)
+#define RID_STR_SVT_SQL_SYNTAX_REAL_NO_VALID (RID_FORMS_START + 96)
+#define RID_STR_SVT_SQL_SYNTAX_TABLE (RID_FORMS_START + 97)
+#define RID_STR_SVT_SQL_SYNTAX_COLUMN (RID_FORMS_START + 98)
+#define RID_STR_PROPTITLE_SCROLLBAR (RID_FORMS_START + 99)
+#define RID_STR_PROPTITLE_SPINBUTTON (RID_FORMS_START + 100)
+#define RID_STR_PROPTITLE_HIDDEN (RID_FORMS_START + 101)
+ // FREE
+ // FREE
+ // FREE
+ // FREE
+ // FREE
+ // FREE
+ // FREE
+ // FREE
+ // FREE
+ // FREE
+ // FREE
+ // FREE
+ // FREE
+ // FREE
+ // FREE
+ // FREE
+ // FREE
+ // FREE
+ // FREE
+ // FREE
+ // FREE
+ // FREE
+#define RID_STR_DATANAVIGATOR (RID_FORMS_START + 124)
+#define RID_STR_DATANAV_SUBM_PARENT (RID_FORMS_START + 125)
+#define RID_STR_DATANAV_SUBM_ID (RID_FORMS_START + 126)
+#define RID_STR_DATANAV_SUBM_ACTION (RID_FORMS_START + 127)
+#define RID_STR_DATANAV_SUBM_METHOD (RID_FORMS_START + 128)
+#define RID_STR_DATANAV_SUBM_REF (RID_FORMS_START + 129)
+#define RID_STR_DATANAV_SUBM_BIND (RID_FORMS_START + 130)
+#define RID_STR_DATANAV_SUBM_REPLACE (RID_FORMS_START + 131)
+#define RID_STR_DATANAV_ADD_ELEMENT (RID_FORMS_START + 132)
+#define RID_STR_DATANAV_EDIT_ELEMENT (RID_FORMS_START + 133)
+#define RID_STR_DATANAV_REMOVE_ELEMENT (RID_FORMS_START + 134)
+#define RID_STR_DATANAV_ADD_ATTRIBUTE (RID_FORMS_START + 135)
+#define RID_STR_DATANAV_EDIT_ATTRIBUTE (RID_FORMS_START + 136)
+#define RID_STR_DATANAV_REMOVE_ATTRIBUTE (RID_FORMS_START + 137)
+#define RID_STR_DATANAV_ADD_BINDING (RID_FORMS_START + 138)
+#define RID_STR_DATANAV_EDIT_BINDING (RID_FORMS_START + 139)
+#define RID_STR_DATANAV_REMOVE_BINDING (RID_FORMS_START + 140)
+#define RID_STR_DATANAV_ADD_SUBMISSION (RID_FORMS_START + 141)
+#define RID_STR_DATANAV_EDIT_SUBMISSION (RID_FORMS_START + 142)
+#define RID_STR_DATANAV_REMOVE_SUBMISSION (RID_FORMS_START + 143)
+#define RID_STR_DATANAV_LINKWARN_BUTTON (RID_FORMS_START + 144)
+#define RID_STR_SVT_SQL_SYNTAX_TABLE_OR_QUERY (RID_FORMS_START + 145)
+#define RID_STR_SVT_SQL_SYNTAX_TABLE_EXISTS (RID_FORMS_START + 146)
+#define RID_STR_SVT_SQL_SYNTAX_QUERY_EXISTS (RID_FORMS_START + 147)
+#define RID_STR_READONLY_VIEW (RID_FORMS_START + 148)
+#define RID_STR_ALREADYEXISTOVERWRITE (RID_FORMS_START + 149)
+#define RID_STR_OBJECT_LABEL (RID_FORMS_START + 150)
+
+// Error-String-Id's -----------------------------------------------------------
+#define RID_ERR_START (RID_FORMS_START + 600)
+#define RID_ERR_CONTEXT_ADDFORM (RID_ERR_START + 0)
+#define RID_ERR_DUPLICATE_NAME (RID_ERR_START + 1)
+#define RID_ERR_FIELDREQUIRED (RID_ERR_START + 2)
+#define RID_ERR_NO_ELEMENT (RID_ERR_START + 4)
+
+// untyped resources ----------------------------------------------------------
+
+#define RID_RSC_TABWIN_PREFIX ( RID_FORMS_START + 0 )
+#define RID_RSC_SQL_INTERNATIONAL ( RID_FORMS_START + 1 )
+
+#endif // _FM_FMPAGE_HXX
+
diff --git a/svx/inc/svx/fmsrccfg.hxx b/svx/inc/svx/fmsrccfg.hxx
new file mode 100644
index 0000000000..6ba0bd062f
--- /dev/null
+++ b/svx/inc/svx/fmsrccfg.hxx
@@ -0,0 +1,158 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _FMSRCCF_HXX_
+#define _FMSRCCF_HXX_
+
+#include <tools/string.hxx>
+#include <unotools/configvaluecontainer.hxx>
+#include <com/sun/star/uno/Sequence.hxx>
+#include "svx/svxdllapi.h"
+
+// ===================================================================================================
+
+#define MATCHING_ANYWHERE 0
+#define MATCHING_BEGINNING 1
+#define MATCHING_END 2
+#define MATCHING_WHOLETEXT 3
+
+// diese Konstanten duerfen NICHT einfach geaendert werden, da der SearchDialog aus den Einstellungen seiner ListBox
+// keine Umrechnungen vornimmt, sondern die einfach in die entsprechenden Methoden der SearchEngine steckt
+// (wenn man also die Konstanten oder die Reihenfolge der Listbox-Eintraege im Dialog aendert, muss das jeweils andere
+// angepasst werden)
+
+
+//........................................................................
+namespace svxform
+{
+//........................................................................
+
+ // ===================================================================================================
+ // = struct FmSearchParams - Parameter einer Suche
+ // ===================================================================================================
+
+ struct SVX_DLLPUBLIC FmSearchParams
+ {
+ protected:
+ sal_Int32 nTransliterationFlags;
+ // they're way too sensitive for direct access ....
+
+ public:
+ // no bit fields at all (want to pass the addresses to the OConfigurationValueContainer)
+ ::com::sun::star::uno::Sequence< ::rtl::OUString >
+ aHistory;
+ ::rtl::OUString sSingleSearchField;
+
+ sal_Int16 nSearchForType;
+ sal_Int16 nPosition;
+ sal_Int16 nLevOther;
+ sal_Int16 nLevShorter;
+ sal_Int16 nLevLonger;
+ sal_Bool bLevRelaxed;
+
+ sal_Bool bAllFields;
+ sal_Bool bUseFormatter;
+ sal_Bool bBackwards;
+ sal_Bool bWildcard;
+ sal_Bool bRegular;
+ sal_Bool bApproxSearch;
+ // the last three are mutually exclusive
+
+ sal_Bool bSoundsLikeCJK;
+
+ // ......................................
+ FmSearchParams();
+
+ sal_Bool isIgnoreWidthCJK( ) const;
+ void setIgnoreWidthCJK( sal_Bool _bIgnore );
+
+ sal_Int32 getTransliterationFlags( ) const { return nTransliterationFlags; }
+ void setTransliterationFlags( sal_Int32 _nFlags ) { nTransliterationFlags = _nFlags; }
+
+ sal_Bool isCaseSensitive( ) const;
+ void setCaseSensitive( sal_Bool _bCase );
+ };
+
+ // ===================================================================================================
+ // = class FmSearchConfigItem - ein ConfigItem, dass sich Suchparameter merkt
+ // ===================================================================================================
+
+ class SVX_DLLPUBLIC FmSearchConfigItem
+ :protected FmSearchParams
+ ,public ::utl::OConfigurationValueContainer
+ // order matters!
+ {
+ private:
+ ::osl::Mutex m_aMutex;
+
+ // wrapper properties:
+ // some of the members of FmSearchParams are must be translated to be stored in the configuration
+ ::rtl::OUString m_sSearchForType;
+ ::rtl::OUString m_sSearchPosition;
+
+ sal_Bool m_bIsMatchCase;
+ sal_Bool m_bIsMatchFullHalfWidthForms;
+ sal_Bool m_bIsMatchHiraganaKatakana;
+ sal_Bool m_bIsMatchContractions;
+ sal_Bool m_bIsMatchMinusDashCho_on;
+ sal_Bool m_bIsMatchRepeatCharMarks;
+ sal_Bool m_bIsMatchVariantFormKanji;
+ sal_Bool m_bIsMatchOldKanaForms;
+ sal_Bool m_bIsMatch_DiZi_DuZu;
+ sal_Bool m_bIsMatch_BaVa_HaFa;
+ sal_Bool m_bIsMatch_TsiThiChi_DhiZi;
+ sal_Bool m_bIsMatch_HyuIyu_ByuVyu;
+ sal_Bool m_bIsMatch_SeShe_ZeJe;
+ sal_Bool m_bIsMatch_IaIya;
+ sal_Bool m_bIsMatch_KiKu;
+ sal_Bool m_bIsIgnorePunctuation;
+ sal_Bool m_bIsIgnoreWhitespace;
+ sal_Bool m_bIsIgnoreProlongedSoundMark;
+ sal_Bool m_bIsIgnoreMiddleDot;
+
+ public:
+ FmSearchConfigItem();
+ ~FmSearchConfigItem();
+
+ const FmSearchParams& getParams( ) const;
+ void setParams( const FmSearchParams& _rParams );
+
+ private:
+ SVX_DLLPRIVATE void implTranslateFromConfig( );
+ SVX_DLLPRIVATE void implTranslateToConfig( );
+ };
+
+//........................................................................
+} // namespace svxform
+//........................................................................
+
+// ===================================================================================================
+
+#endif // _FMSRCCF_HXX_
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/fmsrcimp.hxx b/svx/inc/svx/fmsrcimp.hxx
new file mode 100644
index 0000000000..e59c59526f
--- /dev/null
+++ b/svx/inc/svx/fmsrcimp.hxx
@@ -0,0 +1,403 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _FMSRCIMP_HXX
+#define _FMSRCIMP_HXX
+
+#include <svx/fmtools.hxx>
+#include "svx/svxdllapi.h"
+
+/** === begin UNO includes === **/
+#include <com/sun/star/awt/XCheckBox.hpp>
+#include <com/sun/star/awt/XListBox.hpp>
+#include <com/sun/star/awt/XTextComponent.hpp>
+#include <com/sun/star/util/XNumberFormatsSupplier.hpp>
+#include <com/sun/star/util/XNumberFormatter.hpp>
+/** === end UNO includes === **/
+
+#include <comphelper/stl_types.hxx>
+#include <cppuhelper/implbase1.hxx>
+#include <osl/mutex.hxx>
+#include <unotools/charclass.hxx>
+#include <unotools/collatorwrapper.hxx>
+#include "svx/svxdllapi.h"
+
+#include <deque>
+
+// ===================================================================================================
+// = class FmSearchThread - wie der Name schon sagt
+// ===================================================================================================
+
+class FmSearchEngine;
+class FmSearchThread : public ::osl::Thread
+{
+ FmSearchEngine* m_pEngine;
+ Link m_aTerminationHdl;
+
+ virtual void SAL_CALL run();
+ virtual void SAL_CALL onTerminated();
+
+public:
+ FmSearchThread(FmSearchEngine* pEngine) : m_pEngine(pEngine) { }
+ void setTerminationHandler(Link aHdl) { m_aTerminationHdl = aHdl; }
+};
+
+// ===================================================================================================
+// = struct FmSearchProgress - diese Struktur bekommt der Owner der SearchEngine fuer Status-Updates
+// = (und am Ende der Suche)
+// ===================================================================================================
+
+struct FmSearchProgress
+{
+ enum STATE { STATE_PROGRESS, STATE_PROGRESS_COUNTING, STATE_CANCELED, STATE_SUCCESSFULL, STATE_NOTHINGFOUND, STATE_ERROR };
+ // (Bewegung auf neuen Datensatz; Fortschritt beim Zaehlen von Datensaetzen; abgebrochen; Datensatz gefunden;
+ // nichts gefunden, irgendein nicht zu handelnder Fehler)
+ STATE aSearchState;
+
+ // aktueller Datensatz - immer gueltig (ist zum Beispiel bei Abbrechen auch fuer das Weitersuchen interesant)
+ sal_uInt32 nCurrentRecord;
+ // Ueberlauf - nur gueltig bei STATE_PROGRESS
+ sal_Bool bOverflow;
+
+ // die Position des Such-Cursors - bei STATE_SUCCESSFULL, STATE_CANCELED und STATE_NOTHING_FOUND gueltig
+ ::com::sun::star::uno::Any aBookmark;
+ // das Feld, in dem der Text gefunden wurde - bei STATE_SUCCESSFULL gueltig
+ sal_Int32 nFieldIndex;
+};
+
+// ===================================================================================================
+// = class FmRecordCountListener - Hilfsklasse fuer FmSearchEngine, lauscht an einem Cursor und teilt
+// = Aenderungem im RecordCount mit
+// ===================================================================================================
+
+class FmRecordCountListener : public ::cppu::WeakImplHelper1< ::com::sun::star::beans::XPropertyChangeListener>
+{
+// Atribute
+ Link m_lnkWhoWantsToKnow;
+ ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > m_xListening;
+
+// Attribut-Zugriff
+public:
+ Link SetPropChangeHandler(const Link& lnk);
+
+// Oprationen
+public:
+ FmRecordCountListener(const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet >& dbcCursor);
+ // the set has to support the sdb::ResultSet service
+ virtual ~FmRecordCountListener();
+
+ // DECLARE_UNO3_AGG_DEFAULTS(FmPropertyListener, UsrObject);
+ // virtual sal_Bool queryInterface(::com::sun::star::uno::Uik aUik, ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& rOut);
+
+// ::com::sun::star::lang::XEventListener
+ virtual void SAL_CALL disposing(const ::com::sun::star::lang::EventObject& Source) throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::beans::XPropertyChangeListener
+ virtual void SAL_CALL propertyChange(const ::com::sun::star::beans::PropertyChangeEvent& evt) throw(::com::sun::star::uno::RuntimeException);
+
+ void DisConnect();
+
+private:
+ void NotifyCurrentCount();
+
+};
+
+// ===================================================================================================
+// = class FmSearchEngine - Impl-Klasse fuer FmSearchDialog
+// ===================================================================================================
+
+namespace svxform {
+ // We have three possible control types we may search in, determined by the supported interfaces : ::com::sun::star::awt::XTextComponent, ::com::sun::star::awt::XListBox, ::com::sun::star::awt::XCheckBox.
+ // While searching we don't want to do this distinction for every control in every round. So we need some helpers.
+ class ControlTextWrapper
+ {
+ // attributes
+ ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > m_xControl;
+ // attribute access
+ public:
+ ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > getControl() const{ return m_xControl; }
+ public:
+ ControlTextWrapper(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _xControl) { m_xControl = _xControl; }
+ virtual ~ControlTextWrapper() { }
+
+ virtual ::rtl::OUString getCurrentText() const = 0;
+ };
+ class SimpleTextWrapper : public ControlTextWrapper
+ {
+ ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTextComponent > m_xText;
+ public:
+ SimpleTextWrapper(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTextComponent >& _xText);
+ virtual ::rtl::OUString getCurrentText() const;
+ };
+ class ListBoxWrapper : public ControlTextWrapper
+ {
+ ::com::sun::star::uno::Reference< ::com::sun::star::awt::XListBox > m_xBox;
+ public:
+ ListBoxWrapper(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XListBox >& _xBox);
+ virtual ::rtl::OUString getCurrentText() const;
+ };
+ class CheckBoxWrapper : public ControlTextWrapper
+ {
+ ::com::sun::star::uno::Reference< ::com::sun::star::awt::XCheckBox > m_xBox;
+ public:
+ CheckBoxWrapper(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XCheckBox >& _xBox);
+ virtual ::rtl::OUString getCurrentText() const;
+ };
+}
+
+enum FMSEARCH_MODE { SM_BRUTE, SM_ALLOWSCHEDULE, SM_USETHREAD };
+
+DECLARE_STL_VECTOR( ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface>, InterfaceArray);
+
+class SVX_DLLPUBLIC FmSearchEngine
+{
+ friend class FmSearchThread;
+
+ enum SEARCH_RESULT { SR_FOUND, SR_NOTFOUND, SR_ERROR, SR_CANCELED };
+ enum SEARCHFOR_TYPE { SEARCHFOR_STRING, SEARCHFOR_NULL, SEARCHFOR_NOTNULL };
+
+ // zugrundeliegende Daten
+ CursorWrapper m_xSearchCursor;
+ std::deque<sal_Int32> m_arrFieldMapping;
+ // da der Iterator durchaus mehr Spalten haben kann, als ich eigentlich verwalte (in meiner Feld-Listbox),
+ // muss ich mir hier ein Mapping dieser ::com::sun::star::form-Schluessel auf die Indizies der entsprechenden Spalten im Iterator halten
+
+ // der Formatter
+ ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatsSupplier > m_xFormatSupplier;
+ ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter > m_xFormatter;
+
+ CharClass m_aCharacterClassficator;
+ CollatorWrapper m_aStringCompare;
+
+ // die Sammlung aller interesanten Felder (bzw. ihre ::com::sun::star::data::XDatabaseVariant-Interfaces und ihre FormatKeys)
+ struct FieldInfo
+ {
+ ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn > xContents;
+ sal_uInt32 nFormatKey;
+ sal_Bool bDoubleHandling;
+ };
+
+ DECLARE_STL_VECTOR(FieldInfo, FieldCollection);
+ FieldCollection m_arrUsedFields;
+ sal_Int32 m_nCurrentFieldIndex; // der letzte Parameter von RebuildUsedFields, ermoeglicht mir Checks in FormatField
+
+ DECLARE_STL_VECTOR(svxform::ControlTextWrapper*, ControlTextSuppliers);
+ ControlTextSuppliers m_aControlTexts;
+
+ sal_Bool m_bUsingTextComponents;
+ CursorWrapper m_xOriginalIterator;
+ CursorWrapper m_xClonedIterator;
+
+ // Daten fuer Entscheidung, in welchem Feld ich ein "Found" akzeptiere
+ ::com::sun::star::uno::Any m_aPreviousLocBookmark; // Position, an der ich zuletzt fuendig war
+ FieldCollectionIterator m_iterPreviousLocField; // dito Feld
+
+ // Kommunikation mit dem Thread, der die eigentliche Suche durchfuehrt
+ ::rtl::OUString m_strSearchExpression; // Hinrichtung
+ SEARCHFOR_TYPE m_eSearchForType; // dito
+ SEARCH_RESULT m_srResult; // Rueckrichtung
+
+ // der Link, dem ich Fortschritte und Ergebnisse mitteile
+ Link m_aProgressHandler;
+ sal_Bool m_bSearchingCurrently : 1; // laeuft gerade eine (asynchrone) Suche ?
+ sal_Bool m_bCancelAsynchRequest : 1; // soll abgebrochen werden ?
+ ::osl::Mutex m_aCancelAsynchAccess; // Zugriff auf m_bCancelAsynchRequest (eigentlich nur bei
+ // m_eMode == SM_USETHREAD interesant)
+ FMSEARCH_MODE m_eMode; //CHINA001 FmSearchDialog::SEARCH_MODE m_eMode; // der aktuelle Modus
+ // der aktuelle Modus
+
+ // Parameter fuer die Suche
+ sal_Bool m_bFormatter : 1; // Feldformatierung benutzen
+ sal_Bool m_bForward : 1; // Richtung
+ sal_Bool m_bWildcard : 1; // Platzhalter-Suche ?
+ sal_Bool m_bRegular : 1; // regulaerer Ausdruck
+ sal_Bool m_bLevenshtein : 1; // Levenshtein-Suche
+ sal_Bool m_bTransliteration : 1; // Levenshtein-Suche
+
+ sal_Bool m_bLevRelaxed : 1; // Parameter fuer Levenshtein-Suche
+ sal_uInt16 m_nLevOther;
+ sal_uInt16 m_nLevShorter;
+ sal_uInt16 m_nLevLonger;
+
+ sal_uInt16 m_nPosition; // wenn nicht regulaer oder lev, dann einer der MATCHING_...-Werte
+
+ sal_Int32 m_nTransliterationFlags;
+
+// -------------
+// Memberzugriff
+private:
+ SVX_DLLPRIVATE sal_Bool CancelRequested(); // liefert eine durch m_aCancelAsynchAccess gesicherte Auswertung von m_bCancelAsynchRequest
+
+public:
+ void SetCaseSensitive(sal_Bool bSet);
+ sal_Bool GetCaseSensitive() const;
+
+ void SetFormatterUsing(sal_Bool bSet); // das ist etwas umfangreicher, deshalb kein hier inline ....
+ sal_Bool GetFormatterUsing() const { return m_bFormatter; }
+
+ void SetDirection(sal_Bool bForward) { m_bForward = bForward; }
+ sal_Bool GetDirection() const { return m_bForward; }
+
+ void SetWildcard(sal_Bool bSet) { m_bWildcard = bSet; }
+ sal_Bool GetWildcard() const { return m_bWildcard; }
+
+ void SetRegular(sal_Bool bSet) { m_bRegular = bSet; }
+ sal_Bool GetRegular() const { return m_bRegular; }
+
+ void SetLevenshtein(sal_Bool bSet) { m_bLevenshtein = bSet; }
+ sal_Bool GetLevenshtein() const { return m_bLevenshtein; }
+
+ void SetIgnoreWidthCJK(sal_Bool bSet);
+ sal_Bool GetIgnoreWidthCJK() const;
+
+ void SetTransliteration(sal_Bool bSet) { m_bTransliteration = bSet; }
+ sal_Bool GetTransliteration() const { return m_bTransliteration; }
+
+ void SetLevRelaxed(sal_Bool bSet) { m_bLevRelaxed = bSet; }
+ sal_Bool GetLevRelaxed() const { return m_bLevRelaxed; }
+ void SetLevOther(sal_uInt16 nHowMuch) { m_nLevOther = nHowMuch; }
+ sal_uInt16 GetLevOther() const { return m_nLevOther; }
+ void SetLevShorter(sal_uInt16 nHowMuch) { m_nLevShorter = nHowMuch; }
+ sal_uInt16 GetLevShorter() const { return m_nLevShorter; }
+ void SetLevLonger(sal_uInt16 nHowMuch) { m_nLevLonger = nHowMuch; }
+ sal_uInt16 GetLevLonger() const { return m_nLevLonger; }
+ // die ganzen Lev-Werte werden nur bei m_bLevenshtein==sal_True beachtet
+
+ void SetTransliterationFlags(sal_Int32 _nFlags) { m_nTransliterationFlags = _nFlags; }
+ sal_Int32 GetTransliterationFlags() const { return m_nTransliterationFlags; }
+
+ void SetPosition(sal_uInt16 nValue) { m_nPosition = nValue; }
+ sal_uInt16 GetPosition() const { return m_nPosition; }
+ // Position wird bei m_bWildCard==sal_True nicht beachtet
+
+ FMSEARCH_MODE GetSearchMode() const { return m_eMode; }
+
+public:
+ /** zwei Constructoren, beide analog zu denen des FmSearchDialog, Erklaerung siehe also dort ....
+ xCursor muss jeweils den ::com::sun::star::data::DatabaseCursor-Service implementieren.
+ wenn eMode == SM_USETHREAD, sollte ein ProgressHandler gesetzt sein, da dann die Ergebnisuebermittlung ueber diesen
+ Handler erfolgt.
+ Ist eMode != SM_USETHREAD, kehren SearchNext und StarOver nicht zurueck, bevor die Suche (erfolgreich oder nicht) beendet
+ wurde, dann kann man das Ergebnis danach abfragen. Ist zusaetzlich der ProgressHandler gesetzt, wird dieser fuer jeden neuen
+ Datensatz sowie am Ende der Suche aufgerufen.
+ */
+ FmSearchEngine(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxORB,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet >& xCursor,
+ const ::rtl::OUString& strVisibleFields,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatsSupplier >& xFormat,
+ FMSEARCH_MODE eMode);//CHINA001 FmSearchDialog::SEARCH_MODE eMode);
+ FmSearchEngine(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxORB,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet >& xCursor,
+ const ::rtl::OUString& strVisibleFields,
+ const InterfaceArray& arrFields,
+ FMSEARCH_MODE eMode); //CHINA001 FmSearchDialog::SEARCH_MODE eMode);
+
+ virtual ~FmSearchEngine();
+
+ /** der Link wird fuer jeden Datensatz und nach Beendigung der Suche aufgerufen, Parameter ist ein Zeiger auf
+ eine FmSearchProgress-Struktur
+ der Handler sollte auf jeden Fall Thread-sicher sein
+ */
+ void SetProgressHandler(Link aHdl) { m_aProgressHandler = aHdl; }
+
+ /// das naechste Vorkommen suchen (Werte fuer nDirection siehe DIRECTION_*-defines)
+ void SearchNext(const ::rtl::OUString& strExpression);
+ /// analogous, search for "NULL" (_bSearchForNull==sal_True) or "not NULL"
+ void SearchNextSpecial(sal_Bool _bSearchForNull);
+ /// das naechste Vorkommen suchen, abhaengig von nDirection wird dabei am Anfang oder am Ende neu begonnen
+ void StartOver(const ::rtl::OUString& strExpression);
+ /// analogous, search for "NULL" (_bSearchForNull==sal_True) or "not NULL"
+ void StartOverSpecial(sal_Bool _bSearchForNull);
+ /// die Angaben ueber letzte Fundstelle invalidieren
+ void InvalidatePreviousLoc();
+
+ /** baut m_arrUsedFields neu auf (nFieldIndex==-1 bedeutet alle Felder, ansonsten gibt es den Feldindex an)
+ wenn bForce nicht gesetzt ist, passiert bei nFieldIndex == m_nCurrentFieldIndex nichts
+ (ruft InvalidatePreviousLoc auf)
+ */
+ void RebuildUsedFields(sal_Int32 nFieldIndex, sal_Bool bForce = sal_False);
+ ::rtl::OUString FormatField(sal_Int32 nWhich);
+
+ /// kehrt sofort zurueck; nachdem wirklich abgebrochen wurde, wird der ProgressHandler mit STATE_CANCELED aufgerufen
+ void CancelSearch();
+
+ /** nur gueltig, wenn nicht gerade eine (asynchrone) Suche laeuft, die naechste Suche wird dann auf dem neuen Iterator
+ mit den neuen Parametern durchgefuehrt
+ */
+ sal_Bool SwitchToContext(const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet >& xCursor, const ::rtl::OUString& strVisibleFields, const InterfaceArray& arrFields,
+ sal_Int32 nFieldIndex);
+
+protected:
+ void Init(const ::rtl::OUString& strVisibleFields);
+
+ void SearchNextImpl();
+ // diese Impl-Methode laeuft im SearchThread
+
+ // start a thread-search (or call SearchNextImpl directly, depending on the search mode)
+ void ImplStartNextSearch();
+
+private:
+ SVX_DLLPRIVATE void clearControlTexts();
+ SVX_DLLPRIVATE void fillControlTexts(const InterfaceArray& arrFields);
+
+ // three methods implementing a complete search loop (null/not null, wildcard, SearchText)
+ // (they all have some code in common, but with this solution we have do do a distinction only once per search (before
+ // starting the loop), not in every loop step
+ SVX_DLLPRIVATE SEARCH_RESULT SearchSpecial(sal_Bool _bSearchForNull, sal_Int32& nFieldPos, FieldCollectionIterator& iterFieldLoop,
+ const FieldCollectionIterator& iterBegin, const FieldCollectionIterator& iterEnd);
+ SVX_DLLPRIVATE SEARCH_RESULT SearchWildcard(const ::rtl::OUString& strExpression, sal_Int32& nFieldPos, FieldCollectionIterator& iterFieldLoop,
+ const FieldCollectionIterator& iterBegin, const FieldCollectionIterator& iterEnd);
+ SVX_DLLPRIVATE SEARCH_RESULT SearchRegularApprox(const ::rtl::OUString& strExpression, sal_Int32& nFieldPos, FieldCollectionIterator& iterFieldLoop,
+ const FieldCollectionIterator& iterBegin, const FieldCollectionIterator& iterEnd);
+
+ SVX_DLLPRIVATE void PropagateProgress(sal_Bool _bDontPropagateOverflow);
+ // ruft den ProgressHandler mit STATE_PROGRESS und der aktuellen Position des SearchIterators auf
+
+ // helpers, die ich mehrmals brauche
+ SVX_DLLPRIVATE sal_Bool MoveCursor();
+ // bewegt m_xSearchIterator unter Beachtung von Richtung/Ueberlauf Cursor
+ SVX_DLLPRIVATE sal_Bool MoveField(sal_Int32& nPos, FieldCollectionIterator& iter, const FieldCollectionIterator& iterBegin, const FieldCollectionIterator& iterEnd);
+ // bewegt den Iterator unter Beachtung von Richtung/Ueberlauf Iterator/Ueberlauf Cursor
+ SVX_DLLPRIVATE void BuildAndInsertFieldInfo(const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess >& xAllFields, sal_Int32 nField);
+ // baut eine FieldInfo zum Feld Nummer nField (in xAllFields) auf und fuegt sie zu m_arrUsedFields hinzu
+ // xAllFields muss den DatabaseRecord-Service unterstuetzen
+ SVX_DLLPRIVATE ::rtl::OUString FormatField(const FieldInfo& rField);
+ // formatiert das Feld mit dem NumberFormatter
+
+ SVX_DLLPRIVATE sal_Bool HasPreviousLoc() { return m_aPreviousLocBookmark.hasValue(); }
+
+ DECL_LINK(OnSearchTerminated, FmSearchThread*);
+ // wird vom SuchThread benutzt, nach Rueckkehr aus diesem Handler loescht sich der Thread selber
+ DECL_LINK(OnNewRecordCount, void*);
+};
+
+#endif // _FMSRCIMP_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/fmtools.hxx b/svx/inc/svx/fmtools.hxx
index 4cffe7f4a5..3d4ef3b930 100644
--- a/svx/inc/svx/fmtools.hxx
+++ b/svx/inc/svx/fmtools.hxx
@@ -72,7 +72,7 @@
#include <com/sun/star/util/XNumberFormatter.hpp>
#include <com/sun/star/util/XNumberFormats.hpp>
-#include <vcl/wintypes.hxx>
+#include <tools/wintypes.hxx>
#include <cppuhelper/weakref.hxx>
#include <comphelper/uno3.hxx>
#include <comphelper/stl_types.hxx>
diff --git a/svx/inc/svx/fontlb.hxx b/svx/inc/svx/fontlb.hxx
new file mode 100644
index 0000000000..6cbcee90dd
--- /dev/null
+++ b/svx/inc/svx/fontlb.hxx
@@ -0,0 +1,138 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef SVX_FONTLB_HXX
+#define SVX_FONTLB_HXX
+
+#include <svtools/svtabbx.hxx>
+#include <vcl/virdev.hxx>
+#include "svx/svxdllapi.h"
+#include <layout/layout.hxx>
+
+// ============================================================================
+
+/** A list box string item which stores its text and font. */
+class SvLBoxFontString : public SvLBoxString
+{
+private:
+ Font maFont; /// The font used by this item.
+ bool mbUseColor; /// true = use font color, false = default listbox color.
+
+public:
+ SvLBoxFontString();
+ SvLBoxFontString(
+ SvLBoxEntry* pEntry,
+ sal_uInt16 nFlags,
+ const XubString& rString,
+ const Font& rFont,
+ const Color* pColor = NULL );
+
+ virtual ~SvLBoxFontString();
+
+ /** Creates a new empty list box item. */
+ virtual SvLBoxItem* Create() const;
+
+ void InitViewData( SvLBox*,SvLBoxEntry*,SvViewDataItem* );
+
+ /** Paints this entry to the specified position, using the own font settings. */
+ void Paint(
+ const Point& rPos,
+ SvLBox& rDev,
+ sal_uInt16 nFlags,
+ SvLBoxEntry* pEntry );
+};
+
+
+// ============================================================================
+
+/** A list box supporting formatted string entries. */
+class SVX_DLLPUBLIC SvxFontListBox : public SvTabListBox
+{
+private:
+ Font maStdFont; /// Used for entries without specific font.
+
+ // The following members are used to store additional parameters for InitEntry().
+ Font maEntryFont; /// Current entry font used in InitEntry().
+ const Color* mpEntryColor; /// Current entry color used in InitEntry().
+ bool mbUseFont; /// true = Use maEntryFont/mpEntryColor in InitEntry().
+
+public:
+ SvxFontListBox( Window* pParent, const ResId& rResId );
+
+ /** Inserts a list entry and sets the font used for this entry.
+ @param pColor The font color. NULL = use default listbox text color. */
+ void InsertFontEntry(
+ const String& rString, const Font& rFont, const Color* pColor = NULL );
+
+ /** Selects/deselects an entry specified by its position in the list box. */
+ void SelectEntryPos( sal_uInt16 nPos, bool bSelect = true );
+ /** Removes a selection. */
+ void SetNoSelection();
+
+ /** Returns the position of the entry currently selected or LIST_APPEND. */
+ ULONG GetSelectEntryPos() const;
+ /** Returns the text of the selected entry or an empty string. */
+ XubString GetSelectEntry() const;
+
+protected:
+ /** Initializes a new SvLBoxFontString entry.
+ @descr Uses current value of maEntryFont to set the entry font (if mbUseFont is true). */
+ virtual void InitEntry(
+ SvLBoxEntry* pEntry,
+ const XubString& rEntryText,
+ const Image& rCollImg,
+ const Image& rExpImg,
+ SvLBoxButtonKind eButtonKind );
+};
+
+#if ENABLE_LAYOUT
+
+namespace layout
+{
+class SvxFontListBoxImpl;
+class SVX_DLLPUBLIC SvxFontListBox : public ListBox
+{
+ /*DECL_GET_IMPL( SvxFontListBox );
+ DECL_CONSTRUCTORS( SvxFontListBox, ListBox, WB_BORDER );
+ DECL_GET_WINDOW (SvxFontListBox);*/
+
+public:
+ SvxFontListBox( Context*, const char* );
+ ~SvxFontListBox ();
+ sal_uInt16 InsertFontEntry (String const& entry, Font const& font, Color const* color=0);
+};
+};
+
+#endif
+
+
+// ============================================================================
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/fontworkgallery.hxx b/svx/inc/svx/fontworkgallery.hxx
new file mode 100644
index 0000000000..e3f531ddcc
--- /dev/null
+++ b/svx/inc/svx/fontworkgallery.hxx
@@ -0,0 +1,131 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+
+#ifndef _SVX_FONTWORK_GALLERY_DIALOG_HXX
+#define _SVX_FONTWORK_GALLERY_DIALOG_HXX
+
+#include "svx/svxdllapi.h"
+
+#include <vcl/fixed.hxx>
+#include <vcl/button.hxx>
+#include <vcl/dialog.hxx>
+#include <vcl/field.hxx>
+
+#include <svtools/valueset.hxx>
+
+#include <sfx2/tbxctrl.hxx>
+
+#include <vector>
+
+class FmFormModel;
+class SdrView;
+class Window;
+class SdrTextObj;
+class SdrObject;
+class SdrModel;
+
+class SfxBindings;
+class SfxStatusForwarder;
+
+//------------------------------------------------------------------------
+
+namespace svx
+{
+
+class SVX_DLLPUBLIC FontWorkShapeTypeControl : public SfxToolBoxControl
+{
+ using SfxToolBoxControl::Select;
+
+public:
+ SFX_DECL_TOOLBOX_CONTROL();
+ FontWorkShapeTypeControl( USHORT nSlotId, USHORT nId, ToolBox& rTbx );
+ ~FontWorkShapeTypeControl();
+
+ virtual void Select( BOOL bMod1 = FALSE );
+ virtual SfxPopupWindowType GetPopupWindowType() const;
+ virtual SfxPopupWindow* CreatePopupWindow();
+};
+
+//------------------------------------------------------------------------
+
+class FontworkCharacterSpacingDialog : public ModalDialog
+{
+ FixedText maFLScale;
+ MetricField maMtrScale;
+ OKButton maOKButton;
+ CancelButton maCancelButton;
+ HelpButton maHelpButton;
+
+public:
+ FontworkCharacterSpacingDialog( Window* pParent, sal_Int32 nScale );
+ ~FontworkCharacterSpacingDialog();
+
+ sal_Int32 getScale() const;
+};
+
+
+class SVX_DLLPUBLIC FontWorkGalleryDialog : public ModalDialog
+{
+ ValueSet maCtlFavorites;
+ FixedLine maFLFavorites;
+ OKButton maOKButton;
+ CancelButton maCancelButton;
+ HelpButton maHelpButton;
+
+ sal_uInt16 mnThemeId;
+
+ SdrView* mpSdrView;
+ FmFormModel* mpModel;
+
+ String maStrClickToAddText;
+
+ DECL_LINK( DoubleClickFavoriteHdl, void * );
+ DECL_LINK( ClickOKHdl, void * );
+ DECL_LINK( ClickTextDirectionHdl, ImageButton * );
+
+ SdrObject** mppSdrObject;
+ SdrModel* mpDestModel;
+
+ void initfavorites(sal_uInt16 nThemeId, std::vector< Bitmap * >& rFavorites);
+ void insertSelectedFontwork();
+ void changeText( SdrTextObj* pObj );
+ void fillFavorites( sal_uInt16 nThemeId, std::vector< Bitmap * >& rFavorites );
+
+ std::vector< Bitmap * > maFavoritesHorizontal;
+
+public:
+ FontWorkGalleryDialog( SdrView* pView, Window* pParent, sal_uInt16 nSID );
+ ~FontWorkGalleryDialog();
+
+ // SJ: if the SdrObject** is set, the SdrObject is not inserted into the page when executing the dialog
+ void SetSdrObjectRef( SdrObject**, SdrModel* pModel );
+};
+
+}
+
+#endif
diff --git a/svx/inc/svx/formatpaintbrushctrl.hxx b/svx/inc/svx/formatpaintbrushctrl.hxx
new file mode 100644
index 0000000000..6f73ecd1a4
--- /dev/null
+++ b/svx/inc/svx/formatpaintbrushctrl.hxx
@@ -0,0 +1,76 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVX_FORMATPAINTBRUSHCTRL_HXX
+#define _SVX_FORMATPAINTBRUSHCTRL_HXX
+
+// header for class SfxToolBoxControl
+#include <sfx2/tbxctrl.hxx>
+// header for class Timer
+#include <vcl/timer.hxx>
+#include "svx/svxdllapi.h"
+
+//.............................................................................
+namespace svx
+{
+//.............................................................................
+
+//-----------------------------------------------------------------------------
+/**
+*/
+
+class SVX_DLLPUBLIC FormatPaintBrushToolBoxControl : public SfxToolBoxControl
+{
+ using SfxToolBoxControl::Select;
+
+public:
+ SFX_DECL_TOOLBOX_CONTROL();
+ FormatPaintBrushToolBoxControl( USHORT nSlotId, USHORT nId, ToolBox& rTbx );
+ ~FormatPaintBrushToolBoxControl();
+
+ virtual void DoubleClick();
+ virtual void Click();
+ virtual void Select( BOOL bMod1 = FALSE );
+
+ virtual void StateChanged( USHORT nSID, SfxItemState eState,
+ const SfxPoolItem* pState );
+private:
+ DECL_LINK( WaitDoubleClickHdl, void* );
+ void impl_executePaintBrush();
+
+private:
+ bool m_bPersistentCopy;//indicates that the content of the format clipboard should not be erased after paste
+ Timer m_aDoubleClickTimer;
+};
+
+//.............................................................................
+} //namespace svx
+//.............................................................................
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/galbrws.hxx b/svx/inc/svx/galbrws.hxx
new file mode 100644
index 0000000000..a639fd7ac6
--- /dev/null
+++ b/svx/inc/svx/galbrws.hxx
@@ -0,0 +1,119 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVX_GALBRWS_HXX_
+#define _SVX_GALBRWS_HXX_
+
+#include <sfx2/ctrlitem.hxx>
+#include <sfx2/dockwin.hxx>
+#include <vcl/graph.hxx>
+#include <tools/urlobj.hxx>
+#include "svx/svxdllapi.h"
+
+// -----------
+// - Defines -
+// -----------
+
+#define GALLERYBROWSER() ((GalleryBrowser*)( SfxViewFrame::Current()->GetChildWindow(GalleryChildWindow::GetChildWindowId())->GetWindow()))
+
+// -------------------------
+// - SvxGalleryChildWindow -
+// -------------------------
+
+class SVX_DLLPUBLIC GalleryChildWindow : public SfxChildWindow
+{
+public:
+ GalleryChildWindow( Window*, USHORT, SfxBindings*, SfxChildWinInfo* );
+ ~GalleryChildWindow();
+
+ SFX_DECL_CHILDWINDOW( GalleryChildWindow );
+};
+
+// ------------------
+// - FormModel -
+// ------------------
+
+class FmFormModel;
+
+// ------------------
+// - GalleryBrowser -
+// ------------------
+
+class GalleryBrowser1;
+class GalleryBrowser2;
+class GallerySplitter;
+class Gallery;
+
+class GalleryBrowser : public SfxDockingWindow
+{
+ friend class GalleryBrowser1;
+ friend class GalleryBrowser2;
+ friend class GallerySplitter;
+ using Window::KeyInput;
+
+private:
+
+ Size maLastSize;
+ GallerySplitter* mpSplitter;
+ GalleryBrowser1* mpBrowser1;
+ GalleryBrowser2* mpBrowser2;
+ Gallery* mpGallery;
+ long mnDummy1;
+ long mnDummy2;
+ long mnDummy3;
+
+ void InitSettings();
+
+ virtual BOOL Close();
+ virtual void Resize();
+ virtual void GetFocus();
+
+ DECL_LINK( SplitHdl, void* );
+
+protected:
+
+ void ThemeSelectionHasChanged();
+
+public:
+
+ GalleryBrowser( SfxBindings* pBindings, SfxChildWindow* pCW,
+ Window* pParent, const ResId& rResId );
+ ~GalleryBrowser();
+
+ INetURLObject GetURL() const;
+ String GetFilterName() const;
+ Graphic GetGraphic() const;
+ BOOL GetVCDrawModel( FmFormModel& rModel ) const;
+ BOOL IsLinkage() const;
+
+ BOOL KeyInput( const KeyEvent& rKEvt, Window* pWindow );
+};
+
+#endif // _SVX_GALBRWS_HXX_
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/galctrl.hxx b/svx/inc/svx/galctrl.hxx
new file mode 100644
index 0000000000..9352bfbc53
--- /dev/null
+++ b/svx/inc/svx/galctrl.hxx
@@ -0,0 +1,194 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVX_GALCTRL_HXX_
+#define _SVX_GALCTRL_HXX_
+
+#include <vcl/dialog.hxx>
+#include <vcl/graph.hxx>
+#include <vcl/fixed.hxx>
+#include <vcl/group.hxx>
+#include <vcl/button.hxx>
+#include <vcl/lstbox.hxx>
+#include <vcl/menu.hxx>
+#include <vcl/edit.hxx>
+#include <vcl/combobox.hxx>
+#include <vcl/sound.hxx>
+#include <svl/slstitm.hxx>
+#include <svtools/transfer.hxx>
+#include <svtools/valueset.hxx>
+#include <svtools/brwbox.hxx>
+#include <svtools/grfmgr.hxx>
+#include "svx/galmisc.hxx"
+#include "svx/svxdllapi.h"
+
+// ------------
+// - Forwards -
+// ------------
+
+class GalleryTheme;
+class GalleryBrowser2;
+
+// ------------------
+// - GalleryPreview -
+// ------------------
+
+class SVX_DLLPUBLIC GalleryPreview : public Window, public DropTargetHelper, public DragSourceHelper
+{
+private:
+
+ GraphicObject aGraphicObj;
+ Rectangle aPreviewRect;
+ GalleryTheme* mpTheme;
+
+ SVX_DLLPRIVATE BOOL ImplGetGraphicCenterRect( const Graphic& rGraphic, Rectangle& rResultRect ) const;
+ SVX_DLLPRIVATE void InitSettings();
+
+ // Window
+ SVX_DLLPRIVATE virtual void Paint(const Rectangle& rRect);
+ SVX_DLLPRIVATE virtual void MouseButtonDown(const MouseEvent& rMEvt);
+ SVX_DLLPRIVATE virtual void Command(const CommandEvent& rCEvt);
+ SVX_DLLPRIVATE virtual void KeyInput( const KeyEvent& rKEvt );
+ SVX_DLLPRIVATE virtual void DataChanged( const DataChangedEvent& rDCEvt );
+
+
+ // DropTargetHelper
+ SVX_DLLPRIVATE virtual sal_Int8 AcceptDrop( const AcceptDropEvent& rEvt );
+ SVX_DLLPRIVATE virtual sal_Int8 ExecuteDrop( const ExecuteDropEvent& rEvt );
+
+ // DragSourceHelper
+ SVX_DLLPRIVATE virtual void StartDrag( sal_Int8 nAction, const Point& rPosPixel );
+
+ DECL_LINK( MenuSelectHdl, Menu* );
+
+public:
+
+ GalleryPreview( GalleryBrowser2* pParent, GalleryTheme* pTheme );
+ GalleryPreview( Window* pParent, const ResId& rResId );
+ ~GalleryPreview();
+
+ void SetGraphic( const Graphic& rGraphic ) { aGraphicObj.SetGraphic( rGraphic ); }
+ bool SetGraphic( const INetURLObject& );
+ void PreviewMedia( const INetURLObject& rURL );
+};
+
+// -------------------
+// - GalleryIconView -
+// -------------------
+
+class GalleryIconView : public ValueSet, public DropTargetHelper, public DragSourceHelper
+{
+ using ValueSet::StartDrag;
+
+private:
+
+ GalleryTheme* mpTheme;
+
+ void InitSettings();
+
+ // ValueSet
+ virtual void UserDraw( const UserDrawEvent& rUDEvt );
+
+ // Window
+ virtual void MouseButtonDown( const MouseEvent& rMEvt );
+ virtual void Command( const CommandEvent& rCEvt );
+ virtual void KeyInput( const KeyEvent& rKEvt );
+ virtual void DataChanged( const DataChangedEvent& rDCEvt );
+
+ // DropTargetHelper
+ virtual sal_Int8 AcceptDrop( const AcceptDropEvent& rEvt );
+ virtual sal_Int8 ExecuteDrop( const ExecuteDropEvent& rEvt );
+
+ // DragSourceHelper
+ virtual void StartDrag( sal_Int8 nAction, const Point& rPosPixel );
+
+public:
+
+ GalleryIconView( GalleryBrowser2* pParent, GalleryTheme* pTheme );
+ ~GalleryIconView();
+};
+
+// -------------------
+// - GalleryListView -
+// -------------------
+
+class GalleryListView : public BrowseBox
+{
+ using BrowseBox::AcceptDrop;
+ using BrowseBox::ExecuteDrop;
+
+private:
+
+ Link maSelectHdl;
+ GalleryTheme* mpTheme;
+ ULONG mnCurRow;
+ BOOL mbInit;
+
+ void InitSettings();
+
+ // BrowseBox
+ virtual BOOL SeekRow( long nRow );
+ virtual void PaintField( OutputDevice& rDev, const Rectangle& rRect, USHORT nColumnId ) const;
+ virtual void DoubleClick( const BrowserMouseEvent& rEvt );
+ virtual void Select();
+ virtual sal_Int8 AcceptDrop( const BrowserAcceptDropEvent& rEvt );
+ virtual sal_Int8 ExecuteDrop( const BrowserExecuteDropEvent& rEvt );
+ virtual void KeyInput( const KeyEvent& rKEvt );
+
+ // Window
+ virtual void Command( const CommandEvent& rCEvt );
+ virtual void DataChanged( const DataChangedEvent& rDCEvt );
+
+ // DragSourceHelper
+ virtual void StartDrag( sal_Int8 nAction, const Point& rPosPixel );
+
+public:
+
+ GalleryListView( GalleryBrowser2* pParent, GalleryTheme* pTheme );
+ ~GalleryListView();
+
+ void SetSelectHdl( const Link& rSelectHdl ) { maSelectHdl = rSelectHdl; }
+
+ /** GetCellText returns the text at the given position
+ @param _nRow
+ the number of the row
+ @param _nColId
+ the ID of the column
+ @return
+ the text out of the cell
+ */
+ virtual String GetCellText(long _nRow, USHORT _nColId) const;
+
+ // from IAccessibleTableProvider
+ virtual Rectangle GetFieldCharacterBounds(sal_Int32 _nRow,sal_Int32 _nColumnPos,sal_Int32 nIndex);
+ virtual sal_Int32 GetFieldIndexAtPoint(sal_Int32 _nRow,sal_Int32 _nColumnPos,const Point& _rPoint);
+};
+
+#endif // _SVX_GALCTRL_HXX_
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/gallery.hxx b/svx/inc/svx/gallery.hxx
new file mode 100644
index 0000000000..27fd7eeca6
--- /dev/null
+++ b/svx/inc/svx/gallery.hxx
@@ -0,0 +1,283 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _GALLERY_HXX_
+#define _GALLERY_HXX_
+
+#include <tools/solar.h>
+#include <tools/string.hxx>
+#include <tools/urlobj.hxx>
+#include <vector>
+#include "svx/svxdllapi.h"
+
+// -----------
+// - Defines -
+// -----------
+
+#define SGA_FORMAT_NONE 0x00000000L
+#define SGA_FORMAT_STRING 0x00000001L
+#define SGA_FORMAT_GRAPHIC 0x00000010L
+#define SGA_FORMAT_SOUND 0x00000100L
+#define SGA_FORMAT_OLE 0x00001000L
+#define SGA_FORMAT_SVDRAW 0x00010000L
+#define SGA_FORMAT_ALL 0xFFFFFFFFL
+
+#define SVX_GALLERY() (GalleryExplorer::GetGallery())
+
+// Defines for preinstalled themes
+#define GALLERY_THEME_3D 1
+#define GALLERY_THEME_ANIMATIONS 2
+#define GALLERY_THEME_BULLETS 3
+#define GALLERY_THEME_OFFICE 4
+#define GALLERY_THEME_FLAGS 5
+#define GALLERY_THEME_FLOWCHARTS 6
+#define GALLERY_THEME_EMOTICONS 7
+#define GALLERY_THEME_PHOTOS 8
+#define GALLERY_THEME_BACKGROUNDS 9
+#define GALLERY_THEME_HOMEPAGE 10
+#define GALLERY_THEME_INTERACTION 11
+#define GALLERY_THEME_MAPS 12
+#define GALLERY_THEME_PEOPLE 13
+#define GALLERY_THEME_SURFACES 14
+#define GALLERY_THEME_HTMLBUTTONS 15
+#define GALLERY_THEME_POWERPOINT 16
+#define GALLERY_THEME_RULERS 17
+#define GALLERY_THEME_SOUNDS 18
+#define GALLERY_THEME_SYMBOLS 19
+#define GALLERY_THEME_MYTHEME 20
+#define GALLERY_THEME_USERSOUNDS 21
+#define GALLERY_THEME_ARROWS 22
+#define GALLERY_THEME_BALLOONS 23
+#define GALLERY_THEME_KEYBOARD 24
+#define GALLERY_THEME_TIME 25
+#define GALLERY_THEME_PRESENTATION 26
+#define GALLERY_THEME_CALENDAR 27
+#define GALLERY_THEME_NAVIGATION 28
+#define GALLERY_THEME_COMMUNICATION 29
+#define GALLERY_THEME_FINANCES 30
+#define GALLERY_THEME_COMPUTER 31
+#define GALLERY_THEME_CLIMA 32
+#define GALLERY_THEME_EDUCATION 33
+#define GALLERY_THEME_TROUBLE 34
+#define GALLERY_THEME_SCREENBEANS 35
+
+#define GALLERY_THEME_DUMMY5 36
+
+#define GALLERY_THEME_FONTWORK 37
+#define GALLERY_THEME_FONTWORK_VERTICAL 38
+
+#define GALLERY_THEME_SHAPES_POLYGONS 39
+#define GALLERY_THEME_SHAPES_1 40
+#define GALLERY_THEME_SHAPES_2 41
+#define GALLERY_THEME_ANIMALS 42
+#define GALLERY_THEME_CARS 43
+#define GALLERY_THEME_BUGS 44
+#define GALLERY_THEME_CISCO_OTHER 45
+#define GALLERY_THEME_CISCO_MEDIA 46
+#define GALLERY_THEME_CISCO_PRODUCTS 47
+#define GALLERY_THEME_CISCO_WAN_LAN 48
+#define GALLERY_THEME_DOMINO_USUAL 49
+#define GALLERY_THEME_DOMINO_NUMBERED 50
+#define GALLERY_THEME_ELECTRONICS_PARTS_1 51
+#define GALLERY_THEME_ELECTRONICS_PARTS_2 52
+#define GALLERY_THEME_ELECTRONICS_PARTS_3 53
+#define GALLERY_THEME_ELECTRONICS_PARTS_4 54
+#define GALLERY_THEME_ELECTRONICS_CIRCUIT 55
+#define GALLERY_THEME_ELECTRONICS_SIGNS 56
+#define GALLERY_THEME_ELECTRONICS_GAUGES 57
+#define GALLERY_THEME_PEOPLE_1 58
+#define GALLERY_THEME_ARCHITECTURE_OVERLAY 59
+#define GALLERY_THEME_ARCHITECTURE_FURNITURES 60
+#define GALLERY_THEME_ARCHITECTURE_BUILDINGS 61
+#define GALLERY_THEME_ARCHITECTURE_BATHROOM_KITCHEN 62
+#define GALLERY_THEME_ARCHITECTURE_KITCHEN 63
+#define GALLERY_THEME_ARCHITECTURE_WINDOWS_DOORS 64
+#define GALLERY_THEME_FLOWCHARTS_1 65
+#define GALLERY_THEME_FLOWCHARTS_2 66
+#define GALLERY_THEME_FORALSTUDIOA 67
+#define GALLERY_THEME_PHOTOS_FAUNA 68
+#define GALLERY_THEME_PHOTOS_BUILDINGS 69
+#define GALLERY_THEME_PHOTOS_PLANTS 70
+#define GALLERY_THEME_PHOTOS_STATUES 71
+#define GALLERY_THEME_PHOTOS_LANDSCAPES 72
+#define GALLERY_THEME_PHOTOS_CITIES 73
+#define GALLERY_THEME_PHOTOS_FLOWERS 74
+#define GALLERY_THEME_THERAPEUTICS_GENERAL 75
+#define GALLERY_THEME_WEATHER 76
+#define GALLERY_THEME_VECHILES 77
+#define GALLERY_THEME_SIGNS 78
+#define GALLERY_THEME_BLUE_MAN 79
+#define GALLERY_THEME_CHEMISTRY_AMINO_ACIDS 80
+#define GALLERY_THEME_LOGICAL_SIGNS 81
+#define GALLERY_THEME_LOGICAL_GATES 82
+#define GALLERY_THEME_LOGOS 83
+#define GALLERY_THEME_SMILES 84
+#define GALLERY_THEME_ARROWS_1 85
+#define GALLERY_THEME_CLOCK_01_CLOCK 86
+#define GALLERY_THEME_CLOCK_02_CLOCK 87
+#define GALLERY_THEME_CLOCK_03_CLOCK 88
+#define GALLERY_THEME_CLOCK_04_CLOCK 89
+#define GALLERY_THEME_CLOCK_05_CLOCK 90
+#define GALLERY_THEME_CLOCK_06_CLOCK 91
+#define GALLERY_THEME_CLOCK_07_CLOCK 92
+#define GALLERY_THEME_CLOCK_08_CLOCK 93
+#define GALLERY_THEME_CLOCK_09_CLOCK 94
+#define GALLERY_THEME_CLOCK_10_CLOCK 95
+#define GALLERY_THEME_CLOCK_11_CLOCK 96
+#define GALLERY_THEME_CLOCK_12_CLOCK 97
+#define GALLERY_THEME_PNEUMATIC_PARTS 98
+#define GALLERY_THEME_COMPUTER_GENERAL 99
+#define GALLERY_THEME_COMPUTER_NETWORK 100
+#define GALLERY_THEME_COMPUTER_NETWORK_DEVICES 101
+#define GALLERY_THEME_COMPUTER_WIFI 102
+#define GALLERY_THEME_NUMBERS 103
+#define GALLERY_THEME_SIGNS_DANGER 104
+#define GALLERY_THEME_OBJECTS 105
+#define GALLERY_THEME_MAPS_AFRICA 106
+#define GALLERY_THEME_MAPS_UNITED_STATES_OF_AMERICA 107
+#define GALLERY_THEME_MAPS_AUSTRALIA 108
+#define GALLERY_THEME_MAPS_ASIA 109
+#define GALLERY_THEME_MAPS_SOUTH_AMERICA 110
+#define GALLERY_THEME_MAPS_EUROPE 111
+#define GALLERY_THEME_MAPS_EUROPE_1 112
+#define GALLERY_THEME_MAPS_FRANCE 113
+#define GALLERY_THEME_MAPS_FRANCE_COUNTRIES 114
+#define GALLERY_THEME_MAPS_SIGNS 115
+#define GALLERY_THEME_MAPS_CANADA 116
+#define GALLERY_THEME_MAPS_CONTINENTS 117
+#define GALLERY_THEME_MAPS_MIDDLE_EAST 118
+#define GALLERY_THEME_MAPS_MIDDLE_AMERICA 119
+#define GALLERY_THEME_MAPS_MIDDLE_AGES 120
+#define GALLERY_THEME_MAPS_MEXICO 121
+#define GALLERY_THEME_MAPS_ANCIENT_TIMES 122
+#define GALLERY_THEME_MAPS_SYMBOLS 123
+#define GALLERY_THEME_MAPS_HISTORY_1900 124
+#define GALLERY_THEME_MAPS_WORLD 125
+#define GALLERY_THEME_CROPS 126
+#define GALLERY_THEME_FRACTIONS 127
+#define GALLERY_THEME_FLAGS_1 128
+#define GALLERY_THEME_MUSIC_INSTRUMENTS 129
+#define GALLERY_THEME_MUSIC_SHEET_MUSIC 130
+#define GALLERY_THEME_SPECIAL_PICTOGRAMM 131
+#define GALLERY_THEME_PHOTOS_CELEBRATION 132
+#define GALLERY_THEME_PHOTOS_FOODSANDDRINKS 133
+#define GALLERY_THEME_PHOTOS_HUMANS 134
+#define GALLERY_THEME_PHOTOS_OBJECTS 135
+#define GALLERY_THEME_PHOTOS_SPACE 136
+#define GALLERY_THEME_PHOTOS_TRAVEL 137
+#define GALLERY_THEME_OPENOFFICEORG_LOGOS 138
+#define GALLERY_THEME_RELIGION 139
+#define GALLERY_THEME_BUILDINGS 140
+#define GALLERY_THEME_HOMEPAGE2 141
+#define GALLERY_THEME_ELEMENTSBULLETS2 142
+
+// -------------------
+// - GalleryExplorer -
+// -------------------
+
+class List;
+class Gallery;
+class VCDrawModel;
+class FmFormModel;
+class SdrModel;
+class Graphic;
+class FmFormModel;
+class Bitmap;
+class OutputDevice;
+
+class SVX_DLLPUBLIC GalleryExplorer
+{
+private:
+
+ SVX_DLLPRIVATE static Gallery* ImplGetGallery();
+
+public:
+
+ static GalleryExplorer* GetGallery();
+
+public:
+
+ INetURLObject GetURL() const;
+ String GetFilterName() const;
+ Graphic GetGraphic() const;
+ BOOL GetVCDrawModel( FmFormModel& rModel ) const;
+ BOOL IsLinkage() const;
+
+ static BOOL FillThemeList( List& rThemeList );
+
+ // FillObjList is filling rObjList with Strings of the internal Gallery Object URL
+ static BOOL FillObjList( const String& rThemeName, List& rObjList );
+ static BOOL FillObjList( ULONG nThemeId, List& rObjList );
+
+ // FillObjTitleList is filling the rList with the title for each gallery object
+ static sal_Bool FillObjListTitle( const sal_uInt32 nThemeId, std::vector< rtl::OUString >& rList );
+
+ static BOOL InsertURL( const String& rThemeName, const String& rURL );
+ static BOOL InsertURL( ULONG nThemeId, const String& rURL );
+
+ static BOOL InsertURL( const String& rThemeName, const String& rURL,
+ const ULONG nSgaFormat /* = SGA_FORMAT_ALL */ );
+ static BOOL InsertURL( ULONG nThemeId, const String& rURL,
+ const ULONG nSgaFormat /* = SGA_FORMAT_ALL */ );
+
+ static ULONG GetObjCount( const String& rThemeName );
+ static ULONG GetObjCount( ULONG nThemeId );
+
+ static BOOL GetGraphicObj( const String& rThemeName, ULONG nPos,
+ Graphic* pGraphic = NULL, Bitmap* pThumb = NULL,
+ BOOL bProgess = FALSE );
+ static BOOL GetGraphicObj( ULONG nThemeId, ULONG nPos,
+ Graphic* pGraphic = NULL, Bitmap* pThumb = NULL,
+ BOOL bProgess = FALSE );
+
+ static BOOL InsertGraphicObj( const String& rThemeName, const Graphic& rGraphic );
+ static BOOL InsertGraphicObj( ULONG nThemeId, const Graphic& rGraphic );
+
+ static ULONG GetSdrObjCount( const String& rThemeName );
+ static ULONG GetSdrObjCount( ULONG nThemeId );
+
+ static BOOL GetSdrObj( const String& rThemeName, ULONG nSdrModelPos,
+ SdrModel* pModel = NULL, Bitmap* pThumb = NULL );
+ static BOOL GetSdrObj( ULONG nThemeId, ULONG nSdrModelPos,
+ SdrModel* pModel = NULL, Bitmap* pThumb = NULL );
+
+ static BOOL InsertSdrObj( const String& rThemeName, FmFormModel& rModel );
+ static BOOL InsertSdrObj( ULONG nThemeId, FmFormModel& rModel );
+
+ static BOOL BeginLocking( const String& rThemeName );
+ static BOOL BeginLocking( ULONG nThemeId );
+
+ static BOOL EndLocking( const String& rThemeName );
+ static BOOL EndLocking( ULONG nThemeId );
+
+ static BOOL DrawCentered( OutputDevice* pOut, const FmFormModel& rModel );
+};
+
+#endif // _GALLERY_HXX_
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/gallery1.hxx b/svx/inc/svx/gallery1.hxx
index ec26c6edf2..6ab516c0d7 100644
--- a/svx/inc/svx/gallery1.hxx
+++ b/svx/inc/svx/gallery1.hxx
@@ -34,6 +34,7 @@
#include <tools/urlobj.hxx>
#include <svl/brdcst.hxx>
#include "svx/svxdllapi.h"
+#include "gallery.hrc"
#include <cstdio>
#include <list>
diff --git a/svx/inc/svx/galtheme.hxx b/svx/inc/svx/galtheme.hxx
new file mode 100644
index 0000000000..ff6ffc8330
--- /dev/null
+++ b/svx/inc/svx/galtheme.hxx
@@ -0,0 +1,247 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVX_GALTHEME_HXX_
+#define _SVX_GALTHEME_HXX_
+
+#include "svx/svxdllapi.h"
+
+#define ENABLE_BYTESTRING_STREAM_OPERATORS
+
+#include <tools/debug.hxx>
+#include <tools/urlobj.hxx>
+#include <vcl/salctype.hxx>
+#include <svl/brdcst.hxx>
+#include <svl/lstner.hxx>
+#include <svtools/transfer.hxx>
+#include <sot/storage.hxx>
+#include <svx/svdmodel.hxx>
+#include <svx/galmisc.hxx>
+#include <vector>
+//#include <svx/gallery1.hxx>
+
+// -----------------
+// - GalleryObject -
+// -----------------
+// --------------
+// - SgaObjKind -
+// --------------
+
+struct GalleryObject
+{
+ INetURLObject aURL;
+ sal_uInt32 nOffset;
+ SgaObjKind eObjKind;
+ BOOL bDummy;
+};
+
+typedef ::std::vector< GalleryObject* > GalleryObjectList;
+
+class GalleryThemeEntry;
+class SgaObject;
+class FmFormModel;
+class ListBox;
+
+class GalleryThemeEntry;
+class SgaObject;
+class FmFormModel;
+class ListBox;
+
+// -----------------
+// - GalDragParams -
+// -----------------
+
+struct GalDragParams
+{
+ Region aDragRegion;
+ ULONG nDragObjPos;
+ String aThemeName;
+ String aFileName;
+ SgaObjKind eObjKind;
+};
+
+// ----------------
+// - GalleryTheme -
+// ----------------
+
+class Gallery;
+class GalleryProgress;
+namespace unogallery
+{
+ class GalleryTheme;
+ class GalleryItem;
+}
+
+class GalleryTheme : public SfxBroadcaster
+{
+ friend class Gallery;
+ friend class GalleryThemeCacheEntry;
+ friend class ::unogallery::GalleryTheme;
+ friend class ::unogallery::GalleryItem;
+
+private:
+
+ GalleryObjectList aObjectList;
+ String aImportName;
+ String m_aDestDir;
+ SotStorageRef aSvDrawStorageRef;
+ Gallery* pParent;
+ GalleryThemeEntry* pThm;
+ ULONG mnThemeLockCount;
+ ULONG mnBroadcasterLockCount;
+ ULONG nDragPos;
+ BOOL bDragging;
+ BOOL bAbortActualize;
+
+ void ImplCreateSvDrawStorage();
+ SVX_DLLPUBLIC SgaObject* ImplReadSgaObject( GalleryObject* pEntry );
+ BOOL ImplWriteSgaObject( const SgaObject& rObj, size_t nPos, GalleryObject* pExistentEntry );
+ void ImplRead();
+ void ImplWrite();
+ const GalleryObject* ImplGetGalleryObject( size_t nPos ) const
+ { return ( nPos < aObjectList.size() ) ? aObjectList[ nPos ] : NULL; }
+ SVX_DLLPUBLIC const GalleryObject* ImplGetGalleryObject( const INetURLObject& rURL );
+
+ size_t ImplGetGalleryObjectPos( const GalleryObject* pObj ) const
+ {
+ for ( size_t i = 0, n = aObjectList.size(); i < n; ++i )
+ if ( pObj == aObjectList[ i ] )
+ return i;
+ return size_t(-1);
+ }
+ INetURLObject ImplGetURL( const GalleryObject* pObject ) const;
+ INetURLObject ImplCreateUniqueURL( SgaObjKind eObjKind, ULONG nFormat = CVT_UNKNOWN );
+ void ImplSetModified( BOOL bModified );
+ void ImplBroadcast( ULONG nUpdatePos );
+
+ GalleryTheme();
+ GalleryTheme( Gallery* pGallery, GalleryThemeEntry* pThemeEntry );
+ ~GalleryTheme();
+
+public:
+
+ static GalleryThemeEntry* CreateThemeEntry( const INetURLObject& rURL, BOOL bReadOnly );
+
+ size_t GetObjectCount() const { return aObjectList.size(); }
+
+ SVX_DLLPUBLIC SgaObject* AcquireObject( size_t nPos );
+ SVX_DLLPUBLIC void ReleaseObject( SgaObject* pObj );
+
+ SVX_DLLPUBLIC BOOL InsertObject( const SgaObject& rObj, ULONG nPos = LIST_APPEND );
+ SVX_DLLPUBLIC BOOL RemoveObject( size_t nPos );
+ BOOL ChangeObjectPos( size_t nOldPos, size_t nNewPos );
+
+ SVX_DLLPUBLIC const String& GetName() const;
+ const String& GetRealName() const;
+ const String& GetImportName() const { return aImportName; }
+ void SetImportName(const String& rImportName) { aImportName = rImportName; }
+
+ const String& GetDestDir() const { return m_aDestDir; }
+ void SetDestDir(const String& rDestDir) { m_aDestDir = rDestDir; }
+
+ const INetURLObject& GetThmURL() const;
+ SVX_DLLPUBLIC const INetURLObject& GetSdgURL() const;
+ const INetURLObject& GetSdvURL() const;
+
+ SVX_DLLPUBLIC UINT32 GetId() const;
+ void SetId( UINT32 nNewId, BOOL bResetThemeName );
+
+ void SetDragging( BOOL bSet ) { bDragging = bSet; }
+ BOOL IsDragging() const { return bDragging; }
+
+ void LockTheme() { ++mnThemeLockCount; }
+ BOOL UnlockTheme();
+
+ void LockBroadcaster() { mnBroadcasterLockCount++; }
+ SVX_DLLPUBLIC void UnlockBroadcaster( ULONG nUpdatePos = 0 );
+ BOOL IsBroadcasterLocked() const { return mnBroadcasterLockCount > 0; }
+
+ void SetDragPos( ULONG nPos ) { nDragPos = nPos; }
+ ULONG GetDragPos() const { return nDragPos; }
+
+ BOOL IsThemeNameFromResource() const;
+
+ SVX_DLLPUBLIC BOOL IsImported() const;
+ SVX_DLLPUBLIC BOOL IsReadOnly() const;
+ SVX_DLLPUBLIC BOOL IsDefault() const;
+ BOOL IsModified() const;
+
+ SVX_DLLPUBLIC void Actualize( const Link& rActualizeLink, GalleryProgress* pProgress = NULL );
+ void AbortActualize() { bAbortActualize = TRUE; }
+
+ Gallery* GetParent() const { return pParent; }
+ SotStorageRef GetSvDrawStorage() const { return aSvDrawStorageRef; }
+
+public:
+
+ SgaObjKind GetObjectKind( ULONG nPos ) const
+ {
+ DBG_ASSERT( nPos < GetObjectCount(), "Position out of range" );
+ return ImplGetGalleryObject( nPos )->eObjKind;
+ }
+
+
+ const INetURLObject& GetObjectURL( ULONG nPos ) const
+ {
+ DBG_ASSERT( nPos < GetObjectCount(), "Position out of range" );
+ return ImplGetGalleryObject( nPos )->aURL;
+ }
+
+ BOOL GetThumb( ULONG nPos, Bitmap& rBmp, BOOL bProgress = FALSE );
+
+ SVX_DLLPUBLIC BOOL GetGraphic( ULONG nPos, Graphic& rGraphic, BOOL bProgress = FALSE );
+ SVX_DLLPUBLIC BOOL InsertGraphic( const Graphic& rGraphic, ULONG nInsertPos = LIST_APPEND );
+
+ SVX_DLLPUBLIC BOOL GetModel( ULONG nPos, SdrModel& rModel, BOOL bProgress = FALSE );
+ SVX_DLLPUBLIC BOOL InsertModel( const FmFormModel& rModel, ULONG nInsertPos = LIST_APPEND );
+
+ BOOL GetModelStream( ULONG nPos, SotStorageStreamRef& rModelStreamRef, BOOL bProgress = FALSE );
+ BOOL InsertModelStream( const SotStorageStreamRef& rModelStream, ULONG nInsertPos = LIST_APPEND );
+
+ BOOL GetURL( ULONG nPos, INetURLObject& rURL, BOOL bProgress = FALSE );
+ SVX_DLLPUBLIC BOOL InsertURL( const INetURLObject& rURL, ULONG nInsertPos = LIST_APPEND );
+ BOOL InsertFileOrDirURL( const INetURLObject& rFileOrDirURL, ULONG nInsertPos = LIST_APPEND );
+
+ BOOL InsertTransferable( const ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::XTransferable >& rxTransferable, ULONG nInsertPos );
+
+ void CopyToClipboard( Window* pWindow, ULONG nPos );
+ void StartDrag( Window* pWindow, ULONG nPos );
+
+public:
+
+ SvStream& WriteData( SvStream& rOut ) const;
+ SvStream& ReadData( SvStream& rIn );
+ static SVX_DLLPUBLIC void InsertAllThemes( ListBox& rListBox );
+};
+
+SvStream& operator<<( SvStream& rOut, const GalleryTheme& rTheme );
+SvStream& operator>>( SvStream& rIn, GalleryTheme& rTheme );
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/globl3d.hxx b/svx/inc/svx/globl3d.hxx
new file mode 100644
index 0000000000..0d965bdd2a
--- /dev/null
+++ b/svx/inc/svx/globl3d.hxx
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _E3D_GLOBL3D_HXX
+#define _E3D_GLOBL3D_HXX
+
+#include <tools/solar.h>
+
+//#define ESODEBUG
+#define E3D_STREAMING
+
+const double PrecisionLimit = 1.0e-14;
+
+const UINT32 E3dInventor = UINT32('E')*0x00000001+
+ UINT32('3')*0x00000100+
+ UINT32('D')*0x00010000+
+ UINT32('1')*0x01000000;
+
+const UINT16 E3D_SCENE_ID = 1;
+const UINT16 E3D_POLYSCENE_ID = 2;
+const UINT16 E3D_OBJECT_ID = 3; // should not be used, it's only a helper class for E3DScene and E3DCompoundObject
+const UINT16 E3D_CUBEOBJ_ID = 4;
+const UINT16 E3D_SPHEREOBJ_ID = 5;
+const UINT16 E3D_EXTRUDEOBJ_ID = 6;
+const UINT16 E3D_LATHEOBJ_ID = 7;
+const UINT16 E3D_COMPOUNDOBJ_ID = 8;
+const UINT16 E3D_POLYGONOBJ_ID = 9;
+
+#endif // _E3D_GLOBL3D_HXX
diff --git a/svx/inc/svx/grafctrl.hxx b/svx/inc/svx/grafctrl.hxx
new file mode 100644
index 0000000000..f621e9ddd5
--- /dev/null
+++ b/svx/inc/svx/grafctrl.hxx
@@ -0,0 +1,194 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVX_GRAFCTRL_HXX
+#define _SVX_GRAFCTRL_HXX
+
+#include <svl/lstner.hxx>
+#include <svl/intitem.hxx>
+#include <sfx2/tbxctrl.hxx>
+#include "svx/svxdllapi.h"
+
+// ----------------
+// - TbxImageItem -
+// ----------------
+
+class SVX_DLLPUBLIC TbxImageItem : public SfxUInt16Item
+{
+public:
+ TYPEINFO();
+ TbxImageItem( USHORT nWhich = 0, UINT16 nImage = 0 );
+
+ virtual SfxPoolItem* Clone( SfxItemPool* pPool = 0 ) const;
+ virtual int operator==( const SfxPoolItem& ) const;
+};
+
+// -------------------------------
+// - SvxGrafFilterToolBoxControl -
+// -------------------------------
+
+class SVX_DLLPUBLIC SvxGrafFilterToolBoxControl : public SfxToolBoxControl
+{
+public:
+
+ SFX_DECL_TOOLBOX_CONTROL();
+
+ SvxGrafFilterToolBoxControl( USHORT nSlotId, USHORT nId, ToolBox& rTbx );
+ ~SvxGrafFilterToolBoxControl();
+
+ virtual void StateChanged( USHORT nSID, SfxItemState eState, const SfxPoolItem* pState );
+ virtual SfxPopupWindowType GetPopupWindowType() const;
+ virtual SfxPopupWindow* CreatePopupWindow();
+};
+
+// -------------------------
+// - SvxGrafToolBoxControl -
+// -------------------------
+
+class SvxGrafToolBoxControl : public SfxToolBoxControl
+{
+public:
+
+ SFX_DECL_TOOLBOX_CONTROL();
+ SvxGrafToolBoxControl( USHORT nSlotId, USHORT nId, ToolBox& rTbx );
+ ~SvxGrafToolBoxControl();
+
+ virtual void StateChanged( USHORT nSID, SfxItemState eState, const SfxPoolItem* pState );
+ virtual Window* CreateItemWindow( Window *pParent );
+};
+
+// ----------------------------
+// - SvxGrafRedToolBoxControl -
+// ----------------------------
+
+class SVX_DLLPUBLIC SvxGrafRedToolBoxControl : public SvxGrafToolBoxControl
+{
+public:
+ SFX_DECL_TOOLBOX_CONTROL();
+ SvxGrafRedToolBoxControl( USHORT nSlotId, USHORT nId, ToolBox& rTbx );
+};
+
+// ------------------------------
+// - SvxGrafGreenToolBoxControl -
+// ------------------------------
+
+class SVX_DLLPUBLIC SvxGrafGreenToolBoxControl : public SvxGrafToolBoxControl
+{
+public:
+ SFX_DECL_TOOLBOX_CONTROL();
+ SvxGrafGreenToolBoxControl( USHORT nSlotId, USHORT nId, ToolBox& rTbx );
+};
+
+// -----------------------------
+// - SvxGrafBlueToolBoxControl -
+// -----------------------------
+
+class SVX_DLLPUBLIC SvxGrafBlueToolBoxControl : public SvxGrafToolBoxControl
+{
+public:
+ SFX_DECL_TOOLBOX_CONTROL();
+ SvxGrafBlueToolBoxControl( USHORT nSlotId, USHORT nId, ToolBox& rTbx );
+};
+
+// ----------------------------------
+// - SvxGrafLuminanceToolBoxControl -
+// ----------------------------------
+
+class SVX_DLLPUBLIC SvxGrafLuminanceToolBoxControl : public SvxGrafToolBoxControl
+{
+public:
+ SFX_DECL_TOOLBOX_CONTROL();
+ SvxGrafLuminanceToolBoxControl( USHORT nSlotId, USHORT nId, ToolBox& rTbx );
+};
+
+// ---------------------------------
+// - SvxGrafContrastToolBoxControl -
+// ---------------------------------
+
+class SVX_DLLPUBLIC SvxGrafContrastToolBoxControl : public SvxGrafToolBoxControl
+{
+public:
+ SFX_DECL_TOOLBOX_CONTROL();
+ SvxGrafContrastToolBoxControl( USHORT nSlotId, USHORT nId, ToolBox& rTbx );
+};
+
+// ------------------------------
+// - SvxGrafGammaToolBoxControl -
+// ------------------------------
+
+class SVX_DLLPUBLIC SvxGrafGammaToolBoxControl : public SvxGrafToolBoxControl
+{
+public:
+ SFX_DECL_TOOLBOX_CONTROL();
+ SvxGrafGammaToolBoxControl( USHORT nSlotId, USHORT nId, ToolBox& rTbx );
+};
+
+// -------------------------------------
+// - SvxGrafTransparenceToolBoxControl -
+// -------------------------------------
+
+class SVX_DLLPUBLIC SvxGrafTransparenceToolBoxControl : public SvxGrafToolBoxControl
+{
+public:
+ SFX_DECL_TOOLBOX_CONTROL();
+ SvxGrafTransparenceToolBoxControl( USHORT nSlotId, USHORT nId, ToolBox& rTbx );
+};
+
+// -----------------------------
+// - SvxGrafModeToolBoxControl -
+// -----------------------------
+
+class SVX_DLLPUBLIC SvxGrafModeToolBoxControl : public SfxToolBoxControl, public SfxListener
+{
+public:
+ SFX_DECL_TOOLBOX_CONTROL();
+ SvxGrafModeToolBoxControl( USHORT nSlotId, USHORT nId, ToolBox& rTbx );
+ ~SvxGrafModeToolBoxControl();
+
+ virtual void StateChanged( USHORT nSID, SfxItemState eState, const SfxPoolItem* pState );
+ virtual Window* CreateItemWindow( Window *pParent );
+};
+
+// ---------------------
+// - SvxGrafAttrHelper -
+// ---------------------
+
+class SdrView;
+class SfxRequest;
+
+class SVX_DLLPUBLIC SvxGrafAttrHelper
+{
+public:
+
+ static void ExecuteGrafAttr( SfxRequest& rReq, SdrView& rView );
+ static void GetGrafAttrState( SfxItemSet& rSet, SdrView& rView );
+};
+
+#endif // _SVX_GRAFCTRL_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/gridctrl.hxx b/svx/inc/svx/gridctrl.hxx
index af552f58f5..d7d83d2e59 100644
--- a/svx/inc/svx/gridctrl.hxx
+++ b/svx/inc/svx/gridctrl.hxx
@@ -248,7 +248,7 @@ private:
// For that reason we have to listen to some properties of our data source.
::comphelper::OPropertyChangeMultiplexer* m_pDataSourcePropMultiplexer;
FmXGridSourcePropListener* m_pDataSourcePropListener;
- ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XRowsChangeListener>
+ ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XRowsChangeListener>
m_xRowSetListener; // get notification when rows were changed
void* m_pFieldListeners;
@@ -595,7 +595,7 @@ protected:
const DbGridRowRef& GetSeekRow() const { return m_xSeekRow; }
const DbGridRowRef& GetPaintRow() const { return m_xPaintRow; }
CursorWrapper* GetSeekCursor() const { return m_pSeekCursor; }
-
+
void ConnectToFields();
void DisconnectFromFields();
diff --git a/svx/inc/svx/hlnkitem.hxx b/svx/inc/svx/hlnkitem.hxx
new file mode 100644
index 0000000000..13b6b1d8d7
--- /dev/null
+++ b/svx/inc/svx/hlnkitem.hxx
@@ -0,0 +1,112 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_HLNKITEM_HXX
+#define _SVX_HLNKITEM_HXX
+
+#include <tools/string.hxx>
+#include <svl/poolitem.hxx>
+#include <sfx2/sfxsids.hrc>
+#include <svl/macitem.hxx>
+#include "svx/svxdllapi.h"
+
+#define HYPERDLG_EVENT_MOUSEOVER_OBJECT 0x0001
+#define HYPERDLG_EVENT_MOUSECLICK_OBJECT 0x0002
+#define HYPERDLG_EVENT_MOUSEOUT_OBJECT 0x0004
+
+enum SvxLinkInsertMode
+{
+ HLINK_DEFAULT,
+ HLINK_FIELD,
+ HLINK_BUTTON,
+ HLINK_HTMLMODE = 0x0080
+};
+
+class SVX_DLLPUBLIC SvxHyperlinkItem : public SfxPoolItem
+{
+ String sName;
+ String sURL;
+ String sTarget;
+ SvxLinkInsertMode eType;
+
+ String sIntName;
+ SvxMacroTableDtor* pMacroTable;
+
+ USHORT nMacroEvents;
+
+public:
+ TYPEINFO();
+
+ SvxHyperlinkItem( USHORT _nWhich = SID_HYPERLINK_GETLINK ):
+ SfxPoolItem(_nWhich), pMacroTable(NULL) { eType = HLINK_DEFAULT; nMacroEvents=0; };
+ SvxHyperlinkItem( const SvxHyperlinkItem& rHyperlinkItem );
+ SvxHyperlinkItem( USHORT nWhich, String& rName, String& rURL,
+ String& rTarget, String& rIntName,
+ SvxLinkInsertMode eTyp = HLINK_FIELD,
+ USHORT nEvents = 0,
+ SvxMacroTableDtor *pMacroTbl =NULL );
+ virtual ~SvxHyperlinkItem () { delete pMacroTable; }
+
+ inline SvxHyperlinkItem& operator=( const SvxHyperlinkItem &rItem );
+
+ virtual int operator==( const SfxPoolItem& ) const;
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ 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 );
+
+ const String& GetName() const { return sName; }
+ void SetName(const String& rName) { sName = rName; }
+
+ const String& GetURL() const { return sURL; }
+ void SetURL(const String& rURL) { sURL = rURL; }
+
+ const String& GetIntName () const { return sIntName; }
+ void SetIntName(const String& rIntName) { sIntName = rIntName; }
+
+ const String& GetTargetFrame() const { return sTarget; }
+ void SetTargetFrame(const String& rTarget) { sTarget = rTarget; }
+
+ SvxLinkInsertMode GetInsertMode() const { return eType; }
+ void SetInsertMode( SvxLinkInsertMode eNew ) { eType = eNew; }
+
+ void SetMacro( USHORT nEvent, const SvxMacro& rMacro );
+
+ void SetMacroTable( const SvxMacroTableDtor& rTbl );
+ const SvxMacroTableDtor* GetMacroTbl() const { return pMacroTable; }
+
+ void SetMacroEvents (const USHORT nEvents) { nMacroEvents = nEvents; }
+ USHORT GetMacroEvents() const { return nMacroEvents; }
+
+ virtual SvStream& Store( SvStream &, USHORT nItemVersion ) const;
+ virtual SfxPoolItem* Create( SvStream &, USHORT nVer ) const;
+
+};
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/htmlmode.hxx b/svx/inc/svx/htmlmode.hxx
new file mode 100644
index 0000000000..a701d03d39
--- /dev/null
+++ b/svx/inc/svx/htmlmode.hxx
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_HTMLMODE_HXX
+#define _SVX_HTMLMODE_HXX
+
+#include <sfx2/htmlmode.hxx>
+
+#endif
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/svx/inc/svx/hyperdlg.hxx b/svx/inc/svx/hyperdlg.hxx
new file mode 100644
index 0000000000..fc286e2389
--- /dev/null
+++ b/svx/inc/svx/hyperdlg.hxx
@@ -0,0 +1,60 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVX_TAB_HYPERLINK_HXX
+#define _SVX_TAB_HYPERLINK_HXX
+
+// include ---------------------------------------------------------------
+
+#include <sfx2/childwin.hxx>
+#include "svx/svxdllapi.h"
+
+/*************************************************************************
+|*
+|* Hyperlink-Dialog
+|*
+\************************************************************************/
+
+class AbstractSvxHpLinkDlg;
+
+class SVX_DLLPUBLIC SvxHlinkDlgWrapper : public SfxChildWindow
+{
+private:
+ AbstractSvxHpLinkDlg* mpDlg;
+
+public:
+ SvxHlinkDlgWrapper( Window*pParent, USHORT nId,
+ SfxBindings* pBindings, SfxChildWinInfo* pInfo );
+
+ SFX_DECL_CHILDWINDOW(SvxHlinkDlgWrapper);
+ virtual sal_Bool QueryClose();
+};
+
+#endif // _SVX_TAB_HYPERLINK_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/hyprlink.hxx b/svx/inc/svx/hyprlink.hxx
new file mode 100644
index 0000000000..b37c2cf2b2
--- /dev/null
+++ b/svx/inc/svx/hyprlink.hxx
@@ -0,0 +1,45 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_DLG_HYPERLINK_HXX
+#define _SVX_DLG_HYPERLINK_HXX
+
+#include <sfx2/childwin.hxx>
+#include "svx/svxdllapi.h"
+
+// class SvxHyperlinkDialogWrapper ---------------------------------------
+class SVX_DLLPUBLIC SvxHyperlinkDlgWrapper : public SfxChildWindow
+{
+public:
+ SvxHyperlinkDlgWrapper( Window*pParent, USHORT nId,
+ SfxBindings* pBindings, SfxChildWinInfo* pInfo );
+ SFX_DECL_CHILDWINDOW(SvxHyperlinkDlgWrapper);
+};
+#endif // _SVX_DLG_HYPERLINK_HXX
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/imapdlg.hxx b/svx/inc/svx/imapdlg.hxx
new file mode 100644
index 0000000000..05e30ee342
--- /dev/null
+++ b/svx/inc/svx/imapdlg.hxx
@@ -0,0 +1,203 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+
+#ifndef _IMAPDLG_HXX_
+#define _IMAPDLG_HXX_
+
+#include <svtools/inettbc.hxx>
+#include <sfx2/childwin.hxx>
+#include <sfx2/ctrlitem.hxx>
+#include <sfx2/basedlgs.hxx>
+
+#include <vcl/fixed.hxx>
+
+#include <vcl/combobox.hxx>
+
+#include <vcl/edit.hxx>
+
+#include <vcl/toolbox.hxx>
+
+#include <vcl/status.hxx>
+#include "svx/svxdllapi.h"
+#include <vector>
+
+
+#ifndef _GOMISC_HXX
+class ImageMap;
+#endif
+
+
+/*************************************************************************
+|*
+|* Derivation from SfxChildWindow as "container" for float
+|*
+\************************************************************************/
+
+class Graphic;
+typedef ::std::vector< String* > TargetList;
+
+class SVX_DLLPUBLIC SvxIMapDlgChildWindow : public SfxChildWindow
+{
+ public:
+
+ SvxIMapDlgChildWindow( Window*, USHORT, SfxBindings*, SfxChildWinInfo* );
+
+ SFX_DECL_CHILDWINDOW( SvxIMapDlgChildWindow );
+
+ static void UpdateIMapDlg( const Graphic& rGraphic, const ImageMap* pImageMap = NULL,
+ const TargetList* pTargetList = NULL, void* pEditingObj = NULL );
+};
+
+
+#ifndef _REDUCED_IMAPDLG_HXX_
+#define _REDUCED_IMAPDLG_HXX_
+
+/*************************************************************************
+|*
+|*
+|*
+\************************************************************************/
+
+class SvxIMapDlg;
+
+class SvxIMapDlgItem : public SfxControllerItem
+{
+ SvxIMapDlg& rIMap;
+
+
+protected:
+
+ virtual void StateChanged( USHORT nSID, SfxItemState eState,
+ const SfxPoolItem* pState );
+
+
+public:
+
+ SvxIMapDlgItem( USHORT nId, SvxIMapDlg& rIMapDlg, SfxBindings& rBindings );
+};
+
+
+/*************************************************************************
+|*
+|*
+|*
+\************************************************************************/
+
+class IMapOwnData;
+class IMapWindow;
+
+class SVX_DLLPUBLIC SvxIMapDlg : public SfxModelessDialog // SfxFloatingWindow
+{
+ friend class IMapOwnData;
+ friend class IMapWindow;
+ using Window::Update;
+
+ ToolBox aTbxIMapDlg1;
+ FixedText aFtURL;
+ SvtURLBox maURLBox;
+ FixedText aFtText;
+ Edit aEdtText;
+ FixedText maFtTarget;
+ ComboBox maCbbTarget;
+ StatusBar aStbStatus;
+ ImageList maImageList;
+
+ Size aLastSize;
+ IMapWindow* pIMapWnd;
+ IMapOwnData* pOwnData;
+ void* pCheckObj;
+ SvxIMapDlgItem aIMapItem;
+
+ virtual void Resize();
+ virtual BOOL Close();
+
+#ifdef _IMAPDLG_PRIVATE
+
+ DECL_LINK( TbxClickHdl, ToolBox* );
+ DECL_LINK( InfoHdl, IMapWindow* );
+ DECL_LINK( MousePosHdl, IMapWindow* );
+ DECL_LINK( GraphSizeHdl, IMapWindow* );
+ DECL_LINK( URLModifyHdl, void* );
+ DECL_LINK( URLLoseFocusHdl, void* );
+ DECL_LINK( UpdateHdl, Timer* );
+ DECL_LINK( TbxUpdateHdl, Timer* );
+ DECL_LINK( StateHdl, IMapWindow* );
+ DECL_LINK( MiscHdl, void* );
+
+ void DoOpen();
+ BOOL DoSave();
+
+#endif
+
+
+public:
+
+ SvxIMapDlg( SfxBindings *pBindings, SfxChildWindow *pCW,
+ Window* pParent, const ResId& rResId );
+ ~SvxIMapDlg();
+
+ void SetExecState( BOOL bEnable );
+
+ void SetGraphic( const Graphic& rGraphic );
+
+ void SetEditingObject( void* pObj ) { pCheckObj = pObj; }
+ const void* GetEditingObject() const { return pCheckObj; }
+
+ void SetImageMap( const ImageMap& rImageMap );
+ const ImageMap& GetImageMap() const;
+
+ void SetTargetList( const TargetList& rTargetList );
+ const TargetList& GetTargetList() const;
+
+ void Update( const Graphic& rGraphic, const ImageMap* pImageMap = NULL,
+ const TargetList* pTargetList = NULL, void* pEditingObj = NULL );
+
+ virtual void KeyInput( const KeyEvent& rKEvt );
+
+ virtual void DataChanged( const DataChangedEvent& rDCEvt );
+ void ApplyImageList();
+};
+
+
+/*************************************************************************
+|*
+|* Defines
+|*
+\************************************************************************/
+
+#define SVXIMAPDLG() ( (SvxIMapDlg*) ( SfxViewFrame::Current()->GetChildWindow( \
+ SvxIMapDlgChildWindow::GetChildWindowId() )-> \
+ GetWindow() ) )
+
+
+#endif // _REDUCED_IMAPDLG_HXX_
+#endif // _IMAPDLG_HXX_
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/insctrl.hxx b/svx/inc/svx/insctrl.hxx
new file mode 100644
index 0000000000..139b0197e2
--- /dev/null
+++ b/svx/inc/svx/insctrl.hxx
@@ -0,0 +1,64 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_INSCTRL_HXX
+#define _SVX_INSCTRL_HXX
+
+// include ---------------------------------------------------------------
+
+#include <sfx2/stbitem.hxx>
+#include "svx/svxdllapi.h"
+
+// class SvxInsertToolBoxControl -----------------------------------------
+
+class SVX_DLLPUBLIC SvxInsertStatusBarControl : public SfxStatusBarControl
+{
+public:
+ virtual void StateChanged( USHORT nSID, SfxItemState eState,
+ const SfxPoolItem* pState );
+ virtual void Click();
+ virtual void Paint( const UserDrawEvent& rEvt );
+
+ SFX_DECL_STATUSBAR_CONTROL();
+
+ SvxInsertStatusBarControl( USHORT nSlotId, USHORT nId, StatusBar& rStb );
+ ~SvxInsertStatusBarControl();
+
+ static ULONG GetDefItemWidth(const StatusBar& rStb);
+
+private:
+ BOOL bInsert;
+
+#ifdef _SVX_INSCTRL_CXX
+ SVX_DLLPRIVATE void DrawItemText_Impl();
+#endif
+};
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/langbox.hxx b/svx/inc/svx/langbox.hxx
index a57524e170..30a394befd 100644
--- a/svx/inc/svx/langbox.hxx
+++ b/svx/inc/svx/langbox.hxx
@@ -2,7 +2,7 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
+ *
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
diff --git a/svx/inc/svx/layctrl.hxx b/svx/inc/svx/layctrl.hxx
new file mode 100644
index 0000000000..37beb62cb3
--- /dev/null
+++ b/svx/inc/svx/layctrl.hxx
@@ -0,0 +1,81 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_LAYCTRL_HXX
+#define _SVX_LAYCTRL_HXX
+
+// include ---------------------------------------------------------------
+
+
+#include <sfx2/tbxctrl.hxx>
+#include "svx/svxdllapi.h"
+
+// class SvxTableToolBoxControl ------------------------------------------
+
+class SVX_DLLPUBLIC SvxTableToolBoxControl : public SfxToolBoxControl
+{
+private:
+ bool bEnabled;
+
+public:
+ virtual SfxPopupWindowType GetPopupWindowType() const;
+ virtual SfxPopupWindow* CreatePopupWindow();
+ virtual SfxPopupWindow* CreatePopupWindowCascading();
+ virtual void StateChanged( USHORT nSID,
+ SfxItemState eState,
+ const SfxPoolItem* pState );
+
+ SFX_DECL_TOOLBOX_CONTROL();
+
+ SvxTableToolBoxControl( USHORT nSlotId, USHORT nId, ToolBox& rTbx );
+ ~SvxTableToolBoxControl();
+};
+
+// class SvxColumnsToolBoxControl ----------------------------------------
+
+class SVX_DLLPUBLIC SvxColumnsToolBoxControl : public SfxToolBoxControl
+{
+ bool bEnabled;
+public:
+ virtual SfxPopupWindowType GetPopupWindowType() const;
+ virtual SfxPopupWindow* CreatePopupWindow();
+ virtual SfxPopupWindow* CreatePopupWindowCascading();
+
+ SFX_DECL_TOOLBOX_CONTROL();
+
+ SvxColumnsToolBoxControl( USHORT nSlotId, USHORT nId, ToolBox& rTbx );
+ ~SvxColumnsToolBoxControl();
+
+ virtual void StateChanged( USHORT nSID,
+ SfxItemState eState,
+ const SfxPoolItem* pState );
+};
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/lboxctrl.hxx b/svx/inc/svx/lboxctrl.hxx
new file mode 100644
index 0000000000..8483146ab4
--- /dev/null
+++ b/svx/inc/svx/lboxctrl.hxx
@@ -0,0 +1,88 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVX_LBOXCTRL_HXX_
+#define _SVX_LBOXCTRL_HXX_
+
+#include <sfx2/tbxctrl.hxx>
+#include <rtl/ustring.hxx>
+#include <vector>
+#include "svx/svxdllapi.h"
+
+class ToolBox;
+class SvxPopupWindowListBox;
+
+/////////////////////////////////////////////////////////////////
+
+class SvxListBoxControl : public SfxToolBoxControl
+{
+protected:
+ String aActionStr;
+ SvxPopupWindowListBox * pPopupWin;
+
+ void Impl_SetInfo( USHORT nCount );
+
+ DECL_LINK( PopupModeEndHdl, void * );
+ DECL_LINK( SelectHdl, void * );
+
+public:
+ SFX_DECL_TOOLBOX_CONTROL();
+
+ SvxListBoxControl( USHORT nSlotId, USHORT nId, ToolBox& rTbx );
+ virtual ~SvxListBoxControl();
+
+ virtual SfxPopupWindowType GetPopupWindowType() const;
+ virtual SfxPopupWindow* CreatePopupWindow();
+ virtual void StateChanged( USHORT nSID,
+ SfxItemState eState,
+ const SfxPoolItem* pState );
+};
+
+/////////////////////////////////////////////////////////////////
+
+class SVX_DLLPUBLIC SvxUndoRedoControl : public SvxListBoxControl
+{
+ std::vector< ::rtl::OUString > aUndoRedoList;
+ ::rtl::OUString aDefaultText;
+
+public:
+ SFX_DECL_TOOLBOX_CONTROL();
+
+ SvxUndoRedoControl( USHORT nSlotId, USHORT nId, ToolBox& rTbx );
+
+ virtual ~SvxUndoRedoControl();
+ virtual void StateChanged( USHORT nSID,
+ SfxItemState eState,
+ const SfxPoolItem* pState );
+
+ virtual SfxPopupWindow* CreatePopupWindow();
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/linectrl.hxx b/svx/inc/svx/linectrl.hxx
new file mode 100644
index 0000000000..3045a55141
--- /dev/null
+++ b/svx/inc/svx/linectrl.hxx
@@ -0,0 +1,177 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_LINECTRL_HXX
+#define _SVX_LINECTRL_HXX
+
+
+#include <svtools/valueset.hxx>
+#include <svl/lstner.hxx>
+#include <sfx2/tbxctrl.hxx>
+#include "svx/svxdllapi.h"
+
+class XLineStyleItem;
+class XLineDashItem;
+class SvxLineBox;
+class SvxMetricField;
+class SvxColorBox;
+class XLineEndList;
+
+//========================================================================
+// SvxLineStyleController:
+//========================================================================
+
+class SVX_DLLPUBLIC SvxLineStyleToolBoxControl : public SfxToolBoxControl
+{
+private:
+ XLineStyleItem* pStyleItem;
+ XLineDashItem* pDashItem;
+
+ BOOL bUpdate;
+
+public:
+ SFX_DECL_TOOLBOX_CONTROL();
+
+ SvxLineStyleToolBoxControl( USHORT nSlotId, USHORT nId, ToolBox& rTbx );
+ ~SvxLineStyleToolBoxControl();
+
+ virtual void StateChanged( USHORT nSID, SfxItemState eState,
+ const SfxPoolItem* pState );
+ void Update( const SfxPoolItem* pState );
+ virtual Window* CreateItemWindow( Window *pParent );
+};
+
+//========================================================================
+// SvxLineWidthController:
+//========================================================================
+
+class SVX_DLLPUBLIC SvxLineWidthToolBoxControl : public SfxToolBoxControl
+{
+public:
+ SFX_DECL_TOOLBOX_CONTROL();
+
+ SvxLineWidthToolBoxControl( USHORT nSlotId, USHORT nId, ToolBox& rTbx );
+ ~SvxLineWidthToolBoxControl();
+
+ virtual void StateChanged( USHORT nSID, SfxItemState eState,
+ const SfxPoolItem* pState );
+ virtual Window* CreateItemWindow( Window *pParent );
+};
+
+//========================================================================
+// SvxLineColorController:
+//========================================================================
+
+class SVX_DLLPUBLIC SvxLineColorToolBoxControl : public SfxToolBoxControl
+{
+public:
+ SFX_DECL_TOOLBOX_CONTROL();
+
+ SvxLineColorToolBoxControl( USHORT nSlotId, USHORT nId, ToolBox& rTbx );
+ ~SvxLineColorToolBoxControl();
+
+ virtual void StateChanged( USHORT nSID, SfxItemState eState,
+ const SfxPoolItem* pState );
+ void Update( const SfxPoolItem* pState );
+ virtual Window* CreateItemWindow( Window *pParent );
+};
+
+//========================================================================
+// class SvxLineEndWindow
+//========================================================================
+class SvxLineEndWindow : public SfxPopupWindow
+{
+ using FloatingWindow::StateChanged;
+
+private:
+ XLineEndList* pLineEndList;
+ ValueSet aLineEndSet;
+ USHORT nCols;
+ USHORT nLines;
+ ULONG nLineEndWidth;
+ Size aBmpSize;
+ BOOL bPopupMode;
+ bool mbInResize;
+ ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > mxFrame;
+
+
+ DECL_LINK( SelectHdl, void * );
+ void FillValueSet();
+ void SetSize();
+ void implInit();
+
+protected:
+ virtual void Resizing( Size& rSize );
+ virtual void Resize();
+ virtual BOOL Close();
+ virtual void PopupModeEnd();
+
+ /** This function is called when the window gets the focus. It grabs
+ the focus to the line ends value set so that it can be controlled with
+ the keyboard.
+ */
+ virtual void GetFocus (void);
+
+public:
+ SvxLineEndWindow( USHORT nId,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rFrame,
+ const String& rWndTitle );
+ SvxLineEndWindow( USHORT nId,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rFrame,
+ Window* pParentWindow,
+ const String& rWndTitle );
+ ~SvxLineEndWindow();
+
+ void StartSelection();
+
+ virtual void StateChanged( USHORT nSID, SfxItemState eState,
+ const SfxPoolItem* pState );
+ virtual SfxPopupWindow* Clone() const;
+};
+
+//========================================================================
+// class SvxColorToolBoxControl
+//========================================================================
+
+class SVX_DLLPUBLIC SvxLineEndToolBoxControl : public SfxToolBoxControl
+{
+public:
+ SFX_DECL_TOOLBOX_CONTROL();
+ SvxLineEndToolBoxControl( USHORT nSlotId, USHORT nId, ToolBox& rTbx );
+ ~SvxLineEndToolBoxControl();
+
+ virtual void StateChanged( USHORT nSID, SfxItemState eState,
+ const SfxPoolItem* pState );
+ virtual SfxPopupWindowType GetPopupWindowType() const;
+ virtual SfxPopupWindow* CreatePopupWindow();
+};
+
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/measctrl.hxx b/svx/inc/svx/measctrl.hxx
new file mode 100644
index 0000000000..79efb8e1d6
--- /dev/null
+++ b/svx/inc/svx/measctrl.hxx
@@ -0,0 +1,70 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_MEASCTRL_HXX
+#define _SVX_MEASCTRL_HXX
+
+// include ---------------------------------------------------------------
+
+#include <vcl/ctrl.hxx>
+#include "svx/svxdllapi.h"
+
+
+class SfxItemSet;
+class SdrMeasureObj;
+class SdrModel;
+
+/*************************************************************************
+|*
+|* SvxXMeasurePreview
+|*
+\************************************************************************/
+class SVX_DLLPUBLIC SvxXMeasurePreview : public Control
+{
+ friend class SvxMeasurePage;
+
+private:
+ const SfxItemSet& rAttrs;
+ SdrMeasureObj* pMeasureObj;
+ SdrModel* pModel;
+
+public:
+ SvxXMeasurePreview( Window* pParent, const ResId& rResId,
+ const SfxItemSet& rInAttrs );
+ ~SvxXMeasurePreview();
+
+ virtual void Paint( const Rectangle& rRect );
+ virtual void MouseButtonDown( const MouseEvent& rMEvt );
+
+ void SetAttributes( const SfxItemSet& rInAttrs );
+
+ virtual void DataChanged( const DataChangedEvent& rDCEvt );
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/modctrl.hxx b/svx/inc/svx/modctrl.hxx
new file mode 100644
index 0000000000..06d3ae008b
--- /dev/null
+++ b/svx/inc/svx/modctrl.hxx
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_MODCTRL_HXX
+#define _SVX_MODCTRL_HXX
+
+// include ---------------------------------------------------------------
+
+#include <sfx2/stbitem.hxx>
+#include "svx/svxdllapi.h"
+
+// class SvxModifyControl ------------------------------------------------
+
+class SVX_DLLPUBLIC SvxModifyControl : public SfxStatusBarControl
+{
+public:
+ virtual void StateChanged( USHORT nSID, SfxItemState eState,
+ const SfxPoolItem* pState );
+ virtual void Paint( const UserDrawEvent& rEvt );
+ virtual void DoubleClick();
+
+ SFX_DECL_STATUSBAR_CONTROL();
+
+ SvxModifyControl( USHORT nSlotId, USHORT nId, StatusBar& rStb );
+
+ static ULONG GetDefItemWidth(const StatusBar& rStb);
+
+private:
+ struct ImplData;
+ ::boost::shared_ptr<ImplData> mpImpl;
+};
+
+
+#endif
+
diff --git a/svx/inc/svx/msdffdef.hxx b/svx/inc/svx/msdffdef.hxx
index fbac729f54..517e2590c7 100644
--- a/svx/inc/svx/msdffdef.hxx
+++ b/svx/inc/svx/msdffdef.hxx
@@ -1219,6 +1219,6 @@ BYTE m_bTag;
void *m_pvBits; // raster bits of the blip.
#endif
-#endif
+#endif // _MSDFFDEF_HXX
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/numvset.hxx b/svx/inc/svx/numvset.hxx
new file mode 100644
index 0000000000..69600123d4
--- /dev/null
+++ b/svx/inc/svx/numvset.hxx
@@ -0,0 +1,157 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_NUMVSET_HXX
+#define _SVX_NUMVSET_HXX
+
+
+// include ---------------------------------------------------------------
+
+
+#include <svtools/valueset.hxx>
+#include <limits.h>
+#include <com/sun/star/uno/Reference.h>
+#include <com/sun/star/uno/Sequence.h>
+#include <com/sun/star/lang/Locale.hpp>
+#include "svx/svxdllapi.h"
+
+namespace com{namespace sun{ namespace star{
+ namespace container{
+ class XIndexAccess;
+ }
+ namespace beans{
+ struct PropertyValue;
+ }
+ namespace text{
+ class XNumberingFormatter;
+ }
+}}}
+
+class SvxBrushItem;
+class SvxNumRule;
+struct SvxBmpItemInfo
+{
+ SvxBrushItem* pBrushItem;
+ USHORT nItemId;
+};
+
+class SVX_DLLPUBLIC SvxNumValueSet : public ValueSet
+{
+ Color aLineColor;
+ USHORT nPageType;
+ BOOL bHTMLMode;
+ Rectangle aOrgRect;
+ VirtualDevice* pVDev;
+
+ com::sun::star::uno::Reference<com::sun::star::text::XNumberingFormatter> xFormatter;
+ com::sun::star::lang::Locale aLocale;
+
+ com::sun::star::uno::Sequence<
+ com::sun::star::uno::Sequence<
+ com::sun::star::beans::PropertyValue> > aNumSettings;
+
+ com::sun::star::uno::Sequence<
+ com::sun::star::uno::Reference<
+ com::sun::star::container::XIndexAccess> > aOutlineSettings;
+ public:
+ SvxNumValueSet( Window* pParent, const ResId& rResId, USHORT nType );
+ ~SvxNumValueSet();
+
+ virtual void UserDraw( const UserDrawEvent& rUDEvt );
+
+ void SetHTMLMode(BOOL bSet) {bHTMLMode = bSet;}
+ void SetNumberingSettings(
+ const com::sun::star::uno::Sequence<
+ com::sun::star::uno::Sequence<
+ com::sun::star::beans::PropertyValue> >& aNum,
+ com::sun::star::uno::Reference<com::sun::star::text::XNumberingFormatter>& xFormatter,
+ const com::sun::star::lang::Locale& rLocale );
+
+ void SetOutlineNumberingSettings(
+ com::sun::star::uno::Sequence<
+ com::sun::star::uno::Reference<
+ com::sun::star::container::XIndexAccess> >& rOutline,
+ com::sun::star::uno::Reference<com::sun::star::text::XNumberingFormatter>& xFormatter,
+ const com::sun::star::lang::Locale& rLocale);
+};
+
+class SVX_DLLPUBLIC SvxBmpNumValueSet : public SvxNumValueSet
+{
+ String sBullets;
+ Timer aFormatTimer;
+ BOOL bGrfNotFound;
+
+ protected:
+ DECL_LINK(FormatHdl_Impl, Timer*);
+
+ void SetGrfNotFound(BOOL bSet) {bGrfNotFound = bSet;}
+ BOOL IsGrfNotFound()const {return bGrfNotFound;}
+
+ Timer& GetFormatTimer() {return aFormatTimer;}
+
+ public:
+ SvxBmpNumValueSet( Window* pParent, const ResId& rResId);
+ ~SvxBmpNumValueSet();
+
+ virtual void UserDraw( const UserDrawEvent& rUDEvt );
+
+};
+
+class SvxNumberingPreview : public Window
+{
+ const SvxNumRule* pActNum;
+ Font aStdFont;
+ long nPageWidth;
+ const String* pOutlineNames;
+ BOOL bPosition;
+ UINT16 nActLevel;
+
+ protected:
+ virtual void Paint( const Rectangle& rRect );
+
+ public:
+ SvxNumberingPreview(Window* pParent, const ResId& rResId ) :
+ Window(pParent, rResId),
+ pActNum(0),nPageWidth(0), pOutlineNames(0), bPosition(FALSE), nActLevel(USHRT_MAX)
+ { SetBorderStyle( WINDOW_BORDER_MONO ); }
+
+ void SetNumRule(const SvxNumRule* pNum)
+ {pActNum = pNum; Invalidate();};
+ void SetPageWidth(long nPgWidth)
+ {nPageWidth = nPgWidth;}
+ void SetOutlineNames(const String* pNames)
+ {pOutlineNames = pNames;}
+ void SetPositionMode()
+ { bPosition = TRUE;}
+ void SetLevel(USHORT nSet) {nActLevel = nSet;}
+
+};
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/obj3d.hxx b/svx/inc/svx/obj3d.hxx
index 3dd361b215..5911dbc9e2 100644
--- a/svx/inc/svx/obj3d.hxx
+++ b/svx/inc/svx/obj3d.hxx
@@ -118,6 +118,7 @@ private:
protected:
virtual sdr::properties::BaseProperties* CreateObjectSpecificProperties();
+
E3dObjList maSubList; // child objekts
basegfx::B3DRange maLocalBoundVol; // surrounding volume of the object (from the geometry generation)
diff --git a/svx/inc/svx/objfac3d.hxx b/svx/inc/svx/objfac3d.hxx
new file mode 100644
index 0000000000..9cb7ecb526
--- /dev/null
+++ b/svx/inc/svx/objfac3d.hxx
@@ -0,0 +1,59 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _OBJFAC3D_HXX
+#define _OBJFAC3D_HXX
+
+#include "svx/svxdllapi.h"
+
+
+/*************************************************************************
+|*
+|* Factory for chart-specific objects
+|*
+\************************************************************************/
+
+class SdrObjFactory;
+
+
+#include <tools/link.hxx>
+
+class SVX_DLLPUBLIC E3dObjFactory
+{
+public:
+ E3dObjFactory();
+ ~E3dObjFactory();
+
+ DECL_LINK(MakeObject, SdrObjFactory*);
+};
+
+
+
+#endif // _OBJFAC3D_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/ofaitem.hxx b/svx/inc/svx/ofaitem.hxx
new file mode 100644
index 0000000000..766c8ee776
--- /dev/null
+++ b/svx/inc/svx/ofaitem.hxx
@@ -0,0 +1,56 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _OFF_OFAITEM_HXX
+#define _OFF_OFAITEM_HXX
+
+// include ----------------------------------------------------------------
+
+#include <svl/poolitem.hxx>
+#include "svx/svxdllapi.h"
+
+// class OfaPtrItem ------------------------------------------------------
+
+class SVX_DLLPUBLIC OfaPtrItem : public SfxPoolItem
+{
+private:
+ void* pPtr;
+
+public:
+ OfaPtrItem( USHORT nWhich, void *pPtr );
+ OfaPtrItem( const OfaPtrItem& );
+
+ virtual int operator==( const SfxPoolItem& ) const;
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+
+ void* GetValue() const { return pPtr; }
+ void SetValue( void* pNewPtr ) { pPtr = pNewPtr; }
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/optgenrl.hxx b/svx/inc/svx/optgenrl.hxx
new file mode 100644
index 0000000000..85efb6104a
--- /dev/null
+++ b/svx/inc/svx/optgenrl.hxx
@@ -0,0 +1,51 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_OPTGENRL_HXX
+#define _SVX_OPTGENRL_HXX
+
+// Defines for setting the focus of a Edit via a slot from external.
+#define UNKNOWN_EDIT ((USHORT)0)
+#define COMPANY_EDIT ((USHORT)1)
+#define FIRSTNAME_EDIT ((USHORT)2)
+#define LASTNAME_EDIT ((USHORT)3)
+#define STREET_EDIT ((USHORT)4)
+#define COUNTRY_EDIT ((USHORT)5)
+#define PLZ_EDIT ((USHORT)6)
+#define CITY_EDIT ((USHORT)7)
+#define STATE_EDIT ((USHORT)8)
+#define TITLE_EDIT ((USHORT)9)
+#define POSITION_EDIT ((USHORT)10)
+#define SHORTNAME_EDIT ((USHORT)11)
+#define TELPRIV_EDIT ((USHORT)12)
+#define TELCOMPANY_EDIT ((USHORT)13)
+#define FAX_EDIT ((USHORT)14)
+#define EMAIL_EDIT ((USHORT)15)
+
+#endif // #ifndef _SVX_OPTGENRL_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/optgrid.hxx b/svx/inc/svx/optgrid.hxx
new file mode 100644
index 0000000000..f10267b02f
--- /dev/null
+++ b/svx/inc/svx/optgrid.hxx
@@ -0,0 +1,181 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_OPTGRID_HXX
+#define _SVX_OPTGRID_HXX
+
+// include ---------------------------------------------------------------
+
+#include <sfx2/tabdlg.hxx>
+#include <svl/eitem.hxx>
+#include <vcl/group.hxx>
+#include <vcl/fixed.hxx>
+#include <vcl/field.hxx>
+#include "svx/svxdllapi.h"
+
+class SvxGridTabPage;
+
+// class SvxOptionsGrid --------------------------------------------------
+
+class SVX_DLLPUBLIC SvxOptionsGrid
+{
+protected:
+ UINT32 nFldDrawX;
+ UINT32 nFldDivisionX;
+ UINT32 nFldDrawY;
+ UINT32 nFldDivisionY;
+ UINT32 nFldSnapX;
+ UINT32 nFldSnapY;
+ BOOL bUseGridsnap:1;
+ BOOL bSynchronize:1;
+ BOOL bGridVisible:1;
+ BOOL bEqualGrid: 1;
+
+public:
+ SvxOptionsGrid();
+ ~SvxOptionsGrid();
+
+ void SetFldDrawX( UINT32 nSet){nFldDrawX = nSet;}
+ void SetFldDivisionX(UINT32 nSet){nFldDivisionX = nSet;}
+ void SetFldDrawY ( UINT32 nSet){nFldDrawY = nSet;}
+ void SetFldDivisionY(UINT32 nSet){nFldDivisionY = nSet;}
+ void SetFldSnapX( UINT32 nSet){nFldSnapX = nSet;}
+ void SetFldSnapY ( UINT32 nSet){nFldSnapY = nSet;}
+ void SetUseGridSnap( BOOL bSet ) {bUseGridsnap = bSet;}
+ void SetSynchronize( BOOL bSet ) {bSynchronize = bSet;}
+ void SetGridVisible( BOOL bSet ) {bGridVisible = bSet;}
+ void SetEqualGrid( BOOL bSet ) {bEqualGrid = bSet;}
+
+ UINT32 GetFldDrawX( ) const { return nFldDrawX; }
+ UINT32 GetFldDivisionX() const { return nFldDivisionX;}
+ UINT32 GetFldDrawY ( ) const { return nFldDrawY; }
+ UINT32 GetFldDivisionY() const { return nFldDivisionY;}
+ UINT32 GetFldSnapX( ) const { return nFldSnapX; }
+ UINT32 GetFldSnapY ( ) const { return nFldSnapY; }
+ BOOL GetUseGridSnap( ) const { return bUseGridsnap; }
+ BOOL GetSynchronize( ) const { return bSynchronize; }
+ BOOL GetGridVisible( ) const { return bGridVisible; }
+ BOOL GetEqualGrid() const { return bEqualGrid; }
+};
+
+// class SvxGridItem -----------------------------------------------------
+
+class SVX_DLLPUBLIC SvxGridItem : public SvxOptionsGrid, public SfxPoolItem
+{
+ // #i9076#
+ friend class SvxGridTabPage;
+
+public:
+ SvxGridItem( USHORT _nWhich) : SfxPoolItem(_nWhich){};
+ SvxGridItem( const SvxGridItem& pTestItem );
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual int operator==( const SfxPoolItem& ) const;
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+};
+
+// class SvxGridTabPage --------------------------------------------------
+
+class SVX_DLLPUBLIC SvxGridTabPage : public SfxTabPage
+{
+ using TabPage::ActivatePage;
+ using TabPage::DeactivatePage;
+
+public:
+ SvxGridTabPage( Window* pParent, const SfxItemSet& rSet );
+
+ static SfxTabPage* Create( Window* pParent, const SfxItemSet& rAttrSet );
+
+ virtual BOOL FillItemSet( SfxItemSet& rSet );
+ virtual void Reset( const SfxItemSet& rSet );
+
+ virtual void ActivatePage( const SfxItemSet& rSet );
+ virtual int DeactivatePage( SfxItemSet* pSet );
+
+private:
+ CheckBox aCbxUseGridsnap;
+ CheckBox aCbxGridVisible;
+
+ FixedLine aFlResolution;
+ FixedText aFtDrawX;
+ MetricField aMtrFldDrawX;
+ FixedText aFtDrawY;
+ MetricField aMtrFldDrawY;
+
+ FixedLine aFlDivision;
+ FixedText aFtDivisionX;
+ NumericField aNumFldDivisionX;
+ FixedText aDivisionPointX;
+
+ FixedText aFtDivisionY;
+ NumericField aNumFldDivisionY;
+ FixedText aDivisionPointY;
+
+ CheckBox aCbxSynchronize;
+ FixedLine aGrpDrawGrid;
+
+protected:
+ //these controls are used in draw and impress
+ FixedLine aGrpSnap;
+ CheckBox aCbxSnapHelplines;
+ CheckBox aCbxSnapBorder;
+ CheckBox aCbxSnapFrame;
+ CheckBox aCbxSnapPoints;
+ FixedText aFtSnapArea;
+ MetricField aMtrFldSnapArea;
+
+ FixedLine aSeparatorFL;
+
+ FixedLine aGrpOrtho;
+ CheckBox aCbxOrtho;
+ CheckBox aCbxBigOrtho;
+ CheckBox aCbxRotate;
+ MetricField aMtrFldAngle;
+ FixedText aFtBezAngle;
+ MetricField aMtrFldBezAngle;
+
+private:
+ BOOL bAttrModified;
+
+#ifdef _SVX_OPTGRID_CXX
+ DECL_LINK( ClickRotateHdl_Impl, void * );
+ DECL_LINK( ChangeDrawHdl_Impl, MetricField * );
+ DECL_LINK( ChangeGridsnapHdl_Impl, void * );
+ DECL_LINK( ChangeDivisionHdl_Impl, NumericField * );
+
+#endif
+};
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/orienthelper.hxx b/svx/inc/svx/orienthelper.hxx
new file mode 100644
index 0000000000..0b315add63
--- /dev/null
+++ b/svx/inc/svx/orienthelper.hxx
@@ -0,0 +1,134 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef SVX_ORIENTHELPER_HXX
+#define SVX_ORIENTHELPER_HXX
+
+#include <memory>
+#include <vcl/window.hxx>
+#include <sfx2/itemconnect.hxx>
+#include "svx/svxdllapi.h"
+
+class NumericField;
+class CheckBox;
+
+namespace svx {
+
+class DialControl;
+
+// ============================================================================
+
+struct OrientationHelper_Impl;
+
+/** A helper class that manages a DialControl and a "Stacked text" check box.
+
+ This helper remembers a DialControl for entering a rotation angle, and a
+ check box for stacked text, that enables/disables other controls dependent
+ on its state.
+
+ It is possible to register more controls that have to be enabled/disabled
+ together with this helper object (optionally dependent on the stacked text
+ check box), using the function AddDependentWindow(). All registered windows
+ are handled on a call of Enable(), or Show(), or on changing the state of
+ the "Stacked text" check box.
+
+ Note: The member function SetStackedState() should be used instead of
+ direct modifications of the "Stacked text" check box. Otherwise the update
+ mechanism of registered controls will not work.
+ */
+class SVX_DLLPUBLIC OrientationHelper
+{
+public:
+ explicit OrientationHelper(
+ DialControl& rCtrlDial,
+ CheckBox& rCbStacked );
+
+ /** @param rNfRotation A numeric field that will be connected to the DialControl. */
+ explicit OrientationHelper(
+ DialControl& rCtrlDial,
+ NumericField& rNfRotation,
+ CheckBox& rCbStacked );
+
+ virtual ~OrientationHelper();
+
+ /** Registers the passed window to be enabled/disabled on call of Enable().
+ @param eDisableIfStacked
+ STATE_CHECK: Window always disabled, if stacked text is turned on.
+ STATE_NOCHECK: Window always disabled, if stacked text is turned off.
+ STATE_DONTKNOW: Window will be enabled/disabled independent from stacked text. */
+ void AddDependentWindow( Window& rWindow, TriState eDisableIfStacked = STATE_DONTKNOW );
+
+ /** Enables or disables the dial control and all dependent windows. */
+ void Enable( bool bEnable = true );
+ /** Disables the dial control and all dependent windows. */
+ inline void Disable() { Enable( false ); }
+
+ /** Shows or hides the dial control and all dependent windows. */
+ void Show( bool bShow = true );
+ /** Hides the dial control and all dependent windows. */
+ inline void Hide() { Show( false ); }
+
+ /** Sets the "stacked" check box to the passed state and updates dependent controls. */
+ void SetStackedState( TriState eState );
+ /** Returns the state of the "stacked" check box. */
+ TriState GetStackedState() const;
+
+ /** Enables/disables the "don't know" state of the "Stacked text" check box. */
+ void EnableStackedTriState( bool bEnable = true );
+
+private:
+ std::auto_ptr< OrientationHelper_Impl > mpImpl;
+};
+
+// ============================================================================
+
+/** Wrapper for usage of the stacked attribute of an OrientationHelper in item connections. */
+class SVX_DLLPUBLIC OrientStackedWrapper : public sfx::SingleControlWrapper< OrientationHelper, bool >
+{
+public:
+ explicit OrientStackedWrapper( OrientationHelper& rOrientHlp );
+
+ virtual bool IsControlDontKnow() const;
+ virtual void SetControlDontKnow( bool bSet );
+
+ virtual bool GetControlValue() const;
+ virtual void SetControlValue( bool bValue );
+};
+
+// ----------------------------------------------------------------------------
+
+/** An item<->control connection for the stacked attribute of an OrientationHelper. */
+typedef sfx::ItemControlConnection< sfx::BoolItemWrapper, OrientStackedWrapper > OrientStackedConnection;
+
+// ============================================================================
+
+} // namespace
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/passwd.hxx b/svx/inc/svx/passwd.hxx
new file mode 100644
index 0000000000..5913851720
--- /dev/null
+++ b/svx/inc/svx/passwd.hxx
@@ -0,0 +1,82 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_PASSWD_HXX
+#define _SVX_PASSWD_HXX
+
+// include ---------------------------------------------------------------
+
+#include <sfx2/basedlgs.hxx>
+
+#include <vcl/fixed.hxx>
+
+#include <vcl/edit.hxx>
+
+#include <vcl/button.hxx>
+#include "svx/svxdllapi.h"
+
+// class SvxPasswordDialog -----------------------------------------------
+
+class SVX_DLLPUBLIC SvxPasswordDialog : public SfxModalDialog
+{
+private:
+ FixedLine aOldFL;
+ FixedText aOldPasswdFT;
+ Edit aOldPasswdED;
+ FixedLine aNewFL;
+ FixedText aNewPasswdFT;
+ Edit aNewPasswdED;
+ FixedText aRepeatPasswdFT;
+ Edit aRepeatPasswdED;
+ OKButton aOKBtn;
+ CancelButton aEscBtn;
+ HelpButton aHelpBtn;
+
+ String aOldPasswdErrStr;
+ String aRepeatPasswdErrStr;
+
+ Link aCheckPasswordHdl;
+
+ BOOL bEmpty;
+
+ DECL_LINK( ButtonHdl, OKButton * );
+ DECL_LINK( EditModifyHdl, Edit * );
+
+public:
+ SvxPasswordDialog( Window* pParent, BOOL bAllowEmptyPasswords = FALSE, BOOL bDisableOldPassword = FALSE );
+ ~SvxPasswordDialog();
+
+ String GetOldPassword() const { return aOldPasswdED.GetText(); }
+ String GetNewPassword() const { return aNewPasswdED.GetText(); }
+
+ void SetCheckPasswordHdl( const Link& rLink ) { aCheckPasswordHdl = rLink; }
+};
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/pfiledlg.hxx b/svx/inc/svx/pfiledlg.hxx
new file mode 100644
index 0000000000..50dd94c5d1
--- /dev/null
+++ b/svx/inc/svx/pfiledlg.hxx
@@ -0,0 +1,64 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_PFILEDLG_HXX
+#define _SVX_PFILEDLG_HXX
+
+// include ---------------------------------------------------------------
+
+#include <sfx2/filedlghelper.hxx>
+#include "svx/svxdllapi.h"
+
+/*************************************************************************
+|*
+|* Filedialog to insert Plugin-Fileformats
+|*
+\************************************************************************/
+
+class SVX_DLLPUBLIC SvxPluginFileDlg
+{
+private:
+ sfx2::FileDialogHelper maFileDlg;
+
+public:
+ // with nKind = SID_INSERT_SOUND or
+ // nKind = SID_INSERT_VIDEO
+ SvxPluginFileDlg (Window *pParent, USHORT nKind );
+ ~SvxPluginFileDlg ();
+
+ ErrCode Execute();
+ String GetPath() const;
+
+ static bool IsAvailable (USHORT nKind);
+
+ void SetContext( sfx2::FileDialogHelper::Context eNewContext );
+};
+
+#endif // _SVX_PFILEDLG_HXX
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/postattr.hxx b/svx/inc/svx/postattr.hxx
new file mode 100644
index 0000000000..15d9456229
--- /dev/null
+++ b/svx/inc/svx/postattr.hxx
@@ -0,0 +1,132 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_POSTATTR_HXX
+#define _SVX_POSTATTR_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/stritem.hxx>
+#include "svx/svxdllapi.h"
+
+// class SvxPostItAuthorItem ---------------------------------------------
+
+
+
+/*
+The author shorthand symbol of a note
+*/
+
+class SVX_DLLPUBLIC SvxPostItAuthorItem: public SfxStringItem
+{
+public:
+ TYPEINFO();
+
+ SvxPostItAuthorItem( USHORT nWhich );
+
+ SvxPostItAuthorItem( const String& rAuthor, USHORT nWhich );
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+
+ inline SvxPostItAuthorItem& operator=( const SvxPostItAuthorItem& rAuthor )
+ {
+ SetValue( rAuthor.GetValue() );
+ return *this;
+ }
+};
+
+
+// class SvxPostItDateItem -----------------------------------------------
+
+
+
+/*
+The date of a note
+*/
+
+class SVX_DLLPUBLIC SvxPostItDateItem: public SfxStringItem
+{
+public:
+ TYPEINFO();
+
+ SvxPostItDateItem( USHORT nWhich );
+
+ SvxPostItDateItem( const String& rDate, USHORT nWhich );
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+
+ inline SvxPostItDateItem& operator=( const SvxPostItDateItem& rDate )
+ {
+ SetValue( rDate.GetValue() );
+ return *this;
+ }
+};
+
+
+// class SvxPostItTextItem -----------------------------------------------
+
+
+
+/*
+The text of a note
+*/
+
+class SVX_DLLPUBLIC SvxPostItTextItem: public SfxStringItem
+{
+public:
+ TYPEINFO();
+
+ SvxPostItTextItem( USHORT nWhich );
+
+ SvxPostItTextItem( const String& rText, USHORT nWhich );
+ // "pure virtual methods" vom SfxPoolItem
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+
+ inline SvxPostItTextItem& operator=( const SvxPostItTextItem& rText )
+ {
+ SetValue( rText.GetValue() );
+ return *this;
+ }
+};
+
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/prtqry.hxx b/svx/inc/svx/prtqry.hxx
new file mode 100644
index 0000000000..29d61a419c
--- /dev/null
+++ b/svx/inc/svx/prtqry.hxx
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_PRTQRY_HXX
+#define _SVX_PRTQRY_HXX
+
+#include <vcl/msgbox.hxx>
+#include "svx/svxdllapi.h"
+
+class SVX_DLLPUBLIC SvxPrtQryBox : public MessBox
+{
+public:
+ SvxPrtQryBox(Window* pParent);
+ ~SvxPrtQryBox();
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/pszctrl.hxx b/svx/inc/svx/pszctrl.hxx
new file mode 100644
index 0000000000..08f49670f2
--- /dev/null
+++ b/svx/inc/svx/pszctrl.hxx
@@ -0,0 +1,64 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_PSZCTRL_HXX
+#define _SVX_PSZCTRL_HXX
+
+// include ---------------------------------------------------------------
+
+#include <sfx2/stbitem.hxx>
+#include "svx/svxdllapi.h"
+
+// forward ---------------------------------------------------------------
+
+class SvxSizeItem;
+struct SvxPosSizeStatusBarControl_Impl;
+
+// class SvxPosSizeToolBoxControl ----------------------------------------
+
+class SVX_DLLPUBLIC SvxPosSizeStatusBarControl : public SfxStatusBarControl
+{
+private:
+ SvxPosSizeStatusBarControl_Impl* pImp;
+ SVX_DLLPRIVATE String GetMetricStr_Impl( long nVal );
+public:
+ SFX_DECL_STATUSBAR_CONTROL();
+
+ SvxPosSizeStatusBarControl( USHORT nSlotId, USHORT nId, StatusBar& rStb );
+ ~SvxPosSizeStatusBarControl();
+
+ virtual void StateChanged( USHORT nSID, SfxItemState eState, const SfxPoolItem* pState );
+ virtual void Paint( const UserDrawEvent& rEvt );
+ virtual void Command( const CommandEvent& rCEvt );
+
+ static ULONG GetDefItemWidth( const StatusBar& rStb );
+};
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/relfld.hxx b/svx/inc/svx/relfld.hxx
new file mode 100644
index 0000000000..1a5e9dd913
--- /dev/null
+++ b/svx/inc/svx/relfld.hxx
@@ -0,0 +1,67 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_RELFLD_HXX
+#define _SVX_RELFLD_HXX
+
+// include ---------------------------------------------------------------
+
+#include <vcl/field.hxx>
+#include "svx/svxdllapi.h"
+
+
+// class SvxRelativeField ------------------------------------------------
+
+class SVX_DLLPUBLIC SvxRelativeField : public MetricField
+{
+private:
+ USHORT nRelMin;
+ USHORT nRelMax;
+ USHORT nRelStep;
+ BOOL bRelativeMode;
+ BOOL bRelative;
+ BOOL bNegativeEnabled;
+
+protected:
+ void Modify();
+
+public:
+ SvxRelativeField( Window* pParent, WinBits nWinStyle = 0 );
+ SvxRelativeField( Window* pParent, const ResId& rResId );
+
+ void EnableRelativeMode( USHORT nMin = 50, USHORT nMax = 150,
+ USHORT nStep = 5 );
+ BOOL IsRelativeMode() const { return bRelativeMode; }
+ void SetRelative( BOOL bRelative = FALSE );
+ BOOL IsRelative() const { return bRelative; }
+ void EnableNegativeMode() {bNegativeEnabled = TRUE;}
+};
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/rotmodit.hxx b/svx/inc/svx/rotmodit.hxx
new file mode 100644
index 0000000000..157ab6e715
--- /dev/null
+++ b/svx/inc/svx/rotmodit.hxx
@@ -0,0 +1,71 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVX_ROTMODIT_HXX
+#define _SVX_ROTMODIT_HXX
+
+#include <svl/eitem.hxx>
+#include "svx/svxdllapi.h"
+
+//----------------------------------------------------------------------------
+// Alignment with rotated text
+
+enum SvxRotateMode
+{
+ SVX_ROTATE_MODE_STANDARD,
+ SVX_ROTATE_MODE_TOP,
+ SVX_ROTATE_MODE_CENTER,
+ SVX_ROTATE_MODE_BOTTOM
+};
+
+class SVX_DLLPUBLIC SvxRotateModeItem: public SfxEnumItem
+{
+public:
+ TYPEINFO();
+
+ SvxRotateModeItem( SvxRotateMode eMode=SVX_ROTATE_MODE_STANDARD, USHORT nWhich=0);
+ SvxRotateModeItem( const SvxRotateModeItem& rItem );
+ ~SvxRotateModeItem();
+
+ virtual USHORT GetValueCount() const;
+ virtual String GetValueText( USHORT nVal ) const;
+ 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;
+ 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/rubydialog.hxx b/svx/inc/svx/rubydialog.hxx
new file mode 100644
index 0000000000..2a1453b5ea
--- /dev/null
+++ b/svx/inc/svx/rubydialog.hxx
@@ -0,0 +1,202 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+
+#ifndef _SVX_RUBYDLG_HXX_
+#define _SVX_RUBYDLG_HXX_
+
+#include <sfx2/childwin.hxx>
+#include <sfx2/basedlgs.hxx>
+#include <vcl/lstbox.hxx>
+#include <vcl/fixed.hxx>
+#include <vcl/button.hxx>
+#include <vcl/edit.hxx>
+#include <vcl/scrbar.hxx>
+#include <com/sun/star/uno/Reference.h>
+#include "svx/svxdllapi.h"
+
+namespace com{namespace sun{namespace star{
+ namespace view{
+ class XSelectionChangeListener;
+ }
+}}}
+
+
+class SvxRubyDialog;
+class RubyPreview : public Window
+{
+protected:
+ virtual void Paint( const Rectangle& rRect );
+ SvxRubyDialog& rParentDlg;
+
+public:
+ RubyPreview(SvxRubyDialog& rParent, const ResId& rResId);
+};
+
+class SVX_DLLPUBLIC SvxRubyChildWindow : public SfxChildWindow
+{
+ public:
+
+ SvxRubyChildWindow( Window*, USHORT, SfxBindings*, SfxChildWinInfo* );
+
+ SFX_DECL_CHILDWINDOW( SvxRubyChildWindow );
+
+};
+class SvxRubyData_Impl;
+class RubyEdit : public Edit
+{
+ Link aScrollHdl;
+ Link aJumpHdl;
+ virtual void GetFocus();
+ virtual long PreNotify( NotifyEvent& rNEvt );
+public:
+ RubyEdit(Window* pParent, const ResId& rResId) :
+ Edit(pParent, rResId){}
+ void SetScrollHdl(Link& rLink) {aScrollHdl = rLink;}
+ void SetJumpHdl(Link& rLink) {aJumpHdl = rLink;}
+};
+
+
+class SvxRubyDialog : public SfxModelessDialog
+{
+ using Window::SetText;
+ using Window::GetText;
+
+ friend class RubyPreview;
+
+ FixedText aLeftFT;
+ RubyEdit aLeft1ED;
+ FixedText aRightFT;
+ RubyEdit aRight1ED;
+ RubyEdit aLeft2ED;
+ RubyEdit aRight2ED;
+ RubyEdit aLeft3ED;
+ RubyEdit aRight3ED;
+ RubyEdit aLeft4ED;
+ RubyEdit aRight4ED;
+
+ RubyEdit* aEditArr[8];
+ ScrollBar aScrollSB;
+
+ CheckBox aAutoDetectionCB;
+
+ FixedText aAdjustFT;
+ ListBox aAdjustLB;
+
+ FixedText aPositionFT;
+ ListBox aPositionLB;
+
+ FixedText aCharStyleFT;
+ ListBox aCharStyleLB;
+ PushButton aStylistPB;
+
+ FixedText aPreviewFT;
+ RubyPreview aPreviewWin;
+
+ OKButton aApplyPB;
+ PushButton aClosePB;
+ HelpButton aHelpPB;
+
+ long nLastPos;
+ long nCurrentEdit;
+
+ BOOL bModified;
+
+ com::sun::star::uno::Reference<com::sun::star::view::XSelectionChangeListener> xImpl;
+ SfxBindings* pBindings;
+ SvxRubyData_Impl* pImpl;
+
+ DECL_LINK(ApplyHdl_Impl, PushButton*);
+ DECL_LINK(CloseHdl_Impl, PushButton*);
+ DECL_LINK(StylistHdl_Impl, PushButton*);
+ DECL_LINK(AutomaticHdl_Impl, CheckBox*);
+ DECL_LINK(ScrollHdl_Impl, ScrollBar*);
+ DECL_LINK(PositionHdl_Impl, ListBox*);
+ DECL_LINK(AdjustHdl_Impl, ListBox*);
+ DECL_LINK(CharStyleHdl_Impl, ListBox*);
+ DECL_LINK(EditModifyHdl_Impl, Edit*);
+ DECL_LINK(EditScrollHdl_Impl, sal_Int32*);
+ DECL_LINK(EditJumpHdl_Impl, sal_Int32*);
+
+ void SetText(sal_Int32 nPos, Edit& rLeft, Edit& rRight);
+ void GetText();
+ void ClearCharStyleList();
+ void AssertOneEntry();
+
+ void Update();
+ virtual BOOL Close();
+
+ long GetLastPos() const {return nLastPos;}
+ void SetLastPos(long nSet) {nLastPos = nSet;}
+
+ BOOL IsModified() const {return bModified;}
+ void SetModified(BOOL bSet) {bModified = bSet;}
+
+ void EnableControls(sal_Bool bEnable)
+ {
+ aLeftFT.Enable(bEnable);
+ aRightFT.Enable(bEnable);
+ aLeft1ED.Enable(bEnable);
+ aRight1ED.Enable(bEnable);
+ aLeft2ED.Enable(bEnable);
+ aRight2ED.Enable(bEnable);
+ aLeft3ED.Enable(bEnable);
+ aRight3ED.Enable(bEnable);
+ aLeft4ED.Enable(bEnable);
+ aRight4ED.Enable(bEnable);
+ aScrollSB.Enable(bEnable);
+ aAutoDetectionCB.Enable(bEnable);
+ aAdjustFT.Enable(bEnable);
+ aAdjustLB.Enable(bEnable);
+ aCharStyleFT.Enable(bEnable);
+ aCharStyleLB.Enable(bEnable);
+ aStylistPB.Enable(bEnable);
+ aPreviewFT.Enable(bEnable);
+ aPreviewWin.Enable(bEnable);
+ aApplyPB.Enable(bEnable);
+ }
+
+ void GetCurrentText(String& rBase, String& rRuby);
+
+ void UpdateColors( void );
+protected:
+ virtual void DataChanged( const DataChangedEvent& rDCEvt );
+public:
+
+ SvxRubyDialog( SfxBindings *pBindings, SfxChildWindow *pCW,
+ Window* pParent, const ResId& rResId );
+ virtual ~SvxRubyDialog();
+
+ virtual void Activate();
+ virtual void Deactivate();
+};
+
+#endif // _SVX_RUBYDLG_HXX_
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/rulritem.hxx b/svx/inc/svx/rulritem.hxx
new file mode 100644
index 0000000000..e7a9a43d8d
--- /dev/null
+++ b/svx/inc/svx/rulritem.hxx
@@ -0,0 +1,305 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_RULRITEM_HXX
+#define _SVX_RULRITEM_HXX
+
+// include ---------------------------------------------------------------
+
+
+#include <tools/gen.hxx>
+#include <svl/poolitem.hxx>
+#include "svx/svxdllapi.h"
+
+// class SvxLongLRSpaceItem ----------------------------------------------
+
+class SVX_DLLPUBLIC SvxLongLRSpaceItem : public SfxPoolItem
+{
+ long lLeft; // nLeft or the negativ first-line indentation
+ long lRight; // the unproblematic right edge
+
+ protected:
+
+ virtual int operator==( const SfxPoolItem& ) const;
+ 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 );
+
+ virtual String GetValueText() const;
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+
+private:
+ SVX_DLLPRIVATE const SvxLongLRSpaceItem& operator=(const SvxLongLRSpaceItem &); // n.i.
+
+public:
+ TYPEINFO();
+ SvxLongLRSpaceItem(long lLeft, long lRight, USHORT nId);
+ SvxLongLRSpaceItem(const SvxLongLRSpaceItem &);
+ SvxLongLRSpaceItem();
+
+ long GetLeft() const { return lLeft; }
+ long GetRight() const { return lRight; }
+ void SetLeft(long lArgLeft) {lLeft=lArgLeft;}
+ void SetRight(long lArgRight) {lRight=lArgRight;}
+};
+
+// class SvxLongULSpaceItem ----------------------------------------------
+
+class SVX_DLLPUBLIC SvxLongULSpaceItem : public SfxPoolItem
+{
+ long lLeft; // nLeft or the negative first-line indentation
+ long lRight; // the unproblematic right edge
+
+ protected:
+
+ virtual int operator==( const SfxPoolItem& ) const;
+ 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 );
+
+ virtual String GetValueText() const;
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+
+private:
+ SVX_DLLPRIVATE const SvxLongULSpaceItem& operator=(const SvxLongULSpaceItem &); // n.i.
+
+public:
+ TYPEINFO();
+ SvxLongULSpaceItem(long lUpper, long lLower, USHORT nId);
+ SvxLongULSpaceItem(const SvxLongULSpaceItem &);
+ SvxLongULSpaceItem();
+
+ long GetUpper() const { return lLeft; }
+ long GetLower() const { return lRight; }
+ void SetUpper(long lArgLeft) {lLeft=lArgLeft;}
+ void SetLower(long lArgRight) {lRight=lArgRight;}
+};
+
+// class SvxPagePosSizeItem ----------------------------------------------
+
+class SVX_DLLPUBLIC SvxPagePosSizeItem : public SfxPoolItem
+{
+ Point aPos;
+ long lWidth;
+ long lHeight;
+protected:
+ virtual int operator==( const SfxPoolItem& ) const;
+ 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 );
+
+ virtual String GetValueText() const;
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+
+private:
+ SVX_DLLPRIVATE const SvxPagePosSizeItem& operator=(const SvxPagePosSizeItem &); // n.i.
+public:
+ TYPEINFO();
+ SvxPagePosSizeItem(const Point &rPos, long lWidth, long lHeight);
+ SvxPagePosSizeItem(const SvxPagePosSizeItem &);
+ SvxPagePosSizeItem();
+
+ const Point &GetPos() const { return aPos; }
+ long GetWidth() const { return lWidth; }
+ long GetHeight() const { return lHeight; }
+};
+
+// struct SvxColumnDescription -------------------------------------------
+
+struct SvxColumnDescription
+{
+ long nStart; /* Start of the column */
+ long nEnd; /* End of the column */
+ BOOL bVisible; /* Visibility */
+
+ long nEndMin; //min. possible position of end
+ long nEndMax; //max. possible position of end
+
+ SvxColumnDescription():
+ nStart(0), nEnd(0), bVisible(TRUE), nEndMin(0), nEndMax(0) {}
+
+ SvxColumnDescription(const SvxColumnDescription &rCopy) :
+ nStart(rCopy.nStart), nEnd(rCopy.nEnd),
+ bVisible(rCopy.bVisible),
+ nEndMin(rCopy.nEndMin), nEndMax(rCopy.nEndMax)
+ {}
+
+ SvxColumnDescription(long start, long end, BOOL bVis = TRUE):
+ nStart(start), nEnd(end),
+ bVisible(bVis),
+ nEndMin(0), nEndMax(0) {}
+
+ SvxColumnDescription(long start, long end,
+ long endMin, long endMax, BOOL bVis = TRUE):
+ nStart(start), nEnd(end),
+ bVisible(bVis),
+ nEndMin(endMin), nEndMax(endMax)
+ {}
+
+ int operator==(const SvxColumnDescription &rCmp) const {
+ return nStart == rCmp.nStart &&
+ bVisible == rCmp.bVisible &&
+ nEnd == rCmp.nEnd &&
+ nEndMin == rCmp.nEndMin &&
+ nEndMax == rCmp.nEndMax;
+ }
+ int operator!=(const SvxColumnDescription &rCmp) const {
+ return !operator==(rCmp);
+ }
+ long GetWidth() const { return nEnd - nStart; }
+};
+
+// class SvxColumnItem ---------------------------------------------------
+
+typedef SvPtrarr SvxColumns;
+
+class SVX_DLLPUBLIC SvxColumnItem : public SfxPoolItem
+{
+ SvxColumns aColumns;// Column array
+ long nLeft, // Left edge for the table
+ nRight; // Right edge for the table; for columns always
+ // equal to the surrounding frame
+ USHORT nActColumn; // the current column
+ BOOL bTable; // table?
+ BOOL bOrtho; // evenly spread columns
+
+ void DeleteAndDestroyColumns();
+
+protected:
+ virtual int operator==( const SfxPoolItem& ) const;
+
+ virtual String GetValueText() const;
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ 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 );
+public:
+ TYPEINFO();
+ // right edge of the surrounding frame
+ // nLeft, nRight each the distance to the surrounding frame
+ SvxColumnItem(USHORT nAct = 0); // columns
+ SvxColumnItem(USHORT nActCol,
+ USHORT nLeft, USHORT nRight = 0); // table with borders
+ SvxColumnItem(const SvxColumnItem &);
+ ~SvxColumnItem();
+
+ const SvxColumnItem &operator=(const SvxColumnItem &);
+
+ USHORT Count() const { return aColumns.Count(); }
+ SvxColumnDescription &operator[](USHORT i)
+ { return *(SvxColumnDescription*)aColumns[i]; }
+ const SvxColumnDescription &operator[](USHORT i) const
+ { return *(SvxColumnDescription*)aColumns[i]; }
+ void Insert(const SvxColumnDescription &rDesc, USHORT nPos) {
+ SvxColumnDescription* pDesc = new SvxColumnDescription(rDesc);
+ aColumns.Insert(pDesc, nPos);
+ }
+ void Append(const SvxColumnDescription &rDesc) { Insert(rDesc, Count()); }
+ void SetLeft(long left) { nLeft = left; }
+ void SetRight(long right) { nRight = right; }
+ void SetActColumn(USHORT nCol) { nActColumn = nCol; }
+
+ USHORT GetActColumn() const { return nActColumn; }
+ BOOL IsFirstAct() const { return nActColumn == 0; }
+ BOOL IsLastAct() const { return nActColumn == Count()-1; }
+ long GetLeft() { return nLeft; }
+ long GetRight() { return nRight; }
+
+ BOOL IsTable() const { return bTable; }
+
+ BOOL CalcOrtho() const;
+ void SetOrtho(BOOL bVal) { bOrtho = bVal; }
+ BOOL IsOrtho () const { return FALSE ; }
+
+ BOOL IsConsistent() const { return nActColumn < aColumns.Count(); }
+ long GetVisibleRight() const;// right visible edge of the current column
+};
+
+// class SvxObjectItem ---------------------------------------------------
+
+class SVX_DLLPUBLIC SvxObjectItem : public SfxPoolItem
+{
+private:
+ long nStartX; /* Start in x direction */
+ long nEndX; /* End in x direction */
+ long nStartY; /* Start in y direction */
+ long nEndY; /* Ende in y direction */
+ BOOL bLimits; /* boundary limit control by the application */
+protected:
+ virtual int operator==( const SfxPoolItem& ) const;
+
+ virtual String GetValueText() const;
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ 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 );
+private:
+ SVX_DLLPRIVATE const SvxObjectItem &operator=(const SvxObjectItem &); // n.i.
+public:
+ TYPEINFO();
+ SvxObjectItem(long nStartX, long nEndX,
+ long nStartY, long nEndY,
+ BOOL bLimits = FALSE);
+ SvxObjectItem(const SvxObjectItem &);
+
+ BOOL HasLimits() const { return bLimits; }
+
+ long GetStartX() const { return nStartX; }
+ long GetEndX() const { return nEndX; }
+ long GetStartY() const { return nStartY; }
+ long GetEndY() const { return nEndY; }
+
+ void SetStartX(long l) { nStartX = l; }
+ void SetEndX(long l) { nEndX = l; }
+ void SetStartY(long l) { nStartY = l; }
+ void SetEndY(long l) { nEndY = l; }
+};
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/sdr/contact/objectcontactofobjlistpainter.hxx b/svx/inc/svx/sdr/contact/objectcontactofobjlistpainter.hxx
index 48de837682..14a607cf4d 100644
--- a/svx/inc/svx/sdr/contact/objectcontactofobjlistpainter.hxx
+++ b/svx/inc/svx/sdr/contact/objectcontactofobjlistpainter.hxx
@@ -96,6 +96,15 @@ namespace sdr
// Process the whole displaying
virtual void ProcessDisplay(DisplayInfo& rDisplayInfo);
+ // VirtualDevice? Default is false
+ virtual bool isOutputToVirtualDevice() const;
+
+ // recording MetaFile? Default is false
+ virtual bool isOutputToRecordingMetaFile() const;
+
+ // pdf export? Default is false
+ virtual bool isOutputToPDFFile() const;
+
// access to OutputDevice. May return 0L like the default implementations do. Needs to be overloaded as needed.
virtual OutputDevice* TryToGetOutputDevice() const;
};
diff --git a/svx/inc/svx/sdrpagewindow.hxx b/svx/inc/svx/sdrpagewindow.hxx
index 2d9a197efb..7d28e5c936 100644
--- a/svx/inc/svx/sdrpagewindow.hxx
+++ b/svx/inc/svx/sdrpagewindow.hxx
@@ -117,6 +117,7 @@ public:
void PrepareRedraw(const Region& rReg);
void RedrawAll(sdr::contact::ViewObjectContactRedirector* pRedirector) const;
void RedrawLayer(const SdrLayerID* pId, sdr::contact::ViewObjectContactRedirector* pRedirector) const;
+ void PostPaint();
// Invalidate call, used from ObjectContact(OfPageView) in InvalidatePartOfView(...)
void InvalidatePageWindow(const basegfx::B2DRange& rRange);
diff --git a/svx/inc/svx/sdrpaintwindow.hxx b/svx/inc/svx/sdrpaintwindow.hxx
new file mode 100644
index 0000000000..8be3874bbf
--- /dev/null
+++ b/svx/inc/svx/sdrpaintwindow.hxx
@@ -0,0 +1,167 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SDRPAINTWINDOW_HXX
+#define _SDRPAINTWINDOW_HXX
+
+#include <vcl/virdev.hxx>
+#include "svx/svxdllapi.h"
+
+////////////////////////////////////////////////////////////////////////////////////////////////////
+// predeclarations
+class SdrPaintView;
+
+namespace sdr
+{
+ namespace overlay
+ {
+ class OverlayManager;
+ } // end of namespace overlay
+} // end of namespace sdr
+
+////////////////////////////////////////////////////////////////////////////////////////////////////
+
+class SdrPreRenderDevice
+{
+ // The original OutputDevice
+ OutputDevice& mrOutputDevice;
+
+ // The VirtualDevice for PreRendering
+ VirtualDevice maPreRenderDevice;
+
+public:
+ SdrPreRenderDevice(OutputDevice& rOriginal);
+ ~SdrPreRenderDevice();
+
+ void PreparePreRenderDevice();
+ void OutputPreRenderDevice(const Region& rExpandedRegion);
+
+ OutputDevice& GetOriginalOutputDevice() const { return mrOutputDevice; }
+ OutputDevice& GetPreRenderDevice() { return maPreRenderDevice; }
+};
+
+////////////////////////////////////////////////////////////////////////////////////////////////////
+
+class SVX_DLLPUBLIC SdrPaintWindow
+{
+private:
+ // the OutputDevice this window represents
+ OutputDevice& mrOutputDevice;
+
+ // the SdrPaintView this window belongs to
+ SdrPaintView& mrPaintView;
+
+ // the new OverlayManager for the new OverlayObjects. Test add here, will
+ // replace the IAOManager as soon as it works.
+ ::sdr::overlay::OverlayManager* mpOverlayManager;
+
+ // The PreRenderDevice for PreRendering
+ SdrPreRenderDevice* mpPreRenderDevice;
+
+ // The RedrawRegion used for rendering
+ Region maRedrawRegion;
+
+ // bitfield
+ // #i72889# flag if this is only a temporary target for repaint, default is false
+ unsigned mbTemporaryTarget : 1;
+
+ /** Remember whether the mpOverlayManager supports buffering. Using
+ this flags expensive dynamic_casts on mpOverlayManager in order to
+ detect this.
+ */
+ bool mbUseBuffer;
+
+ // helpers
+ /** Create mpOverlayManager member on demand.
+ @param bUseBuffer
+ Specifies whether to use the buffered (OverlayManagerBuffered)
+ or the unbuffered (OverlayManager) version of the overlay
+ manager. When this values is different from that of the
+ previous call then the overlay manager is replaced by the
+ specified one.
+
+ The bUseBuffer flag will typically change its value when text
+ editing is started or stopped.
+ */
+ void impCreateOverlayManager(const bool bUseBuffer);
+
+public:
+ SdrPaintWindow(SdrPaintView& rNewPaintView, OutputDevice& rOut);
+ ~SdrPaintWindow();
+
+ // data read accesses
+ SdrPaintView& GetPaintView() const { return mrPaintView; }
+ OutputDevice& GetOutputDevice() const { return mrOutputDevice; }
+
+ // OVERLAYMANAGER
+ ::sdr::overlay::OverlayManager* GetOverlayManager() const;
+ // #i73602# add flag if buffer shall be used
+ void DrawOverlay(const Region& rRegion, bool bUseBuffer);
+ void HideOverlay(const Region& rRegion);
+
+ // calculate visible area and return
+ Rectangle GetVisibleArea() const;
+
+ // Is OutDev a printer?
+ sal_Bool OutputToPrinter() const { return (OUTDEV_PRINTER == mrOutputDevice.GetOutDevType()); }
+
+ // Is OutDev a window?
+ sal_Bool OutputToWindow() const { return (OUTDEV_WINDOW == mrOutputDevice.GetOutDevType()); }
+
+ // Is OutDev a VirtualDevice?
+ sal_Bool OutputToVirtualDevice() const { return (OUTDEV_VIRDEV == mrOutputDevice.GetOutDevType()); }
+
+ // Is OutDev a recording MetaFile?
+ sal_Bool OutputToRecordingMetaFile() const;
+
+ // prepare PreRendering (evtl.)
+ void PreparePreRenderDevice();
+ void DestroyPreRenderDevice();
+ void OutputPreRenderDevice(const Region& rExpandedRegion);
+ SdrPreRenderDevice* GetPreRenderDevice() const { return mpPreRenderDevice; }
+
+ // RedrawRegion
+ const Region& GetRedrawRegion() const;
+ void SetRedrawRegion(const Region& rNew);
+
+ // #i72889# read/write access to TempoparyTarget
+ bool getTemporaryTarget() const { return (bool)mbTemporaryTarget; }
+ void setTemporaryTarget(bool bNew) { if(bNew != (bool)mbTemporaryTarget) mbTemporaryTarget = bNew; }
+
+ // #i72889# get target output device, take into account output buffering
+ OutputDevice& GetTargetOutputDevice() { if(mpPreRenderDevice) return mpPreRenderDevice->GetPreRenderDevice(); else return mrOutputDevice; }
+};
+
+// typedefs for a list of SdrPaintWindows
+typedef ::std::vector< SdrPaintWindow* > SdrPaintWindowVector;
+
+////////////////////////////////////////////////////////////////////////////////////////////////////
+
+#endif //_SDRPAINTWINDOW_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/selctrl.hxx b/svx/inc/svx/selctrl.hxx
new file mode 100644
index 0000000000..ab22210bde
--- /dev/null
+++ b/svx/inc/svx/selctrl.hxx
@@ -0,0 +1,63 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_SELCTRL_HXX
+#define _SVX_SELCTRL_HXX
+
+// include ---------------------------------------------------------------
+
+#include <sfx2/stbitem.hxx>
+#include "svx/svxdllapi.h"
+
+// class SvxSelModeControl -----------------------------------------------
+
+class SVX_DLLPUBLIC SvxSelectionModeControl : public SfxStatusBarControl
+{
+public:
+ virtual void StateChanged( USHORT nSID, SfxItemState eState,
+ const SfxPoolItem* pState );
+ virtual void Click();
+ virtual void Paint( const UserDrawEvent& rEvt );
+
+ SFX_DECL_STATUSBAR_CONTROL();
+
+ SvxSelectionModeControl( USHORT nSlotId, USHORT nId, StatusBar& rStb );
+
+ static ULONG GetDefItemWidth(const StatusBar& rStb);
+
+private:
+ USHORT nState;
+
+#ifdef _SVX_SELCTRL_CXX
+ SVX_DLLPRIVATE void DrawItemText_Impl();
+#endif
+};
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/simptabl.hxx b/svx/inc/svx/simptabl.hxx
index 8c4ebfbd09..bde1a83d38 100644
--- a/svx/inc/svx/simptabl.hxx
+++ b/svx/inc/svx/simptabl.hxx
@@ -167,7 +167,7 @@ public:
void SetHeaderBarDblClickHdl( const Link& rLink ) { aHeaderBarDblClickLink = rLink; }
const Link& GetHeaderBarDblClickHdl() const { return aHeaderBarDblClickLink; }
- void SetHeaderBarHelpId(ULONG nHelpId) {aHeaderBar.SetHelpId(nHelpId);}
+ void SetHeaderBarHelpId(const rtl::OString& rHelpId) {aHeaderBar.SetHelpId(rHelpId);}
};
diff --git a/svx/inc/svx/splitcelldlg.hxx b/svx/inc/svx/splitcelldlg.hxx
index 58ed1b9c08..0bbf42a8de 100644
--- a/svx/inc/svx/splitcelldlg.hxx
+++ b/svx/inc/svx/splitcelldlg.hxx
@@ -30,7 +30,7 @@
#include <vcl/fixed.hxx>
#include <vcl/field.hxx>
-#include <vcl/imagebtn.hxx>
+#include <vcl/button.hxx>
#include <vcl/button.hxx>
#include <svx/stddlg.hxx>
diff --git a/svx/inc/svx/srchdlg.hxx b/svx/inc/svx/srchdlg.hxx
new file mode 100644
index 0000000000..690188e940
--- /dev/null
+++ b/svx/inc/svx/srchdlg.hxx
@@ -0,0 +1,306 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_SRCHDLG_HXX
+#define _SVX_SRCHDLG_HXX
+
+// include ---------------------------------------------------------------
+
+
+#include <svtools/stdctrl.hxx>
+#include <vcl/combobox.hxx>
+#include <vcl/edit.hxx>
+#include <vcl/lstbox.hxx>
+#include <vcl/button.hxx>
+#include <vcl/group.hxx>
+#include <vcl/fixed.hxx>
+#include <vcl/dialog.hxx>
+#include <sfx2/childwin.hxx>
+#include <sfx2/basedlgs.hxx>
+#include <svl/svarray.hxx>
+#define _SVSTDARR_STRINGSDTOR
+#include <svl/svstdarr.hxx>
+#include <svtools/svmedit.hxx>
+#include <svl/srchdefs.hxx>
+#include "svx/svxdllapi.h"
+
+
+// forward ---------------------------------------------------------------
+
+class SvxSearchItem;
+class MoreButton;
+class SfxStyleSheetBasePool;
+class SvxJSearchOptionsPage;
+class SvxSearchController;
+
+struct SearchDlg_Impl;
+
+#ifndef NO_SVX_SEARCH
+
+// struct SearchAttrItem -------------------------------------------------
+
+struct SearchAttrItem
+{
+ USHORT nSlot;
+ SfxPoolItem* pItem;
+};
+
+// class SearchAttrItemList ----------------------------------------------
+
+SV_DECL_VARARR_VISIBILITY(SrchAttrItemList, SearchAttrItem, 8, 8, SVX_DLLPUBLIC)
+
+class SVX_DLLPUBLIC SearchAttrItemList : private SrchAttrItemList
+{
+public:
+ SearchAttrItemList() {}
+ SearchAttrItemList( const SearchAttrItemList& rList );
+ ~SearchAttrItemList();
+
+ void Put( const SfxItemSet& rSet );
+ SfxItemSet& Get( SfxItemSet& rSet );
+ void Clear();
+ USHORT Count() const { return SrchAttrItemList::Count(); }
+ SearchAttrItem& operator[](USHORT nPos) const
+ { return SrchAttrItemList::operator[]( nPos ); }
+ SearchAttrItem& GetObject( USHORT nPos ) const
+ { return SrchAttrItemList::GetObject( nPos ); }
+
+ // the pointer to the item is not being copierd, so don't delete
+ void Insert( const SearchAttrItem& rItem )
+ { SrchAttrItemList::Insert( rItem, SrchAttrItemList::Count() ); }
+ // deletes the pointer to the items
+ void Remove( USHORT nPos, USHORT nLen = 1 );
+};
+
+#ifndef SV_NODIALOG
+
+// class SvxSearchDialogWrapper ------------------------------------------
+
+#include <sfx2/layout.hxx>
+#include <sfx2/layout-pre.hxx>
+
+class SvxSearchDialog;
+class SVX_DLLPUBLIC SvxSearchDialogWrapper : public SfxChildWindow
+{
+ SvxSearchDialog *dialog;
+public:
+ SvxSearchDialogWrapper( Window*pParent, USHORT nId,
+ SfxBindings* pBindings, SfxChildWinInfo* pInfo );
+
+ ~SvxSearchDialogWrapper ();
+ SvxSearchDialog *getDialog ();
+ SFX_DECL_CHILDWINDOW(SvxSearchDialogWrapper);
+};
+
+// class SvxSearchDialog -------------------------------------------------
+
+/*
+ {k:\svx\prototyp\dialog\svx/srchdlg.hxx}
+
+ [Description]
+ In this modeless dialog the attributes for a search are configured
+ and a search is started from it. Several search types
+ (search, search all, replace, replace all) are possible.
+
+ [Items]
+ <SvxSearchItem><SID_ATTR_SEARCH>
+*/
+
+class SvxSearchDialog : public SfxModelessDialog
+{
+friend class SvxSearchController;
+friend class SvxSearchDialogWrapper;
+friend class SvxJSearchOptionsDialog;
+
+public:
+ SvxSearchDialog( Window* pParent, SfxBindings& rBind );
+ SvxSearchDialog( Window* pParent, SfxChildWindow* pChildWin, SfxBindings& rBind );
+ ~SvxSearchDialog();
+
+ virtual BOOL Close();
+
+ // Window
+ virtual void Activate();
+
+ void GetSearchItems( SfxItemSet& rSet );
+ void GetReplaceItems( SfxItemSet& rSet );
+
+ const SearchAttrItemList* GetSearchItemList() const
+ { return pSearchList; }
+ const SearchAttrItemList* GetReplaceItemList() const
+ { return pReplaceList; }
+
+ inline BOOL HasSearchAttributes() const;
+ inline BOOL HasReplaceAttributes() const;
+
+ PushButton& GetReplaceBtn() { return aReplaceBtn; }
+
+ INT32 GetTransliterationFlags() const;
+
+ void SetSaveToModule(bool b);
+
+private:
+ FixedText aSearchText;
+ ComboBox aSearchLB;
+ ListBox aSearchTmplLB;
+ FixedInfo aSearchAttrText;
+
+ FixedText aReplaceText;
+ ComboBox aReplaceLB;
+ ListBox aReplaceTmplLB;
+ FixedInfo aReplaceAttrText;
+
+ PushButton aSearchBtn;
+ PushButton aSearchAllBtn;
+ FixedLine aSearchCmdLine;
+ PushButton aReplaceBtn;
+ PushButton aReplaceAllBtn;
+
+ FixedLine aSearchComponentFL;
+ PushButton aSearchComponent1PB;
+ PushButton aSearchComponent2PB;
+
+ CheckBox aMatchCaseCB;
+ CheckBox aWordBtn;
+
+ FixedLine aButtonsFL;
+ MoreButton* pMoreBtn;
+ HelpButton aHelpBtn;
+ CancelButton aCloseBtn;
+
+ FixedLine aOptionsFL;
+ CheckBox aSelectionBtn;
+ CheckBox aBackwardsBtn;
+ CheckBox aRegExpBtn;
+ CheckBox aSimilarityBox;
+ PushButton aSimilarityBtn;
+ CheckBox aLayoutBtn;
+ CheckBox aNotesBtn;
+ CheckBox aJapMatchFullHalfWidthCB;
+ CheckBox aJapOptionsCB;
+ PushButton aJapOptionsBtn;
+
+ PushButton aAttributeBtn;
+ PushButton aFormatBtn;
+ PushButton aNoFormatBtn;
+
+ FixedLine aCalcFL;
+ FixedText aCalcSearchInFT;
+ ListBox aCalcSearchInLB;
+ FixedText aCalcSearchDirFT;
+ RadioButton aRowsBtn;
+ RadioButton aColumnsBtn;
+ CheckBox aAllSheetsCB;
+
+ SfxBindings& rBindings;
+ BOOL bWriter;
+ BOOL bSearch;
+ BOOL bFormat;
+ USHORT nOptions;
+ bool bSet;
+ bool bReadOnly;
+ bool bConstruct;
+ ULONG nModifyFlag;
+ String aStylesStr;
+ String aLayoutStr;
+ LocalizedString aCalcStr;
+
+ SvStringsDtor aSearchStrings;
+ SvStringsDtor aReplaceStrings;
+
+ SearchDlg_Impl* pImpl;
+ SearchAttrItemList* pSearchList;
+ SearchAttrItemList* pReplaceList;
+ SvxSearchItem* pSearchItem;
+
+ SvxSearchController* pSearchController;
+ SvxSearchController* pOptionsController;
+ SvxSearchController* pFamilyController;
+ SvxSearchController* pSearchSetController;
+ SvxSearchController* pReplaceSetController;
+
+ mutable INT32 nTransliterationFlags;
+
+#ifdef _SVX_SRCHDLG_CXX
+ DECL_LINK( ModifyHdl_Impl, ComboBox* pEdit );
+ DECL_LINK( FlagHdl_Impl, Control* pCtrl );
+ DECL_LINK( CommandHdl_Impl, Button* pBtn );
+ DECL_LINK( TemplateHdl_Impl, Button* );
+ DECL_LINK( FocusHdl_Impl, Control* );
+ DECL_LINK( LoseFocusHdl_Impl, Control* );
+ DECL_LINK( FormatHdl_Impl, Button* );
+ DECL_LINK( NoFormatHdl_Impl, Button* );
+ DECL_LINK( AttributeHdl_Impl, Button* );
+ DECL_LINK( TimeoutHdl_Impl, Timer* );
+
+ void Construct_Impl();
+ void InitControls_Impl();
+ void CalculateDelta_Impl();
+ void Init_Impl( int bHasItemSet );
+ void InitAttrList_Impl( const SfxItemSet* pSSet,
+ const SfxItemSet* pRSet );
+ void Remember_Impl( const String &rStr,BOOL bSearch );
+ void PaintAttrText_Impl();
+ String& BuildAttrText_Impl( String& rStr, BOOL bSrchFlag ) const;
+
+ void TemplatesChanged_Impl( SfxStyleSheetBasePool& rPool );
+ void EnableControls_Impl( const USHORT nFlags );
+ void EnableControl_Impl( Control* pCtrl );
+ void SetItem_Impl( const SvxSearchItem* pItem );
+
+ void SetModifyFlag_Impl( const Control* pCtrl );
+ void SaveToModule_Impl();
+
+ void ApplyTransliterationFlags_Impl( INT32 nSettings );
+#endif
+};
+
+#include <sfx2/layout-post.hxx>
+
+inline BOOL SvxSearchDialog::HasSearchAttributes() const
+{
+ int bLen = aSearchAttrText.GetText().Len();
+ return ( aSearchAttrText.IsEnabled() && bLen );
+}
+
+inline BOOL SvxSearchDialog::HasReplaceAttributes() const
+{
+ int bLen = aReplaceAttrText.GetText().Len();
+ return ( aReplaceAttrText.IsEnabled() && bLen );
+}
+
+
+//////////////////////////////////////////////////////////////////////
+
+
+#endif // SV_NODIALOG
+#endif // NO_SVX_SEARCH
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/svdedtv.hxx b/svx/inc/svx/svdedtv.hxx
index 6314eced08..55e4b5c601 100644
--- a/svx/inc/svx/svdedtv.hxx
+++ b/svx/inc/svx/svdedtv.hxx
@@ -209,7 +209,6 @@ public:
// verwendet. NotifyNewUndoAction() wird in diesem Fall erst beim letzten
// EndUndo() gerufen. NotifyNewUndoAction() wird nicht gerufen bei einer
// leeren Klammerung.
-#ifndef WIN
void BegUndo() { pMod->BegUndo(); } // Undo-Klammerung auf
void BegUndo(const String& rComment) { pMod->BegUndo(rComment); } // Undo-Klammerung auf
void BegUndo(const String& rComment, const String& rObjDescr, SdrRepeatFunc eFunc=SDRREPFUNC_OBJ_NONE) { pMod->BegUndo(rComment,rObjDescr,eFunc); } // Undo-Klammerung auf
@@ -219,17 +218,6 @@ public:
// nur nach dem 1. BegUndo oder vor dem letzten EndUndo:
void SetUndoComment(const String& rComment) { pMod->SetUndoComment(rComment); }
void SetUndoComment(const String& rComment, const String& rObjDescr) { pMod->SetUndoComment(rComment,rObjDescr); }
-#else // ifndef WIN
- void BegUndo();
- void BegUndo(const String& rComment);
- void BegUndo(const String& rComment, const String& rObjDescr, SdrRepeatFunc eFunc=SDRREPFUNC_OBJ_NONE);
- void BegUndo(SdrUndoGroup* pUndoGrp);
- void EndUndo(); // Undo-Klammerung zu (inkl BroadcastEdges)
- void AddUndo(SdrUndoAction* pUndo);
- // nur nach dem 1. BegUndo oder vor dem letzten EndUndo:
- void SetUndoComment(const String& rComment);
- void SetUndoComment(const String& rComment, const String& rObjDescr);
-#endif
bool IsUndoEnabled() const;
std::vector< SdrUndoAction* > CreateConnectorUndo( SdrObject& rO );
diff --git a/svx/inc/svx/svdglob.hxx b/svx/inc/svx/svdglob.hxx
new file mode 100644
index 0000000000..8aca60b0e0
--- /dev/null
+++ b/svx/inc/svx/svdglob.hxx
@@ -0,0 +1,71 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVDGLOB_HXX
+#define _SVDGLOB_HXX
+
+#include <tools/contnr.hxx>
+
+#include <tools/resid.hxx>
+#include <tools/string.hxx>
+
+#include <svx/svxdllapi.h>
+
+//************************************************************
+// forward declaration
+//************************************************************
+
+class Link;
+class ResMgr;
+class SdrEngineDefaults;
+class ImpSdrStrCache;
+
+//************************************************************
+// Defines
+//************************************************************
+
+// Get the resource manager for the app
+ResMgr* ImpGetResMgr();
+
+class SdrResId: ResId {
+public:
+ SdrResId(USHORT nId): ResId(nId,*ImpGetResMgr()) {}
+};
+
+// ResourceCache for frequently used strings.
+// Global string resources with the IDs from
+// SDR_StringCacheBegin (256) to SDR_StringCacheEnd
+// are cached.
+// See also SvdStr.Hrc
+SVX_DLLPUBLIC String ImpGetResStr(sal_uInt16 nResID);
+
+////////////////////////////////////////////////////////////////////////////////////////////////////
+
+#endif //_SVDGLOB_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/svdhdl.hxx b/svx/inc/svx/svdhdl.hxx
index 4d40eac061..e672ede87b 100644
--- a/svx/inc/svx/svdhdl.hxx
+++ b/svx/inc/svx/svdhdl.hxx
@@ -175,7 +175,7 @@ protected:
unsigned bPlusHdl : 1; // u.a. fuer Hld-Paint Optimierung bei MarkPoint/UnmarkPoint, ...
bool mbMoveOutside; // forces this handle to be moved outside of the selection rectangle
-
+
// create marker for this kind
virtual void CreateB2dIAObject();
diff --git a/svx/inc/svx/svditer.hxx b/svx/inc/svx/svditer.hxx
new file mode 100644
index 0000000000..7228516125
--- /dev/null
+++ b/svx/inc/svx/svditer.hxx
@@ -0,0 +1,83 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVDITER_HXX
+#define _SVDITER_HXX
+
+#include <sal/types.h>
+#include <tools/list.hxx>
+#include "svx/svxdllapi.h"
+
+class SdrObjList;
+class SdrObject;
+class SdrMarkList;
+
+// SdrObjListIter methods:
+// IM_FLAT : Flat over the list
+// IM_DEEPWITHGROUPS : With recursive descent parser, Next() also returns group objects
+// IM_DEEPNOGROUPS : With recursive descent parser, Next() returns no group objects
+enum SdrIterMode { IM_FLAT, IM_DEEPWITHGROUPS, IM_DEEPNOGROUPS};
+
+class SVX_DLLPUBLIC SdrObjListIter
+{
+ List maObjList;
+ sal_uInt32 mnIndex;
+ BOOL mbReverse;
+
+ void ImpProcessObjectList(const SdrObjList& rObjList, SdrIterMode eMode, BOOL bUseZOrder);
+ void ImpProcessMarkList(const SdrMarkList& rMarkList, SdrIterMode eMode);
+ void ImpProcessObj(SdrObject* pObj, SdrIterMode eMode, BOOL bUseZOrder);
+
+public:
+ SdrObjListIter(const SdrObjList& rObjList, SdrIterMode eMode = IM_DEEPNOGROUPS, BOOL bReverse = FALSE);
+ /** This variant lets the user choose the order in which to travel over
+ the objects.
+ @param bUseZOrder
+ When <TRUE/> then the z-order defines the order of iteration.
+ Otherwise the navigation position as returned by
+ SdrObject::GetNavigationPosition() is used.
+ */
+ SdrObjListIter(const SdrObjList& rObjList, BOOL bUseZOrder, SdrIterMode eMode = IM_DEEPNOGROUPS, BOOL bReverse = FALSE);
+
+ /* SJ: the following function can now be used with every
+ SdrObject and is no longer limited to group objects */
+ SdrObjListIter(const SdrObject& rObj, SdrIterMode eMode = IM_DEEPNOGROUPS, BOOL bReverse = FALSE);
+
+ /** Iterates over a list of marked objects received from the SdrMarkView. */
+ SdrObjListIter(const SdrMarkList& rMarkList, SdrIterMode eMode = IM_DEEPNOGROUPS, BOOL bReverse = FALSE);
+
+ void Reset() { mnIndex = (mbReverse ? maObjList.Count() : 0L); }
+ BOOL IsMore() const { return (mbReverse ? mnIndex != 0 : ( mnIndex < maObjList.Count())); }
+ SdrObject* Next() { return (SdrObject*)maObjList.GetObject(mbReverse ? --mnIndex : mnIndex++); }
+
+ sal_uInt32 Count() { return maObjList.Count(); }
+};
+
+#endif //_SVDITER_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/svditext.hxx b/svx/inc/svx/svditext.hxx
new file mode 100644
index 0000000000..a2d3169aeb
--- /dev/null
+++ b/svx/inc/svx/svditext.hxx
@@ -0,0 +1,39 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVDITEXT_HXX
+#define _SVDITEXT_HXX
+
+// SvxItem-Mapping. Wird benoetigt um die SvxItem-Header erfolgreich zu includen
+
+#include <editeng/editdata.hxx>
+
+
+#endif // _SVDITEXT_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/svdmodel.hxx b/svx/inc/svx/svdmodel.hxx
index 1c0aa523ee..7d6d9a4697 100644
--- a/svx/inc/svx/svdmodel.hxx
+++ b/svx/inc/svx/svdmodel.hxx
@@ -54,11 +54,11 @@ class OutputDevice;
#include <rtl/ref.hxx>
-#if defined(UNX) || defined(WIN) || defined(WNT)
+#if defined(UNX) || defined(WNT)
#define DEGREE_CHAR ((sal_Unicode)176) /* 0xB0 = Ansi */
#endif
-#if defined(DOS) || defined(OS2)
+#if defined(OS2)
#define DEGREE_CHAR ((sal_Unicode)248) /* 0xF8 = IBM PC (Erw. ASCII) */
#endif
diff --git a/svx/inc/svx/svdograf.hxx b/svx/inc/svx/svdograf.hxx
index 232755f390..de77d5a6d1 100644
--- a/svx/inc/svx/svdograf.hxx
+++ b/svx/inc/svx/svdograf.hxx
@@ -121,7 +121,8 @@ protected:
void ImpLinkAnmeldung();
void ImpLinkAbmeldung();
- sal_Bool ImpUpdateGraphicLink() const;
+ sal_Bool ImpUpdateGraphicLink( sal_Bool bAsynchron = sal_True ) const;
+ void ImpSetLinkedGraphic( const Graphic& rGraphic );
DECL_LINK( ImpSwapHdl, GraphicObject* );
public:
diff --git a/svx/inc/svx/svdpagv.hxx b/svx/inc/svx/svdpagv.hxx
index 9c6b09e168..864aa75dd7 100644
--- a/svx/inc/svx/svdpagv.hxx
+++ b/svx/inc/svx/svdpagv.hxx
@@ -185,6 +185,9 @@ public:
// PrePaint call forwarded from app windows
void PrePaint();
+ // PostPaint call forwarded from app windows
+ void PostPaint();
+
// rReg bezieht sich auf's OutDev, nicht auf die Page
void CompleteRedraw(SdrPaintWindow& rPaintWindow, const Region& rReg, sdr::contact::ViewObjectContactRedirector* pRedirector = 0L) const;
diff --git a/svx/inc/svx/svdpntv.hxx b/svx/inc/svx/svdpntv.hxx
index eae3543a20..c9bfd21637 100644
--- a/svx/inc/svx/svdpntv.hxx
+++ b/svx/inc/svx/svdpntv.hxx
@@ -376,6 +376,9 @@ public:
// PrePaint call forwarded from app windows
void PrePaint();
+ // PostPaint call forwarded from app windows
+ void PostPaint();
+
////////////////////////////////////////////////////////////////////////////////////////////////////
// used internally for Draw/Impress/sch/chart2
virtual void CompleteRedraw(OutputDevice* pOut, const Region& rReg, sdr::contact::ViewObjectContactRedirector* pRedirector = 0);
diff --git a/svx/inc/svx/svdstr.hrc b/svx/inc/svx/svdstr.hrc
new file mode 100644
index 0000000000..85827266c3
--- /dev/null
+++ b/svx/inc/svx/svdstr.hrc
@@ -0,0 +1,723 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#define SDR_ResourceBegin 2560
+
+// Attention: All strings between SDR_StringCacheBegin and
+// SDR_StringCacheEnd must be aligned next to each other.
+
+#define STR_ObjNameBegin (SDR_ResourceBegin)
+#define STR_ObjNameSingulNONE (STR_ObjNameBegin + 0)
+#define STR_ObjNamePluralNONE (STR_ObjNameBegin + 1)
+#define STR_ObjNameSingulGRUP (STR_ObjNameBegin + 2)
+#define STR_ObjNamePluralGRUP (STR_ObjNameBegin + 3)
+#define STR_ObjNameSingulGRUPEMPTY (STR_ObjNameBegin + 4)
+#define STR_ObjNamePluralGRUPEMPTY (STR_ObjNameBegin + 5)
+#define STR_ObjNameSingulTable (STR_ObjNameBegin + 6)
+#define STR_ObjNamePluralTable (STR_ObjNameBegin + 7)
+#define STR_ObjNameSingulLINE (STR_ObjNameBegin + 8)
+#define STR_ObjNameSingulLINE_Hori (STR_ObjNameBegin + 9)
+#define STR_ObjNameSingulLINE_Vert (STR_ObjNameBegin + 10)
+#define STR_ObjNameSingulLINE_Diag (STR_ObjNameBegin + 11)
+#define STR_ObjNamePluralLINE (STR_ObjNameBegin + 12)
+#define STR_ObjNameSingulRECT (STR_ObjNameBegin + 13)
+#define STR_ObjNamePluralRECT (STR_ObjNameBegin + 14)
+#define STR_ObjNameSingulQUAD (STR_ObjNameBegin + 15)
+#define STR_ObjNamePluralQUAD (STR_ObjNameBegin + 16)
+#define STR_ObjNameSingulPARAL (STR_ObjNameBegin + 17)
+#define STR_ObjNamePluralPARAL (STR_ObjNameBegin + 18)
+#define STR_ObjNameSingulRAUTE (STR_ObjNameBegin + 19)
+#define STR_ObjNamePluralRAUTE (STR_ObjNameBegin + 20)
+#define STR_ObjNameSingulRECTRND (STR_ObjNameBegin + 21)
+#define STR_ObjNamePluralRECTRND (STR_ObjNameBegin + 22)
+#define STR_ObjNameSingulQUADRND (STR_ObjNameBegin + 23)
+#define STR_ObjNamePluralQUADRND (STR_ObjNameBegin + 24)
+#define STR_ObjNameSingulPARALRND (STR_ObjNameBegin + 25)
+#define STR_ObjNamePluralPARALRND (STR_ObjNameBegin + 26)
+#define STR_ObjNameSingulRAUTERND (STR_ObjNameBegin + 27)
+#define STR_ObjNamePluralRAUTERND (STR_ObjNameBegin + 28)
+#define STR_ObjNameSingulCIRC (STR_ObjNameBegin + 29)
+#define STR_ObjNamePluralCIRC (STR_ObjNameBegin + 30)
+#define STR_ObjNameSingulSECT (STR_ObjNameBegin + 31)
+#define STR_ObjNamePluralSECT (STR_ObjNameBegin + 32)
+#define STR_ObjNameSingulCARC (STR_ObjNameBegin + 33)
+#define STR_ObjNamePluralCARC (STR_ObjNameBegin + 34)
+#define STR_ObjNameSingulCCUT (STR_ObjNameBegin + 35)
+#define STR_ObjNamePluralCCUT (STR_ObjNameBegin + 36)
+#define STR_ObjNameSingulCIRCE (STR_ObjNameBegin + 37)
+#define STR_ObjNamePluralCIRCE (STR_ObjNameBegin + 38)
+#define STR_ObjNameSingulSECTE (STR_ObjNameBegin + 39)
+#define STR_ObjNamePluralSECTE (STR_ObjNameBegin + 40)
+#define STR_ObjNameSingulCARCE (STR_ObjNameBegin + 41)
+#define STR_ObjNamePluralCARCE (STR_ObjNameBegin + 42)
+#define STR_ObjNameSingulCCUTE (STR_ObjNameBegin + 43)
+#define STR_ObjNamePluralCCUTE (STR_ObjNameBegin + 44)
+#define STR_ObjNameSingulPOLY (STR_ObjNameBegin + 45)
+#define STR_ObjNameSingulPOLY_PntAnz (STR_ObjNameBegin + 46)
+#define STR_ObjNamePluralPOLY (STR_ObjNameBegin + 47)
+#define STR_ObjNameSingulPLIN (STR_ObjNameBegin + 48)
+#define STR_ObjNameSingulPLIN_PntAnz (STR_ObjNameBegin + 49)
+#define STR_ObjNamePluralPLIN (STR_ObjNameBegin + 50)
+#define STR_ObjNameSingulPATHLINE (STR_ObjNameBegin + 51)
+#define STR_ObjNamePluralPATHLINE (STR_ObjNameBegin + 52)
+#define STR_ObjNameSingulPATHFILL (STR_ObjNameBegin + 53)
+#define STR_ObjNamePluralPATHFILL (STR_ObjNameBegin + 54)
+#define STR_ObjNameSingulFREELINE (STR_ObjNameBegin + 55)
+#define STR_ObjNamePluralFREELINE (STR_ObjNameBegin + 56)
+#define STR_ObjNameSingulFREEFILL (STR_ObjNameBegin + 57)
+#define STR_ObjNamePluralFREEFILL (STR_ObjNameBegin + 58)
+#define STR_ObjNameSingulCOMBLINE (STR_ObjNameBegin + 59)
+#define STR_ObjNamePluralCOMBLINE (STR_ObjNameBegin + 60)
+#define STR_ObjNameSingulCOMBFILL (STR_ObjNameBegin + 61)
+#define STR_ObjNamePluralCOMBFILL (STR_ObjNameBegin + 62)
+#define STR_ObjNameSingulNATSPLN (STR_ObjNameBegin + 63)
+#define STR_ObjNamePluralNATSPLN (STR_ObjNameBegin + 64)
+#define STR_ObjNameSingulPERSPLN (STR_ObjNameBegin + 65)
+#define STR_ObjNamePluralPERSPLN (STR_ObjNameBegin + 66)
+#define STR_ObjNameSingulTEXT (STR_ObjNameBegin + 67)
+#define STR_ObjNamePluralTEXT (STR_ObjNameBegin + 68)
+#define STR_ObjNameSingulTEXTLNK (STR_ObjNameBegin + 69)
+#define STR_ObjNamePluralTEXTLNK (STR_ObjNameBegin + 70)
+#define STR_ObjNameSingulFITTEXT (STR_ObjNameBegin + 71)
+#define STR_ObjNamePluralFITTEXT (STR_ObjNameBegin + 72)
+#define STR_ObjNameSingulFITALLTEXT (STR_ObjNameBegin + 73)
+#define STR_ObjNamePluralFITALLTEXT (STR_ObjNameBegin + 74)
+#define STR_ObjNameSingulTITLETEXT (STR_ObjNameBegin + 75)
+#define STR_ObjNamePluralTITLETEXT (STR_ObjNameBegin + 76)
+#define STR_ObjNameSingulOUTLINETEXT (STR_ObjNameBegin + 77)
+#define STR_ObjNamePluralOUTLINETEXT (STR_ObjNameBegin + 78)
+#define STR_ObjNameSingulGRAF (STR_ObjNameBegin + 79)
+#define STR_ObjNamePluralGRAF (STR_ObjNameBegin + 80)
+#define STR_ObjNameSingulGRAFLNK (STR_ObjNameBegin + 81)
+#define STR_ObjNamePluralGRAFLNK (STR_ObjNameBegin + 82)
+#define STR_ObjNameSingulGRAFNONE (STR_ObjNameBegin + 83)
+#define STR_ObjNamePluralGRAFNONE (STR_ObjNameBegin + 84)
+#define STR_ObjNameSingulGRAFNONELNK (STR_ObjNameBegin + 85)
+#define STR_ObjNamePluralGRAFNONELNK (STR_ObjNameBegin + 86)
+#define STR_ObjNameSingulGRAFMTF (STR_ObjNameBegin + 87)
+#define STR_ObjNamePluralGRAFMTF (STR_ObjNameBegin + 88)
+#define STR_ObjNameSingulGRAFMTFLNK (STR_ObjNameBegin + 89)
+#define STR_ObjNamePluralGRAFMTFLNK (STR_ObjNameBegin + 90)
+#define STR_ObjNameSingulGRAFBMP (STR_ObjNameBegin + 91)
+#define STR_ObjNamePluralGRAFBMP (STR_ObjNameBegin + 92)
+#define STR_ObjNameSingulGRAFBMPLNK (STR_ObjNameBegin + 93)
+#define STR_ObjNamePluralGRAFBMPLNK (STR_ObjNameBegin + 94)
+#define STR_ObjNameSingulGRAFMAC (STR_ObjNameBegin + 95)
+#define STR_ObjNamePluralGRAFMAC (STR_ObjNameBegin + 96)
+#define STR_ObjNameSingulGRAFMACLNK (STR_ObjNameBegin + 97)
+#define STR_ObjNamePluralGRAFMACLNK (STR_ObjNameBegin + 98)
+#define STR_ObjNameSingulOLE2 (STR_ObjNameBegin + 99)
+#define STR_ObjNamePluralOLE2 (STR_ObjNameBegin +100)
+#define STR_ObjNameSingulOLE2LNK (STR_ObjNameBegin +101)
+#define STR_ObjNamePluralOLE2LNK (STR_ObjNameBegin +102)
+#define STR_ObjOLE2NamePrefix (STR_ObjNameBegin +103)
+#define STR_ObjNameSingulFrame (STR_ObjNameBegin +104)
+#define STR_ObjNamePluralFrame (STR_ObjNameBegin +105)
+#define STR_ObjFrameNamePrefix (STR_ObjNameBegin +106)
+#define STR_ObjNameSingulEDGE (STR_ObjNameBegin +107)
+#define STR_ObjNamePluralEDGE (STR_ObjNameBegin +108)
+#define STR_ObjNameSingulCAPTION (STR_ObjNameBegin +109)
+#define STR_ObjNamePluralCAPTION (STR_ObjNameBegin +110)
+#define STR_ObjNameSingulPAGE (STR_ObjNameBegin +111)
+#define STR_ObjNamePluralPAGE (STR_ObjNameBegin +112)
+#define STR_ObjNameSingulMEASURE (STR_ObjNameBegin +113)
+#define STR_ObjNamePluralMEASURE (STR_ObjNameBegin +114)
+#define STR_ObjNamePlural (STR_ObjNameBegin +115)
+#define STR_ObjNameNoObj (STR_ObjNameBegin +116)
+#define STR_ObjNameAnd (STR_ObjNameBegin +117)
+#define STR_ObjNameSingulPlural (STR_ObjNameBegin +118)
+#define STR_ObjNameSingulUno (STR_ObjNameBegin +119)
+#define STR_ObjNamePluralUno (STR_ObjNameBegin +120)
+
+#define STR_ObjNameSingulCube3d (STR_ObjNameBegin + 121)
+#define STR_ObjNamePluralCube3d (STR_ObjNameBegin + 122)
+#define STR_ObjNameSingulExtrude3d (STR_ObjNameBegin + 123)
+#define STR_ObjNamePluralExtrude3d (STR_ObjNameBegin + 124)
+#define STR_ObjNameSingulLabel3d (STR_ObjNameBegin + 125)
+#define STR_ObjNamePluralLabel3d (STR_ObjNameBegin + 126)
+#define STR_ObjNameSingulLathe3d (STR_ObjNameBegin + 127)
+#define STR_ObjNamePluralLathe3d (STR_ObjNameBegin + 128)
+#define STR_ObjNameSingulObj3d (STR_ObjNameBegin + 129)
+#define STR_ObjNamePluralObj3d (STR_ObjNameBegin + 130)
+#define STR_ObjNamePluralPoly3d (STR_ObjNameBegin + 132)
+#define STR_ObjNameSingulScene3d (STR_ObjNameBegin + 133)
+#define STR_ObjNamePluralScene3d (STR_ObjNameBegin + 134)
+#define STR_ObjNameSingulSphere3d (STR_ObjNameBegin + 135)
+#define STR_ObjNamePluralSphere3d (STR_ObjNameBegin + 136)
+
+#define STR_ObjNameSingulGRAFBMPTRANS (STR_ObjNameBegin + 137)
+#define STR_ObjNameSingulGRAFBMPTRANSLNK (STR_ObjNameBegin + 138)
+
+#define STR_ObjNamePluralGRAFBMPTRANS (STR_ObjNameBegin + 139)
+#define STR_ObjNamePluralGRAFBMPTRANSLNK (STR_ObjNameBegin + 140)
+
+#define STR_ObjNameSingulCUSTOMSHAPE (STR_ObjNameBegin + 141)
+#define STR_ObjNamePluralCUSTOMSHAPE (STR_ObjNameBegin + 142)
+
+#define STR_ObjNameSingulMEDIA (STR_ObjNameBegin + 143)
+#define STR_ObjNamePluralMEDIA (STR_ObjNameBegin + 144)
+
+#define STR_ObjNameEnd (STR_ObjNamePluralMEDIA)
+
+#define STR_EditBegin (STR_ObjNameEnd+1)
+#define STR_EditWithCopy (STR_EditBegin + 0)
+#define STR_EditPosSize (STR_EditBegin + 1)
+#define STR_EditDelete (STR_EditBegin + 2)
+#define STR_EditMovToTop (STR_EditBegin + 3)
+#define STR_EditMovToBtm (STR_EditBegin + 4)
+#define STR_EditPutToTop (STR_EditBegin + 5)
+#define STR_EditPutToBtm (STR_EditBegin + 6)
+#define STR_EditRevOrder (STR_EditBegin + 7)
+#define STR_EditMove (STR_EditBegin + 8)
+#define STR_EditResize (STR_EditBegin + 9)
+#define STR_EditRotate (STR_EditBegin + 10)
+#define STR_EditMirrorHori (STR_EditBegin + 11)
+#define STR_EditMirrorVert (STR_EditBegin + 12)
+#define STR_EditMirrorDiag (STR_EditBegin + 13)
+#define STR_EditMirrorFree (STR_EditBegin + 14)
+#define STR_EditShear (STR_EditBegin + 15)
+#define STR_EditCrook (STR_EditBegin + 16)
+#define STR_EditCrookContortion (STR_EditBegin + 17)
+#define STR_EditDistort (STR_EditBegin + 18)
+#define STR_EditRipUp (STR_EditBegin + 19)
+#define STR_EditSetPointsSmooth (STR_EditBegin + 20)
+#define STR_EditSetSegmentsKind (STR_EditBegin + 21)
+#define STR_EditShut (STR_EditBegin + 22)
+#define STR_EditSetGlueEscDir (STR_EditBegin + 23)
+#define STR_EditSetGluePercent (STR_EditBegin + 24)
+#define STR_EditSetGlueAlign (STR_EditBegin + 25)
+#define STR_EditGroup (STR_EditBegin + 26)
+#define STR_EditUngroup (STR_EditBegin + 27)
+#define STR_EditSetAttributes (STR_EditBegin + 28)
+#define STR_EditSetStylesheet (STR_EditBegin + 29)
+#define STR_EditDelStylesheet (STR_EditBegin + 30)
+#define STR_EditConvToPoly (STR_EditBegin + 31)
+#define STR_EditConvToPolys (STR_EditBegin + 32)
+#define STR_EditConvToCurve (STR_EditBegin + 33)
+#define STR_EditConvToCurves (STR_EditBegin + 34)
+#define STR_EditAlign (STR_EditBegin + 35)
+#define STR_EditAlignVTop (STR_EditBegin + 36)
+#define STR_EditAlignVBottom (STR_EditBegin + 37)
+#define STR_EditAlignVCenter (STR_EditBegin + 38)
+#define STR_EditAlignHLeft (STR_EditBegin + 39)
+#define STR_EditAlignHRight (STR_EditBegin + 40)
+#define STR_EditAlignHCenter (STR_EditBegin + 41)
+#define STR_EditAlignCenter (STR_EditBegin + 42)
+#define STR_EditTransform (STR_EditBegin + 43)
+#define STR_EditCombine_PolyPoly (STR_EditBegin + 44)
+#define STR_EditCombine_OnePoly (STR_EditBegin + 45)
+#define STR_EditDismantle_Polys (STR_EditBegin + 46)
+#define STR_EditDismantle_Lines (STR_EditBegin + 47)
+#define STR_EditImportMtf (STR_EditBegin + 48)
+#define STR_EditImportSGV (STR_EditBegin + 49)
+#define STR_EditImportHPGL (STR_EditBegin + 50)
+#define STR_EditImportDXF (STR_EditBegin + 51)
+#define STR_EditConvToContour (STR_EditBegin + 52)
+#define STR_EditConvToContours (STR_EditBegin + 53)
+#define STR_EditMergeMergePoly (STR_EditBegin + 54)
+#define STR_EditMergeSubstractPoly (STR_EditBegin + 55)
+#define STR_EditMergeIntersectPoly (STR_EditBegin + 56)
+#define STR_DistributeMarkedObjects (STR_EditBegin + 57)
+#define STR_EditEnd (STR_DistributeMarkedObjects)
+
+#define STR_ExchangeBegin (STR_EditEnd+1)
+#define STR_ExchangePaste (STR_ExchangeBegin +0)
+#define STR_ExchangeClpCut (STR_ExchangeBegin +1)
+#define STR_ExchangeClpPaste (STR_ExchangeBegin +2)
+#define STR_ExchangeDD (STR_ExchangeBegin +3)
+#define STR_ExchangeDDPaste (STR_ExchangeBegin +4)
+#define STR_ExchangeEnd (STR_ExchangeDDPaste)
+
+#define STR_DragBegin (STR_ExchangeEnd+1)
+#define STR_DragInsertPoint (STR_DragBegin + 0)
+#define STR_DragInsertGluePoint (STR_DragBegin + 1)
+#define STR_DragMethMovHdl (STR_DragBegin + 2)
+#define STR_DragMethObjOwn (STR_DragBegin + 3)
+#define STR_DragMethMove (STR_DragBegin + 4)
+#define STR_DragMethResize (STR_DragBegin + 5)
+#define STR_DragMethRotate (STR_DragBegin + 6)
+#define STR_DragMethMirrorHori (STR_DragBegin + 7)
+#define STR_DragMethMirrorVert (STR_DragBegin + 8)
+#define STR_DragMethMirrorDiag (STR_DragBegin + 9)
+#define STR_DragMethMirrorFree (STR_DragBegin +10)
+#define STR_DragMethShear (STR_DragBegin +11)
+#define STR_DragMethCrook (STR_DragBegin +12)
+#define STR_DragMethCrookContortion (STR_DragBegin +13)
+#define STR_DragMethDistort (STR_DragBegin +14)
+#define STR_DragRectEckRad (STR_DragBegin +15)
+#define STR_DragPathObj (STR_DragBegin +16)
+#define STR_DragRectResize (STR_DragBegin +17)
+#define STR_DragCaptFram (STR_DragBegin +18)
+#define STR_DragCaptTail (STR_DragBegin +19)
+#define STR_DragCircAngle (STR_DragBegin +20)
+#define STR_DragEdgeTail (STR_DragBegin +21)
+#define STR_DragMethGradient (STR_DragBegin +22)
+#define STR_DragMethTransparence (STR_DragBegin +23)
+#define STR_DragMethCrop (STR_DragBegin +24)
+#define STR_DragEnd (STR_DragMethCrop)
+
+#define STR_ViewBegin (STR_DragEnd+1)
+#define STR_ViewTextEdit (STR_ViewBegin + 0)
+#define STR_ViewMarked (STR_ViewBegin + 1)
+#define STR_ViewMarkedPoint (STR_ViewBegin + 2)
+#define STR_ViewMarkedPoints (STR_ViewBegin + 3)
+#define STR_ViewMarkedGluePoint (STR_ViewBegin + 4)
+#define STR_ViewMarkedGluePoints (STR_ViewBegin + 5)
+#define STR_ViewMarkObjs (STR_ViewBegin + 6)
+#define STR_ViewMarkMoreObjs (STR_ViewBegin + 7)
+#define STR_ViewMarkPoints (STR_ViewBegin + 8)
+#define STR_ViewMarkMorePoints (STR_ViewBegin + 9)
+#define STR_ViewMarkGluePoints (STR_ViewBegin +10)
+#define STR_ViewMarkMoreGluePoints (STR_ViewBegin +11)
+#define STR_ViewCreateObj (STR_ViewBegin +12)
+#define STR_ViewEnd (STR_ViewCreateObj)
+
+#define STR_UndoBegin (STR_ViewEnd+1)
+#define STR_UndoInsertObj (STR_UndoBegin + 0)
+#define STR_UndoCopyObj (STR_UndoBegin + 1)
+#define STR_UndoObjOrdNum (STR_UndoBegin + 2)
+#define STR_UndoObjSetText (STR_UndoBegin + 3)
+
+#define STR_UndoNewPage (STR_UndoBegin + 4)
+#define STR_UndoDelPage (STR_UndoBegin + 5)
+#define STR_UndoCopPage (STR_UndoBegin + 6)
+#define STR_UndoMovPage (STR_UndoBegin + 7)
+
+#define STR_UndoNewPageMasterDscr (STR_UndoBegin + 8)
+#define STR_UndoDelPageMasterDscr (STR_UndoBegin + 9)
+#define STR_UndoMovPageMasterDscr (STR_UndoBegin +10)
+#define STR_UndoChgPageMasterDscr (STR_UndoBegin +11)
+
+#define STR_UndoMergeModel (STR_UndoBegin +12)
+
+#define STR_UndoNewLayer (STR_UndoBegin +13)
+#define STR_UndoDelLayer (STR_UndoBegin +14)
+#define STR_UndoMovLayer (STR_UndoBegin +15)
+
+// #i73249#
+#define STR_UndoObjName (STR_UndoBegin +16)
+#define STR_UndoObjTitle (STR_UndoBegin +17)
+#define STR_UndoObjDescription (STR_UndoBegin +18)
+#define STR_UndoEnd (STR_UndoObjDescription)
+
+
+#define STR_LayerBegin (STR_UndoEnd+1)
+#define STR_StandardLayerName (STR_LayerBegin +0)
+#define STR_LayerEnd (STR_StandardLayerName)
+
+
+#define STR_ItemBegin (STR_LayerEnd+1)
+#define STR_ItemValBegin (STR_ItemBegin)
+#define STR_ItemValON (STR_ItemValBegin + 0)
+#define STR_ItemValOFF (STR_ItemValBegin + 1)
+#define STR_ItemValYES (STR_ItemValBegin + 2)
+#define STR_ItemValNO (STR_ItemValBegin + 3)
+#define STR_ItemValCAPTIONTYPE1 (STR_ItemValBegin + 4)
+#define STR_ItemValCAPTIONTYPE2 (STR_ItemValBegin + 5)
+#define STR_ItemValCAPTIONTYPE3 (STR_ItemValBegin + 6)
+#define STR_ItemValCAPTIONTYPE4 (STR_ItemValBegin + 7)
+#define STR_ItemValCAPTIONESCHORI (STR_ItemValBegin + 8)
+#define STR_ItemValCAPTIONESCVERT (STR_ItemValBegin + 9)
+#define STR_ItemValCAPTIONESCBESTFIT (STR_ItemValBegin + 10)
+#define STR_ItemValFITTOSIZENONE (STR_ItemValBegin + 11)
+#define STR_ItemValFITTOSIZEPROP (STR_ItemValBegin + 12)
+#define STR_ItemValFITTOSIZEALLLINES (STR_ItemValBegin + 13)
+#define STR_ItemValFITTOSIZERESIZEAT (STR_ItemValBegin + 14)
+#define STR_ItemValTEXTVADJTOP (STR_ItemValBegin + 15)
+#define STR_ItemValTEXTVADJCENTER (STR_ItemValBegin + 16)
+#define STR_ItemValTEXTVADJBOTTOM (STR_ItemValBegin + 17)
+#define STR_ItemValTEXTVADJBLOCK (STR_ItemValBegin + 18)
+#define STR_ItemValTEXTVADJSTRETCH (STR_ItemValBegin + 19)
+#define STR_ItemValTEXTHADJLEFT (STR_ItemValBegin + 20)
+#define STR_ItemValTEXTHADJCENTER (STR_ItemValBegin + 21)
+#define STR_ItemValTEXTHADJRIGHT (STR_ItemValBegin + 22)
+#define STR_ItemValTEXTHADJBLOCK (STR_ItemValBegin + 23)
+#define STR_ItemValTEXTHADJSTRETCH (STR_ItemValBegin + 24)
+#define STR_ItemValTEXTANI_NONE (STR_ItemValBegin + 25)
+#define STR_ItemValTEXTANI_BLINK (STR_ItemValBegin + 26)
+#define STR_ItemValTEXTANI_SCROLL (STR_ItemValBegin + 27)
+#define STR_ItemValTEXTANI_ALTERNATE (STR_ItemValBegin + 28)
+#define STR_ItemValTEXTANI_SLIDE (STR_ItemValBegin + 29)
+#define STR_ItemValTEXTANI_LEFT (STR_ItemValBegin + 30)
+#define STR_ItemValTEXTANI_RIGHT (STR_ItemValBegin + 31)
+#define STR_ItemValTEXTANI_UP (STR_ItemValBegin + 32)
+#define STR_ItemValTEXTANI_DOWN (STR_ItemValBegin + 33)
+#define STR_ItemValEDGE_ORTHOLINES (STR_ItemValBegin + 34)
+#define STR_ItemValEDGE_THREELINES (STR_ItemValBegin + 35)
+#define STR_ItemValEDGE_ONELINE (STR_ItemValBegin + 36)
+#define STR_ItemValEDGE_BEZIER (STR_ItemValBegin + 37)
+#define STR_ItemValMEASURE_STD (STR_ItemValBegin + 38)
+#define STR_ItemValMEASURE_RADIUS (STR_ItemValBegin + 39)
+#define STR_ItemValMEASURE_TEXTHAUTO (STR_ItemValBegin + 40)
+#define STR_ItemValMEASURE_TEXTLEFTOUTSIDE (STR_ItemValBegin + 41)
+#define STR_ItemValMEASURE_TEXTINSIDE (STR_ItemValBegin + 42)
+#define STR_ItemValMEASURE_TEXTRIGHTOUTSID (STR_ItemValBegin + 43)
+#define STR_ItemValMEASURE_TEXTVAUTO (STR_ItemValBegin + 44)
+#define STR_ItemValMEASURE_ABOVE (STR_ItemValBegin + 45)
+#define STR_ItemValMEASURETEXT_BREAKEDLINE (STR_ItemValBegin + 46)
+#define STR_ItemValMEASURE_BELOW (STR_ItemValBegin + 47)
+#define STR_ItemValMEASURETEXT_VERTICALCEN (STR_ItemValBegin + 48)
+#define STR_ItemValCIRC_FULL (STR_ItemValBegin + 49)
+#define STR_ItemValCIRC_SECT (STR_ItemValBegin + 50)
+#define STR_ItemValCIRC_CUT (STR_ItemValBegin + 51)
+#define STR_ItemValCIRC_ARC (STR_ItemValBegin + 52)
+#define STR_ItemValEnd (STR_ItemValCIRC_ARC)
+
+#define STR_ItemNamBegin (STR_ItemValEnd+1)
+#define STR_ItemNam_SHADOW (STR_ItemNamBegin + 0)
+#define STR_ItemNam_SHADOWCOLOR (STR_ItemNamBegin + 1)
+#define STR_ItemNam_SHADOWXDIST (STR_ItemNamBegin + 2)
+#define STR_ItemNam_SHADOWYDIST (STR_ItemNamBegin + 3)
+#define STR_ItemNam_SHADOWTRANSPARENCE (STR_ItemNamBegin + 4)
+#define STR_ItemNam_SHADOW3D (STR_ItemNamBegin + 5)
+#define STR_ItemNam_SHADOWPERSP (STR_ItemNamBegin + 6)
+#define STR_ItemNam_CAPTIONTYPE (STR_ItemNamBegin + 13)
+#define STR_ItemNam_CAPTIONFIXEDANGLE (STR_ItemNamBegin + 14)
+#define STR_ItemNam_CAPTIONANGLE (STR_ItemNamBegin + 15)
+#define STR_ItemNam_CAPTIONGAP (STR_ItemNamBegin + 16)
+#define STR_ItemNam_CAPTIONESCDIR (STR_ItemNamBegin + 17)
+#define STR_ItemNam_CAPTIONESCISREL (STR_ItemNamBegin + 18)
+#define STR_ItemNam_CAPTIONESCREL (STR_ItemNamBegin + 19)
+#define STR_ItemNam_CAPTIONESCABS (STR_ItemNamBegin + 20)
+#define STR_ItemNam_CAPTIONLINELEN (STR_ItemNamBegin + 21)
+#define STR_ItemNam_CAPTIONFITLINELEN (STR_ItemNamBegin + 22)
+
+#define STR_ItemNam_ECKENRADIUS (STR_ItemNamBegin + 30)
+#define STR_ItemNam_TEXT_LEFTDIST (STR_ItemNamBegin + 31)
+#define STR_ItemNam_TEXT_RIGHTDIST (STR_ItemNamBegin + 32)
+#define STR_ItemNam_TEXT_UPPERDIST (STR_ItemNamBegin + 33)
+#define STR_ItemNam_TEXT_LOWERDIST (STR_ItemNamBegin + 34)
+#define STR_ItemNam_TEXT_AUTOGROWHEIGHT (STR_ItemNamBegin + 35)
+#define STR_ItemNam_TEXT_MINFRAMEHEIGHT (STR_ItemNamBegin + 36)
+#define STR_ItemNam_TEXT_MAXFRAMEHEIGHT (STR_ItemNamBegin + 37)
+#define STR_ItemNam_TEXT_AUTOGROWWIDTH (STR_ItemNamBegin + 38)
+#define STR_ItemNam_TEXT_MINFRAMEWIDTH (STR_ItemNamBegin + 39)
+#define STR_ItemNam_TEXT_MAXFRAMEWIDTH (STR_ItemNamBegin + 40)
+#define STR_ItemNam_TEXT_VERTADJUST (STR_ItemNamBegin + 41)
+#define STR_ItemNam_TEXT_HORZADJUST (STR_ItemNamBegin + 42)
+#define STR_ItemNam_TEXT_FITTOSIZE (STR_ItemNamBegin + 43)
+#define STR_ItemNam_GRAFRED (STR_ItemNamBegin + 44)
+#define STR_ItemNam_GRAFGREEN (STR_ItemNamBegin + 45)
+#define STR_ItemNam_GRAFBLUE (STR_ItemNamBegin + 46)
+#define STR_ItemNam_GRAFLUMINANCE (STR_ItemNamBegin + 47)
+#define STR_ItemNam_GRAFCONTRAST (STR_ItemNamBegin + 48)
+#define STR_ItemNam_GRAFGAMMA (STR_ItemNamBegin + 49)
+#define STR_ItemNam_GRAFTRANSPARENCE (STR_ItemNamBegin + 50)
+#define STR_ItemNam_GRAFINVERT (STR_ItemNamBegin + 51)
+#define STR_ItemNam_GRAFMODE (STR_ItemNamBegin + 52)
+#define STR_ItemNam_GRAFRESERVE2 (STR_ItemNamBegin + 53)
+#define STR_ItemNam_GRAFRESERVE3 (STR_ItemNamBegin + 54)
+#define STR_ItemNam_GRAFRESERVE4 (STR_ItemNamBegin + 55)
+#define STR_ItemNam_GRAFRESERVE5 (STR_ItemNamBegin + 56)
+#define STR_ItemNam_GRAFRESERVE6 (STR_ItemNamBegin + 57)
+#define STR_ItemNam_RESERVE19 (STR_ItemNamBegin + 58)
+#define STR_ItemNamSET_MISC (STR_ItemNamBegin + 59)
+#define STR_ItemNam_OBJMOVEPROTECT (STR_ItemNamBegin + 60)
+#define STR_ItemNam_OBJSIZEPROTECT (STR_ItemNamBegin + 61)
+#define STR_ItemNam_OBJPRINTABLE (STR_ItemNamBegin + 62)
+#define STR_ItemNam_LAYERID (STR_ItemNamBegin + 63)
+#define STR_ItemNam_LAYERNAME (STR_ItemNamBegin + 64)
+#define STR_ItemNam_OBJECTNAME (STR_ItemNamBegin + 65)
+#define STR_ItemNam_STARTANGLE (STR_ItemNamBegin + 66)
+#define STR_ItemNam_ENDANGLE (STR_ItemNamBegin + 67)
+#define STR_ItemNam_POSITIONX (STR_ItemNamBegin + 68)
+#define STR_ItemNam_POSITIONY (STR_ItemNamBegin + 69)
+#define STR_ItemNam_SIZEWIDTH (STR_ItemNamBegin + 70)
+#define STR_ItemNam_SIZEHEIGHT (STR_ItemNamBegin + 71)
+#define STR_ItemNam_ROTATEANGLE (STR_ItemNamBegin + 72)
+#define STR_ItemNam_SHEARANGLE (STR_ItemNamBegin + 73)
+#define STR_ItemNamEnd (STR_ItemNam_SHEARANGLE)
+#define STR_ItemEnd STR_ItemNamEnd
+
+#define BMAP_Begin (STR_ItemEnd+1)
+#define BMAP_GrafikEi (BMAP_Begin +0)
+#define BMAP_GrafikDe (BMAP_Begin +1)
+#define BMAP_End (BMAP_GrafikDe)
+
+// Strings for the template dialog
+#define SIP_Begin (BMAP_End)
+
+#define SIP_UNKNOWN_ATTR (SIP_Begin + 0)
+#define SIP_XA_LINESTYLE (SIP_Begin + 1)
+#define SIP_XA_LINEDASH (SIP_Begin + 2)
+#define SIP_XA_LINEWIDTH (SIP_Begin + 3)
+#define SIP_XA_LINECOLOR (SIP_Begin + 4)
+#define SIP_XA_LINESTART (SIP_Begin + 5)
+#define SIP_XA_LINEEND (SIP_Begin + 6)
+#define SIP_XA_LINESTARTWIDTH (SIP_Begin + 7)
+#define SIP_XA_LINEENDWIDTH (SIP_Begin + 8)
+#define SIP_XA_LINESTARTCENTER (SIP_Begin + 9)
+#define SIP_XA_LINEENDCENTER (SIP_Begin + 10)
+#define SIP_XA_LINETRANSPARENCE (SIP_Begin + 11)
+#define SIP_XA_LINEJOINT (SIP_Begin + 12)
+#define SIP_XA_LINERESERVED2 (SIP_Begin + 13)
+#define SIP_XA_LINERESERVED3 (SIP_Begin + 14)
+#define SIP_XA_LINERESERVED4 (SIP_Begin + 15)
+#define SIP_XA_LINERESERVED5 (SIP_Begin + 16)
+#define SIP_XA_LINERESERVED_LAST (SIP_Begin + 17)
+#define SIP_XATTRSET_LINE (SIP_Begin + 18)
+#define SIP_XA_FILLSTYLE (SIP_Begin + 19)
+#define SIP_XA_FILLCOLOR (SIP_Begin + 20)
+#define SIP_XA_FILLGRADIENT (SIP_Begin + 21)
+#define SIP_XA_FILLHATCH (SIP_Begin + 22)
+#define SIP_XA_FILLBITMAP (SIP_Begin + 23)
+#define SIP_XA_FILLTRANSPARENCE (SIP_Begin + 24)
+#define SIP_XA_GRADIENTSTEPCOUNT (SIP_Begin + 25)
+#define SIP_XA_FILLBMP_TILE (SIP_Begin + 26)
+#define SIP_XA_FILLBMP_POS (SIP_Begin + 27)
+#define SIP_XA_FILLBMP_SIZEX (SIP_Begin + 28)
+#define SIP_XA_FILLBMP_SIZEY (SIP_Begin + 29)
+#define SIP_XA_FILLFLOATTRANSPARENCE (SIP_Begin + 30)
+#define SIP_XA_SECONDARYFILLCOLOR (SIP_Begin + 31)
+#define SIP_XA_FILLBMP_SIZELOG (SIP_Begin + 32)
+#define SIP_XA_FILLBMP_TILEOFFSETX (SIP_Begin + 33)
+#define SIP_XA_FILLBMP_TILEOFFSETY (SIP_Begin + 34)
+#define SIP_XA_FILLBMP_STRETCH (SIP_Begin + 35)
+#define SIP_XA_FILLRESERVED3 (SIP_Begin + 36)
+#define SIP_XA_FILLRESERVED4 (SIP_Begin + 37)
+#define SIP_XA_FILLRESERVED5 (SIP_Begin + 38)
+#define SIP_XA_FILLRESERVED6 (SIP_Begin + 39)
+#define SIP_XA_FILLRESERVED7 (SIP_Begin + 40)
+#define SIP_XA_FILLRESERVED8 (SIP_Begin + 41)
+#define SIP_XA_FILLBMP_POSOFFSETX (SIP_Begin + 42)
+#define SIP_XA_FILLBMP_POSOFFSETY (SIP_Begin + 43)
+#define SIP_XA_FILLBACKGROUND (SIP_Begin + 44)
+#define SIP_XA_FILLRESERVED10 (SIP_Begin + 45)
+#define SIP_XA_FILLRESERVED11 (SIP_Begin + 46)
+#define SIP_XA_FILLRESERVED_LAST (SIP_Begin + 47)
+#define SIP_XATTRSET_FILL (SIP_Begin + 48)
+#define SIP_XA_FORMTXTSTYLE (SIP_Begin + 49)
+#define SIP_XA_FORMTXTADJUST (SIP_Begin + 50)
+#define SIP_XA_FORMTXTDISTANCE (SIP_Begin + 51)
+#define SIP_XA_FORMTXTSTART (SIP_Begin + 52)
+#define SIP_XA_FORMTXTMIRROR (SIP_Begin + 53)
+#define SIP_XA_FORMTXTOUTLINE (SIP_Begin + 54)
+#define SIP_XA_FORMTXTSHADOW (SIP_Begin + 55)
+#define SIP_XA_FORMTXTSHDWCOLOR (SIP_Begin + 56)
+#define SIP_XA_FORMTXTSHDWXVAL (SIP_Begin + 57)
+#define SIP_XA_FORMTXTSHDWYVAL (SIP_Begin + 58)
+#define SIP_XA_FORMTXTSTDFORM (SIP_Begin + 59)
+#define SIP_XA_FORMTXTHIDEFORM (SIP_Begin + 60)
+#define SIP_XA_FORMTXTSHDWTRANSP (SIP_Begin + 61)
+#define SIP_XA_FTRESERVED2 (SIP_Begin + 62)
+#define SIP_XA_FTRESERVED3 (SIP_Begin + 63)
+#define SIP_XA_FTRESERVED4 (SIP_Begin + 64)
+#define SIP_XA_FTRESERVED5 (SIP_Begin + 65)
+#define SIP_XA_FTRESERVED_LAST (SIP_Begin + 66)
+#define SIP_SA_SHADOW (SIP_Begin + 68)
+#define SIP_SA_SHADOWCOLOR (SIP_Begin + 69)
+#define SIP_SA_SHADOWXDIST (SIP_Begin + 70)
+#define SIP_SA_SHADOWYDIST (SIP_Begin + 71)
+#define SIP_SA_SHADOWTRANSPARENCE (SIP_Begin + 72)
+#define SIP_SA_SHADOW3D (SIP_Begin + 73)
+#define SIP_SA_SHADOWPERSP (SIP_Begin + 74)
+#define SIP_SA_CAPTIONTYPE (SIP_Begin + 81)
+#define SIP_SA_CAPTIONFIXEDANGLE (SIP_Begin + 82)
+#define SIP_SA_CAPTIONANGLE (SIP_Begin + 83)
+#define SIP_SA_CAPTIONGAP (SIP_Begin + 84)
+#define SIP_SA_CAPTIONESCDIR (SIP_Begin + 85)
+#define SIP_SA_CAPTIONESCISREL (SIP_Begin + 86)
+#define SIP_SA_CAPTIONESCREL (SIP_Begin + 87)
+#define SIP_SA_CAPTIONESCABS (SIP_Begin + 88)
+#define SIP_SA_CAPTIONLINELEN (SIP_Begin + 89)
+#define SIP_SA_CAPTIONFITLINELEN (SIP_Begin + 90)
+#define SIP_SA_ECKENRADIUS (SIP_Begin + 98)
+#define SIP_SA_TEXT_MINFRAMEHEIGHT (SIP_Begin + 99)
+#define SIP_SA_TEXT_AUTOGROWHEIGHT (SIP_Begin + 100)
+#define SIP_SA_TEXT_FITTOSIZE (SIP_Begin + 101)
+#define SIP_SA_TEXT_LEFTDIST (SIP_Begin + 102)
+#define SIP_SA_TEXT_RIGHTDIST (SIP_Begin + 103)
+#define SIP_SA_TEXT_UPPERDIST (SIP_Begin + 104)
+#define SIP_SA_TEXT_LOWERDIST (SIP_Begin + 105)
+#define SIP_SA_TEXT_VERTADJUST (SIP_Begin + 106)
+#define SIP_SA_TEXT_MAXFRAMEHEIGHT (SIP_Begin + 107)
+#define SIP_SA_TEXT_MINFRAMEWIDTH (SIP_Begin + 108)
+#define SIP_SA_TEXT_MAXFRAMEWIDTH (SIP_Begin + 109)
+#define SIP_SA_TEXT_AUTOGROWWIDTH (SIP_Begin + 110)
+#define SIP_SA_TEXT_HORZADJUST (SIP_Begin + 111)
+#define SIP_SA_TEXT_ANIKIND (SIP_Begin + 112)
+#define SIP_SA_TEXT_ANIDIRECTION (SIP_Begin + 113)
+#define SIP_SA_TEXT_ANISTARTINSIDE (SIP_Begin + 114)
+#define SIP_SA_TEXT_ANISTOPINSIDE (SIP_Begin + 115)
+#define SIP_SA_TEXT_ANICOUNT (SIP_Begin + 116)
+#define SIP_SA_TEXT_ANIDELAY (SIP_Begin + 117)
+#define SIP_SA_TEXT_ANIAMOUNT (SIP_Begin + 118)
+#define SIP_SA_TEXT_CONTOURFRAME (SIP_Begin + 119)
+#define SIP_SA_CUSTOMSHAPE_ADJUSTMENT (SIP_Begin + 120)
+#define SIP_SA_XMLATTRIBUTES (SIP_Begin + 121)
+#define SIP_SA_TEXT_USEFIXEDCELLHEIGHT (SIP_Begin + 122)
+#define SIP_SA_WORDWRAP (SIP_Begin + 123)
+#define SIP_SA_AUTOGROWSIZE (SIP_Begin + 124)
+#define SIP_SA_RESERVE18 (SIP_Begin + 125)
+#define SIP_SA_RESERVE19 (SIP_Begin + 126)
+#define SIP_SA_EDGEKIND (SIP_Begin + 128)
+#define SIP_SA_EDGENODE1HORZDIST (SIP_Begin + 129)
+#define SIP_SA_EDGENODE1VERTDIST (SIP_Begin + 130)
+#define SIP_SA_EDGENODE2HORZDIST (SIP_Begin + 131)
+#define SIP_SA_EDGENODE2VERTDIST (SIP_Begin + 132)
+#define SIP_SA_EDGENODE1GLUEDIST (SIP_Begin + 133)
+#define SIP_SA_EDGENODE2GLUEDIST (SIP_Begin + 134)
+#define SIP_SA_EDGELINEDELTAANZ (SIP_Begin + 135)
+#define SIP_SA_EDGELINE1DELTA (SIP_Begin + 136)
+#define SIP_SA_EDGELINE2DELTA (SIP_Begin + 137)
+#define SIP_SA_EDGELINE3DELTA (SIP_Begin + 138)
+#define SIP_SA_MEASUREKIND (SIP_Begin + 148)
+#define SIP_SA_MEASURETEXTHPOS (SIP_Begin + 149)
+#define SIP_SA_MEASURETEXTVPOS (SIP_Begin + 150)
+#define SIP_SA_MEASURELINEDIST (SIP_Begin + 151)
+#define SIP_SA_MEASUREHELPLINEOVERHANG (SIP_Begin + 152)
+#define SIP_SA_MEASUREHELPLINEDIST (SIP_Begin + 153)
+#define SIP_SA_MEASUREHELPLINE1LEN (SIP_Begin + 154)
+#define SIP_SA_MEASUREHELPLINE2LEN (SIP_Begin + 155)
+#define SIP_SA_MEASUREBELOWREFEDGE (SIP_Begin + 156)
+#define SIP_SA_MEASURETEXTROTA90 (SIP_Begin + 157)
+#define SIP_SA_MEASURETEXTUPSIDEDOWN (SIP_Begin + 158)
+#define SIP_SA_MEASUREOVERHANG (SIP_Begin + 159)
+#define SIP_SA_MEASUREUNIT (SIP_Begin + 160)
+#define SIP_SA_MEASURESCALE (SIP_Begin + 161)
+#define SIP_SA_MEASURESHOWUNIT (SIP_Begin + 162)
+#define SIP_SA_MEASUREFORMATSTRING (SIP_Begin + 163)
+#define SIP_SA_MEASURETEXTAUTOANGLE (SIP_Begin + 164)
+#define SIP_SA_MEASURETEXTAUTOANGLEVIEW (SIP_Begin + 165)
+#define SIP_SA_MEASURETEXTISFIXEDANGLE (SIP_Begin + 166)
+#define SIP_SA_MEASURETEXTFIXEDANGLE (SIP_Begin + 167)
+#define SIP_SA_MEASUREDECIMALPLACES (SIP_Begin + 168)
+#define SIP_SA_MEASURERESERVE05 (SIP_Begin + 169)
+#define SIP_SA_MEASURERESERVE06 (SIP_Begin + 170)
+#define SIP_SA_MEASURERESERVE07 (SIP_Begin + 171)
+#define SIP_SA_CIRCKIND (SIP_Begin + 173)
+#define SIP_SA_CIRCSTARTANGLE (SIP_Begin + 174)
+#define SIP_SA_CIRCENDANGLE (SIP_Begin + 175)
+#define SIP_SA_CIRCRESERVE0 (SIP_Begin + 176)
+#define SIP_SA_CIRCRESERVE1 (SIP_Begin + 177)
+#define SIP_SA_CIRCRESERVE2 (SIP_Begin + 178)
+#define SIP_SA_CIRCRESERVE3 (SIP_Begin + 179)
+#define SIP_SA_OBJVISIBLE (SIP_Begin + 180)
+#define SIP_SA_OBJMOVEPROTECT (SIP_Begin + 181)
+#define SIP_SA_OBJSIZEPROTECT (SIP_Begin + 182)
+#define SIP_SA_OBJPRINTABLE (SIP_Begin + 183)
+#define SIP_SA_LAYERID (SIP_Begin + 184)
+#define SIP_SA_LAYERNAME (SIP_Begin + 185)
+#define SIP_SA_OBJECTNAME (SIP_Begin + 186)
+#define SIP_SA_ALLPOSITIONX (SIP_Begin + 187)
+#define SIP_SA_ALLPOSITIONY (SIP_Begin + 188)
+#define SIP_SA_ALLSIZEWIDTH (SIP_Begin + 189)
+#define SIP_SA_ALLSIZEHEIGHT (SIP_Begin + 190)
+#define SIP_SA_ONEPOSITIONX (SIP_Begin + 191)
+#define SIP_SA_ONEPOSITIONY (SIP_Begin + 192)
+#define SIP_SA_ONESIZEWIDTH (SIP_Begin + 193)
+#define SIP_SA_ONESIZEHEIGHT (SIP_Begin + 194)
+#define SIP_SA_LOGICSIZEWIDTH (SIP_Begin + 195)
+#define SIP_SA_LOGICSIZEHEIGHT (SIP_Begin + 196)
+#define SIP_SA_ROTATEANGLE (SIP_Begin + 197)
+#define SIP_SA_SHEARANGLE (SIP_Begin + 198)
+#define SIP_SA_MOVEX (SIP_Begin + 199)
+#define SIP_SA_MOVEY (SIP_Begin + 200)
+#define SIP_SA_RESIZEXONE (SIP_Begin + 201)
+#define SIP_SA_RESIZEYONE (SIP_Begin + 202)
+#define SIP_SA_ROTATEONE (SIP_Begin + 203)
+#define SIP_SA_HORZSHEARONE (SIP_Begin + 204)
+#define SIP_SA_VERTSHEARONE (SIP_Begin + 205)
+#define SIP_SA_RESIZEXALL (SIP_Begin + 206)
+#define SIP_SA_RESIZEYALL (SIP_Begin + 207)
+#define SIP_SA_ROTATEALL (SIP_Begin + 208)
+#define SIP_SA_HORZSHEARALL (SIP_Begin + 209)
+#define SIP_SA_VERTSHEARALL (SIP_Begin + 210)
+#define SIP_SA_TRANSFORMREF1X (SIP_Begin + 211)
+#define SIP_SA_TRANSFORMREF1Y (SIP_Begin + 212)
+#define SIP_SA_TRANSFORMREF2X (SIP_Begin + 213)
+#define SIP_SA_TRANSFORMREF2Y (SIP_Begin + 214)
+#define SIP_EE_PARA_HYPHENATE (SIP_Begin + 215)
+#define SIP_EE_PARA_BULLETSTATE (SIP_Begin + 216)
+#define SIP_EE_PARA_OUTLLRSPACE (SIP_Begin + 217)
+#define SIP_EE_PARA_OUTLLEVEL (SIP_Begin + 218)
+#define SIP_EE_PARA_BULLET (SIP_Begin + 219)
+#define SIP_EE_PARA_LRSPACE (SIP_Begin + 220)
+#define SIP_EE_PARA_ULSPACE (SIP_Begin + 221)
+#define SIP_EE_PARA_SBL (SIP_Begin + 222)
+#define SIP_EE_PARA_JUST (SIP_Begin + 223)
+#define SIP_EE_PARA_TABS (SIP_Begin + 224)
+#define SIP_EE_CHAR_COLOR (SIP_Begin + 225)
+#define SIP_EE_CHAR_FONTINFO (SIP_Begin + 226)
+#define SIP_EE_CHAR_FONTHEIGHT (SIP_Begin + 227)
+#define SIP_EE_CHAR_FONTWIDTH (SIP_Begin + 228)
+#define SIP_EE_CHAR_WEIGHT (SIP_Begin + 229)
+#define SIP_EE_CHAR_UNDERLINE (SIP_Begin + 230)
+#define SIP_EE_CHAR_OVERLINE (SIP_Begin + 231)
+#define SIP_EE_CHAR_STRIKEOUT (SIP_Begin + 232)
+#define SIP_EE_CHAR_ITALIC (SIP_Begin + 233)
+#define SIP_EE_CHAR_OUTLINE (SIP_Begin + 234)
+#define SIP_EE_CHAR_SHADOW (SIP_Begin + 235)
+#define SIP_EE_CHAR_ESCAPEMENT (SIP_Begin + 236)
+#define SIP_EE_CHAR_PAIRKERNING (SIP_Begin + 237)
+#define SIP_EE_CHAR_KERNING (SIP_Begin + 238)
+#define SIP_EE_CHAR_WLM (SIP_Begin + 239)
+#define SIP_EE_FEATURE_TAB (SIP_Begin + 240)
+#define SIP_EE_FEATURE_LINEBR (SIP_Begin + 241)
+#define SIP_EE_FEATURE_NOTCONV (SIP_Begin + 242)
+#define SIP_EE_FEATURE_FIELD (SIP_Begin + 243)
+
+#define SIP_SA_GRAFRED (SIP_Begin + 244)
+#define SIP_SA_GRAFGREEN (SIP_Begin + 245)
+#define SIP_SA_GRAFBLUE (SIP_Begin + 246)
+#define SIP_SA_GRAFLUMINANCE (SIP_Begin + 247)
+#define SIP_SA_GRAFCONTRAST (SIP_Begin + 248)
+#define SIP_SA_GRAFGAMMA (SIP_Begin + 249)
+#define SIP_SA_GRAFTRANSPARENCE (SIP_Begin + 250)
+#define SIP_SA_GRAFINVERT (SIP_Begin + 251)
+#define SIP_SA_GRAFMODE (SIP_Begin + 252)
+#define SIP_SA_GRAFCROP (SIP_Begin + 253)
+#define SIP_SA_GRAFRESERVE3 (SIP_Begin + 254)
+#define SIP_SA_GRAFRESERVE4 (SIP_Begin + 255)
+#define SIP_SA_GRAFRESERVE5 (SIP_Begin + 256)
+#define SIP_SA_GRAFRESERVE6 (SIP_Begin + 257)
+
+#define SIP_SA_MARKERS (SIP_Begin + 258)
+#define SIP_SA_PAGESHADOW35X35 (SIP_Begin + 259)
+#define SIP_SA_FINE_MARKERS (SIP_Begin + 260)
+
+#define BMP_SVXOLEOBJ (SIP_Begin + 261)
+
+#define STR_TABLE_ATTR (SIP_Begin + 263)
+#define STR_TABLE_AUTOFMT (SIP_Begin + 264)
+#define STR_TABLE_INSCOL (SIP_Begin + 265)
+#define STR_TABLE_INSROW (SIP_Begin + 266)
+#define STR_UNDO_COL_DELETE (SIP_Begin + 267)
+#define STR_UNDO_ROW_DELETE (SIP_Begin + 268)
+#define STR_TABLE_SPLIT (SIP_Begin + 269)
+#define STR_TABLE_MERGE (SIP_Begin + 270)
+#define STR_TABLE_NUMFORMAT (SIP_Begin + 271)
+#define STR_TABLE_DISTRIBUTE_ROWS (SIP_Begin + 272)
+#define STR_TABLE_DISTRIBUTE_COLUMNS (SIP_Begin + 273)
+#define STR_TABLE_STYLE (SIP_Begin + 274)
+#define STR_TABLE_STYLE_SETTINGS (SIP_Begin + 275)
+#define SIP_SA_CROP_MARKERS (SIP_Begin + 276)
+#define SIP_SA_CROP_FINE_MARKERS (SIP_Begin + 277)
+
+#define SIP_End (SIP_SA_CROP_FINE_MARKERS)
+
+#define SDR_ResourceEnd (SIP_End)
diff --git a/svx/inc/svx/svdviter.hxx b/svx/inc/svx/svdviter.hxx
new file mode 100644
index 0000000000..922d0221ac
--- /dev/null
+++ b/svx/inc/svx/svdviter.hxx
@@ -0,0 +1,124 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVDVITER_HXX
+#define _SVDVITER_HXX
+
+#include <tools/solar.h>
+#include <sal/types.h>
+#include "svx/svxdllapi.h"
+
+/*
+
+Using this class, you can find out:
+- SdrView* First/NextView()
+ - All Views in which a model is displayed
+ - All Views in which a certain page is visible (also as MasterPage)
+ - All Views in which a certain object is visible (also as MasterPage)
+- SdrPageView* First/NextPageView()
+ - All PageViews in which a model is displayed
+ - All PageViews in which a certain page is visible (also as MasterPage)
+ - All PageViews in which a certain object is visible (also as MasterPage)
+- OutputDevice* First/NextOutDev()
+ - All OutputDevices in which a model is displayed
+ - All OutputDevices in which a certain page is visible (also as MasterPage)
+ - All OutputDevices in which a certain object is visible (also as MasterPage)
+- Window* First/NextWindow()
+ - All Windows in which a model is displayed
+ - All Windows in which a certain page is visible (also as MasterPage)
+ - All Windows in which a certain object is visible (also as MasterPage)
+You can specify if the selection is restricted to a certain page/object by
+choosing the corresponding constructor.
+
+Among others, the following are considered:
+- Visibility state of the layer
+- Visible Layer of MasterPages
+- Multiple layer for group objects
+
+Not considered are:
+- Whether the pages/objects were already painted or if an Invalidate is still pending
+- Whether the pages/objects in a Window are in a visible region
+
+*/
+
+////////////////////////////////////////////////////////////////////////////////////////////////////
+
+class OutputDevice;
+class Window;
+class SdrView;
+class SdrPageView;
+class SdrModel;
+class SdrPage;
+class SdrObject;
+class SetOfByte;
+
+////////////////////////////////////////////////////////////////////////////////////////////////////
+
+class SVX_DLLPUBLIC SdrViewIter
+{
+ const SdrModel* mpModel;
+ const SdrPage* mpPage;
+ const SdrObject* mpObject;
+ SdrView* mpAktView;
+
+ sal_uInt32 mnListenerNum;
+ sal_uInt32 mnPageViewNum;
+ sal_uInt32 mnOutDevNum;
+
+ // bitfield
+ unsigned mbNoMasterPage : 1;
+
+private:
+ SVX_DLLPRIVATE void ImpInitVars();
+ SVX_DLLPRIVATE SdrView* ImpFindView();
+ SVX_DLLPRIVATE SdrPageView* ImpFindPageView();
+ SVX_DLLPRIVATE OutputDevice* ImpFindOutDev();
+ SVX_DLLPRIVATE Window* ImpFindWindow();
+ SVX_DLLPRIVATE sal_Bool ImpCheckPageView(SdrPageView* pPV) const;
+
+public:
+ SdrViewIter(const SdrModel* pModel);
+ SdrViewIter(const SdrPage* pPage, sal_Bool bNoMasterPage = sal_False);
+ SdrViewIter(const SdrObject* pObject, sal_Bool bNoMasterPage = sal_False);
+
+ SdrView* FirstView();
+ SdrView* NextView();
+
+ SdrPageView* FirstPageView();
+ SdrPageView* NextPageView();
+
+ OutputDevice* FirstOutDev();
+ OutputDevice* NextOutDev();
+
+ Window* FirstWindow();
+ Window* NextWindow();
+};
+
+#endif //_SVDVITER_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/svimbase.hxx b/svx/inc/svx/svimbase.hxx
new file mode 100644
index 0000000000..3515a9dbbb
--- /dev/null
+++ b/svx/inc/svx/svimbase.hxx
@@ -0,0 +1,208 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVIMBASE_HXX
+#define _SVIMBASE_HXX
+
+#include <vcl/bitmap.hxx>
+#include <vcl/salbtype.hxx>
+
+
+// -----------
+// - Defines -
+// -----------
+
+#define _SVHUGE
+
+// ----------------
+// - SimDepthType -
+// ----------------
+
+enum SimDepthType
+{
+ SIM_DEPTH_1,
+ SIM_DEPTH_4,
+ SIM_DEPTH_8,
+ SIM_DEPTH_24
+};
+
+// ------------
+// - SimColor -
+// ------------
+
+struct SimColor
+{
+ BYTE cBlue;
+ BYTE cGreen;
+ BYTE cRed;
+};
+
+// ------------------------------------------------------------------------
+
+inline BOOL operator==( const SimColor& rCol1, const SimColor& rCol2 )
+{
+ return ( ( rCol1.cRed == rCol2.cRed ) &&
+ ( rCol1.cGreen == rCol2.cGreen ) &&
+ ( rCol1.cBlue == rCol2.cBlue ) );
+}
+
+// --------------
+// - SimPalette -
+// --------------
+
+struct SimPalette
+{
+ ULONG nColors;
+ SimColor aColorArray[ 256 ];
+};
+
+// ---------------
+// - SvImageBase -
+// ---------------
+
+class SfxViewFrame;
+class SfxProgress;
+
+class SvImageBase
+{
+private:
+
+ Bitmap aOutBitmap;
+ HPBYTE pArray1;
+ HPBYTE pArray2;
+ HPBYTE pArray3;
+ HPBYTE pArray4;
+ HPBYTE pOrgArray;
+ HPBYTE pDestArray;
+ SimPalette* pPal1;
+ SimPalette* pPal2;
+ SimPalette* pPal3;
+ SimPalette* pPal4;
+ ULONG nWidth1;
+ ULONG nWidth2;
+ ULONG nWidth3;
+ ULONG nWidth4;
+ ULONG nHeight1;
+ ULONG nHeight2;
+ ULONG nHeight3;
+ ULONG nHeight4;
+ ULONG nAlignedWidth1;
+ ULONG nAlignedWidth2;
+ ULONG nAlignedWidth3;
+ ULONG nAlignedWidth4;
+ ULONG nWhichOrg;
+ SimDepthType eOrgDepth;
+ SimDepthType eUndoDepth;
+ SimDepthType eRedoDepth;
+ BOOL bIsUndo;
+ BOOL bIsRedo;
+ BOOL bCreateUndo;
+ BOOL bValid;
+ BOOL bDitherAll;
+
+ HPBYTE BitmapToArray24( const Bitmap& rBitmap, ULONG* pWidth,
+ ULONG* pHeight, ULONG* pAlignedWidth,
+ SfxViewFrame *pFrame = NULL );
+ BOOL Array24ToBitmap( HPBYTE pArray, Bitmap &rBitmap,
+ const ULONG nWidth, const ULONG nHeight,
+ const ULONG nColorCount = 256,
+ ULONG nLast = 0, SfxProgress* pProgress = NULL );
+
+ Bitmap CreateSaveBitmap( const SimDepthType eDepth, SfxViewFrame *pFrame = NULL );
+
+ HPBYTE CreateArray24( ULONG nWidth, ULONG nHeight );
+ void DeleteArray( HPBYTE pArray );
+
+ SvImageBase(const SvImageBase& rSvImageBase);
+ const SvImageBase& operator=(const SvImageBase& rSvImageBase);
+
+public:
+
+ SvImageBase();
+ SvImageBase( const Bitmap& rBitmap,
+ const ULONG nColorCount = 256,
+ ULONG nLast = 0, SfxProgress* pProgress = NULL );
+ ~SvImageBase();
+
+ BOOL IsValid() { return bValid; }
+
+ ULONG GetOrgWidth() const { return nWhichOrg == 1 ? nWidth1 : nWidth2; }
+ ULONG GetDestWidth() const { return nWhichOrg == 1 ? nWidth2 : nWidth1; }
+
+ ULONG GetOrgHeight() const { return nWhichOrg == 1 ? nHeight1 : nHeight2; }
+ ULONG GetDestHeight() const { return nWhichOrg == 1 ? nHeight2 : nHeight1; }
+
+ ULONG GetOrgAlignedWidth() const { return nWhichOrg == 1 ? nAlignedWidth1 : nAlignedWidth2; }
+ ULONG GetDestAlignedWidth() const { return nWhichOrg == 1 ? nAlignedWidth2 : nAlignedWidth1; }
+
+ ULONG GetOrgAlignedSize() const { return GetOrgAlignedWidth() * GetOrgHeight(); }
+ ULONG GetDestAlignedSize() const { return GetDestAlignedWidth() * GetDestHeight(); }
+
+ // Get and set the color depth of the origin picture
+ SimDepthType GetDepth() const { return eOrgDepth; }
+ void SetDepth( const SimDepthType eDepth ) { eOrgDepth = eDepth; }
+
+ // Get and set the color depth after Undo and Redo
+ SimDepthType GetUndoDepth() const { return eUndoDepth; }
+ void SetUndoDepth(const SimDepthType eDepth) { eUndoDepth = eDepth; }
+
+ SimDepthType GetRedoDepth() const { return eRedoDepth; }
+ void SetRedoDepth(const SimDepthType eDepth) { eRedoDepth = eDepth; }
+
+ BOOL BeginProcessing( BOOL bUndo = TRUE );
+ void EndProcessing();
+
+ BOOL BeginProcessingExt(ULONG nWidth, ULONG nHeight, BOOL bUndo = TRUE);
+ void EndProcessingExt() { EndProcessing(); }
+
+ HPBYTE GetOrgPointer() { return pOrgArray; }
+ HPBYTE GetDestPointer() { return pDestArray; }
+
+ BOOL CreateOutBitmap( const ULONG nColorCount = 256, ULONG nLast = 0,
+ SfxProgress* pProgress = NULL );
+
+ BOOL DoUndo( SfxProgress* pProgress = NULL );
+ BOOL DoRedo( SfxProgress* pProgress = NULL );
+
+ const Bitmap& GetOutBitmap() const;
+
+ Bitmap GetSaveBitmap();
+
+ SimPalette* GetOrgPalette() const { return nWhichOrg == 1 ? pPal1 : pPal2; }
+ SimPalette* GetDestPalette() const { return nWhichOrg == 1 ? pPal2 : pPal1; }
+};
+
+// ----------------
+// - DitherBitmap -
+// ----------------
+
+BOOL DitherBitmap( Bitmap& rBitmap, BOOL bDitherAlways = FALSE );
+
+#endif // _SVIMBASE_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/svx3ditems.hxx b/svx/inc/svx/svx3ditems.hxx
index e02b98fab6..c29fcfda17 100644
--- a/svx/inc/svx/svx3ditems.hxx
+++ b/svx/inc/svx/svx3ditems.hxx
@@ -30,8 +30,6 @@
#include <svl/intitem.hxx>
#include <svl/eitem.hxx>
-
-
#include <editeng/colritem.hxx>
#include <svx/e3ditem.hxx>
#include <svx/viewpt3d.hxx>
diff --git a/svx/inc/svx/svxcommands.h b/svx/inc/svx/svxcommands.h
new file mode 100644
index 0000000000..01ff0bcd95
--- /dev/null
+++ b/svx/inc/svx/svxcommands.h
@@ -0,0 +1,604 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef SVX_SVXCOMMANDS_HRC
+#define SVX_SVXCOMMANDS_HRC
+
+#define CMD_SID_INET_DLG ".uno:InternetDialog"
+#define CMD_SID_FM_RECORD_ABSOLUTE ".uno:AbsoluteRecord"
+#define CMD_SID_FM_ADD_FIELD ".uno:AddField"
+#define CMD_SID_FM_ADDTABLE ".uno:AddTable"
+#define CMD_SID_OBJECT_ALIGN_CENTER ".uno:AlignCenter"
+#define CMD_SID_OBJECT_ALIGN_DOWN ".uno:AlignDown"
+#define CMD_SID_OBJECT_ALIGN_LEFT ".uno:ObjectAlignLeft"
+#define CMD_SID_ATTR_PARA_ADJUST ".uno:Alignment"
+#define CMD_SID_OBJECT_ALIGN_MIDDLE ".uno:AlignMiddle"
+#define CMD_SID_OBJECT_ALIGN_RIGHT ".uno:ObjectAlignRight"
+#define CMD_SID_OBJECT_ALIGN_UP ".uno:AlignUp"
+#define CMD_SID_DRAW_ARC ".uno:Arc"
+#define CMD_SID_3D_ASSIGN ".uno:Assign3D"
+#define CMD_SID_FM_AUTOCONTROLFOCUS ".uno:AutoControlFocus"
+#define CMD_SID_FM_AUTOFILTER ".uno:AutoFilter"
+#define CMD_SID_AUTOFORMAT ".uno:AutoFormat"
+#define CMD_SID_TABLE_STYLE ".uno:TableStyle"
+#define CMD_SID_TABLE_STYLE_SETTINGS ".uno:TableStyleSettings"
+#define CMD_SID_TABLEDESIGN ".uno:TableDesign"
+#define CMD_SID_BACKGROUND_COLOR ".uno:BackgroundColor"
+#define CMD_SID_ATTR_BRUSH ".uno:BackgroundPattern"
+#define CMD_SID_BACKGROUND_PATTERN ".uno:BackgroundPatternController"
+#define CMD_SID_DRAW_BEZIER_NOFILL ".uno:Bezier_Unfilled"
+#define CMD_SID_BEZIER_APPEND ".uno:BezierAppend"
+#define CMD_SID_BEZIER_CLOSE ".uno:BezierClose"
+#define CMD_SID_BEZIER_CONVERT ".uno:BezierConvert"
+#define CMD_SID_BEZIER_CUTLINE ".uno:BezierCutLine"
+#define CMD_SID_BEZIER_DELETE ".uno:BezierDelete"
+#define CMD_SID_BEZIER_EDGE ".uno:BezierEdge"
+#define CMD_SID_BEZIER_ELIMINATE_POINTS ".uno:BezierEliminatePoints"
+#define CMD_SID_DRAW_BEZIER_FILL ".uno:BezierFill"
+#define CMD_SID_BEZIER_INSERT ".uno:BezierInsert"
+#define CMD_SID_BEZIER_MOVE ".uno:BezierMove"
+#define CMD_SID_BEZIER_SMOOTH ".uno:BezierSmooth"
+#define CMD_SID_BEZIER_SYMMTR ".uno:BezierSymmetric"
+#define CMD_SID_BEZIERTO ".uno:BezierTo"
+#define CMD_SID_BMPMASK ".uno:BmpMask"
+#define CMD_SID_BMPMASK_EXEC ".uno:BmpMaskExec"
+#define CMD_SID_BMPMASK_PIPETTE ".uno:BmpMaskPipette"
+#define CMD_SID_ATTR_CHAR_WEIGHT ".uno:Bold"
+#define CMD_SID_ATTR_CHAR_LATIN_WEIGHT ".uno:BoldLatin"
+#define CMD_SID_ATTR_CHAR_CJK_WEIGHT ".uno:BoldCJK"
+#define CMD_SID_ATTR_CHAR_CTL_WEIGHT ".uno:BoldCTL"
+#define CMD_SID_BORDER_OBJECT ".uno:Border"
+#define CMD_SID_ATTR_BORDER_INNER ".uno:BorderInner"
+#define CMD_SID_ATTR_BORDER_OUTER ".uno:BorderOuter"
+#define CMD_SID_ATTR_BORDER ".uno:SetBorderStyle"
+#define CMD_SID_FRAME_TO_TOP ".uno:BringToFront"
+#define CMD_SID_DRAW_CAPTION ".uno:DrawCaption"
+#define CMD_SID_ATTR_CHAR_CASEMAP ".uno:CaseMap"
+#define CMD_SID_ATTR_PARA_ADJUST_CENTER ".uno:CenterPara"
+#define CMD_SID_TRANSLITERATE_FULLWIDTH ".uno:ChangeCaseToFullWidth"
+#define CMD_SID_TRANSLITERATE_HALFWIDTH ".uno:ChangeCaseToHalfWidth"
+#define CMD_SID_TRANSLITERATE_HIRAGANA ".uno:ChangeCaseToHiragana"
+#define CMD_SID_TRANSLITERATE_KATAGANA ".uno:ChangeCaseToKatakana"
+#define CMD_SID_TRANSLITERATE_LOWER ".uno:ChangeCaseToLower"
+#define CMD_SID_TRANSLITERATE_UPPER ".uno:ChangeCaseToUpper"
+#define CMD_SID_FM_CHANGECONTROLTYPE ".uno:ChangeControlType"
+#define CMD_SID_ATTR_CHAR_FONT ".uno:CharFontName"
+#define CMD_SID_ATTR_CHAR_LATIN_FONT ".uno:CharFontNameLatin"
+#define CMD_SID_ATTR_CHAR_CJK_FONT ".uno:CharFontNameCJK"
+#define CMD_SID_ATTR_CHAR_CTL_FONT ".uno:CharFontNameCTL"
+#define CMD_SID_INSERT_CHECKBOX ".uno:Checkbox"
+#define CMD_SID_FM_CHECKBOX ".uno:CheckBox"
+#define CMD_SID_CHOOSE_CONTROLS ".uno:ChooseControls"
+#define CMD_SID_CHOOSE_POLYGON ".uno:ChoosePolygon"
+#define CMD_SID_DRAW_CIRCLE ".uno:Circle"
+#define CMD_SID_DRAW_CIRCLE_NOFILL ".uno:Circle_Unfilled"
+#define CMD_SID_DRAW_CIRCLEARC ".uno:CircleArc"
+#define CMD_SID_DRAW_CIRCLECUT ".uno:CircleCut"
+#define CMD_SID_DRAW_CIRCLECUT_NOFILL ".uno:CircleCut_Unfilled"
+#define CMD_SID_DRAW_CIRCLEPIE ".uno:CirclePie"
+#define CMD_SID_DRAW_CIRCLEPIE_NOFILL ".uno:CirclePie_Unfilled"
+#define CMD_SID_OUTLINE_DELETEALL ".uno:ClearOutline"
+#define CMD_SID_ATTR_CHAR_COLOR ".uno:Color"
+#define CMD_SID_COLOR_CONTROL ".uno:ColorControl"
+#define CMD_SID_FM_COMBOBOX ".uno:ComboBox"
+#define CMD_SID_FM_NAVIGATIONBAR ".uno:NavigationBar"
+#define CMD_SID_INSERT_COMBOBOX ".uno:Combobox"
+#define CMD_SID_FM_CONFIG ".uno:Config"
+#define CMD_SID_FM_MORE_CONTROLS ".uno:MoreControls"
+#define CMD_SID_FM_FORM_DESIGN_TOOLS ".uno:FormDesignTools"
+#define CMD_SID_CONTOUR_DLG ".uno:ContourDialog"
+#define CMD_SID_CONTOUR_EXEC ".uno:ContourExecute"
+#define CMD_SID_FM_CTL_PROPERTIES ".uno:ControlProperties"
+#define CMD_SID_FM_CONVERTTO_BUTTON ".uno:ConvertToButton"
+#define CMD_SID_FM_CONVERTTO_CHECKBOX ".uno:ConvertToCheckBox"
+#define CMD_SID_FM_CONVERTTO_COMBOBOX ".uno:ConvertToCombo"
+#define CMD_SID_FM_CONVERTTO_CURRENCY ".uno:ConvertToCurrency"
+#define CMD_SID_FM_CONVERTTO_DATE ".uno:ConvertToDate"
+#define CMD_SID_FM_CONVERTTO_EDIT ".uno:ConvertToEdit"
+#define CMD_SID_FM_CONVERTTO_FILECONTROL ".uno:ConvertToFileControl"
+#define CMD_SID_FM_CONVERTTO_FIXEDTEXT ".uno:ConvertToFixed"
+#define CMD_SID_FM_CONVERTTO_FORMATTED ".uno:ConvertToFormatted"
+#define CMD_SID_FM_CONVERTTO_SCROLLBAR ".uno:ConvertToScrollBar"
+#define CMD_SID_FM_CONVERTTO_SPINBUTTON ".uno:ConvertToSpinButton"
+#define CMD_SID_FM_CONVERTTO_GROUPBOX ".uno:ConvertToGroup"
+#define CMD_SID_FM_CONVERTTO_IMAGEBUTTON ".uno:ConvertToImageBtn"
+#define CMD_SID_FM_CONVERTTO_IMAGECONTROL ".uno:ConvertToImageControl"
+#define CMD_SID_FM_CONVERTTO_LISTBOX ".uno:ConvertToList"
+#define CMD_SID_FM_CONVERTTO_NUMERIC ".uno:ConvertToNumeric"
+#define CMD_SID_FM_CONVERTTO_PATTERN ".uno:ConvertToPattern"
+#define CMD_SID_FM_CONVERTTO_RADIOBUTTON ".uno:ConvertToRadio"
+#define CMD_SID_FM_CONVERTTO_TIME ".uno:ConvertToTime"
+#define CMD_SID_FM_CONVERTTO_NAVIGATIONBAR ".uno:ConvertToNavigationBar"
+#define CMD_SID_FM_COUNTALL ".uno:CountAll"
+#define CMD_SID_FM_CREATE_CONTROL ".uno:CreateControl"
+#define CMD_SID_INSERT_CURRENCYFIELD ".uno:InsertCurrencyField"
+#define CMD_SID_FM_CURRENCYFIELD ".uno:CurrencyField"
+#define CMD_SID_DASH ".uno:Dash"
+#define CMD_SID_INSERT_DATEFIELD ".uno:AddDateField"
+#define CMD_SID_FM_DATEFIELD ".uno:DateField"
+#define CMD_FN_NUM_BULLET_ON ".uno:DefaultBullet"
+#define CMD_SID_FM_RECORD_DELETE ".uno:DeleteRecord"
+#define CMD_SID_FM_DESIGN_MODE ".uno:SwitchControlDesignMode"
+#define CMD_SID_DISTRIBUTE_DLG ".uno:DistributeSelection"
+#define CMD_SID_DRAW_SELECT ".uno:DrawSelect"
+#define CMD_SID_INSERT_DRAW ".uno:InsertDraw"
+#define CMD_SID_DSBROWSER_EXPLORER ".uno:DSBrowserExplorer"
+#define CMD_SID_FM_EDIT ".uno:Edit"
+#define CMD_SID_INSERT_EDIT ".uno:InsertEdit"
+#define CMD_SID_DRAW_ELLIPSE ".uno:Ellipse"
+#define CMD_SID_DRAW_ELLIPSE_NOFILL ".uno:Ellipse_Unfilled"
+#define CMD_SID_DRAW_ELLIPSECUT ".uno:EllipseCut"
+#define CMD_SID_DRAW_ELLIPSECUT_NOFILL ".uno:EllipseCut_Unfilled"
+#define CMD_SID_ENTER_GROUP ".uno:EnterGroup"
+#define CMD_SID_ATTR_CHAR_ESCAPEMENT ".uno:Escapement"
+#define CMD_SID_FM_FIELDS_CONTROL ".uno:FieldController"
+#define CMD_SID_FM_FILECONTROL ".uno:FileControl"
+#define CMD_SID_INSERT_FILECONTROL ".uno:InsertFileControl"
+#define CMD_SID_INSERT_TREECONTROL ".uno:InsertTreeControl"
+#define CMD_SID_ATTR_FILL_BITMAP ".uno:FillBitmap"
+#define CMD_SID_ATTR_FILL_COLOR ".uno:FillColor"
+#define CMD_SID_ATTR_FILL_GRADIENT ".uno:FillGradient"
+#define CMD_SID_ATTR_FILL_HATCH ".uno:FillHatch"
+#define CMD_SID_ATTR_FILL_STYLE ".uno:FillStyle"
+#define CMD_SID_FM_FILTERCRIT ".uno:FilterCrit"
+#define CMD_SID_FM_RECORD_FIRST ".uno:FirstRecord"
+#define CMD_SID_ATTR_FLASH ".uno:Flash"
+#define CMD_SID_FM_FMEXPLORER_CONTROL ".uno:FmExplorerController"
+#define CMD_SID_FM_FILTER_NAVIGATOR_CONTROL ".uno:FmFilterNavigatorController"
+#define CMD_SID_CHAR_DLG ".uno:FontDialog"
+#define CMD_SID_ATTR_CHAR_FONTHEIGHT ".uno:FontHeight"
+#define CMD_SID_ATTR_CHAR_LATIN_FONTHEIGHT ".uno:FontHeighLatin"
+#define CMD_SID_ATTR_CHAR_CJK_FONTHEIGHT ".uno:FontHeightCJK"
+#define CMD_SID_ATTR_CHAR_CTL_FONTHEIGHT ".uno:FontHeightCTL"
+#define CMD_SID_FONTWORK ".uno:FontWork"
+#define CMD_SID_FORMTEXT_ADJUST ".uno:FontWorkTextAdjust"
+#define CMD_SID_FORMTEXT_STDFORM ".uno:FontWorkTextClearAttributes"
+#define CMD_SID_FORMTEXT_DISTANCE ".uno:FontWorkTextDistance"
+#define CMD_SID_FORMTEXT_MIRROR ".uno:FontWorkTextMirror"
+#define CMD_SID_FORMTEXT_OUTLINE ".uno:FontWorkTextOutline"
+#define CMD_SID_FORMTEXT_SHADOW ".uno:FontWorkTextShadow"
+#define CMD_SID_FORMTEXT_SHDWCOLOR ".uno:FontWorkTextShadowColor"
+#define CMD_SID_FORMTEXT_SHDWXVAL ".uno:FontWorkTextShadowXVal"
+#define CMD_SID_FORMTEXT_SHDWYVAL ".uno:FontWorkTextShadowYVal"
+#define CMD_SID_FORMTEXT_START ".uno:FontWorkTextStart"
+#define CMD_SID_FORMTEXT_STYLE ".uno:FontWorkTextStyle"
+#define CMD_SID_ATTRIBUTES_AREA ".uno:FormatArea"
+#define CMD_SID_FORMTEXT_HIDEFORM ".uno:FormatFontWorkClose"
+#define CMD_SID_GROUP ".uno:FormatGroup"
+#define CMD_SID_ATTRIBUTES_LINE ".uno:FormatLine"
+#define CMD_SID_FM_FORMATTEDFIELD ".uno:FormattedField"
+#define CMD_SID_FM_SCROLLBAR ".uno:ScrollBar"
+#define CMD_SID_FM_SPINBUTTON ".uno:SpinButton"
+#define CMD_SID_INSERT_FORMATTEDFIELD ".uno:InsertFormattedField"
+#define CMD_SID_UNGROUP ".uno:FormatUngroup"
+#define CMD_SID_FM_FILTER_START ".uno:FormFilter"
+#define CMD_SID_FM_FORM_FILTERED ".uno:FormFiltered"
+#define CMD_SID_FM_FILTER_EXECUTE ".uno:FormFilterExecute"
+#define CMD_SID_FM_FILTER_EXIT ".uno:FormFilterExit"
+#define CMD_SID_FM_FILTER_NAVIGATOR ".uno:FormFilterNavigator"
+#define CMD_SID_FM_PROPERTIES ".uno:FormProperties"
+#define CMD_SID_DRAW_FREELINE ".uno:Freeline"
+#define CMD_SID_DRAW_FREELINE_NOFILL ".uno:Freeline_Unfilled"
+#define CMD_SID_ATTR_AUTO_COLOR_INVALID ".uno:AutoColorInvalid"
+#define CMD_SID_GALLERY ".uno:Gallery"
+#define CMD_SID_GALLERY_ENABLE_ADDCOPY ".uno:GalleryEnableAddCopy"
+#define CMD_SID_GETREDOSTRINGS ".uno:GetRedoStrings"
+#define CMD_SID_GETUNDOSTRINGS ".uno:GetUndoStrings"
+#define CMD_SID_ATTR_GRAF_CROP ".uno:GrafAttrCrop"
+#define CMD_SID_ATTR_GRAF_BLUE ".uno:GrafBlue"
+#define CMD_SID_ATTR_GRAF_CONTRAST ".uno:GrafContrast"
+#define CMD_SID_ATTR_GRAF_GAMMA ".uno:GrafGamma"
+#define CMD_SID_ATTR_GRAF_GREEN ".uno:GrafGreen"
+#define CMD_SID_ATTR_GRAF_INVERT ".uno:GrafInvert"
+#define CMD_SID_ATTR_GRAF_LUMINANCE ".uno:GrafLuminance"
+#define CMD_SID_ATTR_GRAF_MODE ".uno:GrafMode"
+#define CMD_SID_ATTR_GRAF_RED ".uno:GrafRed"
+#define CMD_SID_ATTR_GRAF_TRANSPARENCE ".uno:GrafTransparence"
+#define CMD_SID_GRFFILTER_INVERT ".uno:GraphicFilterInvert"
+#define CMD_SID_GRFFILTER_MOSAIC ".uno:GraphicFilterMosaic"
+#define CMD_SID_GRFFILTER_POPART ".uno:GraphicFilterPopart"
+#define CMD_SID_GRFFILTER_POSTER ".uno:GraphicFilterPoster"
+#define CMD_SID_GRFFILTER_EMBOSS ".uno:GraphicFilterRelief"
+#define CMD_SID_GRFFILTER_REMOVENOISE ".uno:GraphicFilterRemoveNoise"
+#define CMD_SID_GRFFILTER_SEPIA ".uno:GraphicFilterSepia"
+#define CMD_SID_GRFFILTER_SHARPEN ".uno:GraphicFilterSharpen"
+#define CMD_SID_GRFFILTER_SMOOTH ".uno:GraphicFilterSmooth"
+#define CMD_SID_GRFFILTER_SOBEL ".uno:GraphicFilterSobel"
+#define CMD_SID_GRFFILTER_SOLARIZE ".uno:GraphicFilterSolarize"
+#define CMD_SID_GRFFILTER ".uno:GraphicFilterToolbox"
+#define CMD_SID_FM_DBGRID ".uno:Grid"
+#define CMD_SID_GRID_USE ".uno:GridUse"
+#define CMD_SID_GRID_VISIBLE ".uno:GridVisible"
+#define CMD_SID_OUTLINE_MAKE ".uno:Group"
+#define CMD_SID_FM_GROUPBOX ".uno:GroupBox"
+#define CMD_SID_INSERT_GROUPBOX ".uno:Groupbox"
+#define CMD_SID_RULER_LR_MIN_MAX ".uno:HeaderFooterBorder"
+#define CMD_SID_HELPLINES_MOVE ".uno:HelplinesMove"
+#define CMD_SID_INSERT_HFIXEDLINE ".uno:HFixedLine"
+#define CMD_SID_OUTLINE_HIDE ".uno:HideDetail"
+#define CMD_SID_INSERT_HSCROLLBAR ".uno:HScrollbar"
+#define CMD_SID_HYPERLINK_GETLINK ".uno:Hyperlink"
+#define CMD_SID_FM_IMAGEBUTTON ".uno:Imagebutton"
+#define CMD_SID_FM_IMAGECONTROL ".uno:ImageControl"
+#define CMD_SID_INSERT_IMAGECONTROL ".uno:InsertImageControl"
+#define CMD_SID_IMAP ".uno:ImageMapDialog"
+#define CMD_SID_IMAP_EXEC ".uno:ImageMapExecute"
+#define CMD_SID_3D_INIT ".uno:Init3D"
+#define CMD_SID_OBJECTRESIZE ".uno:InPlaceObjectResize"
+#define CMD_SID_ENTER_STRING ".uno:EnterString"
+#define CMD_SID_INSERT_POSTIT ".uno:InsertAnnotation"
+#define CMD_SID_SHOW_POSTIT ".uno:ShowAnnotations"
+#define CMD_SID_REPLYTO_POSTIT ".uno:ReplyToAnnotation"
+#define CMD_SID_DELETE_POSTIT ".uno:DeleteAnnotation"
+#define CMD_SID_DELETEALL_POSTIT ".uno:DeleteAllAnnotation"
+#define CMD_SID_DELETEALLBYAUTHOR_POSTIT ".uno:DeleteAllAnnotationByAuthor"
+#define CMD_SID_NEXT_POSTIT ".uno:NextAnnotation"
+#define CMD_SID_PREVIOUS_POSTIT ".uno:PreviousAnnotation"
+#define CMD_SID_INSERT_APPLET ".uno:InsertApplet"
+#define CMD_SID_GALLERY_FORMATS ".uno:InsertGalleryPic"
+#define CMD_SID_INSERT_GRAPHIC ".uno:InsertGraphic"
+#define CMD_SID_INSERT_IMAGE ".uno:InsertImage"
+#define CMD_SID_INSERT_MATH ".uno:InsertMath"
+#define CMD_SID_ATTR_INSERT ".uno:InsertMode"
+#define CMD_FN_NUM_NUMBERING_ON ".uno:DefaultNumbering"
+#define CMD_SID_INSERT_OBJECT ".uno:InsertObject"
+#define CMD_SID_INSERT_DIAGRAM ".uno:InsertObjectChart"
+#define CMD_SID_INSERT_PLUGIN ".uno:InsertPlugin"
+#define CMD_SID_INSERT_SOUND ".uno:InsertSound"
+#define CMD_SID_CHARMAP ".uno:InsertSymbol"
+#define CMD_SID_ATTR_TABLE ".uno:InsertSpreadsheet"
+#define CMD_SID_INSERT_TABLE ".uno:InsertTable"
+#define CMD_SID_INSERT_FRAME ".uno:InsertTextFrame"
+#define CMD_SID_INSERT_VIDEO ".uno:InsertVideo"
+#define CMD_SID_POLY_INTERSECT ".uno:Intersect"
+#define CMD_SID_ATTR_CHAR_POSTURE ".uno:Italic"
+#define CMD_SID_ATTR_CHAR_LATIN_POSTURE ".uno:ItalicLatin"
+#define CMD_SID_ATTR_CHAR_CJK_POSTURE ".uno:ItalicCJK"
+#define CMD_SID_ATTR_CHAR_CTL_POSTURE ".uno:ItalicCTL"
+#define CMD_SID_ATTR_PARA_ADJUST_BLOCK ".uno:JustifyPara"
+#define CMD_SID_INSERT_FIXEDTEXT ".uno:InsertFixedText"
+#define CMD_SID_FM_FIXEDTEXT ".uno:Label"
+#define CMD_SID_ATTR_CHAR_LANGUAGE ".uno:Language"
+#define CMD_SID_ATTR_CHAR_LATIN_LANGUAGE ".uno:LanguageLatin"
+#define CMD_SID_FM_RECORD_LAST ".uno:LastRecord"
+#define CMD_SID_FM_LEAVE_CREATE ".uno:LeaveFMCreateMode"
+#define CMD_SID_LEAVE_GROUP ".uno:LeaveGroup"
+#define CMD_SID_ATTR_PARA_ADJUST_LEFT ".uno:LeftPara"
+#define CMD_SID_ATTR_LRSPACE ".uno:LeftRightMargin"
+#define CMD_SID_ATTR_PARA_LRSPACE ".uno:LeftRightParaMargin"
+#define CMD_SID_ATTR_PARA_LRSPACE_VERTICAL ".uno:LeftRightParaMargin_Vertical"
+#define CMD_SID_DRAW_LINE ".uno:Line"
+#define CMD_SID_DRAW_XLINE ".uno:Line_Diagonal"
+#define CMD_SID_FRAME_LINECOLOR ".uno:FrameLineColor"
+#define CMD_SID_ATTR_LINE_DASH ".uno:LineDash"
+#define CMD_SID_ATTR_LINEEND_STYLE ".uno:LineEndStyle"
+#define CMD_SID_ATTR_PARA_LINESPACE ".uno:LineSpacing"
+#define CMD_SID_FRAME_LINESTYLE ".uno:LineStyle"
+#define CMD_SID_ATTR_LINE_WIDTH ".uno:LineWidth"
+#define CMD_SID_FM_LISTBOX ".uno:ListBox"
+#define CMD_SID_INSERT_LISTBOX ".uno:InsertListbox"
+#define CMD_SID_POLY_MERGE ".uno:Merge"
+#define CMD_SID_BASICIDE_NEWJAVAMODULE ".uno:NewJavaModule"
+#define CMD_SID_FM_RECORD_NEW ".uno:NewRecord"
+#define CMD_SID_FM_RECORD_NEXT ".uno:NextRecord"
+#define CMD_SID_FM_NUMERICFIELD ".uno:NumericField"
+#define CMD_SID_INSERT_NUMERICFIELD ".uno:InsertNumericField"
+#define CMD_SID_OBJECT_ALIGN ".uno:ObjectAlign"
+#define CMD_SID_FRAME_DOWN ".uno:ObjectBackOne"
+#define CMD_SID_FRAME_UP ".uno:ObjectForwardOne"
+#define CMD_SID_FM_OPEN_READONLY ".uno:OpenReadOnly"
+#define CMD_SID_FM_ORDERCRIT ".uno:OrderCrit"
+#define CMD_SID_ATTR_PARA_ORPHANS ".uno:Orphan"
+#define CMD_SID_OUTLINE_BULLET ".uno:OutlineBullet"
+#define CMD_SID_OUTLINE_COLLAPSE ".uno:OutlineCollapse"
+#define CMD_SID_OUTLINE_COLLAPSE_ALL ".uno:OutlineCollapseAll"
+#define CMD_SID_OUTLINE_DOWN ".uno:OutlineDown"
+#define CMD_SID_OUTLINE_EXPAND ".uno:OutlineExpand"
+#define CMD_SID_OUTLINE_EXPAND_ALL ".uno:OutlineExpandAll"
+#define CMD_SID_ATTR_CHAR_CONTOUR ".uno:OutlineFont"
+#define CMD_SID_OUTLINE_FORMAT ".uno:OutlineFormat"
+#define CMD_SID_OUTLINE_LEFT ".uno:OutlineLeft"
+#define CMD_SID_OUTLINE_RIGHT ".uno:OutlineRight"
+#define CMD_SID_OUTLINE_UP ".uno:OutlineUp"
+#define CMD_SID_ATTR_PARA_PAGEBREAK ".uno:Pagebreak"
+#define CMD_SID_ATTR_PAGE_PAPERBIN ".uno:PagePaperBin"
+#define CMD_SID_ATTR_PAGE_SIZE ".uno:AttributePageSize"
+#define CMD_SID_ATTR_PARA_MODEL ".uno:AttributeParaModel"
+#define CMD_SID_ATTR_PAGE ".uno:AttributePage"
+#define CMD_SID_ATTR_CHAR_AUTOKERN ".uno:PairKerning"
+#define CMD_SID_PARA_DLG ".uno:ParagraphDialog"
+#define CMD_SID_ATTR_PARA_KEEP ".uno:ParaKeepTogether"
+#define CMD_SID_ATTR_PARA_SPLIT ".uno:ParaSplit"
+#define CMD_SID_INSERT_PATTERNFIELD ".uno:InsertPatternField"
+#define CMD_SID_FM_PATTERNFIELD ".uno:PatternField"
+#define CMD_SID_DRAW_PIE ".uno:Pie"
+#define CMD_SID_DRAW_PIE_NOFILL ".uno:Pie_Unfilled"
+#define CMD_SID_POLY_FORMEN ".uno:PolyFormen"
+#define CMD_SID_DRAW_XPOLYGON ".uno:Polygon_Diagonal"
+#define CMD_SID_DRAW_XPOLYGON_NOFILL ".uno:Polygon_Diagonal_Unfilled"
+#define CMD_SID_DRAW_POLYGON_NOFILL ".uno:Polygon_Unfilled"
+#define CMD_SID_ATTR_POSITION ".uno:Position"
+#define CMD_SID_INSERT_PREVIEW ".uno:Preview"
+#define CMD_SID_FM_RECORD_PREV ".uno:PrevRecord"
+#define CMD_SID_INSERT_PROGRESSBAR ".uno:ProgressBar"
+#define CMD_SID_FM_PROPERTY_CONTROL ".uno:PropertyController"
+#define CMD_SID_FM_PUSHBUTTON ".uno:Pushbutton"
+#define CMD_SID_INSERT_PUSHBUTTON ".uno:InsertPushbutton"
+#define CMD_SID_INSERT_RADIOBUTTON ".uno:Radiobutton"
+#define CMD_SID_FM_RADIOBUTTON ".uno:RadioButton"
+#define CMD_SID_READONLY_MODE ".uno:ReadOnlyMode"
+#define CMD_SID_FM_RECORD_FROM_TEXT ".uno:RecFromText"
+#define CMD_SID_FM_RECORD_SAVE ".uno:RecSave"
+#define CMD_SID_FM_SEARCH ".uno:RecSearch"
+#define CMD_SID_DRAW_RECT ".uno:Rect"
+#define CMD_SID_DRAW_RECT_ROUND ".uno:Rect_Rounded"
+#define CMD_SID_DRAW_RECT_ROUND_NOFILL ".uno:Rect_Rounded_Unfilled"
+#define CMD_SID_DRAW_RECT_NOFILL ".uno:Rect_Unfilled"
+#define CMD_SID_FM_RECORD_TEXT ".uno:RecText"
+#define CMD_SID_FM_RECORD_TOTAL ".uno:RecTotal"
+#define CMD_SID_FM_RECORD_UNDO ".uno:RecUndo"
+#define CMD_SID_FM_REFRESH ".uno:Refresh"
+#define CMD_SID_FM_REFRESH_FORM_CONTROL ".uno:RefreshFormControl"
+#define CMD_SID_FM_FILTER_REMOVE ".uno:RemoveFilter"
+#define CMD_SID_FM_REMOVE_FILTER_SORT ".uno:RemoveFilterSort"
+#define CMD_FID_SEARCH_REPLACESET ".uno:ReplaceSet"
+#define CMD_SID_ATTR_PARA_ADJUST_RIGHT ".uno:RightPara"
+#define CMD_SID_RULER_BORDER_DISTANCE ".uno:RulerBorderDistance"
+#define CMD_SID_RULER_BORDERS ".uno:RulerBorders"
+#define CMD_SID_RULER_BORDERS_VERTICAL ".uno:RulerBordersVertical"
+#define CMD_SID_RULER_NULL_OFFSET ".uno:RulerNullOffset"
+#define CMD_SID_RULER_PAGE_POS ".uno:RulerPagePos"
+#define CMD_SID_RULER_PROTECT ".uno:RulerProtect"
+#define CMD_SID_FM_EXECUTE ".uno:SbaExecuteSql"
+#define CMD_SID_FM_NATIVESQL ".uno:SbaNativeSql"
+#define CMD_SID_SCAN ".uno:Scan"
+#define CMD_SID_SC_EDITOPTIONS ".uno:ScEditOptions"
+#define CMD_SID_SCH_EDITOPTIONS ".uno:SchEditOptions"
+#define CMD_SID_SD_EDITOPTIONS ".uno:SdEditOptions"
+#define CMD_SID_SD_GRAPHIC_OPTIONS ".uno:SdGraphicOptions"
+#define CMD_FID_SEARCH_OFF ".uno:SearchOff"
+#define CMD_FID_SEARCH_ON ".uno:SearchOn"
+#define CMD_FID_SEARCH_SEARCHSET ".uno:SearchSet"
+#define CMD_SID_SELECT ".uno:Select"
+#define CMD_SID_FRAME_TO_BOTTOM ".uno:SendToBack"
+#define CMD_SID_SET_DEFAULT ".uno:SetDefault"
+#define CMD_SID_HYPERLINK_SETLINK ".uno:SetHyperlink"
+#define CMD_SID_ATTR_PARA_HYPHENZONE ".uno:SetHyphenZone"
+#define CMD_SID_ATTR_LONG_LRSPACE ".uno:SetLongLeftRightMargin"
+#define CMD_SID_ATTR_LONG_ULSPACE ".uno:SetLongTopBottomMargin"
+#define CMD_SID_OBJECT_HELL ".uno:SetObjectToBackground"
+#define CMD_SID_OBJECT_HEAVEN ".uno:SetObjectToForeground"
+#define CMD_SID_ATTR_PAGE_MAXSIZE ".uno:SetPageMaxSize"
+#define CMD_SID_ATTR_BORDER_SHADOW ".uno:BorderShadow"
+#define CMD_SID_ATTR_FILL_SHADOW ".uno:FillShadow"
+#define CMD_SID_ATTR_CHAR_SHADOWED ".uno:Shadowed"
+#define CMD_SID_OUTLINE_SHOW ".uno:ShowDetail"
+#define CMD_SID_FM_SHOW_FMEXPLORER ".uno:ShowFmExplorer"
+#define CMD_SID_SHOW_ITEMBROWSER ".uno:ShowItemBrowser"
+#define CMD_SID_SHOW_PROPERTYBROWSER ".uno:ShowPropBrowser"
+#define CMD_SID_FM_SHOW_PROPERTIES ".uno:ShowProperties"
+#define CMD_SID_FM_SHOW_PROPERTY_BROWSER ".uno:ShowPropertyBrowser"
+#define CMD_SID_RULER ".uno:ShowRuler"
+#define CMD_SID_SIM_EDITOPTIONS ".uno:SimEditOptions"
+#define CMD_SID_ATTR_SIZE ".uno:Size"
+#define CMD_SID_SM_EDITOPTIONS ".uno:SmEditOptions"
+#define CMD_SID_FM_SORTDOWN ".uno:SortDown"
+#define CMD_SID_FM_SORTUP ".uno:Sortup"
+#define CMD_SID_ATTR_PARA_LINESPACE_10 ".uno:SpacePara1"
+#define CMD_SID_ATTR_PARA_LINESPACE_15 ".uno:SpacePara15"
+#define CMD_SID_ATTR_PARA_LINESPACE_20 ".uno:SpacePara2"
+#define CMD_SID_ATTR_CHAR_KERNING ".uno:Spacing"
+#define CMD_SID_AUTOSPELL_CHECK ".uno:SpellOnline"
+#define CMD_SID_INSERT_SPINBUTTON ".uno:Spinbutton"
+#define CMD_SID_DRAW_SQUARE ".uno:Square"
+#define CMD_SID_DRAW_SQUARE_ROUND ".uno:Square_Rounded"
+#define CMD_SID_DRAW_SQUARE_ROUND_NOFILL ".uno:Square_Rounded_Unfilled"
+#define CMD_SID_DRAW_SQUARE_NOFILL ".uno:Square_Unfilled"
+#define CMD_SID_3D_STATE ".uno:State3D"
+#define CMD_SID_ATTR_CHAR_STRIKEOUT ".uno:Strikeout"
+#define CMD_SID_SET_SUB_SCRIPT ".uno:SubScript"
+#define CMD_SID_POLY_SUBSTRACT ".uno:Substract"
+#define CMD_SID_SET_SUPER_SCRIPT ".uno:SuperScript"
+#define CMD_SID_SW_EDITOPTIONS ".uno:SwEditOptions"
+#define CMD_SID_FM_TAB_DIALOG ".uno:TabDialog"
+#define CMD_SID_ATTR_TABSTOP ".uno:Tabstops"
+#define CMD_SID_ATTR_TABSTOP_VERTICAL ".uno:TabstopsVertical"
+#define CMD_SID_DIALOG_TESTMODE ".uno:TestMode"
+#define CMD_SID_ATTR_CHAR ".uno:Text"
+#define CMD_SID_DRAW_TEXT ".uno:DrawText"
+#define CMD_SID_DRAW_TEXT_MARQUEE ".uno:Text_Marquee"
+#define CMD_SID_TEXTDIRECTION_LEFT_TO_RIGHT ".uno:TextdirectionLeftToRight"
+#define CMD_SID_TEXTDIRECTION_TOP_TO_BOTTOM ".uno:TextdirectionTopToBottom"
+#define CMD_SID_ATTR_TEXT_FITTOSIZE ".uno:TextFitToSize"
+#define CMD_SID_THESAURUS ".uno:ThesaurusDialog"
+#define CMD_SID_INSERT_TIMEFIELD ".uno:InsertTimeField"
+#define CMD_SID_FM_TIMEFIELD ".uno:TimeField"
+#define CMD_SID_BEZIER_EDIT ".uno:ToggleObjectBezierMode"
+#define CMD_SID_OBJECT_ROTATE ".uno:ToggleObjectRotateMode"
+#define CMD_SID_TEXTEDIT ".uno:ToolEdit"
+#define CMD_SID_OBJECT_SELECT ".uno:SelectObject"
+#define CMD_SID_ATTR_ULSPACE ".uno:TopBottomMargin"
+#define CMD_SID_ATTR_TRANSFORM ".uno:TransformDialog"
+#define CMD_SID_TWAIN_SELECT ".uno:TwainSelect"
+#define CMD_SID_TWAIN_TRANSFER ".uno:TwainTransfer"
+#define CMD_SID_ATTR_CHAR_UNDERLINE ".uno:Underline"
+#define CMD_SID_ATTR_CHAR_OVERLINE ".uno:Overline"
+#define CMD_SID_OUTLINE_REMOVE ".uno:Ungroup"
+#define CMD_SID_INSERT_URLBUTTON ".uno:URLButton"
+#define CMD_SID_FM_USE_WIZARDS ".uno:UseWizards"
+#define CMD_SID_DRAW_CAPTION_VERTICAL ".uno:VerticalCaption"
+#define CMD_SID_DRAW_TEXT_VERTICAL ".uno:VerticalText"
+#define CMD_SID_INSERT_VFIXEDLINE ".uno:VFixedLine"
+#define CMD_SID_FM_VIEW_AS_GRID ".uno:ViewFormAsGrid"
+#define CMD_SID_INSERT_VSCROLLBAR ".uno:VScrollbar"
+#define CMD_SID_ATTR_PARA_WIDOWS ".uno:Widow"
+#define CMD_SID_3D_WIN ".uno:Window3D"
+#define CMD_SID_ATTR_CHAR_WORDLINEMODE ".uno:WordMode"
+#define CMD_SID_ATTR_LINE_COLOR ".uno:XLineColor"
+#define CMD_SID_ATTR_LINE_STYLE ".uno:XLineStyle"
+#define CMD_SID_ATTR_ZOOM ".uno:Zoom"
+#define CMD_SID_SIZE_REAL ".uno:Zoom100Percent"
+#define CMD_SID_SIZE_OPTIMAL ".uno:ZoomObjects"
+#define CMD_SID_SIZE_ALL ".uno:ZoomOptimal"
+#define CMD_SID_SIZE_PAGE ".uno:ZoomPage"
+#define CMD_SID_SIZE_PAGE_WIDTH ".uno:ZoomPageWidth"
+#define CMD_SID_SIZE_VISAREA ".uno:ZoomVisArea"
+#define CMD_SID_FM_GRABCONTROLFOCUS ".uno:GrabControlFocus"
+#define CMD_SID_FM_CREATE_FIELDCONTROL ".uno:CreateFieldControl"
+#define CMD_SID_INSERT_SELECT ".uno:SelectMode"
+#define CMD_SID_PARA_VERTALIGN ".uno:VerticalParagraphAlignment"
+#define CMD_SID_ATTR_CHAR_RELIEF ".uno:CharacterRelief"
+#define CMD_SID_ATTR_BRUSH_CHAR ".uno:CharacterBackgroundPattern"
+#define CMD_SID_ATTR_CHAR_ROTATED ".uno:CharacterRotation"
+#define CMD_SID_ATTR_CHAR_SCALEWIDTH ".uno:CharacterWidthScalingFactor"
+#define CMD_SID_ATTR_NUMBERFORMAT_VALUE ".uno:NumberFormatValue"
+#define CMD_SID_ATTR_ALIGN_HOR_JUSTIFY ".uno:HorizontalJustification"
+#define CMD_SID_ATTR_ALIGN_VER_JUSTIFY ".uno:VerticalJustification"
+#define CMD_SID_ATTR_ALIGN_INDENT ".uno:AlignmentIndent"
+#define CMD_SID_ATTR_ALIGN_HYPHENATION ".uno:AlignmentHyphenation"
+#define CMD_SID_ATTR_ALIGN_DEGREES ".uno:AlignmentRotation"
+#define CMD_SID_ATTR_ALIGN_LOCKPOS ".uno:AlignmentRotationMode"
+#define CMD_SID_ATTR_ALIGN_MARGIN ".uno:AlignmentMargin"
+#define CMD_SID_ATTR_ALIGN_STACKED ".uno:AlignmentStacked"
+#define CMD_SID_ATTR_PARA_LEFT_TO_RIGHT ".uno:ParaLeftToRight"
+#define CMD_SID_ATTR_PARA_RIGHT_TO_LEFT ".uno:ParaRightToLeft"
+#define CMD_SID_RULER_TEXT_RIGHT_TO_LEFT ".uno:TextRTL"
+#define CMD_SID_OPEN_HYPERLINK ".uno:OpenHyperlinkOnCursor"
+#define CMD_SID_CTLFONT_STATE ".uno:CTLFontState"
+#define CMD_SID_VERTICALTEXT_STATE ".uno:VerticalTextState"
+#define CMD_SID_OPEN_XML_FILTERSETTINGS ".uno:OpenXMLFilterSettings"
+#define CMD_SID_HANGUL_HANJA_CONVERSION ".uno:HangulHanjaConversion"
+#define CMD_SID_CHINESE_CONVERSION ".uno:ChineseConversion"
+#define CMD_SID_SPELL_DIALOG ".uno:SpellDialog"
+#define CMD_SID_RULER_ROWS ".uno:RulerRows"
+#define CMD_SID_RULER_ROWS_VERTICAL ".uno:RulerRowsVertical"
+#define CMD_SID_ATTR_CHAR_FONTLIST ".uno:FontNameList"
+#define CMD_SID_EXTRUSION_TOOGLE ".uno:ExtrusionToggle"
+#define CMD_SID_EXTRUSION_TILT_DOWN ".uno:ExtrusionTiltDown"
+#define CMD_SID_EXTRUSION_TILT_UP ".uno:ExtrusionTiltUp"
+#define CMD_SID_EXTRUSION_TILT_LEFT ".uno:ExtrusionTiltLeft"
+#define CMD_SID_EXTRUSION_TILT_RIGHT ".uno:ExtrusionTiltRight"
+#define CMD_SID_EXTRUSION_DEPTH_FLOATER ".uno:ExtrusionDepthFloater"
+#define CMD_SID_EXTRUSION_DEPTH_DIALOG ".uno:ExtrusionDepthDialog"
+#define CMD_SID_EXTRUSION_DIRECTION_FLOATER ".uno:ExtrusionDirectionFloater"
+#define CMD_SID_EXTRUSION_LIGHTING_FLOATER ".uno:ExtrusionLightingFloater"
+#define CMD_SID_EXTRUSION_SURFACE_FLOATER ".uno:ExtrusionSurfaceFloater"
+#define CMD_SID_EXTRUSION_3D_COLOR ".uno:Extrusion3DColor"
+#define CMD_SID_EXTRUSION_DEPTH ".uno:ExtrusionDepth"
+#define CMD_SID_EXTRUSION_DIRECTION ".uno:ExtrusionDirection"
+#define CMD_SID_EXTRUSION_PROJECTION ".uno:ExtrusionProjection"
+#define CMD_SID_EXTRUSION_LIGHTING_DIRECTION ".uno:ExtrusionLightingDirection"
+#define CMD_SID_EXTRUSION_LIGHTING_INTENSITY ".uno:ExtrusionLightingIntensity"
+#define CMD_SID_EXTRUSION_SURFACE ".uno:ExtrusionSurface"
+#define CMD_SID_FONTWORK_GALLERY_FLOATER ".uno:FontworkGalleryFloater"
+#define CMD_SID_FONTWORK_SHAPE_TYPE ".uno:FontworkShapeType"
+#define CMD_SID_FONTWORK_SAME_LETTER_HEIGHTS ".uno:FontworkSameLetterHeights"
+#define CMD_SID_FONTWORK_ALIGNMENT_FLOATER ".uno:FontworkAlignmentFloater"
+#define CMD_SID_FONTWORK_CHARACTER_SPACING_FLOATER ".uno:FontworkCharacterSpacingFloater"
+#define CMD_SID_FONTWORK_SHAPE ".uno:FontworkShape"
+#define CMD_SID_FONTWORK_ALIGNMENT ".uno:FontworkAlignment"
+#define CMD_SID_FONTWORK_CHARACTER_SPACING ".uno:FontworkCharacterSpacing"
+#define CMD_SID_FONTWORK_CHARACTER_SPACING_DIALOG ".uno:FontworkCharacterSpacingDialog"
+#define CMD_SID_FONTWORK_KERN_CHARACTER_PAIRS ".uno:FontworkKernCharacterPairs"
+#define CMD_SID_GET_COLORTABLE ".uno:GetColorTable"
+#define CMD_SID_SPELLCHECKER_CHANGED ".uno:SpellCheckerChanged"
+#define CMD_SID_ATTR_YEAR2000 ".uno:Year2000"
+#define CMD_SID_INC_INDENT ".uno:IncrementIndent"
+#define CMD_SID_DEC_INDENT ".uno:DecrementIndent"
+#define CMD_SID_TABLE_CELL ".uno:StateTableCell"
+#define CMD_SID_OUTLINE_TO_IMPRESS ".uno:SendOutlineToImpress"
+#define CMD_SID_ATTR_DEFTABSTOP ".uno:DefTabStop"
+#define CMD_SID_ATTR_LANGUAGE ".uno:DocumentLanguage"
+#define CMD_SID_ATTR_CHAR_CJK_LANGUAGE ".uno:DocumentLanguageCJK"
+#define CMD_SID_ATTR_CHAR_CTL_LANGUAGE ".uno:DocumentLanguageCTL"
+#define CMD_SID_OPT_LOCALE_CHANGED ".uno:OptionsLocaleChanged"
+#define CMD_SID_SBA_BRW_INSERT ".uno:SbaBrwInsert"
+#define CMD_SID_DRAWTBX_CS_BASIC ".uno:BasicShapes"
+#define CMD_SID_DRAWTBX_CS_SYMBOL ".uno:SymbolShapes"
+#define CMD_SID_DRAWTBX_CS_ARROW ".uno:ArrowShapes"
+#define CMD_SID_DRAWTBX_CS_FLOWCHART ".uno:FlowChartShapes"
+#define CMD_SID_DRAWTBX_CS_CALLOUT ".uno:CalloutShapes"
+#define CMD_SID_DRAWTBX_CS_STAR ".uno:StarShapes"
+#define CMD_SID_DRAW_CS_ID ".uno:CustomShape"
+#define CMD_SID_DASH_LIST ".uno:DashListState"
+#define CMD_SID_LINEEND_LIST ".uno:LineEndListState"
+#define CMD_SID_COLOR_TABLE ".uno:ColorTableState"
+#define CMD_SID_GRADIENT_LIST ".uno:GradientListState"
+#define CMD_SID_HATCH_LIST ".uno:HatchListState"
+#define CMD_SID_BITMAP_LIST ".uno:BitmapListState"
+#define CMD_SID_ATTR_CHAR_EMPHASISMARK ".uno:EmphasisMark"
+#define CMD_SID_FM_SHOW_DATANAVIGATOR ".uno:ShowDataNavigator"
+#define CMD_SID_FM_DATANAVIGATOR_CONTROL ".uno:FmDataNavigatorController"
+#define CMD_SID_ALIGN_ANY_LEFT ".uno:CommonAlignLeft"
+#define CMD_SID_ALIGN_ANY_HCENTER ".uno:CommonAlignHorizontalCenter"
+#define CMD_SID_ALIGN_ANY_RIGHT ".uno:CommonAlignRight"
+#define CMD_SID_ALIGN_ANY_JUSTIFIED ".uno:CommonAlignJustified"
+#define CMD_SID_ALIGN_ANY_TOP ".uno:CommonAlignTop"
+#define CMD_SID_ALIGN_ANY_VCENTER ".uno:CommonAlignVerticalCenter"
+#define CMD_SID_ALIGN_ANY_BOTTOM ".uno:CommonAlignBottom"
+#define CMD_SID_ALIGN_ANY_HDEFAULT ".uno:CommonAlignHorizontalDefault"
+#define CMD_SID_ALIGN_ANY_VDEFAULT ".uno:CommonAlignVerticalDefault"
+#define CMD_SID_AVMEDIA_TOOLBOX ".uno:AVMediaToolBox"
+#define CMD_SID_BORDER_REDUCED_MODE ".uno:BorderReducedMode"
+#define CMD_SID_COLOR_SETTINGS ".uno:ColorSettings"
+#define CMD_SID_MAIL_EXPORT_FINISHED ".uno:MailExportFinished"
+#define CMD_SID_INSERT_ZWSP ".uno:InsertZWSP"
+#define CMD_SID_INSERT_ZWNBSP ".uno:InsertZWNBSP"
+#define CMD_SID_INSERT_LRM ".uno:InsertLRM"
+#define CMD_SID_INSERT_RLM ".uno:InsertRLM"
+#define CMD_FN_INSERT_SOFT_HYPHEN ".uno:InsertSoftHyphen"
+#define CMD_FN_INSERT_HARDHYPHEN ".uno:InsertHardHyphen"
+#define CMD_FN_INSERT_HARD_SPACE ".uno:InsertNonBreakingSpace"
+#define CMD_SID_BASICIDE_MANAGE_LANG ".uno:ManageLanguage"
+#define CMD_SID_BASICIDE_CURRENT_LANG ".uno:CurrentLanguage"
+#define CMD_SID_TABLE_MERGE_CELLS ".uno:MergeCells"
+#define CMD_SID_TABLE_SPLIT_CELLS ".uno:SplitCell"
+#define CMD_SID_OPTIMIZE_TABLE ".uno:OptimizeTable"
+#define CMD_SID_TABLE_VERT_BOTTOM ".uno:CellVertBottom"
+#define CMD_SID_TABLE_VERT_CENTER ".uno:CellVertCenter"
+#define CMD_SID_TABLE_VERT_NONE ".uno:CellVertTop"
+#define CMD_SID_TABLE_INSERT_ROW ".uno:InsertRows"
+#define CMD_SID_TABLE_INSERT_COL ".uno:InsertColumns"
+#define CMD_SID_TABLE_DELETE_ROW ".uno:DeleteRows"
+#define CMD_SID_TABLE_DELETE_COL ".uno:DeleteColumns"
+#define CMD_SID_TABLE_SELECT_ALL ".uno:SelectTable"
+#define CMD_SID_TABLE_SELECT_COL ".uno:EntireColumn"
+#define CMD_SID_TABLE_SELECT_ROW ".uno:EntireRow"
+#define CMD_SID_FORMAT_TABLE_DLG ".uno:TableDialog"
+#define CMD_SID_TABLE_AUTOSUM ".uno:AutoSum"
+#define CMD_SID_TABLE_SORT_DIALOG ".uno:TableSort"
+#define CMD_SID_OPEN_SMARTTAGMENU ".uno:OpenSmartTagMenuOnCursor"
+#define CMD_SID_ATTR_ZOOMSLIDER ".uno:ZoomSlider"
+#define CMD_SID_FONTNAMELIST ".uno:FontNameStringList"
+#define CMD_SID_LANGUAGE_STATUS ".uno:LanguageStatus"
+#define CMD_SID_CHAR_DLG_FOR_PARAGRAPH ".uno:FontDialogForParagraph"
+#define CMD_SID_GROW_FONT_SIZE ".uno:Grow"
+#define CMD_SID_SHRINK_FONT_SIZE ".uno:Shrink"
+#define CMD_SID_RECHECK_DOCUMENT ".uno:RecheckDocument"
+#define CMD_SID_TABLE_INSERT_COL_DLG ".uno:InsertColumnDialog"
+#define CMD_SID_TABLE_INSERT_ROW_DLG ".uno:InsertRowDialog"
+
+#endif
diff --git a/svx/inc/svx/svxdlg.hxx b/svx/inc/svx/svxdlg.hxx
index 2024e4e46c..ca12b3bbc6 100644
--- a/svx/inc/svx/svxdlg.hxx
+++ b/svx/inc/svx/svxdlg.hxx
@@ -198,9 +198,9 @@ class AbstractSvxNameDialog :public VclAbstractDialog //add for SvxNameDialog
public:
virtual void GetName( String& rName ) = 0;
virtual void SetCheckNameHdl( const Link& rLink, bool bCheckImmediately = false ) = 0;
- virtual void SetEditHelpId(ULONG nHelpId) = 0;
+ virtual void SetEditHelpId(const rtl::OString&) = 0;
//from class Window
- virtual void SetHelpId( ULONG nHelpId ) = 0;
+ virtual void SetHelpId( const rtl::OString& ) = 0;
virtual void SetText( const XubString& rStr ) = 0;
};
@@ -246,7 +246,7 @@ public:
//from SvxMultiPathDialog
virtual void SetClassPathMode() = 0;
//From Class Window
- virtual void SetHelpId( ULONG nHelpId ) = 0;
+ virtual void SetHelpId( const rtl::OString& ) = 0;
};
class AbstractSvxHpLinkDlg : public VclAbstractDialog //add for SvxHpLinkDlg
@@ -357,7 +357,7 @@ public:
SvxDistributeVertical eVer = SvxDistributeVerticalNone)= 0;
virtual AbstractFmShowColsDialog * CreateFmShowColsDialog( Window* pParent ) = 0;
-
+
virtual AbstractSvxZoomDialog * CreateSvxZoomDialog( Window* pParent, //add for SvxZoomDialog
const SfxItemSet& rCoreSet )=0;
@@ -503,7 +503,7 @@ public:
virtual SvxAbstractNewTableDialog* CreateSvxNewTableDialog( Window* pParent ) = 0;
- virtual SvxAbstractInsRowColDlg* CreateSvxInsRowColDlg( Window* pParent, bool bCol, ULONG nHelpId ) = 0;
+ virtual SvxAbstractInsRowColDlg* CreateSvxInsRowColDlg( Window* pParent, bool bCol, const rtl::OString& sHelpId ) = 0;
};
#endif
diff --git a/svx/inc/svx/svxerr.hxx b/svx/inc/svx/svxerr.hxx
new file mode 100644
index 0000000000..1a79685b6a
--- /dev/null
+++ b/svx/inc/svx/svxerr.hxx
@@ -0,0 +1,109 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVXERR_HXX
+#define _SVXERR_HXX
+
+// include ---------------------------------------------------------------
+
+#include <tools/errcode.hxx>
+
+// define ----------------------------------------------------------------
+
+#define ERRCODE_SVX_LINGU_THESAURUSNOTEXISTS (1UL | ERRCODE_AREA_SVX | \
+ ERRCODE_CLASS_NOTEXISTS)
+
+//#define ERRCODE_SVX_LINGU_LANGUAGENOTEXISTS (2UL | ERRCODE_AREA_SVX)
+#define ERRCODE_SVX_LINGU_LINGUNOTEXISTS (3UL | ERRCODE_AREA_SVX | \
+ ERRCODE_CLASS_NOTEXISTS )
+#define ERRCODE_SVX_LINGU_HYPHENNOTEXISTS (4UL | ERRCODE_AREA_SVX | \
+ ERRCODE_CLASS_NOTEXISTS )
+#define ERRCODE_SVX_LINGU_DICT_NOTREADABLE (5UL | ERRCODE_AREA_SVX | \
+ ERRCODE_CLASS_READ )
+#define ERRCODE_SVX_LINGU_DICT_NOTWRITEABLE (6UL | ERRCODE_AREA_SVX | \
+ ERRCODE_CLASS_WRITE )
+
+#define ERRCODE_SVX_GRAPHIC_NOTREADABLE (7UL | ERRCODE_AREA_SVX | \
+ ERRCODE_CLASS_READ )
+
+
+#define ERRCODE_SVX_LINGU_NOLANGUAGE (9UL | ERRCODE_AREA_SVX | \
+ ERRCODE_CLASS_NOTEXISTS )
+#define ERRCODE_SVX_FORMS_NOIOSERVICES (10UL | ERRCODE_AREA_SVX )
+#define ERRCODE_SVX_FORMS_READWRITEFAILED (11UL | ERRCODE_AREA_SVX )
+
+#define ERRCODE_SVX_BULLETITEM_NOBULLET (12UL | ERRCODE_AREA_SVX )
+
+#define ERRCODE_SVX_MODIFIED_VBASIC_STORAGE (13UL | ERRCODE_AREA_SVX \
+ | ERRCODE_WARNING_MASK \
+ | ERRCODE_CLASS_WRITE )
+
+#define ERRCODE_SVX_VBASIC_STORAGE_EXIST (14UL | ERRCODE_AREA_SVX \
+ | ERRCODE_WARNING_MASK \
+ | ERRCODE_CLASS_WRITE )
+
+/** Error message: "Wrong password." */
+#define ERRCODE_SVX_WRONGPASS (15UL | ERRCODE_AREA_SVX | ERRCODE_CLASS_NONE)
+
+/** Error message: "Read error. Unsupported encryption method." */
+#define ERRCODE_SVX_READ_FILTER_CRYPT (16UL | ERRCODE_AREA_SVX | ERRCODE_CLASS_READ)
+
+/** Error message: "Read error. Passwort encrypted Powerpoint documents..." */
+#define ERRCODE_SVX_READ_FILTER_PPOINT (17UL | ERRCODE_AREA_SVX | ERRCODE_CLASS_READ)
+
+/** Error message: "Warning. Passwort protection is not suppported when ..." */
+#define ERRCODE_SVX_EXPORT_FILTER_CRYPT (18UL | ERRCODE_AREA_SVX | ERRCODE_CLASS_EXPORT | ERRCODE_WARNING_MASK)
+
+
+// both codes will be used twice : with ERRCODE_CLASS_READ- and ERRCODE_CLASS_WRITE-bits
+#define ERRCTX_SVX_LINGU_THESAURUS 1
+#define ERRCTX_SVX_LINGU_SPELLING 2
+#define ERRCTX_SVX_LINGU_HYPHENATION 3
+#define ERRCTX_SVX_LINGU_DICTIONARY 4
+#define ERRCTX_SVX_BACKGROUND 5
+#define ERRCTX_SVX_IMPORT_GRAPHIC 6
+
+// class SvxErrorHandler -------------------------------------------------
+
+#ifndef __RSC
+
+#include <svtools/ehdl.hxx>
+#include "svx/svxdllapi.h"
+
+class SVX_DLLPUBLIC SvxErrorHandler : private SfxErrorHandler
+{
+ public:
+ SvxErrorHandler();
+ static void Get();
+};
+
+#endif
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/svxgrahicitem.hxx b/svx/inc/svx/svxgrahicitem.hxx
new file mode 100644
index 0000000000..03fe3a6abc
--- /dev/null
+++ b/svx/inc/svx/svxgrahicitem.hxx
@@ -0,0 +1,57 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_GRAPHICITEM_HXX
+#define _SVX_GRAPHICITEM_HXX
+
+
+#include <svl/poolitem.hxx>
+#include "svx/svxdllapi.h"
+
+#include <vcl/graph.hxx>
+
+class SVX_DLLPUBLIC SvxGraphicItem: public SfxPoolItem
+{
+ Graphic aGraphic;
+
+public:
+ TYPEINFO();
+ SvxGraphicItem();
+ SvxGraphicItem( USHORT nWhich ,const Graphic& rGraphic);
+ SvxGraphicItem( const SvxGraphicItem& );
+
+
+ virtual int operator==( const SfxPoolItem& ) const;
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+
+ Graphic GetGraphic() const { return aGraphic; }
+
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/swframeexample.hxx b/svx/inc/svx/swframeexample.hxx
new file mode 100644
index 0000000000..543a5575a3
--- /dev/null
+++ b/svx/inc/svx/swframeexample.hxx
@@ -0,0 +1,104 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVXSWFRAMEEXAMPLE_HXX
+#define _SVXSWFRAMEEXAMPLE_HXX
+
+#include <vcl/window.hxx>
+#include <tools/color.hxx>
+#include <tools/gen.hxx>
+#include "svx/svxdllapi.h"
+
+// class SwFrmPagePreview -------------------------------------------------------
+
+class SVX_DLLPUBLIC SvxSwFrameExample : public Window
+{
+ Color m_aTransColor; // transparency
+ Color m_aBgCol; // background
+ Color m_aFrameColor; // graphic frame
+ Color m_aAlignColor; // align anchor
+ Color m_aBorderCol; // frame of doc
+ Color m_aPrintAreaCol; // frame of printable area of doc
+ Color m_aTxtCol; // symbolised text
+ Color m_aBlankCol; // area of symbol for blank
+ Color m_aBlankFrameCol; // frame of symbol for blank
+
+ Rectangle aPage;
+ Rectangle aPagePrtArea;
+ Rectangle aTextLine;
+ Rectangle aPara;
+ Rectangle aParaPrtArea;
+ Rectangle aFrameAtFrame;
+ Rectangle aDrawObj;
+ Rectangle aAutoCharFrame;
+ Size aFrmSize;
+
+ short nHAlign;
+ short nHRel;
+
+ short nVAlign;
+ short nVRel;
+
+ short nWrap;
+ short nAnchor;
+ BOOL bTrans;
+
+ Point aRelPos;
+
+ void InitColors_Impl( void );
+ void InitAllRects_Impl();
+ void CalcBoundRect_Impl(Rectangle &rRect);
+ Rectangle DrawInnerFrame_Impl(const Rectangle &rRect, const Color &rFillColor, const Color &rBorderColor);
+
+ void DrawRect_Impl(const Rectangle &rRect, const Color &rFillColor, const Color &rLineColor);
+ virtual void Paint(const Rectangle&);
+protected:
+ virtual void DataChanged( const DataChangedEvent& rDCEvt );
+public:
+
+ SvxSwFrameExample(Window* pParent, const ResId& rResID);
+ ~SvxSwFrameExample();
+
+ inline void SetWrap(USHORT nW) { nWrap = nW; }
+
+ inline void SetHAlign(short nH) { nHAlign = nH; }
+ inline void SetHoriRel(short nR) { nHRel = nR; }
+
+ inline void SetVAlign(short nV) { nVAlign = nV; }
+ inline void SetVertRel(short nR) { nVRel = nR; }
+
+ inline void SetTransparent(BOOL bT) { bTrans = bT; }
+ inline void SetAnchor(short nA) { nAnchor = nA; }
+
+ void SetRelPos(const Point& rP);
+};
+
+
+#endif // _SVXSWFRAMEEXAMPLE_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/swframeposstrings.hxx b/svx/inc/svx/swframeposstrings.hxx
new file mode 100644
index 0000000000..71fe439ef8
--- /dev/null
+++ b/svx/inc/svx/swframeposstrings.hxx
@@ -0,0 +1,96 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVXSWFRAMEPOSSTRINGS_HXX
+#define _SVXSWFRAMEPOSSTRINGS_HXX
+
+#include <tools/string.hxx>
+#include "svx/svxdllapi.h"
+
+/*
+ contains strings needed for positioning dialogs
+ of frames and drawing in Writer
+ */
+class SvxSwFramePosString_Impl;
+class SVX_DLLPUBLIC SvxSwFramePosString
+{
+ SvxSwFramePosString_Impl* pImpl;
+public:
+ SvxSwFramePosString();
+ ~SvxSwFramePosString();
+ enum StringId
+ {
+ LEFT ,
+ RIGHT ,
+ FROMLEFT ,
+ MIR_LEFT ,
+ MIR_RIGHT ,
+ MIR_FROMLEFT ,
+ FRAME ,
+ PRTAREA ,
+ REL_PG_LEFT ,
+ REL_PG_RIGHT ,
+ REL_FRM_LEFT ,
+ REL_FRM_RIGHT ,
+ MIR_REL_PG_LEFT ,
+ MIR_REL_PG_RIGHT ,
+ MIR_REL_FRM_LEFT ,
+ MIR_REL_FRM_RIGHT ,
+ REL_PG_FRAME ,
+ REL_PG_PRTAREA ,
+ REL_BASE ,
+ REL_CHAR ,
+ REL_ROW ,
+ REL_BORDER ,
+ REL_PRTAREA ,
+ FLY_REL_PG_LEFT ,
+ FLY_REL_PG_RIGHT ,
+ FLY_REL_PG_FRAME ,
+ FLY_REL_PG_PRTAREA ,
+ FLY_MIR_REL_PG_LEFT ,
+ FLY_MIR_REL_PG_RIGHT ,
+ TOP,
+ BOTTOM,
+ CENTER_HORI,
+ CENTER_VERT,
+ FROMTOP,
+ FROMBOTTOM,
+ BELOW,
+ FROMRIGHT,
+ REL_PG_TOP,
+ REL_PG_BOTTOM,
+ REL_FRM_TOP,
+ REL_FRM_BOTTOM,
+ REL_LINE,
+
+ STR_MAX
+ };
+ const String& GetString(StringId eId);
+};
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/swframevalidation.hxx b/svx/inc/svx/swframevalidation.hxx
new file mode 100644
index 0000000000..ded6a1cda4
--- /dev/null
+++ b/svx/inc/svx/swframevalidation.hxx
@@ -0,0 +1,89 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVXSWFRAMEVALIDATION_HXX
+#define _SVXSWFRAMEVALIDATION_HXX
+#include <sal/types.h>
+#include <tools/gen.hxx>
+#include <limits.h>
+
+/*
+ struct to determine min/max values for fly frame positioning in Writer
+ */
+struct SvxSwFrameValidation
+{
+ sal_Int16 nAnchorType; //com::sun::star::text::TextContentAnchorType
+ sal_Int16 nHoriOrient; //com::sun::star::text::HoriOrientation
+ sal_Int16 nVertOrient; //com::sun::star::text::VertOrientation
+ sal_Int16 nHRelOrient; //com::sun::star::text::RelOrientation
+ sal_Int16 nVRelOrient; //com::sun::star::text::RelOrientation
+ bool bAutoHeight;
+ bool bAutoWidth;
+ bool bMirror;
+ bool bFollowTextFlow;
+
+ sal_Int32 nHPos;
+ sal_Int32 nMaxHPos;
+ sal_Int32 nMinHPos;
+
+ sal_Int32 nVPos;
+ sal_Int32 nMaxVPos;
+ sal_Int32 nMinVPos;
+
+ sal_Int32 nWidth;
+ sal_Int32 nMinWidth;
+ sal_Int32 nMaxWidth;
+
+ sal_Int32 nHeight;
+ sal_Int32 nMinHeight;
+ sal_Int32 nMaxHeight;
+
+ Size aPercentSize; // Size for 100% value
+
+ SvxSwFrameValidation() :
+ bAutoHeight(false),
+ bAutoWidth(false),
+ bMirror(false),
+ bFollowTextFlow( false ),
+ nHPos(0),
+ nMaxHPos(SAL_MAX_INT32),
+ nMinHPos(0),
+ nVPos(0),
+ nMaxVPos(SAL_MAX_INT32),
+ nMinVPos(0),
+ nWidth( 283 * 4 ), //2.0 cm
+ nMinWidth(0),
+ nMaxWidth(SAL_MAX_INT32),
+ nHeight( 283 ), //0.5 cm
+ nMaxHeight(SAL_MAX_INT32)
+ {
+ }
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/tabarea.hxx b/svx/inc/svx/tabarea.hxx
index 34fba7567c..53e2cd899a 100644
--- a/svx/inc/svx/tabarea.hxx
+++ b/svx/inc/svx/tabarea.hxx
@@ -31,7 +31,7 @@
// include ---------------------------------------------------------------
#include <svtools/valueset.hxx>
-#include <vcl/imagebtn.hxx>
+#include <vcl/button.hxx>
#include <vcl/fixed.hxx>
#include <svx/dlgctrl.hxx>
#include <svx/xsetit.hxx>
diff --git a/svx/inc/svx/tabline.hxx b/svx/inc/svx/tabline.hxx
index 1e9830079b..1394bfc374 100644
--- a/svx/inc/svx/tabline.hxx
+++ b/svx/inc/svx/tabline.hxx
@@ -30,7 +30,7 @@
// include ---------------------------------------------------------------
-#include <vcl/imagebtn.hxx>
+#include <vcl/button.hxx>
#include <vcl/group.hxx>
#include <svtools/stdctrl.hxx>
#include <svx/svdpage.hxx>
diff --git a/svx/inc/svx/tbxalign.hxx b/svx/inc/svx/tbxalign.hxx
new file mode 100644
index 0000000000..6e97892565
--- /dev/null
+++ b/svx/inc/svx/tbxalign.hxx
@@ -0,0 +1,57 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _TBXALIGN_HXX
+#define _TBXALIGN_HXX
+
+#include <sfx2/tbxctrl.hxx>
+#include "svx/svxdllapi.h"
+
+
+class SVX_DLLPUBLIC SvxTbxCtlAlign: public SfxToolBoxControl
+{
+public:
+ virtual ::sal_Bool SAL_CALL opensSubToolbar() throw (::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getSubToolbarName() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL functionSelected( const ::rtl::OUString& aCommand ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL updateImage() throw (::com::sun::star::uno::RuntimeException);
+
+ virtual SfxPopupWindowType GetPopupWindowType() const;
+ virtual SfxPopupWindow* CreatePopupWindow();
+
+ SFX_DECL_TOOLBOX_CONTROL();
+
+ SvxTbxCtlAlign( USHORT nSlotId, USHORT nId, ToolBox& rTbx );
+ ~SvxTbxCtlAlign() {}
+private:
+ rtl::OUString m_aSubTbName;
+ rtl::OUString m_aSubTbResName;
+ rtl::OUString m_aCommand;
+};
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/tbxcolor.hxx b/svx/inc/svx/tbxcolor.hxx
new file mode 100644
index 0000000000..b06afcfe7e
--- /dev/null
+++ b/svx/inc/svx/tbxcolor.hxx
@@ -0,0 +1,73 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_TBXCOLOR_HXX
+#define _SVX_TBXCOLOR_HXX
+
+#include <com/sun/star/frame/XLayoutManager.hpp>
+#include "svx/svxdllapi.h"
+
+//........................................................................
+namespace svx
+{
+//........................................................................
+
+ //====================================================================
+ //= ToolboxAccess
+ //====================================================================
+ class SVX_DLLPUBLIC ToolboxAccess
+ {
+ private:
+ bool m_bDocking;
+ ::rtl::OUString m_sToolboxResName;
+ ::com::sun::star::uno::Reference<
+ ::com::sun::star::frame::XLayoutManager > m_xLayouter;
+
+ public:
+ ToolboxAccess( const ::rtl::OUString& rToolboxName );
+
+ public:
+ /** toggles the toolbox
+ */
+ void toggleToolbox() const;
+
+ /** determines whether the toolbox is currently visible
+ */
+ bool isToolboxVisible() const;
+
+ /** forces that the toolbox is docked
+ */
+ inline void forceDocking() { m_bDocking = true; }
+ };
+
+//........................................................................
+} // namespace svx
+//........................................................................
+
+#endif // #ifndef _SVX_TBXCOLOR_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/tbxctl.hxx b/svx/inc/svx/tbxctl.hxx
new file mode 100644
index 0000000000..e3a5c155fa
--- /dev/null
+++ b/svx/inc/svx/tbxctl.hxx
@@ -0,0 +1,64 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _TBXCTL_HXX
+#define _TBXCTL_HXX
+
+#include <sfx2/tbxctrl.hxx>
+#include "svx/svxdllapi.h"
+
+/*************************************************************************
+|*
+|* Class for SwToolbox
+|*
+\************************************************************************/
+
+class SVX_DLLPUBLIC SvxTbxCtlDraw : public SfxToolBoxControl
+{
+private:
+ ::rtl::OUString m_sToolboxName;
+
+ void toggleToolbox();
+
+protected:
+ using SfxToolBoxControl::Select;
+
+public:
+ SvxTbxCtlDraw( USHORT nSlotId, USHORT nId, ToolBox& rTbx );
+ ~SvxTbxCtlDraw() {}
+
+ SFX_DECL_TOOLBOX_CONTROL();
+
+ virtual void Select( BOOL bMod1 = FALSE );
+ virtual void StateChanged( USHORT nSID, SfxItemState eState,
+ const SfxPoolItem* pState );
+ virtual SfxPopupWindowType GetPopupWindowType() const;
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/tbxcustomshapes.hxx b/svx/inc/svx/tbxcustomshapes.hxx
new file mode 100644
index 0000000000..581d7ed52b
--- /dev/null
+++ b/svx/inc/svx/tbxcustomshapes.hxx
@@ -0,0 +1,70 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_TBXCUSTOMSHAPES_HXX
+#define _SVX_TBXCUSTOMSHAPES_HXX
+
+#include <sfx2/tbxctrl.hxx>
+#include "svx/svxdllapi.h"
+
+/*************************************************************************
+|*
+|* SvxTbxCtlCustomShapes
+|*
+\************************************************************************/
+
+class SVX_DLLPUBLIC SvxTbxCtlCustomShapes : public SfxToolBoxControl
+{
+public:
+ using SfxToolBoxControl::Select;
+ virtual void Select( BOOL bMod1 = FALSE );
+ virtual void StateChanged( USHORT nSID, SfxItemState eState,
+ const SfxPoolItem* pState );
+ virtual SfxPopupWindowType GetPopupWindowType() const;
+ virtual SfxPopupWindow* CreatePopupWindow();
+
+ SFX_DECL_TOOLBOX_CONTROL();
+
+ SvxTbxCtlCustomShapes( USHORT nSlotId, USHORT nId, ToolBox& rTbx );
+ ~SvxTbxCtlCustomShapes() {}
+
+ //interface XSubToolbarController:
+ virtual ::sal_Bool SAL_CALL opensSubToolbar() throw (::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getSubToolbarName() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL functionSelected( const ::rtl::OUString& aCommand ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL updateImage() throw (::com::sun::star::uno::RuntimeException);
+
+private:
+ rtl::OUString m_aSubTbName;
+ rtl::OUString m_aSubTbxResName;
+ rtl::OUString m_aCommand;
+};
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/tbxdraw.hxx b/svx/inc/svx/tbxdraw.hxx
new file mode 100644
index 0000000000..6ca407184b
--- /dev/null
+++ b/svx/inc/svx/tbxdraw.hxx
@@ -0,0 +1,77 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _TBXDRAW_HXX
+#define _TBXDRAW_HXX
+
+// include ---------------------------------------------------------------
+
+#include <sfx2/tbxctrl.hxx>
+
+// class SvxPopupWindowTbxMgr --------------------------------------------
+
+class SvxPopupWindowTbxMgr : public SfxPopupWindow
+{
+ void* pNiemalsDenPointerAufDieErzeugendeToolBoxMerken; // MI!
+ ResId aRIdWinTemp;
+ ResId aRIdTbxTemp;
+
+ Link aTbxClickHdl;
+
+
+ DECL_LINK( TbxSelectHdl, ToolBox*);
+ DECL_LINK( TbxClickHdl, ToolBox*);
+
+protected:
+ using SfxPopupWindow::StateChanged;
+
+public:
+ SvxPopupWindowTbxMgr( USHORT nId,
+ SfxToolBoxControl* pTbxCtl,
+ ResId aRIdWin,
+ ResId aRIdTbx );
+ SvxPopupWindowTbxMgr( USHORT nId,
+ WindowAlign eAlign,
+ ResId aRIdWin,
+ ResId aRIdTbx );
+ ~SvxPopupWindowTbxMgr();
+
+ virtual void StateChanged( USHORT nSID, SfxItemState eState,
+ const SfxPoolItem* pState);
+ virtual SfxPopupWindow* Clone() const;
+ virtual void PopupModeEnd();
+
+ void StartSelection();
+
+ // toolbox click or execute may chage the default selection in the tools toolbox
+ virtual void UserEvent( ULONG nEvent, void* pEventData );
+};
+
+
+#endif // _TBX_DRAW_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/txencbox.hxx b/svx/inc/svx/txencbox.hxx
new file mode 100644
index 0000000000..80462b6aa2
--- /dev/null
+++ b/svx/inc/svx/txencbox.hxx
@@ -0,0 +1,121 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_TXENCBOX_HXX
+#define _SVX_TXENCBOX_HXX
+
+// include ---------------------------------------------------------------
+
+#include <vcl/lstbox.hxx>
+#include <rtl/textenc.h>
+#include "svx/svxdllapi.h"
+
+class SvxTextEncodingTable;
+
+class SVX_DLLPUBLIC SvxTextEncodingBox : public ListBox
+{
+private:
+ const SvxTextEncodingTable* m_pEncTable;
+
+ SVX_DLLPRIVATE USHORT EncodingToPos_Impl( rtl_TextEncoding nEnc ) const;
+
+public:
+ SvxTextEncodingBox( Window* pParent, const ResId& rResId );
+ ~SvxTextEncodingBox();
+
+ /** Fill with all known encodings but exclude those matching one or more
+ given flags as defined in rtl/tencinfo.h
+
+ <p> If nButIncludeInfoFlags is given, encodings are included even if they
+ match nExcludeInfoFlags. Thus it is possible to exclude 16/32-bit
+ Unicode with RTL_TEXTENCODING_INFO_UNICODE but to include UTF7 and UTF8
+ with RTL_TEXTENCODING_INFO_MIME </p>
+
+ @param bExcludeImportSubsets
+ If <TRUE/>, some specific encodings are not listed, as they are a
+ subset of another encoding. This is the case for
+ RTL_TEXTENCODING_GB_2312, RTL_TEXTENCODING_GBK,
+ RTL_TEXTENCODING_MS_936, which are covered by
+ RTL_TEXTENCODING_GB_18030. Normally, this flag should be set to
+ <TRUE/> whenever the box is used in import dialogs. */
+ void FillFromTextEncodingTable(
+ sal_Bool bExcludeImportSubsets = FALSE,
+ sal_uInt32 nExcludeInfoFlags = 0,
+ sal_uInt32 nButIncludeInfoFlags = 0
+ );
+
+ /** Fill with all encodings known to the dbtools::OCharsetMap but exclude
+ those matching one or more given flags as defined in rtl/tencinfo.h
+
+ <p> If nButIncludeInfoFlags is given, encodings are included even if they
+ match nExcludeInfoFlags. Thus it is possible to exclude 16/32-bit
+ Unicode with RTL_TEXTENCODING_INFO_UNICODE but to include UTF7 and UTF8
+ with RTL_TEXTENCODING_INFO_MIME </p>
+
+ @param bExcludeImportSubsets
+ If <TRUE/>, some specific encodings are not listed, as they are a
+ subset of another encoding. This is the case for
+ RTL_TEXTENCODING_GB_2312, RTL_TEXTENCODING_GBK,
+ RTL_TEXTENCODING_MS_936, which are covered by
+ RTL_TEXTENCODING_GB_18030. Normally, this flag should be set to
+ <TRUE/> whenever the box is used in import dialogs. */
+ void FillFromDbTextEncodingMap(
+ sal_Bool bExcludeImportSubsets = FALSE,
+ sal_uInt32 nExcludeInfoFlags = 0,
+ sal_uInt32 nButIncludeInfoFlags = 0
+ );
+
+ /** Fill with all known MIME encodings and select the best according to
+ <method>GetBestMimeEncoding</method>
+ */
+ void FillWithMimeAndSelectBest();
+
+ const SvxTextEncodingTable* GetTextEncodingTable() const
+ { return m_pEncTable; }
+
+ void InsertTextEncoding( const rtl_TextEncoding nEnc,
+ USHORT nPos = LISTBOX_APPEND );
+
+ void InsertTextEncoding( const rtl_TextEncoding nEnc,
+ const String& rEntry,
+ USHORT nPos = LISTBOX_APPEND );
+
+ void RemoveTextEncoding( const rtl_TextEncoding nEnc );
+
+ void SelectTextEncoding( const rtl_TextEncoding nEnc,
+ BOOL bSelect = TRUE );
+
+ rtl_TextEncoding GetSelectTextEncoding() const;
+
+ const String& GetSelectTextString() const;
+
+ BOOL IsTextEncodingSelected( const rtl_TextEncoding nEnc ) const;
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/txenctab.hxx b/svx/inc/svx/txenctab.hxx
new file mode 100644
index 0000000000..5baa6444f4
--- /dev/null
+++ b/svx/inc/svx/txenctab.hxx
@@ -0,0 +1,55 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_TXENCTAB_HXX
+#define _SVX_TXENCTAB_HXX
+
+// include ---------------------------------------------------------------
+
+#include <tools/resary.hxx>
+#include <rtl/textenc.h>
+#include "svx/svxdllapi.h"
+
+
+//========================================================================
+// class SvxTextEncodingTable
+//========================================================================
+
+class SVX_DLLPUBLIC SvxTextEncodingTable : public ResStringArray
+{
+public:
+ SvxTextEncodingTable();
+ ~SvxTextEncodingTable();
+
+ const String& GetTextString( const rtl_TextEncoding nEnc ) const;
+ rtl_TextEncoding GetTextEncoding( const String& rStr ) const;
+};
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/unoapi.hxx b/svx/inc/svx/unoapi.hxx
new file mode 100644
index 0000000000..2f9a16b91c
--- /dev/null
+++ b/svx/inc/svx/unoapi.hxx
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVX_UNOAPI_HXX_
+#define _SVX_UNOAPI_HXX_
+
+#include <com/sun/star/uno/Any.hxx>
+#include <com/sun/star/drawing/XShape.hpp>
+#include <com/sun/star/drawing/XDrawPage.hpp>
+#include <sal/types.h>
+#include <svtools/grfmgr.hxx>
+#include <svl/poolitem.hxx>
+#include "svx/svxdllapi.h"
+
+class SvxShape;
+class SdrObject;
+class SdrPage;
+class SvxNumBulletItem;
+class SfxItemPool;
+class String;
+
+/** creates a StarOffice API wrapper with the given type and inventor
+ Deprecated: This will be replaced with a function returning XShape.
+*/
+SVX_DLLPUBLIC SvxShape* CreateSvxShapeByTypeAndInventor( sal_uInt16 nType, sal_uInt32 nInventor ) throw();
+
+/** returns a StarOffice API wrapper for the given SdrObject */
+SVX_DLLPUBLIC ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > GetXShapeForSdrObject( SdrObject* pObj ) throw ();
+
+/** returns the SdrObject from the given StarOffice API wrapper */
+SVX_DLLPUBLIC SdrObject* GetSdrObjectFromXShape( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape ) throw() ;
+
+/** returns a StarOffice API wrapper for the given SdrPage */
+SVX_DLLPUBLIC ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage > GetXDrawPageForSdrPage( SdrPage* pPage ) throw ();
+
+/** returns the SdrPage from the given StarOffice API wrapper */
+SVX_DLLPUBLIC SdrPage* GetSdrPageFromXDrawPage( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage > xDrawPage ) throw() ;
+
+/** returns the SvxNumBulletItem with the given name from the pool or a null if there is no item
+ with that name
+*/
+SvxNumBulletItem* SvxGetNumBulletItemByName( SfxItemPool* pPool, const ::rtl::OUString& aName ) throw();
+
+/** maps the API constant MeasureUnit to a vcl MapUnit enum.
+ Returns false if conversion is not supported.
+
+ @cl: for warnings01 I found out that this method never worked so I thin
+ it is not used at all
+sal_Bool SvxMeasureUnitToMapUnit( const short eApi, short& nVcl ) throw();
+*/
+
+/** maps the vcl MapUnit enum to a API constant MeasureUnit.
+ Returns false if conversion is not supported.
+*/
+SVX_DLLPUBLIC sal_Bool SvxMapUnitToMeasureUnit( const short nVcl, short& eApi ) throw();
+
+/** maps the API constant MeasureUnit to a vcl MapUnit enum.
+ Returns false if conversion is not supported.
+*/
+SVX_DLLPUBLIC sal_Bool SvxMeasureUnitToFieldUnit( const short eApi, short& nVcl ) throw();
+
+/** maps the vcl MapUnit enum to a API constant MeasureUnit.
+ Returns false if conversion is not supported.
+*/
+SVX_DLLPUBLIC sal_Bool SvxFieldUnitToMeasureUnit( const short nVcl, short& eApi ) throw();
+
+/** if the given name is a predefined name for the current language it is replaced by
+ the corresponding api name.
+*/
+SVX_DLLPUBLIC void SvxUnogetApiNameForItem( const sal_Int16 nWhich, const String& rInternalName, rtl::OUString& rApiName ) throw();
+
+/** if the given name is a predefined api name it is replaced by the predefined name
+ for the current language.
+*/
+SVX_DLLPUBLIC void SvxUnogetInternalNameForItem( const sal_Int16 nWhich, const rtl::OUString& rApiName, String& rInternalName ) throw();
+
+#endif // _SVX_UNOAPI_HXX_
+
diff --git a/svx/inc/svx/unofill.hxx b/svx/inc/svx/unofill.hxx
new file mode 100644
index 0000000000..3f05501d0c
--- /dev/null
+++ b/svx/inc/svx/unofill.hxx
@@ -0,0 +1,46 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVX_UNOFILL_HXX_
+#define _SVX_UNOFILL_HXX_
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include "svx/svxdllapi.h"
+
+class SdrModel;
+
+SVX_DLLPUBLIC ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL SvxUnoGradientTable_createInstance( SdrModel* pModel );
+SVX_DLLPUBLIC ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL SvxUnoHatchTable_createInstance( SdrModel* pModel );
+SVX_DLLPUBLIC ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL SvxUnoBitmapTable_createInstance( SdrModel* pModel );
+SVX_DLLPUBLIC ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL SvxUnoTransGradientTable_createInstance( SdrModel* pModel );
+SVX_DLLPUBLIC ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL SvxUnoMarkerTable_createInstance( SdrModel* pModel );
+SVX_DLLPUBLIC ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL SvxUnoDashTable_createInstance( SdrModel* pModel );
+
+#endif // _SVX_UNOFILL_HXX_
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/unomaster.hxx b/svx/inc/svx/unomaster.hxx
new file mode 100644
index 0000000000..e34ab41ed3
--- /dev/null
+++ b/svx/inc/svx/unomaster.hxx
@@ -0,0 +1,68 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVX_UNOMASTER_HXX
+#define _SVX_UNOMASTER_HXX
+
+#include <com/sun/star/uno/Type.h>
+#include <com/sun/star/uno/Any.h>
+#include <com/sun/star/beans/XPropertySet.hpp>
+#include <com/sun/star/beans/XPropertyState.hpp>
+
+/** this abstract class is the interface for an instance that likes to enhance
+ the functionality of components implemented with derivations from SvxShape
+
+ @see SvxShape::setMaster
+*/
+class SvxShapeMaster
+{
+public:
+ virtual sal_Bool queryAggregation( const com::sun::star::uno::Type & rType, com::sun::star::uno::Any& aAny ) = 0;
+
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo( ) throw(::com::sun::star::uno::RuntimeException) = 0;
+ virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Any& aValue ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException) = 0;
+ virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException) = 0;
+
+ virtual ::com::sun::star::beans::PropertyState SAL_CALL getPropertyState( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException) = 0;
+ virtual void SAL_CALL setPropertyToDefault( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException) = 0;
+ virtual ::com::sun::star::uno::Any SAL_CALL getPropertyDefault( const ::rtl::OUString& aPropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException) = 0;
+
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException) = 0;
+
+ virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException) = 0;
+
+ virtual void dispose() = 0;
+
+ virtual void modelChanged( SdrModel* pNewModel ) = 0;
+ virtual void pageChanged( SdrPage* pNewPage ) = 0;
+ virtual void objectChanged( SdrObject* pNewObj ) = 0;
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/unopool.hxx b/svx/inc/svx/unopool.hxx
new file mode 100644
index 0000000000..d74003faf4
--- /dev/null
+++ b/svx/inc/svx/unopool.hxx
@@ -0,0 +1,99 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVX_UNOPOOL_HXX_
+#define _SVX_UNOPOOL_HXX_
+
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include <comphelper/propertysethelper.hxx>
+#include <cppuhelper/implbase4.hxx>
+#include "svx/svxdllapi.h"
+
+class SdrModel;
+class SfxItemPool;
+
+/** This class implements the service com.sun.star.drawing.Defaults.
+ It works on the SfxItemPool from the given model and the global
+ draw object item pool.
+ The class can work in a read only mode without a model. Derivated
+ classes can set a model on demand by overiding getModelPool().
+*/
+class SVX_DLLPUBLIC SvxUnoDrawPool : public ::cppu::OWeakAggObject,
+ public ::com::sun::star::lang::XServiceInfo,
+ public ::com::sun::star::lang::XTypeProvider,
+ public comphelper::PropertySetHelper
+{
+public:
+ SvxUnoDrawPool( SdrModel* pModel, sal_Int32 nServiceId ) throw();
+
+ /** deprecated */
+ SvxUnoDrawPool( SdrModel* pModel ) throw();
+ virtual ~SvxUnoDrawPool() throw();
+
+ /** This returns the item pool from the given model, or the default pool if there is no model and bReadOnly is true.
+ If bReadOnly is false and there is no model the default implementation returns NULL.
+ */
+ virtual SfxItemPool* getModelPool( sal_Bool bReadOnly ) throw();
+
+ // overiden helpers from comphelper::PropertySetHelper
+ virtual void _setPropertyValues( const comphelper::PropertyMapEntry** ppEntries, const ::com::sun::star::uno::Any* pValues ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException );
+ virtual void _getPropertyValues( const comphelper::PropertyMapEntry** ppEntries, ::com::sun::star::uno::Any* pValue ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException );
+
+ virtual void _getPropertyStates( const comphelper::PropertyMapEntry** ppEntries, ::com::sun::star::beans::PropertyState* pStates ) throw(::com::sun::star::beans::UnknownPropertyException );
+ virtual void _setPropertyToDefault( const comphelper::PropertyMapEntry* pEntry ) throw(::com::sun::star::beans::UnknownPropertyException );
+ virtual ::com::sun::star::uno::Any _getPropertyDefault( const comphelper::PropertyMapEntry* pEntry ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException );
+
+ // XInterface
+ virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL acquire() throw();
+ virtual void SAL_CALL release() throw();
+
+ // XTypeProvider
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId( ) throw(::com::sun::star::uno::RuntimeException);
+
+ // XServiceInfo
+ virtual rtl::OUString SAL_CALL getImplementationName() throw( ::com::sun::star::uno::RuntimeException );
+ virtual sal_Bool SAL_CALL supportsService( const rtl::OUString& ServiceName ) throw( ::com::sun::star::uno::RuntimeException );
+ virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames() throw( ::com::sun::star::uno::RuntimeException );
+
+protected:
+ void init();
+
+ virtual void getAny( SfxItemPool* pPool, const comphelper::PropertyMapEntry* pEntry, ::com::sun::star::uno::Any& rValue ) throw(::com::sun::star::beans::UnknownPropertyException);
+ virtual void putAny( SfxItemPool* pPool, const comphelper::PropertyMapEntry* pEntry, const ::com::sun::star::uno::Any& rValue ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::IllegalArgumentException);
+
+protected:
+ SdrModel* mpModel;
+ SfxItemPool* mpDefaultsPool;
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/unoshcol.hxx b/svx/inc/svx/unoshcol.hxx
new file mode 100644
index 0000000000..711d317664
--- /dev/null
+++ b/svx/inc/svx/unoshcol.hxx
@@ -0,0 +1,103 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_UNOSHGRP_HXX
+#define _SVX_UNOSHGRP_HXX
+
+#include <com/sun/star/lang/XComponent.hpp>
+#include <com/sun/star/drawing/XShapes.hpp>
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include <osl/mutex.hxx>
+#include <cppuhelper/interfacecontainer.hxx>
+
+#include <cppuhelper/implbase3.hxx>
+#include "svx/svxdllapi.h"
+
+class XShapeList;
+
+class SvxShapeCollectionMutex
+{
+public:
+ ::osl::Mutex maMutex;
+};
+
+SVX_DLLPUBLIC com::sun::star::uno::Reference< com::sun::star::uno::XInterface > SvxShapeCollection_NewInstance() throw();
+
+/***********************************************************************
+* *
+***********************************************************************/
+class SVX_DLLPUBLIC SvxShapeCollection : public ::cppu::WeakAggImplHelper3<
+ ::com::sun::star::drawing::XShapes,
+ ::com::sun::star::lang::XServiceInfo,
+ ::com::sun::star::lang::XComponent
+ >,
+ public SvxShapeCollectionMutex
+{
+private:
+ cppu::OInterfaceContainerHelper maShapeContainer;
+
+ cppu::OBroadcastHelper mrBHelper;
+
+ SVX_DLLPRIVATE virtual void disposing() throw();
+
+public:
+ SvxShapeCollection() throw();
+ virtual ~SvxShapeCollection() throw();
+
+ // XInterface
+ virtual void SAL_CALL release() throw();
+
+ // XComponent
+ virtual void SAL_CALL dispose() throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& aListener ) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& aListener ) throw(::com::sun::star::uno::RuntimeException);
+
+ // XIndexAccess
+ virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException) ;
+ virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) throw(::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+
+ // XElementAccess
+ virtual ::com::sun::star::uno::Type SAL_CALL getElementType() throw(::com::sun::star::uno::RuntimeException);
+ virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException);
+
+ // XShapes
+ virtual void SAL_CALL add( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& xShape ) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL remove( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& xShape ) throw(::com::sun::star::uno::RuntimeException);
+
+ // XServiceInfo
+ virtual ::rtl::OUString SAL_CALL getImplementationName() throw(::com::sun::star::uno::RuntimeException);
+ virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw(::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
+ static com::sun::star::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_Static();
+ static ::rtl::OUString getImplementationName_Static();
+};
+
+::com::sun::star::uno::Reference< com::sun::star::uno::XInterface > SAL_CALL SvxShapeCollection_createInstance( const com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& rSMgr );
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/unoshtxt.hxx b/svx/inc/svx/unoshtxt.hxx
index 88db2f36b4..603857020b 100644
--- a/svx/inc/svx/unoshtxt.hxx
+++ b/svx/inc/svx/unoshtxt.hxx
@@ -91,6 +91,8 @@ public:
void ChangeModel( SdrModel* pNewModel );
+ void UpdateOutliner();
+
private:
SVX_DLLPRIVATE SvxTextEditSource( SvxTextEditSourceImpl* pImpl );
diff --git a/svx/inc/svx/verttexttbxctrl.hxx b/svx/inc/svx/verttexttbxctrl.hxx
new file mode 100644
index 0000000000..0401ac43f3
--- /dev/null
+++ b/svx/inc/svx/verttexttbxctrl.hxx
@@ -0,0 +1,66 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_VERT_TEXT_TBXCTRL_HXX
+#define _SVX_VERT_TEXT_TBXCTRL_HXX
+
+#include <sfx2/tbxctrl.hxx>
+#include "svx/svxdllapi.h"
+
+/*
+ control to remove/insert cjk settings dependent vertical text toolbox item
+ */
+class SvxVertCTLTextTbxCtrl : public SfxToolBoxControl
+{
+ sal_Bool bCheckVertical; //determines whether vertical mode or CTL mode has to be checked
+public:
+ SvxVertCTLTextTbxCtrl( USHORT nSlotId, USHORT nId, ToolBox& rTbx );
+ ~SvxVertCTLTextTbxCtrl();
+
+ virtual void StateChanged( USHORT nSID, SfxItemState eState,
+ const SfxPoolItem* pState );
+ void SetVert(sal_Bool bSet) {bCheckVertical = bSet;}
+
+};
+
+class SVX_DLLPUBLIC SvxCTLTextTbxCtrl : public SvxVertCTLTextTbxCtrl
+{
+public:
+ SFX_DECL_TOOLBOX_CONTROL();
+ SvxCTLTextTbxCtrl(USHORT nSlotId, USHORT nId, ToolBox& rTbx );
+};
+
+class SVX_DLLPUBLIC SvxVertTextTbxCtrl : public SvxVertCTLTextTbxCtrl
+{
+public:
+ SFX_DECL_TOOLBOX_CONTROL();
+ SvxVertTextTbxCtrl( USHORT nSlotId, USHORT nId, ToolBox& rTbx );
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/wrapfield.hxx b/svx/inc/svx/wrapfield.hxx
new file mode 100644
index 0000000000..8270fb1091
--- /dev/null
+++ b/svx/inc/svx/wrapfield.hxx
@@ -0,0 +1,60 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef SVX_WRAPFIELD_HXX
+#define SVX_WRAPFIELD_HXX
+
+#include <vcl/field.hxx>
+#include "svx/svxdllapi.h"
+
+namespace svx {
+
+// ============================================================================
+
+/** A numeric spin field that wraps around the value on limits.
+ @descr Note: Use type "NumericField" in resources. */
+class SVX_DLLPUBLIC WrapField : public NumericField
+{
+public:
+ explicit WrapField( Window* pParent, WinBits nWinStyle );
+ explicit WrapField( Window* pParent, const ResId& rResId );
+
+protected:
+ /** Up event with wrap-around functionality. */
+ virtual void Up();
+ /** Down event with wrap-around functionality. */
+ virtual void Down();
+};
+
+// ============================================================================
+
+} // namespace svx
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/xattr.hxx b/svx/inc/svx/xattr.hxx
new file mode 100644
index 0000000000..30f9981804
--- /dev/null
+++ b/svx/inc/svx/xattr.hxx
@@ -0,0 +1,54 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _XATTR_HXX
+#define _XATTR_HXX
+
+class XColorTable;
+class XDashTable;
+class XLineEndTable;
+class XHatchTable;
+class XBitmapTable;
+class XGradientTable;
+
+#include <svx/xit.hxx>
+#include <svx/xcolit.hxx>
+#include <svx/xgrad.hxx>
+#include <svx/xhatch.hxx>
+#include <svx/xlineit.hxx>
+#include <svx/xfillit.hxx>
+#include <svx/xtextit.hxx>
+#include <svx/xlineit0.hxx>
+#include <svx/xfillit0.hxx>
+#include <svx/xtextit0.hxx>
+#include <svx/xsetit.hxx>
+#include <svx/xlinjoit.hxx>
+
+
+#endif // _XATTR_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/xdef.hxx b/svx/inc/svx/xdef.hxx
index 3b9f5c0cc1..6600a8e202 100644
--- a/svx/inc/svx/xdef.hxx
+++ b/svx/inc/svx/xdef.hxx
@@ -37,7 +37,8 @@
|*
\************************************************************************/
-#define COL_DEFAULT_SHAPE_FILLING RGB_COLORDATA( 153, 204, 255 ) // blue 8
+#define COL_DEFAULT_SHAPE_FILLING RGB_COLORDATA( 0xCF, 0xE7, 0xE5 )
+#define COL_DEFAULT_SHAPE_STROKE RGB_COLORDATA( 128, 128, 128 )
#define XATTR_START 1000
diff --git a/svx/inc/svx/xexch.hxx b/svx/inc/svx/xexch.hxx
new file mode 100644
index 0000000000..ae997866e0
--- /dev/null
+++ b/svx/inc/svx/xexch.hxx
@@ -0,0 +1,69 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVX_XEXCH_HXX
+#define _SVX_XEXCH_HXX
+
+
+#include <tools/stream.hxx>
+#include "svx/svxdllapi.h"
+
+//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+// Clipboard format for XOutDev filling attributes
+//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+class XFillAttrSetItem;
+class SfxItemPool;
+
+
+
+class SVX_DLLPUBLIC XFillExchangeData
+{
+private:
+ XFillAttrSetItem* pXFillAttrSetItem;
+ SfxItemPool* pPool;
+
+public:
+ TYPEINFO();
+
+ XFillExchangeData();
+ XFillExchangeData(const XFillAttrSetItem rXFillAttrSetItem);
+ virtual ~XFillExchangeData();
+
+ XFillExchangeData& operator=( const XFillExchangeData& rXFillExchangeData );
+
+ SVX_DLLPUBLIC friend SvStream& operator<<( SvStream& rOStm, const XFillExchangeData& rXFillExchangeData );
+ SVX_DLLPUBLIC friend SvStream& operator>>( SvStream& rIStm, XFillExchangeData& rXFillExchangeData );
+
+ static ULONG RegisterClipboardFormatName();
+ XFillAttrSetItem* GetXFillAttrSetItem() { return pXFillAttrSetItem; }
+};
+
+#endif // _SVX_XEXCH_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/xmleohlp.hxx b/svx/inc/svx/xmleohlp.hxx
new file mode 100644
index 0000000000..aa532d2388
--- /dev/null
+++ b/svx/inc/svx/xmleohlp.hxx
@@ -0,0 +1,152 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _XMLEOHLP_HXX
+#define _XMLEOHLP_HXX
+
+#include <cppuhelper/compbase2.hxx>
+#include <osl/mutex.hxx>
+#include <sot/storage.hxx>
+#include <map>
+#include <com/sun/star/container/XNameContainer.hpp>
+#include <com/sun/star/document/XEmbeddedObjectResolver.hpp>
+#include <com/sun/star/container/XNameAccess.hpp>
+#include <com/sun/star/embed/XEmbeddedObject.hpp>
+#include "svx/svxdllapi.h"
+
+// -----------------------------
+// - SvXMLEmbeddedObjectHelper -
+// -----------------------------
+
+enum SvXMLEmbeddedObjectHelperMode
+{
+ EMBEDDEDOBJECTHELPER_MODE_READ = 0,
+ EMBEDDEDOBJECTHELPER_MODE_WRITE = 1
+};
+
+// -----------------------------
+// - SvXMLEmbeddedObjectHelper -
+// -----------------------------
+
+namespace comphelper {
+class IEmbeddedHelper;
+}
+class SvGlobalName;
+struct OUStringLess;
+class OutputStorageWrapper_Impl;
+
+class SVX_DLLPUBLIC SvXMLEmbeddedObjectHelper : public ::cppu::WeakComponentImplHelper2<
+ ::com::sun::star::document::XEmbeddedObjectResolver,
+ ::com::sun::star::container::XNameAccess >
+{
+ typedef ::std::map< ::rtl::OUString, OutputStorageWrapper_Impl*,
+ OUStringLess > SvXMLEmbeddedObjectHelper_Impl;
+private:
+
+ ::osl::Mutex maMutex;
+
+ const ::rtl::OUString maReplacementGraphicsContainerStorageName;
+ const ::rtl::OUString maReplacementGraphicsContainerStorageName60;
+ ::rtl::OUString maCurContainerStorageName;
+
+
+ com::sun::star::uno::Reference < com::sun::star::embed::XStorage > mxRootStorage; // package
+ ::comphelper::IEmbeddedHelper* mpDocPersist;
+ com::sun::star::uno::Reference < com::sun::star::embed::XStorage > mxContainerStorage; // container sub package for
+ com::sun::star::uno::Reference < com::sun::star::embed::XStorage > mxTempStorage; // package
+ // objects
+ SvXMLEmbeddedObjectHelperMode meCreateMode;
+ SvXMLEmbeddedObjectHelper_Impl *mpStreamMap;
+
+ SVX_DLLPRIVATE sal_Bool ImplGetStorageNames(
+ const ::rtl::OUString& rURLStr,
+ ::rtl::OUString& rContainerStorageName,
+ ::rtl::OUString& rObjectStorageName,
+ sal_Bool bInternalToExternal,
+ sal_Bool *pGraphicRepl=0,
+ sal_Bool *pOasisFormat=0 ) const;
+
+ SVX_DLLPRIVATE com::sun::star::uno::Reference < com::sun::star::embed::XStorage > ImplGetContainerStorage(
+ const ::rtl::OUString& rStorageName );
+
+ SVX_DLLPRIVATE String ImplGetUniqueName( ::comphelper::IEmbeddedHelper*, const sal_Char* p ) const;
+ SVX_DLLPRIVATE sal_Bool ImplReadObject(
+ const ::rtl::OUString& rContainerStorageName,
+ ::rtl::OUString& rObjName,
+ const SvGlobalName *pClassId,
+ SvStream* pTemp );
+
+ SVX_DLLPRIVATE ::rtl::OUString ImplInsertEmbeddedObjectURL(
+ const ::rtl::OUString& rURLStr );
+
+ SVX_DLLPRIVATE ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream > ImplGetReplacementImage(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XEmbeddedObject >& xObj );
+
+protected:
+
+ SvXMLEmbeddedObjectHelper();
+ ~SvXMLEmbeddedObjectHelper();
+ void Init( const com::sun::star::uno::Reference < com::sun::star::embed::XStorage >&,
+ ::comphelper::IEmbeddedHelper& rDocPersist,
+ SvXMLEmbeddedObjectHelperMode eCreateMode );
+
+ virtual void SAL_CALL disposing();
+
+public:
+ SvXMLEmbeddedObjectHelper(
+ ::comphelper::IEmbeddedHelper& rDocPersist,
+ SvXMLEmbeddedObjectHelperMode eCreateMode );
+
+ static SvXMLEmbeddedObjectHelper* Create(
+ const com::sun::star::uno::Reference < com::sun::star::embed::XStorage >&,
+ ::comphelper::IEmbeddedHelper& rDocPersist,
+ SvXMLEmbeddedObjectHelperMode eCreateMode,
+ sal_Bool bDirect = sal_True );
+ static SvXMLEmbeddedObjectHelper* Create(
+ ::comphelper::IEmbeddedHelper& rDocPersist,
+ SvXMLEmbeddedObjectHelperMode eCreateMode );
+ static void Destroy( SvXMLEmbeddedObjectHelper* pSvXMLEmbeddedObjectHelper );
+
+ void Flush();
+
+ // XEmbeddedObjectResolver
+ virtual ::rtl::OUString SAL_CALL resolveEmbeddedObjectURL( const ::rtl::OUString& aURL ) throw(::com::sun::star::uno::RuntimeException);
+
+ // XNameAccess
+ virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) throw (::com::sun::star::container::NoSuchElementException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) throw (::com::sun::star::uno::RuntimeException);
+
+ // XNameAccess
+ virtual ::com::sun::star::uno::Type SAL_CALL getElementType( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual sal_Bool SAL_CALL hasElements( ) throw (::com::sun::star::uno::RuntimeException);
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/xmlexchg.hxx b/svx/inc/svx/xmlexchg.hxx
new file mode 100644
index 0000000000..08e753adf6
--- /dev/null
+++ b/svx/inc/svx/xmlexchg.hxx
@@ -0,0 +1,106 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVX_XMLEXCHG_HXX_
+#define _SVX_XMLEXCHG_HXX_
+
+#include <svtools/transfer.hxx>
+#include "svx/svxdllapi.h"
+
+namespace com {
+ namespace sun {
+ namespace star {
+ namespace beans {
+ class SAL_NO_VTABLE XPropertySet;
+ }
+ }
+ }
+}
+
+//........................................................................
+namespace svx
+{
+//........................................................................
+
+
+ //====================================================================
+ //= OXFormsDescriptor
+ //====================================================================
+
+ struct SVX_DLLPUBLIC OXFormsDescriptor {
+
+ String szName;
+ String szServiceName;
+ ::com::sun::star::uno::Reference
+ < ::com::sun::star::beans::XPropertySet >
+ xPropSet;
+
+ inline OXFormsDescriptor( void ) {}
+ inline OXFormsDescriptor( const OXFormsDescriptor &rhs ) { *this=rhs; }
+ inline OXFormsDescriptor &operator = ( const OXFormsDescriptor &rhs ) {
+ szName = rhs.szName;
+ szServiceName = rhs.szServiceName;
+ xPropSet = rhs.xPropSet;
+ return (*this);
+ }
+ };
+
+ //====================================================================
+ //= OXFormsTransferable
+ //====================================================================
+ class SVX_DLLPUBLIC OXFormsTransferable : public TransferableHelper {
+
+ protected:
+
+ // TransferableHelper overridables
+ virtual void AddSupportedFormats();
+ virtual sal_Bool GetData( const ::com::sun::star::datatransfer::DataFlavor& rFlavor );
+
+ static sal_uInt32 getDescriptorFormatId();
+
+ OXFormsDescriptor m_aDescriptor;
+
+ public:
+
+ /** construct the transferable
+ */
+ OXFormsTransferable( const OXFormsDescriptor &rhs );
+
+ /** extracts an xform descriptor from the transferable given
+ */
+ static const OXFormsDescriptor &extractDescriptor( const TransferableDataHelper& _rData );
+ };
+
+
+//........................................................................
+} // namespace svx
+//........................................................................
+
+#endif // _SVX_XMLEXCHG_HXX_
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/xmlgrhlp.hxx b/svx/inc/svx/xmlgrhlp.hxx
new file mode 100644
index 0000000000..67c637f8cf
--- /dev/null
+++ b/svx/inc/svx/xmlgrhlp.hxx
@@ -0,0 +1,166 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _XMLGRHLP_HXX
+#define _XMLGRHLP_HXX
+
+#include <cppuhelper/compbase2.hxx>
+#include <osl/mutex.hxx>
+#include <svtools/grfmgr.hxx>
+#include <vector>
+#include <set>
+#include <utility>
+#include <com/sun/star/document/XGraphicObjectResolver.hpp>
+#include <com/sun/star/document/XBinaryStreamResolver.hpp>
+#include <com/sun/star/embed/XStorage.hpp>
+#include "svx/svxdllapi.h"
+
+// ----------------------
+// - SvXMLGraphicHelper -
+// ----------------------
+
+enum SvXMLGraphicHelperMode
+{
+ GRAPHICHELPER_MODE_READ = 0,
+ GRAPHICHELPER_MODE_WRITE = 1
+};
+
+// ----------------------
+// - SvXMLGraphicHelper -
+// ----------------------
+struct SvxGraphicHelperStream_Impl
+{
+ ::com::sun::star::uno::Reference < ::com::sun::star::embed::XStorage > xStorage;
+ ::com::sun::star::uno::Reference < ::com::sun::star::io::XStream > xStream;
+};
+
+class SVX_DLLPUBLIC SvXMLGraphicHelper : public ::cppu::WeakComponentImplHelper2< ::com::sun::star::document::XGraphicObjectResolver,
+ ::com::sun::star::document::XBinaryStreamResolver >
+{
+private:
+
+ typedef ::std::pair< ::rtl::OUString, ::rtl::OUString > URLPair;
+ typedef ::std::vector< URLPair > URLPairVector;
+ typedef ::std::vector< GraphicObject > GraphicObjectVector;
+ typedef ::std::set< ::rtl::OUString > URLSet;
+ typedef ::std::vector< ::com::sun::star::uno::Reference< ::com::sun::star::io::XOutputStream > > GraphicOutputStreamVector;
+
+ ::osl::Mutex maMutex;
+ ::com::sun::star::uno::Reference < ::com::sun::star::embed::XStorage > mxRootStorage;
+ ::rtl::OUString maCurStorageName;
+ URLPairVector maGrfURLs;
+ GraphicObjectVector maGrfObjs;
+ GraphicOutputStreamVector maGrfStms;
+ URLSet maURLSet;
+ SvXMLGraphicHelperMode meCreateMode;
+ sal_Bool mbDirect;
+
+ SVX_DLLPRIVATE sal_Bool ImplGetStreamNames( const ::rtl::OUString& rURLStr,
+ ::rtl::OUString& rPictureStorageName,
+ ::rtl::OUString& rPictureStreamName );
+ SVX_DLLPRIVATE ::com::sun::star::uno::Reference < ::com::sun::star::embed::XStorage > ImplGetGraphicStorage( const ::rtl::OUString& rPictureStorageName );
+ SVX_DLLPRIVATE SvxGraphicHelperStream_Impl ImplGetGraphicStream( const ::rtl::OUString& rPictureStorageName,
+ const ::rtl::OUString& rPictureStreamName,
+ BOOL bTruncate );
+ SVX_DLLPRIVATE String ImplGetGraphicMimeType( const String& rFileName ) const;
+ SVX_DLLPRIVATE Graphic ImplReadGraphic( const ::rtl::OUString& rPictureStorageName,
+ const ::rtl::OUString& rPictureStreamName );
+ SVX_DLLPRIVATE sal_Bool ImplWriteGraphic( const ::rtl::OUString& rPictureStorageName,
+ const ::rtl::OUString& rPictureStreamName,
+ const ::rtl::OUString& rGraphicId );
+ SVX_DLLPRIVATE void ImplInsertGraphicURL( const ::rtl::OUString& rURLStr, sal_uInt32 nInsertPos, rtl::OUString& rRequestedFileName );
+
+protected:
+ SvXMLGraphicHelper();
+ ~SvXMLGraphicHelper();
+ void Init( const ::com::sun::star::uno::Reference < ::com::sun::star::embed::XStorage >& xXMLStorage,
+ SvXMLGraphicHelperMode eCreateMode,
+ BOOL bDirect );
+
+ virtual void SAL_CALL disposing();
+
+public:
+ SvXMLGraphicHelper( SvXMLGraphicHelperMode eCreateMode );
+
+ static SvXMLGraphicHelper* Create( const ::com::sun::star::uno::Reference < ::com::sun::star::embed::XStorage >& rXMLStorage,
+ SvXMLGraphicHelperMode eCreateMode,
+ BOOL bDirect = TRUE );
+ static SvXMLGraphicHelper* Create( SvXMLGraphicHelperMode eCreateMode );
+
+ static void Destroy( SvXMLGraphicHelper* pSvXMLGraphicHelper );
+
+public:
+
+ // XGraphicObjectResolver
+ virtual ::rtl::OUString SAL_CALL resolveGraphicObjectURL( const ::rtl::OUString& aURL ) throw(::com::sun::star::uno::RuntimeException);
+
+ // XBinaryStreamResolver
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream > SAL_CALL getInputStream( const ::rtl::OUString& rURL ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::io::XOutputStream > SAL_CALL createOutputStream( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL resolveOutputStream( const ::com::sun::star::uno::Reference< ::com::sun::star::io::XOutputStream >& rxBinaryStream ) throw (::com::sun::star::uno::RuntimeException);
+};
+
+
+// for instantiation via service manager
+namespace svx
+{
+/** Create this with createInstanceWithArguments. service name
+ "com.sun.star.comp.Svx.GraphicImportHelper", one argument which is the
+ XStorage. Without arguments no helper class is created. With an empty
+ argument the helper class is created and initialized like in the CTOR to
+ SvXMLGraphicHelper that only gets the create mode.
+
+ You should call dispose after you no longer need this component.
+
+ uses eCreateMode == GRAPHICHELPER_MODE_READ, bDirect == TRUE in
+ SvXMLGraphicHelper
+ */
+SVX_DLLPUBLIC ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL SvXMLGraphicImportHelper_createInstance(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & rSMgr) throw( ::com::sun::star::uno::Exception );
+SVX_DLLPUBLIC ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL SvXMLGraphicImportHelper_getSupportedServiceNames() throw();
+SVX_DLLPUBLIC ::rtl::OUString SAL_CALL SvXMLGraphicImportHelper_getImplementationName() throw();
+
+/** Create this with createInstanceWithArguments. service name
+ "com.sun.star.comp.Svx.GraphicExportHelper", one argument which is the
+ XStorage. Without arguments no helper class is created. With an empty
+ argument the helper class is created and initialized like in the CTOR to
+ SvXMLGraphicHelper that only gets the create mode
+
+ To write the Pictures stream, you have to call dispose at this component.
+ Make sure you call dipose before you commit the parent storage.
+
+ uses eCreateMode == GRAPHICHELPER_MODE_WRITE, bDirect == TRUE in
+ SvXMLGraphicHelper
+ */
+SVX_DLLPUBLIC ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL SvXMLGraphicExportHelper_createInstance(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & rSMgr) throw( ::com::sun::star::uno::Exception );
+SVX_DLLPUBLIC ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL SvXMLGraphicExportHelper_getSupportedServiceNames() throw();
+SVX_DLLPUBLIC ::rtl::OUString SAL_CALL SvXMLGraphicExportHelper_getImplementationName() throw();
+}
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/xmlsecctrl.hxx b/svx/inc/svx/xmlsecctrl.hxx
new file mode 100644
index 0000000000..f6da616aee
--- /dev/null
+++ b/svx/inc/svx/xmlsecctrl.hxx
@@ -0,0 +1,61 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _XMLSECURITY_STBCONTRL_HXX
+#define _XMLSECURITY_STBCONTRL_HXX
+
+#include <sfx2/stbitem.hxx>
+#include "svx/svxdllapi.h"
+
+
+class SvxSizeItem;
+
+// class SvxPosSizeToolBoxControl ----------------------------------------
+
+class SVX_DLLPUBLIC XmlSecStatusBarControl : public SfxStatusBarControl
+{
+private:
+ struct XmlSecStatusBarControl_Impl;
+
+ XmlSecStatusBarControl_Impl* mpImpl;
+
+public:
+ SFX_DECL_STATUSBAR_CONTROL();
+
+ XmlSecStatusBarControl( USHORT _nSlotId, USHORT _nId, StatusBar& _rStb );
+ ~XmlSecStatusBarControl();
+
+ virtual void StateChanged( USHORT nSID, SfxItemState eState, const SfxPoolItem* pState );
+ virtual void Paint( const UserDrawEvent& rEvt );
+ virtual void Command( const CommandEvent& rCEvt );
+ static long GetDefItemWidth( StatusBar& _rStatusBar );
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/xoutbmp.hxx b/svx/inc/svx/xoutbmp.hxx
new file mode 100644
index 0000000000..d531947f0d
--- /dev/null
+++ b/svx/inc/svx/xoutbmp.hxx
@@ -0,0 +1,100 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _XOUTBMP_HXX
+#define _XOUTBMP_HXX
+
+#include <vcl/graph.hxx>
+#include <com/sun/star/uno/Sequence.h>
+#include <com/sun/star/beans/PropertyValue.hpp>
+#include "svx/svxdllapi.h"
+
+// -----------
+// - Defines -
+// -----------
+
+#define XOUTBMP_MIRROR_HORZ 0x00000001L
+#define XOUTBMP_MIRROR_VERT 0x00000010L
+
+#define XOUTBMP_CONTOUR_HORZ 0x00000001L
+#define XOUTBMP_CONTOUR_VERT 0x00000002L
+#define XOUTBMP_CONTOUR_EDGEDETECT 0x00000004L
+
+#define XOUTBMP_DONT_EXPAND_FILENAME 0x10000000L
+#define XOUTBMP_USE_GIF_IF_POSSIBLE 0x20000000L
+#define XOUTBMP_USE_GIF_IF_SENSIBLE 0x40000000L
+#define XOUTBMP_USE_NATIVE_IF_POSSIBLE 0x80000000L
+
+// --------------
+// - XOutBitmap -
+// --------------
+
+class GraphicFilter;
+class VirtualDevice;
+class INetURLObject;
+class Polygon;
+
+class SVX_DLLPUBLIC XOutBitmap
+{
+public:
+
+ static GraphicFilter* pGrfFilter;
+
+ static BitmapEx CreateQuickDrawBitmapEx( const Graphic& rGraphic, const OutputDevice& rCompDev,
+ const MapMode& rMapMode, const Size& rLogSize,
+ const Point& rPoint, const Size& rSize );
+ static Graphic MirrorGraphic( const Graphic& rGraphic, const ULONG nMirrorFlags );
+ static Animation MirrorAnimation( const Animation& rAnimation, BOOL bHMirr, BOOL bVMirr );
+ static USHORT WriteGraphic( const Graphic& rGraphic, String& rFileName,
+ const String& rFilterName, const ULONG nFlags = 0L,
+ const Size* pMtfSize_100TH_MM = NULL );
+ static void DrawQuickDrawBitmapEx( OutputDevice* pOutDev, const Point& rPt,
+ const Size& rSize, const BitmapEx& rBmpEx );
+ static void DrawTiledBitmapEx( OutputDevice* pOutDev, const Point& rStartPt, const Size& rGrfSize,
+ const Rectangle& rTileRect, const BitmapEx& rBmpEx );
+
+ static USHORT ExportGraphic( const Graphic& rGraphic, const INetURLObject& rURL,
+ GraphicFilter& rFilter, const USHORT nFormat,
+ const com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue >* pFilterData = NULL );
+
+ static Bitmap DetectEdges( const Bitmap& rBmp, const BYTE cThreshold );
+
+ static Polygon GetCountour( const Bitmap& rBmp, const ULONG nContourFlags,
+ const BYTE cEdgeDetectThreshold = 50,
+ const Rectangle* pWorkRect = NULL );
+};
+
+// ----------------
+// - DitherBitmap -
+// ----------------
+
+SVX_DLLPUBLIC BOOL DitherBitmap( Bitmap& rBitmap );
+
+#endif // _XOUTBMP_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/xpoly.hxx b/svx/inc/svx/xpoly.hxx
index 0b41e3fd8f..aedd8ff432 100644
--- a/svx/inc/svx/xpoly.hxx
+++ b/svx/inc/svx/xpoly.hxx
@@ -46,11 +46,7 @@ class OutputDevice;
#define XPOLYPOLY_APPEND 0xFFFF
#define XPOLY_APPEND 0xFFFF
-#ifdef WIN // Windows 16 Bit
-#define XPOLY_MAXPOINTS 8160 /* =0xFF00/sizeof(Point), also mit etwas Platz! */
-#else
#define XPOLY_MAXPOINTS 0xFFF0 /* Auch fuer die 32-Bitter etwas Luft lassen */
-#endif
/************************************************************************/
// Punktstile im XPolygon:
diff --git a/svx/inc/svx/zoom_def.hxx b/svx/inc/svx/zoom_def.hxx
new file mode 100644
index 0000000000..a377b6ece1
--- /dev/null
+++ b/svx/inc/svx/zoom_def.hxx
@@ -0,0 +1,11 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+#ifndef _SVX_ZOOM_DEF_HXX
+#define _SVX_ZOOM_DEF_HXX
+
+#define ZOOMBTN_OPTIMAL ((USHORT)0x0001)
+#define ZOOMBTN_PAGEWIDTH ((USHORT)0x0002)
+#define ZOOMBTN_WHOLEPAGE ((USHORT)0x0004)
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/svx/zoomctrl.hxx b/svx/inc/svx/zoomctrl.hxx
new file mode 100644
index 0000000000..42dc766639
--- /dev/null
+++ b/svx/inc/svx/zoomctrl.hxx
@@ -0,0 +1,61 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_ZOOMCTRL_HXX
+#define _SVX_ZOOMCTRL_HXX
+
+// include ---------------------------------------------------------------
+
+#include <sfx2/stbitem.hxx>
+#include "svx/svxdllapi.h"
+
+// class SvxZoomToolBoxControl -------------------------------------------
+
+class SVX_DLLPUBLIC SvxZoomStatusBarControl : public SfxStatusBarControl
+{
+private:
+ USHORT nZoom;
+ USHORT nValueSet;
+
+public:
+ virtual void StateChanged( USHORT nSID, SfxItemState eState,
+ const SfxPoolItem* pState );
+ virtual void Paint( const UserDrawEvent& rEvt );
+ virtual void Command( const CommandEvent& rCEvt );
+
+ SFX_DECL_STATUSBAR_CONTROL();
+
+ SvxZoomStatusBarControl( USHORT nSlotId, USHORT nId, StatusBar& rStb );
+
+ static ULONG GetDefItemWidth(const StatusBar& rStb);
+
+};
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */