diff options
author | Vladimir Glazounov <vg@openoffice.org> | 2007-04-11 20:18:53 +0000 |
---|---|---|
committer | Vladimir Glazounov <vg@openoffice.org> | 2007-04-11 20:18:53 +0000 |
commit | 443f82284ae00225fccbd3dffe42cf4e1485b0e2 (patch) | |
tree | 43a56c5ba15d4a623b65c088f272e958e199e41e /sfx2/inc | |
parent | 5a9184d9e270e0ec0fe4b378c5cfde54ede095fa (diff) |
INTEGRATION: CWS hedaburemove01 (1.1.2); FILE ADDED
2007/02/09 16:14:41 vg 1.1.2.1: #72503# get rid of hedabu procedure: Moving headers to sfx2/inc/sfx2 and correspondent necessary changes
Diffstat (limited to 'sfx2/inc')
-rw-r--r-- | sfx2/inc/sfx2/docfac.hxx | 160 | ||||
-rw-r--r-- | sfx2/inc/sfx2/docfilt.hxx | 181 |
2 files changed, 341 insertions, 0 deletions
diff --git a/sfx2/inc/sfx2/docfac.hxx b/sfx2/inc/sfx2/docfac.hxx new file mode 100644 index 000000000000..b07348e3479b --- /dev/null +++ b/sfx2/inc/sfx2/docfac.hxx @@ -0,0 +1,160 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: docfac.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: vg $ $Date: 2007-04-11 21:18:34 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ +#ifndef _SFX_OBJFAC_HXX +#define _SFX_OBJFAC_HXX + +#ifndef _SAL_CONFIG_H_ +#include "sal/config.h" +#endif + +#ifndef INCLUDED_SFX2_DLLAPI_H +#include "sfx2/dllapi.h" +#endif + +#ifndef _SAL_TYPES_H_ +#include <sal/types.h> +#endif +#ifndef _SOLAR_H +#include <tools/solar.h> +#endif + +#ifndef _RTTI_HXX //autogen +#include <tools/rtti.hxx> +#endif + +// SFX_IMPL_MODULE_LIB +#ifndef _VOS_MODULE_HXX_ +#include <vos/module.hxx> +#endif +#ifndef _RTL_USTRING_HXX_ +#include <rtl/ustring.hxx> +#endif + +#include <sfx2/objsh.hxx> +#include <sfx2/sfxdefs.hxx> + +class SfxObjectFactoryArr_Impl; +class SfxMedium; +class SfxFilter; +class SfxViewFactory; +struct SfxObjectFactory_Impl; +class SfxFilterContainer; +class SfxBindings; + +//==================================================================== + +typedef void (*SfxVoidFunc)(); + +#define SDT_SDT_DOCFACTPRIO 10 // Explorer +#define SDT_SW_DOCFACTPRIO 20 // Text-Dokument +#define SDT_SWW_DOCFACTPRIO 21 // Web-Dokument +#define SDT_SC_DOCFACTPRIO 30 // Tabellen-Dokument +#define SDT_SI_DOCFACTPRIO 40 // Impress-Dokument +#define SDT_SD_DOCFACTPRIO 41 // Draw-Dokument +#define SDT_SCH_DOCFACTPRIO 50 // Chart-Dokument +#define SDT_SMA_DOCFACTPRIO 60 // Math-Dokument +#define SDT_SIM_DOCFACTPRIO 70 // Image-Dokument +#define SDT_FRM_DOCFACTPRIO 100 // Rahmen-Dokument +#define SDT_MSG_DOCFACTPRIO 110 // Nachrichten-Dokument +#define SDT_SDB_DOCFACTPRIO 200 // Datenbank-Dokument + +//==================================================================== + +class SFX2_DLLPUBLIC SfxObjectFactory +{ +private: + const char* pShortName; // Objekt-Kurzname + SfxObjectFactory_Impl* pImpl; // Zusatzdaten + SfxObjectShellFlags nFlags; + SAL_DLLPRIVATE void Construct(); + +public: + SfxObjectFactory( const SvGlobalName &rName, SfxObjectShellFlags nFlags, const char* pShortName ); + ~SfxObjectFactory(); + + const SvGlobalName& GetClassId() const; + SfxObjectShellFlags GetFlags() { return nFlags; } + const char* GetShortName() const { return pShortName; } + String GetFactoryName() const { return String::CreateFromAscii( pShortName ); } + String GetModuleName() const; + void SetDocumentTypeNameResource( const ResId& rId ); + String GetDocumentTypeName() const; + SfxFilterContainer *GetFilterContainer( BOOL bForceLoad = TRUE) const; + + // Views + void RegisterViewFactory(SfxViewFactory &rFactory); + USHORT GetViewFactoryCount() const; + SfxViewFactory& GetViewFactory(USHORT i = 0) const; + + // Filter + const SfxFilter* GetTemplateFilter() const; + static String GetStandardTemplate( const String& rServiceName ); + static void SetStandardTemplate( const String& rServiceName, const String& rTemplateName ); + + void SetDocumentServiceName( const rtl::OUString& rServiceName ); + const rtl::OUString& GetDocumentServiceName() const; + + SfxModule* GetModule() const; + +//#if 0 // _SOLAR__PRIVATE + SAL_DLLPRIVATE void SetModule_Impl( SfxModule* ); + SAL_DLLPRIVATE static void UpdateFilterContainers_Impl(); +//#endif + +private: + // Kopieren verboten + SAL_DLLPRIVATE SfxObjectFactory(const SfxObjectFactory&); + SAL_DLLPRIVATE const SfxObjectFactory& operator=(const SfxObjectFactory &); +}; + +//========================================================================= + +#define SFX_DECL_OBJECTFACTORY() \ +private: \ + static SfxObjectFactory* pObjectFactory; \ +public: \ + static SfxObjectFactory& Factory(); \ + virtual SfxObjectFactory& GetFactory() const { return Factory(); } + +#define SFX_IMPL_OBJECTFACTORY(ClassName,GlobName,Flags,ShortName) \ + SfxObjectFactory* ClassName::pObjectFactory = 0; \ + SfxObjectFactory& ClassName::Factory() \ + { if (!pObjectFactory) \ + pObjectFactory = \ + new SfxObjectFactory( GlobName, Flags, ShortName ); \ + return *pObjectFactory; \ + } +#endif // #ifndef _SFX_OBJFAC_HXX + diff --git a/sfx2/inc/sfx2/docfilt.hxx b/sfx2/inc/sfx2/docfilt.hxx new file mode 100644 index 000000000000..e29ded287891 --- /dev/null +++ b/sfx2/inc/sfx2/docfilt.hxx @@ -0,0 +1,181 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: docfilt.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: vg $ $Date: 2007-04-11 21:18:53 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ +#ifndef _SFX_DOCFILT_HACK_HXX +#define _SFX_DOCFILT_HACK_HXX + +#ifndef _SAL_CONFIG_H_ +#include "sal/config.h" +#endif + +#ifndef INCLUDED_SFX2_DLLAPI_H +#include "sfx2/dllapi.h" +#endif + +#ifndef _SAL_TYPES_H_ +#include "sal/types.h" +#endif +#ifndef _COM_SUN_STAR_PLUGIN_PLUGINDESCRIPTION_HPP_ +#include <com/sun/star/plugin/PluginDescription.hpp> +#endif +#ifndef _COM_SUN_STAR_EMBED_XSTORAGE_HPP_ +#include <com/sun/star/embed/XStorage.hpp> +#endif + +#ifndef _COM_SUN_STAR_BEANS_UNKNOWNPROPERTYEXCEPTION_HPP_ +#include <com/sun/star/beans/UnknownPropertyException.hpp> +#endif +#ifndef _COM_SUN_STAR_LANG_WRAPPEDTARGETEXCEPTION_HPP_ +#include <com/sun/star/lang/WrappedTargetException.hpp> +#endif +#ifndef _COM_SUN_STAR_UNO_RUNTIMEEXCEPTION_HPP_ +#include <com/sun/star/uno/RuntimeException.hpp> +#endif + +#ifndef _WLDCRD_HXX //autogen +#include <tools/wldcrd.hxx> +#endif + +#define SFX_FILTER_IMPORT 0x00000001L +#define SFX_FILTER_EXPORT 0x00000002L +#define SFX_FILTER_TEMPLATE 0x00000004L +#define SFX_FILTER_INTERNAL 0x00000008L +#define SFX_FILTER_TEMPLATEPATH 0x00000010L +#define SFX_FILTER_OWN 0x00000020L +#define SFX_FILTER_ALIEN 0x00000040L +#define SFX_FILTER_USESOPTIONS 0x00000080L +#define SFX_FILTER_NOTINFILEDLG 0x00001000L +#define SFX_FILTER_NOTINCHOOSER 0x00002000L + +#define SFX_FILTER_DEFAULT 0x00000100L +#define SFX_FILTER_EXECUTABLE 0x00000200L +#define SFX_FILTER_SUPPORTSSELECTION 0x00000400L +#define SFX_FILTER_MAPTOAPPPLUG 0x00000800L +#define SFX_FILTER_ASYNC 0x00004000L +// Legt Objekt nur an, kein Laden +#define SFX_FILTER_CREATOR 0x00008000L +#define SFX_FILTER_OPENREADONLY 0x00010000L +#define SFX_FILTER_MUSTINSTALL 0x00020000L +#define SFX_FILTER_CONSULTSERVICE 0x00040000L + +#define SFX_FILTER_STARONEFILTER 0x00080000L +#define SFX_FILTER_PACKED 0x00100000L +#define SFX_FILTER_SILENTEXPORT 0x00200000L + +#define SFX_FILTER_BROWSERPREFERED 0x00400000L +#define SFX_FILTER_PREFERED 0x10000000L + +#define SFX_FILTER_VERSION_NONE 0 +#define SFX_FILTER_NOTINSTALLED SFX_FILTER_MUSTINSTALL | SFX_FILTER_CONSULTSERVICE + +#include <sfx2/sfxdefs.hxx> + +//======================================================================== +class SfxFilterContainer; +class SotStorage; +class SFX2_DLLPUBLIC SfxFilter +{ +friend class SfxFilterContainer; + + WildCard aWildCard; + ULONG lFormat; + String aTypeName; + String aUserData; + SfxFilterFlags nFormatType; + USHORT nDocIcon; + String aServiceName; + String aMimeType; + String aFilterName; + String aPattern; + ULONG nVersion; + String aUIName; + String aDefaultTemplate; + +public: + SfxFilter( const String &rName, + const String &rWildCard, + SfxFilterFlags nFormatType, + sal_uInt32 lFormat, + const String &rTypeName, + USHORT nDocIcon, + const String &rMimeType, + const String &rUserData, + const String& rServiceName ); + ~SfxFilter(); + + bool IsAllowedAsTemplate() const { return nFormatType & SFX_FILTER_TEMPLATE; } + bool IsOwnFormat() const { return nFormatType & SFX_FILTER_OWN; } + bool IsOwnTemplateFormat() const { return nFormatType & SFX_FILTER_TEMPLATEPATH; } + bool IsAlienFormat() const { return nFormatType & SFX_FILTER_ALIEN; } + bool CanImport() const { return nFormatType & SFX_FILTER_IMPORT; } + bool CanExport() const { return nFormatType & SFX_FILTER_EXPORT; } + bool IsInternal() const { return nFormatType & SFX_FILTER_INTERNAL; } + SfxFilterFlags GetFilterFlags() const { return nFormatType; } + const String& GetFilterName() const { return aFilterName; } + const String& GetMimeType() const { return aMimeType; } + const String& GetName() const { return aFilterName; } + const WildCard& GetWildcard() const { return aWildCard; } + const String& GetRealTypeName() const { return aTypeName; } + ULONG GetFormat() const { return lFormat; } + const String& GetTypeName() const { return aTypeName; } + const String& GetUIName() const { return aUIName; } + USHORT GetDocIconId() const { return nDocIcon; } + const String& GetUserData() const { return aUserData; } + const String& GetDefaultTemplate() const { return aDefaultTemplate; } + void SetDefaultTemplate( const String& rStr ) { aDefaultTemplate = rStr; } + BOOL UsesStorage() const { return GetFormat() != 0; } + void SetURLPattern( const String& rStr ) { aPattern = rStr; aPattern.ToLowerAscii(); } + String GetURLPattern() const { return aPattern; } + void SetUIName( const String& rName ) { aUIName = rName; } + void SetVersion( ULONG nVersionP ) { nVersion = nVersionP; } + ULONG GetVersion() const { return nVersion; } + String GetSuffixes() const; + String GetDefaultExtension() const; + const String& GetServiceName() const { return aServiceName; } + + static const SfxFilter* GetDefaultFilter( const String& rName ); + static const SfxFilter* GetFilterByName( const String& rName ); + static const SfxFilter* GetDefaultFilterFromFactory( const String& rServiceName ); + + static String GetTypeFromStorage( const SotStorage& rStg ); + static String GetTypeFromStorage( const com::sun::star::uno::Reference< com::sun::star::embed::XStorage >& xStorage, + BOOL bTemplate = FALSE, + String* pName=0 ) + throw ( ::com::sun::star::beans::UnknownPropertyException, + ::com::sun::star::lang::WrappedTargetException, + ::com::sun::star::uno::RuntimeException ); +}; + +#endif + |