diff options
Diffstat (limited to 'svx/inc/svx')
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: */ |