diff options
27 files changed, 145 insertions, 151 deletions
diff --git a/sd/inc/CustomAnimationEffect.hxx b/sd/inc/CustomAnimationEffect.hxx index 8e9d314675ad..8a727f308393 100644 --- a/sd/inc/CustomAnimationEffect.hxx +++ b/sd/inc/CustomAnimationEffect.hxx @@ -38,15 +38,13 @@ #include <com/sun/star/util/XChangesListener.hpp> #include <tools/string.hxx> -#ifndef BOOST_SHARED_PTR_HPP_INCLUDED #include <boost/shared_ptr.hpp> -#endif -#ifndef _UTL_STLTYPES_HXX_ #include <comphelper/stl_types.hxx> -#endif #include <vcl/timer.hxx> +#include <sddllapi.h> + #include <list> #include <map> @@ -76,7 +74,7 @@ class CustomAnimationEffect friend class EffectSequenceHelper; public: - CustomAnimationEffect( const ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode >& xNode ); + SD_DLLPUBLIC CustomAnimationEffect( const ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode >& xNode ); virtual ~CustomAnimationEffect(); const ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode >& getNode() const { return mxNode; } @@ -94,7 +92,7 @@ public: void setPresetClass( sal_Int16 nPresetClass ); sal_Int16 getNodeType() const { return mnNodeType; } - void setNodeType( sal_Int16 nNodeType ); + SD_DLLPUBLIC void setNodeType( sal_Int16 nNodeType ); ::com::sun::star::uno::Any getRepeatCount() const; void setRepeatCount( const ::com::sun::star::uno::Any& rRepeatCount ); @@ -106,10 +104,10 @@ public: void setFill( sal_Int16 nFill ); double getBegin() const { return mfBegin; } - void setBegin( double fBegin ); + SD_DLLPUBLIC void setBegin( double fBegin ); double getDuration() const { return mfDuration; } - void setDuration( double fDuration ); + SD_DLLPUBLIC void setDuration( double fDuration ); double getAbsoluteDuration() const { return mfAbsoluteDuration; } @@ -117,13 +115,13 @@ public: void setName( const String& rName ) { maName = rName; } sal_Int16 getIterateType() const { return mnIterateType; } - void setIterateType( sal_Int16 nIterateType ); + SD_DLLPUBLIC void setIterateType( sal_Int16 nIterateType ); double getIterateInterval() const { return mfIterateInterval; } - void setIterateInterval( double fIterateInterval ); + SD_DLLPUBLIC void setIterateInterval( double fIterateInterval ); ::com::sun::star::uno::Any getTarget() const { return maTarget; } - void setTarget( const ::com::sun::star::uno::Any& rTarget ); + SD_DLLPUBLIC void setTarget( const ::com::sun::star::uno::Any& rTarget ); sal_Bool hasAfterEffect() const { return mbHasAfterEffect; } void setHasAfterEffect( sal_Bool bHasAfterEffect ) { mbHasAfterEffect = bHasAfterEffect; } @@ -165,7 +163,7 @@ public: void setGroupId( sal_Int32 nGroupId ); sal_Int16 getTargetSubItem() const { return mnTargetSubItem; } - void setTargetSubItem( sal_Int16 nSubItem ); + SD_DLLPUBLIC void setTargetSubItem( sal_Int16 nSubItem ); ::rtl::OUString getPath() const; void setPath( const ::rtl::OUString& rPath ); @@ -175,8 +173,8 @@ public: void setAudio( const ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAudio >& xAudio ); bool getStopAudio() const; - void setStopAudio(); - void createAudio( const ::com::sun::star::uno::Any& rSource, double fVolume = 1.0 ); + 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; } @@ -297,7 +295,7 @@ public: 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 ); - void append( const CustomAnimationEffectPtr& pEffect ); + 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 ); @@ -337,7 +335,7 @@ public: // text group methods CustomAnimationTextGroupPtr findGroup( sal_Int32 nGroupId ); - CustomAnimationTextGroupPtr createTextGroup( CustomAnimationEffectPtr pEffect, sal_Int32 nTextGrouping, double fTextGroupingAuto, sal_Bool bAnimateForm, sal_Bool bTextReverse ); + 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 ); diff --git a/sd/inc/CustomAnimationPreset.hxx b/sd/inc/CustomAnimationPreset.hxx index 77b7352056b0..7d826deab9aa 100644 --- a/sd/inc/CustomAnimationPreset.hxx +++ b/sd/inc/CustomAnimationPreset.hxx @@ -59,7 +59,7 @@ public: void add( CustomAnimationEffectPtr pEffect ); - ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode > create( const rtl::OUString& rstrSubType ); + 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; } @@ -108,11 +108,11 @@ public: void init(); - static const CustomAnimationPresets& getCustomAnimationPresets(); + SD_DLLPUBLIC static const CustomAnimationPresets& getCustomAnimationPresets(); ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode > getRandomPreset( sal_Int16 nPresetClass ) const; - CustomAnimationPresetPtr getEffectDescriptor( const rtl::OUString& rPresetId ) 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; diff --git a/sd/inc/animations.hxx b/sd/inc/animations.hxx index 20f9da50f345..a0f5008e4dad 100644 --- a/sd/inc/animations.hxx +++ b/sd/inc/animations.hxx @@ -1,6 +1,8 @@ #ifndef _SD_ANIMATIONS_HXX_ #define _SD_ANIMATIONS_HXX_ +#include <sddllapi.h> + namespace sd { @@ -21,7 +23,7 @@ typedef std::list< AfterEffectNode > AfterEffectNodeList; /** inserts the animation node in the given AfterEffectNode at the correct position in the timing hierarchie of its master */ -void stl_process_after_effect_node_func(AfterEffectNode& rNode); +SD_DLLPUBLIC void stl_process_after_effect_node_func(AfterEffectNode& rNode); } // namespace sd; diff --git a/sd/inc/anminfo.hxx b/sd/inc/anminfo.hxx index 8acb207d8065..0863e5b1f05e 100644 --- a/sd/inc/anminfo.hxx +++ b/sd/inc/anminfo.hxx @@ -38,6 +38,7 @@ #include "anmdef.hxx" #include <svx/svdobj.hxx> #include <tools/color.hxx> +#include <sddllapi.h> class Polygon; class Point; @@ -47,7 +48,6 @@ class SdrObject; class SdrPathObj; class SdDrawDocument; - class SdAnimationInfo : public SdrObjUserData { public: @@ -78,8 +78,8 @@ public: ULONG mnPresOrder; SdrObject& mrObject; - void SetBookmark( const String& rBookmark ); - String GetBookmark(); + SD_DLLPUBLIC void SetBookmark( const String& rBookmark ); + SD_DLLPUBLIC String GetBookmark(); public: SdAnimationInfo(SdrObject& rObject); SdAnimationInfo(const SdAnimationInfo& rAnmInfo, SdrObject& rObject); diff --git a/sd/inc/drawdoc.hxx b/sd/inc/drawdoc.hxx index 8ef84f263d98..4b5a17c3e20d 100644 --- a/sd/inc/drawdoc.hxx +++ b/sd/inc/drawdoc.hxx @@ -33,13 +33,9 @@ #include <com/sun/star/lang/Locale.hpp> #include <com/sun/star/text/WritingMode.hpp> -#ifndef _COM_SUN_STAR_FRAME_XMODEL_HDL_ #include <com/sun/star/frame/XModel.hdl> -#endif #include <vcl/print.hxx> -#ifndef _FM_FMMODEL_HXX #include <svx/fmmodel.hxx> -#endif #include "pres.hxx" #include <svx/pageitem.hxx> #include <unotools/charclass.hxx> @@ -246,7 +242,7 @@ public: SvxNumType GetPageNumType() const; void SetPageNumType(SvxNumType eType) { mePageNumType = eType; } - String CreatePageNumValue(USHORT nNum) const; + SD_DLLPUBLIC String CreatePageNumValue(USHORT nNum) const; DocumentType GetDocumentType() const { return meDocType; } @@ -260,7 +256,7 @@ public: for newly created slides. */ SD_DLLPUBLIC void CreateFirstPages( SdDrawDocument* pRefDocument = 0 ); - BOOL CreateMissingNotesAndHandoutPages(); + SD_DLLPUBLIC BOOL CreateMissingNotesAndHandoutPages(); void MovePage(USHORT nPgNum, USHORT nNewPos); void InsertPage(SdrPage* pPage, USHORT nPos=0xFFFF); @@ -436,7 +432,7 @@ public: /** deprecated*/ SdAnimationInfo* GetAnimationInfo(SdrObject* pObject) const; - static SdAnimationInfo* GetShapeUserData(SdrObject& rObject, bool bCreate = false ); + 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 ); @@ -589,6 +585,10 @@ public: /* 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); private: diff --git a/sd/inc/helper/simplereferencecomponent.hxx b/sd/inc/helper/simplereferencecomponent.hxx index 709e321b0177..0c3f4f4b97bb 100644 --- a/sd/inc/helper/simplereferencecomponent.hxx +++ b/sd/inc/helper/simplereferencecomponent.hxx @@ -34,14 +34,10 @@ #include "osl/interlck.h" #include "sal/types.h" -#ifndef INCLUDED_CSTDDEF #include <cstddef> -#define INCLUDED_CSTDDEF -#endif -#ifndef INCLUDED_NEW #include <new> -#define INCLUDED_NEW -#endif + +#include <sddllapi.h> namespace sd { @@ -60,8 +56,8 @@ public: the total number of calls to release() by a plattform dependent amount (which, hopefully, is quite large). */ - void acquire(); - void release(); + SD_DLLPUBLIC void acquire(); + SD_DLLPUBLIC void release(); void Dispose(); diff --git a/sd/inc/stlpool.hxx b/sd/inc/stlpool.hxx index a924c5d8a995..b8f238802067 100644 --- a/sd/inc/stlpool.hxx +++ b/sd/inc/stlpool.hxx @@ -47,6 +47,8 @@ #include <stlfamily.hxx> #include <stlsheet.hxx> +#include <sddllapi.h> + class SdStyleSheet; class SdDrawDocument; class SdPage; @@ -82,7 +84,7 @@ public: had to be created. This is used to assert errors in documents when styles are missing. */ - void CreateLayoutStyleSheets(const String& rLayoutName, sal_Bool bCheck = sal_False ); + SD_DLLPUBLIC void CreateLayoutStyleSheets(const String& rLayoutName, sal_Bool bCheck = sal_False ); void EraseLayoutStyleSheets(const String& rLayoutName); List* CreateLayoutSheetNames(const String& rLayoutName) const; void CreateLayoutSheetList(const String& rLayoutName, SdStyleSheetVector& rLayoutSheets); @@ -150,6 +152,3 @@ private: }; #endif // _SD_STLPOOL_HXX - - - diff --git a/sd/source/core/drawdoc4.cxx b/sd/source/core/drawdoc4.cxx index ddb1a471d3e0..413323d27e97 100644 --- a/sd/source/core/drawdoc4.cxx +++ b/sd/source/core/drawdoc4.cxx @@ -1543,6 +1543,11 @@ sal_uInt32 SdDrawDocument::convertFontHeightToCTL( sal_uInt32 nWesternFontHeight return nWesternFontHeight; } +SdStyleSheetPool* SdDrawDocument::GetSdStyleSheetPool() const +{ + return dynamic_cast< SdStyleSheetPool* >( GetStyleSheetPool() ); +} + ModifyGuard::ModifyGuard( DrawDocShell* pDocShell ) : mpDocShell( pDocShell ), mpDoc( 0 ) { diff --git a/sd/source/filter/eppt/makefile.mk b/sd/source/filter/eppt/makefile.mk index 66571bf649bf..3b968073f0ce 100644 --- a/sd/source/filter/eppt/makefile.mk +++ b/sd/source/filter/eppt/makefile.mk @@ -51,29 +51,6 @@ SLOFILES = $(SLO)$/eppt.obj \ $(SLO)$/pptexanimations.obj \ $(SLO)$/pptexsoundcollection.obj -SHL1TARGET = emp$(DLLPOSTFIX) -SHL1IMPLIB = eppt -SHL1VERSIONMAP=exports.map -SHL1DEF = $(MISC)$/$(SHL1TARGET).def -SHL1LIBS = $(SLB)$/eppt.lib - -DEF1NAME=$(SHL1TARGET) - -SHL1STDLIBS = $(SVXLIB) \ - $(SFX2LIB) \ - $(SVTOOLLIB) \ - $(SOTLIB) \ - $(GOODIESLIB) \ - $(VCLLIB) \ - $(SOTLIB) \ - $(UNOTOOLSLIB) \ - $(TOOLSLIB) \ - $(UCBHELPERLIB) \ - $(CPPULIB) \ - $(SALLIB) \ - $(COMPHELPERLIB) \ - $(I18NISOLANGLIB) - # --- Targets -------------------------------------------------------------- .INCLUDE : target.mk diff --git a/sd/source/filter/makefile.mk b/sd/source/filter/makefile.mk index 5183c471c59c..969893af6863 100644 --- a/sd/source/filter/makefile.mk +++ b/sd/source/filter/makefile.mk @@ -48,8 +48,6 @@ CDEFS+= -DDBG_ANIM_LOG SLOFILES =\ $(SLO)$/sdfilter.obj \ - $(SLO)$/pptin.obj \ - $(SLO)$/propread.obj \ $(SLO)$/sdpptwrp.obj EXCEPTIONSFILES= \ diff --git a/sd/source/filter/ppt/makefile.mk b/sd/source/filter/ppt/makefile.mk index 2587edf33c17..a0a55b4e977b 100644 --- a/sd/source/filter/ppt/makefile.mk +++ b/sd/source/filter/ppt/makefile.mk @@ -33,6 +33,7 @@ PRJ=..$/..$/.. PRJNAME=sd TARGET=ppt ENABLE_EXCEPTIONS=TRUE +VISIBILITY_HIDDEN=TRUE # --- Settings ----------------------------------------------------- @@ -48,8 +49,10 @@ CDEFS+= -DDBG_ANIM_LOG # --- Files -------------------------------------------------------- SLOFILES = \ - $(SLO)$/pptinanimations.obj\ - $(SLO)$/pptatom.obj\ + $(SLO)$/propread.obj \ + $(SLO)$/pptin.obj \ + $(SLO)$/pptinanimations.obj \ + $(SLO)$/pptatom.obj \ $(SLO)$/ppt97animations.obj # --- Targets -------------------------------------------------------------- diff --git a/sd/source/filter/pptin.cxx b/sd/source/filter/ppt/pptin.cxx index 740c6df9f7c7..b13935699b0f 100644 --- a/sd/source/filter/pptin.cxx +++ b/sd/source/filter/ppt/pptin.cxx @@ -33,14 +33,10 @@ #include <svx/numitem.hxx> -#ifndef _UNOTOOLS_UCBSTREAMHELPER_HXX #include <unotools/ucbstreamhelper.hxx> -#endif #include <vcl/wrkwin.hxx> -#ifndef _SVXIDS_HRC -#include <svx/svxids.hrc> -#endif #include <svtools/urihelper.hxx> +#include <svx/svxids.hrc> #include <svx/svdfppt.hxx> #include <svx/svditer.hxx> #include <sfx2/docfile.hxx> @@ -81,22 +77,18 @@ #include <svx/numitem.hxx> #include <svtools/itempool.hxx> #include <svx/fhgtitem.hxx> -#ifndef _SVX_SVDOPAGE #include <svx/svdopage.hxx> -#endif #include <svx/svdomedia.hxx> #include <svx/svdogrp.hxx> -#include <propread.hxx> +#include "propread.hxx" #include <cusshow.hxx> #include <vcl/bmpacc.hxx> -#include "../ui/inc/DrawDocShell.hxx" -#include <../ui/inc/FrameView.hxx> -#include <../ui/inc/optsitem.hxx> +#include "../../ui/inc/DrawDocShell.hxx" +#include "../../ui/inc/FrameView.hxx" +#include "../../ui/inc/optsitem.hxx" -#ifndef _OFA_FLTRCFG_HXX #include <svtools/fltrcfg.hxx> -#endif #include <sfx2/progress.hxx> #include <unotools/localfilehelper.hxx> #include <svx/editstat.hxx> @@ -104,8 +96,8 @@ #include <sfx2/docfac.hxx> #define MAX_USER_MOVE 2 -#include <ppt/pptinanimations.hxx> -#include <ppt/ppt97animations.hxx> +#include "pptinanimations.hxx" +#include "ppt97animations.hxx" #include <com/sun/star/document/XDocumentProperties.hpp> #include <com/sun/star/document/XDocumentPropertiesSupplier.hpp> @@ -157,7 +149,7 @@ SdPPTImport::SdPPTImport( SdDrawDocument* pDocument, SvStream& rDocStream, SvSto if( pDocument ) { // iterate over all styles - SdStyleSheetPool* pStyleSheetPool = dynamic_cast< SdStyleSheetPool* >( pDocument->GetStyleSheetPool() ); + SdStyleSheetPool* pStyleSheetPool = pDocument->GetSdStyleSheetPool(); sal_uInt32 nStyles = pStyleSheetPool ? pStyleSheetPool->GetStyles().size() : 0; for (sal_uInt32 nStyle = 0; nStyle < nStyles; nStyle++) @@ -521,22 +513,6 @@ sal_Bool ImplSdPPTImport::Import() pHyperlink->aConvSubString.Append( mpDoc->CreatePageNumValue( (USHORT)nPageNumber + 1 ) ); } } - else // searching for "FIRST" or "LAST" page - { - for ( nToken = 0; nToken < nTokenCount; nToken++ ) - { - if ( aStringAry[ nToken ] == "FIRST" ) - { - pHyperlink->aConvSubString = String( RTL_CONSTASCII_USTRINGPARAM( "action?jump=firstslide" ) ); - break; - } - else if ( aStringAry[ nToken ] == "LAST" ) - { - pHyperlink->aConvSubString = String( RTL_CONSTASCII_USTRINGPARAM( "action?jump=lastslide" ) ); - break; - } - } - } } aHyperList.Insert( pHyperlink, LIST_APPEND ); } @@ -2615,13 +2591,13 @@ SdrObject* ImplSdPPTImport::ProcessObj( SvStream& rSt, DffObjData& rObjData, voi // Animationseffekte des Objektes lesen if ( pObj ) { - // further setup placeholder objects
- if( pObj->ISA(SdrPageObj) && pData )
- {
- const ProcessData* pProcessData=(const ProcessData*)pData;
- if( pProcessData->pPage )
- pProcessData->pPage->InsertPresObj( pObj, PRESOBJ_PAGE );
- }
+ // further setup placeholder objects + if( pObj->ISA(SdrPageObj) && pData ) + { + const ProcessData* pProcessData=(const ProcessData*)pData; + if( pProcessData->pPage ) + pProcessData->pPage->InsertPresObj( pObj, PRESOBJ_PAGE ); + } BOOL bInhabitanceChecked = FALSE; BOOL bAnimationInfoFound = FALSE; @@ -2764,3 +2740,24 @@ SdrObject* ImplSdPPTImport::ProcessObj( SvStream& rSt, DffObjData& rObjData, voi return pObj; } +// --------------------- +// - exported function - +// --------------------- + +extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL ImportPPT( const ::rtl::OUString& rConfigPath, + uno::Sequence< beans::PropertyValue >* pConfigData, + SdDrawDocument* pDocument, SvStream& rDocStream, SvStorage& rStorage, SfxMedium& rMedium ) +{ + sal_Bool bRet = sal_False; + + MSFilterTracer aTracer( rConfigPath, pConfigData ); + aTracer.StartTracing(); + + SdPPTImport* pImport = new SdPPTImport( pDocument, rDocStream, rStorage, rMedium, &aTracer ); + bRet = pImport->Import(); + + aTracer.EndTracing(); + delete pImport; + + return bRet; +} diff --git a/sd/source/filter/pptin.hxx b/sd/source/filter/ppt/pptin.hxx index 59d59eece151..59d59eece151 100644 --- a/sd/source/filter/pptin.hxx +++ b/sd/source/filter/ppt/pptin.hxx diff --git a/sd/source/filter/ppt/pptinanimations.cxx b/sd/source/filter/ppt/pptinanimations.cxx index 930650396cdb..1dabd27800d8 100644 --- a/sd/source/filter/ppt/pptinanimations.cxx +++ b/sd/source/filter/ppt/pptinanimations.cxx @@ -75,7 +75,7 @@ #include <svx/editobj.hxx> #include <pptinanimations.hxx> #include <pptatom.hxx> -#include "../pptin.hxx" +#include "pptin.hxx" #include <algorithm> using ::std::map; diff --git a/sd/source/filter/propread.cxx b/sd/source/filter/ppt/propread.cxx index e6c12afe805e..e6c12afe805e 100644 --- a/sd/source/filter/propread.cxx +++ b/sd/source/filter/ppt/propread.cxx diff --git a/sd/source/filter/propread.hxx b/sd/source/filter/ppt/propread.hxx index 93f7d29f947d..93f7d29f947d 100644 --- a/sd/source/filter/propread.hxx +++ b/sd/source/filter/ppt/propread.hxx diff --git a/sd/source/filter/sdpptwrp.cxx b/sd/source/filter/sdpptwrp.cxx index 01e38996d2c2..8c1674dbf789 100644 --- a/sd/source/filter/sdpptwrp.cxx +++ b/sd/source/filter/sdpptwrp.cxx @@ -40,7 +40,7 @@ #include <svtools/fltrcfg.hxx> #include "sdpptwrp.hxx" -#include "pptin.hxx" +#include "ppt/pptin.hxx" #include "drawdoc.hxx" #include <tools/urlobj.hxx> #include <svx/msfiltertracer.hxx> @@ -60,6 +60,9 @@ typedef BOOL ( __LOADONCALLAPI *ExportPPT )( SvStorageRef&, Reference< XStatusIndicator > &, SvMemoryStream*, sal_uInt32 nCnvrtFlags ); +typedef sal_Bool ( SAL_CALL *ImportPPT )( const ::rtl::OUString&, Sequence< PropertyValue >*, + SdDrawDocument*, SvStream&, SvStorage&, SfxMedium& ); + // --------------- // - SdPPTFilter - // --------------- @@ -111,16 +114,18 @@ sal_Bool SdPPTFilter::Import() mrMedium.SetError( ERRCODE_SVX_READ_FILTER_PPOINT, ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( OSL_LOG_PREFIX ) ) ); else { - MSFilterTracer aTracer( aTraceConfigPath, &aConfigData ); - aTracer.StartTracing(); - - SdPPTImport* pImport = new SdPPTImport( &mrDocument, *pDocStream, *pStorage, mrMedium, &aTracer ); - if ( ( bRet = pImport->Import() ) == sal_False ) - mrMedium.SetError( SVSTREAM_WRONGVERSION, ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( OSL_LOG_PREFIX ) ) ); + ::osl::Module* pLibrary = OpenLibrary( mrMedium.GetFilter()->GetUserData() ); + if ( pLibrary ) + { + ImportPPT PPTImport = reinterpret_cast< ImportPPT >( pLibrary->getFunctionSymbol( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ImportPPT" ) ) ) ); + if ( PPTImport ) + bRet = PPTImport( aTraceConfigPath, &aConfigData, &mrDocument, *pDocStream, *pStorage, mrMedium ); - aTracer.EndTracing(); - delete pImport; + if ( !bRet ) + mrMedium.SetError( SVSTREAM_WRONGVERSION, ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( OSL_LOG_PREFIX ) ) ); + } } + delete pDocStream; } } diff --git a/sd/source/ui/dlg/ins_paste.cxx b/sd/source/ui/dlg/ins_paste.cxx index 422acbec4a73..9f2c3bf0b6b6 100644 --- a/sd/source/ui/dlg/ins_paste.cxx +++ b/sd/source/ui/dlg/ins_paste.cxx @@ -31,10 +31,6 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_sd.hxx" -#ifdef SD_DLLIMPLEMENTATION -#undef SD_DLLIMPLEMENTATION -#endif - #include "ins_paste.hrc" #include "ins_paste.hxx" diff --git a/sd/source/ui/dlg/sdtreelb.cxx b/sd/source/ui/dlg/sdtreelb.cxx index 09f2b1b09c5b..9d335b859e31 100644 --- a/sd/source/ui/dlg/sdtreelb.cxx +++ b/sd/source/ui/dlg/sdtreelb.cxx @@ -86,7 +86,13 @@ public: }; -BOOL SdPageObjsTLB::bIsInDrag = FALSE; +BOOL SD_DLLPRIVATE SdPageObjsTLB::bIsInDrag = FALSE; + +BOOL SdPageObjsTLB::IsInDrag() +{ + return bIsInDrag; +} + sal_uInt32 SdPageObjsTLB::SdPageObjsTransferable::mnListBoxDropFormatId = SAL_MAX_UINT32; // ----------------------------------------- diff --git a/sd/source/ui/docshell/docshell.cxx b/sd/source/ui/docshell/docshell.cxx index f66c1d130564..f9381d08a219 100644 --- a/sd/source/ui/docshell/docshell.cxx +++ b/sd/source/ui/docshell/docshell.cxx @@ -118,9 +118,6 @@ namespace sd { GraphicFilter* GetGrfFilter(); -SfxProgress* DrawDocShell::mpSpecialProgress = NULL; -Link* DrawDocShell::mpSpecialProgressHdl = NULL; - /************************************************************************* |* |* SFX-Slotmaps und -Definitionen @@ -526,7 +523,6 @@ void DrawDocShell::ApplySlotFilter() const } } - void DrawDocShell::SetModified( BOOL bSet /* = TRUE */ ) { SfxObjectShell::SetModified( bSet ); diff --git a/sd/source/ui/inc/DrawDocShell.hxx b/sd/source/ui/inc/DrawDocShell.hxx index e6d9aacc3398..fb2d83ba4be9 100644 --- a/sd/source/ui/inc/DrawDocShell.hxx +++ b/sd/source/ui/inc/DrawDocShell.hxx @@ -164,11 +164,6 @@ public: UINT16 GetStyleFamily() const { return mnStyleFamily; } void SetStyleFamily( UINT16 nSF ) { mnStyleFamily = nSF; } - BOOL HasSpecialProgress() const { return ( mpSpecialProgress != NULL && mpSpecialProgressHdl != NULL ); } - void ReleaseSpecialProgress() { mpSpecialProgress = NULL; mpSpecialProgressHdl = NULL; } - void SetSpecialProgress( SfxProgress* _pProgress, Link* pLink ) { mpSpecialProgress = _pProgress; mpSpecialProgressHdl = pLink; } - SfxProgress* GetSpecialProgress() { return( HasSpecialProgress() ? mpSpecialProgress : NULL ); } - sal_Bool IsNewDocument() const; /** executes the SID_OPENDOC slot to let the framework open a document @@ -235,9 +230,6 @@ protected: BOOL mbOwnPrinter; BOOL mbNewDocument; - static SfxProgress* mpSpecialProgress; - static Link* mpSpecialProgressHdl; - bool mbOwnDocument; // if true, we own mpDoc and will delete it in our d'tor void Construct(bool bClipboard); virtual void InPlaceActivate( BOOL bActive ); diff --git a/sd/source/ui/inc/FrameView.hxx b/sd/source/ui/inc/FrameView.hxx index a7b883b039b5..d458efbd79c6 100644 --- a/sd/source/ui/inc/FrameView.hxx +++ b/sd/source/ui/inc/FrameView.hxx @@ -49,7 +49,7 @@ class FrameView : public SdrView { public: - FrameView(SdDrawDocument* pDrawDoc, FrameView* pFrameView = NULL ); + SD_DLLPUBLIC FrameView(SdDrawDocument* pDrawDoc, FrameView* pFrameView = NULL ); FrameView(const FrameView& rFrameView); virtual ~FrameView(); @@ -106,7 +106,7 @@ public: /** can be used to get the page kind that was selected on last save of this document */ PageKind GetPageKindOnLoad() const { return mePageKindOnLoad; } - void SetSelectedPage (USHORT nPage); + SD_DLLPUBLIC void SetSelectedPage (USHORT nPage); USHORT GetSelectedPage () const; /** is used in FrameView::ReadUserDataSequence() only to store the @@ -116,7 +116,7 @@ public: /** can be used to get the page that was selected on last save of this document */ USHORT GetSelectedPageOnLoad () const { return mnSelectedPageOnLoad; } - void SetViewShEditMode(EditMode eMode, PageKind eKind); + SD_DLLPUBLIC void SetViewShEditMode(EditMode eMode, PageKind eKind); EditMode GetViewShEditMode (PageKind eKind); /** Remember the edit mode of the main view shell at the time when the diff --git a/sd/source/ui/inc/ins_paste.hxx b/sd/source/ui/inc/ins_paste.hxx index c9545cc80866..e12533de0ab3 100644 --- a/sd/source/ui/inc/ins_paste.hxx +++ b/sd/source/ui/inc/ins_paste.hxx @@ -31,18 +31,10 @@ #ifndef _SD_INS_PASTE_HXX_ #define _SD_INS_PASTE_HXX_ -#ifndef _BUTTON_HXX //autogen #include <vcl/button.hxx> -#endif -#ifndef _FIXED_HXX //autogen #include <vcl/fixed.hxx> -#endif -#ifndef _DIALOG_HXX //autogen #include <vcl/dialog.hxx> -#endif -#ifndef _SD_SDRESID_HXX #include "sdresid.hxx" -#endif // -------------------- // - SdInsertPasteDlg - diff --git a/sd/source/ui/inc/sdtreelb.hxx b/sd/source/ui/inc/sdtreelb.hxx index 551a6e15ae70..4fc2c12ad71b 100644 --- a/sd/source/ui/inc/sdtreelb.hxx +++ b/sd/source/ui/inc/sdtreelb.hxx @@ -71,7 +71,7 @@ class SD_DLLPUBLIC SdPageObjsTLB : public SvTreeListBox { private: - static BOOL bIsInDrag; // static, falls der Navigator im ExecuteDrag geloescht wird + static BOOL SD_DLLPRIVATE bIsInDrag; // static, falls der Navigator im ExecuteDrag geloescht wird public: @@ -219,7 +219,7 @@ public: BOOL IsLinkableSelected() const { return mbLinkableSelected; } - static BOOL IsInDrag() { return bIsInDrag; } + static BOOL IsInDrag(); using SvLBox::ExecuteDrop; private: diff --git a/sd/source/ui/unoidl/randomnode.cxx b/sd/source/ui/unoidl/randomnode.cxx index d3b0525baa19..a08c5853c390 100644 --- a/sd/source/ui/unoidl/randomnode.cxx +++ b/sd/source/ui/unoidl/randomnode.cxx @@ -171,7 +171,7 @@ static const sal_Char* pSN2 = "com.sun.star.comp.sd.RandomAnimationNode"; // -------------------------------------------------------------------- -Reference< XInterface > RandomAnimationNode_createInstance( sal_Int16 nPresetClass ) +SD_DLLPUBLIC Reference< XInterface > RandomAnimationNode_createInstance( sal_Int16 nPresetClass ) { Reference< XInterface > xInt( static_cast<XWeak*>( new RandomAnimationNode( nPresetClass ) ) ); return xInt; diff --git a/sd/util/makefile.mk b/sd/util/makefile.mk index 3229fc486b83..0b84a957d046 100644 --- a/sd/util/makefile.mk +++ b/sd/util/makefile.mk @@ -65,6 +65,7 @@ SHL1IMPLIB= sdi # dynamic libraries SHL1STDLIBS+= \ + $(SVXCORELIB) \ $(SVXLIB) \ $(SFXLIB) \ $(BASICLIB) \ @@ -129,7 +130,6 @@ LIB5FILES= \ $(SLB)$/html.lib \ $(SLB)$/filter.lib \ $(SLB)$/unoidl.lib \ - $(SLB)$/ppt.lib \ $(SLB)$/animui.lib \ $(SLB)$/accessibility.lib \ $(SLB)$/toolpanel.lib \ @@ -161,7 +161,7 @@ DEF2NAME= $(SHL2TARGET) SHL2STDLIBS= \ $(SFX2LIB) \ - $(SVXLIB) \ + $(SVXCORELIB) \ $(SVTOOLLIB) \ $(SVLLIB) \ $(VCLLIB) \ @@ -193,6 +193,7 @@ LIB4FILES= \ SHL4STDLIBS= \ $(ISDLIB) \ + $(SVXCORELIB) \ $(SVXLIB) \ $(SFXLIB) \ $(BASEGFXLIB) \ @@ -227,10 +228,40 @@ SHL4OBJS += $(SLO)$/pchname.obj \ # $(ISDLIB) is build in SHL1TARGET .IF "$(GUI)" == "UNX" SHL4DEPN=$(SHL1TARGETN) +SHL5DEPN=$(SHL1TARGETN) .ELSE SHL4DEPN=$(SHL1IMPLIBN) +SHL5DEPN=$(SHL1IMPLIBN) .ENDIF +# ppt import/export library +SHL5TARGET = sdfilt$(DLLPOSTFIX) +SHL5IMPLIB = sdfilti +SHL5VERSIONMAP= sdfilt.map +SHL5DEF = $(MISC)$/$(SHL5TARGET).def +SHL5LIBS = $(SLB)$/ppt.lib $(SLB)$/eppt.lib + +DEF5NAME=$(SHL5TARGET) + +SHL5STDLIBS = $(ISDLIB) \ + $(SVXCORELIB) \ + $(SVXMSFILTERLIB) \ + $(SFX2LIB) \ + $(SVTOOLLIB) \ + $(SOTLIB) \ + $(GOODIESLIB) \ + $(VCLLIB) \ + $(SVLLIB) \ + $(SOTLIB) \ + $(UNOTOOLSLIB) \ + $(TOOLSLIB) \ + $(UCBHELPERLIB) \ + $(CPPUHELPERLIB) \ + $(CPPULIB) \ + $(SALLIB) \ + $(COMPHELPERLIB) \ + $(I18NISOLANGLIB) + # --- Targets ------------------------------------------------------------- .INCLUDE : target.mk diff --git a/sd/source/filter/eppt/exports.map b/sd/util/sdfilt.map index 4a57b5069353..ac6b782f3145 100644 --- a/sd/source/filter/eppt/exports.map +++ b/sd/util/sdfilt.map @@ -1,6 +1,7 @@ PPTEXPORTER_1_0 { global: ExportPPT; + ImportPPT; local: *; |