summaryrefslogtreecommitdiff
path: root/sd/inc
diff options
context:
space:
mode:
Diffstat (limited to 'sd/inc')
-rw-r--r--sd/inc/CustomAnimationCloner.hxx42
-rw-r--r--sd/inc/CustomAnimationEffect.hxx476
-rw-r--r--sd/inc/CustomAnimationPreset.hxx155
-rw-r--r--sd/inc/EffectMigration.hxx83
-rwxr-xr-xsd/inc/FactoryIds.hxx51
-rwxr-xr-xsd/inc/Outliner.hxx553
-rwxr-xr-xsd/inc/OutlinerIterator.hxx370
-rw-r--r--sd/inc/SdShapeTypes.hxx83
-rw-r--r--sd/inc/TransitionPreset.hxx95
-rw-r--r--sd/inc/animations.hxx30
-rw-r--r--sd/inc/anmdef.hxx41
-rwxr-xr-xsd/inc/anminfo.hxx89
-rwxr-xr-xsd/inc/app.hrc510
-rw-r--r--sd/inc/app.hxx29
-rwxr-xr-xsd/inc/cusshow.hxx79
-rw-r--r--sd/inc/diadef.h42
-rwxr-xr-xsd/inc/drawdoc.hxx702
-rw-r--r--sd/inc/eetext.hxx34
-rw-r--r--sd/inc/fadedef.h44
-rwxr-xr-xsd/inc/glob.hrc160
-rwxr-xr-xsd/inc/glob.hxx99
-rw-r--r--sd/inc/helper/simplereferencecomponent.hxx115
-rwxr-xr-xsd/inc/helpids.h251
-rw-r--r--sd/inc/imapinfo.hxx71
-rw-r--r--sd/inc/makefile.mk48
-rw-r--r--sd/inc/misc.hxx36
-rw-r--r--sd/inc/misc/scopelock.hxx58
-rw-r--r--sd/inc/movedef.hxx42
-rw-r--r--sd/inc/pch/precompiled_sd.cxx29
-rwxr-xr-xsd/inc/pch/precompiled_sd.hxx914
-rw-r--r--sd/inc/pglink.hxx63
-rwxr-xr-xsd/inc/pres.hxx141
-rw-r--r--sd/inc/prlayout.hxx56
-rw-r--r--sd/inc/resltn.hxx52
-rw-r--r--sd/inc/sd_primitivetypes2d.hxx49
-rwxr-xr-xsd/inc/sdabstdlg.hxx225
-rw-r--r--sd/inc/sdattr.hrc245
-rwxr-xr-xsd/inc/sdattr.hxx175
-rw-r--r--sd/inc/sdcgmfilter.hxx50
-rw-r--r--sd/inc/sdcommands.h310
-rw-r--r--sd/inc/sddll.hxx79
-rw-r--r--sd/inc/sddllapi.h40
-rw-r--r--sd/inc/sdenumdef.hxx38
-rwxr-xr-xsd/inc/sderror.hxx65
-rw-r--r--sd/inc/sdfilter.hxx79
-rwxr-xr-xsd/inc/sdgrffilter.hxx56
-rwxr-xr-xsd/inc/sdhtmlfilter.hxx54
-rwxr-xr-xsd/inc/sdiocmpt.hxx76
-rwxr-xr-xsd/inc/sdmod.hxx216
-rw-r--r--sd/inc/sdobjfac.hxx59
-rwxr-xr-xsd/inc/sdpage.hxx413
-rw-r--r--sd/inc/sdpptwrp.hxx56
-rwxr-xr-xsd/inc/sdresid.hxx42
-rw-r--r--sd/inc/sduiks.hrc73
-rw-r--r--sd/inc/sdundo.hxx53
-rwxr-xr-xsd/inc/sdxmlwrp.hxx63
-rwxr-xr-xsd/inc/shapelist.hxx86
-rw-r--r--sd/inc/stlfamily.hxx126
-rwxr-xr-xsd/inc/stlpool.hxx151
-rwxr-xr-xsd/inc/stlsheet.hxx161
-rw-r--r--sd/inc/strmname.h50
-rwxr-xr-xsd/inc/textapi.hxx69
-rw-r--r--sd/inc/undo/undofactory.hxx50
-rwxr-xr-xsd/inc/undo/undomanager.hxx71
-rw-r--r--sd/inc/undo/undoobjects.hxx202
-rw-r--r--sd/inc/undoanim.hxx95
66 files changed, 9220 insertions, 0 deletions
diff --git a/sd/inc/CustomAnimationCloner.hxx b/sd/inc/CustomAnimationCloner.hxx
new file mode 100644
index 000000000000..e8b658ebe1d3
--- /dev/null
+++ b/sd/inc/CustomAnimationCloner.hxx
@@ -0,0 +1,42 @@
+/*************************************************************************
+ *
+ * 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 _SD_CUSTOMANIMATIONCLONER_HXX
+#define _SD_CUSTOMANIMATIONCLONER_HXX
+
+#include <com/sun/star/animations/XAnimationNode.hpp>
+
+class SdPage;
+
+namespace sd
+{
+ ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode > Clone(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode >& xSourceNode,
+ const SdPage* pSource = 0, const SdPage* pTarget = 0 );
+}
+
+#endif // _SD_CUSTOMANIMATIONCLONER_HXX
diff --git a/sd/inc/CustomAnimationEffect.hxx b/sd/inc/CustomAnimationEffect.hxx
new file mode 100644
index 000000000000..0ad2e855261e
--- /dev/null
+++ b/sd/inc/CustomAnimationEffect.hxx
@@ -0,0 +1,476 @@
+/*************************************************************************
+ *
+ * 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 _SD_CUSTOMANIMATIONEFFECT_HXX
+#define _SD_CUSTOMANIMATIONEFFECT_HXX
+
+#include <com/sun/star/animations/XAnimationNode.hpp>
+#include <com/sun/star/animations/XTimeContainer.hpp>
+#include <com/sun/star/animations/XAudio.hpp>
+#include <com/sun/star/drawing/XShape.hpp>
+#include <com/sun/star/util/XChangesListener.hpp>
+#include <tools/string.hxx>
+
+#include <boost/shared_ptr.hpp>
+
+#include <comphelper/stl_types.hxx>
+#include <vcl/timer.hxx>
+
+#include <sddllapi.h>
+
+#include <list>
+#include <map>
+
+class SdrPathObj;
+
+namespace sd {
+
+// --------------------------------------------------------------------
+
+enum EValue { VALUE_FROM, VALUE_TO, VALUE_BY, VALUE_FIRST, VALUE_LAST };
+
+class CustomAnimationEffect;
+class AnimationTrigger;
+
+class CustomAnimationPreset;
+typedef boost::shared_ptr< CustomAnimationPreset > CustomAnimationPresetPtr;
+
+typedef boost::shared_ptr< CustomAnimationEffect > CustomAnimationEffectPtr;
+
+typedef std::list< CustomAnimationEffectPtr > EffectSequence;
+
+class EffectSequenceHelper;
+
+class CustomAnimationEffect
+{
+ friend class MainSequence;
+ friend class EffectSequenceHelper;
+
+public:
+ SD_DLLPUBLIC CustomAnimationEffect( const ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode >& xNode );
+ SD_DLLPUBLIC virtual ~CustomAnimationEffect();
+
+ const ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode >& getNode() const { return mxNode; }
+ void setNode( const ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode >& xNode );
+ void replaceNode( const ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode >& xNode );
+
+ CustomAnimationEffectPtr clone() const;
+
+ // attributes
+ const rtl::OUString& getPresetId() const { return maPresetId; }
+ const rtl::OUString& getPresetSubType() const { return maPresetSubType; }
+ const rtl::OUString& getProperty() const { return maProperty; }
+
+ sal_Int16 getPresetClass() const { return mnPresetClass; }
+ void setPresetClass( sal_Int16 nPresetClass );
+
+ sal_Int16 getNodeType() const { return mnNodeType; }
+ SD_DLLPUBLIC void setNodeType( sal_Int16 nNodeType );
+
+ ::com::sun::star::uno::Any getRepeatCount() const;
+ void setRepeatCount( const ::com::sun::star::uno::Any& rRepeatCount );
+
+ ::com::sun::star::uno::Any getEnd() const;
+ void setEnd( const ::com::sun::star::uno::Any& rEnd );
+
+ sal_Int16 getFill() const;
+ void setFill( sal_Int16 nFill );
+
+ double getBegin() const { return mfBegin; }
+ SD_DLLPUBLIC void setBegin( double fBegin );
+
+ double getDuration() const { return mfDuration; }
+ SD_DLLPUBLIC void setDuration( double fDuration );
+
+ double getAbsoluteDuration() const { return mfAbsoluteDuration; }
+
+ const String& getName() const { return maName; }
+ void setName( const String& rName ) { maName = rName; }
+
+ sal_Int16 getIterateType() const { return mnIterateType; }
+ SD_DLLPUBLIC void setIterateType( sal_Int16 nIterateType );
+
+ double getIterateInterval() const { return mfIterateInterval; }
+ SD_DLLPUBLIC void setIterateInterval( double fIterateInterval );
+
+ ::com::sun::star::uno::Any getTarget() const { return maTarget; }
+ SD_DLLPUBLIC void setTarget( const ::com::sun::star::uno::Any& rTarget );
+
+ sal_Bool hasAfterEffect() const { return mbHasAfterEffect; }
+ void setHasAfterEffect( sal_Bool bHasAfterEffect ) { mbHasAfterEffect = bHasAfterEffect; }
+
+ ::com::sun::star::uno::Any getDimColor() const { return maDimColor; }
+ void setDimColor( ::com::sun::star::uno::Any aDimColor ) { maDimColor = aDimColor; }
+
+ bool IsAfterEffectOnNext() const { return mbAfterEffectOnNextEffect; }
+ void setAfterEffectOnNext( bool bOnNextEffect ) { mbAfterEffectOnNextEffect = bOnNextEffect; }
+
+ sal_Int32 getParaDepth() const { return mnParaDepth; }
+
+ sal_Bool hasText() const { return mbHasText; }
+
+ sal_Int16 getCommand() const { return mnCommand; }
+
+ double getAcceleration() const { return mfAcceleration; }
+ void setAcceleration( double fAcceleration );
+
+ double getDecelerate() const { return mfDecelerate; }
+ void setDecelerate( double fDecelerate );
+
+ sal_Bool getAutoReverse() const { return mbAutoReverse; }
+ void setAutoReverse( sal_Bool bAutoReverse );
+
+ ::com::sun::star::uno::Any getProperty( sal_Int32 nNodeType, const rtl::OUString& rAttributeName, EValue eValue );
+ bool setProperty( sal_Int32 nNodeType, const rtl::OUString& rAttributeName, EValue eValue, const ::com::sun::star::uno::Any& rValue );
+
+ ::com::sun::star::uno::Any getTransformationProperty( sal_Int32 nTransformType, EValue eValue );
+ bool setTransformationProperty( sal_Int32 nTransformType, EValue eValue, const ::com::sun::star::uno::Any& rValue );
+
+ ::com::sun::star::uno::Any getColor( sal_Int32 nIndex );
+ void setColor( sal_Int32 nIndex, const ::com::sun::star::uno::Any& rColor );
+
+ ::com::sun::star::uno::Any getRotation();
+ void setRotation( const ::com::sun::star::uno::Any& rRotation );
+
+ sal_Int32 getGroupId() const { return mnGroupId; }
+ void setGroupId( sal_Int32 nGroupId );
+
+ sal_Int16 getTargetSubItem() const { return mnTargetSubItem; }
+ SD_DLLPUBLIC void setTargetSubItem( sal_Int16 nSubItem );
+
+ ::rtl::OUString getPath() const;
+ void setPath( const ::rtl::OUString& rPath );
+
+ bool checkForText();
+ bool calculateIterateDuration();
+
+ void setAudio( const ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAudio >& xAudio );
+ bool getStopAudio() const;
+ SD_DLLPUBLIC void setStopAudio();
+ SD_DLLPUBLIC void createAudio( const ::com::sun::star::uno::Any& rSource, double fVolume = 1.0 );
+ void removeAudio();
+ const ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAudio >& getAudio() const { return mxAudio; }
+
+ EffectSequenceHelper* getEffectSequence() const { return mpEffectSequence; }
+
+ // helper
+ ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode > createAfterEffectNode() const throw (com::sun::star::uno::Exception);
+ ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > getTargetShape() const;
+
+ // static helpers
+ static sal_Int32 get_node_type( const ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode >& xNode );
+ static sal_Int32 getNumberOfSubitems( const ::com::sun::star::uno::Any& aTarget, sal_Int16 nIterateType );
+
+ SdrPathObj* createSdrPathObjFromPath();
+ void updateSdrPathObjFromPath( SdrPathObj& rPathObj );
+ void updatePathFromSdrPathObj( const SdrPathObj& rPathObj );
+
+protected:
+ void setEffectSequence( EffectSequenceHelper* pSequence ) { mpEffectSequence = pSequence; }
+
+private:
+ sal_Int16 mnNodeType;
+ rtl::OUString maPresetId;
+ rtl::OUString maPresetSubType;
+ rtl::OUString maProperty;
+ sal_Int16 mnPresetClass;
+ double mfBegin;
+ double mfDuration; // this is the maximum duration of the subeffects
+ double mfAbsoluteDuration; // this is the maximum duration of the subeffects including possible iterations
+ sal_Int32 mnGroupId;
+ sal_Int16 mnIterateType;
+ double mfIterateInterval;
+ sal_Int32 mnParaDepth;
+ sal_Bool mbHasText;
+ double mfAcceleration;
+ double mfDecelerate;
+ sal_Bool mbAutoReverse;
+ sal_Int16 mnTargetSubItem;
+ sal_Int16 mnCommand;
+
+ EffectSequenceHelper* mpEffectSequence;
+
+ String maName;
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode > mxNode;
+ ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAudio > mxAudio;
+ ::com::sun::star::uno::Any maTarget;
+
+ sal_Bool mbHasAfterEffect;
+ ::com::sun::star::uno::Any maDimColor;
+ bool mbAfterEffectOnNextEffect;
+};
+
+struct stl_CustomAnimationEffect_search_node_predict
+{
+ stl_CustomAnimationEffect_search_node_predict( const ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode >& xSearchNode );
+ bool operator()( CustomAnimationEffectPtr pEffect ) const;
+ const ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode >& mxSearchNode;
+};
+
+enum ESequenceHint { EFFECT_EDITED, EFFECT_REMOVED, EFFECT_ADDED };
+
+/** this listener is implemented by UI components to track changes in the animation core */
+class ISequenceListener
+{
+public:
+ virtual void notify_change() = 0;
+};
+
+/** this class keeps track of a group of animations that build up
+ a text animation for a single shape */
+class CustomAnimationTextGroup
+{
+ friend class EffectSequenceHelper;
+
+public:
+ CustomAnimationTextGroup( const ::com::sun::star::uno::Reference< com::sun::star::drawing::XShape >& rTarget, sal_Int32 nGroupId );
+
+ void reset();
+ void addEffect( CustomAnimationEffectPtr& pEffect );
+
+ const ::com::sun::star::uno::Reference< com::sun::star::drawing::XShape >& getTarget() const { return maTarget; }
+ const EffectSequence& getEffects() const { return maEffects; }
+
+ /* -1: as single object, 0: all at once, n > 0: by n Th paragraph */
+ sal_Int32 getTextGrouping() const { return mnTextGrouping; }
+
+ sal_Bool getAnimateForm() const { return mbAnimateForm; }
+ sal_Bool getTextReverse() const { return mbTextReverse; }
+ double getTextGroupingAuto() const { return mfGroupingAuto; }
+
+private:
+ EffectSequence maEffects;
+ ::com::sun::star::uno::Reference< com::sun::star::drawing::XShape > maTarget;
+
+ sal_Int32 mnTextGrouping;
+ sal_Bool mbAnimateForm;
+ sal_Bool mbTextReverse;
+ double mfGroupingAuto;
+ sal_Int32 mnLastPara;
+ sal_Int8 mnDepthFlags[5];
+ sal_Int32 mnGroupId;
+};
+
+typedef boost::shared_ptr< CustomAnimationTextGroup > CustomAnimationTextGroupPtr;
+typedef std::map< sal_Int32, CustomAnimationTextGroupPtr > CustomAnimationTextGroupMap;
+
+class EffectSequenceHelper
+{
+friend class MainSequence;
+
+public:
+ EffectSequenceHelper();
+ EffectSequenceHelper( const ::com::sun::star::uno::Reference< ::com::sun::star::animations::XTimeContainer >& xSequenceRoot );
+ virtual ~EffectSequenceHelper();
+
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode > getRootNode();
+
+ CustomAnimationEffectPtr append( const CustomAnimationPresetPtr& pDescriptor, const ::com::sun::star::uno::Any& rTarget, double fDuration = -1.0 );
+ CustomAnimationEffectPtr append( const SdrPathObj& rPathObj, const ::com::sun::star::uno::Any& rTarget, double fDuration = -1.0 );
+ SD_DLLPUBLIC void append( const CustomAnimationEffectPtr& pEffect );
+ void insert( EffectSequence::iterator& rPos, const CustomAnimationEffectPtr& pEffect );
+ void replace( const CustomAnimationEffectPtr& pEffect, const CustomAnimationPresetPtr& pDescriptor, double fDuration = -1.0 );
+ void replace( const CustomAnimationEffectPtr& pEffect, const CustomAnimationPresetPtr& pDescriptor, const rtl::OUString& rPresetSubType, double fDuration = -1.0 );
+ void remove( const CustomAnimationEffectPtr& pEffect );
+
+ void create( const ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode >& xNode );
+ void createEffectsequence( const ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode >& xNode );
+ void processAfterEffect( const ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode >& xNode );
+ void createEffects( const ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode >& xNode );
+
+ sal_Int32 getCount() const { return sal::static_int_cast< sal_Int32 >( maEffects.size() ); }
+
+ virtual CustomAnimationEffectPtr findEffect( const ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode >& xNode ) const;
+
+ virtual bool disposeShape( const com::sun::star::uno::Reference< com::sun::star::drawing::XShape >& xShape );
+ virtual void insertTextRange( const com::sun::star::uno::Any& aTarget );
+ virtual void disposeTextRange( const com::sun::star::uno::Any& aTarget );
+ virtual bool hasEffect( const com::sun::star::uno::Reference< com::sun::star::drawing::XShape >& xShape );
+ virtual void onTextChanged( const com::sun::star::uno::Reference< com::sun::star::drawing::XShape >& xShape );
+
+ /** this must be called if effects from this sequence are changed.
+ the method will call the registered listeners */
+ void update( const CustomAnimationEffectPtr& pEffect );
+
+ /** this method rebuilds the animation nodes */
+ virtual void rebuild();
+
+ EffectSequence::iterator getBegin() { return maEffects.begin(); }
+ EffectSequence::iterator getEnd() { return maEffects.end(); }
+ EffectSequence::iterator find( const CustomAnimationEffectPtr& pEffect );
+
+ EffectSequence& getSequence() { return maEffects; }
+
+ void addListener( ISequenceListener* pListener );
+ void removeListener( ISequenceListener* pListener );
+
+ // text group methods
+
+ CustomAnimationTextGroupPtr findGroup( sal_Int32 nGroupId );
+ SD_DLLPUBLIC CustomAnimationTextGroupPtr createTextGroup( CustomAnimationEffectPtr pEffect, sal_Int32 nTextGrouping, double fTextGroupingAuto, sal_Bool bAnimateForm, sal_Bool bTextReverse );
+ void setTextGrouping( CustomAnimationTextGroupPtr pTextGroup, sal_Int32 nTextGrouping );
+ void setAnimateForm( CustomAnimationTextGroupPtr pTextGroup, sal_Bool bAnimateForm );
+ void setTextGroupingAuto( CustomAnimationTextGroupPtr pTextGroup, double fTextGroupingAuto );
+ void setTextReverse( CustomAnimationTextGroupPtr pTextGroup, sal_Bool bAnimateForm );
+
+ sal_Int32 getSequenceType() const { return mnSequenceType; }
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > getTriggerShape() const { return mxEventSource; }
+ void setTriggerShape( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& xTrigger ) { mxEventSource = xTrigger; }
+
+ virtual sal_Int32 getOffsetFromEffect( const CustomAnimationEffectPtr& xEffect ) const;
+ virtual CustomAnimationEffectPtr getEffectFromOffset( sal_Int32 nOffset ) const;
+
+protected:
+ virtual void implRebuild();
+ virtual void reset();
+
+ void createTextGroupParagraphEffects( CustomAnimationTextGroupPtr pTextGroup, CustomAnimationEffectPtr pEffect, bool bUsed );
+
+ void notify_listeners();
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::animations::XTimeContainer > createParallelTimeContainer() const;
+
+ void updateTextGroups();
+
+protected:
+ ::com::sun::star::uno::Reference< ::com::sun::star::animations::XTimeContainer > mxSequenceRoot;
+ EffectSequence maEffects;
+ std::list< ISequenceListener* > maListeners;
+ CustomAnimationTextGroupMap maGroupMap;
+ sal_Int32 mnSequenceType;
+ ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > mxEventSource;
+};
+
+class MainSequence;
+
+class InteractiveSequence : public EffectSequenceHelper
+{
+friend class MainSequence;
+friend class MainSequenceChangeGuard;
+
+public:
+ InteractiveSequence( const ::com::sun::star::uno::Reference< ::com::sun::star::animations::XTimeContainer >& xSequenceRoot, MainSequence* pMainSequence );
+
+ /** this method rebuilds the animation nodes */
+ virtual void rebuild();
+
+private:
+ virtual void implRebuild();
+
+ MainSequence* mpMainSequence;
+};
+
+typedef boost::shared_ptr< InteractiveSequence > InteractiveSequencePtr;
+typedef std::list< InteractiveSequencePtr > InteractiveSequenceList;
+
+class MainSequence : public EffectSequenceHelper, public ISequenceListener
+{
+ friend class UndoAnimation;
+ friend class MainSequenceRebuildGuard;
+ friend class MainSequenceChangeGuard;
+
+public:
+ MainSequence();
+ MainSequence( const ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode >& xTimingRootNode );
+ ~MainSequence();
+
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode > getRootNode();
+ void reset( const ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode >& xTimingRootNode );
+
+ /** this method rebuilds the animation nodes */
+ virtual void rebuild();
+
+ virtual CustomAnimationEffectPtr findEffect( const ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode >& xNode ) const;
+
+ virtual bool disposeShape( const com::sun::star::uno::Reference< com::sun::star::drawing::XShape >& xShape );
+ virtual void insertTextRange( const com::sun::star::uno::Any& aTarget );
+ virtual void disposeTextRange( const com::sun::star::uno::Any& aTarget );
+ virtual bool hasEffect( const com::sun::star::uno::Reference< com::sun::star::drawing::XShape >& xShape );
+ virtual void onTextChanged( const com::sun::star::uno::Reference< com::sun::star::drawing::XShape >& xShape );
+
+ const InteractiveSequenceList& getInteractiveSequenceList() const { return maInteractiveSequenceList; }
+
+ virtual void notify_change();
+
+ bool setTrigger( const CustomAnimationEffectPtr& pEffect, const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& xTriggerShape );
+
+ /** starts a timer that recreates the internal structure from the API core after 1 second */
+ void startRecreateTimer();
+
+ /** starts a timer that rebuilds the API core from the internal structure after 1 second */
+ void startRebuildTimer();
+
+ virtual sal_Int32 getOffsetFromEffect( const CustomAnimationEffectPtr& xEffect ) const;
+ virtual CustomAnimationEffectPtr getEffectFromOffset( sal_Int32 nOffset ) const;
+
+protected:
+ /** permits rebuilds until unlockRebuilds() is called. All rebuild calls during a locked sequence are
+ process after unlockRebuilds() call. lockRebuilds() and unlockRebuilds() calls can be nested. */
+ void lockRebuilds();
+ void unlockRebuilds();
+
+ DECL_LINK( onTimerHdl, Timer * );
+
+ virtual void implRebuild();
+
+ void init();
+
+ void createMainSequence();
+ virtual void reset();
+
+ InteractiveSequencePtr createInteractiveSequence( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& xShape );
+
+ InteractiveSequenceList maInteractiveSequenceList;
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::util::XChangesListener > mxChangesListener;
+ ::com::sun::star::uno::Reference< ::com::sun::star::animations::XTimeContainer > mxTimingRootNode;
+ Timer maTimer;
+ bool mbTimerMode;
+ bool mbRebuilding;
+
+ long mnRebuildLockGuard;
+ bool mbPendingRebuildRequest;
+ sal_Int32 mbIgnoreChanges;
+};
+
+typedef boost::shared_ptr< MainSequence > MainSequencePtr;
+
+class MainSequenceRebuildGuard
+{
+public:
+ MainSequenceRebuildGuard( const MainSequencePtr& pMainSequence );
+ ~MainSequenceRebuildGuard();
+
+private:
+ MainSequencePtr mpMainSequence;
+};
+
+}
+
+#endif // _SD_CUSTOMANIMATIONEFFECT_HXX
diff --git a/sd/inc/CustomAnimationPreset.hxx b/sd/inc/CustomAnimationPreset.hxx
new file mode 100644
index 000000000000..fb605f5415d8
--- /dev/null
+++ b/sd/inc/CustomAnimationPreset.hxx
@@ -0,0 +1,155 @@
+/*************************************************************************
+ *
+ * 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 _SD_CUSTOMANIMATIONPRESET_HXX
+#define _SD_CUSTOMANIMATIONPRESET_HXX
+
+#ifndef BOOST_SHARED_PTR_HPP_INCLUDED
+#include <boost/shared_ptr.hpp>
+#endif
+#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include <com/sun/star/animations/AnimationNodeType.hpp>
+
+#ifndef _UTL_STLTYPES_HXX_
+#include <comphelper/stl_types.hxx>
+#endif
+#include <CustomAnimationEffect.hxx>
+
+#include <hash_map>
+
+namespace sd {
+
+typedef std::hash_map< rtl::OUString, CustomAnimationEffectPtr, comphelper::UStringHash, comphelper::UStringEqual > EffectsSubTypeMap;
+typedef std::hash_map< rtl::OUString, rtl::OUString, comphelper::UStringHash, comphelper::UStringEqual > UStringMap;
+typedef std::vector< rtl::OUString > UStringList;
+
+class CustomAnimationPreset
+{
+ friend class CustomAnimationPresets;
+
+public:
+ CustomAnimationPreset( CustomAnimationEffectPtr pEffect );
+
+ void add( CustomAnimationEffectPtr pEffect );
+
+ SD_DLLPUBLIC ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode > create( const rtl::OUString& rstrSubType );
+
+ const rtl::OUString& getPresetId() const { return maPresetId; }
+ const rtl::OUString& getProperty() const { return maProperty; }
+ const rtl::OUString& getLabel() const { return maLabel; }
+ sal_Int16 getPresetClass() const { return mnPresetClass; }
+ double getDuration() const { return mfDuration; }
+
+ UStringList getSubTypes();
+ UStringList getProperties() const;
+
+ bool hasProperty( const rtl::OUString& rProperty ) const;
+ bool isTextOnly() const { return mbIsTextOnly; }
+
+private:
+ rtl::OUString maPresetId;
+ rtl::OUString maProperty;
+ sal_Int16 mnPresetClass;
+ rtl::OUString maLabel;
+ rtl::OUString maDefaultSubTyp;
+ double mfDuration;
+ bool mbIsTextOnly;
+
+ EffectsSubTypeMap maSubTypes;
+};
+
+typedef boost::shared_ptr< CustomAnimationPreset > CustomAnimationPresetPtr;
+typedef std::hash_map<rtl::OUString, CustomAnimationPresetPtr, comphelper::UStringHash, comphelper::UStringEqual> EffectDescriptorMap;
+typedef std::vector< CustomAnimationPresetPtr > EffectDescriptorList;
+
+struct PresetCategory
+{
+ rtl::OUString maLabel;
+ EffectDescriptorList maEffects;
+
+ PresetCategory( const rtl::OUString& rLabel, const EffectDescriptorList& rEffects )
+ : maLabel( rLabel ), maEffects( rEffects ) {}
+};
+typedef boost::shared_ptr< PresetCategory > PresetCategoryPtr;
+typedef std::vector< PresetCategoryPtr > PresetCategoryList;
+
+class CustomAnimationPresets
+{
+public:
+ CustomAnimationPresets();
+ virtual ~CustomAnimationPresets();
+
+ void init();
+
+ SD_DLLPUBLIC static const CustomAnimationPresets& getCustomAnimationPresets();
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode > getRandomPreset( sal_Int16 nPresetClass ) const;
+
+ SD_DLLPUBLIC CustomAnimationPresetPtr getEffectDescriptor( const rtl::OUString& rPresetId ) const;
+// const AnimationEffect* getEffect( const rtl::OUString& rPresetId ) const;
+// const AnimationEffect* getEffect( const rtl::OUString& rPresetId, const rtl::OUString& rPresetSubType ) const;
+
+ const rtl::OUString& getUINameForPresetId( const rtl::OUString& rPresetId ) const;
+ const rtl::OUString& getUINameForProperty( const rtl::OUString& rProperty ) const;
+
+ const PresetCategoryList& getEntrancePresets() const { return maEntrancePresets; }
+ const PresetCategoryList& getEmphasisPresets() const { return maEmphasisPresets; }
+ const PresetCategoryList& getExitPresets() const { return maExitPresets; }
+ const PresetCategoryList& getMotionPathsPresets() const { return maMotionPathsPresets; }
+ const PresetCategoryList& getMiscPresets() const { return maMiscPresets; }
+
+ void changePresetSubType( CustomAnimationEffectPtr pEffect, const rtl::OUString& rPresetSubType ) const;
+
+private:
+ void importEffects();
+ void importResources();
+
+ void importPresets( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xConfigProvider, const rtl::OUString& rNodePath, PresetCategoryList& rPresetMap );
+
+ const rtl::OUString& translateName( const rtl::OUString& rId, const UStringMap& rNameMap ) const;
+
+private:
+ ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode > mxRootNode;
+ EffectDescriptorMap maEffectDiscriptorMap;
+ UStringMap maEffectNameMap;
+ UStringMap maPropertyNameMap;
+
+ PresetCategoryList maEntrancePresets;
+ PresetCategoryList maEmphasisPresets;
+ PresetCategoryList maExitPresets;
+ PresetCategoryList maMotionPathsPresets;
+ PresetCategoryList maMiscPresets;
+
+ static CustomAnimationPresets* mpCustomAnimationPresets;
+};
+
+typedef boost::shared_ptr< CustomAnimationPresets > CustomAnimationPresetsPtr;
+
+}
+
+#endif // _SD_CUSTOMANIMATIONEFFECTS_HXX
+
diff --git a/sd/inc/EffectMigration.hxx b/sd/inc/EffectMigration.hxx
new file mode 100644
index 000000000000..eb173f495de2
--- /dev/null
+++ b/sd/inc/EffectMigration.hxx
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * 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 _SD_EFFECT_MIGRATION_HXX
+#define _SD_EFFECT_MIGRATION_HXX
+
+#include <com/sun/star/presentation/AnimationEffect.hpp>
+#include <com/sun/star/presentation/AnimationSpeed.hpp>
+#include <com/sun/star/presentation/FadeEffect.hpp>
+
+class SdPage;
+class SvxShape;
+class SdAnimationInfo;
+class SdrObject;
+
+namespace sd {
+
+/** this helper class gives various methods to convert effects from OOo 1.1
+ and below to and from OOo 2.0 and above
+*/
+class EffectMigration
+{
+public:
+ static ::com::sun::star::presentation::AnimationSpeed ConvertDuration( double fDuration );
+ static double ConvertAnimationSpeed( ::com::sun::star::presentation::AnimationSpeed eSpeed );
+
+ static bool ConvertPreset( const ::rtl::OUString& rPresetId, const ::rtl::OUString* pPresetSubType, ::com::sun::star::presentation::AnimationEffect& rEffect );
+ static bool ConvertAnimationEffect( const ::com::sun::star::presentation::AnimationEffect& rEffect, ::rtl::OUString& rPresetId, ::rtl::OUString& rPresetSubType );
+
+public:
+ void AddEffectFromAnimationInfo( SdrObject* pObject, SdAnimationInfo* pInfo );
+
+public:
+ static void SetFadeEffect( SdPage* pPage, ::com::sun::star::presentation::FadeEffect eNewEffect);
+ static ::com::sun::star::presentation::FadeEffect GetFadeEffect( const SdPage* pPage );
+
+public:
+ static void SetAnimationEffect( SvxShape* pShape, ::com::sun::star::presentation::AnimationEffect eValue );
+ static ::com::sun::star::presentation::AnimationEffect GetAnimationEffect( SvxShape* pShape );
+ static void SetTextAnimationEffect( SvxShape* pShape, ::com::sun::star::presentation::AnimationEffect eValue );
+ static ::com::sun::star::presentation::AnimationEffect GetTextAnimationEffect( SvxShape* pShape );
+ static void SetAnimationSpeed( SvxShape* pShape, ::com::sun::star::presentation::AnimationSpeed eSpeed );
+ static ::com::sun::star::presentation::AnimationSpeed GetAnimationSpeed( SvxShape* pShape );
+ static void SetDimColor( SvxShape* pShape, sal_Int32 nColor );
+ static sal_Int32 GetDimColor( SvxShape* pShape );
+ static void SetDimHide( SvxShape* pShape, sal_Bool bDimHide );
+ static sal_Bool GetDimHide( SvxShape* pShape );
+ static void SetDimPrevious( SvxShape* pShape, sal_Bool bDimPrevious );
+ static sal_Bool GetDimPrevious( SvxShape* pShape );
+ static void SetPresentationOrder( SvxShape* pShape, sal_Int32 nNewPos );
+ static sal_Int32 GetPresentationOrder( SvxShape* pShape );
+ static void UpdateSoundEffect( SvxShape* pShape, SdAnimationInfo* pInfo );
+ static ::rtl::OUString GetSoundFile( SvxShape* pShape );
+ static sal_Bool GetSoundOn( SvxShape* pShape );
+};
+
+} // end of namespace sd
+
+#endif
diff --git a/sd/inc/FactoryIds.hxx b/sd/inc/FactoryIds.hxx
new file mode 100755
index 000000000000..4f2346942fc9
--- /dev/null
+++ b/sd/inc/FactoryIds.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 SD_FACTORY_IDS_HXX
+#define SD_FACTORY_IDS_HXX
+
+namespace sd {
+
+/** This are ids used by SfxTopFrame::Create() or CreateViewFrame() to
+ select a factory to create an instance of an SfxViewShell super
+ class. This allows the caller to create a view shell directly
+ with a certain view instead of first create a default view and
+ then switch to the desired view.
+*/
+enum ViewShellFactoryIds
+{
+ IMPRESS_FACTORY_ID = 1,
+ DRAW_FACTORY_ID = 1,
+ SLIDE_SORTER_FACTORY_ID = 2,
+ OUTLINE_FACTORY_ID = 3,
+ PRESENTATION_FACTORY_ID = 4
+};
+
+} // end of namespace sd
+
+#endif
+
diff --git a/sd/inc/Outliner.hxx b/sd/inc/Outliner.hxx
new file mode 100755
index 000000000000..45db437e9370
--- /dev/null
+++ b/sd/inc/Outliner.hxx
@@ -0,0 +1,553 @@
+/*************************************************************************
+ *
+ * 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 SD_OUTLINER_HXX
+#define SD_OUTLINER_HXX
+
+#include <svx/svdobj.hxx>
+#include <svx/svdoutl.hxx>
+#include "pres.hxx"
+#include "OutlinerIterator.hxx"
+#include <editeng/SpellPortions.hxx>
+#include <memory>
+#include <boost/shared_ptr.hpp>
+
+class Dialog;
+class SdPage;
+class SdrObject;
+class SdrTextObj;
+class SdDrawDocument;
+class SfxStyleSheetPool;
+class SdrObjListIter;
+
+namespace sd {
+
+class DrawViewShell;
+class View;
+class ViewShell;
+class Window;
+
+/** The main purpose of this class is searching and replacing as well as
+ spelling of impress documents. The main part of both tasks lies in
+ iterating over the pages and view modes of a document and apply the
+ respective function to all objects containing text on those pages.
+
+ <p>Relevant objects: There are two sets of objects to search/spell
+ check. One is the set of all selected objects. The other consists of
+ all objects on all pages in draw-, notes-, and handout view as well as
+ slide- and background view (draw pages and master pages).</p>
+
+ <p>Iteration: Search/replace and spelling functions operate on shapes
+ containing text. To cover all relevant objects an order has to be
+ defined on the objects. For the set of all selected objects this order
+ is simply the order in which they can be retrieved from the selection
+ object.<br>
+ When there is no selection the order is nested. The three modes of the
+ draw view are on the outer level: draw mode, notes mode, handout mode.
+ The inner level switches between draw pages and master pages. This
+ leads to the following order:
+ <ol>
+ <li>draw pages of draw mode</li>
+ <li>master pages of draw mode</li>
+ <li>draw pages of notes mode</li>
+ <li>master pages of notes mode</li>
+ <li>draw pages of handout mode</li>
+ <li>master pages of handout mode</li>
+ </ol>
+ Iteration starts at the top of the current page. When reaching the end
+ of the document, i.e. the last master page of the handout mode, it jumps
+ to the first draw page of draw mode. In backward searches this order is
+ reversed. When doing a <em>replace all</em> then the whole document is
+ searched for matches starting at the first page of the draw/slide view
+ (or last page of handout/background view even though search
+ direction).</p>
+
+ <p>The start position is restored after finishing spell checking or
+ replacing all matches in a document.</p>
+
+ <p>Some related pieces of information:
+ The search dialog (<type>SvxSearchDialog</type>) can be controlled in
+ more than one way:
+ <ul><li>A set of option flags returned by the slot call
+ SID_SEARCH_OPTIONS handled by the
+ <member>SdDrawDocument::GetState()</member> method.</li>
+ <li>The contents of the search item of type
+ <type>SvxSearchItem</type>.</li>
+ <li>The <member>HasSelection()</member> view shell method that returns
+ whether or not a selection exists. However, it is called from the
+ search dialog with an argument so that only text selections are
+ queried. This is only sufficient for searching the outline view.
+ </p>
+*/
+class Outliner
+ : public SdrOutliner
+{
+public:
+ friend class ::sd::outliner::OutlinerContainer;
+
+ /** Create a new sd outliner object.
+ @param pDoc
+ The draw document from which to take the content.
+ @param nMode
+ The valid values <const>OUTLINERMODE_DONTKNOW</const>,
+ <const>OUTLINERMODE_TEXTOBJECT</const>,
+ <const>OUTLINERMODE_TITLEOBJECT</const>,
+ <const>OUTLINERMODE_OUTLINEOBJECT</const>, and
+ <const>OUTLINERMODE_OUTLINEVIEW</const> are defined in
+ editeng/outliner.hxx.
+ */
+ Outliner( SdDrawDocument* pDoc, sal_uInt16 nMode );
+ virtual ~Outliner();
+
+ /** Despite the name this method is called prior to spell cheking *and*
+ searching and replacing. The position of current view
+ mode/page/object/caret position is remembered and, depending on the
+ search mode, may be restored after finishing searching/spell
+ checking.
+ */
+ void PrepareSpelling (void);
+
+ /** Initialize a spell check but do not start it yet. This method
+ is a better candiate for the name PrepareSpelling.
+ */
+ void StartSpelling (void);
+
+ /** Proxy for method from base class to avoid compiler warning */
+ void StartSpelling(EditView&, unsigned char);
+
+ /** Initiate a find and/or replace on the next relevant text object.
+ @return
+ Returns </sal_True> when the search/replace is finished (as
+ indicated by user input to the search dialog). A </sal_False> value
+ indicates that another call to this method is required.
+ */
+ bool StartSearchAndReplace (const SvxSearchItem* pSearchItem);
+
+ /** Iterate over the sentences in all text shapes and stop at the
+ next sentence with spelling errors. While doing so the view
+ mode may be changed and text shapes are set into edit mode.
+ */
+ ::svx::SpellPortions GetNextSpellSentence (void);
+
+ /** Release all resources that have been created during the find&replace
+ or spell check.
+ */
+ void EndSpelling (void);
+
+ /** callback for textconversion */
+ sal_Bool ConvertNextDocument (void);
+
+ /** Starts the text conversion (hangul/hanja or Chinese simplified/traditional)
+ for the current viewshell */
+ void StartConversion( sal_Int16 nSourceLanguage, sal_Int16 nTargetLanguage,
+ const Font *pTargetFont, sal_Int32 nOptions, sal_Bool bIsInteractive );
+
+ /** This is called internaly when text conversion is started.
+ The position of current view mode/page/object/caret position
+ is remembered and will be restored after conversion.
+ */
+ void BeginConversion (void);
+
+ /** Release all resources that have been created during the conversion */
+ void EndConversion (void);
+
+ DECL_LINK( SpellError, void * );
+
+ enum ChangeHint { CH_VIEW_SHELL_INVALID, CH_VIEW_SHELL_VALID };
+
+ int GetIgnoreCurrentPageChangesLevel() const { return mnIgnoreCurrentPageChangesLevel; };
+ void IncreIgnoreCurrentPageChangesLevel() { mnIgnoreCurrentPageChangesLevel++; };
+ void DecreIgnoreCurrentPageChangesLevel() { mnIgnoreCurrentPageChangesLevel--; };
+
+private:
+ class Implementation;
+ ::std::auto_ptr<Implementation> mpImpl;
+
+ /// Specifies whether to search and replace, to spell check or to do a
+ /// text conversion.
+ enum mode {SEARCH, SPELL, TEXT_CONVERSION} meMode;
+
+ /// The view which displays the searched objects.
+ ::sd::View* mpView;
+ /// The view shell containing the view.
+ ::boost::shared_ptr<ViewShell> mpViewShell;
+ /// This window contains the view.
+ ::sd::Window* mpWindow;
+ /// The document on whose objects and pages this class operates.
+ SdDrawDocument* mpDrawDocument;
+
+ /** this is the language that is used for current text conversion.
+ Only valid if meMode is TEXT_CONVERSION.
+ */
+ sal_Int16 mnConversionLanguage;
+
+ /** While the value of this flag is greater than 0 changes of the current page
+ do not lead to selecting the corresponding text in the outliner.
+ */
+ int mnIgnoreCurrentPageChangesLevel;
+
+ /// Specifies whether the search string has been found so far.
+ bool mbStringFound;
+
+ /** This flag indicates whether there may exist a match of the search
+ string before/after the current position in the document. It can be
+ set to </sal_False> only when starting from the beginning/end of the
+ document. When reaching the end/beginning with it still be set to
+ </sal_False> then there exists no match and the search can be terminated.
+ */
+ bool mbMatchMayExist;
+
+ /// The number of pages in the current view.
+ sal_uInt16 mnPageCount;
+
+ /// Number of objects on the current page / in the current selection.
+ sal_Int32 mnObjectCount;
+
+ /** A <TRUE/> value indicates that the end of the find&replace or spell
+ check has been reached.
+ */
+ bool mbEndOfSearch;
+
+ /** Set to <TRUE/> when an object has been prepared successfully for
+ searching/spell checking. This flag directs the internal iteration
+ which stops when set to </sal_True>.
+ */
+ bool mbFoundObject;
+
+ /** When set to <TRUE/> this flag indicates that an error has occured
+ that should terminate the iteration over the objects to search/spell
+ check.
+ */
+ bool mbError;
+
+ /** This flag indicates whether to search forward or backwards.
+ */
+ bool mbDirectionIsForward;
+
+ /** This flag indicates that only the selected objects are to be
+ searched.
+ */
+ bool mbRestrictSearchToSelection;
+
+ /** When the search is restricted to the current selection then
+ this list contains pointers to all the objects of the
+ selection. This copy is necessary because during the search
+ process the mark list is modified.
+ */
+ ::std::vector<SdrObjectWeakRef> maMarkListCopy;
+
+ /** This flag inidcates that only the current view is to be used for
+ searching and spelling. Automatically switching to other view does
+ not take place when this flag is set.
+ */
+ bool mbProcessCurrentViewOnly;
+
+ /** Current object that may be a text object. The object pointer to
+ corresponds to <member>mnObjIndex</member>. While iterating over the
+ objects on a page <member>mpObj</member> will point to every object
+ while <member>mpTextObj</member> will be set only to valid text
+ objects.
+ */
+ SdrObject* mpObj;
+
+ /** this stores the first object that is used for text conversion.
+ Conversion automaticly wraps around the document and stops when it
+ finds this object again.
+ */
+ SdrObject* mpFirstObj;
+
+ /// Candidate for being searched/spell checked.
+ SdrTextObj* mpTextObj;
+
+ /// Current text to be searched/spelled inside the current text object
+ sal_Int32 mnText;
+
+ /// Paragraph object of <member>mpTextObj</member>.
+ OutlinerParaObject* mpParaObj;
+
+ /// The view mode that was active when starting to search/spell check.
+ PageKind meStartViewMode;
+
+ /// The master page mode that was active when starting to search/spell check.
+ EditMode meStartEditMode;
+
+ /// The current page index on starting to search/spell check.
+ sal_uInt16 mnStartPageIndex;
+
+ /// The object in edit mode when searching /spell checking was started
+ /// (if any).
+ SdrObject* mpStartEditedObject;
+
+ /// The position of the caret when searching /spell checking was started.
+ ESelection maStartSelection;
+
+ /** The search item contains various attributes that define the type of
+ search. It is set every time the
+ <member>SearchAndReplaceAll</member> method is called.
+ */
+ const SvxSearchItem* mpSearchItem;
+
+ /// The actual object iterator.
+ ::sd::outliner::Iterator maObjectIterator;
+ /// The current position of the object iterator.
+ ::sd::outliner::IteratorPosition maCurrentPosition;
+ /// The position when the search started. Corresponds largely to the
+ /// m?Start* members.
+ ::sd::outliner::Iterator maSearchStartPosition;
+ /** The last valid position desribes where the last text object has been
+ found. This position is restored when some dialogs are shown. The
+ position is initially set to the where the search begins.
+ */
+ ::sd::outliner::IteratorPosition maLastValidPosition;
+
+ /** This flag remebers a selection change between a call to the
+ selection change listener callback and the next
+ <member>DetectChange()</member> method call.
+ */
+ bool mbSelectionHasChanged;
+
+ /** This flag indicates whether a selection change event is expected due
+ to a programatical change of the selection.
+ */
+ bool mbExpectingSelectionChangeEvent;
+
+ /** This flag is set to true when the whole document has been
+ processed once 'officially', i.e. a message box has been shown
+ that tells the user so.
+ */
+ bool mbWholeDocumentProcessed;
+
+ /** When this flag is true then a PrepareSpelling() is executed when
+ StartSearchAndReplace() is called the next time.
+ */
+ bool mbPrepareSpellingPending;
+
+ /** In this flag we store whether the view shell is valid and may be
+ accessed.
+ */
+ bool mbViewShellValid;
+
+ /** Initialize the object iterator. Call this method after being
+ invoked from the search or spellcheck dialog. It creates a new
+ iterator pointing at the current object when this has not been done
+ before. It reverses the direction of iteration if the given flag
+ differs from the current direction.
+ @param bDirectionIsForward
+ This flag specifies in which direction to iterator over the
+ objects. If it differs from the current direction the iterator
+ is reversed.
+ */
+ void Initialize (bool bDirectionIsForward);
+
+ /** Do search and replace for whole document.
+ */
+ bool SearchAndReplaceAll (void);
+
+ /** Do search and replace for next match.
+ @return
+ The return value specifies whether the search ended (</sal_True>) or
+ another call to this method is required (</sal_False>).
+ */
+ bool SearchAndReplaceOnce (void);
+
+ /** Detect changes of the document or view and react accordingly. Such
+ changes may occur because different calls to
+ <member>SearchAndReplace()</member> there usually is user
+ interaction. This is at least the press of the search or replace
+ button but may include any other action some of which affect the
+ search.
+ */
+ void DetectChange (void);
+
+ /** Detect whether the selection has changed.
+ @return
+ Return <TRUE/> when the selection has been changed since the
+ last call to this method.
+ */
+ bool DetectSelectionChange (void);
+
+ /** Remember the current edited object/caret position/page/view mode
+ when starting to search/spell check so that it can be restored on
+ termination.
+ */
+ void RememberStartPosition (void);
+
+ /** Restore the position stored in the last call of
+ <member>RememberStartPositiony</member>.
+ */
+ void RestoreStartPosition (void);
+
+ /** Provide next object to search or spell check as text object in edit
+ mode on the current page. This skips all objects that do not
+ match or are no text object.
+ */
+ void ProvideNextTextObject (void);
+
+ /** Handle the situation that the iterator has reached the last object.
+ This may result in setting the <member>mbEndOfSearch</member> flag
+ back to </sal_False>. This method may show either the end-of-search
+ dialog or the wrap-arround dialog.
+ */
+ void EndOfSearch (void);
+
+ /** Show a dialog that tells the user that the search has ended either
+ because there are no more matches after finding at least one or that
+ no match has been found at all.
+ */
+ void ShowEndOfSearchDialog (void);
+
+ /** Show a dialog that asks the user whether to wrap arround to the
+ beginning/end of the document and continue with the search/spell
+ check.
+ */
+ bool ShowWrapArroundDialog (void);
+
+ /** Check whether the object pointed to by the iterator is a valid text
+ object.
+ @param aPosition
+ The object for which to test whether it is a valid text object.
+ */
+ bool IsValidTextObject (const ::sd::outliner::IteratorPosition& rPosition);
+
+ /** Put text of current text object into outliner so that the text can
+ be searched/spell checked.
+ */
+ void PutTextIntoOutliner (void);
+
+ /** Prepare to do spell checking on the current text object. This
+ includes putting it into edit mode. Under certain conditions this
+ method sets <member>mbEndOfSearch</member> to <TRUE/>.
+ */
+ void PrepareSpellCheck (void);
+
+ /** Prepare to search and replace on the current text object. This
+ includes putting it into edit mode.
+ */
+ void PrepareSearchAndReplace (void);
+
+ /** Prepare to do a text conversion on the current text
+ object. This includes putting it into edit mode.
+ */
+ void PrepareConversion (void);
+
+ /** Switch to a new view mode. Try to restore the original edit mode
+ before doing so.
+ @param ePageKind
+ Specifies the new view mode.
+ */
+ void SetViewMode (PageKind ePageKind);
+
+ /** Switch to the page or master page specified by the
+ <member>mnPage</member> index. Master page mode is specified by
+ <member>meEditMode</member>.
+ @param eEditMode
+ The new edit mode.
+ @param nPageIndex
+ The new page index.
+ */
+ void SetPage (EditMode eEditMode, sal_uInt16 nPageIndex);
+
+ /** Switch on edit mode for the currently selected text object.
+ */
+ void EnterEditMode (sal_Bool bGrabFocus=sal_True);
+
+ /** Return the position at which a new search is started with respect to
+ the search direction as specified by the argument.
+ @return
+ The position mentioned above in form of a selection with start
+ equals end.
+ */
+ ESelection GetSearchStartPosition (void);
+
+ /** Detect whether there exists a previous match. Note that only the
+ absence of such a match can be detected reliably. An existing match
+ is assumed when the search started not at the beginning/end of the
+ presentation. This does not have to be true. The user can have set
+ the cursor at the middle of the text without a prior search.
+ @return
+ Returns </True> when there is no previous match and </False>
+ when there may be one.
+ */
+ bool HasNoPreviousMatch (void);
+
+ /** Handle a failed search (with or without replace) for the outline
+ mode. Show message boxes when the search failed completely,
+ i.e. there is no match in the whole presentation, or when no further
+ match exists.
+ @return
+ The returned value indicates whether another (wrapped arround)
+ search shall take place. If that is so, then it is the caller's
+ responsibility to set the cursor position accordingly.
+ */
+ bool HandleFailedSearch (void);
+
+ /** Take a position as returned by an object iterator and switch to the
+ view and page on which the object specified by this position is
+ located.
+ @param rPosition
+ This position points to a <type>SdrObject</type> object and
+ contains the view and page where it is located.
+ @return
+ Return a pointer to the <type>SdrObject</type>.
+ */
+ SdrObject* SetObject (const ::sd::outliner::IteratorPosition& rPosition);
+
+ /** Use this method when the view shell in which to search has changed.
+ It handles i.e. registering at the associated view as selection
+ change listener.
+ */
+ void SetViewShell (const ::boost::shared_ptr<ViewShell>& rpViewShell);
+
+ /** Activate or deactivate the search in the current selection. Call
+ this method whenever the selection has changed. This method creates
+ a copy of the current selection and reassings the object iterator to
+ the current() iterator.
+ */
+ void HandleChangedSelection (void);
+
+ /** Initiate the spell check of the next relevant text object.
+ When the outline view is active then this method is called
+ after a wrap arround to continue at the beginning of the document.
+ @return
+ Returns <TRUE/> to indicate that another call to this method is
+ required. When all text objects have been processed then
+ <FALSE/> is returned.
+ */
+ virtual sal_Bool SpellNextDocument (void);
+
+ /** Show the given message box and make it modal. It is assumed that
+ the parent of the given dialog is NULL, i.e. the application
+ window. This function makes sure that the otherwise non-modal
+ search dialog, if visible, is locked, too.
+ */
+ sal_uInt16 ShowModalMessageBox (Dialog& rMessageBox);
+};
+
+} // end of namespace sd
+
+#endif
+
diff --git a/sd/inc/OutlinerIterator.hxx b/sd/inc/OutlinerIterator.hxx
new file mode 100755
index 000000000000..92301f06289c
--- /dev/null
+++ b/sd/inc/OutlinerIterator.hxx
@@ -0,0 +1,370 @@
+/*************************************************************************
+ *
+ * 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 SD_OUTLINER_ITERATOR_HXX
+#define SD_OUTLINER_ITERATOR_HXX
+
+#include <svx/svdobj.hxx>
+
+#include "pres.hxx"
+#include "sal/types.h"
+#include <vector>
+#include <boost/shared_ptr.hpp>
+
+class SdDrawDocument;
+
+namespace sd {
+
+class ViewShell;
+class Outliner;
+class View;
+
+namespace outliner {
+
+class IteratorImplBase;
+class IteratorPosition;
+
+/** Use this enum to specify the initial location of the object pointed to by
+ a newly created iterator. The values are
+ <ul><li><const>BEGIN</const> for the first object with reference to
+ iteration direction.</li>
+ <li>END for one past the last valid object or, if the iterator is a
+ backward iterator, the object in front of the first valid one.</li>
+ <li>CURRENT for the current object. Because there is only a current
+ page this usually is taken to be the first/last object on the current
+ page.</li></ul>
+*/
+enum IteratorLocation {BEGIN,END,CURRENT};
+
+/** Use this enum to specify the type of iterator when creating a new
+ iterator:
+ <ul><li>SELECTION for iteration over all objects that belong to the
+ current mark list.</li>
+ <li>SINGLE_VIEW for iteration over all objects in the current view.</li>
+ <li>DOCUMENT for iteratioin over all object in all relevant
+ views.</li></ul>
+*/
+enum IteratorType {SELECTION,SINGLE_VIEW,DOCUMENT};
+
+
+/** This iterator can be used to iterate over all <type>SdrObject</type>
+ objects of one of three set denoted by the <type>IteratorType</type>:
+ <ul><li>All objects of the current mark list (selection)
+ (type==SELECTION).</li>
+ <li>All objects in the current view (type==SINGLE_VIEW).</li>
+ <li>All objects in all views (type=DOCUMENT).</li></ul>
+
+ <p>Note that the iterator does not change pages or views. It is the
+ task of the user of the iterator to take the information provided by the
+ <type>IteratorPosition</type> as returned by the
+ <member>operator*()</member> method and set view, visible page, and
+ selection/edit mode markers to reflect this position.</p>
+
+ <p>A simple forward iteration from the first to the last object would
+ instantiate the iterator with
+ <code>Iterator(pDocument,pViewShell,true,BEGIN)</code> for some document
+ and view shell. This iterator can then be compared against
+ <code>Iterator(pDocument,pViewShell,true,END)</code>. On equality the
+ iteration should be stoped without evaluating the iterator: The position
+ of an end iterator is not valid.</p>
+*/
+class Iterator
+{
+public:
+ Iterator (void);
+
+ /** The copy constructor creates a new iterator by copying the
+ implementation object.
+ */
+ Iterator (const Iterator& rIterator);
+
+ /** Create a new iterator with the implementation object being the
+ provided one.
+ @param pObject
+ A copy of this object will become the implementation object.
+ */
+ explicit Iterator (IteratorImplBase* pObject);
+
+ ~Iterator (void);
+
+ /** Assign the iterator from the given one. The implementation object
+ of this iterator will be a copy of the given iterator.
+ @param rIterator
+ The iterator which to assign from.
+ */
+ Iterator& operator= (const Iterator& rIterator);
+ /** Return the current position of the iterator.
+ @return
+ Returns a reference to the current position. Therefore this
+ method is not thread safe. The reason for this behaviour is, of
+ course, to ommit the copying of the returned position.
+ */
+ const IteratorPosition& operator* () const;
+ /** The prefix increment operator returns the iterator pointing to the
+ next object. When in doubt prefer this operator over the postfix
+ increment operator.
+ @return
+ Returns a reference to this iterator pointing to the next object.
+ */
+ Iterator& operator++ ();
+ /** The postfix increment operator returns the iterator still pointing
+ to the current object. Only the next call to
+ <member>operator*()</member> will return the next object. When in
+ doubt rather use the prefix increment operator.
+ @param dummy
+ A dummy operator used by the compiler.
+ @return
+ Returns a copy of the iterator as it where before the operator
+ was called.
+ */
+ Iterator operator++ (int);
+ /** Test equality of two iterators. Two iterators are taken to be equal
+ when they point are of the same type (their implementation objects
+ are instances of the same class) and point to the same object.
+ @param rIterator
+ The iterator to test equality with.
+ @return
+ Returns <TRUE/> when both iterators point to the same object.
+ */
+ bool operator== (const Iterator& rIterator);
+ /** Test whether two iterators point to different objects. This is just
+ the negation of the result of the equality operator.
+ @param rIterator
+ The iterator to test inequality with.
+ @return
+ Returns <TRUE/> when both iterators point to the different objects.
+ */
+ bool operator!= (const Iterator& rIterator);
+ /** Reverse the direction of iteration. The position of the iterator is
+ not changed. Thus caling this method twice returns to the old state.
+ */
+ void Reverse (void);
+
+private:
+ /// The implementation object to which most of the methods are forwarded.
+ IteratorImplBase* mpIterator;
+};
+
+
+
+
+/** This class wraps the <type>Outliner</type> class and represents it as
+ a container of <type>SdrObject</type> objects. Its main purpose is to
+ provide iterators for certain sub-sets of those objects. These sub-sets
+ are a) the set of the currently selected objects, b) all objects in the
+ current view, and c) all objects in all views.
+
+ <p>The direction of the returned iterators depends on the underlying
+ <type>Outliner</type> object and is usually set in the search
+ dialog.</p>
+*/
+class OutlinerContainer
+{
+public:
+ /** Create a new wraper object for the given outliner.
+ @param pOutliner
+ The outliner that is represented by the new object as
+ <type>SdrObject</type> container.
+ */
+ OutlinerContainer (::sd::Outliner* pOutliner);
+
+ /** Return an iterator that points to the first object of one of the
+ sets described above. This takes also into account the direction of
+ iteration.
+ @return
+ The returned iterator points either to the first (forward
+ search) or to the last object (backward search) of the set.
+ */
+ Iterator begin (void);
+
+ /** Return an iterator that marks the end of the iteration. This takes
+ also into account the direction of iteration. The object pointed to
+ is not valid.
+ @return
+ The returned iterator points either to that object past the last
+ one (forward search) or to the one in front of the first
+ (backward search).
+ */
+ Iterator end (void);
+
+ /** Return an iterator that points to the current object of one of the
+ sets described above. This takes also into account the direction of
+ iteration.
+ @return
+ The returned iterator points either to the first (forward
+ search) or to the last object (backward search) of the set of
+ selected objects or of the current page if the search set spans
+ more than one page.
+ */
+ Iterator current (void);
+
+private:
+ /// The wrapped outliner that is represented as object container.
+ ::sd::Outliner* mpOutliner;
+
+ /** Create an iterator. The object pointed to depends on the search
+ direction retrieved from the outliner object
+ <member>mpOutliner</member> and the given location.
+ @param aLocation
+ This specifies whether the returned iterator points to the
+ first, (one past the) last, or current object.
+ @return
+ Returns an iterator as constructed by
+ <member>CreateSelectionIterator()</member>,
+ */
+ Iterator CreateIterator (IteratorLocation aLocation);
+
+ /** Create an iterator that iterates over all currently selected
+ <type>SdrObjects</type> objects of the <member>mpOutliner</member>
+ outliner.
+ @param rObjectList
+ List of currently selected objects. This list is necessary
+ so that the selection can be changed without affecting the
+ iterator.
+ @param pDocument
+ The document to which the objects belong.
+ @param pViewShell
+ The view shell which displays the objects.
+ @param bDirectionIsForward
+ The direction of iteration. It defaults to forward.
+ @param aLocation
+ This specifies at which object the iterator points initially.
+ */
+ Iterator CreateSelectionIterator (
+ const ::std::vector<SdrObjectWeakRef>& rObjectList,
+ SdDrawDocument* pDocument,
+ const ::boost::shared_ptr<ViewShell>& rpViewShell,
+ bool bDirectionIsForward=true,
+ IteratorLocation aLocation=BEGIN);
+
+ /** Create an iterator that iterates over all <type>SdrObjects</type>
+ objects of the <member>mpOutliner</member> outliner.
+ @param pDocument
+ The document to which the objects belong.
+ @param pViewShell
+ The view shell which displays the objects.
+ @param bDirectionIsForward
+ The direction of iteration. It defaults to forward.
+ @param aLocation
+ This specifies at which object the iterator points initially.
+ */
+ Iterator CreateDocumentIterator (
+ SdDrawDocument* pDocument,
+ const ::boost::shared_ptr<ViewShell>& rpViewShell,
+ bool bDirectionIsForward=true,
+ IteratorLocation aLocation=BEGIN);
+
+ /** Return the index of a page that contains an object that a new
+ iterator shall point to. This page index depends primarily on the
+ location, iteration direction, as well as on edit mode and page
+ kind.
+ @param pDocument
+ The document to which the page belongs.
+ @param pViewShell
+ The view shell which displays the page.
+ @param ePageKind
+ Specifies the view the page belongs to.
+ @param eEditMode
+ Specifies whether the page is a master page.
+ @param bDirectionIsForward
+ The direction of iteration.
+ @param aLocation
+ This specifies at which object the iterator points initially.
+ */
+ sal_Int32 GetPageIndex (
+ SdDrawDocument* pDocument,
+ const ::boost::shared_ptr<ViewShell>& rpViewShell,
+ PageKind ePageKind,
+ EditMode eEditMode,
+ bool bDirectionIsForward,
+ IteratorLocation aLocation);
+
+ // Do not allow default constructor and copying of outliner containers.
+ OutlinerContainer (const OutlinerContainer&) {};
+ OutlinerContainer (void) {};
+ OutlinerContainer& operator= (const OutlinerContainer&) {return *this;};
+};
+
+
+
+
+/** Data collection specifying a <type>SdrObject</type> and its position in
+ a document and view.
+*/
+class IteratorPosition
+{
+public:
+ /** Create a new object with all data members set to default values.
+ These values should not be accessed. The only use of the object as
+ it is is as a marker in comparisons.
+ */
+ IteratorPosition (void);
+ /** Create a new object with all data members set from the given
+ position.
+ @param aPosition
+ The position object from which to take the values that are
+ assigned to the data members of this object.
+ */
+ IteratorPosition (const IteratorPosition& aPosition);
+
+ /// The destructor is a no-op at the moment.
+ ~IteratorPosition (void);
+ /** Assign the content of the given position to this one.
+ @param aPosition
+ This is the position object from which to take the values of all
+ data members.
+ @return
+ Returns a reference to this object.
+ */
+ IteratorPosition& operator= (const IteratorPosition& aPosition);
+ /** Compare two positions for equality.
+ @return
+ <TRUE/> is returned only when all data members have the same
+ values in both position objects.
+ */
+ bool operator== (const IteratorPosition& aPosition) const;
+
+ /// Pointer to the actual <type>SdrObject</type> object.
+ SdrObjectWeakRef mxObject;
+
+ /// Number of the actual SdrText from the current <type>SdrObject</type>
+ sal_Int32 mnText;
+
+ /// The index of a page where the object is located on.
+ sal_Int32 mnPageIndex;
+ /// Page kind of the view.
+ PageKind mePageKind;
+ /// Edit mode of the view.
+ EditMode meEditMode;
+};
+
+
+} } // end of namespace ::sd::outliner
+
+
+#endif // _SD_OUTLINER_ITERATOR_HXX
+
diff --git a/sd/inc/SdShapeTypes.hxx b/sd/inc/SdShapeTypes.hxx
new file mode 100644
index 000000000000..c582be79abfe
--- /dev/null
+++ b/sd/inc/SdShapeTypes.hxx
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * 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 _SD_SD_SHAPE_TYPES_HXX
+#define _SD_SD_SHAPE_TYPES_HXX
+
+#ifndef _SVX_ACCESSIBILITY_ACCESSIBLE_SHAPE_TYPE_HANDLERHXX
+#include <svx/ShapeTypeHandler.hxx>
+#endif
+#include <svx/AccessibleShape.hxx>
+#include <com/sun/star/accessibility/XAccessible.hpp>
+
+namespace accessibility {
+
+/** Register the SD presentation shape types with the ShapeTypeHandler singleton.
+ This method is usually called while loading the sd library.
+*/
+void RegisterImpressShapeTypes (void);
+
+/** Enum describing all shape types known in the SD project.
+*/
+enum SdShapeTypes
+{
+ PRESENTATION_OUTLINER,
+ PRESENTATION_SUBTITLE,
+ PRESENTATION_GRAPHIC_OBJECT,
+ PRESENTATION_PAGE,
+ PRESENTATION_OLE,
+ PRESENTATION_CHART,
+ PRESENTATION_TABLE,
+ PRESENTATION_NOTES,
+ PRESENTATION_TITLE,
+ PRESENTATION_HANDOUT,
+ PRESENTATION_HEADER,
+ PRESENTATION_FOOTER,
+ PRESENTATION_DATETIME,
+ PRESENTATION_PAGENUMBER
+};
+
+/** Factory method that creates accessibility objects corresponding to the
+ type of the given shape.
+*/
+AccessibleShape*
+ CreateSdAccessibleShape (const ::com::sun::star::uno::Reference<
+ ::com::sun::star::accessibility::XAccessible>& rxParent,
+ const ::com::sun::star::uno::Reference<
+ ::com::sun::star::drawing::XShape>& rxShape
+ );
+
+
+/** List of shape type descriptors corresponding to the
+ <type>SdShapeTypes</type> enum.
+*/
+extern ShapeTypeDescriptor aSdShapeTypeList[];
+
+
+} // end of namespace accessibility
+
+#endif
diff --git a/sd/inc/TransitionPreset.hxx b/sd/inc/TransitionPreset.hxx
new file mode 100644
index 000000000000..7cee414710b6
--- /dev/null
+++ b/sd/inc/TransitionPreset.hxx
@@ -0,0 +1,95 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SD_TRANSITIONPRESET_HXX
+#define _SD_TRANSITIONPRESET_HXX
+
+#ifndef BOOST_SHARED_PTR_HPP_INCLUDED
+#include <boost/shared_ptr.hpp>
+#endif
+#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+
+#ifndef _UTL_STLTYPES_HXX_
+#include <comphelper/stl_types.hxx>
+#endif
+
+#include <list>
+#include <hash_map>
+
+namespace com { namespace sun { namespace star {
+ namespace animations { class XAnimationNode; }
+ namespace uno { template<class X> class Reference; }
+} } }
+
+class SdPage;
+class String;
+
+namespace sd {
+
+class TransitionPreset;
+typedef boost::shared_ptr< TransitionPreset > TransitionPresetPtr;
+typedef std::list< TransitionPresetPtr > TransitionPresetList;
+typedef std::hash_map< rtl::OUString, rtl::OUString, comphelper::UStringHash, comphelper::UStringEqual > UStringMap;
+
+class TransitionPreset
+{
+public:
+ static const TransitionPresetList& getTransitionPresetList();
+ static bool importTransitionPresetList( TransitionPresetList& rList );
+
+ void apply( SdPage* pSlide ) const;
+
+ sal_Int16 getTransition() const { return mnTransition; }
+ sal_Int16 getSubtype() const { return mnSubtype; }
+ sal_Bool getDirection() const { return mbDirection; }
+ sal_Int32 getFadeColor() const { return mnFadeColor; }
+
+ const rtl::OUString& getUIName() const { return maUIName; }
+ const rtl::OUString& getPresetId() const { return maPresetId; }
+
+private:
+ TransitionPreset( const ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode >& xNode );
+
+ sal_Int16 mnTransition;
+ sal_Int16 mnSubtype;
+ sal_Bool mbDirection;
+ sal_Int32 mnFadeColor;
+ rtl::OUString maPresetId;
+ rtl::OUString maUIName;
+
+ static sd::TransitionPresetList* mpTransitionPresetList;
+
+ static bool importTransitionsFile( TransitionPresetList& rList,
+ ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xServiceFactory,
+ UStringMap& rTransitionNameMape,
+ String aFilaname );
+};
+
+}
+
+#endif // _SD_TRANSITIONPRESET_HXX
+
diff --git a/sd/inc/animations.hxx b/sd/inc/animations.hxx
new file mode 100644
index 000000000000..a0f5008e4dad
--- /dev/null
+++ b/sd/inc/animations.hxx
@@ -0,0 +1,30 @@
+#ifndef _SD_ANIMATIONS_HXX_
+#define _SD_ANIMATIONS_HXX_
+
+#include <sddllapi.h>
+
+namespace sd
+{
+
+/** stores the link between an after effect node and its master for later insertion
+ into the timing hierarchie
+*/
+struct AfterEffectNode
+{
+ ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode > mxNode;
+ ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode > mxMaster;
+ bool mbOnNextEffect;
+
+ AfterEffectNode( const ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode >& xNode, const ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode >& xMaster, bool bOnNextEffect )
+ : mxNode( xNode ), mxMaster( xMaster ), mbOnNextEffect( bOnNextEffect ) {}
+};
+
+typedef std::list< AfterEffectNode > AfterEffectNodeList;
+
+/** inserts the animation node in the given AfterEffectNode at the correct position
+ in the timing hierarchie of its master */
+SD_DLLPUBLIC void stl_process_after_effect_node_func(AfterEffectNode& rNode);
+
+} // namespace sd;
+
+#endif
diff --git a/sd/inc/anmdef.hxx b/sd/inc/anmdef.hxx
new file mode 100644
index 000000000000..530fd4c4c146
--- /dev/null
+++ b/sd/inc/anmdef.hxx
@@ -0,0 +1,41 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SD_ANMDEF_HXX
+#define _SD_ANMDEF_HXX
+
+// muss angepasst werden!
+#define ANIMATION_SPEED_COUNT 3
+
+// muss angepasst werden!
+#define ANIMATION_EFFECT_COUNT 48
+
+// muss angepasst werden!
+#define CLICK_ACTION_COUNT 14
+
+#endif // _SD_ANIMATIONDEF_HXX
+
diff --git a/sd/inc/anminfo.hxx b/sd/inc/anminfo.hxx
new file mode 100755
index 000000000000..9204a02430fd
--- /dev/null
+++ b/sd/inc/anminfo.hxx
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * 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 _SD_ANMINFO_HXX
+#define _SD_ANMINFO_HXX
+
+#include <com/sun/star/presentation/AnimationEffect.hpp>
+#include <com/sun/star/presentation/AnimationSpeed.hpp>
+#include <com/sun/star/presentation/ClickAction.hpp>
+#include "pres.hxx"
+#include "anmdef.hxx"
+#include <svx/svdobj.hxx>
+#include <tools/color.hxx>
+#include <sddllapi.h>
+
+class Polygon;
+class Point;
+class SvStream;
+class SdrObjSurrogate;
+class SdrObject;
+class SdrPathObj;
+class SdDrawDocument;
+
+class SdAnimationInfo : public SdrObjUserData
+{
+public:
+ PresObjKind mePresObjKind;
+
+ /* deprecated animation infos */
+ ::com::sun::star::presentation::AnimationEffect meEffect; // Animationseffekt
+ ::com::sun::star::presentation::AnimationEffect meTextEffect; // Animationseffekt fuer Textinhalt
+ ::com::sun::star::presentation::AnimationSpeed meSpeed; // Geschwindigkeit der Animation
+ sal_Bool mbActive; // eingeschaltet ?
+ sal_Bool mbDimPrevious; // Objekt abblenden
+ sal_Bool mbIsMovie; // wenn Gruppenobjekt, dann Sequenz aus den
+ sal_Bool mbDimHide; // verstecken statt abblenden
+ Color maBlueScreen; // identifiziert "Hintergrundpixel"
+ Color maDimColor; // zum Abblenden des Objekts
+ String maSoundFile; // Pfad zum Soundfile in MSDOS-Notation
+ sal_Bool mbSoundOn; // Sound ein/aus
+ sal_Bool mbPlayFull; // Sound ganz abspielen
+ SdrPathObj* mpPathObj; // das Pfadobjekt
+ ::com::sun::star::presentation::ClickAction meClickAction; // Aktion bei Mausklick
+ ::com::sun::star::presentation::AnimationEffect meSecondEffect; // fuer Objekt ausblenden
+ ::com::sun::star::presentation::AnimationSpeed meSecondSpeed; // fuer Objekt ausblenden
+ String maSecondSoundFile; // fuer Objekt ausblenden
+ sal_Bool mbSecondSoundOn; // fuer Objekt ausblenden
+ sal_Bool mbSecondPlayFull;// fuer Objekt ausblenden
+// String maBookmark; // Sprung zu Objekt/Seite
+ sal_uInt16 mnVerb; // fuer OLE-Objekt
+ sal_uLong mnPresOrder;
+ SdrObject& mrObject;
+
+ SD_DLLPUBLIC void SetBookmark( const String& rBookmark );
+ SD_DLLPUBLIC String GetBookmark();
+public:
+ SdAnimationInfo(SdrObject& rObject);
+ SdAnimationInfo(const SdAnimationInfo& rAnmInfo, SdrObject& rObject);
+ virtual ~SdAnimationInfo();
+
+ virtual SdrObjUserData* Clone(SdrObject* pObject) const;
+};
+
+#endif // _SD_ANMINFO_HXX
+
diff --git a/sd/inc/app.hrc b/sd/inc/app.hrc
new file mode 100755
index 000000000000..9a18f184363b
--- /dev/null
+++ b/sd/inc/app.hrc
@@ -0,0 +1,510 @@
+/*************************************************************************
+ *
+ * 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 _SD_APP_HRC_
+#define _SD_APP_HRC_
+
+#ifndef _SFX_HRC
+#include <sfx2/sfx.hrc>
+#endif
+
+// HelpIDs fuer Vorlagen
+#define HID_STANDARD_STYLESHEET_NAME (HID_SD_START + 70)
+#define HID_POOLSHEET_OBJWITHARROW (HID_SD_START + 71)
+#define HID_POOLSHEET_OBJWITHSHADOW (HID_SD_START + 72)
+#define HID_POOLSHEET_OBJWITHOUTFILL (HID_SD_START + 73)
+#define HID_POOLSHEET_TEXT (HID_SD_START + 74)
+#define HID_POOLSHEET_TEXTBODY (HID_SD_START + 75)
+#define HID_POOLSHEET_TEXTBODY_JUSTIFY (HID_SD_START + 76)
+#define HID_POOLSHEET_TEXTBODY_INDENT (HID_SD_START + 77)
+#define HID_POOLSHEET_TITLE (HID_SD_START + 78)
+#define HID_POOLSHEET_TITLE1 (HID_SD_START + 79)
+#define HID_POOLSHEET_TITLE2 (HID_SD_START + 80)
+#define HID_POOLSHEET_HEADLINE (HID_SD_START + 81)
+#define HID_POOLSHEET_HEADLINE1 (HID_SD_START + 82)
+#define HID_POOLSHEET_HEADLINE2 (HID_SD_START + 83)
+#define HID_POOLSHEET_MEASURE (HID_SD_START + 84)
+#define HID_PSEUDOSHEET_TITLE (HID_SD_START + 85)
+#define HID_PSEUDOSHEET_OUTLINE (HID_SD_START + 86)
+#define HID_PSEUDOSHEET_OUTLINE1 (HID_SD_START + 87)
+#define HID_PSEUDOSHEET_OUTLINE2 (HID_SD_START + 88)
+#define HID_PSEUDOSHEET_OUTLINE3 (HID_SD_START + 89)
+#define HID_PSEUDOSHEET_OUTLINE4 (HID_SD_START + 90)
+#define HID_PSEUDOSHEET_OUTLINE5 (HID_SD_START + 91)
+#define HID_PSEUDOSHEET_OUTLINE6 (HID_SD_START + 92)
+#define HID_PSEUDOSHEET_OUTLINE7 (HID_SD_START + 93)
+#define HID_PSEUDOSHEET_OUTLINE8 (HID_SD_START + 94)
+#define HID_PSEUDOSHEET_OUTLINE9 (HID_SD_START + 95)
+#define HID_PSEUDOSHEET_BACKGROUNDOBJECTS (HID_SD_START + 96)
+#define HID_PSEUDOSHEET_BACKGROUND (HID_SD_START + 97)
+#define HID_PSEUDOSHEET_NOTES (HID_SD_START + 98)
+#define HID_PSEUDOSHEET_SUBTITLE (HID_SD_START + 101)
+
+#define HID_SD_CELL_STYLE_DEFAULT (HID_SD_START + 194)
+#define HID_SD_CELL_STYLE_BANDED (HID_SD_START + 195)
+#define HID_SD_CELL_STYLE_HEADER (HID_SD_START + 196)
+#define HID_SD_CELL_STYLE_TOTAL (HID_SD_START + 197)
+#define HID_SD_CELL_STYLE_FIRST_COLUMN (HID_SD_START + 198)
+#define HID_SD_CELL_STYLE_LAST_COLUMN (HID_SD_START + 199)
+
+#define SHELLID_SD_TASK_PANE_PREVIEW_CURRENT (HID_SD_START + 174)
+#define SHELLID_SD_TASK_PANE_PREVIEW_RECENT (HID_SD_START + 175)
+#define SHELLID_SD_TASK_PANE_PREVIEW_ALL (HID_SD_START + 176)
+#define SHELLID_SD_TASK_PANE_PREVIEW_LAYOUTS (HID_SD_START + 177)
+
+#define SID_BACKGROUND (SID_SD_START)
+#define SID_LASTVERSION (SID_SD_START+1)
+#define SID_PAGESETUP (SID_SD_START+2)
+#define SID_COPYOBJECTS (SID_SD_START+4)
+#define SID_MANAGE_LINKS (SID_SD_START+5)
+#define SID_CHOOSE (SID_SD_START+7)
+#define SID_CONVERT_TO_3D_LATHE (SID_SD_START+8)
+#define SID_DRAWINGMODE (SID_SD_START+9)
+#define SID_OUTLINEMODE (SID_SD_START+10)
+#define SID_DIAMODE (SID_SD_START+11)
+#define SID_VIEWS (SID_SD_START+13)
+#define SID_INSERTPAGE (SID_SD_START+14)
+#define SID_INSERTFILE (SID_SD_START+15)
+#define SID_INSERTSYMBOL (SID_SD_START+16)
+#define SID_ZOOM_PANNING (SID_SD_START+17)
+#define SID_PRESENTATION_END (SID_SD_START+18)
+#define SID_TEXTFORMAT (SID_SD_START+20)
+#define SID_POSITION (SID_SD_START+22)
+#define SID_MIRROR (SID_SD_START+23)
+#define SID_CONVERT (SID_SD_START+24)
+#define SID_TEXT_FITTOTEXT (SID_SD_START+25)
+#define SID_COMBINE (SID_SD_START+26)
+#define SID_NAME_GROUP (SID_SD_START+27)
+#define SID_DRAWTBX_CONNECTORS (SID_SD_START+28)
+#define SID_TEXTALIGNMENT (SID_SD_START+29)
+#define SID_BEZIER_ELIMINATE_POINTS (SID_SD_START+30)
+#define SID_MOREFRONT (SID_SD_START+31)
+#define SID_MOREBACK (SID_SD_START+32)
+
+// #i68101#
+#define SID_OBJECT_TITLE_DESCRIPTION (SID_SD_START+33)
+
+#define SID_VERTICAL (SID_SD_START+34)
+#define SID_HORIZONTAL (SID_SD_START+35)
+#define SID_CHANGEBEZIER (SID_SD_START+36)
+#define SID_CHANGEPOLYGON (SID_SD_START+37)
+#define SID_CAPTUREPOINT (SID_SD_START+38)
+#define SID_EXECUTE_MACRO (SID_SD_START+39)
+#define SID_RULER (SID_SD_START+40)
+#define SID_HELPKEYBOARD (SID_SD_START+42)
+#define SID_INSERTLAYER (SID_SD_START+43)
+#define SID_EDIT_OUTLINER (SID_SD_START+44)
+#define SID_SWITCHPAGE (SID_SD_START+45)
+#define SID_MODIFYPAGE (SID_SD_START+46)
+#define SID_SWITCHLAYER (SID_SD_START+47)
+#define SID_MODIFYLAYER (SID_SD_START+48)
+#define SID_PAGEMODE (SID_SD_START+49)
+#define SID_LAYERMODE (SID_SD_START+50)
+#define SID_DRAW_MEASURELINE (SID_SD_START+51)
+#define SID_STARTAPP (SID_SD_START+52)
+#define SID_MASTERPAGE (SID_SD_START+53)
+#define SID_TOOL_CONNECTOR (SID_SD_START+58)
+#define SID_ANIMATION (SID_SD_START+61)
+#define SID_ANIMATION_OBJECTS (SID_SD_START+62)
+#define SID_ANIMATION_EFFECTS (SID_SD_START+63)
+#define SID_PRESENTATION_LAYOUT (SID_SD_START+64)
+#define SID_BEZIER_CONVERT (SID_SD_START+65)
+#define SID_BEZIER_EDGE (SID_SD_START+66)
+#define SID_BEZIER_SYMMTR (SID_SD_START+67)
+#define SID_PRESENTATION_TEMPLATES (SID_SD_START+68)
+#define SID_NOTESMODE (SID_SD_START+69)
+#define SID_HANDOUTMODE (SID_SD_START+70)
+#define SID_LINEEND_POLYGON (SID_SD_START+71)
+#define SID_OBJPALETTE_SELECT (SID_SD_START+72)
+#define SID_GRAPHIC_EXPORT (SID_SD_START+73)
+#define SID_SWITCH_POINTEDIT (SID_SD_START+74)
+#define SID_RULER_NULLOFFSET (SID_SD_START+75)
+#define SID_TEXTEDIT (SID_SD_START+76)
+#define SID_SET_SNAPITEM (SID_SD_START+77)
+#define SID_PRINT_PREVIEW (SID_SD_START+78)
+#define SID_SEARCH_REPLACE (SID_SD_START+79)
+#define SID_DELETE_PAGE (SID_SD_START+80)
+#define SID_DELETE_LAYER (SID_SD_START+81)
+#define SID_DISMANTLE (SID_SD_START+82)
+#define SID_SD_HELP_PI (SID_SD_START+83)
+#define SID_TIPHELP (SID_SD_START+84)
+#define SID_STATUS_PAGE (SID_SD_START+86)
+#define SID_STATUS_LAYOUT (SID_SD_START+87)
+#define SID_STATUS_SELMODE (SID_SD_START+88)
+#define SID_MODIFIED (SID_SD_START+89)
+#define SID_OBJECT_CROOK_ROTATE (SID_SD_START+90)
+#define SID_OBJECT_CROOK_SLANT (SID_SD_START+91)
+#define SID_OBJECT_CROOK_STRETCH (SID_SD_START+92)
+#define SID_CONNECT (SID_SD_START+93)
+#define SID_BREAK (SID_SD_START+94)
+#define SID_OBJECT_CHOOSE_MODE (SID_SD_START+95)
+#define SID_ENTER_GROUP (SID_SD_START+96)
+#define SID_LEAVE_GROUP (SID_SD_START+97)
+#define SID_SIZE_PAGE_WIDTH (SID_SD_START+98)
+#define SID_SIZE_OPTIMAL (SID_SD_START+99)
+#define SID_OBJECT_TRANSPARENCE (SID_SD_START+100)
+#define SID_OBJECT_GRADIENT (SID_SD_START+101)
+#define SID_OBJPALETTE_ADD (SID_SD_START+102)
+#define SID_OBJPALETTE_MODIFY (SID_SD_START+103)
+#define SID_OBJPALETTE_OBJECTS (SID_SD_START+104)
+#define SID_INSERT_IMAGE (SID_SD_START+105)
+#define SID_INSERT_MATH (SID_SD_START+106)
+#define SID_OBJECT_SHEAR (SID_SD_START+107)
+#define SID_DELETE_SNAPITEM (SID_SD_START+108)
+#define SID_OBJECT_CLOSE (SID_SD_START+109)
+#define SID_ANIMATOR_ADD (SID_SD_START+110)
+#define SID_ANIMATOR_CREATE (SID_SD_START+111)
+#define SID_ANIMATOR_STATE (SID_SD_START+112)
+#define SID_PRESENTATIONOBJECT (SID_SD_START+113)
+#define SID_SIZE_VISAREA (SID_SD_START+114)
+#define SID_CLEAR_UNDO_STACK (SID_SD_START+115)
+#define SID_BEHIND_OBJ (SID_SD_START+116)
+#define SID_REVERSE_ORDER (SID_SD_START+117)
+#define SID_SDOPTIONS (SID_SD_START+118)
+
+#define SID_CONNECTOR_ARROW_START (SID_SD_START+119)
+#define SID_CONNECTOR_ARROW_END (SID_SD_START+120)
+#define SID_CONNECTOR_ARROWS (SID_SD_START+121)
+#define SID_CONNECTOR_CIRCLE_START (SID_SD_START+122)
+#define SID_CONNECTOR_CIRCLE_END (SID_SD_START+123)
+#define SID_CONNECTOR_CIRCLES (SID_SD_START+124)
+#define SID_CONNECTOR_LINE (SID_SD_START+125)
+#define SID_CONNECTOR_LINE_ARROW_START (SID_SD_START+126)
+#define SID_CONNECTOR_LINE_ARROW_END (SID_SD_START+127)
+#define SID_CONNECTOR_LINE_ARROWS (SID_SD_START+128)
+#define SID_CONNECTOR_LINE_CIRCLE_START (SID_SD_START+129)
+#define SID_CONNECTOR_LINE_CIRCLE_END (SID_SD_START+130)
+#define SID_CONNECTOR_LINE_CIRCLES (SID_SD_START+131)
+#define SID_CONNECTOR_CURVE (SID_SD_START+132)
+#define SID_CONNECTOR_CURVE_ARROW_START (SID_SD_START+133)
+#define SID_CONNECTOR_CURVE_ARROW_END (SID_SD_START+134)
+#define SID_CONNECTOR_CURVE_ARROWS (SID_SD_START+135)
+#define SID_CONNECTOR_CURVE_CIRCLE_START (SID_SD_START+136)
+#define SID_CONNECTOR_CURVE_CIRCLE_END (SID_SD_START+137)
+#define SID_CONNECTOR_CURVE_CIRCLES (SID_SD_START+138)
+#define SID_CONNECTOR_LINES (SID_SD_START+139)
+#define SID_CONNECTOR_LINES_ARROW_START (SID_SD_START+140)
+#define SID_CONNECTOR_LINES_ARROW_END (SID_SD_START+141)
+#define SID_CONNECTOR_LINES_ARROWS (SID_SD_START+142)
+#define SID_CONNECTOR_LINES_CIRCLE_START (SID_SD_START+143)
+#define SID_CONNECTOR_LINES_CIRCLE_END (SID_SD_START+144)
+#define SID_CONNECTOR_LINES_CIRCLES (SID_SD_START+145)
+
+// Options-Leisten Slot-IDs
+//#i80528##define SID_GRAPHIC_DRAFT (SID_SD_START+146)
+//#i80528##define SID_FILL_DRAFT (SID_SD_START+147)
+//#i80528##define SID_TEXT_DRAFT (SID_SD_START+148)
+//#i80528##define SID_LINE_DRAFT (SID_SD_START+149)
+#define SID_HANDLES_DRAFT (SID_SD_START+150)
+#define SID_SOLID_CREATE (SID_SD_START+151)
+#define SID_HELPLINES_USE (SID_SD_START+152)
+#define SID_HELPLINES_MOVE (SID_SD_START+153)
+#define SID_GRID_USE (SID_SD_START+154)
+#define SID_SNAP_BORDER (SID_SD_START+155)
+#define SID_SNAP_FRAME (SID_SD_START+156)
+#define SID_SNAP_POINTS (SID_SD_START+157)
+#define SID_QUICKEDIT (SID_SD_START+158)
+#define SID_PICK_THROUGH (SID_SD_START+159)
+#define SID_COLORRESOLUTION (SID_SD_START+160)
+#define SID_CONVERT_TO_1BIT_THRESHOLD (SID_SD_START+161)
+#define SID_CONVERT_TO_1BIT_MATRIX (SID_SD_START+162)
+#define SID_CONVERT_TO_4BIT_GRAYS (SID_SD_START+163)
+#define SID_CONVERT_TO_4BIT_COLORS (SID_SD_START+164)
+#define SID_CONVERT_TO_8BIT_GRAYS (SID_SD_START+165)
+#define SID_CONVERT_TO_8BIT_COLORS (SID_SD_START+166)
+#define SID_CONVERT_TO_24BIT (SID_SD_START+167)
+#define SID_BIG_HANDLES (SID_SD_START+168)
+#define SID_DOUBLECLICK_TEXTEDIT (SID_SD_START+169)
+#define SID_CLICK_CHANGE_ROTATION (SID_SD_START+170)
+
+#define SID_DRAWTBX_ARROWS (SID_SD_START+171)
+#define SID_LINE_ARROW_START (SID_SD_START+172)
+#define SID_LINE_ARROW_END (SID_SD_START+173)
+#define SID_LINE_ARROWS (SID_SD_START+174)
+#define SID_LINE_ARROW_CIRCLE (SID_SD_START+175)
+#define SID_LINE_CIRCLE_ARROW (SID_SD_START+176)
+#define SID_LINE_ARROW_SQUARE (SID_SD_START+177)
+#define SID_LINE_SQUARE_ARROW (SID_SD_START+178)
+// und noch weitere...
+
+#define ID_VAL_ENDINTENS (SID_SD_START+197)
+#define ID_VAL_STARTINTENS (SID_SD_START+198)
+#define ID_VAL_BORDER (SID_SD_START+199)
+#define ID_VAL_MOUSESTART_X (SID_SD_START+200)
+#define ID_VAL_MOUSESTART_Y (SID_SD_START+201)
+#define ID_VAL_LENGTH_X (SID_SD_START+202)
+#define ID_VAL_LENGTH_Y (SID_SD_START+203)
+#define ID_VAL_MOUSEEND_X (SID_SD_START+204)
+#define ID_VAL_MOUSEEND_Y (SID_SD_START+205)
+#define ID_VAL_AXIS_X (SID_SD_START+206)
+#define ID_VAL_AXIS_Y (SID_SD_START+207)
+#define ID_VAL_ANGLESTART (SID_SD_START+208)
+#define ID_VAL_ANGLEEND (SID_SD_START+209)
+#define ID_VAL_CENTER_X (SID_SD_START+210)
+#define ID_VAL_CENTER_Y (SID_SD_START+211)
+#define ID_VAL_WHATPAGE (SID_SD_START+212)
+#define ID_VAL_WHATLAYER (SID_SD_START+213)
+#define ID_VAL_ANGLE (SID_SD_START+214)
+#define ID_VAL_MIRRORVERT (SID_SD_START+215)
+#define ID_VAL_ISACTIVE (SID_SD_START+216)
+#define ID_VAL_WHATKIND (SID_SD_START+217)
+#define ID_VAL_PAGEWIDTH (SID_SD_START+218)
+#define ID_VAL_PAGEMARGIN (SID_SD_START+219)
+#define ID_VAL_PAGETOP (SID_SD_START+220)
+#define ID_VAL_PAGEBOTTOM (SID_SD_START+221)
+#define ID_VAL_PAGELEFT (SID_SD_START+222)
+#define ID_VAL_PAGERIGHT (SID_SD_START+223)
+#define ID_VAL_SCALEOBJECTS (SID_SD_START+224)
+#define ID_VAL_PAGENAME (SID_SD_START+225)
+#define ID_VAL_WHATLAYOUT (SID_SD_START+226)
+#define ID_VAL_ISPAGEBACK (SID_SD_START+227)
+#define ID_VAL_ISPAGEOBJ (SID_SD_START+228)
+#define ID_VAL_LAYERNAME (SID_SD_START+229)
+#define ID_VAL_ISVISIBLE (SID_SD_START+230)
+#define ID_VAL_ISLOCKED (SID_SD_START+231)
+#define ID_VAL_ISPRINTABLE (SID_SD_START+232)
+#define ID_VAL_PAGEHEIGHT (SID_SD_START+233)
+#define ID_VAL_ZOOM (SID_SD_START+234)
+#define ID_VAL_ANCHOR_X (SID_SD_START+235)
+#define ID_VAL_ANCHOR_Y (SID_SD_START+236)
+#define ID_VAL_RED (SID_SD_START+237)
+#define ID_VAL_GREEN (SID_SD_START+238)
+#define ID_VAL_BLUE (SID_SD_START+239)
+#define ID_VAL_STYLE (SID_SD_START+240)
+#define ID_VAL_DOTS (SID_SD_START+241)
+#define ID_VAL_DOTLEN (SID_SD_START+242)
+#define ID_VAL_DASHES (SID_SD_START+243)
+#define ID_VAL_DASHLEN (SID_SD_START+244)
+#define ID_VAL_DISTANCE (SID_SD_START+245)
+#define ID_VAL_INDEX (SID_SD_START+246)
+#define ID_VAL_WIDTH (SID_SD_START+247)
+#define ID_VAL_HEIGHT (SID_SD_START+248)
+#define ID_VAL_PANEL_INDEX (SID_SD_START+249)
+
+// nur zum austesten, um nicht jedesmal APP:HRC ff. durchbuilden zu muessen
+#define ID_VAL_DUMMY0 (SID_SD_START+230)
+#define ID_VAL_DUMMY1 (SID_SD_START+231)
+#define ID_VAL_DUMMY2 (SID_SD_START+232)
+#define ID_VAL_DUMMY3 (SID_SD_START+233)
+#define ID_VAL_DUMMY4 (SID_SD_START+234)
+#define ID_VAL_DUMMY5 (SID_SD_START+235)
+#define ID_VAL_DUMMY6 (SID_SD_START+236)
+#define ID_VAL_DUMMY7 (SID_SD_START+237)
+#define ID_VAL_DUMMY8 (SID_SD_START+238)
+#define ID_VAL_DUMMY9 (SID_SD_START+239)
+
+#define SID_MOVETO (SID_SD_START+250)
+#define SID_LINETO (SID_SD_START+251)
+#define SID_BEZIERTO (SID_SD_START+252)
+#define SID_PAGESIZE (SID_SD_START+253)
+#define SID_PAGEMARGIN (SID_SD_START+254)
+#define SID_ZOOMING (SID_SD_START+255)
+#define SID_SELECTAT (SID_SD_START+256)
+#define SID_COLORVIEW (SID_SD_START+257)
+
+#define SID_GETRED (SID_SD_START+259)
+#define SID_GETBLUE (SID_SD_START+260)
+#define SID_GETGREEN (SID_SD_START+261)
+#define SID_SETFILLSTYLE (SID_SD_START+262)
+#define SID_SETFILLCOLOR (SID_SD_START+263)
+#define SID_GRADIENT (SID_SD_START+264)
+#define SID_SETLINESTYLE (SID_SD_START+265)
+#define SID_SETLINEWIDTH (SID_SD_START+266)
+#define SID_DASH (SID_SD_START+267)
+#define SID_RENAMEPAGE (SID_SD_START+268)
+#define SID_RENAMELAYER (SID_SD_START+269)
+#define SID_HATCH (SID_SD_START+270)
+#define SID_GETFILLSTYLE (SID_SD_START+271)
+#define SID_GETLINESTYLE (SID_SD_START+272)
+#define SID_GETLINEWIDTH (SID_SD_START+273)
+#define SID_SETLINECOLOR (SID_SD_START+274)
+#define SID_SETHATCHCOLOR (SID_SD_START+275)
+#define SID_SETGRADSTARTCOLOR (SID_SD_START+276)
+#define SID_SETGRADENDCOLOR (SID_SD_START+277)
+#define SID_SELECTGRADIENT (SID_SD_START+278)
+#define SID_SELECTHATCH (SID_SD_START+279)
+#define SID_UNSELECT (SID_SD_START+280)
+#define SID_TEXTATTR_DLG (SID_SD_START+281)
+#define SID_ORIGINAL_SIZE (SID_SD_START+282)
+#define SID_PAGES_PER_ROW (SID_SD_START+284)
+#define SID_TEXT_FITTOSIZE (SID_SD_START+285)
+#define SID_TEXT_FITTOSIZE_VERTICAL (SID_SD_START+286)
+#define SID_NAVIGATOR_PAGENAME (SID_SD_START+287)
+#define SID_NAVIGATOR_STATE (SID_SD_START+288)
+#define SID_NAVIGATOR_INIT (SID_SD_START+289)
+#define SID_NAVIGATOR_PEN (SID_SD_START+291)
+#define SID_NAVIGATOR_PAGE (SID_SD_START+292)
+#define SID_NAVIGATOR_OBJECT (SID_SD_START+293)
+#define SID_ANIMATOR_INIT (SID_SD_START+294)
+#define SID_DRAWTBX_3D_OBJECTS (SID_SD_START+295)
+#define SID_3D_CUBE (SID_SD_START+296)
+#define SID_3D_SPHERE (SID_SD_START+297)
+#define SID_3D_CYLINDER (SID_SD_START+298)
+#define SID_3D_CONE (SID_SD_START+299)
+#define SID_3D_PYRAMID (SID_SD_START+300)
+#define SID_GLUE_EDITMODE (SID_SD_START+301)
+#define SID_GLUE_INSERT_POINT (SID_SD_START+302)
+#define SID_GLUE_PERCENT (SID_SD_START+303)
+#define SID_GLUE_ESCDIR (SID_SD_START+304)
+#define SID_GLUE_HORZALIGN_CENTER (SID_SD_START+305)
+#define SID_GLUE_HORZALIGN_LEFT (SID_SD_START+306)
+#define SID_GLUE_HORZALIGN_RIGHT (SID_SD_START+307)
+#define SID_GLUE_VERTALIGN_CENTER (SID_SD_START+308)
+#define SID_GLUE_VERTALIGN_TOP (SID_SD_START+309)
+#define SID_GLUE_VERTALIGN_BOTTOM (SID_SD_START+310)
+#define SID_3D_SHELL (SID_SD_START+311)
+#define SID_3D_TORUS (SID_SD_START+312)
+#define SID_3D_HALF_SPHERE (SID_SD_START+313)
+#define SID_GLUE_ESCDIR_LEFT (SID_SD_START+314)
+#define SID_GLUE_ESCDIR_RIGHT (SID_SD_START+315)
+#define SID_GLUE_ESCDIR_TOP (SID_SD_START+316)
+#define SID_GLUE_ESCDIR_BOTTOM (SID_SD_START+317)
+#define SID_DRAWTBX_INSERT (SID_SD_START+318)
+#define SID_POLYGON_MORPHING (SID_SD_START+319)
+#define SID_MEASURE_DLG (SID_SD_START+320)
+#define SID_EXPORT (SID_SD_START+321)
+#define SID_GRID_VISIBLE (SID_SD_START+322)
+#define SID_GRID_FRONT (SID_SD_START+323)
+#define SID_HELPLINES_VISIBLE (SID_SD_START+324)
+#define SID_HELPLINES_FRONT (SID_SD_START+325)
+#define SID_BEFORE_OBJ (SID_SD_START+326)
+#define SID_PREVIEW_WIN (SID_SD_START+327)
+#define SID_CUSTOM_ANIMATION_PANEL (SID_SD_START+328)
+#define SID_PREVIEW_STATE (SID_SD_START+329)
+#define SID_CUSTOM_ANIMATION_SCHEMES_PANEL (SID_SD_START+333)
+#define SID_SLIDE_TRANSITIONS_PANEL (SID_SD_START+334)
+// free
+#define SID_CONNECTION_DLG (SID_SD_START+338)
+#define SID_PRESENTATION_DLG (SID_SD_START+339)
+#define SID_HYPHENATION (SID_SD_START+340)
+#define SID_CONNECTION_NEW_ROUTING (SID_SD_START+341)
+#define SID_DUPLICATE_PAGE (SID_SD_START+342)
+#define SID_EXPAND_PAGE (SID_SD_START+343)
+#define SID_SUMMARY_PAGE (SID_SD_START+344)
+#define SID_LEAVE_ALL_GROUPS (SID_SD_START+345)
+#define SID_PARASPACE_INCREASE (SID_SD_START+346)
+#define SID_PARASPACE_DECREASE (SID_SD_START+347)
+#define SID_SLIDE_MASTERPAGE (SID_SD_START+348)
+#define SID_HANDOUT_MASTERPAGE (SID_SD_START+349)
+#define SID_NOTES_MASTERPAGE (SID_SD_START+350)
+#define SID_TITLE_MASTERPAGE (SID_SD_START+351)
+#define SID_INSERTPAGE_QUICK (SID_SD_START+352)
+#define SID_SAVEGRAPHIC (SID_SD_START+353)
+// free
+#define SID_INSERT_FLD_DATE_VAR (SID_SD_START+357)
+#define SID_INSERT_FLD_DATE_FIX (SID_SD_START+358)
+#define SID_INSERT_FLD_TIME_VAR (SID_SD_START+359)
+#define SID_INSERT_FLD_TIME_FIX (SID_SD_START+360)
+#define SID_INSERT_FLD_PAGE (SID_SD_START+361)
+#define SID_MODIFY_FIELD (SID_SD_START+362)
+#define SID_INSERT_FLD_FILE (SID_SD_START+363)
+#define SID_INSERT_FLD_AUTHOR (SID_SD_START+364)
+#define SID_CUSTOMSHOW_DLG (SID_SD_START+365)
+
+#define SID_OUTPUT_QUALITY_COLOR (SID_SD_START+366)
+#define SID_OUTPUT_QUALITY_GRAYSCALE (SID_SD_START+367)
+#define SID_OUTPUT_QUALITY_BLACKWHITE (SID_SD_START+368)
+#define SID_PREVIEW_QUALITY_COLOR (SID_SD_START+369)
+#define SID_PREVIEW_QUALITY_GRAYSCALE (SID_SD_START+370)
+#define SID_PREVIEW_QUALITY_BLACKWHITE (SID_SD_START+371)
+#define SID_VECTORIZE (SID_SD_START+372)
+
+#define SID_INSERT_FLD_PAGES (SID_SD_START+373)
+
+#define SID_CONVERT_TO_BITMAP (SID_SD_START+378)
+#define SID_CONVERT_TO_METAFILE (SID_SD_START+379)
+
+#define SID_PACKNGO (SID_SD_START+380)
+
+#define SID_CONVERT_TO_CONTOUR (SID_SD_START+381)
+
+#define SID_EDIT_HYPERLINK (SID_SD_START+382)
+
+#define SID_GRAFFILTER_SOBEL (SID_SD_START+390)
+#define SID_GRAFFILTER_MOSAIC (SID_SD_START+391)
+#define SID_GRAFFILTER_EMBOSS (SID_SD_START+392)
+#define SID_GRAFFILTER_POSTER (SID_SD_START+393)
+#define SID_GRAFFILTER_POPART (SID_SD_START+394)
+#define SID_GRAFFILTER_SEPIA (SID_SD_START+395)
+#define SID_GRAFFILTER_SOLARIZE (SID_SD_START+396)
+
+#define SID_OUTPUT_QUALITY_CONTRAST (SID_SD_START+400)
+#define SID_PREVIEW_QUALITY_CONTRAST (SID_SD_START+401)
+
+#define SID_RENAMEPAGE_QUICK (SID_SD_START+405)
+
+#define SID_SWITCH_SHELL (SID_SD_START+406)
+
+#define SID_HEADER_AND_FOOTER (SID_SD_START+407)
+#define SID_MASTER_LAYOUTS (SID_SD_START+408)
+/*
+#define SID_MASTER_LAYOUTS_NOTES (SID_SD_START+409)
+#define SID_MASTER_LAYOUTS_HANDOUTS (SID_SD_START+410)
+*/
+#define SID_INSERT_PAGE_NUMBER (SID_SD_START+411)
+#define SID_INSERT_DATE_TIME (SID_SD_START+412)
+
+#define SID_SDMODE_FLAG (SID_SD_START+413)
+#define SD_DRAW_MODE 1
+#define SD_IMPRESS_MODE 2
+
+#define SID_LEFT_PANE_IMPRESS (SID_SD_START+414)
+#define SID_LEFT_PANE_DRAW (SID_SD_START+415)
+ // FREE
+#define SID_NOTES_WINDOW (SID_SD_START+417)
+#define SID_SWITCH_SHELL_PANE (SID_SD_START+418)
+#define SID_LAYER_DIALOG_WIN (SID_SD_START+419)
+#define SID_NORMAL_MULTI_PANE_GUI (SID_SD_START+420)
+#define SID_SLIDE_SORTER_MULTI_PANE_GUI (SID_SD_START+421)
+
+#define SID_SELECT_BACKGROUND (SID_SD_START+422)
+#define SID_OBJECT_CROP (SID_SD_START+423)
+
+// Slots for the tool pane popup
+#define SID_TP_APPLY_TO_ALL_SLIDES (SID_SD_START+425)
+#define SID_TP_APPLY_TO_SELECTED_SLIDES (SID_SD_START+426)
+#define SID_TP_USE_FOR_NEW_PRESENTATIONS (SID_SD_START+427)
+#define SID_TP_SHOW_LARGE_PREVIEW (SID_SD_START+428)
+#define SID_TP_SHOW_SMALL_PREVIEW (SID_SD_START+429)
+#define SID_SHOW_TOOL_PANEL (SID_SD_START+430)
+#define SID_INSERT_MASTER_PAGE (SID_SD_START+431)
+#define SID_DELETE_MASTER_PAGE (SID_SD_START+432)
+#define SID_RENAME_MASTER_PAGE (SID_SD_START+433)
+#define SID_CLOSE_MASTER_VIEW (SID_SD_START+434)
+#define SID_ASSIGN_LAYOUT (SID_SD_START+435)
+#define SID_DISPLAY_MASTER_BACKGROUND (SID_SD_START+436)
+#define SID_DISPLAY_MASTER_OBJECTS (SID_SD_START+437)
+#define SID_INSERTPAGE_LAYOUT_MENU (SID_SD_START+438)
+#define SID_TP_EDIT_MASTER (SID_SD_START+439)
+
+// Add companion for the SID_HIDE_SLIDE (that is defined in svx)
+#define SID_SHOW_SLIDE (SID_SD_START+440)
+
+#define SID_ADD_MOTION_PATH (SID_SD_START+441)
+#define SID_TABLE_TOOLBOX (SID_SD_START+442)
+
+#endif
diff --git a/sd/inc/app.hxx b/sd/inc/app.hxx
new file mode 100644
index 000000000000..d3bb871f7a29
--- /dev/null
+++ b/sd/inc/app.hxx
@@ -0,0 +1,29 @@
+/*************************************************************************
+ *
+ * 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 _SD_DLL // fuer SD_MOD()
+#include "sdmod.hxx"
+
diff --git a/sd/inc/cusshow.hxx b/sd/inc/cusshow.hxx
new file mode 100755
index 000000000000..e2aae99cf673
--- /dev/null
+++ b/sd/inc/cusshow.hxx
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * 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 _SD_CUSSHOW_HXX
+#define _SD_CUSSHOW_HXX
+
+#include <tools/list.hxx>
+#include <tools/stream.hxx>
+#include <tools/string.hxx>
+#include <cppuhelper/weakref.hxx>
+#include "sddllapi.h"
+
+class SdDrawDocument;
+class SdPage;
+
+/*************************************************************************
+|*
+|* CustomShow
+|*
+\************************************************************************/
+class SD_DLLPUBLIC SdCustomShow : public List
+{
+private:
+ String aName;
+ SdDrawDocument* pDoc;
+
+ // this is a weak reference to a possible living api wrapper for this custom show
+ ::com::sun::star::uno::WeakReference< ::com::sun::star::uno::XInterface > mxUnoCustomShow;
+
+ // forbidden and not implemented
+ SdCustomShow();
+
+public:
+ // single argument ctors shall be explicit
+ explicit SdCustomShow(SdDrawDocument* pDrawDoc);
+ SdCustomShow(SdDrawDocument* pDrawDoc, ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > xShow );
+
+ virtual ~SdCustomShow();
+
+ // @@@ copy ctor, but no copy assignment? @@@
+ SdCustomShow( const SdCustomShow& rShow );
+
+ void SetName(const String& rName);
+ String GetName() const;
+
+ SdDrawDocument* GetDoc() const { return pDoc; }
+
+ void ReplacePage( const SdPage* pOldPage, const SdPage* pNewPage );
+ void RemovePage( const SdPage* pPage );
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > getUnoCustomShow();
+};
+
+#endif // _SD_CUSSHOW_HXX
+
diff --git a/sd/inc/diadef.h b/sd/inc/diadef.h
new file mode 100644
index 000000000000..9c128e48f3cf
--- /dev/null
+++ b/sd/inc/diadef.h
@@ -0,0 +1,42 @@
+/*************************************************************************
+ *
+ * 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 _SD_DIADEF_H
+#define _SD_DIADEF_H
+
+enum PresChange
+{
+ PRESCHANGE_MANUAL = 0,
+ PRESCHANGE_AUTO = 1,
+ PRESCHANGE_SEMIAUTO = 2
+};
+
+// muss angepasst werden!
+#define PRESCHANGE_COUNT 3
+
+#endif // _SD_DIADEF_H
+
diff --git a/sd/inc/drawdoc.hxx b/sd/inc/drawdoc.hxx
new file mode 100755
index 000000000000..2ff8f98b65dd
--- /dev/null
+++ b/sd/inc/drawdoc.hxx
@@ -0,0 +1,702 @@
+/*************************************************************************
+ *
+ * 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 _DRAWDOC_HXX
+#define _DRAWDOC_HXX
+
+#include <com/sun/star/lang/Locale.hpp>
+#include <com/sun/star/text/WritingMode.hpp>
+#include <com/sun/star/frame/XModel.hdl>
+#include <vcl/print.hxx>
+#include <svx/fmmodel.hxx>
+#include "pres.hxx"
+#include <svx/pageitem.hxx>
+#include <unotools/charclass.hxx>
+#include <sot/storage.hxx>
+#include <rsc/rscsfx.hxx>
+#include <com/sun/star/lang/Locale.hpp>
+#include <com/sun/star/text/WritingMode.hpp>
+
+// #107844#
+#include <svx/svdundo.hxx>
+
+#include <vector>
+
+#ifndef INCLUDED_MEMORY
+#include <memory>
+#define INCLUDED_MEMORY
+#endif
+#include "sddllapi.h"
+#include "sdpage.hxx"
+
+namespace com
+{
+ namespace sun
+ {
+ namespace star
+ {
+ namespace embed
+ {
+ class XStorage;
+ }
+ namespace io
+ {
+ class XStream;
+ }
+ namespace presentation
+ {
+ class XPresentation2;
+ }
+ }
+ }
+}
+
+namespace sd
+{
+ class FrameView;
+ class Outliner;
+}
+
+
+class Timer;
+class SfxObjectShell;
+class SdDrawDocShell;
+class SdPage;
+class SdAnimationInfo;
+class SdIMapInfo;
+class IMapObject;
+class SdStyleSheetPool;
+class SfxMedium;
+class SvxSearchItem;
+class SdrOle2Obj;
+class EditStatus;
+class Graphic;
+class Point;
+class Window;
+class SdTransferable;
+struct SpellCallbackInfo;
+struct StyleRequestData;
+class SdDrawDocument;
+
+namespace sd
+{
+#ifndef SV_DECL_DRAW_DOC_SHELL_DEFINED
+#define SV_DECL_DRAW_DOC_SHELL_DEFINED
+SV_DECL_REF(DrawDocShell)
+#endif
+class DrawDocShell;
+class UndoManager;
+class ShapeList;
+}
+
+class ImpDrawPageListWatcher;
+class ImpMasterPageListWatcher;
+
+struct StyleReplaceData
+{
+ SfxStyleFamily nFamily;
+ SfxStyleFamily nNewFamily;
+ String aName;
+ String aNewName;
+};
+
+enum DocCreationMode
+{
+ NEW_DOC,
+ DOC_LOADED
+};
+
+namespace sd
+{
+ struct PresentationSettings
+ {
+ rtl::OUString maPresPage;
+ sal_Bool mbAll;
+ sal_Bool mbEndless;
+ sal_Bool mbCustomShow;
+ sal_Bool mbManual;
+ sal_Bool mbMouseVisible;
+ sal_Bool mbMouseAsPen;
+ sal_Bool mbLockedPages;
+ sal_Bool mbAlwaysOnTop;
+ sal_Bool mbFullScreen;
+ sal_Bool mbAnimationAllowed;
+ sal_Int32 mnPauseTimeout;
+ sal_Bool mbShowPauseLogo;
+ sal_Bool mbStartWithNavigator;
+
+ PresentationSettings();
+ PresentationSettings( const PresentationSettings& r );
+ };
+}
+
+// ------------------
+// - SdDrawDocument -
+// ------------------
+
+class SdDrawDocument : public FmFormModel
+{
+private:
+ ::sd::Outliner* mpOutliner; // local outliner for outline mode
+ ::sd::Outliner* mpInternalOutliner; // internal outliner for creation of text objects
+ Timer* mpWorkStartupTimer;
+ Timer* mpOnlineSpellingTimer;
+ sd::ShapeList* mpOnlineSpellingList;
+ SvxSearchItem* mpOnlineSearchItem;
+ List* mpFrameViewList;
+ List* mpCustomShowList;
+ ::sd::DrawDocShell* mpDocSh;
+ SdTransferable * mpCreatingTransferable;
+ sal_Bool mbHasOnlineSpellErrors;
+ sal_Bool mbInitialOnlineSpellingEnabled;
+ String maBookmarkFile;
+ ::sd::DrawDocShellRef mxBookmarkDocShRef;
+
+ sd::PresentationSettings maPresentationSettings;
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::presentation::XPresentation2 > mxPresentation;
+
+ sal_Bool mbNewOrLoadCompleted;
+
+ sal_Bool mbOnlineSpell;
+ sal_Bool mbSummationOfParagraphs;
+ bool mbStartWithPresentation; // is set to true when starting with command line parameter -start
+ LanguageType meLanguage;
+ LanguageType meLanguageCJK;
+ LanguageType meLanguageCTL;
+ SvxNumType mePageNumType;
+ ::sd::DrawDocShellRef mxAllocedDocShRef; // => AllocModel()
+ sal_Bool mbAllocDocSh; // => AllocModel()
+ DocumentType meDocType;
+ CharClass* mpCharClass;
+ ::com::sun::star::lang::Locale* mpLocale;
+
+ // #109538#
+ ::std::auto_ptr<ImpDrawPageListWatcher> mpDrawPageListWatcher;
+ ::std::auto_ptr<ImpMasterPageListWatcher> mpMasterPageListWatcher;
+
+ void UpdatePageObjectsInNotes(sal_uInt16 nStartPos);
+ void UpdatePageRelativeURLs(SdPage* pPage, sal_uInt16 nPos, sal_Int32 nIncrement);
+ void FillOnlineSpellingList(SdPage* pPage);
+ void SpellObject(SdrTextObj* pObj);
+
+ DECL_LINK(WorkStartupHdl, Timer*);
+ DECL_LINK(OnlineSpellingHdl, Timer*);
+ DECL_LINK(OnlineSpellEventHdl, EditStatus*);
+
+ std::vector< rtl::OUString > maAnnotationAuthors;
+
+protected:
+
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > createUnoModel();
+
+public:
+
+ class InsertBookmarkAsPage_PageFunctorBase;
+
+ TYPEINFO();
+
+ SdDrawDocument(DocumentType eType, SfxObjectShell* pDocSh);
+ ~SdDrawDocument();
+
+ virtual SdrModel* AllocModel() const;
+ virtual SdrPage* AllocPage(FASTBOOL bMasterPage);
+ virtual const SdrModel* LoadModel(const String& rFileName);
+ virtual void DisposeLoadedModels();
+ virtual FASTBOOL IsReadOnly() const;
+ virtual void SetChanged(sal_Bool bFlag = sal_True);
+ virtual SvStream* GetDocumentStream(SdrDocumentStreamInfo& rStreamInfo) const;
+
+ SfxItemPool& GetPool() { return( *pItemPool ); }
+
+ ::sd::Outliner* GetOutliner(sal_Bool bCreateOutliner=sal_True);
+ SD_DLLPUBLIC ::sd::Outliner* GetInternalOutliner(sal_Bool bCreateOutliner=sal_True);
+
+ ::sd::DrawDocShell* GetDocSh() const { return mpDocSh; }
+
+ LanguageType GetLanguage( const sal_uInt16 nId ) const;
+ void SetLanguage( const LanguageType eLang, const sal_uInt16 nId );
+
+ SvxNumType GetPageNumType() const;
+ void SetPageNumType(SvxNumType eType) { mePageNumType = eType; }
+ SD_DLLPUBLIC String CreatePageNumValue(sal_uInt16 nNum) const;
+
+ DocumentType GetDocumentType() const { return meDocType; }
+
+ void SetAllocDocSh(sal_Bool bAlloc);
+
+ void CreatingDataObj( SdTransferable* pTransferable ) { mpCreatingTransferable = pTransferable; }
+
+ /** if the document does not contain at least one handout, one slide and one notes page with
+ at least one master each this methods creates them.
+ If a reference document is given, the sizes and border settings of that document are used
+ for newly created slides.
+ */
+ SD_DLLPUBLIC void CreateFirstPages( SdDrawDocument* pRefDocument = 0 );
+ SD_DLLPUBLIC sal_Bool CreateMissingNotesAndHandoutPages();
+
+ void MovePage(sal_uInt16 nPgNum, sal_uInt16 nNewPos);
+ void InsertPage(SdrPage* pPage, sal_uInt16 nPos=0xFFFF);
+ void DeletePage(sal_uInt16 nPgNum);
+ SdrPage* RemovePage(sal_uInt16 nPgNum);
+
+ virtual void InsertMasterPage(SdrPage* pPage, sal_uInt16 nPos=0xFFFF);
+ virtual SdrPage* RemoveMasterPage(sal_uInt16 nPgNum);
+
+ void RemoveUnnecessaryMasterPages( SdPage* pMaster=NULL, sal_Bool bOnlyDuplicatePages=sal_False, sal_Bool bUndo=sal_True );
+ SD_DLLPUBLIC void SetMasterPage(sal_uInt16 nSdPageNum, const String& rLayoutName,
+ SdDrawDocument* pSourceDoc, sal_Bool bMaster, sal_Bool bCheckMasters);
+
+ SD_DLLPUBLIC SdDrawDocument* OpenBookmarkDoc(const String& rBookmarkFile);
+ SdDrawDocument* OpenBookmarkDoc(SfxMedium& rMedium);
+ sal_Bool InsertBookmark(List* pBookmarkList, List* pExchangeList, sal_Bool bLink,
+ sal_Bool bReplace, sal_uInt16 nPgPos, sal_Bool bNoDialogs,
+ ::sd::DrawDocShell* pBookmarkDocSh, sal_Bool bCopy,
+ Point* pObjPos);
+
+ bool IsStartWithPresentation() const;
+ void SetStartWithPresentation( bool bStartWithPresentation );
+
+ /** Insert pages into this document
+
+ This method inserts whole pages into this document, either
+ selected ones (specified via pBookmarkList/pExchangeList), or
+ all from the source document.
+
+ @attention Beware! This method in it's current state does not
+ handle all combinations of their input parameters
+ correctly. For example, for pBookmarkList=NULL, bReplace=sal_True
+ is ignored (no replace happens).
+
+ @param pBookmarkList
+ A list of strings, denoting the names of the pages to be copied
+
+ @param pExchangeList
+ A list of strings, denoting the names of the pages to be renamed
+
+ @param bLink
+ Whether the inserted pages should be links to the bookmark document
+
+ @param bReplace
+ Whether the pages should not be inserted, but replace the pages in
+ the destination document
+
+ @param nPgPos
+ Insertion point/start of replacement
+
+ @param bNoDialogs
+ Whether query dialogs are allowed (e.g. for page scaling)
+
+ @param pBookmarkDocSh
+ DocShell of the source document (used e.g. to extract the filename
+ for linked pages)
+
+ @param bCopy
+ Whether the source document should be treated as immutable (i.e.
+ inserted pages are not removed from it, but cloned)
+
+ @param bMergeMasterPages
+ Whether the source document's master pages should be copied, too.
+
+ @param bPreservePageNames
+ Whether the replace operation should take the name from the new
+ page, or preserve the old name
+ */
+ sal_Bool InsertBookmarkAsPage(List* pBookmarkList, List* pExchangeList,
+ sal_Bool bLink, sal_Bool bReplace, sal_uInt16 nPgPos,
+ sal_Bool bNoDialogs, ::sd::DrawDocShell* pBookmarkDocSh,
+ sal_Bool bCopy, sal_Bool bMergeMasterPages,
+ sal_Bool bPreservePageNames);
+ sal_Bool InsertBookmarkAsObject(List* pBookmarkList, List* pExchangeListL,
+ sal_Bool bLink, ::sd::DrawDocShell* pBookmarkDocSh,
+ Point* pObjPos);
+ void IterateBookmarkPages( SdDrawDocument* pBookmarkDoc, List* pBookmarkList,
+ sal_uInt16 nBMSdPageCount,
+ InsertBookmarkAsPage_PageFunctorBase& rPageIterator );
+ SD_DLLPUBLIC void CloseBookmarkDoc();
+
+ SdrObject* GetObj(const String& rObjName) const;
+
+ /** Return the first page that has the given name. Regular pages and
+ notes pages are searched first. When not found then the master
+ pages are searched.
+ @param rPgName
+ Name of the page to return.
+ @param rbIsMasterPage
+ Is set by the method to indicate whether the returned index
+ belongs to a master page (<TRUE/>) or a regular or notes page
+ (<FALSE/>). The given value is ignored.
+ @return
+ Returns the index of the page with the given name or
+ SDRPAGE_NOTFOUND (=0xffff) when such a page does not exist.
+ */
+ sal_uInt16 GetPageByName(const String& rPgName, sal_Bool& rbIsMasterPage ) const;
+ SD_DLLPUBLIC SdPage*GetSdPage(sal_uInt16 nPgNum, PageKind ePgKind) const;
+ SD_DLLPUBLIC sal_uInt16 GetSdPageCount(PageKind ePgKind) const;
+
+ void SetSelected(SdPage* pPage, sal_Bool bSelect);
+ sal_Bool MovePages(sal_uInt16 nTargetPage);
+
+ SD_DLLPUBLIC SdPage*GetMasterSdPage(sal_uInt16 nPgNum, PageKind ePgKind);
+ SD_DLLPUBLIC sal_uInt16 GetMasterSdPageCount(PageKind ePgKind) const;
+
+ sal_uInt16 GetMasterPageUserCount(SdrPage* pMaster) const;
+
+ const sd::PresentationSettings& getPresentationSettings() const { return maPresentationSettings; }
+ sd::PresentationSettings& getPresentationSettings() { return maPresentationSettings; }
+
+ const ::com::sun::star::uno::Reference< ::com::sun::star::presentation::XPresentation2 >& getPresentation() const;
+
+ void SetSummationOfParagraphs( sal_Bool bOn = sal_True ) { mbSummationOfParagraphs = bOn; }
+ sal_Bool IsSummationOfParagraphs() const { return mbSummationOfParagraphs; }
+
+ /** Set the mode that controls whether (and later how) the formatting of the document
+ depends on the current printer metrics.
+ @param nMode
+ Use <const
+ scope="com::sun::star::document::PrinterIndependentLayout">ENABLED</const>
+ to make formatting printer-independent and <const
+ scope="com::sun::star::document::PrinterIndependentLayout">DISABLED</const>
+ to make formatting depend on the current printer metrics.
+ */
+ void SetPrinterIndependentLayout (sal_Int32 nMode);
+
+ /** Get the flag that controls whether the formatting of the document
+ depends on the current printer metrics.
+ @return
+ Use <const
+ scope="com::sun::star::document::PrinterIndependentLayout">ENABLED</const>
+ when formatting is printer-independent and <const
+ scope="com::sun::star::document::PrinterIndependentLayout">DISABLED</const>
+ when formatting depends on the current printer metrics.
+ */
+ sal_Int32 GetPrinterIndependentLayout (void);
+
+ void SetOnlineSpell( sal_Bool bIn );
+ sal_Bool GetOnlineSpell() const { return mbOnlineSpell; }
+ void StopOnlineSpelling();
+ void StartOnlineSpelling(sal_Bool bForceSpelling=sal_True);
+
+ void ImpOnlineSpellCallback(SpellCallbackInfo* pInfo, SdrObject* pObj, SdrOutliner* pOutl);
+
+ void InsertObject(SdrObject* pObj, SdPage* pPage);
+ void RemoveObject(SdrObject* pObj, SdPage* pPage);
+
+ sal_uLong GetLinkCount();
+
+ List* GetFrameViewList() const { return mpFrameViewList; }
+ SD_DLLPUBLIC List* GetCustomShowList(sal_Bool bCreate = sal_False);
+
+ void NbcSetChanged(sal_Bool bFlag = sal_True);
+
+ void SetTextDefaults() const;
+
+ void CreateLayoutTemplates();
+ void RenameLayoutTemplate(const String& rOldLayoutName, const String& rNewName);
+
+ void CreateDefaultCellStyles();
+
+ SD_DLLPUBLIC void StopWorkStartupDelay();
+
+ void NewOrLoadCompleted(DocCreationMode eMode);
+ void NewOrLoadCompleted( SdPage* pPage, SdStyleSheetPool* pSPool );
+ sal_Bool IsNewOrLoadCompleted() const {return mbNewOrLoadCompleted; }
+
+ ::sd::FrameView* GetFrameView(sal_uLong nPos) {
+ return static_cast< ::sd::FrameView*>(
+ mpFrameViewList->GetObject(nPos));}
+
+ /** deprecated*/
+ SdAnimationInfo* GetAnimationInfo(SdrObject* pObject) const;
+
+ SD_DLLPUBLIC static SdAnimationInfo* GetShapeUserData(SdrObject& rObject, bool bCreate = false );
+
+ SdIMapInfo* GetIMapInfo( SdrObject* pObject ) const;
+ IMapObject* GetHitIMapObject( SdrObject* pObject, const Point& rWinPoint, const ::Window& rCmpWnd );
+
+ CharClass* GetCharClass() const { return mpCharClass; }
+
+ void RestoreLayerNames();
+
+ void UpdateAllLinks();
+
+ void CheckMasterPages();
+
+ void Merge(SdrModel& rSourceModel,
+ sal_uInt16 nFirstPageNum=0, sal_uInt16 nLastPageNum=0xFFFF,
+ sal_uInt16 nDestPos=0xFFFF,
+ FASTBOOL bMergeMasterPages=sal_False, FASTBOOL bAllMasterPages=sal_False,
+ FASTBOOL bUndo=sal_True, FASTBOOL bTreadSourceAsConst=sal_False);
+
+ SD_DLLPUBLIC ::com::sun::star::text::WritingMode GetDefaultWritingMode() const;
+ void SetDefaultWritingMode( ::com::sun::star::text::WritingMode eMode );
+
+ /** replacespOldPage from all custom shows with pNewPage or removes pOldPage from
+ all custom shows if pNewPage is 0.
+ */
+ void ReplacePageInCustomShows( const SdPage* pOldPage, const SdPage* pNewPage );
+
+public:
+
+ static SdDrawDocument* pDocLockedInsertingLinks; // static to prevent recursions while resolving links
+
+ /** Create and insert a set of two new pages: a standard (draw) page and
+ the associated notes page. The new pages are inserted direclty
+ after the specified page set.
+ @param pCurrentPage
+ This page is used to retrieve the layout for the page to
+ create.
+ @param ePageKind
+ This specifies whether <argument>pCurrentPage</argument> is a
+ standard (draw) page or a notes page.
+ @param sStandardPageName
+ Name of the standard page. An empty string leads to using an
+ automatically created name.
+ @param sNotesPageName
+ Name of the standard page. An empty string leads to using an
+ automatically created name.
+ @param eStandardLayout
+ Layout to use for the new standard page. Note that this layout
+ is not used when the given <argument>pCurrentPage</argument> is
+ not a standard page. In this case the layout is taken from the
+ standard page associated with <argument>pCurrentPage</argument>.
+ @param eNotesLayout
+ Layout to use for the new notes page. Note that this layout
+ is not used when the given <argument>pCurrentPage</argument> is
+ not a notes page. In this case the layout is taken from the
+ notes page associated with <argument>pCurrentPage</argument>.
+ @param bIsPageBack
+ This flag indicates whether to show the background shape.
+ @param bIsPageObj
+ This flag indicates whether to show the shapes on the master page.
+ @param nInsertPosition
+ Position where to insert the standard page. When -1 then the
+ new page set is inserted after the current page.
+
+ @return
+ Returns an index of the inserted pages that can be used with the
+ <member>GetSdPage()</member> method.
+ */
+ sal_uInt16 CreatePage (
+ SdPage* pCurrentPage,
+ PageKind ePageKind,
+ const String& sStandardPageName,
+ const String& sNotesPageName,
+ AutoLayout eStandardLayout,
+ AutoLayout eNotesLayout,
+ sal_Bool bIsPageBack,
+ sal_Bool bIsPageObj,
+ const sal_Int32 nInsertPosition = -1);
+
+ /** This method acts as a simplified front end for the more complex
+ <member>DuplicatePage()</member> method.
+ @param nPageNum
+ The page number as passed to the <member>GetSdPage()</member>
+ method for which the standard page and the notes page are to be
+ copied.
+ @return
+ Returns an index of the inserted pages that can be used with the
+ <member>GetSdPage()</member> method.
+ */
+ sal_uInt16 DuplicatePage (sal_uInt16 nPageNum);
+
+ /** Create and insert a set of two new pages that are copies of the
+ given <argument>pCurrentPage</argument> and its associated notes
+ resp. standard page. The copies are inserted directly after the
+ specified page set.
+ @param pCurrentPage
+ This page and its associated notes/standard page is copied.
+ @param ePageKind
+ This specifies whether <argument>pCurrentPage</argument> is a
+ standard (draw) page or a notes page.
+ @param sStandardPageName
+ Name of the standard page. An empty string leads to using an
+ automatically created name.
+ @param sNotesPageName
+ Name of the standard page. An empty string leads to using an
+ automatically created name.
+ @param eStandardLayout
+ Layout to use for the new standard page. Note that this layout
+ is not used when the given <argument>pCurrentPage</argument> is
+ not a standard page. In this case the layout is taken from the
+ standard page associated with <argument>pCurrentPage</argument>.
+ @param eNotesLayout
+ Layout to use for the new notes page. Note that this layout
+ is not used when the given <argument>pCurrentPage</argument> is
+ not a notes page. In this case the layout is taken from the
+ notes page associated with <argument>pCurrentPage</argument>.
+ @param bIsPageBack
+ This flag indicates whether to show the background shape.
+ @param bIsPageObj
+ This flag indicates whether to show the shapes on the master page.
+ @param nInsertPosition
+ Position where to insert the standard page. When -1 then the
+ new page set is inserted after the current page.
+
+ @return
+ Returns an index of the inserted pages that can be used with the
+ <member>GetSdPage()</member> method.
+ */
+ sal_uInt16 DuplicatePage (
+ SdPage* pCurrentPage,
+ PageKind ePageKind,
+ const String& sStandardPageName,
+ const String& sNotesPageName,
+ AutoLayout eStandardLayout,
+ AutoLayout eNotesLayout,
+ sal_Bool bIsPageBack,
+ sal_Bool bIsPageObj,
+ const sal_Int32 nInsertPosition = -1);
+
+ /** return the document fonts for latin, cjk and ctl according to the current
+ languages set at this document */
+ void getDefaultFonts( Font& rLatinFont, Font& rCJKFont, Font& rCTLFont );
+
+ sd::UndoManager* GetUndoManager() const;
+
+ /* converts the given western font height to a corresponding ctl font height, deppending on the system language */
+ static sal_uInt32 convertFontHeightToCTL( sal_uInt32 nWesternFontHeight );
+
+ /** Get the style sheet pool if it was a SdStyleSheetPool.
+ */
+ SD_DLLPUBLIC SdStyleSheetPool* GetSdStyleSheetPool() const;
+
+ void UpdatePageRelativeURLs(const String& rOldName, const String& rNewName);
+
+ void SetCalcFieldValueHdl( ::Outliner* pOutliner);
+
+ sal_uInt16 GetAnnotationAuthorIndex( const rtl::OUString& rAuthor );
+
+private:
+ /** This member stores the printer independent layout mode. Please
+ refer to <member>SetPrinterIndependentLayout()</member> for its
+ values.
+ */
+ sal_Int32 mnPrinterIndependentLayout;
+
+ /** Insert a given set of standard and notes page after the given <argument>pCurrentPage</argument>.
+ @param pCurrentPage
+ This page and its associated notes/standard page is copied.
+ @param ePageKind
+ This specifies whether <argument>pCurrentPage</argument> is a
+ standard (draw) page or a notes page.
+ @param sStandardPageName
+ Name of the standard page. An empty string leads to using an
+ automatically created name.
+ @param sNotesPageName
+ Name of the standard page. An empty string leads to using an
+ automatically created name.
+ @param eStandardLayout
+ Layout to use for the new standard page. Note that this layout
+ is not used when the given <argument>pCurrentPage</argument> is
+ not a standard page. In this case the layout is taken from the
+ standard page associated with <argument>pCurrentPage</argument>.
+ @param eNotesLayout
+ Layout to use for the new notes page. Note that this layout
+ is not used when the given <argument>pCurrentPage</argument> is
+ not a notes page. In this case the layout is taken from the
+ notes page associated with <argument>pCurrentPage</argument>.
+ @param bIsPageBack
+ This flag indicates whether to show the background shape.
+ @param bIsPageObj
+ This flag indicates whether to show the shapes on the master page.
+ @param pStandardPage
+ The standard page to insert.
+ @param pNotesPage
+ The notes page to insert.
+ @param nInsertPosition
+ Position where to insert the standard page. When -1 then the
+ new page set is inserted after the current page.
+
+ @return
+ Returns an index of the inserted pages that can be used with the
+ <member>GetSdPage()</member> method.
+ */
+ sal_uInt16 InsertPageSet (
+ SdPage* pCurrentPage,
+ PageKind ePageKind,
+ const String& sStandardPageName,
+ const String& sNotesPageName,
+ AutoLayout eStandardLayout,
+ AutoLayout eNotesLayout,
+ sal_Bool bIsPageBack,
+ sal_Bool bIsPageObj,
+ SdPage* pStandardPage,
+ SdPage* pNotesPage,
+ sal_Int32 nInsertPosition = -1);
+
+ /** Set up a newly created page and insert it into the list of pages.
+ @param pPreviousPage
+ A page to take the size and border geometry from.
+ @param pPage
+ This is the page to set up and insert.
+ @param sPageName
+ The name of the new page.
+ @param nInsertionPoint
+ Index of the page before which the new page will be inserted.
+ @param bIsPageBack
+ This flag indicates whether to show the background shape.
+ @param bIsPageObj
+ This flag indicates whether to show the shapes on the master
+ page.
+ */
+ void SetupNewPage (
+ SdPage* pPreviousPage,
+ SdPage* pPage,
+ const String& sPageName,
+ sal_uInt16 nInsertionPoint,
+ sal_Bool bIsPageBack,
+ sal_Bool bIsPageObj);
+
+ // #109538#
+ virtual void PageListChanged();
+ virtual void MasterPageListChanged();
+};
+
+namespace sd
+{
+
+// an instance of this guard disables modification of a document
+// during its lifetime
+class ModifyGuard
+{
+public:
+ ModifyGuard( SdDrawDocument* pDoc );
+ ~ModifyGuard();
+
+private:
+ void init();
+
+ DrawDocShell* mpDocShell;
+ SdDrawDocument* mpDoc;
+ sal_Bool mbIsEnableSetModified;
+ sal_Bool mbIsDocumentChanged;
+};
+
+}
+
+#endif // _DRAWDOC_HXX
diff --git a/sd/inc/eetext.hxx b/sd/inc/eetext.hxx
new file mode 100644
index 000000000000..1bae1de6c1e9
--- /dev/null
+++ b/sd/inc/eetext.hxx
@@ -0,0 +1,34 @@
+/*************************************************************************
+ *
+ * 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 _EETEXT_HXX
+#define _EETEXT_HXX
+
+#include <editeng/outliner.hxx>
+
+#endif // EETEXT_HXX
+
+
diff --git a/sd/inc/fadedef.h b/sd/inc/fadedef.h
new file mode 100644
index 000000000000..9a9fdf709344
--- /dev/null
+++ b/sd/inc/fadedef.h
@@ -0,0 +1,44 @@
+/*************************************************************************
+ *
+ * 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 _SD_FADEDEF_H
+#define _SD_FADEDEF_H
+
+// muss angepasst werden!
+#define FADE_EFFECT_COUNT 57
+
+enum FadeSpeed
+{
+ FADE_SPEED_SLOW,
+ FADE_SPEED_MEDIUM,
+ FADE_SPEED_FAST
+};
+// muss angepasst werden!
+#define FADE_SPEED_COUNT 3
+
+#endif // _SD_FADEDEF_H
+
diff --git a/sd/inc/glob.hrc b/sd/inc/glob.hrc
new file mode 100755
index 000000000000..89b2b670adf9
--- /dev/null
+++ b/sd/inc/glob.hrc
@@ -0,0 +1,160 @@
+/*************************************************************************
+ *
+ * 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 _SFX_HRC
+#include <sfx2/sfx.hrc>
+#endif
+
+#define RID_GLOB_START RID_APP_START+750
+
+#define STR_LAYER_BCKGRND RID_GLOB_START
+#define STR_LAYER_BCKGRNDOBJ RID_GLOB_START+1
+#define STR_LAYER_LAYOUT RID_GLOB_START+2
+#define STR_LAYER_CONTROLS RID_GLOB_START+3
+#define STR_PAGE RID_GLOB_START+4
+#define STR_PRESOBJ_TITLE RID_GLOB_START+5
+#define STR_PRESOBJ_OUTLINE RID_GLOB_START+6
+#define STR_PRESOBJ_TEXT RID_GLOB_START+7
+#define STR_PRESOBJ_GRAPHIC RID_GLOB_START+8
+#define STR_PRESOBJ_OBJECT RID_GLOB_START+9
+#define STR_PRESOBJ_CHART RID_GLOB_START+10
+#define STR_PRESOBJ_ORGCHART RID_GLOB_START+11
+#define STR_PRESOBJ_TABLE RID_GLOB_START+12
+#define STR_PRESOBJ_IMAGE RID_GLOB_START+13
+#define BMP_PRESOBJ_GRAPHIC RID_GLOB_START+14
+#define BMP_PRESOBJ_OBJECT RID_GLOB_START+15
+#define BMP_PRESOBJ_CHART RID_GLOB_START+16
+#define BMP_PRESOBJ_ORGCHART RID_GLOB_START+17
+#define BMP_PRESOBJ_TABLE RID_GLOB_START+18
+#define BMP_PRESOBJ_IMAGE RID_GLOB_START+19
+#define STR_OUTLINEVIEWSHELL RID_GLOB_START+21
+#define STR_DRAWVIEWSHELL RID_GLOB_START+22
+#define STR_TEXTOBJECTBARSHELL RID_GLOB_START+23
+#define STR_STDOBJECTBARSHELL RID_GLOB_START+24
+#define STR_BEZIEROBJECTBARSHELL RID_GLOB_START+25
+#define STR_APPLICATIONOBJECTBAR RID_GLOB_START+26
+#define STR_LAYOUT_TITLE RID_GLOB_START+27
+#define STR_LAYOUT_OUTLINE RID_GLOB_START+28
+#define STR_LAYOUT_BACKGROUNDOBJECTS RID_GLOB_START+29
+#define STR_LAYOUT_BACKGROUND RID_GLOB_START+30
+#define STR_LAYOUT_NOTES RID_GLOB_START+31
+#define STR_PRESOBJ_MPTITLE RID_GLOB_START+32
+#define STR_PRESOBJ_MPOUTLINE RID_GLOB_START+33
+#define STR_PRESOBJ_MPOUTLLAYER2 RID_GLOB_START+34
+#define STR_PRESOBJ_MPOUTLLAYER3 RID_GLOB_START+35
+#define STR_PRESOBJ_MPOUTLLAYER4 RID_GLOB_START+36
+#define STR_PRESOBJ_MPOUTLLAYER5 RID_GLOB_START+37
+#define STR_PRESOBJ_MPOUTLLAYER6 RID_GLOB_START+38
+#define STR_PRESOBJ_MPOUTLLAYER7 RID_GLOB_START+39
+#define STR_PRESOBJ_MPOUTLLAYER8 RID_GLOB_START+40
+#define STR_PRESOBJ_MPOUTLLAYER9 RID_GLOB_START+41
+#define STR_PRESOBJ_MPNOTESTITLE RID_GLOB_START+42
+#define STR_PRESOBJ_MPNOTESTEXT RID_GLOB_START+43
+#define STR_PRESOBJ_NOTESTEXT RID_GLOB_START+44
+#define STR_LAYOUT_DEFAULT_NAME RID_GLOB_START+45
+#define STR_STANDARD_STYLESHEET_NAME RID_GLOB_START+46
+#define STR_NOTES RID_GLOB_START+47
+#define STR_HANDOUT RID_GLOB_START+48
+#define STR_MASTERPAGE RID_GLOB_START+49
+#define STR_PRESOBJNOTESTEXT RID_GLOB_START+50
+#define STR_BAD_PASSWORD_OR_FILE_CORRUPTED RID_GLOB_START+51
+#define STR_UNDO_MOVEPAGES RID_GLOB_START+52
+#define STR_NOT_ENOUGH_MEMORY RID_GLOB_START+53
+#define STR_LAYOUT_SUBTITLE RID_GLOB_START+54
+#define STR_POOLSHEET_OBJWITHARROW RID_GLOB_START+55
+#define STR_POOLSHEET_OBJWITHSHADOW RID_GLOB_START+56
+#define STR_POOLSHEET_OBJWITHOUTFILL RID_GLOB_START+57
+#define STR_POOLSHEET_TEXT RID_GLOB_START+58
+#define STR_POOLSHEET_TEXTBODY RID_GLOB_START+59
+#define STR_POOLSHEET_TEXTBODY_JUSTIFY RID_GLOB_START+60
+#define STR_POOLSHEET_TEXTBODY_INDENT RID_GLOB_START+61
+#define STR_POOLSHEET_TITLE RID_GLOB_START+62
+#define STR_POOLSHEET_TITLE1 RID_GLOB_START+63
+#define STR_POOLSHEET_TITLE2 RID_GLOB_START+64
+#define STR_POOLSHEET_HEADLINE RID_GLOB_START+65
+#define STR_POOLSHEET_HEADLINE1 RID_GLOB_START+66
+#define STR_POOLSHEET_HEADLINE2 RID_GLOB_START+67
+#define STR_POOLSHEET_MEASURE RID_GLOB_START+68
+#define STR_POOLSHEET_ARROW RID_GLOB_START+69
+//
+#define STR_POOLSHEET_BANDED_CELL RID_GLOB_START+70
+#define STR_POOLSHEET_HEADER RID_GLOB_START+71
+#define STR_POOLSHEET_TOTAL RID_GLOB_START+72
+#define STR_POOLSHEET_FIRST_COLUMN RID_GLOB_START+73
+#define STR_POOLSHEET_LAST_COLUMN RID_GLOB_START+74
+//
+#define STR_PSEUDOSHEET_TITLE RID_GLOB_START+80
+#define STR_PSEUDOSHEET_OUTLINE RID_GLOB_START+81
+#define STR_PSEUDOSHEET_BACKGROUNDOBJECTS RID_GLOB_START+82
+#define STR_PSEUDOSHEET_BACKGROUND RID_GLOB_START+83
+#define STR_PSEUDOSHEET_NOTES RID_GLOB_START+84
+#define STR_PSEUDOSHEET_SUBTITLE RID_GLOB_START+85
+#define STR_GLUEPOINTSOBJECTBARSHELL RID_GLOB_START+90
+#define STR_EMPTY_STYLESHEET_NAME RID_GLOB_START+91
+#define STR_LAYER_MEASURELINES RID_GLOB_START+92
+#define STR_LAYOUT_DEFAULT_TITLE_NAME RID_GLOB_START+93
+#define STR_GRAFOBJECTBARSHELL RID_GLOB_START+94
+#define STR_POWERPOINT_IMPORT RID_GLOB_START+95
+#define STR_STAROFFICE_XML_DRAW RID_GLOB_START+96
+#define STR_STAROFFICE_XML_IMPRESS RID_GLOB_START+97
+#define STR_PRESVIEWSHELL RID_GLOB_START+98
+#define STR_LOAD_DOC RID_GLOB_START+99
+#define STR_SAVE_DOC RID_GLOB_START+100
+#define STR_PREVIEWVIEWSHELL RID_GLOB_START+101
+#define RID_SD_ERRHDL RID_GLOB_START+102
+#define STR_VIEWSHELLBASE RID_GLOB_START+103
+#define STR_3DOBJECTBARSHELL RID_GLOB_START+104
+#define STR_FONTWORKOBJECTBARSHELL RID_GLOB_START+105
+#define STR_SLIDESORTERVIEWSHELL RID_GLOB_START+106
+#define STR_TASKPANEVIEWSHELL RID_GLOB_START+107
+#define STR_MASTERPAGESSELECTOR RID_GLOB_START+108
+#define STR_TASKPANELAYOUTMENU RID_GLOB_START+109
+#define STR_MEDIAOBJECTBARSHELL RID_GLOB_START+110
+#define STR_PAGE_NAME RID_GLOB_START+111
+#define STR_SLIDE_NAME RID_GLOB_START+112
+#define STR_LEFT_IMPRESS_PANE_SHELL RID_GLOB_START+113
+#define STR_LEFT_DRAW_PANE_SHELL RID_GLOB_START+114
+#define STR_RIGHT_PANE_SHELL RID_GLOB_START+115
+#define STR_TOOL_PANEL_SHELL RID_GLOB_START+116
+
+#define RID_CUSTOMANIMATION_START RID_GLOB_START+120
+#define RID_CUSTOMANIMATION_END RID_GLOB_START+199
+#define RID_ANNOTATIONS_START RID_GLOB_START+200
+#define RID_ANNOTATIONS_END RID_GLOB_START+220
+#define STR_UNDO_ANIMATION RID_GLOB_START+221
+#define STR_UNDO_SLIDE_PARAMS RID_GLOB_START+222
+#define RID_SLIDESHOW_CONTEXTMENU RID_GLOB_START+223
+
+#define DLG_TABLEDESIGNPANE RID_GLOB_START+224
+#define STR_TABLEOBJECTBARSHELL RID_GLOB_START+225
+#define RID_TABPAGE_PARA_NUMBERING RID_GLOB_START+226
+#define STR_CUSTOMANIMATIONPANE RID_GLOB_START+227
+#define STR_SLIDE_TRANSITION_PANE RID_GLOB_START+228
+
+#define RID_SLIDESORTER_ICONS RID_GLOB_START+227
+
+
+
diff --git a/sd/inc/glob.hxx b/sd/inc/glob.hxx
new file mode 100755
index 000000000000..096ea4372626
--- /dev/null
+++ b/sd/inc/glob.hxx
@@ -0,0 +1,99 @@
+/*************************************************************************
+ *
+ * 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 SD_GLOB_HXX
+#define SD_GLOB_HXX
+
+#include <tools/solar.h>
+
+#include <rsc/rscsfx.hxx>
+
+//------------------------------------------------------------------
+
+#define DIA_SLOW 0
+#define DIA_MEDIUM 1
+#define DIA_FAST 2
+
+#define SD_IF_SDAPP SFX_INTERFACE_SD_START + 0
+#define SD_IF_SDDRAWDOCSHELL SFX_INTERFACE_SD_START + 1
+#define SD_IF_SDVIEWSHELL SFX_INTERFACE_SD_START + 2
+#define SD_IF_SDDRAWVIEWSHELL SFX_INTERFACE_SD_START + 3
+#define SD_IF_SDOUTLINEVIEWSHELL SFX_INTERFACE_SD_START + 5
+#define SD_IF_SDDRAWSTDOBJECTBAR SFX_INTERFACE_SD_START + 6
+#define SD_IF_SDDRAWTEXTOBJECTBAR SFX_INTERFACE_SD_START + 7
+#define SD_IF_SDDRAWBEZIEROBJECTBAR SFX_INTERFACE_SD_START + 8
+#define SD_IF_SDDRAWGLUEPOINTSOBJECTBAR SFX_INTERFACE_SD_START + 9
+#define SD_IF_SDGRAPHICDOCSHELL SFX_INTERFACE_SD_START + 10
+#define SD_IF_SDGRAPHICVIEWSHELL SFX_INTERFACE_SD_START + 11
+#define SD_IF_SDGRAPHICSTDOBJECTBAR SFX_INTERFACE_SD_START + 12
+#define SD_IF_SDDRAWGRAFOBJECTBAR SFX_INTERFACE_SD_START + 13
+#define SD_IF_SDPRESVIEWSHELL SFX_INTERFACE_SD_START + 14
+#define SD_IF_SDPREVIEWVIEWSHELL SFX_INTERFACE_SD_START + 15
+#define SD_IF_SDVIEWSHELLBASE SFX_INTERFACE_SD_START + 16
+#define SD_IF_SD3DOBJECTBAR SFX_INTERFACE_SD_START + 17
+#define SD_IF_SDFONTWORKOBJECTBAR SFX_INTERFACE_SD_START + 18
+#define SD_IF_SDSLIDESORTERVIEWSHELL SFX_INTERFACE_SD_START + 19
+#define SD_IF_SDTASKPANEVIEWSHELL SFX_INTERFACE_SD_START + 20
+#define SD_IF_SDMASTERPAGESSELECTOR SFX_INTERFACE_SD_START + 21
+#define SD_IF_SDLAYOUTMENU SFX_INTERFACE_SD_START + 22
+#define SD_IF_SDDRAWMEDIAOBJECTBAR SFX_INTERFACE_SD_START + 23
+#define SD_IF_SDLEFTIMPRESSPANESHELL SFX_INTERFACE_SD_START + 24
+#define SD_IF_SDLEFTDRAWPANESHELL SFX_INTERFACE_SD_START + 25
+#define SD_IF_SDRIGHTPANESHELL SFX_INTERFACE_SD_START + 26
+#define SD_IF_SDDRAWTABLEOBJECTBAR SFX_INTERFACE_SD_START + 27
+#define SD_IF_SDANNOTATIONSHELL SFX_INTERFACE_SD_START + 28
+#define SD_IF_SDTOOLPANELPANESHELL SFX_INTERFACE_SD_START + 29
+#define SD_IF_SDTOOLPANELSHELL SFX_INTERFACE_SD_START + 30
+
+// Inventor-Id fuer StarDraw UserData
+const sal_uInt32 SdUDInventor=sal_uInt32('S')*0x00000001+
+ sal_uInt32('D')*0x00000100+
+ sal_uInt32('U')*0x00010000+
+ sal_uInt32('D')*0x01000000;
+
+// Object-Ids fuer StarDraw UserData
+#define SD_ANIMATIONINFO_ID 1
+#define SD_IMAPINFO_ID 2
+
+// FamilyId der Praesentationsvorlagen
+#define SD_STYLE_FAMILY_GRAPHICS SFX_STYLE_FAMILY_PARA
+#define SD_STYLE_FAMILY_PSEUDO SFX_STYLE_FAMILY_PSEUDO
+#define SD_STYLE_FAMILY_CELL SFX_STYLE_FAMILY_FRAME
+#define SD_STYLE_FAMILY_MASTERPAGE SFX_STYLE_FAMILY_PAGE // ex LT_FAMILY
+
+// Trennzeichen zwischen Layoutname und Vorlagenname der Praesentationsvorlagen
+#define SD_LT_SEPARATOR "~LT~"
+
+// Optionsstream-Identifier
+#define SD_OPTION_MORPHING "Morph"
+#define SD_OPTION_VECTORIZE "Vectorize"
+
+//------------------------------------------------------------------
+
+#endif // _SD_GLOB_HXX
+
+
diff --git a/sd/inc/helper/simplereferencecomponent.hxx b/sd/inc/helper/simplereferencecomponent.hxx
new file mode 100644
index 000000000000..115457286663
--- /dev/null
+++ b/sd/inc/helper/simplereferencecomponent.hxx
@@ -0,0 +1,115 @@
+/*************************************************************************
+ *
+ * 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 _SD_SIMPLEREFERENCECOMPONENT_HXX_
+#define _SD_SIMPLEREFERENCECOMPONENT_HXX_
+
+#include "osl/interlck.h"
+#include "sal/types.h"
+
+#include <cstddef>
+#include <new>
+
+#include <sddllapi.h>
+
+namespace sd {
+
+/** A simple base implementation for reference-counted components.
+ acts like sal::SimpleReferenceObject but calls the virtual disposing()
+ methods before the ref count switches from 1 to zero.
+ */
+class SimpleReferenceComponent
+{
+public:
+ SimpleReferenceComponent();
+
+ /** @ATTENTION
+ The results are undefined if, for any individual instance of
+ SimpleReferenceComponent, the total number of calls to acquire() exceeds
+ the total number of calls to release() by a plattform dependent amount
+ (which, hopefully, is quite large).
+ */
+ SD_DLLPUBLIC void acquire();
+ SD_DLLPUBLIC void release();
+
+ void Dispose();
+
+ bool isDisposed() const { return mbDisposed; }
+
+ /** see general class documentation
+ */
+ static void * operator new(std::size_t nSize) SAL_THROW((std::bad_alloc));
+
+ /** see general class documentation
+ */
+ static void * operator new(std::size_t nSize,
+ std::nothrow_t const & rNothrow)
+ ;
+
+ /** see general class documentation
+ */
+ static void operator delete(void * pPtr);
+
+ /** see general class documentation
+ */
+ static void operator delete(void * pPtr, std::nothrow_t const & rNothrow)
+ ;
+
+protected:
+ virtual void disposing();
+
+ virtual ~SimpleReferenceComponent();
+
+private:
+ oslInterlockedCount m_nCount;
+
+ /** not implemented
+ @internal
+ */
+ SimpleReferenceComponent(SimpleReferenceComponent &);
+
+ /** not implemented
+ @internal
+ */
+ void operator =(SimpleReferenceComponent);
+
+ /** not implemented (see general class documentation)
+ @internal
+ */
+ static void * operator new[](std::size_t);
+
+ /** not implemented (see general class documentation)
+ @internal
+ */
+ static void operator delete[](void * pPtr);
+
+ bool mbDisposed;
+};
+
+}
+
+#endif // _SALHELPER_SimpleReferenceComponent_HXX_
diff --git a/sd/inc/helpids.h b/sd/inc/helpids.h
new file mode 100755
index 000000000000..b01009f159d6
--- /dev/null
+++ b/sd/inc/helpids.h
@@ -0,0 +1,251 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#include <sfx2/sfxcommands.h>
+#include <svx/svxcommands.h>
+#include "sdcommands.h"
+
+#define HID_SDDRAWVIEWSHELL "SD_HID_SDDRAWVIEWSHELL"
+#define HID_SDGRAPHICVIEWSHELL "SD_HID_SDGRAPHICVIEWSHELL"
+#define HID_SDOUTLINEVIEWSHELL "SD_HID_SDOUTLINEVIEWSHELL"
+#define HID_SD_PRINT_OPTIONS "SD_HID_SD_PRINT_OPTIONS"
+#define HID_SD_OPTIONS_SNAP "SD_HID_SD_OPTIONS_SNAP"
+#define HID_SD_OPTIONS_VIEW "SD_HID_SD_OPTIONS_VIEW"
+#define HID_SD_AUTOPILOT_PAGE1 "SD_HID_SD_AUTOPILOT_PAGE1"
+#define HID_SD_AUTOPILOT_PAGE2 "SD_HID_SD_AUTOPILOT_PAGE2"
+#define HID_SD_AUTOPILOT_PAGE3 "SD_HID_SD_AUTOPILOT_PAGE3"
+#define HID_SD_AUTOPILOT_PAGE4 "SD_HID_SD_AUTOPILOT_PAGE4"
+#define HID_SD_AUTOPILOT_PAGE5 "SD_HID_SD_AUTOPILOT_PAGE5"
+#define HID_SD_AUTOPILOT_PAGE6 "SD_HID_SD_AUTOPILOT_PAGE6"
+#define HID_SD_CBX_ONLYSELECTED "SD_HID_SD_CBX_ONLYSELECTED"
+#define HID_SD_BTN_FILTERDIALOG "SD_HID_SD_BTN_FILTERDIALOG"
+#define HID_SD_BTN_PAGE "SD_HID_SD_BTN_PAGE"
+#define HID_SD_BTN_MASTERPAGE "SD_HID_SD_BTN_MASTERPAGE"
+#define HID_SD_BTN_LAYER "SD_HID_SD_BTN_LAYER"
+#define HID_SD_BTN_DRAW "SD_HID_SD_BTN_DRAW"
+#define HID_SD_BTN_SLIDE "SD_HID_SD_BTN_SLIDE"
+#define HID_SD_BTN_OUTLINE "SD_HID_SD_BTN_OUTLINE"
+#define HID_SD_BTN_NOTES "SD_HID_SD_BTN_NOTES"
+#define HID_SD_BTN_HANDOUT "SD_HID_SD_BTN_HANDOUT"
+#define HID_SD_WIN_DOCUMENT "SD_HID_SD_WIN_DOCUMENT"
+#define HID_SD_OPTIONS_LAYOUT "SD_HID_SD_OPTIONS_LAYOUT"
+#define HID_SD_OPTIONS_CONTENTS "SD_HID_SD_OPTIONS_CONTENTS"
+#define HID_SD_OPTIONS_MISC "SD_HID_SD_OPTIONS_MISC"
+#define HID_SD_EFFECT_PREVIEW "SD_HID_SD_EFFECT_PREVIEW"
+#define HID_SD_CTL_NEWFOIL "SD_HID_SD_CTL_NEWFOIL"
+#define HID_SD_NAVIGATOR_TLB "SD_HID_SD_NAVIGATOR_TLB"
+#define HID_SD_NAVIGATOR "SD_HID_SD_NAVIGATOR"
+#define HID_SD_CTL_EFFECTS "SD_HID_SD_CTL_EFFECTS"
+#define HID_SD_CTL_TEXT_EFFECTS "SD_HID_SD_CTL_TEXT_EFFECTS"
+#define HID_SD_CTL_SLIDE_CHANGE "SD_HID_SD_CTL_SLIDE_CHANGE"
+#define HID_SD_NAVIGATOR_TBX "SD_HID_SD_NAVIGATOR_TBX"
+#define HID_SD_NAVIGATOR_LB "SD_HID_SD_NAVIGATOR_LB"
+#define HID_SD_NAVIGATOR_TBI_PEN "SD_HID_SD_NAVIGATOR_TBI_PEN"
+#define HID_SD_NAVIGATOR_TBI_FIRST "SD_HID_SD_NAVIGATOR_TBI_FIRST"
+#define HID_SD_NAVIGATOR_TBI_PREV "SD_HID_SD_NAVIGATOR_TBI_PREV"
+#define HID_SD_NAVIGATOR_TBI_NEXT "SD_HID_SD_NAVIGATOR_TBI_NEXT"
+#define HID_SD_NAVIGATOR_TBI_LAST "SD_HID_SD_NAVIGATOR_TBI_LAST"
+#define HID_SD_NAVIGATOR_TBI_DRAGTYPE "SD_HID_SD_NAVIGATOR_TBI_DRAGTYPE"
+#define HID_SD_NAVIGATOR_TBI_SHAPE_FILTER "SD_HID_SD_NAVIGATOR_TBI_SHAPE_FILTER"
+
+// Toolboxen
+#define HID_SD_DRAW_DEFAULTTOOLBOX "SD_HID_SD_DRAW_DEFAULTTOOLBOX"
+#define HID_SD_PLUGINTOOLBOX "SD_HID_SD_PLUGINTOOLBOX"
+#define HID_SD_DRAW_TOOLBOX "SD_HID_SD_DRAW_TOOLBOX"
+#define HID_SD_SLIDE_TOOLBOX "SD_HID_SD_SLIDE_TOOLBOX"
+#define HID_SD_OUTLINE_TOOLBOX "SD_HID_SD_OUTLINE_TOOLBOX"
+#define HID_SD_DRAW_OBJ_TOOLBOX "SD_HID_SD_DRAW_OBJ_TOOLBOX"
+#define HID_SD_DRAW_OPTIONS_TOOLBOX "SD_HID_SD_DRAW_OPTIONS_TOOLBOX"
+#define HID_SD_DRAW_COMMONTASK_TOOLBOX "SD_HID_SD_DRAW_COMMONTASK_TOOLBOX"
+#define HID_SD_BEZIER_TOOLBOX "SD_HID_SD_BEZIER_TOOLBOX"
+#define HID_SD_TEXT_TOOLBOX "SD_HID_SD_TEXT_TOOLBOX"
+#define HID_SD_GLUEPOINTS_TOOLBOX "SD_HID_SD_GLUEPOINTS_TOOLBOX"
+#define HID_SD_SLIDE_OBJ_TOOLBOX "SD_HID_SD_SLIDE_OBJ_TOOLBOX"
+
+// FloatingWindows
+#define HID_SD_FW_ALIGNMENT "SD_HID_SD_FW_ALIGNMENT"
+#define HID_SD_FW_ZOOM "SD_HID_SD_FW_ZOOM"
+#define HID_SD_FW_CHOOSE_MODE "SD_HID_SD_FW_CHOOSE_MODE"
+#define HID_SD_FW_TEXT "SD_HID_SD_FW_TEXT"
+#define HID_SD_FW_RECTANGLES "SD_HID_SD_FW_RECTANGLES"
+#define HID_SD_FW_ELLIPSES "SD_HID_SD_FW_ELLIPSES"
+#define HID_SD_FW_LINES "SD_HID_SD_FW_LINES"
+#define HID_SD_FW_ARROWS "SD_HID_SD_FW_ARROWS"
+#define HID_SD_FW_3D_OBJECTS "SD_HID_SD_FW_3D_OBJECTS"
+#define HID_SD_FW_CONNECTORS "SD_HID_SD_FW_CONNECTORS"
+#define HID_SD_FW_INSERT "SD_HID_SD_FW_INSERT"
+#define HID_SD_FW_POSITION "SD_HID_SD_FW_POSITION"
+
+#define HID_SD_BTN_PREVIEW "SD_HID_SD_BTN_PREVIEW"
+
+#define HID_SD_NAVIGATOR_MENU1 "SD_HID_SD_NAVIGATOR_MENU1"
+#define HID_SD_NAVIGATOR_MENU2 "SD_HID_SD_NAVIGATOR_MENU2"
+#define HID_SD_NAVIGATOR_MENU3 "SD_HID_SD_NAVIGATOR_MENU3"
+
+#define HID_SD_WIN_PRESENTATION "SD_HID_SD_WIN_PRESENTATION"
+
+#define HID_DLG_DEFINE_CUSTOMSHOW "SD_HID_DLG_DEFINE_CUSTOMSHOW"
+#define HID_DLG_DEFINE_CUSTOMSHOW_CTL "SD_HID_DLG_DEFINE_CUSTOMSHOW_CTL"
+
+#define HID_CTL_ACTION_DLG_1 "SD_HID_CTL_ACTION_DLG_1"
+#define HID_CTL_ACTION_DLG_2 "SD_HID_CTL_ACTION_DLG_2"
+
+#define HID_SD_BTN_PRESENTATION "SD_HID_SD_BTN_PRESENTATION"
+
+#define HID_SD_HTMLEXPORT_PAGE1 "SD_HID_SD_HTMLEXPORT_PAGE1"
+#define HID_SD_HTMLEXPORT_PAGE2 "SD_HID_SD_HTMLEXPORT_PAGE2"
+#define HID_SD_HTMLEXPORT_PAGE3 "SD_HID_SD_HTMLEXPORT_PAGE3"
+#define HID_SD_HTMLEXPORT_PAGE4 "SD_HID_SD_HTMLEXPORT_PAGE4"
+#define HID_SD_HTMLEXPORT_PAGE5 "SD_HID_SD_HTMLEXPORT_PAGE5"
+#define HID_SD_HTMLEXPORT_PAGE6 "SD_HID_SD_HTMLEXPORT_PAGE6"
+
+#define HID_SD_CHGFOIL_LAYOUT "SD_HID_SD_CHGFOIL_LAYOUT"
+#define HID_SD_CHGFOIL_BACKGROUND "SD_HID_SD_CHGFOIL_BACKGROUND"
+#define HID_SD_CHGFOIL_OBJECTS "SD_HID_SD_CHGFOIL_OBJECTS"
+#define HID_SD_CHGFOIL_NAME "SD_HID_SD_CHGFOIL_NAME"
+
+#define HID_SD_HTMLEXPORT_DLG_DNAME "SD_HID_SD_HTMLEXPORT_DLG_DNAME"
+
+#define HID_FM_CTL_SELECTION "SD_HID_FM_CTL_SELECTION"
+
+#define HID_SD_AUTOPILOT_REGION "SD_HID_SD_AUTOPILOT_REGION"
+#define HID_SD_AUTOPILOT_TEMPLATES "SD_HID_SD_AUTOPILOT_TEMPLATES"
+#define HID_SD_AUTOPILOT_OPEN "SD_HID_SD_AUTOPILOT_OPEN"
+#define HID_SD_AUTOPILOT_PAGETEMPLATES "SD_HID_SD_AUTOPILOT_PAGETEMPLATES"
+
+#define HID_SD_DRAW_GRAF_TOOLBOX "SD_HID_SD_DRAW_GRAF_TOOLBOX"
+
+#define HID_SD_FW_GRAFFILTERS "SD_HID_SD_FW_GRAFFILTERS"
+
+#define HID_SD_TABBAR_PAGES "SD_HID_SD_TABBAR_PAGES"
+#define HID_SD_TABBAR_LAYERS "SD_HID_SD_TABBAR_LAYERS"
+
+#define HID_SD_UNDODELETEWARNING_DLG "SD_HID_SD_UNDODELETEWARNING_DLG"
+#define HID_SD_UNDODELETEWARNING_CBX "SD_HID_SD_UNDODELETEWARNING_CBX"
+
+#define HID_SD_PAGEOBJSTLB "SD_HID_SD_PAGEOBJSTLB"
+
+#define HID_SD_NAMEDIALOG_OBJECT "SD_HID_SD_NAMEDIALOG_OBJECT"
+#define HID_SD_NAMEDIALOG_PAGE "SD_HID_SD_NAMEDIALOG_PAGE"
+#define HID_SD_NAMEDIALOG_LINEEND "SD_HID_SD_NAMEDIALOG_LINEEND"
+
+#define HID_SD_DRAW_3D_TOOLBOX "SD_HID_SD_DRAW_3D_TOOLBOX"
+#define HID_SD_DRAW_FONTWORK_TOOLBOX "SD_HID_SD_DRAW_FONTWORK_TOOLBOX"
+
+#define HID_SD_TABPAGE_HEADERFOOTER_SLIDE "SD_HID_SD_TABPAGE_HEADERFOOTER_SLIDE"
+#define HID_SD_TABPAGE_HEADERFOOTER_NOTESHANDOUT "SD_HID_SD_TABPAGE_HEADERFOOTER_NOTESHANDOUT"
+
+#define HID_SD_DRAW_MEDIA_TOOLBOX "SD_HID_SD_DRAW_MEDIA_TOOLBOX"
+
+#define HID_SD_TASK_PANE "SD_HID_SD_TASK_PANE"
+#define HID_SD_SLIDE_DESIGNS "SD_HID_SD_SLIDE_DESIGNS"
+#define HID_SD_CURRENT_MASTERS "SD_HID_SD_CURRENT_MASTERS"
+#define HID_SD_RECENT_MASTERS "SD_HID_SD_RECENT_MASTERS"
+#define HID_SD_ALL_MASTERS "SD_HID_SD_ALL_MASTERS"
+#define HID_SD_SLIDE_LAYOUTS "SD_HID_SD_SLIDE_LAYOUTS"
+#define HID_SD_CUSTOM_ANIMATIONS "SD_HID_SD_CUSTOM_ANIMATIONS"
+#define HID_SD_SLIDE_TRANSITIONS "SD_HID_SD_SLIDE_TRANSITIONS"
+
+#define HID_SD_CUSTOMANIMATIONPANE_PB_ADD_EFFECT "SD_HID_SD_CUSTOMANIMATIONPANE_PB_ADD_EFFECT"
+#define HID_SD_CUSTOMANIMATIONPANE_PB_CHANGE_EFFECT "SD_HID_SD_CUSTOMANIMATIONPANE_PB_CHANGE_EFFECT"
+#define HID_SD_CUSTOMANIMATIONPANE_PB_REMOVE_EFFECT "SD_HID_SD_CUSTOMANIMATIONPANE_PB_REMOVE_EFFECT"
+#define HID_SD_CUSTOMANIMATIONPANE_LB_START "SD_HID_SD_CUSTOMANIMATIONPANE_LB_START"
+#define HID_SD_CUSTOMANIMATIONPANE_LB_PROPERTY "SD_HID_SD_CUSTOMANIMATIONPANE_LB_PROPERTY"
+#define HID_SD_CUSTOMANIMATIONPANE_PB_PROPERTY_MORE "SD_HID_SD_CUSTOMANIMATIONPANE_PB_PROPERTY_MORE"
+#define HID_SD_CUSTOMANIMATIONPANE_CB_SPEED "SD_HID_SD_CUSTOMANIMATIONPANE_CB_SPEED"
+#define HID_SD_CUSTOMANIMATIONPANE_CT_CUSTOM_ANIMATION_LIST "SD_HID_SD_CUSTOMANIMATIONPANE_CT_CUSTOM_ANIMATION_LIST"
+#define HID_SD_CUSTOMANIMATIONPANE_PB_MOVE_UP "SD_HID_SD_CUSTOMANIMATIONPANE_PB_MOVE_UP"
+#define HID_SD_CUSTOMANIMATIONPANE_PB_MOVE_DOWN "SD_HID_SD_CUSTOMANIMATIONPANE_PB_MOVE_DOWN"
+#define HID_SD_CUSTOMANIMATIONPANE_PB_PLAY "SD_HID_SD_CUSTOMANIMATIONPANE_PB_PLAY"
+#define HID_SD_CUSTOMANIMATIONPANE_PB_SLIDE_SHOW "SD_HID_SD_CUSTOMANIMATIONPANE_PB_SLIDE_SHOW"
+#define HID_SD_CUSTOMANIMATIONPANE_CB_AUTOPREVIEW "SD_HID_SD_CUSTOMANIMATIONPANE_CB_AUTOPREVIEW"
+
+#define HID_SD_ANIMATIONSCHEMESPANE_LB_ANIMATION_SCHEMES "SD_HID_SD_ANIMATIONSCHEMESPANE_LB_ANIMATION_SCHEMES"
+#define HID_SD_ANIMATIONSCHEMESPANE_PB_APPLY_TO_ALL "SD_HID_SD_ANIMATIONSCHEMESPANE_PB_APPLY_TO_ALL"
+#define HID_SD_ANIMATIONSCHEMESPANE_PB_PLAY "SD_HID_SD_ANIMATIONSCHEMESPANE_PB_PLAY"
+#define HID_SD_ANIMATIONSCHEMESPANE_PB_SLIDE_SHOW "SD_HID_SD_ANIMATIONSCHEMESPANE_PB_SLIDE_SHOW"
+#define HID_SD_ANIMATIONSCHEMESPANE_CB_AUTO_PREVIEW "SD_HID_SD_ANIMATIONSCHEMESPANE_CB_AUTO_PREVIEW"
+
+#define HID_SD_SLIDETRANSITIONPANE_LB_SLIDE_TRANSITIONS "SD_HID_SD_SLIDETRANSITIONPANE_LB_SLIDE_TRANSITIONS"
+#define HID_SD_SLIDETRANSITIONPANE_LB_SPEED "SD_HID_SD_SLIDETRANSITIONPANE_LB_SPEED"
+#define HID_SD_SLIDETRANSITIONPANE_LB_SOUND "SD_HID_SD_SLIDETRANSITIONPANE_LB_SOUND"
+#define HID_SD_SLIDETRANSITIONPANE_CB_LOOP_SOUND "SD_HID_SD_SLIDETRANSITIONPANE_CB_LOOP_SOUND"
+#define HID_SD_SLIDETRANSITIONPANE_RB_ADVANCE_ON_MOUSE "SD_HID_SD_SLIDETRANSITIONPANE_RB_ADVANCE_ON_MOUSE"
+#define HID_SD_SLIDETRANSITIONPANE_RB_ADVANCE_AUTO "SD_HID_SD_SLIDETRANSITIONPANE_RB_ADVANCE_AUTO"
+#define HID_SD_SLIDETRANSITIONPANE_MF_ADVANCE_AUTO_AFTER "SD_HID_SD_SLIDETRANSITIONPANE_MF_ADVANCE_AUTO_AFTER"
+#define HID_SD_SLIDETRANSITIONPANE_PB_APPLY_TO_ALL "SD_HID_SD_SLIDETRANSITIONPANE_PB_APPLY_TO_ALL"
+#define HID_SD_SLIDETRANSITIONPANE_PB_PLAY "SD_HID_SD_SLIDETRANSITIONPANE_PB_PLAY"
+#define HID_SD_SLIDETRANSITIONPANE_PB_SLIDE_SHOW "SD_HID_SD_SLIDETRANSITIONPANE_PB_SLIDE_SHOW"
+#define HID_SD_SLIDETRANSITIONPANE_CB_AUTO_PREVIEW "SD_HID_SD_SLIDETRANSITIONPANE_CB_AUTO_PREVIEW"
+
+#define HID_SD_TASK_PANE_VIEW_MENU "SD_HID_SD_TASK_PANE_VIEW_MENU"
+#define HID_SD_TASK_PANE_PREVIEW_CURRENT "SD_HID_SD_TASK_PANE_PREVIEW_CURRENT"
+#define HID_SD_TASK_PANE_PREVIEW_RECENT "SD_HID_SD_TASK_PANE_PREVIEW_RECENT"
+#define HID_SD_TASK_PANE_PREVIEW_ALL "SD_HID_SD_TASK_PANE_PREVIEW_ALL"
+#define HID_SD_TASK_PANE_PREVIEW_LAYOUTS "SD_HID_SD_TASK_PANE_PREVIEW_LAYOUTS"
+
+#define HID_SD_CUSTOMANIMATIONDIALOG_ENTRANCE "SD_HID_SD_CUSTOMANIMATIONDIALOG_ENTRANCE"
+#define HID_SD_CUSTOMANIMATIONDIALOG_EMPHASIS "SD_HID_SD_CUSTOMANIMATIONDIALOG_EMPHASIS"
+#define HID_SD_CUSTOMANIMATIONDIALOG_EXIT "SD_HID_SD_CUSTOMANIMATIONDIALOG_EXIT"
+#define HID_SD_CUSTOMANIMATIONDIALOG_MOTIONPATH "SD_HID_SD_CUSTOMANIMATIONDIALOG_MOTIONPATH"
+#define HID_SD_CUSTOMANIMATIONDIALOG_MISCEFFECTS "SD_HID_SD_CUSTOMANIMATIONDIALOG_MISCEFFECTS"
+
+#define HID_SD_CUSTOMANIMATIONPANE_PRESETPROPERTYBOX "SD_HID_SD_CUSTOMANIMATIONPANE_PRESETPROPERTYBOX"
+#define HID_SD_CUSTOMANIMATIONPANE_COLORPROPERTYBOX "SD_HID_SD_CUSTOMANIMATIONPANE_COLORPROPERTYBOX"
+#define HID_SD_CUSTOMANIMATIONPANE_FONTPROPERTYBOX "SD_HID_SD_CUSTOMANIMATIONPANE_FONTPROPERTYBOX"
+#define HID_SD_CUSTOMANIMATIONPANE_CHARHEIGHTPROPERTYBOX "SD_HID_SD_CUSTOMANIMATIONPANE_CHARHEIGHTPROPERTYBOX"
+#define HID_SD_CUSTOMANIMATIONPANE_ROTATIONPROPERTYBOX "SD_HID_SD_CUSTOMANIMATIONPANE_ROTATIONPROPERTYBOX"
+#define HID_SD_CUSTOMANIMATIONPANE_TRANSPARENCYPROPERTYBOX "SD_HID_SD_CUSTOMANIMATIONPANE_TRANSPARENCYPROPERTYBOX"
+#define HID_SD_CUSTOMANIMATIONPANE_SCALEPROPERTYBOX "SD_HID_SD_CUSTOMANIMATIONPANE_SCALEPROPERTYBOX"
+#define HID_SD_CUSTOMANIMATIONPANE_FONTSTYLEPROPERTYBOX "SD_HID_SD_CUSTOMANIMATIONPANE_FONTSTYLEPROPERTYBOX"
+
+#define HID_SD_SLIDESHOW_DISPLAY "SD_HID_SD_SLIDESHOW_DISPLAY"
+
+#define HID_SD_RULER_HORIZONTAL "SD_HID_SD_RULER_HORIZONTAL"
+#define HID_SD_RULER_VERTICAL "SD_HID_SD_RULER_VERTICAL"
+
+#define HID_SD_TABLE_DESIGN "SD_HID_SD_TABLE_DESIGN"
+#define HID_SD_ANNOTATIONS "SD_HID_SD_ANNOTATIONS"
+
+#define HID_DLG_INSERT_PAGES_OBJS "SD_HID_DLG_INSERT_PAGES_OBJS"
+#define HID_TABPAGE_PARA_NUMBERING "SD_HID_TABPAGE_PARA_NUMBERING"
+#define HID_VECTORIZE_DLG "SD_HID_VECTORIZE_DLG"
+#define HID_UNDO_DELETE_WARNING "SD_HID_UNDO_DELETE_WARNING"
+
+#define HID_MN_SUB_GROUP "SD_HID_MN_SUB_GROUP"
+#define HID_MN_SUB_GRAPHIC "SD_HID_MN_SUB_GRAPHIC"
+#define HID_MN_SUB_SEND "SD_HID_MN_SUB_SEND"
+#define HID_MN_SUB_MASTER_LAYOUTS "SD_HID_MN_SUB_MASTER_LAYOUTS"
+#define HID_MN_SUB_VIEW "SD_HID_MN_SUB_VIEW"
+#define HID_MN_SUB_MASTERPAGE "SD_HID_MN_SUB_MASTERPAGE"
+#define HID_MN_SUB_FIELD "SD_HID_MN_SUB_FIELD"
+#define HID_MN_SUB_TEMPLATES "SD_HID_MN_SUB_TEMPLATES"
+#define HID_MN_SUB_SPELLING "SD_HID_MN_SUB_SPELLING"
+#define HID_MN_SUB_POSITION "SD_HID_MN_SUB_POSITION"
+#define HID_MN_SUB_OUTPUT_QUALITY "SD_HID_MN_SUB_OUTPUT_QUALITY"
+#define HID_MN_SUB_PREVIEW_OUTPUT_QUALITY "SD_HID_MN_SUB_PREVIEW_OUTPUT_QUALITY"
+#define HID_MN_SUB_CONVERT "SD_HID_MN_SUB_CONVERT"
+#define HID_MN_SUB_MIRROR "SD_HID_MN_SUB_MIRROR"
diff --git a/sd/inc/imapinfo.hxx b/sd/inc/imapinfo.hxx
new file mode 100644
index 000000000000..f5c8e916fd4d
--- /dev/null
+++ b/sd/inc/imapinfo.hxx
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * 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 _SD_IMAPINFO_HXX
+#define _SD_IMAPINFO_HXX
+
+#include "sdiocmpt.hxx"
+#include "glob.hxx"
+#include <svx/svdobj.hxx>
+#include <svtools/imap.hxx>
+
+
+/*************************************************************************
+|*
+|*
+|*
+\************************************************************************/
+
+class SdIMapInfo : public SdrObjUserData, public SfxListener
+{
+
+ ImageMap aImageMap;
+
+public:
+ SdIMapInfo() :
+ SdrObjUserData( SdUDInventor, SD_IMAPINFO_ID, 0 ) {};
+
+ SdIMapInfo( const ImageMap& rImageMap ) :
+ SdrObjUserData( SdUDInventor, SD_IMAPINFO_ID, 0 ),
+ aImageMap( rImageMap ) {};
+
+ SdIMapInfo( const SdIMapInfo& rIMapInfo ) :
+ SdrObjUserData( SdUDInventor, SD_IMAPINFO_ID, 0 ),
+ SfxListener(),
+ aImageMap( rIMapInfo.aImageMap ) {};
+
+ virtual ~SdIMapInfo() {};
+
+ virtual SdrObjUserData* Clone( SdrObject* ) const { return new SdIMapInfo( *this ); }
+
+ void SetImageMap( const ImageMap& rIMap ) { aImageMap = rIMap; }
+ const ImageMap& GetImageMap() const { return aImageMap; }
+};
+
+#endif // _SD_IMAPINFO_HXX
+
+
diff --git a/sd/inc/makefile.mk b/sd/inc/makefile.mk
new file mode 100644
index 000000000000..1101f31d8025
--- /dev/null
+++ b/sd/inc/makefile.mk
@@ -0,0 +1,48 @@
+#*************************************************************************
+#
+# 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.
+#
+#*************************************************************************
+PRJ=..
+
+PRJNAME=sd
+TARGET=inc
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : settings.mk
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# --- Files --------------------------------------------------------
+# --- Targets -------------------------------------------------------
+
+.INCLUDE : target.mk
+
+.IF "$(ENABLE_PCH)"!=""
+ALLTAR : \
+ $(SLO)$/precompiled.pch \
+ $(SLO)$/precompiled_ex.pch
+
+.ENDIF # "$(ENABLE_PCH)"!=""
+
diff --git a/sd/inc/misc.hxx b/sd/inc/misc.hxx
new file mode 100644
index 000000000000..ca8592723e90
--- /dev/null
+++ b/sd/inc/misc.hxx
@@ -0,0 +1,36 @@
+/*************************************************************************
+ *
+ * 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 _SD_MISC_HXX
+#define _SD_MISC_HXX
+
+// do we have a StarOffice Image OLE server?
+#undef STARIMAGE_AVAILABLE
+
+#endif // _SD_MISC_HXX
+
+
diff --git a/sd/inc/misc/scopelock.hxx b/sd/inc/misc/scopelock.hxx
new file mode 100644
index 000000000000..93773b1211fd
--- /dev/null
+++ b/sd/inc/misc/scopelock.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 _SD_SCOPELOCK_HXX
+#define _SD_SCOPELOCK_HXX
+
+namespace sd
+{
+
+class ScopeLock
+{
+ friend class ScopeLockGuard;
+public:
+ ScopeLock() : mnLock(0) {}
+ bool isLocked() const { return mnLock != 0; }
+private:
+ void lock() { mnLock++; }
+ void unlock() { mnLock--; }
+
+ sal_Int32 mnLock;
+};
+
+class ScopeLockGuard
+{
+public:
+ ScopeLockGuard( ScopeLock& rScopeLock ) : mrScopeLock( rScopeLock ) { mrScopeLock.lock(); }
+ ~ScopeLockGuard() { mrScopeLock.unlock(); }
+private:
+ ScopeLock& mrScopeLock;
+};
+
+} // namespace sd
+
+#endif // _SD_UNDOMANAGER_HXX
diff --git a/sd/inc/movedef.hxx b/sd/inc/movedef.hxx
new file mode 100644
index 000000000000..895e0390d07c
--- /dev/null
+++ b/sd/inc/movedef.hxx
@@ -0,0 +1,42 @@
+/*************************************************************************
+ *
+ * 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 _SD_MOVEDEF_HXX
+#define _SD_MOVEDEF_HXX
+
+enum MoveSpeed
+{
+ MOVE_SPEED_SLOW,
+ MOVE_SPEED_MEDIUM,
+ MOVE_SPEED_FAST
+};
+
+// muss angepasst werden!
+#define MOVE_SPEED_COUNT 3
+
+#endif // _SD_MOVEDEF_HXX
+
diff --git a/sd/inc/pch/precompiled_sd.cxx b/sd/inc/pch/precompiled_sd.cxx
new file mode 100644
index 000000000000..d90ffd20fe98
--- /dev/null
+++ b/sd/inc/pch/precompiled_sd.cxx
@@ -0,0 +1,29 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#include "precompiled_sd.hxx"
+
diff --git a/sd/inc/pch/precompiled_sd.hxx b/sd/inc/pch/precompiled_sd.hxx
new file mode 100755
index 000000000000..2a4cec779f64
--- /dev/null
+++ b/sd/inc/pch/precompiled_sd.hxx
@@ -0,0 +1,914 @@
+/************************************************************************cherex
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+// MARKER(update_precomp.py): Generated on 2006-09-01 17:49:59.201789
+
+#ifdef PRECOMPILED_HEADERS
+
+//---MARKER---
+
+// required for soiurce/ui/slideshow
+// #i73256#
+#ifdef WNT
+#pragma warning (disable:4505)
+#endif
+
+#include "sal/config.h"
+#include "sal/types.h"
+
+#include "avmedia/mediaitem.hxx"
+#include "avmedia/mediaplayer.hxx"
+#include "avmedia/mediatoolbox.hxx"
+#include "avmedia/mediawindow.hxx"
+
+#include "basegfx/matrix/b2dhommatrix.hxx"
+#include "basegfx/polygon/b2dpolygon.hxx"
+#include "basegfx/polygon/b2dpolygontools.hxx"
+#include "basegfx/tools/canvastools.hxx"
+
+#include "basic/basmgr.hxx"
+#include "basic/sberrors.hxx"
+#include "basic/sbmeth.hxx"
+#include "basic/sbmod.hxx"
+#include "basic/sbstar.hxx"
+#include "basic/sbx.hxx"
+
+#include "boost/function.hpp"
+#include "boost/limits.hpp"
+#include "boost/scoped_ptr.hpp"
+#include "boost/shared_ptr.hpp"
+#include "boost/weak_ptr.hpp"
+
+#include "canvas/elapsedtime.hxx"
+#include "canvas/prioritybooster.hxx"
+
+#include "com/sun/star/accessibility/AccessibleEventId.hpp"
+#include "com/sun/star/accessibility/AccessibleRole.hpp"
+#include "com/sun/star/accessibility/AccessibleStateType.hpp"
+#include "com/sun/star/accessibility/XAccessible.hpp"
+#include "com/sun/star/accessibility/XAccessibleComponent.hpp"
+#include "com/sun/star/accessibility/XAccessibleContext.hpp"
+#include "com/sun/star/accessibility/XAccessibleEventBroadcaster.hpp"
+#include "com/sun/star/accessibility/XAccessibleEventListener.hpp"
+#include "com/sun/star/accessibility/XAccessibleExtendedComponent.hpp"
+#include "com/sun/star/accessibility/XAccessibleSelection.hpp"
+#include "com/sun/star/animations/AnimationAdditiveMode.hpp"
+#include "com/sun/star/animations/AnimationCalcMode.hpp"
+#include "com/sun/star/animations/AnimationColorSpace.hpp"
+#include "com/sun/star/animations/AnimationEndSync.hpp"
+#include "com/sun/star/animations/AnimationFill.hpp"
+#include "com/sun/star/animations/AnimationNodeType.hpp"
+#include "com/sun/star/animations/AnimationRestart.hpp"
+#include "com/sun/star/animations/AnimationTransformType.hpp"
+#include "com/sun/star/animations/AnimationValueType.hpp"
+#include "com/sun/star/animations/Event.hpp"
+#include "com/sun/star/animations/EventTrigger.hpp"
+#include "com/sun/star/animations/Timing.hpp"
+#include "com/sun/star/animations/TransitionSubType.hpp"
+#include "com/sun/star/animations/TransitionType.hpp"
+#include "com/sun/star/animations/ValuePair.hpp"
+#include "com/sun/star/animations/XAnimate.hpp"
+#include "com/sun/star/animations/XAnimateColor.hpp"
+#include "com/sun/star/animations/XAnimateMotion.hpp"
+#include "com/sun/star/animations/XAnimateSet.hpp"
+#include "com/sun/star/animations/XAnimateTransform.hpp"
+#include "com/sun/star/animations/XAnimationNode.hpp"
+#include "com/sun/star/animations/XAnimationNodeSupplier.hpp"
+#include "com/sun/star/animations/XAudio.hpp"
+#include "com/sun/star/animations/XCommand.hpp"
+#include "com/sun/star/animations/XIterateContainer.hpp"
+#include "com/sun/star/animations/XTimeContainer.hpp"
+#include "com/sun/star/animations/XTransitionFilter.hpp"
+#include "com/sun/star/awt/CharSet.hpp"
+#include "com/sun/star/awt/FontDescriptor.hpp"
+#include "com/sun/star/awt/FontFamily.hpp"
+#include "com/sun/star/awt/FontPitch.hpp"
+#include "com/sun/star/awt/FontSlant.hpp"
+#include "com/sun/star/awt/FontUnderline.hpp"
+#include "com/sun/star/awt/FontWeight.hpp"
+#include "com/sun/star/awt/MouseEvent.hdl"
+#include "com/sun/star/awt/MouseEvent.hpp"
+#include "com/sun/star/awt/Rectangle.hpp"
+#include "com/sun/star/awt/SystemPointer.hpp"
+#include "com/sun/star/awt/WindowEvent.hpp"
+#include "com/sun/star/awt/XControlModel.hpp"
+#include "com/sun/star/awt/XDevice.hpp"
+#include "com/sun/star/awt/XFocusListener.hpp"
+#include "com/sun/star/awt/XFont.hpp"
+#include "com/sun/star/awt/XGraphics.hpp"
+#include "com/sun/star/awt/XMouseListener.hpp"
+#include "com/sun/star/awt/XMouseMotionListener.hpp"
+#include "com/sun/star/awt/XPaintListener.hpp"
+#include "com/sun/star/awt/XPointer.hpp"
+#include "com/sun/star/awt/XWindow.hpp"
+#include "com/sun/star/awt/XWindowListener.hpp"
+#include "com/sun/star/awt/XWindowPeer.hpp"
+#include "com/sun/star/beans/NamedValue.hpp"
+#include "com/sun/star/beans/Property.hpp"
+#include "com/sun/star/beans/PropertyAttribute.hpp"
+#include "com/sun/star/beans/PropertyChangeEvent.hpp"
+#include "com/sun/star/beans/PropertyState.hpp"
+#include "com/sun/star/beans/PropertyValue.hdl"
+#include "com/sun/star/beans/PropertyValue.hpp"
+#include "com/sun/star/beans/PropertyValues.hpp"
+#include "com/sun/star/beans/XMultiPropertySet.hpp"
+#include "com/sun/star/beans/XPropertyAccess.hpp"
+#include "com/sun/star/beans/XPropertyChangeListener.hpp"
+#include "com/sun/star/beans/XPropertySet.hpp"
+#include "com/sun/star/beans/XPropertySetInfo.hpp"
+#include "com/sun/star/beans/XPropertyState.hpp"
+#include "com/sun/star/container/XChild.hpp"
+#include "com/sun/star/container/XEnumerationAccess.hpp"
+#include "com/sun/star/container/XHierarchicalNameAccess.hpp"
+#include "com/sun/star/container/XIndexAccess.hpp"
+#include "com/sun/star/container/XIndexContainer.hpp"
+#include "com/sun/star/container/XIndexReplace.hpp"
+#include "com/sun/star/container/XNameAccess.hpp"
+#include "com/sun/star/container/XNameContainer.hpp"
+#include "com/sun/star/container/XNameReplace.hpp"
+#include "com/sun/star/container/XNamed.hpp"
+#include "com/sun/star/document/PrinterIndependentLayout.hpp"
+#include "com/sun/star/document/XDocumentInfoSupplier.hpp"
+#include "com/sun/star/document/XEventBroadcaster.hpp"
+#include "com/sun/star/document/XEventListener.hpp"
+#include "com/sun/star/document/XEventsSupplier.hpp"
+#include "com/sun/star/document/XExporter.hpp"
+#include "com/sun/star/document/XExtendedFilterDetection.hpp"
+#include "com/sun/star/document/XFilter.hpp"
+#include "com/sun/star/document/XGraphicObjectResolver.hpp"
+#include "com/sun/star/document/XImporter.hpp"
+#include "com/sun/star/document/XLinkTargetSupplier.hpp"
+#include "com/sun/star/document/XViewDataSupplier.hpp"
+#include "com/sun/star/drawing/Alignment.hpp"
+#include "com/sun/star/drawing/BezierPoint.hpp"
+#include "com/sun/star/drawing/BitmapMode.hpp"
+#include "com/sun/star/drawing/CircleKind.hpp"
+#include "com/sun/star/drawing/DashStyle.hpp"
+#include "com/sun/star/drawing/FillStyle.hpp"
+#include "com/sun/star/drawing/FlagSequence.hpp"
+#include "com/sun/star/drawing/Hatch.hpp"
+#include "com/sun/star/drawing/HatchStyle.hpp"
+#include "com/sun/star/drawing/LineDash.hpp"
+#include "com/sun/star/drawing/LineEndType.hpp"
+#include "com/sun/star/drawing/LineStyle.hpp"
+#include "com/sun/star/drawing/PointSequence.hpp"
+#include "com/sun/star/drawing/PolyPolygonBezierCoords.hpp"
+#include "com/sun/star/drawing/PolygonFlags.hpp"
+#include "com/sun/star/drawing/PolygonKind.hpp"
+#include "com/sun/star/drawing/TextAdjust.hpp"
+#include "com/sun/star/drawing/XConnectorShape.hpp"
+#include "com/sun/star/drawing/XControlShape.hpp"
+#include "com/sun/star/drawing/XDrawPage.hpp"
+#include "com/sun/star/drawing/XDrawPageDuplicator.hpp"
+#include "com/sun/star/drawing/XDrawPageSummarizer.hpp"
+#include "com/sun/star/drawing/XDrawPages.hpp"
+#include "com/sun/star/drawing/XDrawPagesSupplier.hpp"
+#include "com/sun/star/drawing/XDrawView.hpp"
+#include "com/sun/star/drawing/XLayer.hpp"
+#include "com/sun/star/drawing/XLayerManager.hpp"
+#include "com/sun/star/drawing/XLayerSupplier.hpp"
+#include "com/sun/star/drawing/XMasterPageTarget.hpp"
+#include "com/sun/star/drawing/XMasterPagesSupplier.hpp"
+#include "com/sun/star/drawing/XShape.hpp"
+#include "com/sun/star/drawing/XShapeDescriptor.hpp"
+#include "com/sun/star/drawing/XShapeGrouper.hpp"
+#include "com/sun/star/drawing/XShapes.hpp"
+#include "com/sun/star/drawing/XUniversalShapeDescriptor.hpp"
+#include "com/sun/star/embed/Aspects.hpp"
+#include "com/sun/star/embed/ElementModes.hpp"
+#include "com/sun/star/embed/EmbedMisc.hpp"
+#include "com/sun/star/embed/EmbedStates.hpp"
+#include "com/sun/star/embed/NoVisualAreaSizeException.hpp"
+#include "com/sun/star/embed/VerbAttributes.hpp"
+#include "com/sun/star/embed/VerbDescriptor.hpp"
+#include "com/sun/star/embed/XEmbedObjectClipboardCreator.hpp"
+#include "com/sun/star/embed/XEmbedPersist.hpp"
+#include "com/sun/star/embed/XTransactedObject.hpp"
+#include "com/sun/star/embed/XVisualObject.hpp"
+#include "com/sun/star/form/FormButtonType.hpp"
+#include "com/sun/star/frame/DispatchDescriptor.hpp"
+#include "com/sun/star/frame/DispatchResultState.hpp"
+#include "com/sun/star/frame/FeatureStateEvent.hpp"
+#include "com/sun/star/frame/FrameAction.hpp"
+#include "com/sun/star/frame/FrameActionEvent.hpp"
+#include "com/sun/star/frame/LayoutManagerEvents.hpp"
+#include "com/sun/star/frame/XComponentLoader.hpp"
+#include "com/sun/star/frame/XController.hpp"
+#include "com/sun/star/frame/XDesktop.hpp"
+#include "com/sun/star/frame/XDispatch.hpp"
+#include "com/sun/star/frame/XDispatchProvider.hpp"
+#include "com/sun/star/frame/XDocumentTemplates.hpp"
+#include "com/sun/star/frame/XFrame.hdl"
+#include "com/sun/star/frame/XFrame.hpp"
+#include "com/sun/star/frame/XFrameActionListener.hpp"
+#include "com/sun/star/frame/XLayoutManager.hpp"
+#include "com/sun/star/frame/XLayoutManagerEventBroadcaster.hpp"
+#include "com/sun/star/frame/XModel.hdl"
+#include "com/sun/star/frame/XModel.hpp"
+#include "com/sun/star/frame/XModuleManager.hpp"
+#include "com/sun/star/frame/XNotifyingDispatch.hpp"
+#include "com/sun/star/frame/XStatusListener.hpp"
+#include "com/sun/star/frame/XStorable.hpp"
+#include "com/sun/star/geometry/AffineMatrix2D.hdl"
+#include "com/sun/star/geometry/AffineMatrix2D.hpp"
+#include "com/sun/star/graphic/GraphicType.hpp"
+#include "com/sun/star/graphic/XGraphicProvider.hpp"
+#include "com/sun/star/i18n/CharacterIteratorMode.hdl"
+#include "com/sun/star/i18n/CharacterIteratorMode.hpp"
+#include "com/sun/star/i18n/ScriptType.hdl"
+#include "com/sun/star/i18n/ScriptType.hpp"
+#include "com/sun/star/i18n/TextConversionOption.hpp"
+#include "com/sun/star/i18n/TransliterationModules.hdl"
+#include "com/sun/star/i18n/WordType.hpp"
+#include "com/sun/star/i18n/XBreakIterator.hpp"
+#include "com/sun/star/i18n/XCollator.hpp"
+#include "com/sun/star/i18n/XForbiddenCharacters.hpp"
+#include "com/sun/star/io/XActiveDataControl.hpp"
+#include "com/sun/star/io/XActiveDataSource.hpp"
+#include "com/sun/star/io/XInputStream.hpp"
+#include "com/sun/star/io/XStream.hpp"
+#include "com/sun/star/lang/DisposedException.hpp"
+#include "com/sun/star/lang/EventObject.hpp"
+#include "com/sun/star/lang/IllegalArgumentException.hpp"
+#include "com/sun/star/lang/IndexOutOfBoundsException.hpp"
+#include "com/sun/star/lang/Locale.hpp"
+#include "com/sun/star/lang/NoSupportException.hpp"
+#include "com/sun/star/lang/ServiceNotRegisteredException.hpp"
+#include "com/sun/star/lang/WrappedTargetRuntimeException.hpp"
+#include "com/sun/star/lang/XComponent.hpp"
+#include "com/sun/star/lang/XEventListener.hdl"
+#include "com/sun/star/lang/XEventListener.hpp"
+#include "com/sun/star/lang/XInitialization.hpp"
+#include "com/sun/star/lang/XMultiServiceFactory.hpp"
+#include "com/sun/star/lang/XServiceInfo.hpp"
+#include "com/sun/star/lang/XSingleServiceFactory.hpp"
+#include "com/sun/star/lang/XTypeProvider.hpp"
+#include "com/sun/star/lang/XUnoTunnel.hpp"
+#include "com/sun/star/linguistic2/XHyphenator.hpp"
+#include "com/sun/star/linguistic2/XSpellChecker1.hpp"
+#include "com/sun/star/linguistic2/XThesaurus.hpp"
+#include "com/sun/star/media/XManager.hpp"
+#include "com/sun/star/media/XPlayer.hpp"
+#include "com/sun/star/packages/zip/ZipIOException.hpp"
+#include "com/sun/star/presentation/AnimationEffect.hpp"
+#include "com/sun/star/presentation/AnimationSpeed.hpp"
+#include "com/sun/star/presentation/ClickAction.hpp"
+#include "com/sun/star/presentation/EffectCommands.hpp"
+#include "com/sun/star/presentation/EffectNodeType.hpp"
+#include "com/sun/star/presentation/EffectPresetClass.hpp"
+#include "com/sun/star/presentation/FadeEffect.hpp"
+#include "com/sun/star/presentation/ParagraphTarget.hpp"
+#include "com/sun/star/presentation/PresentationRange.hpp"
+#include "com/sun/star/presentation/ShapeAnimationSubType.hpp"
+#include "com/sun/star/presentation/TextAnimationType.hpp"
+#include "com/sun/star/presentation/XCustomPresentationSupplier.hpp"
+#include "com/sun/star/presentation/XHandoutMasterSupplier.hpp"
+#include "com/sun/star/presentation/XPresentation.hpp"
+#include "com/sun/star/presentation/XPresentationPage.hpp"
+#include "com/sun/star/presentation/XPresentationSupplier.hpp"
+#include "com/sun/star/registry/XRegistryKey.hpp"
+#include "com/sun/star/rendering/XSpriteCanvas.hpp"
+#include "com/sun/star/scanner/XScannerManager.hpp"
+#include "com/sun/star/sdbc/XResultSet.hpp"
+#include "com/sun/star/sdbc/XRow.hpp"
+#include "com/sun/star/style/LineSpacing.hpp"
+#include "com/sun/star/style/LineSpacingMode.hpp"
+#include "com/sun/star/style/ParagraphAdjust.hpp"
+#include "com/sun/star/style/TabStop.hpp"
+#include "com/sun/star/style/VerticalAlignment.hpp"
+#include "com/sun/star/style/XStyle.hpp"
+#include "com/sun/star/style/XStyleFamiliesSupplier.hpp"
+#include "com/sun/star/task/XInteractionHandler.hpp"
+#include "com/sun/star/task/XStatusIndicator.hpp"
+#include "com/sun/star/task/XStatusIndicatorFactory.hpp"
+#include "com/sun/star/task/XStatusIndicatorSupplier.hpp"
+#include "com/sun/star/text/FontRelief.hpp"
+#include "com/sun/star/text/WritingMode.hpp"
+#include "com/sun/star/text/XSimpleText.hpp"
+#include "com/sun/star/text/XText.hpp"
+#include "com/sun/star/text/XTextField.hpp"
+#include "com/sun/star/text/XTextFieldsSupplier.hpp"
+#include "com/sun/star/text/XTextRange.hpp"
+#include "com/sun/star/text/XTextRangeCompare.hpp"
+#include "com/sun/star/text/XTextViewCursor.hpp"
+#include "com/sun/star/ucb/CommandAbortedException.hpp"
+#include "com/sun/star/ucb/InteractiveAppException.hpp"
+#include "com/sun/star/ucb/XAnyCompareFactory.hpp"
+#include "com/sun/star/ucb/XCommandEnvironment.hpp"
+#include "com/sun/star/ucb/XContent.hpp"
+#include "com/sun/star/ucb/XContentAccess.hpp"
+#include "com/sun/star/ucb/XSimpleFileAccess.hpp"
+#include "com/sun/star/ucb/XSimpleFileAccess2.hpp"
+#include "com/sun/star/ui/UIElementType.hpp"
+#include "com/sun/star/ui/XImageManager.hpp"
+#include "com/sun/star/ui/XModuleUIConfigurationManagerSupplier.hpp"
+#include "com/sun/star/ui/dialogs/CommonFilePickerElementIds.hpp"
+#include "com/sun/star/ui/dialogs/ExecutableDialogResults.hpp"
+#include "com/sun/star/ui/dialogs/ExtendedFilePickerElementIds.hpp"
+#include "com/sun/star/ui/dialogs/ListboxControlActions.hpp"
+#include "com/sun/star/ui/dialogs/TemplateDescription.hpp"
+#include "com/sun/star/ui/dialogs/XExecutableDialog.hpp"
+#include "com/sun/star/ui/dialogs/XFilePicker.hpp"
+#include "com/sun/star/ui/dialogs/XFilePickerControlAccess.hpp"
+#include "com/sun/star/ui/dialogs/XFilePickerListener.hpp"
+#include "com/sun/star/ui/dialogs/XFilePickerNotifier.hpp"
+#include "com/sun/star/ui/dialogs/XFilterManager.hpp"
+#include "com/sun/star/uno/Any.h"
+#include "com/sun/star/uno/Any.hxx"
+#include "com/sun/star/uno/Exception.hpp"
+#include "com/sun/star/uno/Reference.h"
+#include "com/sun/star/uno/Reference.hxx"
+#include "com/sun/star/uno/RuntimeException.hdl"
+#include "com/sun/star/uno/RuntimeException.hpp"
+#include "com/sun/star/uno/Sequence.h"
+#include "com/sun/star/uno/Sequence.hxx"
+#include "com/sun/star/uno/Type.hxx"
+#include "com/sun/star/uno/XInterface.hdl"
+#include "com/sun/star/uno/XInterface.hpp"
+#include "com/sun/star/uri/XUriReferenceFactory.hpp"
+#include "com/sun/star/uri/XVndSunStarScriptUrl.hpp"
+#include "com/sun/star/util/MeasureUnit.hpp"
+#include "com/sun/star/util/XArchiver.hpp"
+#include "com/sun/star/util/XChangesListener.hpp"
+#include "com/sun/star/util/XChangesNotifier.hpp"
+#include "com/sun/star/util/XCloneable.hpp"
+#include "com/sun/star/util/XCloseable.hpp"
+#include "com/sun/star/util/XModifyListener.hpp"
+#include "com/sun/star/util/XReplaceDescriptor.hpp"
+#include "com/sun/star/util/XReplaceable.hpp"
+#include "com/sun/star/util/XSearchDescriptor.hpp"
+#include "com/sun/star/util/XSearchable.hpp"
+#include "com/sun/star/util/XURLTransformer.hpp"
+#include "com/sun/star/view/DocumentZoomType.hpp"
+#include "com/sun/star/view/PaperFormat.hpp"
+#include "com/sun/star/view/PaperOrientation.hpp"
+#include "com/sun/star/view/XRenderable.hpp"
+#include "com/sun/star/view/XScreenCursor.hpp"
+#include "com/sun/star/view/XSelectionSupplier.hpp"
+#include "com/sun/star/xml/sax/InputSource.hpp"
+#include "com/sun/star/xml/sax/SAXParseException.hdl"
+#include "com/sun/star/xml/sax/SAXParseException.hpp"
+#include "com/sun/star/xml/sax/XDTDHandler.hpp"
+#include "com/sun/star/xml/sax/XDocumentHandler.hpp"
+#include "com/sun/star/xml/sax/XEntityResolver.hpp"
+#include "com/sun/star/xml/sax/XErrorHandler.hpp"
+#include "com/sun/star/xml/sax/XParser.hpp"
+
+#include "comphelper/accessibleeventnotifier.hxx"
+#include "comphelper/anytostring.hxx"
+#include "comphelper/broadcasthelper.hxx"
+#include "comphelper/documentconstants.hxx"
+#include "comphelper/implementationreference.hxx"
+#include "comphelper/listenernotification.hxx"
+#include "comphelper/processfactory.hxx"
+#include "comphelper/propertysethelper.hxx"
+#include "comphelper/sequence.hxx"
+#include "comphelper/stl_types.hxx"
+#include "comphelper/storagehelper.hxx"
+#include "comphelper/uno3.hxx"
+
+#include "cppcanvas/basegfxfactory.hxx"
+#include "cppcanvas/spritecanvas.hxx"
+#include "cppcanvas/vclfactory.hxx"
+
+#include "cppu/macros.hxx"
+#include "cppu/unotype.hxx"
+
+#include "cppuhelper/bootstrap.hxx"
+#include "cppuhelper/exc_hlp.hxx"
+#include "cppuhelper/factory.hxx"
+#include "cppuhelper/interfacecontainer.h"
+#include "cppuhelper/propshlp.hxx"
+#include "cppuhelper/weak.hxx"
+#include "cppuhelper/weakref.hxx"
+
+
+#include "svtools/grfmgr.hxx"
+
+#include "helper/simplereferencecomponent.hxx"
+
+#include "i18npool/mslangid.hxx"
+
+#include "misc/scopelock.hxx"
+
+#include "osl/diagnose.h"
+#include "osl/doublecheckedlocking.h"
+#include "osl/endian.h"
+#include "osl/file.hxx"
+#include "osl/getglobalmutex.hxx"
+#include "osl/interlck.h"
+#include "osl/module.hxx"
+#include "osl/mutex.hxx"
+#include "osl/thread.hxx"
+
+#include "rsc/rscsfx.hxx"
+
+#include "rtl/crc.h"
+#include "rtl/logfile.hxx"
+#include "rtl/math.hxx"
+#include "rtl/memory.h"
+#include "rtl/tencinfo.h"
+#include "rtl/textenc.h"
+#include "rtl/ustrbuf.hxx"
+#include "rtl/ustring.h"
+#include "rtl/ustring.hxx"
+#include "rtl/uuid.h"
+
+#include "sfx2/app.hxx"
+#include "sfx2/basedlgs.hxx"
+#include "sfx2/bindings.hxx"
+#include "sfx2/childwin.hxx"
+#include "sfx2/ctrlitem.hxx"
+#include "sfx2/dispatch.hxx"
+#include "sfx2/docfac.hxx"
+#include "sfx2/docfilt.hxx"
+#include "sfx2/dockwin.hxx"
+#include "sfx2/doctempl.hxx"
+#include "sfx2/event.hxx"
+#include "sfx2/fcontnr.hxx"
+#include "sfx2/filedlghelper.hxx"
+#include "sfx2/frame.hxx"
+#include "sfx2/imagemgr.hxx"
+#include "sfx2/imgmgr.hxx"
+#include "sfx2/ipclient.hxx"
+#include "sfx2/lnkbase.hxx"
+#include "sfx2/mnumgr.hxx"
+#include "sfx2/module.hxx"
+#include "sfx2/msg.hxx"
+#include "sfx2/new.hxx"
+#include "sfx2/objface.hxx"
+#include "sfx2/objsh.hxx"
+#include "sfx2/printer.hxx"
+#include "sfx2/progress.hxx"
+#include "sfx2/request.hxx"
+#include "sfx2/sfx.hrc"
+#include "sfx2/sfxbasecontroller.hxx"
+#include "sfx2/sfxbasemodel.hxx"
+#include "sfx2/sfxdefs.hxx"
+#include "sfx2/sfxdlg.hxx"
+#include "sfx2/sfxsids.hrc"
+#include "sfx2/sfxuno.hxx"
+#include "sfx2/shell.hxx"
+#include "sfx2/styledlg.hxx"
+#include "sfx2/tabdlg.hxx"
+#include "sfx2/tbxctrl.hxx"
+#include "sfx2/templdlg.hxx"
+#include "sfx2/tplpitem.hxx"
+#include "sfx2/viewfac.hxx"
+#include "sfx2/viewfrm.hxx"
+#include "sfx2/viewsh.hxx"
+
+#include "sot/clsids.hxx"
+#include "sot/exchange.hxx"
+#include "sot/filelist.hxx"
+#include "sot/formats.hxx"
+#include "sot/object.hxx"
+#include "sot/storage.hxx"
+#include "sot/storinfo.hxx"
+
+#include "svtools/FilterConfigItem.hxx"
+#include "svl/aeitem.hxx"
+#include "svl/brdcst.hxx"
+#include "svtools/colorcfg.hxx"
+#include "svtools/colrdlg.hxx"
+#include "svtools/controldims.hrc"
+#include "svl/ctloptions.hxx"
+#include "svtools/ctrlbox.hxx"
+#include "svtools/ctrltool.hxx"
+#include "svtools/ehdl.hxx"
+#include "svl/eitem.hxx"
+#include "svtools/filedlg.hxx"
+#include "svtools/filter.hxx"
+#include "svl/flagitem.hxx"
+#include "svtools/fltcall.hxx"
+#include "unotools/fltrcfg.hxx"
+#include "svl/globalnameitem.hxx"
+#include "svl/hint.hxx"
+#include "unotools/historyoptions.hxx"
+#include "svtools/htmlout.hxx"
+#include "svtools/imap.hxx"
+#include "svtools/imapcirc.hxx"
+#include "svtools/imapobj.hxx"
+#include "svtools/imappoly.hxx"
+#include "svtools/imaprect.hxx"
+#include "svl/inethist.hxx"
+#include "svl/intitem.hxx"
+#include "svl/itemiter.hxx"
+#include "svl/itempool.hxx"
+#include "svl/itemset.hxx"
+#include "svl/languageoptions.hxx"
+#include "svl/lckbitem.hxx"
+#include "unotools/lingucfg.hxx"
+#include "unotools/linguprops.hxx"
+#include "svl/listener.hxx"
+#include "svl/lstner.hxx"
+#include "unotools/misccfg.hxx"
+#include "unotools/pathoptions.hxx"
+#include "svl/poolitem.hxx"
+#include "svtools/prgsbar.hxx"
+#include "svl/ptitem.hxx"
+#include "svl/rectitem.hxx"
+#include "unotools/saveopt.hxx"
+#include "svtools/sfxecode.hxx"
+#include "svl/slstitm.hxx"
+#include "svl/smplhint.hxx"
+#include "svtools/soerr.hxx"
+#include "svl/solar.hrc"
+#include "svtools/sores.hxx"
+#include "svtools/stdctrl.hxx"
+#include "svl/stritem.hxx"
+#include "svl/style.hrc"
+#include "svl/style.hxx"
+#include "svtools/svmedit.hxx"
+#include "svl/svstdarr.hxx"
+#include "unotools/syslocale.hxx"
+#include "svtools/tabbar.hxx"
+#include "svtools/treelist.hxx"
+#include "svl/undo.hxx"
+#include "svtools/unoimap.hxx"
+#include "svl/urihelper.hxx"
+#include "svl/urlbmk.hxx"
+#include "unotools/useroptions.hxx"
+#include "svtools/valueset.hxx"
+#include "unotools/viewoptions.hxx"
+#include "svl/visitem.hxx"
+#include "svl/whiter.hxx"
+#include "svtools/wmf.hxx"
+#include "svl/zforlist.hxx"
+
+
+#include "svx/SpellDialogChildWindow.hxx"
+#include "editeng/SpellPortions.hxx"
+#include "svx/UnoNamespaceMap.hxx"
+#include "editeng/adjitem.hxx"
+#include "svx/algitem.hxx"
+#include "svx/bmpmask.hxx"
+#include "editeng/boxitem.hxx"
+#include "editeng/brshitem.hxx"
+#include "editeng/bulitem.hxx"
+#include "svx/camera3d.hxx"
+#include "editeng/charreliefitem.hxx"
+#include "svx/clipboardctl.hxx"
+#include "svx/clipfmtitem.hxx"
+#include "editeng/cntritem.hxx"
+#include "editeng/colritem.hxx"
+#include "editeng/crsditem.hxx"
+#include "svx/cube3d.hxx"
+#include "svx/dataaccessdescriptor.hxx"
+#include "svx/dbexch.hrc"
+#include "svx/dialmgr.hxx"
+#include "svx/dialogs.hrc"
+#include "svx/dlgctrl.hxx"
+#include "svx/e3dundo.hxx"
+#include "editeng/editdata.hxx"
+#include "editeng/editeng.hxx"
+#include "editeng/editobj.hxx"
+#include "editeng/editstat.hxx"
+#include "editeng/editund2.hxx"
+#include "editeng/editview.hxx"
+#include "editeng/eeitem.hxx"
+#include "filter/msfilter/escherex.hxx"
+#include "editeng/escpitem.hxx"
+#include "svx/extrusionbar.hxx"
+#include "svx/f3dchild.hxx"
+#include "editeng/fhgtitem.hxx"
+#include "svx/fillctrl.hxx"
+#include "svx/flagsdef.hxx"
+#include "editeng/flditem.hxx"
+#include "editeng/flstitem.hxx"
+#include "svx/fmdmod.hxx"
+#include "svx/fmglob.hxx"
+#include "svx/fmobjfac.hxx"
+#include "svx/fmpage.hxx"
+#include "svx/fntctl.hxx"
+#include "svx/fntszctl.hxx"
+#include "editeng/fontitem.hxx"
+#include "svx/fontwork.hxx"
+#include "svx/fontworkbar.hxx"
+#include "svx/fontworkgallery.hxx"
+#include "editeng/forbiddencharacterstable.hxx"
+#include "svx/formatpaintbrushctrl.hxx"
+#include "editeng/frmdiritem.hxx"
+#include "svx/galbrws.hxx"
+#include "svx/gallery.hxx"
+#include "svx/globl3d.hxx"
+#include "svx/globlmn.hrc"
+#include "svx/grafctrl.hxx"
+#include "svx/hlnkitem.hxx"
+#include "svx/hyperdlg.hxx"
+#include "svx/hyprlink.hxx"
+#include "svx/imapdlg.hxx"
+#include "svx/itemwin.hxx"
+#include "svx/langbox.hxx"
+#include "editeng/langitem.hxx"
+#include "svx/lathe3d.hxx"
+#include "svx/lboxctrl.hxx"
+#include "svx/linectrl.hxx"
+#include "sfx2/linkmgr.hxx"
+#include "editeng/lrspitem.hxx"
+#include "editeng/lspcitem.hxx"
+#include "svx/modctrl.hxx"
+#include "svx/msdffdef.hxx"
+#include "filter/msfilter/msocximex.hxx"
+#include "filter/msfilter/msoleexp.hxx"
+#include "editeng/numitem.hxx"
+#include "svx/obj3d.hxx"
+#include "svx/objfac3d.hxx"
+#include "svx/ofaitem.hxx"
+#include "sfx2/opengrf.hxx"
+#include "svx/optgrid.hxx"
+#include "editeng/outliner.hxx"
+#include "editeng/outlobj.hxx"
+#include "editeng/paperinf.hxx"
+#include "editeng/pbinitem.hxx"
+#include "svx/pfiledlg.hxx"
+#include "svx/polysc3d.hxx"
+#include "svx/postattr.hxx"
+#include "editeng/postitem.hxx"
+#include "editeng/protitem.hxx"
+#include "svx/prtqry.hxx"
+#include "svx/pszctrl.hxx"
+#include "svx/rectenum.hxx"
+#include "svx/ruler.hxx"
+#include "svx/rulritem.hxx"
+#include "svx/scene3d.hxx"
+#include "editeng/scriptspaceitem.hxx"
+#include "editeng/scripttypeitem.hxx"
+#include "svx/sdasitm.hxx"
+#include "svx/sderitm.hxx"
+#include "svx/sdr/contact/displayinfo.hxx"
+#include "svx/sdr/contact/objectcontact.hxx"
+#include "svx/sdr/contact/objectcontactofobjlistpainter.hxx"
+#include "svx/sdr/contact/objectcontactofpageview.hxx"
+#include "svx/sdr/contact/viewcontact.hxx"
+#include "svx/sdr/contact/viewcontactofpageobj.hxx"
+#include "svx/sdr/contact/viewcontactofsdrmediaobj.hxx"
+#include "svx/sdr/contact/viewobjectcontact.hxx"
+#include "svx/sdrobjectuser.hxx"
+#include "svx/sdshcitm.hxx"
+#include "svx/sdshitm.hxx"
+#include "svx/sdtagitm.hxx"
+#include "svx/sdtakitm.hxx"
+#include "svx/sdtmfitm.hxx"
+#include "editeng/shaditem.hxx"
+#include "editeng/shdditem.hxx"
+#include "svx/sphere3d.hxx"
+#include "svx/srchdlg.hxx"
+#include "svx/strarray.hxx"
+#include "svx/svdattr.hxx"
+#include "svx/svddef.hxx"
+#include "svx/svdetc.hxx"
+#include "editeng/measfld.hxx"
+#include "svx/svdglue.hxx"
+#include "svx/svditer.hxx"
+#include "svx/svdlayer.hxx"
+#include "svx/svdmark.hxx"
+#include "svx/svdoashp.hxx"
+#include "svx/svdoattr.hxx"
+#include "svx/svdobj.hxx"
+#include "svx/svdocapt.hxx"
+#include "svx/svdocirc.hxx"
+#include "svx/svdograf.hxx"
+#include "svx/svdogrp.hxx"
+#include "svx/svdomeas.hxx"
+#include "svx/svdomedia.hxx"
+#include "svx/svdoole2.hxx"
+#include "svx/svdopage.hxx"
+#include "svx/svdopath.hxx"
+#include "svx/svdorect.hxx"
+#include "svx/svdotext.hxx"
+#include "svx/svdouno.hxx"
+#include "svx/svdoutl.hxx"
+#include "svx/svdpage.hxx"
+#include "svx/svdpntv.hxx"
+#include "svx/svdpool.hxx"
+#include "svx/svdsob.hxx"
+#include "svx/svdtypes.hxx"
+#include "svx/svdundo.hxx"
+#include "svx/svdviter.hxx"
+#include "svx/svx3ditems.hxx"
+#include "svx/svxdlg.hxx"
+#include "editeng/svxenum.hxx"
+#include "svx/svxerr.hxx"
+#include "editeng/svxfont.hxx"
+#include "svx/svxgrahicitem.hxx"
+#include "svx/svxids.hrc"
+#include "filter/msfilter/svxmsbas.hxx"
+#include "svx/sxciaitm.hxx"
+#include "svx/sxekitm.hxx"
+#include "svx/sxelditm.hxx"
+#include "svx/tabarea.hxx"
+#include "svx/tabline.hxx"
+#include "svx/tbcontrl.hxx"
+#include "svx/tbxcolor.hxx"
+#include "svx/tbxcustomshapes.hxx"
+#include "editeng/tstpitem.hxx"
+#include "editeng/udlnitem.hxx"
+#include "editeng/ulspitem.hxx"
+#include "svx/unoapi.hxx"
+#include "editeng/unoedhlp.hxx"
+#include "editeng/unoedsrc.hxx"
+#include "svx/unofill.hxx"
+#include "editeng/unoforou.hxx"
+#include "editeng/unoipset.hxx"
+#include "editeng/unolingu.hxx"
+#include "svx/unomaster.hxx"
+#include "svx/unomodel.hxx"
+#include "editeng/unonrule.hxx"
+#include "editeng/unoviwou.hxx"
+#include "svx/verttexttbxctrl.hxx"
+#include "editeng/wghtitem.hxx"
+#include "editeng/writingmodeitem.hxx"
+#include "svx/xbtmpit.hxx"
+#include "svx/xcolit.hxx"
+#include "svx/xdash.hxx"
+#include "svx/xdef.hxx"
+#include "svx/xenum.hxx"
+#include "svx/xexch.hxx"
+#include "svx/xfillit.hxx"
+#include "svx/xfillit0.hxx"
+#include "svx/xflbmtit.hxx"
+#include "svx/xflbstit.hxx"
+#include "svx/xflclit.hxx"
+#include "svx/xflgrit.hxx"
+#include "svx/xflhtit.hxx"
+#include "svx/xftadit.hxx"
+#include "svx/xftdiit.hxx"
+#include "svx/xftmrit.hxx"
+#include "svx/xftouit.hxx"
+#include "svx/xftsfit.hxx"
+#include "svx/xftshcit.hxx"
+#include "svx/xftshit.hxx"
+#include "svx/xftshxy.hxx"
+#include "svx/xftstit.hxx"
+#include "svx/xgrad.hxx"
+#include "svx/xit.hxx"
+#include "svx/xlineit.hxx"
+#include "svx/xlineit0.hxx"
+#include "svx/xlnclit.hxx"
+#include "svx/xlndsit.hxx"
+#include "svx/xlnedcit.hxx"
+#include "svx/xlnedit.hxx"
+#include "svx/xlnedwit.hxx"
+#include "svx/xlnstcit.hxx"
+#include "svx/xlnstit.hxx"
+#include "svx/xlnstwit.hxx"
+#include "svx/xlnwtit.hxx"
+#include "editeng/xmlcnitm.hxx"
+#include "svx/xmlsecctrl.hxx"
+#include "svx/xoutbmp.hxx"
+#include "svx/xpoly.hxx"
+#include "svx/xtable.hxx"
+#include "svx/xtextit0.hxx"
+#include "svx/zoom_def.hxx"
+#include "svx/zoomctrl.hxx"
+#include "svx/zoomitem.hxx"
+
+#include "toolkit/awt/vclxdevice.hxx"
+#include "toolkit/helper/vclunohelper.hxx"
+#include "toolkit/unohlp.hxx"
+
+#include "tools/bigint.hxx"
+#include "tools/color.hxx"
+#include "tools/config.hxx"
+#include "tools/contnr.hxx"
+#include "tools/datetime.hxx"
+#include "tools/debug.hxx"
+#include "tools/errcode.hxx"
+#include "tools/errinf.hxx"
+#include "tools/fract.hxx"
+#include "tools/fsys.hxx"
+#include "tools/gen.hxx"
+#include "tools/globname.hxx"
+#include "tools/link.hxx"
+#include "tools/list.hxx"
+#include "tools/multisel.hxx"
+#include "tools/poly.hxx"
+#include "tools/pstm.hxx"
+#include "tools/rc.hxx"
+#include "tools/ref.hxx"
+#include "tools/resid.hxx"
+#include "tools/resmgr.hxx"
+#include "tools/rtti.hxx"
+#include "tools/shl.hxx"
+#include "tools/solar.h"
+#include "tools/stream.hxx"
+#include "tools/string.hxx"
+#include "tools/tenccvt.hxx"
+#include "tools/time.hxx"
+#include "tools/urlobj.hxx"
+#include "tools/weakbase.hxx"
+#include "tools/zcodec.hxx"
+
+#include "ucbhelper/content.hxx"
+#include "ucbhelper/contentbroker.hxx"
+
+#include "uno/lbnames.h"
+
+#include "unotools/charclass.hxx"
+#include "unotools/configitem.hxx"
+#include "unotools/confignode.hxx"
+#include "unotools/localedatawrapper.hxx"
+#include "unotools/localfilehelper.hxx"
+#include "comphelper/servicehelper.hxx"
+#include "unotools/tempfile.hxx"
+#include "unotools/ucbstreamhelper.hxx"
+
+#include "vcl/bitmap.hxx"
+#include "vcl/bitmapex.hxx"
+#include "vcl/bmpacc.hxx"
+#include "vcl/button.hxx"
+#include "vcl/canvastools.hxx"
+#include "vcl/combobox.hxx"
+#include "vcl/ctrl.hxx"
+#include "vcl/cursor.hxx"
+#include "vcl/cvtgrf.hxx"
+#include "vcl/decoview.hxx"
+#include "vcl/dialog.hxx"
+#include "vcl/dockwin.hxx"
+#include "vcl/edit.hxx"
+#include "vcl/event.hxx"
+#include "vcl/field.hxx"
+#include "vcl/fixed.hxx"
+#include "vcl/font.hxx"
+#include "unotools/fontcvt.hxx"
+#include "vcl/gdimtf.hxx"
+#include "vcl/gfxlink.hxx"
+#include "vcl/gradient.hxx"
+#include "vcl/graph.hxx"
+#include "vcl/group.hxx"
+#include "vcl/help.hxx"
+#include "vcl/image.hxx"
+#include "vcl/button.hxx"
+#include "vcl/jobset.hxx"
+#include "vcl/lineinfo.hxx"
+#include "vcl/lstbox.hxx"
+#include "vcl/mapmod.hxx"
+#include "vcl/menu.hxx"
+#include "vcl/menubtn.hxx"
+#include "vcl/metaact.hxx"
+#include "vcl/metric.hxx"
+#include "vcl/mnemonic.hxx"
+#include "vcl/msgbox.hxx"
+#include "vcl/outdev.hxx"
+#include "vcl/pdfextoutdevdata.hxx"
+#include "vcl/pngread.hxx"
+#include "vcl/pngwrite.hxx"
+#include "vcl/pointr.hxx"
+#include "vcl/print.hxx"
+#include "vcl/prntypes.hxx"
+#include "vcl/region.hxx"
+#include "vcl/salbtype.hxx"
+#include "vcl/scrbar.hxx"
+#include "vcl/seleng.hxx"
+#include "vcl/settings.hxx"
+#include "vcl/sound.hxx"
+#include "vcl/split.hxx"
+#include "vcl/status.hxx"
+#include "vcl/svapp.hxx"
+#include "vcl/tabctrl.hxx"
+#include "vcl/tabdlg.hxx"
+#include "vcl/tabpage.hxx"
+#include "vcl/taskpanelist.hxx"
+#include "vcl/timer.hxx"
+#include "vcl/toolbox.hxx"
+#include "vcl/vclenum.hxx"
+#include "vcl/virdev.hxx"
+#include "vcl/waitobj.hxx"
+#include "vcl/window.hxx"
+#include "tools/wintypes.hxx"
+#include "vcl/wrkwin.hxx"
+
+#include "vos/diagnose.hxx"
+#include "vos/module.hxx"
+#include "vos/mutex.hxx"
+#include "vos/process.hxx"
+#include "vos/thread.hxx"
+#include "vos/xception.hxx"
+//---MARKER---
+
+#endif
diff --git a/sd/inc/pglink.hxx b/sd/inc/pglink.hxx
new file mode 100644
index 000000000000..8f8eff565d42
--- /dev/null
+++ b/sd/inc/pglink.hxx
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * 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 _PGLINK_HXX
+#define _PGLINK_HXX
+
+#ifndef SVX_LIGHT
+
+#include <sfx2/lnkbase.hxx>
+
+class SdPage;
+
+
+
+class SdPageLink : public ::sfx2::SvBaseLink
+{
+ SdPage* pPage;
+
+public:
+ SdPageLink(SdPage* pPg, const String& rFileName, const String& rBookmarkName);
+ virtual ~SdPageLink();
+
+ virtual void Closed();
+ virtual void DataChanged( const String& ,
+ const ::com::sun::star::uno::Any & );
+ FASTBOOL Connect() { return 0 != SvBaseLink::GetRealObject(); }
+};
+
+#else
+
+class SdPageLink;
+
+#endif
+
+#endif // _PGLINK_HXX
+
+
+
+
diff --git a/sd/inc/pres.hxx b/sd/inc/pres.hxx
new file mode 100755
index 000000000000..a51083133185
--- /dev/null
+++ b/sd/inc/pres.hxx
@@ -0,0 +1,141 @@
+/*************************************************************************
+ *
+ * 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 _PRESENTATION_HXX
+#define _PRESENTATION_HXX
+
+enum PresObjKind
+{
+ PRESOBJ_NONE = 0,
+ PRESOBJ_TITLE,
+ PRESOBJ_OUTLINE,
+ PRESOBJ_TEXT,
+ PRESOBJ_GRAPHIC,
+ PRESOBJ_OBJECT,
+ PRESOBJ_CHART,
+ PRESOBJ_ORGCHART,
+ PRESOBJ_TABLE,
+ PRESOBJ_IMAGE,
+ PRESOBJ_PAGE,
+ PRESOBJ_HANDOUT,
+ PRESOBJ_NOTES,
+ PRESOBJ_HEADER,
+ PRESOBJ_FOOTER,
+ PRESOBJ_DATETIME,
+ PRESOBJ_SLIDENUMBER,
+ PRESOBJ_CALC,
+ PRESOBJ_MEDIA,
+
+ PRESOBJ_MAX
+};
+
+enum AutoLayout
+{
+ // new layouts with enum/text/chart/org/clip merged to content
+ AUTOLAYOUT__START = 0,
+ AUTOLAYOUT_TITLE = 0, // Title Slide
+ AUTOLAYOUT_TITLE_CONTENT = 1, // Title, Content
+ AUTOLAYOUT_TITLE_2CONTENT = 3, // Title and 2 Content
+ AUTOLAYOUT_TITLE_ONLY = 19, // Title Only
+ AUTOLAYOUT_NONE = 20, // Blank Slide
+ AUTOLAYOUT_ONLY_TEXT = 32, // Centered Text
+ AUTOLAYOUT_TITLE_CONTENT_2CONTENT = 12, // Title, Content and 2 Content
+ AUTOLAYOUT_TITLE_2CONTENT_CONTENT = 15, // Title, 2 Content and Content
+ AUTOLAYOUT_TITLE_2CONTENT_OVER_CONTENT = 16,// Title, 2 Content over Content
+ AUTOLAYOUT_TITLE_CONTENT_OVER_CONTENT = 14, // Title, Content over Content
+ AUTOLAYOUT_TITLE_4CONTENT = 18, // Title, 4 Content
+ AUTOLAYOUT_TITLE_6CONTENT = 34, // Title, 6 Content
+ AUTOLAYOUT_VTITLE_VCONTENT_OVER_VCONTENT = 27, // Vertical Title, Vertical Content over Vertical Content
+ AUTOLAYOUT_VTITLE_VCONTENT = 28, // Vertical Title, Vertical Content over Vertical Content
+ AUTOLAYOUT_TITLE_VCONTENT = 29, // Title, Vertical Content
+ AUTOLAYOUT_TITLE_2VTEXT = 30, // Title, 2 Vertical Content
+
+ // deprecated
+ AUTOLAYOUT_ENUM = 1,
+ AUTOLAYOUT_CHART = 2,
+ AUTOLAYOUT_2TEXT = 3,
+ AUTOLAYOUT_TEXTCHART = 4,
+ AUTOLAYOUT_ORG = 5,
+ AUTOLAYOUT_TEXTCLIP = 6,
+ AUTOLAYOUT_CHARTTEXT = 7,
+ AUTOLAYOUT_TAB = 8,
+ AUTOLAYOUT_CLIPTEXT = 9,
+ AUTOLAYOUT_TEXTOBJ = 10,
+ AUTOLAYOUT_OBJ = 11,
+ AUTOLAYOUT_TEXT2OBJ = 12,
+ AUTOLAYOUT_OBJTEXT = 13,
+ AUTOLAYOUT_OBJOVERTEXT = 14,
+ AUTOLAYOUT_2OBJTEXT = 15,
+ AUTOLAYOUT_2OBJOVERTEXT = 16,
+ AUTOLAYOUT_TEXTOVEROBJ = 17,
+ AUTOLAYOUT_4OBJ = 18,
+ AUTOLAYOUT_ONLY_TITLE = 19,
+ AUTOLAYOUT_NOTES = 21,
+ AUTOLAYOUT_HANDOUT1 = 22,
+ AUTOLAYOUT_HANDOUT2 = 23,
+ AUTOLAYOUT_HANDOUT3 = 24,
+ AUTOLAYOUT_HANDOUT4 = 25,
+ AUTOLAYOUT_HANDOUT6 = 26,
+ AUTOLAYOUT_VERTICAL_TITLE_TEXT_CHART = 27,
+ AUTOLAYOUT_VERTICAL_TITLE_VERTICAL_OUTLINE = 28,
+ AUTOLAYOUT_TITLE_VERTICAL_OUTLINE = 29,
+ AUTOLAYOUT_TITLE_VERTICAL_OUTLINE_CLIPART = 30,
+ AUTOLAYOUT_HANDOUT9 = 31,
+ AUTOLAYOUT_4CLIPART = 33,
+ AUTOLAYOUT_6CLIPART = 34,
+ AUTOLAYOUT__END
+};
+
+enum PageKind
+{
+ PK_STANDARD,
+ PK_NOTES,
+ PK_HANDOUT
+};
+
+enum EditMode
+{
+ EM_PAGE,
+ EM_MASTERPAGE
+};
+
+enum DocumentType
+{
+ DOCUMENT_TYPE_IMPRESS,
+ DOCUMENT_TYPE_DRAW
+};
+
+enum NavigatorDragType
+{
+ NAVIGATOR_DRAGTYPE_NONE,
+ NAVIGATOR_DRAGTYPE_URL,
+ NAVIGATOR_DRAGTYPE_LINK,
+ NAVIGATOR_DRAGTYPE_EMBEDDED
+};
+#define NAVIGATOR_DRAGTYPE_COUNT 4
+
+#endif // _PRESENTATION_HXX
+
diff --git a/sd/inc/prlayout.hxx b/sd/inc/prlayout.hxx
new file mode 100644
index 000000000000..87bce53b1c8c
--- /dev/null
+++ b/sd/inc/prlayout.hxx
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+/*************************************************************************
+|* Enthielt frueher auch die Klasse SdPresentationLayoutDlg (wird jetzt nicht
+|* mehr benoetigt). Dieses File ist auf ungeklaerte Weise aus dem PVCS
+|* verschwunden und wird jetzt neu eingecheckt und enthaelt nur noch den enum.
+\************************************************************************/
+
+#ifndef _SD_PRLAYOUT_HXX_
+#define _SD_PRLAYOUT_HXX_
+
+enum PresentationObjects
+{
+ PO_TITLE,
+ PO_BACKGROUND,
+ PO_BACKGROUNDOBJECTS,
+ PO_OUTLINE_1,
+ PO_OUTLINE_2,
+ PO_OUTLINE_3,
+ PO_OUTLINE_4,
+ PO_OUTLINE_5,
+ PO_OUTLINE_6,
+ PO_OUTLINE_7,
+ PO_OUTLINE_8,
+ PO_OUTLINE_9,
+ PO_NOTES,
+ PO_SUBTITLE
+};
+
+#endif // _SD_PRLAYOUT_HXX_
+
diff --git a/sd/inc/resltn.hxx b/sd/inc/resltn.hxx
new file mode 100644
index 000000000000..bfd04a864175
--- /dev/null
+++ b/sd/inc/resltn.hxx
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * 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 _SD_RESLTN_HXX
+#define _SD_RESLTN_HXX
+
+enum PublishingResolution
+{
+ RESOLUTION_HIGH,
+ RESOLUTION_MEDIUM,
+ RESOLUTION_LOW
+};
+
+enum PublishingFormat
+{
+ FORMAT_GIF,
+ FORMAT_JPG,
+ FORMAT_PNG
+};
+
+enum PublishingScript
+{
+ SCRIPT_ASP,
+ SCRIPT_PERL
+};
+
+#endif // _SD_RESLTN_HXX
+
diff --git a/sd/inc/sd_primitivetypes2d.hxx b/sd/inc/sd_primitivetypes2d.hxx
new file mode 100644
index 000000000000..fab81717c5c5
--- /dev/null
+++ b/sd/inc/sd_primitivetypes2d.hxx
@@ -0,0 +1,49 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef INCLUDED_SD_PRIMITIVETYPES2D_HXX
+#define INCLUDED_SD_PRIMITIVETYPES2D_HXX
+
+#ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_PRIMITIVETYPES2D_HXX
+#include <drawinglayer/primitive2d/drawinglayer_primitivetypes2d.hxx>
+#endif
+
+//////////////////////////////////////////////////////////////////////////////
+
+#define PRIMITIVE2D_ID_SDPAGEOBJECTFOCUSPRIMITIVE (PRIMITIVE2D_ID_RANGE_SD| 0)
+#define PRIMITIVE2D_ID_SDPAGEOBJECTSELECTPRIMITIVE (PRIMITIVE2D_ID_RANGE_SD| 1)
+#define PRIMITIVE2D_ID_SDPAGEOBJECTPAGEBITMAPPRIMITIVE (PRIMITIVE2D_ID_RANGE_SD| 2)
+#define PRIMITIVE2D_ID_SDPAGEOBJECTBORDERPRIMITIVE (PRIMITIVE2D_ID_RANGE_SD| 3)
+#define PRIMITIVE2D_ID_SDPAGEOBJECTFADENAMENUMBERPRIMITIVE (PRIMITIVE2D_ID_RANGE_SD| 4)
+#define PRIMITIVE2D_ID_SDMOUSEOVEREFFECTPRIMITIVE (PRIMITIVE2D_ID_RANGE_SD| 5)
+
+//////////////////////////////////////////////////////////////////////////////
+
+#endif // INCLUDED_SD_PRIMITIVETYPES2D_HXX
+
+//////////////////////////////////////////////////////////////////////////////
+// eof
diff --git a/sd/inc/sdabstdlg.hxx b/sd/inc/sdabstdlg.hxx
new file mode 100755
index 000000000000..555f9d5a3a7e
--- /dev/null
+++ b/sd/inc/sdabstdlg.hxx
@@ -0,0 +1,225 @@
+/*************************************************************************
+ *
+ * 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 _SD_ABSTDLG_HXX
+#define _SD_ABSTDLG_HXX
+
+// include ---------------------------------------------------------------
+
+#include <tools/solar.h>
+#include <tools/string.hxx>
+#include <sfx2/sfxdlg.hxx>
+#include <com/sun/star/uno/Sequence.h>
+#include <com/sun/star/beans/XPropertyAccess.hpp>
+#include "prlayout.hxx"
+#include "sdenumdef.hxx"
+#include "pres.hxx"
+
+namespace sd {
+ class View;
+ class DrawDocShell;
+ class ViewShell;
+ class DrawView;
+}
+
+class SfxTabPage;
+class SfxViewFrame;
+class SfxBindings;
+class ResId;
+class String;
+class SfxItemPool;
+class SfxObjectShell;
+class SfxObjectShellLock;
+class SvxFieldData;
+class GDIMetaFile;
+class XColorTable;
+class SdDrawDocument;
+class SfxMedium;
+class SdrObject;
+class SfxStyleSheetBasePool;
+class SfxStyleSheetBase;
+class SdrModel;
+class SdrView;
+class Bitmap;
+class List;
+class SdResId;
+class Window;
+class SdPage;
+class TabPage;
+class ViewShell;
+
+class AbstractCopyDlg : public VclAbstractDialog //add for CopyDlg
+{
+public:
+ virtual void GetAttr( SfxItemSet& rOutAttrs ) = 0;
+};
+
+class AbstractSdCustomShowDlg : public VclAbstractDialog //add for SdCustomShowDlg
+{
+public:
+ virtual sal_Bool IsModified() const = 0;
+ virtual sal_Bool IsCustomShow() const = 0;
+};
+
+class AbstractAssistentDlg : public VclAbstractDialog //add for AssistentDlg
+{
+public:
+ virtual SfxObjectShellLock GetDocument() = 0;
+ virtual OutputType GetOutputMedium() const = 0;
+ virtual sal_Bool IsSummary() const = 0;
+ virtual StartType GetStartType() const = 0;
+ virtual String GetDocPath() const = 0;
+ virtual sal_Bool GetStartWithFlag() const = 0;
+ virtual sal_Bool IsDocEmpty() const = 0;
+ virtual String GetPassword() = 0;
+};
+
+class AbstractSdModifyFieldDlg : public VclAbstractDialog //add for SdModifyFieldDlg
+{
+public:
+ virtual SvxFieldData* GetField() = 0;
+ virtual SfxItemSet GetItemSet() = 0;
+};
+
+class AbstractSdSnapLineDlg : public VclAbstractDialog //add for SdSnapLineDlg
+{
+public:
+ virtual void GetAttr(SfxItemSet& rOutAttrs) = 0;
+ virtual void HideRadioGroup() = 0;
+ virtual void HideDeleteBtn() = 0;
+ virtual void SetInputFields(sal_Bool bEnableX, sal_Bool bEnableY) = 0;
+ //from class ::Window
+ virtual void SetText( const XubString& rStr ) = 0;
+};
+
+class AbstractSdInsertLayerDlg : public VclAbstractDialog //add for SdInsertLayerDlg
+{
+public:
+ virtual void GetAttr( SfxItemSet& rOutAttrs ) = 0;
+ //from class ::Window
+ virtual void SetHelpId( const rtl::OString& rHelpId ) = 0;
+};
+
+class AbstractSdInsertPasteDlg : public VclAbstractDialog //add for SdInsertPasteDlg
+{
+public:
+ virtual sal_Bool IsInsertBefore() const = 0;
+};
+
+class AbstractSdInsertPagesObjsDlg : public VclAbstractDialog //add for SdInsertPagesObjsDlg
+{
+public:
+ virtual ::Window* GetWindow() = 0; //this method is added for return a ::Window type pointer
+ virtual List* GetList( sal_uInt16 nType ) = 0;
+ virtual sal_Bool IsLink() = 0;
+ virtual sal_Bool IsRemoveUnnessesaryMasterPages() const = 0;
+};
+
+class AbstractMorphDlg : public VclAbstractDialog //add for MorphDlg
+{
+public:
+ virtual void SaveSettings() const = 0;
+ virtual sal_uInt16 GetFadeSteps() const = 0;
+ virtual sal_Bool IsAttributeFade() const = 0;
+ virtual sal_Bool IsOrientationFade() const = 0;
+};
+
+class AbstractSdStartPresDlg : public VclAbstractDialog //add for SdStartPresentationDlg
+{
+public:
+ virtual void GetAttr( SfxItemSet& rOutAttrs ) = 0;
+};
+
+class AbstractSdPresLayoutDlg : public VclAbstractDialog //add for SdPresLayoutDlg
+{
+public:
+ virtual void GetAttr(SfxItemSet& rOutAttrs) = 0;
+};
+
+class AbstractSdVectorizeDlg : public VclAbstractDialog //add for SdVectorizeDlg
+{
+public:
+ virtual const GDIMetaFile& GetGDIMetaFile() const = 0;
+};
+
+class AbstractSdPublishingDlg : public VclAbstractDialog //add for SdPublishingDlg
+{
+public:
+ virtual void GetParameterSequence( ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rParams ) = 0;
+};
+
+class AbstractHeaderFooterDialog : public VclAbstractDialog // add for HeaderFooterDialog
+{
+public:
+ virtual void ApplyToAll( TabPage* pPage ) = 0;
+ virtual void Apply( TabPage* pPage ) = 0;
+ virtual void Cancel( TabPage* pPage ) = 0;
+};
+
+//---------------------------------------------------------
+class SdAbstractDialogFactory
+{
+public:
+ static SdAbstractDialogFactory* Create();
+
+ virtual VclAbstractDialog* CreateBreakDlg(::Window* pWindow, ::sd::DrawView* pDrView, ::sd::DrawDocShell* pShell, sal_uLong nSumActionCount, sal_uLong nObjCount ) = 0;
+ virtual AbstractCopyDlg* CreateCopyDlg( ::Window* pWindow, const SfxItemSet& rInAttrs, XColorTable* pColTab, ::sd::View* pView ) = 0;
+ virtual AbstractSdCustomShowDlg* CreateSdCustomShowDlg( ::Window* pWindow, SdDrawDocument& rDrawDoc ) = 0;
+ virtual SfxAbstractTabDialog* CreateSdTabCharDialog( ::Window* pParent, const SfxItemSet* pAttr, SfxObjectShell* pDocShell ) = 0;
+ virtual SfxAbstractTabDialog* CreateSdTabPageDialog( ::Window* pParent, const SfxItemSet* pAttr, SfxObjectShell* pDocShell, sal_Bool bAreaPage = sal_True ) = 0;
+ virtual AbstractAssistentDlg* CreateAssistentDlg( ::Window* pParent, sal_Bool bAutoPilot) = 0;
+ virtual AbstractSdModifyFieldDlg* CreateSdModifyFieldDlg( ::Window* pWindow, const SvxFieldData* pInField, const SfxItemSet& rSet ) = 0;
+ virtual AbstractSdSnapLineDlg* CreateSdSnapLineDlg( ::Window* pWindow, const SfxItemSet& rInAttrs, ::sd::View* pView) = 0;
+ virtual AbstractSdInsertLayerDlg* CreateSdInsertLayerDlg( ::Window* pWindow, const SfxItemSet& rInAttrs, bool bDeletable, String aStr ) = 0;
+ virtual AbstractSdInsertPasteDlg* CreateSdInsertPasteDlg( ::Window* pWindow ) = 0;
+ virtual AbstractSdInsertPagesObjsDlg* CreateSdInsertPagesObjsDlg( ::Window* pParent, const SdDrawDocument* pDoc, SfxMedium* pSfxMedium, const String& rFileName ) = 0;
+ virtual AbstractMorphDlg* CreateMorphDlg( ::Window* pParent, const SdrObject* pObj1, const SdrObject* pObj2) = 0;
+ virtual SfxAbstractTabDialog* CreateSdOutlineBulletTabDlg ( ::Window* pParent, const SfxItemSet* pAttr, ::sd::View* pView = NULL ) = 0;
+ virtual SfxAbstractTabDialog* CreateSdParagraphTabDlg ( ::Window* pParent, const SfxItemSet* pAttr ) = 0;
+ virtual AbstractSdStartPresDlg* CreateSdStartPresentationDlg( ::Window* pWindow, const SfxItemSet& rInAttrs, List& rPageNames, List* pCSList ) = 0;
+ virtual SfxAbstractTabDialog* CreateSdPresLayoutTemplateDlg( SfxObjectShell* pDocSh, ::Window* pParent, SdResId DlgId, SfxStyleSheetBase& rStyleBase, PresentationObjects ePO, SfxStyleSheetBasePool* pSSPool ) = 0;
+ virtual AbstractSdPresLayoutDlg* CreateSdPresLayoutDlg( ::sd::DrawDocShell* pDocShell, ::sd::ViewShell* pViewShell, ::Window* pWindow, const SfxItemSet& rInAttrs) = 0;
+ virtual SfxAbstractTabDialog* CreateSdTabTemplateDlg( ::Window* pParent, const SfxObjectShell* pDocShell, SfxStyleSheetBase& rStyleBase, SdrModel* pModel, SdrView* pView ) = 0;
+ virtual SfxAbstractDialog* CreatSdActionDialog( ::Window* pParent, const SfxItemSet* pAttr, ::sd::View* pView ) = 0;
+ virtual AbstractSdVectorizeDlg* CreateSdVectorizeDlg( ::Window* pParent, const Bitmap& rBmp, ::sd::DrawDocShell* pDocShell ) = 0;
+ virtual AbstractSdPublishingDlg* CreateSdPublishingDlg( ::Window* pWindow, DocumentType eDocType) = 0;
+
+ virtual VclAbstractDialog* CreateMasterLayoutDialog( ::Window* pParent,
+ SdDrawDocument* pDoc,
+ SdPage* ) = 0; // add for MasterLayoutDialog
+
+ virtual AbstractHeaderFooterDialog* CreateHeaderFooterDialog( ViewShell* pViewShell,
+ ::Window* pParent,
+ SdDrawDocument* pDoc,
+ SdPage* pCurrentPage ) = 0; // add for HeaderFooterDialog
+
+ virtual CreateTabPage GetSdOptionsContentsTabPageCreatorFunc() = 0;
+ virtual CreateTabPage GetSdPrintOptionsTabPageCreatorFunc() = 0;
+ virtual CreateTabPage GetSdOptionsMiscTabPageCreatorFunc() = 0;
+ virtual CreateTabPage GetSdOptionsSnapTabPageCreatorFunc() = 0;
+};
+#endif
+
diff --git a/sd/inc/sdattr.hrc b/sd/inc/sdattr.hrc
new file mode 100644
index 000000000000..29ef8f128248
--- /dev/null
+++ b/sd/inc/sdattr.hrc
@@ -0,0 +1,245 @@
+/*************************************************************************
+ *
+ * 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 _SDATTR_HRC
+#define _SDATTR_HRC
+
+#ifndef _SFX_HRC
+#include <sfx2/sfx.hrc>
+#endif
+
+// Anfang Page-Attribute
+#define ATTR_PAGE_START SID_SD_START + 1234
+#define ATTR_PAGE_NAME ATTR_PAGE_START
+#define ATTR_PAGE_BACKGROUND ATTR_PAGE_START + 1
+#define ATTR_PAGE_OBJECTS ATTR_PAGE_START + 2
+#define ATTR_PAGE_LAYOUT ATTR_PAGE_START + 3
+#define ATTR_PAGE_END ATTR_PAGE_LAYOUT
+
+// Layer-Attribute
+#define ATTR_LAYER_START ATTR_PAGE_END + 1
+#define ATTR_LAYER_NAME ATTR_LAYER_START
+#define ATTR_LAYER_VISIBLE ATTR_LAYER_START + 1
+#define ATTR_LAYER_PRINTABLE ATTR_LAYER_START + 2
+#define ATTR_LAYER_LOCKED ATTR_LAYER_START + 3
+#define ATTR_LAYER_THISPAGE ATTR_LAYER_START + 4
+#define ATTR_LAYER_TITLE ATTR_LAYER_START + 5
+#define ATTR_LAYER_DESC ATTR_LAYER_START + 6
+#define ATTR_LAYER_END ATTR_LAYER_DESC
+
+// Anfang Dia-Attribute
+#define ATTR_DIA_START ATTR_LAYER_END + 1
+#define ATTR_DIA_EFFECT ATTR_DIA_START
+#define ATTR_DIA_SPEED ATTR_DIA_START + 1
+#define ATTR_DIA_AUTO ATTR_DIA_START + 2
+#define ATTR_DIA_TIME ATTR_DIA_START + 3
+#define ATTR_DIA_SOUND ATTR_DIA_START + 4
+#define ATTR_DIA_SOUNDFILE ATTR_DIA_START + 5
+#define ATTR_DIA_END ATTR_DIA_SOUNDFILE
+
+// Praesentations-Attribute
+#define ATTR_PRESENT_START ATTR_DIA_END + 1
+#define ATTR_PRESENT_ALL ATTR_PRESENT_START
+#define ATTR_PRESENT_CUSTOMSHOW ATTR_PRESENT_START + 1
+#define ATTR_PRESENT_DIANAME ATTR_PRESENT_START + 2
+#define ATTR_PRESENT_ENDLESS ATTR_PRESENT_START + 3
+#define ATTR_PRESENT_MANUEL ATTR_PRESENT_START + 4
+#define ATTR_PRESENT_MOUSE ATTR_PRESENT_START + 5
+#define ATTR_PRESENT_PEN ATTR_PRESENT_START + 6
+#define ATTR_PRESENT_NAVIGATOR ATTR_PRESENT_START + 7
+#define ATTR_PRESENT_CHANGE_PAGE ATTR_PRESENT_START + 8
+#define ATTR_PRESENT_ALWAYS_ON_TOP ATTR_PRESENT_START + 9
+#define ATTR_PRESENT_FULLSCREEN ATTR_PRESENT_START + 10
+#define ATTR_PRESENT_START_ACTUAL_PAGE ATTR_PRESENT_START + 11
+#define ATTR_PRESENT_ANIMATION_ALLOWED ATTR_PRESENT_START + 12
+#define ATTR_PRESENT_PAUSE_TIMEOUT ATTR_PRESENT_START + 13
+#define ATTR_PRESENT_SHOW_PAUSELOGO ATTR_PRESENT_START + 14
+#define ATTR_PRESENT_DISPLAY ATTR_PRESENT_START + 15
+#define ATTR_PRESENT_END ATTR_PRESENT_DISPLAY
+
+// Transformations-Attribute
+#define ATTR_TRANSF_START ATTR_PRESENT_END + 1
+#define ATTR_TRANSF_POS_X ATTR_TRANSF_START
+#define ATTR_TRANSF_POS_Y ATTR_TRANSF_START + 1
+#define ATTR_TRANSF_WIDTH ATTR_TRANSF_START + 2
+#define ATTR_TRANSF_HEIGHT ATTR_TRANSF_START + 3
+#define ATTR_TRANSF_SIZE_POINT ATTR_TRANSF_START + 4
+#define ATTR_TRANSF_ROT_X ATTR_TRANSF_START + 5
+#define ATTR_TRANSF_ROT_Y ATTR_TRANSF_START + 6
+#define ATTR_TRANSF_ANGLE ATTR_TRANSF_START + 7
+#define ATTR_TRANSF_END ATTR_TRANSF_ANGLE
+
+// Raster-Attribute
+#define ATTR_GRID_START ATTR_TRANSF_END + 1
+#define ATTR_GRID_USE ATTR_GRID_START
+#define ATTR_GRID_DRAW_X ATTR_GRID_START + 1
+#define ATTR_GRID_DRAW_Y ATTR_GRID_START + 2
+#define ATTR_GRID_DIVISION_X ATTR_GRID_START + 3
+#define ATTR_GRID_DIVISION_Y ATTR_GRID_START + 4
+#define ATTR_GRID_SNAP_X ATTR_GRID_START + 5
+#define ATTR_GRID_SNAP_Y ATTR_GRID_START + 6
+#define ATTR_GRID_ORIGIN_X ATTR_GRID_START + 7
+#define ATTR_GRID_ORIGIN_Y ATTR_GRID_START + 8
+#define ATTR_GRID_END ATTR_GRID_ORIGIN_Y
+
+// Bildschirm-Attribute
+#define ATTR_DISPLAY_START ATTR_GRID_END + 1
+#define ATTR_DISPLAY_FUNCTIONBAR ATTR_DISPLAY_START
+#define ATTR_DISPLAY_OBJECTBAR ATTR_DISPLAY_START + 1
+#define ATTR_DISPLAY_STATUSBAR ATTR_DISPLAY_START + 2
+#define ATTR_DISPLAY_TOOLBAR ATTR_DISPLAY_START + 3
+#define ATTR_DISPLAY_GRID ATTR_DISPLAY_START + 4
+#define ATTR_DISPLAY_RULER ATTR_DISPLAY_START + 5
+#define ATTR_DISPLAY_HELPLINES ATTR_DISPLAY_START + 6
+#define ATTR_DISPLAY_STRANGE_GRAPHIC ATTR_DISPLAY_START + 7
+#define ATTR_DISPLAY_ADJUSTLINES ATTR_DISPLAY_START + 8
+#define ATTR_DISPLAY_END ATTR_DISPLAY_ADJUSTLINES
+
+#define ATTR_TBX_DUMMY ATTR_DISPLAY_END + 1
+
+// Animations-Attribute
+#define ATTR_ANIMATION_START ATTR_TBX_DUMMY + 1
+#define ATTR_ANIMATION_ACTIVE ATTR_ANIMATION_START
+#define ATTR_ANIMATION_EFFECT ATTR_ANIMATION_START + 1
+#define ATTR_ANIMATION_SPEED ATTR_ANIMATION_START + 2
+#define ATTR_ANIMATION_INVISIBLE ATTR_ANIMATION_START + 3
+#define ATTR_ANIMATION_FADEOUT ATTR_ANIMATION_START + 4
+#define ATTR_ANIMATION_COLOR ATTR_ANIMATION_START + 5
+#define ATTR_ANIMATION_SOUNDON ATTR_ANIMATION_START + 6
+#define ATTR_ANIMATION_SOUNDFILE ATTR_ANIMATION_START + 7
+#define ATTR_ANIMATION_PLAYFULL ATTR_ANIMATION_START + 8
+#define ATTR_ANIMATION_TRANSPCOLOR ATTR_ANIMATION_START + 9
+#define ATTR_ANIMATION_TEXTEFFECT ATTR_ANIMATION_START + 10
+#define ATTR_ANIMATION_END ATTR_ANIMATION_TEXTEFFECT
+
+#define ATTR_ACTION_START ATTR_ANIMATION_END + 1
+#define ATTR_ACTION ATTR_ACTION_START
+#define ATTR_ACTION_EFFECT ATTR_ACTION_START + 1
+#define ATTR_ACTION_EFFECTSPEED ATTR_ACTION_START + 2
+#define ATTR_ACTION_FILENAME ATTR_ACTION_START + 3
+#define ATTR_ACTION_SOUNDON ATTR_ACTION_START + 4
+#define ATTR_ACTION_PLAYFULL ATTR_ACTION_START + 5
+#define ATTR_ACTION_END ATTR_ACTION_PLAYFULL
+
+#define ATTR_PRINTOPTIONS_START ATTR_ACTION_END + 1
+#define ATTR_PRINTOPTIONS_PRINT ATTR_PRINTOPTIONS_START
+#define ATTR_PRINTOPTIONS_PAGESIZE ATTR_PRINTOPTIONS_START + 1
+#define ATTR_PRINTOPTIONS_FADEOUT ATTR_PRINTOPTIONS_START + 2
+#define ATTR_PRINTOPTIONS_DATE ATTR_PRINTOPTIONS_START + 3
+#define ATTR_PRINTOPTIONS_TIME ATTR_PRINTOPTIONS_START + 4
+#define ATTR_PRINTOPTIONS_PAGENAME ATTR_PRINTOPTIONS_START + 5
+#define ATTR_PRINTOPTIONS_END ATTR_PRINTOPTIONS_PAGENAME
+
+#define ATTR_COPY_START ATTR_PRINTOPTIONS_END + 1
+#define ATTR_COPY_NUMBER ATTR_COPY_START
+#define ATTR_COPY_MOVE_X ATTR_COPY_START + 1
+#define ATTR_COPY_MOVE_Y ATTR_COPY_START + 2
+#define ATTR_COPY_ANGLE ATTR_COPY_START + 3
+#define ATTR_COPY_WIDTH ATTR_COPY_START + 4
+#define ATTR_COPY_HEIGHT ATTR_COPY_START + 5
+#define ATTR_COPY_START_COLOR ATTR_COPY_START + 6
+#define ATTR_COPY_END_COLOR ATTR_COPY_START + 7
+#define ATTR_COPY_END ATTR_COPY_END_COLOR
+
+#define ATTR_SNAPLINE_START ATTR_COPY_END + 1
+#define ATTR_SNAPLINE_KIND ATTR_SNAPLINE_START
+#define ATTR_SNAPLINE_X ATTR_SNAPLINE_START + 1
+#define ATTR_SNAPLINE_Y ATTR_SNAPLINE_START + 2
+#define ATTR_SNAPLINE_END ATTR_SNAPLINE_Y
+
+#define ATTR_OPTIONS_START ATTR_SNAPLINE_END + 1
+#define ATTR_OPTIONS ATTR_OPTIONS_START
+#define ATTR_OPTIONS_LAYOUT ATTR_OPTIONS_START + 1
+#define ATTR_OPTIONS_CONTENTS ATTR_OPTIONS_START + 2
+#define ATTR_OPTIONS_MISC ATTR_OPTIONS_START + 3
+#define ATTR_OPTIONS_SNAP ATTR_OPTIONS_START + 4
+#define ATTR_OPTIONS_PRINT ATTR_OPTIONS_START + 5
+#define ATTR_OPTIONS_END ATTR_OPTIONS_PRINT
+
+#define ATTR_OPTIONS_SCALE_START ATTR_OPTIONS_END + 1
+#define ATTR_OPTIONS_SCALE_X ATTR_OPTIONS_SCALE_START
+#define ATTR_OPTIONS_SCALE_Y ATTR_OPTIONS_SCALE_START + 1
+#define ATTR_OPTIONS_SCALE_WIDTH ATTR_OPTIONS_SCALE_START + 2
+#define ATTR_OPTIONS_SCALE_HEIGHT ATTR_OPTIONS_SCALE_START + 3
+#define ATTR_OPTIONS_SCALE_END ATTR_OPTIONS_SCALE_HEIGHT
+
+#define ATTR_PUBLISH_START ATTR_OPTIONS_SCALE_END + 1
+#define ATTR_PUBLISH_LOCATION ATTR_PUBLISH_START
+#define ATTR_PUBLISH_WITHCONTENTSPAGE ATTR_PUBLISH_START + 1
+#define ATTR_PUBLISH_RESOLUTION ATTR_PUBLISH_START + 2
+#define ATTR_PUBLISH_MODE ATTR_PUBLISH_START + 3
+#define ATTR_PUBLISH_FORMAT ATTR_PUBLISH_START + 4
+#define ATTR_PUBLISH_COMPRESSION ATTR_PUBLISH_START + 5
+#define ATTR_PUBLISH_WITHNOTES ATTR_PUBLISH_START + 6
+#define ATTR_PUBLISH_AUTHOR ATTR_PUBLISH_START + 9
+#define ATTR_PUBLISH_EMAIL ATTR_PUBLISH_START + 10
+#define ATTR_PUBLISH_WWW ATTR_PUBLISH_START + 11
+#define ATTR_PUBLISH_INFO ATTR_PUBLISH_START + 12
+#define ATTR_PUBLISH_WITHDOWNLOAD ATTR_PUBLISH_START + 13
+#define ATTR_PUBLISH_WITHSTAROFFICE ATTR_PUBLISH_START + 14
+#define ATTR_PUBLISH_BUTTONS ATTR_PUBLISH_START + 15
+#define ATTR_PUBLISH_USERATTR ATTR_PUBLISH_START + 16
+#define ATTR_PUBLISH_BACKCOLOR ATTR_PUBLISH_START + 17
+#define ATTR_PUBLISH_TEXTCOLOR ATTR_PUBLISH_START + 18
+#define ATTR_PUBLISH_LINKCOLOR ATTR_PUBLISH_START + 19
+#define ATTR_PUBLISH_VLINKCOLOR ATTR_PUBLISH_START + 20
+#define ATTR_PUBLISH_ALINKCOLOR ATTR_PUBLISH_START + 21
+#define ATTR_PUBLISH_USEATTRIBS ATTR_PUBLISH_START + 22
+#define ATTR_PUBLISH_USECOLOR ATTR_PUBLISH_START + 23
+#define ATTR_PUBLISH_WEBSHOW ATTR_PUBLISH_START + 24
+#define ATTR_PUBLISH_SCRIPT ATTR_PUBLISH_START + 25
+#define ATTR_PUBLISH_URLPATH ATTR_PUBLISH_START + 26
+#define ATTR_PUBLISH_CGIPATH ATTR_PUBLISH_START + 27
+#define ATTR_PUBLISH_INDEX ATTR_PUBLISH_START + 28
+#define ATTR_PUBLISH_SLIDECHG ATTR_PUBLISH_START + 29
+#define ATTR_PUBLISH_SLIDEDURATION ATTR_PUBLISH_START + 30
+#define ATTR_PUBLISH_ENDLESS ATTR_PUBLISH_START + 31
+#define ATTR_PUBLISH_SLIDESOUND ATTR_PUBLISH_START + 32
+#define ATTR_PUBLISH_END ATTR_PUBLISH_SLIDESOUND
+
+#define ATTR_PRESLAYOUT_START ATTR_PUBLISH_END + 1
+#define ATTR_PRESLAYOUT_NAME ATTR_PRESLAYOUT_START
+#define ATTR_PRESLAYOUT_LOAD ATTR_PRESLAYOUT_START + 1
+#define ATTR_PRESLAYOUT_MASTER_PAGE ATTR_PRESLAYOUT_START + 2
+#define ATTR_PRESLAYOUT_CHECK_MASTERS ATTR_PRESLAYOUT_START + 3
+#define ATTR_PRESLAYOUT_END ATTR_PRESLAYOUT_CHECK_MASTERS
+
+// Pack & Go Attribute
+#define ATTR_PACKNGO_START ATTR_PRESLAYOUT_END + 1
+#define ATTR_PACKNGO_UNLINK ATTR_PACKNGO_START
+#define ATTR_PACKNGO_COMPRESS ATTR_PACKNGO_START + 1
+#define ATTR_PACKNGO_SPANNING ATTR_PACKNGO_START + 2
+#define ATTR_PACKNGO_MEDIUMSIZE ATTR_PACKNGO_START + 3
+#define ATTR_PACKNGO_END ATTR_PACKNGO_MEDIUMSIZE
+
+// paragraph numbering attributes
+#define ATTR_PARANUMBERING_START ATTR_PACKNGO_MEDIUMSIZE + 1
+#define ATTR_NUMBER_NEWSTART ATTR_PARANUMBERING_START
+#define ATTR_NUMBER_NEWSTART_AT ATTR_PARANUMBERING_START + 1
+#define ATTR_PARANUMBERING_END ATTR_NUMBER_NEWSTART_AT
+
+#endif // _SDATTR_HRC
diff --git a/sd/inc/sdattr.hxx b/sd/inc/sdattr.hxx
new file mode 100755
index 000000000000..7d44c1d039b0
--- /dev/null
+++ b/sd/inc/sdattr.hxx
@@ -0,0 +1,175 @@
+/*************************************************************************
+ *
+ * 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 _SDATTR_HXX
+#define _SDATTR_HXX
+
+#include <com/sun/star/presentation/FadeEffect.hpp>
+#include <svl/intitem.hxx>
+#include <svl/eitem.hxx>
+#include <svl/stritem.hxx>
+#include <sfx2/sfx.hrc>
+
+#ifndef _SDATTR_HRC
+#include "sdattr.hrc"
+#endif
+#include "glob.hxx"
+#include "fadedef.h"
+#include "diadef.h"
+
+//------------------------------------------------------------------
+
+
+//==================================================================
+// Layer-Attribute
+//==================================================================
+
+class SdAttrLayerName : public SfxStringItem
+{
+public:
+ SdAttrLayerName() :
+ SfxStringItem( ATTR_LAYER_NAME, String( RTL_CONSTASCII_USTRINGPARAM( "neue Ebene" ))) {}
+ SdAttrLayerName( const String& aStr ) :
+ SfxStringItem( ATTR_LAYER_NAME, aStr ) {}
+};
+
+//------------------------------------------------------------------
+
+class SdAttrLayerTitle : public SfxStringItem
+{
+public:
+ SdAttrLayerTitle() : SfxStringItem( ATTR_LAYER_TITLE, XubString()) {}
+ SdAttrLayerTitle( const String& aStr ) : SfxStringItem( ATTR_LAYER_TITLE, aStr ) {}
+};
+
+//------------------------------------------------------------------
+
+class SdAttrLayerDesc : public SfxStringItem
+{
+public:
+ SdAttrLayerDesc() : SfxStringItem( ATTR_LAYER_DESC, XubString()) {}
+ SdAttrLayerDesc( const String& aStr ) : SfxStringItem( ATTR_LAYER_DESC, aStr ) {}
+};
+
+//------------------------------------------------------------------
+
+class SdAttrLayerVisible : public SfxBoolItem
+{
+public:
+ SdAttrLayerVisible( sal_Bool bValue = sal_True ) :
+ SfxBoolItem( ATTR_LAYER_VISIBLE, bValue ) {}
+};
+
+//------------------------------------------------------------------
+
+class SdAttrLayerPrintable : public SfxBoolItem
+{
+public:
+ SdAttrLayerPrintable( sal_Bool bValue = sal_True ) :
+ SfxBoolItem( ATTR_LAYER_PRINTABLE, bValue ) {}
+};
+
+//------------------------------------------------------------------
+
+class SdAttrLayerLocked : public SfxBoolItem
+{
+public:
+ SdAttrLayerLocked( sal_Bool bValue = sal_False ) :
+ SfxBoolItem( ATTR_LAYER_LOCKED, bValue ) {}
+};
+
+//------------------------------------------------------------------
+
+class SdAttrLayerThisPage : public SfxBoolItem
+{
+public:
+ SdAttrLayerThisPage( sal_Bool bValue = sal_False ) :
+ SfxBoolItem( ATTR_LAYER_THISPAGE, bValue ) {}
+};
+
+//------------------------------------------------------------------
+
+class DiaEffectItem : public SfxEnumItem
+{
+public:
+ TYPEINFO();
+ DiaEffectItem( ::com::sun::star::presentation::FadeEffect eFade = com::sun::star::presentation::FadeEffect_NONE );
+ DiaEffectItem( SvStream& rIn );
+
+ virtual SfxPoolItem* Clone( SfxItemPool* pPool = 0 ) const;
+ virtual SfxPoolItem* Create( SvStream& rIn, sal_uInt16 nVer ) const;
+ sal_uInt16 GetValueCount() const { return FADE_EFFECT_COUNT; }
+ ::com::sun::star::presentation::FadeEffect GetValue() const
+ { return (::com::sun::star::presentation::FadeEffect) SfxEnumItem::GetValue(); }
+};
+
+//------------------------------------------------------------------
+
+class DiaSpeedItem : public SfxEnumItem
+{
+public:
+ TYPEINFO();
+ DiaSpeedItem( FadeSpeed = FADE_SPEED_MEDIUM );
+ DiaSpeedItem( SvStream& rIn );
+
+ virtual SfxPoolItem* Clone( SfxItemPool* pPool = 0 ) const;
+ virtual SfxPoolItem* Create( SvStream& rIn, sal_uInt16 nVer ) const;
+ sal_uInt16 GetValueCount() const { return FADE_SPEED_COUNT; }
+ FadeSpeed GetValue() const
+ { return (FadeSpeed) SfxEnumItem::GetValue(); }
+};
+
+//------------------------------------------------------------------
+
+class DiaAutoItem : public SfxEnumItem
+{
+public:
+ TYPEINFO();
+ DiaAutoItem( PresChange = PRESCHANGE_MANUAL );
+ DiaAutoItem( SvStream& rIn );
+
+ virtual SfxPoolItem* Clone( SfxItemPool* pPool = 0 ) const;
+ virtual SfxPoolItem* Create( SvStream& rIn, sal_uInt16 nVer ) const;
+ sal_uInt16 GetValueCount() const { return PRESCHANGE_COUNT; }
+ PresChange GetValue() const { return (PresChange) SfxEnumItem::GetValue(); }
+};
+
+//------------------------------------------------------------------
+
+class DiaTimeItem : public SfxUInt32Item
+{
+public:
+ TYPEINFO();
+ DiaTimeItem( sal_uInt32 nValue = 0L );
+
+ virtual SfxPoolItem* Clone( SfxItemPool* pPool = 0 ) const;
+ virtual int operator==( const SfxPoolItem& ) const;
+};
+
+#endif // _SDATTR_HXX
+
+
diff --git a/sd/inc/sdcgmfilter.hxx b/sd/inc/sdcgmfilter.hxx
new file mode 100644
index 000000000000..f6f2c633ae64
--- /dev/null
+++ b/sd/inc/sdcgmfilter.hxx
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * 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 _SD_SDCGMFILTER_HXX
+#define _SD_SDCGMFILTER_HXX
+
+#include "sdfilter.hxx"
+
+// ---------------
+// - SdCGMFilter -
+// ---------------
+
+class SdCGMFilter : public SdFilter
+{
+public:
+ SdCGMFilter (
+ SfxMedium& rMedium,
+ ::sd::DrawDocShell& rDocShell,
+ sal_Bool bShowProgress );
+ virtual ~SdCGMFilter (void);
+
+ sal_Bool Import();
+ sal_Bool Export();
+};
+
+#endif // _SD_SDCGMFILTER_HXX
diff --git a/sd/inc/sdcommands.h b/sd/inc/sdcommands.h
new file mode 100644
index 000000000000..d0c1c059cdbe
--- /dev/null
+++ b/sd/inc/sdcommands.h
@@ -0,0 +1,310 @@
+/*************************************************************************
+ *
+ * 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 SD_SDCOMMANDS_HRC
+#define SD_SDCOMMANDS_HRC
+
+#define CMD_SID_OBJECT_MIRROR ".uno:Mirror"
+#define CMD_SID_OBJECT_CHOOSE_MODE ".uno:AdvancedMode"
+#define CMD_SID_ANIMATION_EFFECTS ".uno:AnimationEffects"
+#define CMD_SID_ANIMATION_OBJECTS ".uno:AnimationObjects"
+#define CMD_SID_ANIMATOR_ADD ".uno:AnimatorAddObject"
+#define CMD_SID_ANIMATOR_CREATE ".uno:AnimatorCreateObject"
+#define CMD_SID_ANIMATOR_INIT ".uno:AnimatorInit"
+#define CMD_SID_ANIMATOR_STATE ".uno:AnimatorState"
+#define CMD_SID_DRAWTBX_ARROWS ".uno:ArrowsToolbox"
+#define CMD_SID_MOREBACK ".uno:Backward"
+#define CMD_SID_BEFORE_OBJ ".uno:BeforeObject"
+#define CMD_SID_BEHIND_OBJ ".uno:BehindObject"
+#define CMD_SID_BIG_HANDLES ".uno:BigHandles"
+#define CMD_SID_BREAK ".uno:Break"
+#define CMD_SID_CAPTUREPOINT ".uno:CapturePoint"
+#define CMD_SID_CHANGEBEZIER ".uno:ChangeBezier"
+#define CMD_SID_CHANGEPOLYGON ".uno:ChangePolygon"
+#define CMD_SID_CLICK_CHANGE_ROTATION ".uno:ClickChangeRotation"
+#define CMD_SID_OBJECT_CLOSE ".uno:CloseObject"
+#define CMD_SID_COLORVIEW ".uno:ColorView"
+#define CMD_SID_COMBINE ".uno:Combine"
+#define CMD_SID_3D_CONE ".uno:Cone"
+#define CMD_SID_CONNECT ".uno:Connect"
+#define CMD_SID_TOOL_CONNECTOR ".uno:Connector"
+#define CMD_SID_CONNECTOR_ARROW_END ".uno:ConnectorArrowEnd"
+#define CMD_SID_CONNECTOR_ARROWS ".uno:ConnectorArrows"
+#define CMD_SID_CONNECTOR_ARROW_START ".uno:ConnectorArrowStart"
+#define CMD_SID_CONNECTION_DLG ".uno:ConnectorAttributes"
+#define CMD_SID_CONNECTOR_CIRCLE_END ".uno:ConnectorCircleEnd"
+#define CMD_SID_CONNECTOR_CIRCLES ".uno:ConnectorCircles"
+#define CMD_SID_CONNECTOR_CIRCLE_START ".uno:ConnectorCircleStart"
+#define CMD_SID_CONNECTOR_CURVE ".uno:ConnectorCurve"
+#define CMD_SID_CONNECTOR_CURVE_ARROW_END ".uno:ConnectorCurveArrowEnd"
+#define CMD_SID_CONNECTOR_CURVE_ARROWS ".uno:ConnectorCurveArrows"
+#define CMD_SID_CONNECTOR_CURVE_ARROW_START ".uno:ConnectorCurveArrowStart"
+#define CMD_SID_CONNECTOR_CURVE_CIRCLE_END ".uno:ConnectorCurveCircleEnd"
+#define CMD_SID_CONNECTOR_CURVE_CIRCLES ".uno:ConnectorCurveCircles"
+#define CMD_SID_CONNECTOR_CURVE_CIRCLE_START ".uno:ConnectorCurveCircleStart"
+#define CMD_SID_CONNECTOR_LINE ".uno:ConnectorLine"
+#define CMD_SID_CONNECTOR_LINE_ARROW_END ".uno:ConnectorLineArrowEnd"
+#define CMD_SID_CONNECTOR_LINE_ARROWS ".uno:ConnectorLineArrows"
+#define CMD_SID_CONNECTOR_LINE_ARROW_START ".uno:ConnectorLineArrowStart"
+#define CMD_SID_CONNECTOR_LINE_CIRCLE_END ".uno:ConnectorLineCircleEnd"
+#define CMD_SID_CONNECTOR_LINE_CIRCLES ".uno:ConnectorLineCircles"
+#define CMD_SID_CONNECTOR_LINE_CIRCLE_START ".uno:ConnectorLineCircleStart"
+#define CMD_SID_CONNECTOR_LINES ".uno:ConnectorLines"
+#define CMD_SID_CONNECTOR_LINES_ARROW_END ".uno:ConnectorLinesArrowEnd"
+#define CMD_SID_CONNECTOR_LINES_ARROWS ".uno:ConnectorLinesArrows"
+#define CMD_SID_CONNECTOR_LINES_ARROW_START ".uno:ConnectorLinesArrowStart"
+#define CMD_SID_CONNECTOR_LINES_CIRCLE_END ".uno:ConnectorLinesCircleEnd"
+#define CMD_SID_CONNECTOR_LINES_CIRCLES ".uno:ConnectorLinesCircles"
+#define CMD_SID_CONNECTOR_LINES_CIRCLE_START ".uno:ConnectorLinesCircleStart"
+#define CMD_SID_DRAWTBX_CONNECTORS ".uno:ConnectorToolbox"
+#define CMD_SID_CONVERT_TO_CONTOUR ".uno:convert_to_contour"
+#define CMD_SID_CONVERT_TO_3D ".uno:ConvertInto3D"
+#define CMD_SID_CONVERT_TO_3D_LATHE ".uno:ConvertInto3DLathe"
+#define CMD_SID_CONVERT_TO_3D_LATHE_FAST ".uno:ConvertInto3DLatheFast"
+#define CMD_SID_CONVERT_TO_BITMAP ".uno:ConvertIntoBitmap"
+#define CMD_SID_CONVERT_TO_METAFILE ".uno:ConvertIntoMetaFile"
+#define CMD_SID_CONVERT_TO_1BIT_MATRIX ".uno:ConvertTo1BitMatrix"
+#define CMD_SID_CONVERT_TO_1BIT_THRESHOLD ".uno:ConvertTo1BitThreshold"
+#define CMD_SID_CONVERT_TO_4BIT_COLORS ".uno:ConvertTo4BitColors"
+#define CMD_SID_CONVERT_TO_4BIT_GRAYS ".uno:ConvertTo4BitGrays"
+#define CMD_SID_CONVERT_TO_8BIT_COLORS ".uno:ConvertTo8BitColors"
+#define CMD_SID_CONVERT_TO_8BIT_GRAYS ".uno:ConvertTo8BitGrays"
+#define CMD_SID_CONVERT_TO_24BIT ".uno:ConvertToTrueColor"
+#define CMD_SID_COPYOBJECTS ".uno:CopyObjects"
+#define CMD_SID_OBJECT_CROOK_ROTATE ".uno:CrookRotate"
+#define CMD_SID_OBJECT_CROOK_SLANT ".uno:CrookSlant"
+#define CMD_SID_OBJECT_CROOK_STRETCH ".uno:CrookStretch"
+#define CMD_SID_3D_CUBE ".uno:Cube"
+#define CMD_SID_CUSTOMSHOW_DLG ".uno:CustomShowDialog"
+#define CMD_SID_3D_CYLINDER ".uno:Cylinder"
+#define CMD_SID_3D_PYRAMID ".uno:Cyramid"
+#define CMD_SID_DELETE_LAYER ".uno:DeleteLayer"
+#define CMD_SID_DELETE_PAGE ".uno:DeletePage"
+#define CMD_SID_DELETE_SNAPITEM ".uno:DeleteSnapItem"
+#define CMD_SID_UNSELECT ".uno:DeSelect"
+#define CMD_SID_DIAMODE ".uno:DiaMode"
+#define CMD_SID_DISMANTLE ".uno:Dismantle"
+#define CMD_SID_DOUBLECLICK_TEXTEDIT ".uno:DoubleClickTextEdit"
+#define CMD_SID_DRAWINGMODE ".uno:DrawingMode"
+#define CMD_SID_DUPLICATE_PAGE ".uno:DuplicatePage"
+#define CMD_SID_EDIT_HYPERLINK ".uno:EditHyperlink"
+#define CMD_SID_EDIT_OUTLINER ".uno:EditOutline"
+#define CMD_SID_CUSTOM_ANIMATION_PANEL ".uno:CustomAnimation"
+#define CMD_SID_CUSTOM_ANIMATION_SCHEMES_PANEL ".uno:CustomAnimationSchemes"
+#define CMD_SID_DRAWTBX_ELLIPSES ".uno:EllipseToolbox"
+#define CMD_SID_EXPAND_PAGE ".uno:ExpandPage"
+#define CMD_SID_SETFILLCOLOR ".uno:SetFillColor"
+#define CMD_SID_MOREFRONT ".uno:Forward"
+#define CMD_SID_GETBLUE ".uno:GetBlue"
+#define CMD_SID_GETFILLSTYLE ".uno:GetFillStyle"
+#define CMD_SID_GETGREEN ".uno:GetGreen"
+#define CMD_SID_GETLINESTYLE ".uno:GetLineStyle"
+#define CMD_SID_GETLINEWIDTH ".uno:GetLineWidth"
+#define CMD_SID_GETRED ".uno:GetRed"
+#define CMD_SID_GLUE_EDITMODE ".uno:GlueEditMode"
+#define CMD_SID_GLUE_ESCDIR ".uno:GlueEscapeDirection"
+#define CMD_SID_GLUE_ESCDIR_BOTTOM ".uno:GlueEscapeDirectionBottom"
+#define CMD_SID_GLUE_ESCDIR_LEFT ".uno:GlueEscapeDirectionLeft"
+#define CMD_SID_GLUE_ESCDIR_RIGHT ".uno:GlueEscapeDirectionRight"
+#define CMD_SID_GLUE_ESCDIR_TOP ".uno:GlueEscapeDirectionTop"
+#define CMD_SID_GLUE_HORZALIGN_CENTER ".uno:GlueHorzAlignCenter"
+#define CMD_SID_GLUE_HORZALIGN_LEFT ".uno:GlueHorzAlignLeft"
+#define CMD_SID_GLUE_HORZALIGN_RIGHT ".uno:GlueHorzAlignRight"
+#define CMD_SID_GLUE_INSERT_POINT ".uno:GlueInsertPoint"
+#define CMD_SID_GLUE_PERCENT ".uno:GluePercent"
+#define CMD_SID_GLUE_VERTALIGN_BOTTOM ".uno:GlueVertAlignBottom"
+#define CMD_SID_GLUE_VERTALIGN_CENTER ".uno:GlueVertAlignCenter"
+#define CMD_SID_GLUE_VERTALIGN_TOP ".uno:GlueVertAlignTop"
+#define CMD_SID_GRADIENT ".uno:Gradient"
+#define CMD_SID_SETGRADENDCOLOR ".uno:GradientEndColor"
+#define CMD_SID_SETGRADSTARTCOLOR ".uno:GradientStartColor"
+#define CMD_SID_GRAPHIC_EXPORT ".uno:GraphicExport"
+#define CMD_SID_GRID_FRONT ".uno:GridFront"
+#define CMD_SID_3D_HALF_SPHERE ".uno:HalfSphere"
+#define CMD_SID_HANDLES_DRAFT ".uno:HandlesDraft"
+#define CMD_SID_HANDOUT_MASTERPAGE ".uno:HandoutMasterPage"
+#define CMD_SID_HANDOUTMODE ".uno:HandoutMode"
+#define CMD_SID_HATCH ".uno:Hatch"
+#define CMD_SID_SETHATCHCOLOR ".uno:HatchColor"
+#define CMD_SID_HELPLINES_FRONT ".uno:HelplinesFront"
+#define CMD_SID_HELPLINES_USE ".uno:HelplinesUse"
+#define CMD_SID_HELPLINES_VISIBLE ".uno:HelplinesVisible"
+#define CMD_SID_HIDE_SLIDE ".uno:HideSlide"
+#define CMD_SID_SHOW_SLIDE ".uno:ShowSlide"
+#define CMD_SID_HYPHENATION ".uno:Hyphenation"
+#define CMD_SID_INSERTFILE ".uno:ImportFromFile"
+#define CMD_SID_INSERT_FLD_AUTHOR ".uno:InsertAuthorField"
+#define CMD_SID_INSERT_FLD_DATE_FIX ".uno:InsertDateFieldFix"
+#define CMD_SID_INSERT_FLD_DATE_VAR ".uno:InsertDateFieldVar"
+#define CMD_SID_INSERT_FLD_FILE ".uno:InsertFileField"
+#define CMD_SID_INSERTLAYER ".uno:InsertLayer"
+#define CMD_SID_INSERTPAGE ".uno:InsertPage"
+#define CMD_SID_INSERT_FLD_PAGE ".uno:InsertPageField"
+#define CMD_SID_INSERT_FLD_PAGES ".uno:InsertPagesField"
+#define CMD_SID_INSERTPAGE_QUICK ".uno:InsertPageQuick"
+#define CMD_SID_INSERT_FLD_TIME_FIX ".uno:InsertTimeFieldFix"
+#define CMD_SID_INSERT_FLD_TIME_VAR ".uno:InsertTimeFieldVar"
+#define CMD_SID_DRAWTBX_INSERT ".uno:InsertToolbox"
+#define CMD_SID_OBJECT_GRADIENT ".uno:InteractiveGradient"
+#define CMD_SID_OBJECT_TRANSPARENCE ".uno:InteractiveTransparence"
+#define CMD_SID_LAYERMODE ".uno:LayerMode"
+#define CMD_SID_STATUS_LAYOUT ".uno:LayoutStatus"
+#define CMD_SID_LEAVE_ALL_GROUPS ".uno:LeaveAllGroups"
+#define CMD_SID_LINE_ARROW_CIRCLE ".uno:LineArrowCircle"
+#define CMD_SID_LINE_ARROW_END ".uno:LineArrowEnd"
+#define CMD_SID_LINE_ARROWS ".uno:LineArrows"
+#define CMD_SID_LINE_ARROW_SQUARE ".uno:LineArrowSquare"
+#define CMD_SID_LINE_ARROW_START ".uno:LineArrowStart"
+#define CMD_SID_LINE_CIRCLE_ARROW ".uno:LineCircleArrow"
+#define CMD_SID_SETLINECOLOR ".uno:LineColor"
+#define CMD_SID_LINEEND_POLYGON ".uno:LineEndPolygon"
+#define CMD_SID_LINE_SQUARE_ARROW ".uno:LineSquareArrow"
+#define CMD_SID_LINETO ".uno:LineTo"
+#define CMD_SID_DRAWTBX_LINES ".uno:LineToolbox"
+#define CMD_SID_MANAGE_LINKS ".uno:ManageLinks"
+#define CMD_SID_MASTERPAGE ".uno:MasterPage"
+#define CMD_SID_MEASURE_DLG ".uno:MeasureAttributes"
+#define CMD_SID_DRAW_MEASURELINE ".uno:MeasureLine"
+#define CMD_SID_HORIZONTAL ".uno:MirrorHorz"
+#define CMD_SID_VERTICAL ".uno:MirrorVert"
+#define CMD_SID_MODIFY_FIELD ".uno:ModifyField"
+#define CMD_SID_MODIFYLAYER ".uno:ModifyLayer"
+#define CMD_SID_MODIFYPAGE ".uno:ModifyPage"
+#define CMD_SID_ASSIGN_LAYOUT ".uno:AssignLayout"
+#define CMD_SID_PRESENTATIONOBJECT ".uno:ModifyPresentationObject"
+#define CMD_SID_POLYGON_MORPHING ".uno:Morphing"
+#define CMD_SID_MOVETO ".uno:MoveTo"
+#define CMD_SID_NAME_GROUP ".uno:NameGroup"
+#define CMD_SID_OBJECT_TITLE_DESCRIPTION ".uno:ObjectTitleDescription"
+#define CMD_SID_NAVIGATOR_INIT ".uno:NavigatorInit"
+#define CMD_SID_NAVIGATOR_OBJECT ".uno:NavigatorObject"
+#define CMD_SID_NAVIGATOR_PAGE ".uno:NavigatorPage"
+#define CMD_SID_NAVIGATOR_PAGENAME ".uno:NavigatorPageName"
+#define CMD_SID_NAVIGATOR_PEN ".uno:NavigatorPen"
+#define CMD_SID_NAVIGATOR_STATE ".uno:NavigatorState"
+#define CMD_SID_CONNECTION_NEW_ROUTING ".uno:NewRouting"
+#define CMD_SID_NOTES_MASTERPAGE ".uno:NotesMasterPage"
+#define CMD_SID_NOTESMODE ".uno:NotesMode"
+#define CMD_SID_POSITION ".uno:ObjectPosition"
+#define CMD_SID_DRAWTBX_3D_OBJECTS ".uno:Objects3DToolbox"
+#define CMD_SID_ORIGINAL_SIZE ".uno:OriginalSize"
+#define CMD_SID_SAVEGRAPHIC ".uno:SaveGraphic"
+#define CMD_SID_OUTLINEMODE ".uno:OutlineMode"
+#define CMD_SID_OUTPUT_QUALITY_BLACKWHITE ".uno:OutputQualityBlackWhite"
+#define CMD_SID_OUTPUT_QUALITY_COLOR ".uno:OutputQualityColor"
+#define CMD_SID_OUTPUT_QUALITY_CONTRAST ".uno:OutputQualityContrast"
+#define CMD_SID_OUTPUT_QUALITY_GRAYSCALE ".uno:OutputQualityGrayscale"
+#define CMD_SID_PACKNGO ".uno:PackAndGo"
+#define CMD_SID_PAGEMARGIN ".uno:PageMargin"
+#define CMD_SID_PAGEMODE ".uno:PageMode"
+#define CMD_SID_PAGESETUP ".uno:PageSetup"
+#define CMD_SID_PAGESIZE ".uno:PageSize"
+#define CMD_SID_PAGES_PER_ROW ".uno:PagesPerRow"
+#define CMD_SID_STATUS_PAGE ".uno:PageStatus"
+#define CMD_SID_PARASPACE_DECREASE ".uno:ParaspaceDecrease"
+#define CMD_SID_PARASPACE_INCREASE ".uno:ParaspaceIncrease"
+#define CMD_SID_PICK_THROUGH ".uno:PickThrough"
+#define CMD_SID_DRAW_POLYGON ".uno:Polygon"
+#define CMD_SID_PRESENTATION ".uno:Presentation"
+#define CMD_SID_PRESENTATION_DLG ".uno:PresentationDialog"
+#define CMD_SID_PRESENTATION_END ".uno:PresentationEnd"
+#define CMD_SID_CLEAR_UNDO_STACK ".uno:ClearUndoStack"
+#define CMD_SID_PRESENTATION_LAYOUT ".uno:PresentationLayout"
+#define CMD_SID_PREVIEW_STATE ".uno:PreviewState"
+#define CMD_SID_PREVIEW_WIN ".uno:PreviewWindow"
+#define CMD_SID_QUICKEDIT ".uno:QuickEdit"
+#define CMD_SID_DRAWTBX_RECTANGLES ".uno:RectangleToolbox"
+#define CMD_SID_REHEARSE_TIMINGS ".uno:RehearseTimings"
+#define CMD_SID_RENAMELAYER ".uno:RenameLayer"
+#define CMD_SID_RENAMEPAGE ".uno:RenamePage"
+#define CMD_SID_RENAMEPAGE_QUICK ".uno:RenamePageQuick"
+#define CMD_SID_REVERSE_ORDER ".uno:ReverseOrder"
+#define CMD_SID_RULER_OBJECT ".uno:RulerObject"
+#define CMD_SID_SELECTAT ".uno:SelectAt"
+#define CMD_SID_SELECTGRADIENT ".uno:SelectGradient"
+#define CMD_SID_SELECTHATCH ".uno:SelectHatch"
+#define CMD_SID_SETFILLSTYLE ".uno:SetFillStyle"
+#define CMD_SID_SETLINESTYLE ".uno:SetLineStyle"
+#define CMD_SID_SETLINEWIDTH ".uno:SetLineWidth"
+#define CMD_SID_SET_SNAPITEM ".uno:SetSnapItem"
+#define CMD_SID_OBJECT_SHEAR ".uno:Shear"
+#define CMD_SID_3D_SHELL ".uno:Shell3D"
+#define CMD_SID_SLIDE_TRANSITIONS_PANEL ".uno:SlideChangeWindow"
+#define CMD_SID_SLIDE_MASTERPAGE ".uno:SlideMasterPage"
+#define CMD_SID_SNAP_BORDER ".uno:SnapBorder"
+#define CMD_SID_SNAP_FRAME ".uno:SnapFrame"
+#define CMD_SID_SNAP_POINTS ".uno:SnapPoints"
+#define CMD_SID_SOLID_CREATE ".uno:SolidCreate"
+#define CMD_SID_3D_SPHERE ".uno:Sphere"
+#define CMD_SID_STARTAPP ".uno:StartApplication"
+#define CMD_SID_SUMMARY_PAGE ".uno:SummaryPage"
+#define CMD_SID_SWITCHLAYER ".uno:SwitchLayer"
+#define CMD_SID_SWITCHPAGE ".uno:SwitchPage"
+#define CMD_SID_SWITCH_POINTEDIT ".uno:SwitchPointEdit"
+#define CMD_SID_TEXTALIGNMENT ".uno:TextAlignment"
+#define CMD_SID_TEXTATTR_DLG ".uno:TextAttributes"
+#define CMD_SID_TEXT_FITTOSIZE ".uno:TextFitToSizeTool"
+#define CMD_SID_DRAWTBX_TEXT ".uno:TextToolbox"
+#define CMD_SID_TITLE_MASTERPAGE ".uno:TitleMasterPage"
+#define CMD_SID_3D_TORUS ".uno:Torus"
+#define CMD_SID_TEXT_FITTOSIZE_VERTICAL ".uno:VerticalTextFitToSizeTool"
+#define CMD_SID_ZOOM_PANNING ".uno:ZoomPanning"
+#define CMD_SID_OBJECT_CROP ".uno:Crop"
+#define CMD_SID_HEADER_AND_FOOTER ".uno:HeaderAndFooter"
+#define CMD_SID_INSERT_PAGE_NUMBER ".uno:InsertPageNumber"
+#define CMD_SID_INSERT_DATE_TIME ".uno:InsertDateAndTime"
+#define CMD_SID_MASTER_LAYOUTS ".uno:MasterLayouts"
+#define CMD_SID_DRAW_FONTWORK ".uno:DrawFontwork"
+#define CMD_SID_DRAW_FONTWORK_VERTICAL ".uno:DrawFontworkVertical"
+#define CMD_SID_LAYER_DIALOG_WIN ".uno:LayerDialogChildWindow"
+#define CMD_SID_INSERT_MASTER_PAGE ".uno:InsertMasterPage"
+#define CMD_SID_DELETE_MASTER_PAGE ".uno:DeleteMasterPage"
+#define CMD_SID_RENAME_MASTER_PAGE ".uno:RenameMasterPage"
+#define CMD_SID_CLOSE_MASTER_VIEW ".uno:CloseMasterView"
+#define CMD_SID_SELECT_BACKGROUND ".uno:SelectBackground"
+#define CMD_SID_DISPLAY_MASTER_BACKGROUND ".uno:DisplayMasterBackground"
+#define CMD_SID_DISPLAY_MASTER_OBJECTS ".uno:DisplayMasterObjects"
+#define CMD_SID_TABLE_TOOLBOX ".uno:TableToolBox"
+#define CMD_SID_TABLE_DISTRIBUTE_COLUMNS ".uno:DistributeColumns"
+#define CMD_SID_TABLE_DISTRIBUTE_ROWS ".uno:DistributeRows"
+#define CMD_SID_TP_APPLY_TO_ALL_SLIDES ".uno:TaskPaneApplyToAllSlides"
+#define CMD_SID_TP_APPLY_TO_SELECTED_SLIDES ".uno:TaskPaneApplyToSelectedSlides"
+#define CMD_SID_TP_USE_FOR_NEW_PRESENTATIONS ".uno:TaskPaneUseForNewPresentations"
+#define CMD_SID_TP_SHOW_SMALL_PREVIEW ".uno:TaskPaneShowSmallPreview"
+#define CMD_SID_TP_SHOW_LARGE_PREVIEW ".uno:TaskPaneShowLargePreview"
+#define CMD_SID_TP_EDIT_MASTER ".uno:TaskPaneEditMaster"
+#define CMD_SID_INSERTPAGE_LAYOUT_MENU ".uno:TaskPaneInsertPage"
+#define CMD_SID_SWITCH_SHELL ".uno:SwitchViewShell"
+#define CMD_SID_SWITCH_SHELL_PANE ".uno:SwitchViewShellPane"
+#define CMD_SID_LEFT_PANE_IMPRESS ".uno:LeftPaneImpress"
+#define CMD_SID_LEFT_PANE_DRAW ".uno:LeftPaneDraw"
+#define CMD_SID_RIGHT_PANE ".uno:RightPane"
+#define CMD_SID_NOTES_WINDOW ".uno:NotesChildWindow"
+#define CMD_SID_NORMAL_MULTI_PANE_GUI ".uno:NormalMultiPaneGUI"
+#define CMD_SID_SLIDE_SORTER_MULTI_PANE_GUI ".uno:SlideSorterMultiPaneGUI"
+#define CMD_SID_TASK_PANE ".uno:TaskPaneShowPanel"
+
+#endif
diff --git a/sd/inc/sddll.hxx b/sd/inc/sddll.hxx
new file mode 100644
index 000000000000..20d09179553e
--- /dev/null
+++ b/sd/inc/sddll.hxx
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * 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 _SDDLL_HXX
+#define _SDDLL_HXX
+
+#include "sdmod.hxx"
+#include <sfx2/module.hxx>
+#include <sfx2/sfxdefs.hxx>
+
+class SvFactory;
+class SotFactory;
+class SfxMedium;
+class SfxFilter;
+
+
+/*************************************************************************
+|*
+|* This class is a wrapper for a Load-On-Demand-DLL. One instance
+|* per SfxApplication will be created for the runtime of
+|* SfxApplication-subclass::Main().
+|*
+|* Remember: Do export this class! It is used by the application.
+|*
+\************************************************************************/
+
+class SdDLL
+{
+protected:
+ static void RegisterFactorys();
+ static void RegisterInterfaces();
+ static void RegisterControllers();
+
+public:
+ // Ctor/Dtor must be linked to the application
+ SdDLL();
+ ~SdDLL();
+
+ // static-init/exit-code must be linked to the application
+ static void LibInit(); // called from SfxApplication-subclass::Init()
+ static void LibExit(); // called from SfxApplication-subclass::Exit()
+
+ // DLL-init/exit-code must be linked to the DLL only
+ static void Init(); // called directly after loading the DLL
+ static void Exit(); // called directly befor unloading the DLL
+};
+
+
+
+#ifndef _SD_DLL // Das define muss im Draw gesetzt werden
+#define SD_MOD() ( *(SdModule**) GetAppData(SHL_DRAW) )
+#endif
+
+#endif // _SDDLL_HXX
+
diff --git a/sd/inc/sddllapi.h b/sd/inc/sddllapi.h
new file mode 100644
index 000000000000..b6c3a4be17e9
--- /dev/null
+++ b/sd/inc/sddllapi.h
@@ -0,0 +1,40 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef INCLUDED_SDDLLAPI_H
+#define INCLUDED_SDDLLAPI_H
+
+#include "sal/types.h"
+
+#if defined(SD_DLLIMPLEMENTATION)
+#define SD_DLLPUBLIC SAL_DLLPUBLIC_EXPORT
+#else
+#define SD_DLLPUBLIC SAL_DLLPUBLIC_IMPORT
+#endif
+#define SD_DLLPRIVATE SAL_DLLPRIVATE
+
+#endif /* INCLUDED_SDDLLAPI_H */
diff --git a/sd/inc/sdenumdef.hxx b/sd/inc/sdenumdef.hxx
new file mode 100644
index 000000000000..edabe4d6df18
--- /dev/null
+++ b/sd/inc/sdenumdef.hxx
@@ -0,0 +1,38 @@
+/*************************************************************************
+ *
+ * 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 _SD_ENUMDEF_HXX
+#define _SD_ENUMDEF_HXX
+
+enum OutputType { OUTPUT_PAGE, OUTPUT_OVERHEAD, OUTPUT_SLIDE, OUTPUT_PRESENTATION, OUTPUT_ORIGINAL };
+enum StartType { ST_EMPTY, ST_TEMPLATE, ST_OPEN };
+
+#define RET_SNAP_DELETE 111
+enum SnapKind { SK_HORIZONTAL, SK_VERTICAL, SK_POINT };
+
+#endif
+
diff --git a/sd/inc/sderror.hxx b/sd/inc/sderror.hxx
new file mode 100755
index 000000000000..daceb72226c3
--- /dev/null
+++ b/sd/inc/sderror.hxx
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SDSWERROR_H
+#define _SDSWERROR_H
+
+#include <tools/errcode.hxx>
+
+#define ERROR_SD_BASE (ERRCODE_AREA_SD)
+#define ERROR_SD_READ_BASE (ERROR_SD_BASE | ERRCODE_CLASS_READ)
+#define ERROR_SD_WRITE_BASE (ERROR_SD_BASE | ERRCODE_CLASS_WRITE)
+
+#define WARN_SD_BASE (ERRCODE_AREA_SD | ERRCODE_WARNING_MASK)
+#define WARN_SD_READ_BASE (WARN_SD_BASE | ERRCODE_CLASS_READ )
+#define WARN_SD_WRITE_BASE (WARN_SD_BASE | ERRCODE_CLASS_WRITE )
+
+
+// Import errors
+#define ERR_FORMAT_ROWCOL (ERROR_SD_READ_BASE | 1)
+#define ERR_FORMAT_FILE_ROWCOL (ERROR_SD_READ_BASE | 2)
+
+// ----- Warnings ---------------------------
+
+#define WARN_FORMAT_FILE_ROWCOL (WARN_SD_READ_BASE | 100)
+
+#ifndef __RSC
+
+inline FASTBOOL IsWarning( sal_uLong nErr )
+{
+ return 0 != ( nErr & ERRCODE_WARNING_MASK & nErr );
+}
+
+inline FASTBOOL IsError( sal_uLong nErr )
+{
+ return nErr && 0 == ( ERRCODE_WARNING_MASK & nErr );
+}
+
+#endif
+
+
+#endif
diff --git a/sd/inc/sdfilter.hxx b/sd/inc/sdfilter.hxx
new file mode 100644
index 000000000000..ad32cd3466ea
--- /dev/null
+++ b/sd/inc/sdfilter.hxx
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * 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 _SD_SDFILTER_HXX
+#define _SD_SDFILTER_HXX
+
+#include <tools/gen.hxx>
+#include <rtl/ustring.hxx>
+#include <com/sun/star/frame/XModel.hpp>
+#include <com/sun/star/task/XStatusIndicator.hpp>
+#include <com/sun/star/task/XStatusIndicatorSupplier.hpp>
+
+// ------------
+// - SdFilter -
+// ------------
+
+class SfxMedium;
+namespace sd {
+class DrawDocShell;
+}
+class SdDrawDocument;
+class SfxProgress;
+namespace osl { class Module; }
+
+class SdFilter
+{
+public:
+ SdFilter( SfxMedium& rMedium, ::sd::DrawDocShell& rDocShell, sal_Bool bShowProgress );
+ virtual ~SdFilter();
+
+ sal_Bool IsProgress() const { return mbShowProgress; }
+ sal_Bool IsDraw() const { return mbIsDraw; }
+ sal_Bool IsImpress() const { return !mbIsDraw; }
+ virtual sal_Bool Export() = 0;
+
+protected:
+ ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel > mxModel;
+ ::com::sun::star::uno::Reference< ::com::sun::star::task::XStatusIndicator > mxStatusIndicator;
+
+ SfxMedium& mrMedium;
+ ::sd::DrawDocShell& mrDocShell;
+ SdDrawDocument& mrDocument;
+ sal_Bool mbIsDraw : 1;
+ sal_Bool mbShowProgress : 1;
+
+ ::osl::Module* OpenLibrary( const ::rtl::OUString& rLibraryName ) const;
+ void CreateStatusIndicator();
+
+private:
+
+ ::rtl::OUString ImplGetFullLibraryName( const ::rtl::OUString& rLibraryName ) const;
+
+};
+
+#endif // _SD_SDFILTER_HXX
diff --git a/sd/inc/sdgrffilter.hxx b/sd/inc/sdgrffilter.hxx
new file mode 100755
index 000000000000..48f16f3dc4ec
--- /dev/null
+++ b/sd/inc/sdgrffilter.hxx
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * 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 _SD_SDGRFFILTER_HXX
+#define _SD_SDGRFFILTER_HXX
+
+#include <com/sun/star/drawing/XShape.hpp>
+
+#include <tools/errinf.hxx>
+#include "sdfilter.hxx"
+
+class Graphic;
+
+// ---------------
+// - SdCGMFilter -
+// ---------------
+
+class SdGRFFilter : public SdFilter
+{
+public:
+ SdGRFFilter ( SfxMedium& rMedium, ::sd::DrawDocShell& rDocShell );
+
+ virtual ~SdGRFFilter (void);
+
+ sal_Bool Import();
+ sal_Bool Export();
+
+ static void SaveGraphic( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& xShape );
+ static void HandleGraphicFilterError( sal_uInt16 nFilterError, sal_uLong nStreamError = ERRCODE_NONE );
+};
+
+#endif // _SD_SDGRFFILTER_HXX
diff --git a/sd/inc/sdhtmlfilter.hxx b/sd/inc/sdhtmlfilter.hxx
new file mode 100755
index 000000000000..53c447c5fc08
--- /dev/null
+++ b/sd/inc/sdhtmlfilter.hxx
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * 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 _SD_SDHTMLFILTER_HXX
+#define _SD_SDHTMLFILTER_HXX
+
+#include "sdfilter.hxx"
+
+// ----------------
+// - SdHTMLFilter -
+// ----------------
+
+class SdHTMLFilter
+ : public SdFilter
+{
+public:
+ SdHTMLFilter (
+ SfxMedium& rMedium,
+ ::sd::DrawDocShell& rDocShell,
+ sal_Bool bShowProgress);
+ virtual ~SdHTMLFilter (void);
+
+ virtual sal_Bool Export();
+
+private:
+ DECL_LINK( IOProgressHdl, sal_uInt16* );
+
+};
+
+#endif // _SD_SDHTMLFILTER_HXX
diff --git a/sd/inc/sdiocmpt.hxx b/sd/inc/sdiocmpt.hxx
new file mode 100755
index 000000000000..4c8396e63cd7
--- /dev/null
+++ b/sd/inc/sdiocmpt.hxx
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * 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 _SD_SDIOCMPT_HXX
+#define _SD_SDIOCMPT_HXX
+
+#include <tools/stream.hxx>
+
+//////////////////////////////////////////////////////////////////////////////
+class SvStream;
+
+class old_SdrDownCompat
+{
+protected:
+ SvStream& rStream;
+ sal_uInt32 nSubRecSiz;
+ sal_uInt32 nSubRecPos;
+ sal_uInt16 nMode;
+ sal_Bool bOpen;
+
+protected:
+ void Read();
+ void Write();
+
+public:
+ old_SdrDownCompat(SvStream& rNewStream, sal_uInt16 nNewMode);
+ ~old_SdrDownCompat();
+ void OpenSubRecord();
+ void CloseSubRecord();
+};
+//////////////////////////////////////////////////////////////////////////////
+#include "sddllapi.h"
+
+#define SDIOCOMPAT_VERSIONDONTKNOW (sal_uInt16)0xffff
+
+class SD_DLLPUBLIC SdIOCompat : public old_SdrDownCompat
+{
+private:
+ sal_uInt16 nVersion;
+
+public:
+ // nNewMode: STREAM_READ oder STREAM_WRITE
+ // nVer: nur beim Schreiben angeben
+ SdIOCompat(SvStream& rNewStream, sal_uInt16 nNewMode,
+ sal_uInt16 nVer = SDIOCOMPAT_VERSIONDONTKNOW);
+ ~SdIOCompat();
+ sal_uInt16 GetVersion() const { return nVersion; }
+};
+
+#endif // _SD_SDIOCMPT_HXX
+
+
diff --git a/sd/inc/sdmod.hxx b/sd/inc/sdmod.hxx
new file mode 100755
index 000000000000..ef673fdea0c7
--- /dev/null
+++ b/sd/inc/sdmod.hxx
@@ -0,0 +1,216 @@
+/*************************************************************************
+ *
+ * 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 _SDMOD_HXX
+#define _SDMOD_HXX
+
+
+#ifndef _SDDLL_HXX
+#define _SD_DLL // fuer SD_MOD()
+#include "sddll.hxx" // fuer SdModuleDummy
+#endif
+#include "glob.hxx"
+#include "pres.hxx"
+
+#include <sot/storage.hxx>
+#include <tools/shl.hxx>
+#include "sddllapi.h"
+#include <svl/lstner.hxx>
+#include <com/sun/star/text/WritingMode.hpp>
+#include <sfx2/module.hxx>
+#include <vcl/vclevent.hxx>
+
+#ifndef INCLUDED_MEMORY
+#include <memory>
+#define INCLUDED_MEMORY
+#endif
+
+class SdOptions;
+class BasicIDE;
+class SvxSearchItem;
+class SdAppLinkHdl;
+class SvxErrorHandler;
+class EditFieldInfo;
+class SvFactory;
+class SdTransferable;
+class SvNumberFormatter;
+class SfxErrorHandler;
+class OutputDevice;
+class SdPage;
+class SdDrawDocument;
+class SfxFrame;
+
+namespace sd {
+class DrawDocShell;
+class SdGlobalResourceContainer;
+}
+
+namespace com { namespace sun { namespace star { namespace frame {
+ class XFrame;
+} } } }
+
+
+// ----------------------
+// - SdOptionStreamMode -
+// ----------------------
+
+enum SdOptionStreamMode
+{
+ SD_OPTION_LOAD = 0,
+ SD_OPTION_STORE = 1
+};
+
+/*************************************************************************
+|*
+|* This subclass of <SfxModule> (which is a subclass of <SfxShell>) is
+|* linked to the DLL. One instance of this class exists while the DLL is
+|* loaded.
+|*
+|* SdModule is like to be compared with the <SfxApplication>-subclass.
+|*
+|* Remember: Don`t export this class! It uses DLL-internal symbols.
+|*
+\************************************************************************/
+
+class SdModule : public SfxModule, public SfxListener
+{
+public:
+
+ TYPEINFO();
+ SFX_DECL_INTERFACE(SD_IF_SDAPP)
+ DECL_LINK( CalcFieldValueHdl, EditFieldInfo* );
+
+ SdModule(SfxObjectFactory* pDrawObjFact, SfxObjectFactory* pGraphicObjFact);
+ virtual ~SdModule();
+
+ SdTransferable* pTransferClip;
+ SdTransferable* pTransferDrag;
+ SdTransferable* pTransferSelection;
+
+ void Execute(SfxRequest& rReq);
+ void GetState(SfxItemSet&);
+
+ SdOptions* GetSdOptions(DocumentType eDocType);
+ SD_DLLPUBLIC SvStorageStreamRef GetOptionStream( const String& rOptionName, SdOptionStreamMode eMode );
+
+ sal_Bool GetWaterCan() const { return bWaterCan; }
+ void SetWaterCan( sal_Bool bWC ) { bWaterCan = bWC; }
+
+ SvxSearchItem* GetSearchItem() { return (pSearchItem); }
+ void SetSearchItem(SvxSearchItem* pItem) { pSearchItem = pItem; }
+
+ /** Return the virtual device that can be used for printer independent
+ layout.
+ @return
+ The returned pointer is NULL when the device could not be
+ created when this modules was instantiated.
+ */
+ OutputDevice* GetVirtualRefDevice (void);
+
+ /** Deprecated alias to <member>GetVirtualRefDevice</member>.
+ @param rDocShell
+ Unused dummy parameter.
+ */
+ OutputDevice* GetRefDevice (::sd::DrawDocShell& rDocShell);
+
+ SD_DLLPUBLIC SvNumberFormatter* GetNumberFormatter();
+
+ //virtuelle Methoden fuer den Optionendialog
+ virtual SfxItemSet* CreateItemSet( sal_uInt16 nId );
+ virtual void ApplyItemSet( sal_uInt16 nId, const SfxItemSet& rSet );
+ virtual SfxTabPage* CreateTabPage( sal_uInt16 nId, Window* pParent, const SfxItemSet& rSet );
+
+protected:
+
+ SdOptions* pImpressOptions;
+ SdOptions* pDrawOptions;
+ SvxSearchItem* pSearchItem;
+ SvNumberFormatter* pNumberFormatter;
+ SvStorageRef xOptionStorage;
+ sal_Bool bAutoSave;
+ sal_Bool bWaterCan;
+ SfxErrorHandler* mpErrorHdl;
+ /** This device is used for printer independent layout. It is virtual
+ in the sense that it does not represent a printer. The pointer may
+ be NULL when the virtual device could not be created.
+ */
+ OutputDevice* mpVirtualRefDevice;
+
+ virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
+
+private:
+ SfxFrame* ExecuteNewDocument( SfxRequest& rReq );
+
+ static void ChangeMedium( ::sd::DrawDocShell* pDocShell, SfxViewFrame* pViewFrame, const sal_Int32 eMedium );
+ static SfxFrame* CreateEmptyDocument( DocumentType eDocType, const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& i_rFrame );
+ static SfxFrame* CreateFromTemplate( const String& rTemplatePath, const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& i_rFrame );
+
+ /** The resource container controls the lifetime of some singletons.
+ */
+ ::std::auto_ptr< ::sd::SdGlobalResourceContainer> mpResourceContainer;
+
+ /** Create a new summary page. When the document has been created in
+ the kiosk mode with automatical transitions then this method adds
+ this kind of transition to the new summary page.
+ @param pViewFrame
+ The view frame that is used to execute the slot for creating the
+ summary page.
+ @param pDocument
+ The document which will contain the summary page and from which
+ the information about the default transition is retrieved.
+ */
+ void AddSummaryPage (SfxViewFrame* pViewFrame, SdDrawDocument* pDocument);
+
+ /** Take an outline from a text document and create a new impress
+ document according to the structure of the outline.
+ @param rRequest
+ This typically is the unmodified request from a execute()
+ function from where this function is called.
+ */
+ void OutlineToImpress (SfxRequest& rRequest);
+
+ /** Add an eventlistener as soon as possible in sd, allows to use
+ remote devices to start the slideshow elegantly, and respecting
+ portability
+ @EventListenerHdl
+ The event listener handler
+ @VclSimpleEvent *
+ a poiter to a VCLSimpleEvent (see vcl/vclevent.hxx )
+ */
+ DECL_LINK( EventListenerHdl, VclSimpleEvent* );
+
+};
+
+
+
+
+#ifndef SD_MOD
+#define SD_MOD() ( *(SdModule**) GetAppData(SHL_DRAW) )
+#endif
+
+#endif // _SDMOD_HXX
+
diff --git a/sd/inc/sdobjfac.hxx b/sd/inc/sdobjfac.hxx
new file mode 100644
index 000000000000..b533fe8844de
--- /dev/null
+++ b/sd/inc/sdobjfac.hxx
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * 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 _SDOBJFAC_HXX
+#define _SDOBJFAC_HXX
+
+
+#include <tools/link.hxx>
+
+//-----------------------
+// class SdObjectFactory
+//-----------------------
+class SdrObjFactory;
+
+class SdObjectFactory
+{
+protected:
+ Link aOldMakeObjLink;
+ Link aOldMakeUserDataLink;
+
+public:
+ SdObjectFactory() {}
+
+ void SetOldMakeUserDataHdl( const Link& rLink )
+ { aOldMakeUserDataLink = rLink; }
+ Link GetOldMakeUserDataHdl() const { return aOldMakeUserDataLink; }
+
+ DECL_LINK( MakeUserData, SdrObjFactory * );
+};
+
+extern SdObjectFactory aSdObjectFactory;
+
+
+#endif // _SDOBJFAC_HXX
+
diff --git a/sd/inc/sdpage.hxx b/sd/inc/sdpage.hxx
new file mode 100755
index 000000000000..8bc342b2bc89
--- /dev/null
+++ b/sd/inc/sdpage.hxx
@@ -0,0 +1,413 @@
+/*************************************************************************
+ *
+ * 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 _SDPAGE_HXX
+#define _SDPAGE_HXX
+
+#ifndef BOOST_SHARED_PTR_HPP_INCLUDED
+#include <boost/shared_ptr.hpp>
+#endif
+
+#ifndef INCLUDED_FUNCTIONAL
+#include <functional>
+#define INCLUDED_FUNCTIONAL
+#endif
+#include <com/sun/star/drawing/XDrawPage.hpp>
+#include <com/sun/star/presentation/FadeEffect.hpp>
+#include <com/sun/star/office/XAnnotation.hpp>
+
+#include <list>
+#include <functional>
+#include <vector>
+#include <svx/svdobj.hxx>
+#ifndef _FM_FMPAGE_HXX //autogen
+#include <svx/fmpage.hxx>
+#endif
+#include "fadedef.h"
+#include "diadef.h"
+#ifndef _PRESENTATION
+#include "pres.hxx"
+#endif
+#include "shapelist.hxx"
+#include "misc/scopelock.hxx"
+#include "sddllapi.h"
+
+namespace com { namespace sun { namespace star { namespace animations {
+ class XAnimationNode;
+} } } }
+
+class SfxStyleSheet;
+class SdDrawDocument;
+class SdrTextObj;
+class SdPageLink;
+class StarBASIC;
+class SfxItemSet;
+struct StyleRequestData;
+class SdPage;
+class Paragraph;
+class Outliner;
+class SdStyleSheet;
+
+namespace sd
+{
+ class MainSequence;
+}
+
+namespace boost
+{
+ template<class X> class shared_ptr;
+}
+
+namespace sd {
+
+ struct SD_DLLPUBLIC HeaderFooterSettings
+ {
+ bool mbHeaderVisible;
+ String maHeaderText;
+
+ bool mbFooterVisible;
+ String maFooterText;
+
+ bool mbSlideNumberVisible;
+
+ bool mbDateTimeVisible;
+ bool mbDateTimeIsFixed;
+ String maDateTimeText;
+ int meDateTimeFormat;
+
+ HeaderFooterSettings();
+
+ bool operator==( const HeaderFooterSettings& rSettings ) const;
+ };
+
+ typedef std::vector< ::com::sun::star::uno::Reference< ::com::sun::star::office::XAnnotation > > AnnotationVector;
+}
+
+namespace sd {
+ class UndoAnimation;
+ class UndoTransition;
+ class UndoGeoObject;
+ class UndoAttrObject;
+}
+
+class SD_DLLPUBLIC SdPage : public FmFormPage, public SdrObjUserCall
+{
+friend class SdGenericDrawPage;
+friend class SdDrawPage;
+friend class sd::UndoAnimation;
+friend class sd::UndoTransition;
+friend class ModifyPageUndoAction;
+friend class sd::UndoGeoObject;
+friend class sd::UndoAttrObject;
+
+protected:
+ PageKind mePageKind; // Seitentyp
+ AutoLayout meAutoLayout; // AutoLayout
+ sd::ShapeList maPresentationShapeList; // Praesentationsobjekte
+ sd::ScopeLock maLockAutoLayoutArrangement;
+ sal_Bool mbSelected; // Selektionskennung
+ PresChange mePresChange; // manuell/automatisch/halbautomatisch
+ sal_uInt32 mnTime; // Anzeigedauer in Sekunden
+ sal_Bool mbSoundOn; // mit/ohne Sound (sal_True/sal_False)
+ sal_Bool mbExcluded; // wird in der Show nicht/doch
+ // angezeigt (sal_True/sal_False)
+ String maLayoutName; // Name des Layouts
+ String maSoundFile; // Pfad zum Soundfile (MSDOS-Notation)
+ bool mbLoopSound;
+ bool mbStopSound;
+ String maCreatedPageName; // von GetPageName erzeugter Seitenname
+ String maFileName; // Filename
+ String maBookmarkName; // Bookmarkname
+ sal_Bool mbScaleObjects; // Objekte sollen skaliert werden
+ sal_Bool mbBackgroundFullSize; // Hintergrundobjekt auf ganze Seite darstellen
+ rtl_TextEncoding meCharSet; // Text-Encoding
+ sal_uInt16 mnPaperBin; // PaperBin
+ Orientation meOrientation; // Print-Orientation
+ SdPageLink* mpPageLink; // PageLink (nur bei gelinkten Seiten)
+
+ sd::AnnotationVector maAnnotations;
+
+ /** holds the smil animation sequences for this page */
+ ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode > mxAnimationNode;
+
+ /** a helper class to manipulate effects inside the main sequence */
+ boost::shared_ptr< sd::MainSequence > mpMainSequence;
+
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > createUnoPage();
+
+ SfxItemSet* mpItems;
+
+ SfxItemSet* getOrCreateItems();
+
+ sd::HeaderFooterSettings maHeaderFooterSettings;
+
+ // new transition settings
+ sal_Int16 mnTransitionType;
+ sal_Int16 mnTransitionSubtype;
+ sal_Bool mbTransitionDirection;
+ sal_Int32 mnTransitionFadeColor;
+ double mfTransitionDuration;
+
+public:
+ TYPEINFO();
+
+ SdPage(SdDrawDocument& rNewDoc, StarBASIC* pBasic, sal_Bool bMasterPage=sal_False);
+ SdPage(const SdPage& rSrcPage);
+ ~SdPage();
+ virtual SdrPage* Clone() const;
+ virtual SdrPage* Clone(SdrModel* pNewModel) const;
+
+ virtual void SetSize(const Size& aSize);
+ virtual void SetBorder(sal_Int32 nLft, sal_Int32 nUpp, sal_Int32 nRgt, sal_Int32 Lwr);
+ virtual void SetLftBorder(sal_Int32 nBorder);
+ virtual void SetRgtBorder(sal_Int32 nBorder);
+ virtual void SetUppBorder(sal_Int32 nBorder);
+ virtual void SetLwrBorder(sal_Int32 nBorder);
+ virtual void SetModel(SdrModel* pNewModel);
+ virtual FASTBOOL IsReadOnly() const;
+
+ sd::ShapeList& GetPresentationShapeList() { return maPresentationShapeList; }
+
+ void EnsureMasterPageDefaultBackground();
+ SdrObject* CreatePresObj(PresObjKind eObjKind, sal_Bool bVertical, const Rectangle& rRect, sal_Bool bInsert=sal_False);
+ SdrObject* CreateDefaultPresObj(PresObjKind eObjKind, bool bInsert);
+ SdrObject* GetPresObj(PresObjKind eObjKind, int nIndex = 1, bool bFuzzySearch = false );
+ PresObjKind GetPresObjKind(SdrObject* pObj) const;
+ String GetPresObjText(PresObjKind eObjKind) const;
+ SfxStyleSheet* GetStyleSheetForMasterPageBackground() const;
+ SfxStyleSheet* GetStyleSheetForPresObj(PresObjKind eObjKind) const;
+ bool RestoreDefaultText( SdrObject* pObj );
+
+ /** returns true if the given SdrObject is inside the presentation object list */
+ bool IsPresObj(const SdrObject* pObj);
+
+ /** removes the given SdrObject from the presentation object list */
+ void RemovePresObj(const SdrObject* pObj);
+
+ /** inserts the given SdrObject into the presentation object list */
+ void InsertPresObj(SdrObject* pObj, PresObjKind eKind );
+
+ void SetAutoLayout(AutoLayout eLayout, sal_Bool bInit=sal_False, sal_Bool bCreate=sal_False);
+ AutoLayout GetAutoLayout() const { return meAutoLayout; }
+ void CreateTitleAndLayout(sal_Bool bInit=sal_False, sal_Bool bCreate=sal_False);
+ SdrObject* InsertAutoLayoutShape(SdrObject* pObj, PresObjKind eObjKind, bool bVertical, Rectangle aRect, bool bInit );
+
+ virtual void NbcInsertObject(SdrObject* pObj, sal_uLong nPos=CONTAINER_APPEND,
+ const SdrInsertReason* pReason=NULL);
+ virtual SdrObject* NbcRemoveObject(sal_uLong nObjNum);
+ virtual SdrObject* RemoveObject(sal_uLong nObjNum);
+
+ // #95876# Also overload ReplaceObject methods to realize when
+ // objects are removed with this mechanism instead of RemoveObject
+ virtual SdrObject* NbcReplaceObject(SdrObject* pNewObj, sal_uLong nObjNum);
+ virtual SdrObject* ReplaceObject(SdrObject* pNewObj, sal_uLong nObjNum);
+
+ virtual void SetLinkData(const String& rLinkName, const String& rLinkData);
+
+ void SetObjText(SdrTextObj* pObj, SdrOutliner* pOutliner, PresObjKind eObjKind, const String& rStr );
+
+ void SetPageKind(PageKind ePgType) { mePageKind = ePgType; }
+ PageKind GetPageKind() const { return mePageKind; }
+
+ void SetSelected(sal_Bool bSel) { mbSelected = bSel; }
+ sal_Bool IsSelected() const { return mbSelected; }
+
+ void SetFadeEffect(::com::sun::star::presentation::FadeEffect eNewEffect);
+ ::com::sun::star::presentation::FadeEffect GetFadeEffect() const;
+
+ void SetPresChange(PresChange eChange) { mePresChange = eChange; }
+ PresChange GetPresChange() const { return mePresChange; }
+
+ void SetTime(sal_uInt32 nNewTime) { mnTime = nNewTime; }
+ sal_uInt32 GetTime() const { return mnTime; }
+
+ void SetSound(sal_Bool bNewSoundOn) { mbSoundOn = bNewSoundOn; }
+ sal_Bool IsSoundOn() const { return mbSoundOn; }
+
+ void SetExcluded(sal_Bool bNewExcluded) { mbExcluded = bNewExcluded; }
+ sal_Bool IsExcluded() const { return mbExcluded; }
+
+ void SetScaleObjects(sal_Bool bScale) { mbScaleObjects = bScale; }
+ sal_Bool IsScaleObjects() const { return mbScaleObjects; }
+
+ void SetSoundFile(const String& rStr) { maSoundFile = rStr; }
+ String GetSoundFile() const { return maSoundFile; }
+
+ void SetLoopSound( bool bLoopSound ) { mbLoopSound = bLoopSound; }
+ bool IsLoopSound() const { return mbLoopSound; }
+
+ void SetStopSound( bool bStopSound ) { mbStopSound = bStopSound; }
+ bool IsStopSound() const { return mbStopSound; }
+
+ sal_Int16 getTransitionType() const;
+ void setTransitionType( sal_Int16 nTransitionType );
+
+ sal_Int16 getTransitionSubtype() const;
+ void setTransitionSubtype( sal_Int16 nTransitionSubtype );
+
+ sal_Bool getTransitionDirection() const;
+ void setTransitionDirection( sal_Bool bTransitionbDirection );
+
+ sal_Int32 getTransitionFadeColor() const;
+ void setTransitionFadeColor( sal_Int32 nTransitionFadeColor );
+
+ double getTransitionDuration() const;
+ void setTransitionDuration( double fTranstionDuration );
+
+ // Virtuelle Methoden von SdrObjUserCall
+ virtual void Changed(const SdrObject& rObj, SdrUserCallType eType,
+ const Rectangle& rOldBoundRect);
+
+ void SetLayoutName(String aName);
+ virtual String GetLayoutName() const { return maLayoutName; }
+
+ void SetFileName(const String& aName) { maFileName = aName; }
+ virtual String GetFileName() const { return maFileName; }
+ void SetBookmarkName(const String& aName) { maBookmarkName = aName; }
+ virtual String GetBookmarkName() const { return maBookmarkName; }
+ SdPageLink* GetLink() { return mpPageLink; }
+
+ void ConnectLink();
+ void DisconnectLink();
+
+ void ScaleObjects(const Size& rNewPageSize, const Rectangle& rNewBorderRect,
+ sal_Bool bScaleAllObj);
+
+ const String& GetName() const;
+ String GetRealName() const { return FmFormPage::GetName(); };
+
+ void SetPresentationLayout(const String& rLayoutName,
+ sal_Bool bReplaceStyleSheets = sal_True,
+ sal_Bool bSetMasterPage = sal_True,
+ sal_Bool bReverseOrder = sal_False);
+ void EndListenOutlineText();
+
+ void SetBackgroundFullSize( sal_Bool bIn );
+ sal_Bool IsBackgroundFullSize() const { return mbBackgroundFullSize; }
+
+ rtl_TextEncoding GetCharSet() { return(meCharSet); }
+
+ void SetPaperBin(sal_uInt16 nBin) { mnPaperBin = nBin; }
+ sal_uInt16 GetPaperBin() const { return mnPaperBin; }
+ virtual void SetOrientation(Orientation eOrient);
+ virtual Orientation GetOrientation() const;
+
+ virtual SfxStyleSheet* GetTextStyleSheetForObject( SdrObject* pObj ) const;
+
+ sal_Bool setAlienAttributes( const com::sun::star::uno::Any& rAttributes );
+ void getAlienAttributes( com::sun::star::uno::Any& rAttributes );
+
+ /** returns the main animation node */
+ ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode > getAnimationNode() throw (::com::sun::star::uno::RuntimeException);
+
+ /** sets the main animation node */
+ void setAnimationNode( ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode >& xNode ) throw (::com::sun::star::uno::RuntimeException);
+
+ /** returns a helper class to manipulate effects inside the main sequence */
+ boost::shared_ptr< sd::MainSequence > getMainSequence();
+
+ /** quick check if this slide has an animation node.
+ This can be used to have a cost free check if there are no animations ad this slide.
+ If it returns true this does not mean that there are animations available.
+ */
+ bool hasAnimationNode() const;
+
+ /** returns the SdPage implementation for the given XDrawPage or 0 if not available */
+ static SdPage* getImplementation( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage >& xPage );
+
+ /** removes all custom animations for the given shape */
+ void removeAnimations( const SdrObject* pObj );
+
+ /** Set the name of the page and broadcast a model change.
+ */
+ virtual void SetName (const String& rName);
+
+ const sd::HeaderFooterSettings& getHeaderFooterSettings() const;
+ void setHeaderFooterSettings( const sd::HeaderFooterSettings& rNewSettings );
+
+ /** this method returns true if the object from the ViewObjectContact should
+ be visible on this page while rendering.
+ bEdit selects if visibility test is for an editing view or a final render,
+ like printing.
+ */
+ virtual bool checkVisibility(
+ const sdr::contact::ViewObjectContact& rOriginal,
+ const sdr::contact::DisplayInfo& rDisplayInfo,
+ bool bEdit );
+
+ /** callback from the sd::View when a new paragraph for one object on this page is created */
+ void onParagraphInserted( ::Outliner* pOutliner, Paragraph* pPara, SdrObject* pObj );
+
+ /** callback from the sd::View when a paragraph from one object on this page is removed */
+ void onParagraphRemoving( ::Outliner* pOutliner, Paragraph* pPara, SdrObject* pObj );
+
+ /** callback from the sd::View when an object just left text edit mode */
+ void onEndTextEdit( SdrObject* pObj );
+
+ /** returns the presentation style with the given helpid from this masterpage or this
+ slides masterpage */
+ SdStyleSheet* getPresentationStyle( sal_uInt32 nHelpId ) const;
+
+ /** removes all empty presentation objects from this slide */
+ void RemoveEmptyPresentationObjects();
+
+ Rectangle GetTitleRect() const;
+ Rectangle GetLayoutRect() const;
+
+ static void CalculateHandoutAreas( SdDrawDocument& rModel, AutoLayout eLayout, bool bHorizontal, std::vector< Rectangle >& rAreas );
+
+ /** Set the "precious" flag to the given value.
+ */
+ void SetPrecious (const bool bIsPrecious);
+
+ /** The "precious" flag is used for master pages to prevent some unused
+ master pages from being deleted automatically. For pages
+ other than master pages this flag can be ignored.
+ @return
+ When this method returns <TRUE/> for a master page then this
+ master page should not be deleted automatically.
+ */
+ bool IsPrecious (void) const;
+
+ void createAnnotation( ::com::sun::star::uno::Reference< ::com::sun::star::office::XAnnotation >& xAnnotation );
+ void addAnnotation( const ::com::sun::star::uno::Reference< ::com::sun::star::office::XAnnotation >& xAnnotation, int nIndex = -1 );
+ void removeAnnotation( const ::com::sun::star::uno::Reference< ::com::sun::star::office::XAnnotation >& xAnnotation );
+ const sd::AnnotationVector& getAnnotations() const { return maAnnotations; }
+ bool hasAnnotations() const { return !maAnnotations.empty(); }
+
+private:
+ bool mbIsPrecious;
+
+ /** clone the animations from this and set them to rTargetPage
+ */
+ void cloneAnimations( SdPage& rTargetPage ) const;
+
+ /** called before a shape is removed or replaced from this slide */
+ void onRemoveObject( SdrObject* pObject );
+};
+
+#endif // _SDPAGE_HXX
diff --git a/sd/inc/sdpptwrp.hxx b/sd/inc/sdpptwrp.hxx
new file mode 100644
index 000000000000..f9dde9946f2c
--- /dev/null
+++ b/sd/inc/sdpptwrp.hxx
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * 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 _SD_PPTWRP_HXX
+#define _SD_PPTWRP_HXX
+
+#include "sdfilter.hxx"
+
+// ---------------
+// - SdPPTFilter -
+// ---------------
+
+class SdPPTFilter : public SdFilter
+{
+public:
+ SdPPTFilter (
+ SfxMedium& rMedium,
+ ::sd::DrawDocShell& rDocShell,
+ sal_Bool bShowProgress);
+ virtual ~SdPPTFilter (void);
+
+ sal_Bool Import();
+ sal_Bool Export();
+
+ // these methods are necassary for the export to PowerPoint
+ void PreSaveBasic(); // restaures the original basic storage
+
+private:
+ SvMemoryStream* pBas;
+};
+
+#endif // _SD_PPTWRP_HXX
diff --git a/sd/inc/sdresid.hxx b/sd/inc/sdresid.hxx
new file mode 100755
index 000000000000..04e6d0dc0724
--- /dev/null
+++ b/sd/inc/sdresid.hxx
@@ -0,0 +1,42 @@
+/*************************************************************************
+ *
+ * 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 SD_RESID_HXX
+#define SD_RESID_HXX
+
+#ifndef _RESID_HXX //autogen
+#include <tools/resid.hxx>
+#endif
+#include "sddllapi.h"
+
+class SD_DLLPUBLIC SdResId : public ResId
+{
+public:
+ SdResId(sal_uInt16 nId);
+};
+
+#endif /* _SD_SDRESID_HXX */
diff --git a/sd/inc/sduiks.hrc b/sd/inc/sduiks.hrc
new file mode 100644
index 000000000000..6904cc2999d1
--- /dev/null
+++ b/sd/inc/sduiks.hrc
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * 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 _SDUIKS_HRC
+#define _SDUIKS_HRC
+
+#include <usr/uiks.hrc>
+
+#define SD_UIK_SHAPE_FACTORY UIK_DRAWING(00)
+#define SD_UIK_POLYGON_FACTORY UIK_DRAWING(01)
+#define SD_UIK_3D_SHAPE_FACTORY UIK_DRAWING(02)
+#define SD_UIK_TEXT_FACTORY UIK_DRAWING(03)
+#define SD_UIK_SNAP_FACTORY UIK_DRAWING(04)
+
+#define SD_UIK_DRAW_PAGES UIK_DRAWING(10)
+#define SD_UIK_DRAW_PAGE_MANIPULATOR UIK_DRAWING(11)
+
+#define SD_UIK_SHAPE UIK_DRAWING(20)
+#define SD_UIK_CONNECTOR UIK_DRAWING(21)
+#define SD_UIK_CONNECTABLE UIK_DRAWING(22)
+#define SD_UIK_SHAPE_3D UIK_DRAWING(23)
+#define SD_UIK_SHAPE_GROUP UIK_DRAWING(24)
+#define SD_UIK_SHAPE_MIRRORER UIK_DRAWING(25)
+#define SD_UIK_SHAPE_ALIGNER UIK_DRAWING(26)
+#define SD_UIK_SHAPE_ARRANGER UIK_DRAWING(27)
+#define SD_UIK_SHAPE_CONVERTER UIK_DRAWING(28)
+#define SD_UIK_ANIMATOR UIK_DRAWING(29)
+
+#define SD_UIK_DRAW_PAGE UIK_DRAWING(30)
+#define SD_UIK_SHAPES UIK_DRAWING(31)
+#define SD_UIK_GROUP UIK_DRAWING(32)
+#define SD_UIK_COMBINE UIK_DRAWING(33)
+#define SD_UIK_CONNECT UIK_DRAWING(34)
+#define SD_UIK_CONNECT UIK_DRAWING(35)
+
+#define SD_UIK_PRESENTATION UIK_DRAWING(40)
+#define SD_UIK_PRESENTATION_NAVIGATION UIK_DRAWING(41)
+#define SD_UIK_CUSTOM_PRESENTATION UIK_DRAWING(42)
+#define SD_UIK_CUSTOM_PRESENTATIONS UIK_DRAWING(43)
+#define SD_UIK_CUSTOM_PRESENTATIONS UIK_DRAWING(44)
+
+#define SD_UIK_ZOOM UIK_DRAWING(50)
+#define SD_UIK_DRAW_VIEW UIK_DRAWING(51)
+#define SD_UIK_OUTLINE_VIEW UIK_DRAWING(52)
+#define SD_UIK_SLIDE_VIEW UIK_DRAWING(53)
+#define SD_UIK_SLIDE_VIEW UIK_DRAWING(53)
+
+#define SD_UIK_PRESENTATION_STYLES UIK_DRAWING(60)
+
+#endif
diff --git a/sd/inc/sdundo.hxx b/sd/inc/sdundo.hxx
new file mode 100644
index 000000000000..60045b701d57
--- /dev/null
+++ b/sd/inc/sdundo.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 _SD_SDUNDO_HXX
+#define _SD_SDUNDO_HXX
+
+#include <svl/undo.hxx>
+#include "sddllapi.h"
+
+class SdDrawDocument;
+
+class SD_DLLPUBLIC SdUndoAction : public SfxUndoAction
+{
+public:
+ TYPEINFO();
+ SdUndoAction(SdDrawDocument* pSdDrawDocument)
+ : mpDoc(pSdDrawDocument) {}
+ virtual ~SdUndoAction() {}
+
+ void SetComment(String& rStr) { maComment = rStr; }
+ virtual String GetComment() const { return maComment; }
+ virtual SdUndoAction* Clone() const { return NULL; }
+
+protected:
+ SdDrawDocument* mpDoc;
+ String maComment;
+};
+
+#endif // _SD_SDUNDO_HXX
diff --git a/sd/inc/sdxmlwrp.hxx b/sd/inc/sdxmlwrp.hxx
new file mode 100755
index 000000000000..207cffed90ae
--- /dev/null
+++ b/sd/inc/sdxmlwrp.hxx
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * 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 _SDXMLWRP_HXX
+#define _SDXMLWRP_HXX
+
+#include <tools/errcode.hxx>
+#include "sdfilter.hxx"
+
+// ---------------
+// - SdXMLFilter -
+// ---------------
+
+enum SdXMLFilterMode
+{
+ SDXMLMODE_Normal, // standard load and save of the complete document
+ SDXMLMODE_Preview, // only for import, only the first draw page and its master page is loaded
+ SDXMLMODE_Organizer // only for import, only the styles are loaded
+};
+
+class SdXMLFilter : public SdFilter
+{
+public:
+ SdXMLFilter(
+ SfxMedium& rMedium,
+ ::sd::DrawDocShell& rDocShell,
+ sal_Bool bShowProgress,
+ SdXMLFilterMode eFilterMode = SDXMLMODE_Normal,
+ sal_uLong nStoreVer = SOFFICE_FILEFORMAT_8 );
+ virtual ~SdXMLFilter (void);
+
+ sal_Bool Import( ErrCode& nError );
+ sal_Bool Export();
+
+private:
+ SdXMLFilterMode meFilterMode;
+ sal_uLong mnStoreVer;
+};
+
+#endif // _SDXMLWRP_HXX
diff --git a/sd/inc/shapelist.hxx b/sd/inc/shapelist.hxx
new file mode 100755
index 000000000000..4b6ffb21d496
--- /dev/null
+++ b/sd/inc/shapelist.hxx
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SHAPELIST_HXX
+#define _SHAPELIST_HXX
+
+#include <svx/sdrobjectuser.hxx>
+
+#include <list>
+
+namespace sd
+{
+ class ShapeList : public sdr::ObjectUser
+ {
+ public:
+ ShapeList();
+ virtual ~ShapeList();
+
+ /** adds the given shape to this list */
+ void addShape( SdrObject& rObject );
+
+ /** removes the shape from this list and returns
+ a pointer to the next shape in list or 0*/
+ SdrObject* removeShape( SdrObject& rObject );
+
+ /** removes all shapes from this list */
+ void clear();
+
+ /** returns true if this list is empty */
+ bool isEmpty() const;
+
+ /** returns true if given shape is part of this list */
+ bool hasShape( SdrObject& rObject ) const;
+
+ /** returns the shape following the given shape in the list or 0
+ returns the first shape if pObj is 0 */
+ SdrObject* getNextShape(SdrObject* pObj) const;
+
+ /**
+ */
+ SdrObject* getNextShape();
+
+ /**
+ */
+ void seekShape( sal_uInt32 nIndex );
+
+ /**
+ */
+ bool hasMore() const;
+
+ const std::list< SdrObject* >& getList() const { return maShapeList; }
+
+ private:
+ virtual void ObjectInDestruction(const SdrObject& rObject);
+
+ typedef std::list< SdrObject* > ListImpl;
+ ListImpl maShapeList;
+ ListImpl::iterator maIter;
+ };
+}
+
+#endif // _SHAPELIST_HXX
diff --git a/sd/inc/stlfamily.hxx b/sd/inc/stlfamily.hxx
new file mode 100644
index 000000000000..ecb3f6996a28
--- /dev/null
+++ b/sd/inc/stlfamily.hxx
@@ -0,0 +1,126 @@
+/*************************************************************************
+ *
+ * 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 _SD_STLFAMILY_HXX
+#define _SD_STLFAMILY_HXX
+
+#include <com/sun/star/uno/Any.hxx>
+#include <com/sun/star/style/XStyle.hpp>
+#include <com/sun/star/beans/XPropertySet.hpp>
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include <com/sun/star/beans/XPropertyState.hpp>
+#include <com/sun/star/lang/XComponent.hpp>
+#include <com/sun/star/lang/XSingleServiceFactory.hpp>
+#include <com/sun/star/container/XIndexAccess.hpp>
+#include <com/sun/star/container/XNameContainer.hpp>
+#include <com/sun/star/container/XNamed.hpp>
+
+#include <rtl/ref.hxx>
+
+#include <cppuhelper/implbase7.hxx>
+
+#include <svl/style.hxx>
+
+#include <editeng/unoipset.hxx>
+
+class SdStyleSheet;
+class SdPage;
+struct SdStyleFamilyImpl;
+
+namespace css = ::com::sun::star;
+
+class SdStyleFamily : public ::cppu::WeakImplHelper7< css::container::XNameContainer, css::container::XNamed, css::container::XIndexAccess, css::lang::XSingleServiceFactory, css::lang::XServiceInfo, css::lang::XComponent, css::beans::XPropertySet >
+{
+public:
+ /// creates the style family for the given SfxStyleFamily
+ SdStyleFamily( const rtl::Reference< SfxStyleSheetPool >& xPool, SfxStyleFamily nFamily );
+
+ /// creates the presentation family for the given masterpage
+ SdStyleFamily( const rtl::Reference< SfxStyleSheetPool >& xPool, const SdPage* pMasterPage );
+
+ virtual ~SdStyleFamily();
+
+ // XServiceInfo
+ virtual ::rtl::OUString SAL_CALL getImplementationName() throw(css::uno::RuntimeException);
+ virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw(css::uno::RuntimeException);
+ virtual css::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw(css::uno::RuntimeException);
+
+ // XNamed
+ virtual ::rtl::OUString SAL_CALL getName( ) throw (css::uno::RuntimeException);
+ virtual void SAL_CALL setName( const ::rtl::OUString& aName ) throw (css::uno::RuntimeException);
+
+ // XNameAccess
+ virtual css::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) throw(css::container::NoSuchElementException, css::lang::WrappedTargetException, css::uno::RuntimeException);
+ virtual css::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames() throw(css::uno::RuntimeException);
+ virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) throw(css::uno::RuntimeException);
+
+ // XElementAccess
+ virtual css::uno::Type SAL_CALL getElementType() throw(css::uno::RuntimeException);
+ virtual sal_Bool SAL_CALL hasElements() throw(css::uno::RuntimeException);
+
+ // XIndexAccess
+ virtual sal_Int32 SAL_CALL getCount() throw(css::uno::RuntimeException) ;
+ virtual css::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) throw(css::lang::IndexOutOfBoundsException, css::lang::WrappedTargetException, css::uno::RuntimeException);
+
+ // XNameContainer
+ virtual void SAL_CALL insertByName( const ::rtl::OUString& aName, const css::uno::Any& aElement ) throw(css::lang::IllegalArgumentException, css::container::ElementExistException, css::lang::WrappedTargetException, css::uno::RuntimeException);
+ virtual void SAL_CALL removeByName( const ::rtl::OUString& Name ) throw(css::container::NoSuchElementException, css::lang::WrappedTargetException, css::uno::RuntimeException);
+
+ // XNameReplace
+ virtual void SAL_CALL replaceByName( const ::rtl::OUString& aName, const css::uno::Any& aElement ) throw(css::lang::IllegalArgumentException, css::container::NoSuchElementException, css::lang::WrappedTargetException, css::uno::RuntimeException);
+
+ // XSingleServiceFactory
+ virtual css::uno::Reference< css::uno::XInterface > SAL_CALL createInstance( ) throw(css::uno::Exception, css::uno::RuntimeException);
+ virtual css::uno::Reference< css::uno::XInterface > SAL_CALL createInstanceWithArguments( const css::uno::Sequence< css::uno::Any >& aArguments ) throw(css::uno::Exception, css::uno::RuntimeException);
+
+ // XComponent
+ virtual void SAL_CALL dispose( ) throw (css::uno::RuntimeException);
+ virtual void SAL_CALL addEventListener( const css::uno::Reference< css::lang::XEventListener >& xListener ) throw (css::uno::RuntimeException);
+ virtual void SAL_CALL removeEventListener( const css::uno::Reference< css::lang::XEventListener >& aListener ) throw (css::uno::RuntimeException);
+
+ // XPropertySet
+ virtual css::uno::Reference<css::beans::XPropertySetInfo> SAL_CALL getPropertySetInfo() throw (css::uno::RuntimeException);
+ virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, const css::uno::Any& aValue ) throw (css::beans::UnknownPropertyException, css::beans::PropertyVetoException, css::lang::IllegalArgumentException, css::lang::WrappedTargetException, css::uno::RuntimeException);
+ virtual css::uno::Any SAL_CALL getPropertyValue( const ::rtl::OUString& PropertyName ) throw (css::beans::UnknownPropertyException, css::lang::WrappedTargetException, css::uno::RuntimeException);
+ virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, const css::uno::Reference<css::beans::XPropertyChangeListener>& xListener ) throw (css::beans::UnknownPropertyException, css::lang::WrappedTargetException, css::uno::RuntimeException);
+ virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, const css::uno::Reference<css::beans::XPropertyChangeListener>& aListener ) throw (css::beans::UnknownPropertyException, css::lang::WrappedTargetException, css::uno::RuntimeException);
+ virtual void SAL_CALL addVetoableChangeListener(const ::rtl::OUString& PropertyName, const css::uno::Reference<css::beans::XVetoableChangeListener>& aListener ) throw (css::beans::UnknownPropertyException, css::lang::WrappedTargetException, css::uno::RuntimeException);
+ virtual void SAL_CALL removeVetoableChangeListener(const ::rtl::OUString& PropertyName,const css::uno::Reference<css::beans::XVetoableChangeListener>&aListener ) throw (css::beans::UnknownPropertyException, css::lang::WrappedTargetException, css::uno::RuntimeException);
+
+private:
+ void throwIfDisposed() const throw(css::uno::RuntimeException);
+ SdStyleSheet* GetValidNewSheet( const css::uno::Any& rElement ) throw(css::lang::IllegalArgumentException);
+ SdStyleSheet* GetSheetByName( const ::rtl::OUString& rName ) throw(css::container::NoSuchElementException, css::lang::WrappedTargetException );
+
+ SfxStyleFamily mnFamily;
+ rtl::Reference< SfxStyleSheetPool > mxPool;
+ SdStyleFamilyImpl* mpImpl;
+};
+
+typedef rtl::Reference< SdStyleFamily > SdStyleFamilyRef;
+
+#endif // _SD_STLFAMILY_HXX
diff --git a/sd/inc/stlpool.hxx b/sd/inc/stlpool.hxx
new file mode 100755
index 000000000000..4f33b360d4f6
--- /dev/null
+++ b/sd/inc/stlpool.hxx
@@ -0,0 +1,151 @@
+/*************************************************************************
+ *
+ * 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 _SD_STLPOOL_HXX
+#define _SD_STLPOOL_HXX
+
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include <com/sun/star/container/XIndexAccess.hpp>
+#include <com/sun/star/container/XNameContainer.hpp>
+#include <com/sun/star/container/XNamed.hpp>
+#include <com/sun/star/beans/XPropertySet.hpp>
+#include <com/sun/star/lang/XComponent.hpp>
+#include <com/sun/star/lang/XSingleServiceFactory.hpp>
+
+#include <cppuhelper/implbase4.hxx>
+#include <cppuhelper/implbase7.hxx>
+#include <map>
+#include <vector>
+
+#include <stlfamily.hxx>
+#include <stlsheet.hxx>
+
+#include <sddllapi.h>
+
+class SdStyleSheet;
+class SdDrawDocument;
+class SdPage;
+
+typedef std::map< const SdPage*, SdStyleFamilyRef > SdStyleFamilyMap;
+
+typedef ::cppu::ImplInheritanceHelper4< SfxStyleSheetPool,
+ ::com::sun::star::lang::XServiceInfo,
+ ::com::sun::star::container::XIndexAccess,
+ ::com::sun::star::container::XNameAccess,
+ ::com::sun::star::lang::XComponent > SdStyleSheetPoolBase;
+
+class SdStyleSheetPool : public SdStyleSheetPoolBase, public SfxListener
+{
+ friend class SdDrawDocument;
+public:
+ SdStyleSheetPool(SfxItemPool const& rPool, SdDrawDocument* pDocument);
+
+ void SetActualStyleSheet(SfxStyleSheetBase* pActStyleSheet) { mpActualStyleSheet = pActStyleSheet; }
+ SfxStyleSheetBase* GetActualStyleSheet() { return mpActualStyleSheet; }
+
+ SfxStyleSheetBase* GetTitleSheet(const String& rLayoutName);
+
+ // Caller muss Liste loeschen
+ List* CreateOutlineSheetList(const String& rLayoutName);
+
+ /** creates all layout style sheets for the givin layout name if they
+ don't exist yet.
+
+ @param rLayoutName Must be the name of a master page
+ @param bCheck If set to true, the debug version will assert if a style
+ had to be created. This is used to assert errors in documents
+ when styles are missing.
+ */
+ SD_DLLPUBLIC void CreateLayoutStyleSheets(const String& rLayoutName, sal_Bool bCheck = sal_False );
+ List* CreateLayoutSheetNames(const String& rLayoutName) const;
+ void CreateLayoutSheetList(const String& rLayoutName, SdStyleSheetVector& rLayoutSheets);
+ void CopyLayoutSheets(const String& rLayoutName, SdStyleSheetPool& rSourcePool, SdStyleSheetVector& rCreatedSheets );
+ void CopyGraphicSheets(SdStyleSheetPool& rSourcePool);
+ void CopyCellSheets(SdStyleSheetPool& rSourcePool);
+ void CopyTableStyles(SdStyleSheetPool& rSourcePool);
+
+ void CreatePseudosIfNecessary();
+ void UpdateStdNames();
+ static void PutNumBulletItem( SfxStyleSheetBase* pSheet, Font& rBulletFont );
+ Font GetBulletFont() const;
+
+ SdDrawDocument* GetDoc() const { return mpDoc; }
+
+ static SdStyleSheetVector CreateChildList( SdStyleSheet* pSheet );
+
+
+public:
+ void throwIfDisposed() 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);
+
+ // 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);
+
+ // 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);
+
+ // 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);
+
+ // XComponent
+ virtual void SAL_CALL dispose( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& aListener ) throw (::com::sun::star::uno::RuntimeException);
+
+ virtual void SAL_CALL acquire (void) throw ();
+ virtual void SAL_CALL release (void) throw ();
+protected:
+ void CopySheets(SdStyleSheetPool& rSourcePool, SfxStyleFamily eFamily );
+
+ virtual SfxStyleSheetBase* Create(const String& rName, SfxStyleFamily eFamily, sal_uInt16 nMask);
+ virtual SfxStyleSheetBase* Create(const SdStyleSheet& rStyle);
+
+ using SfxStyleSheetPool::Create;
+ virtual ~SdStyleSheetPool();
+
+ void AddStyleFamily( const SdPage* pPage );
+ void RemoveStyleFamily( const SdPage* pPage );
+
+private:
+ SfxStyleSheetBase* mpActualStyleSheet;
+ SdDrawDocument* mpDoc;
+ SdStyleFamilyRef mxGraphicFamily;
+ SdStyleFamilyRef mxCellFamily;
+ SdStyleFamilyMap maStyleFamilyMap;
+ ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > mxTableFamily;
+ rtl::OUString msTableFamilyName;
+};
+
+#endif // _SD_STLPOOL_HXX
diff --git a/sd/inc/stlsheet.hxx b/sd/inc/stlsheet.hxx
new file mode 100755
index 000000000000..0029b2d3c49e
--- /dev/null
+++ b/sd/inc/stlsheet.hxx
@@ -0,0 +1,161 @@
+/*************************************************************************
+ *
+ * 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 _SD_STLSHEET_HXX
+#define _SD_STLSHEET_HXX
+
+#include <rtl/ref.hxx>
+
+#include <com/sun/star/style/XStyle.hpp>
+#include <com/sun/star/beans/XPropertySet.hpp>
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include <com/sun/star/beans/XPropertyState.hpp>
+#include <com/sun/star/lang/XComponent.hpp>
+#include <com/sun/star/util/XModifyBroadcaster.hpp>
+
+#include <cppuhelper/interfacecontainer.h>
+#include <cppuhelper/implbase5.hxx>
+#include <cppuhelper/basemutex.hxx>
+
+#include <svl/style.hxx>
+
+#include <editeng/unoipset.hxx>
+
+#include <boost/scoped_ptr.hpp>
+
+class ModifyListenerForewarder;
+
+typedef cppu::ImplInheritanceHelper5< SfxUnoStyleSheet,
+ ::com::sun::star::beans::XPropertySet,
+ ::com::sun::star::lang::XServiceInfo,
+ ::com::sun::star::beans::XPropertyState,
+ ::com::sun::star::util::XModifyBroadcaster,
+ ::com::sun::star::lang::XComponent > SdStyleSheetBase ;
+
+class SdStyleSheet : public SdStyleSheetBase, private ::cppu::BaseMutex
+{
+public:
+ SdStyleSheet( const rtl::OUString& rDisplayName, SfxStyleSheetBasePool& rPool, SfxStyleFamily eFamily, sal_uInt16 nMask );
+ SdStyleSheet( const SdStyleSheet& );
+
+ virtual sal_Bool SetParent (const String& rParentName);
+ virtual SfxItemSet& GetItemSet();
+ virtual sal_Bool IsUsed() const;
+ virtual sal_Bool HasFollowSupport() const;
+ virtual sal_Bool HasParentSupport() const;
+ virtual sal_Bool HasClearParentSupport() const;
+ virtual sal_Bool SetName( const UniString& );
+ virtual void SetHelpId( const String& r, sal_uLong nId );
+
+ void AdjustToFontHeight(SfxItemSet& rSet, sal_Bool bOnlyMissingItems = sal_True);
+
+ SdStyleSheet* GetRealStyleSheet() const;
+ SdStyleSheet* GetPseudoStyleSheet() const;
+
+ void SetApiName( const ::rtl::OUString& rApiName );
+ rtl::OUString GetApiName() const;
+
+ static rtl::OUString GetFamilyString( SfxStyleFamily eFamily );
+
+ static SdStyleSheet* CreateEmptyUserStyle( SfxStyleSheetBasePool& rPool, SfxStyleFamily eFamily );
+
+ // XInterface
+ virtual void SAL_CALL release( ) throw ();
+
+ // 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);
+
+ // XNamed
+ virtual ::rtl::OUString SAL_CALL getName( ) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setName( const ::rtl::OUString& aName ) throw(::com::sun::star::uno::RuntimeException);
+
+ // XStyle
+ virtual sal_Bool SAL_CALL isUserDefined( ) throw(::com::sun::star::uno::RuntimeException);
+ virtual sal_Bool SAL_CALL isInUse( ) throw(::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getParentStyle( ) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setParentStyle( const ::rtl::OUString& aParentStyle ) throw(::com::sun::star::container::NoSuchElementException, ::com::sun::star::uno::RuntimeException);
+
+ // XPropertySet
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() throw(::com::sun::star::uno::RuntimeException);
+ 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);
+ 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);
+ virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& xListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+
+ // XPropertyState
+ virtual ::com::sun::star::beans::PropertyState SAL_CALL getPropertyState( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyState > SAL_CALL getPropertyStates( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setPropertyToDefault( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
+ 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);
+
+ // XModifyBroadcaster
+ virtual void SAL_CALL addModifyListener( const ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyListener >& aListener ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeModifyListener( const ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyListener >& aListener ) throw (::com::sun::star::uno::RuntimeException);
+
+ // XComponent
+ virtual void SAL_CALL dispose( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& aListener ) throw (::com::sun::star::uno::RuntimeException);
+
+ void notifyModifyListener();
+
+protected:
+ const SfxItemPropertySimpleEntry* getPropertyMapEntry( const ::rtl::OUString& rPropertyName ) const throw();
+
+ virtual void Load (SvStream& rIn, sal_uInt16 nVersion);
+ virtual void Store(SvStream& rOut);
+
+ virtual void Notify(SfxBroadcaster& rBC, const SfxHint& rHint);
+ virtual ~SdStyleSheet();
+
+ void throwIfDisposed() throw (::com::sun::star::uno::RuntimeException);
+
+ virtual void disposing();
+
+ rtl::OUString msApiName;
+ rtl::Reference< SfxStyleSheetBasePool > mxPool;
+
+ /** boradcast helper for events */
+ ::cppu::OBroadcastHelper mrBHelper;
+
+ boost::scoped_ptr< ModifyListenerForewarder > mpModifyListenerForewarder;
+
+private:
+ SdStyleSheet& operator=( const SdStyleSheet& ); // not implemented
+};
+
+typedef rtl::Reference< SdStyleSheet > SdStyleSheetRef;
+typedef std::vector< SdStyleSheetRef > SdStyleSheetVector;
+
+#endif // _SD_STLSHEET_HXX
+
+
+
diff --git a/sd/inc/strmname.h b/sd/inc/strmname.h
new file mode 100644
index 000000000000..0d4823aeffce
--- /dev/null
+++ b/sd/inc/strmname.h
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * 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 _SD_STRMNAME_H
+#define _SD_STRMNAME_H
+
+// Alter Name des Dokument-Streams
+static const String pStarDrawDoc( RTL_CONSTASCII_USTRINGPARAM( "StarDrawDocument" ));
+
+// Name des Dokument-Streams
+static const String pStarDrawDoc3( RTL_CONSTASCII_USTRINGPARAM( "StarDrawDocument3" ));
+
+// Sonstige
+static const String pSfxStyleSheets( RTL_CONSTASCII_USTRINGPARAM( "SfxStyleSheets" ));
+static const String pVCItemPoolName( RTL_CONSTASCII_USTRINGPARAM( "VCPool" ));
+static const String pPreviewName( RTL_CONSTASCII_USTRINGPARAM( "StarDrawTemplatePreview" ));
+
+// PowerPoint-Filter
+static const String pFilterPowerPoint97( RTL_CONSTASCII_USTRINGPARAM( "MS PowerPoint 97" ));
+static const String pFilterPowerPoint97Template( RTL_CONSTASCII_USTRINGPARAM( "MS PowerPoint 97 Vorlage" ));
+
+// XML content stream
+static const String pStarDrawXMLContent( RTL_CONSTASCII_USTRINGPARAM( "content.xml" ));
+static const String pStarDrawOldXMLContent( RTL_CONSTASCII_USTRINGPARAM( "Content.xml" ));
+
+#endif // _SD_STRMNAME_H
diff --git a/sd/inc/textapi.hxx b/sd/inc/textapi.hxx
new file mode 100755
index 000000000000..6fa186596fba
--- /dev/null
+++ b/sd/inc/textapi.hxx
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * 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 _SD_TEXTAPI_HXX_
+#define _SD_TEXTAPI_HXX_
+
+#include <editeng/unoedsrc.hxx>
+#include <editeng/unotext.hxx>
+#include <editeng/eeitem.hxx>
+#include <rtl/ref.hxx>
+#include <editeng/outliner.hxx>
+#include <editeng/unoprnms.hxx>
+#include <editeng/unoforou.hxx>
+#include <editeng/unoipset.hxx>
+
+class SdDrawDocument;
+
+namespace sd {
+
+class TextAPIEditSource;
+
+class TextApiObject : public SvxUnoText
+{
+public:
+ static rtl::Reference< TextApiObject > create( SdDrawDocument* pDoc );
+
+ virtual ~TextApiObject() throw();
+
+ virtual void SAL_CALL dispose() throw(::com::sun::star::uno::RuntimeException);
+
+ OutlinerParaObject* CreateText();
+ void SetText( OutlinerParaObject& rText );
+ String GetText();
+
+ static TextApiObject* getImplementation( const ::com::sun::star::uno::Reference< ::com::sun::star::text::XText >& );
+
+private:
+ TextAPIEditSource* mpSource;
+ TextApiObject( TextAPIEditSource* pEditSource );
+};
+
+} // namespace sd
+
+
+#endif // _SD_TEXTAPI_HXX_
diff --git a/sd/inc/undo/undofactory.hxx b/sd/inc/undo/undofactory.hxx
new file mode 100644
index 000000000000..64f57b67cabd
--- /dev/null
+++ b/sd/inc/undo/undofactory.hxx
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * 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 _SD_UNDOFACTORY_HXX
+#define _SD_UNDOFACTORY_HXX
+
+#include <svx/svdundo.hxx>
+
+namespace sd
+{
+
+class UndoFactory : public SdrUndoFactory
+{
+public:
+ virtual SdrUndoAction* CreateUndoRemoveObject( SdrObject& rObject, bool bOrdNumDirect = false);
+ virtual SdrUndoAction* CreateUndoDeleteObject( SdrObject& rObject, bool bOrdNumDirect = false);
+ virtual SdrUndoAction* CreateUndoObjectSetText( SdrObject& rNewObj, sal_Int32 nText );
+ virtual SdrUndoAction* CreateUndoReplaceObject( SdrObject& rOldObject, SdrObject& rNewObject, bool bOrdNumDirect = false );
+ virtual SdrUndoAction* CreateUndoGeoObject( SdrObject& rObject );
+ virtual SdrUndoAction* CreateUndoAttrObject( SdrObject& rObject, bool bStyleSheet1 = false, bool bSaveText = false );
+};
+
+
+}
+
+#endif // _SD_UNDOMANAGER_HXX
diff --git a/sd/inc/undo/undomanager.hxx b/sd/inc/undo/undomanager.hxx
new file mode 100755
index 000000000000..22167d9636fc
--- /dev/null
+++ b/sd/inc/undo/undomanager.hxx
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * 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 _SD_UNDOMANAGER_HXX
+#define _SD_UNDOMANAGER_HXX
+
+#include "misc/scopelock.hxx"
+#include <svl/undo.hxx>
+
+namespace sd
+{
+
+class UndoManager : public SfxUndoManager
+{
+public:
+ UndoManager( sal_uInt16 nMaxUndoActionCount = 20 );
+
+ virtual void EnterListAction(const UniString &rComment, const UniString& rRepeatComment, sal_uInt16 nId=0);
+
+ virtual void AddUndoAction( SfxUndoAction *pAction, sal_Bool bTryMerg=sal_False );
+
+ /** Set or reset the undo manager linked with the called undo manager.
+ */
+ void SetLinkedUndoManager (::svl::IUndoManager* pLinkedUndoManager);
+
+private:
+ using SfxUndoManager::Undo;
+ using SfxUndoManager::Redo;
+
+ /** Used when the outline view is visible as a last resort to
+ synchronize the undo managers.
+ */
+ ::svl::IUndoManager* mpLinkedUndoManager;
+
+ /** Call ClearRedo() at the linked undo manager, when present.
+
+ It should not be necessary to call ClearRedo() explicitly, but the
+ synchronization between the under managers of the document and the
+ outline view seems to have a bug. Therefore this method is called
+ whenever a new undo action is added.
+ */
+ void ClearLinkedRedoActions (void);
+};
+
+}
+
+#endif // _SD_UNDOMANAGER_HXX
diff --git a/sd/inc/undo/undoobjects.hxx b/sd/inc/undo/undoobjects.hxx
new file mode 100644
index 000000000000..78c922d8414e
--- /dev/null
+++ b/sd/inc/undo/undoobjects.hxx
@@ -0,0 +1,202 @@
+/*************************************************************************
+ *
+ * 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 _SD_UNDOOBJECTS_HXX
+#define _SD_UNDOOBJECTS_HXX
+
+#include <svx/svdundo.hxx>
+#include <svx/svdpage.hxx>
+#include <svx/svdobj.hxx>
+#include "pres.hxx"
+
+class SdrObjUserCall;
+class SdPage;
+
+namespace sd
+{
+ class UndoManager;
+
+///////////////////////////////////////////////////////////////////////
+
+class UndoRemovePresObjectImpl
+{
+protected:
+ UndoRemovePresObjectImpl( SdrObject& rObject );
+ virtual ~UndoRemovePresObjectImpl();
+
+ virtual void Undo();
+ virtual void Redo();
+
+private:
+ SfxUndoAction* mpUndoUsercall;
+ SfxUndoAction* mpUndoAnimation;
+ SfxUndoAction* mpUndoPresObj;
+};
+
+///////////////////////////////////////////////////////////////////////
+
+class UndoRemoveObject : public SdrUndoRemoveObj, public UndoRemovePresObjectImpl
+{
+public:
+ UndoRemoveObject( SdrObject& rObject, bool bOrdNumDirect );
+
+ virtual void Undo();
+ virtual void Redo();
+
+private:
+ SdrObjectWeakRef mxSdrObject;
+};
+
+///////////////////////////////////////////////////////////////////////
+
+class UndoDeleteObject : public SdrUndoDelObj, public UndoRemovePresObjectImpl
+{
+public:
+ UndoDeleteObject( SdrObject& rObject, bool bOrdNumDirect );
+
+ virtual void Undo();
+ virtual void Redo();
+
+private:
+ SdrObjectWeakRef mxSdrObject;
+};
+
+///////////////////////////////////////////////////////////////////////
+
+class UndoReplaceObject : public SdrUndoReplaceObj, public UndoRemovePresObjectImpl
+{
+public:
+ UndoReplaceObject( SdrObject& rOldObject, SdrObject& rNewObject, bool bOrdNumDirect );
+
+ virtual void Undo();
+ virtual void Redo();
+
+private:
+ SdrObjectWeakRef mxSdrObject;
+};
+
+///////////////////////////////////////////////////////////////////////
+
+class UndoObjectSetText : public SdrUndoObjSetText
+{
+public:
+ UndoObjectSetText( SdrObject& rNewObj, sal_Int32 nText );
+ virtual ~UndoObjectSetText();
+
+ virtual void Undo();
+ virtual void Redo();
+
+private:
+ SfxUndoAction* mpUndoAnimation;
+ bool mbNewEmptyPresObj;
+ SdrObjectWeakRef mxSdrObject;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+// Undo for SdrObject::SetUserCall()
+
+class UndoObjectUserCall : public SdrUndoObj
+{
+public:
+ UndoObjectUserCall(SdrObject& rNewObj);
+
+ virtual void Undo();
+ virtual void Redo();
+
+protected:
+ SdrObjUserCall* mpOldUserCall;
+ SdrObjUserCall* mpNewUserCall;
+ SdrObjectWeakRef mxSdrObject;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+// Undo for SdPage::InsertPresObj() and SdPage::RemovePresObj()
+
+class UndoObjectPresentationKind : public SdrUndoObj
+{
+public:
+ UndoObjectPresentationKind(SdrObject& rObject);
+
+ virtual void Undo();
+ virtual void Redo();
+
+protected:
+ PresObjKind meOldKind;
+ PresObjKind meNewKind;
+ SdrPageWeakRef mxPage;
+ SdrObjectWeakRef mxSdrObject;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+// Restores correct position and size for presentation shapes with user call
+// on undo
+
+class UndoAutoLayoutPosAndSize : public SfxUndoAction
+{
+public:
+ UndoAutoLayoutPosAndSize( SdPage& rPage );
+
+ virtual void Undo();
+ virtual void Redo();
+
+protected:
+ SdrPageWeakRef mxPage;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+class UndoGeoObject : public SdrUndoGeoObj
+{
+public:
+ UndoGeoObject( SdrObject& rNewObj );
+
+ virtual void Undo();
+ virtual void Redo();
+
+protected:
+ SdrPageWeakRef mxPage;
+ SdrObjectWeakRef mxSdrObject;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+class UndoAttrObject : public SdrUndoAttrObj
+{
+public:
+ UndoAttrObject( SdrObject& rObject, bool bStyleSheet1, bool bSaveText );
+
+ virtual void Undo();
+ virtual void Redo();
+
+protected:
+ SdrPageWeakRef mxPage;
+ SdrObjectWeakRef mxSdrObject;
+};
+
+} // namespace sd
+
+#endif // _SD_UNDOOBJECTS_HXX
diff --git a/sd/inc/undoanim.hxx b/sd/inc/undoanim.hxx
new file mode 100644
index 000000000000..0d36a9ec01c9
--- /dev/null
+++ b/sd/inc/undoanim.hxx
@@ -0,0 +1,95 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SD_UNDO_ANIM_HXX
+#define _SD_UNDO_ANIM_HXX
+
+#include <com/sun/star/uno/Any.hxx>
+#include <com/sun/star/animations/XAnimationNode.hpp>
+#include <svx/svdundo.hxx>
+
+#include "sdundo.hxx"
+
+class SdPage;
+
+namespace sd
+{
+
+struct UndoAnimationImpl;
+
+class UndoAnimation : public SdrUndoAction
+{
+public:
+ UndoAnimation( SdDrawDocument* pDoc, SdPage* pThePage );
+ virtual ~UndoAnimation();
+
+ virtual void Undo();
+ virtual void Redo();
+
+ virtual String GetComment() const;
+
+private:
+ UndoAnimationImpl* mpImpl;
+};
+
+struct UndoAnimationPathImpl;
+class UndoAnimationPath : public SdrUndoAction
+{
+public:
+ UndoAnimationPath( SdDrawDocument* pDoc, SdPage* pThePage, const com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode >& xNode );
+ virtual ~UndoAnimationPath();
+
+ virtual void Undo();
+ virtual void Redo();
+
+ virtual String GetComment() const;
+
+private:
+ UndoAnimationPathImpl* mpImpl;
+};
+
+struct UndoTransitionImpl;
+
+class UndoTransition : public SdUndoAction
+{
+public:
+ UndoTransition( SdDrawDocument* pDoc, SdPage* pThePage );
+ virtual ~UndoTransition();
+
+ virtual void Undo();
+ virtual void Redo();
+
+ virtual String GetComment() const;
+
+private:
+ UndoTransitionImpl* mpImpl;
+};
+
+}
+
+#endif // _SD_UNDO_ANIM_HXX
+