diff options
Diffstat (limited to 'sfx2/inc')
-rw-r--r-- | sfx2/inc/about.hxx | 122 | ||||
-rw-r--r-- | sfx2/inc/arrdecl.hxx | 130 | ||||
-rw-r--r-- | sfx2/inc/basmgr.hxx | 170 | ||||
-rw-r--r-- | sfx2/inc/bitset.hxx | 293 | ||||
-rw-r--r-- | sfx2/inc/configmgr.hxx | 73 | ||||
-rw-r--r-- | sfx2/inc/dinfedt.hxx | 120 | ||||
-rw-r--r-- | sfx2/inc/docvor.hxx | 183 | ||||
-rw-r--r-- | sfx2/inc/frmload.hxx | 221 | ||||
-rw-r--r-- | sfx2/inc/idpool.hxx | 97 | ||||
-rw-r--r-- | sfx2/inc/imgmgr.hxx | 155 | ||||
-rw-r--r-- | sfx2/inc/inettbc.hxx | 163 | ||||
-rw-r--r-- | sfx2/inc/mieclip.hxx | 130 | ||||
-rw-r--r-- | sfx2/inc/minfitem.hxx | 115 | ||||
-rw-r--r-- | sfx2/inc/msgnodei.hxx | 269 | ||||
-rw-r--r-- | sfx2/inc/orgmgr.hxx | 133 | ||||
-rw-r--r-- | sfx2/inc/progind.hxx | 127 | ||||
-rw-r--r-- | sfx2/inc/resmgr.hxx | 109 | ||||
-rw-r--r-- | sfx2/inc/sfxbasic.hxx | 76 | ||||
-rw-r--r-- | sfx2/inc/sfxhelp.hxx | 311 | ||||
-rw-r--r-- | sfx2/inc/sfxresid.hxx | 92 | ||||
-rw-r--r-- | sfx2/inc/stbitem.hxx | 143 | ||||
-rw-r--r-- | sfx2/inc/tplpitem.hxx | 92 | ||||
-rw-r--r-- | sfx2/inc/viewfac.hxx | 102 |
23 files changed, 3426 insertions, 0 deletions
diff --git a/sfx2/inc/about.hxx b/sfx2/inc/about.hxx new file mode 100644 index 000000000000..5f2076b5e776 --- /dev/null +++ b/sfx2/inc/about.hxx @@ -0,0 +1,122 @@ +/************************************************************************* + * + * $RCSfile: about.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:52:22 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 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 + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#ifndef _ABOUT_HXX +#define _ABOUT_HXX + +// include --------------------------------------------------------------- + +#ifndef _RESARY_HXX //autogen +#include <vcl/resary.hxx> +#endif +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif +#ifndef _ACCEL_HXX //autogen +#include <vcl/accel.hxx> +#endif +#ifndef _LIST_HXX //autogen +#include <tools/list.hxx> +#endif +#ifndef _STDCTRL_HXX //autogen +#include <svtools/stdctrl.hxx> +#endif +#include "basedlgs.hxx" // SfxModalDialog + +DECLARE_LIST( AccelList, Accelerator* ) + +// class AboutDialog ----------------------------------------------------- + +class AboutDialog : public SfxModalDialog +{ +private: + OKButton aOKButton; + Image aAppLogo; + + FixedInfo aVersionText; + FixedInfo aCopyrightText; + + ResStringArray aDeveloperAry; + String aDevVersionStr; + String aAccelStr; + + AccelList aAccelList; + + AutoTimer aTimer; + long nOff; + long nEnd; + + BOOL bNormal; + +protected: + virtual BOOL Close(); + virtual void Paint( const Rectangle& ); + +public: + AboutDialog( Window* pParent, const ResId& rId, const String& rVerStr ); + ~AboutDialog(); + + DECL_LINK( TimerHdl, Timer * ); + DECL_LINK( AccelSelectHdl, Accelerator * ); +}; + +#endif // #ifndef _ABOUT_HXX + + diff --git a/sfx2/inc/arrdecl.hxx b/sfx2/inc/arrdecl.hxx new file mode 100644 index 000000000000..b240d8ec734a --- /dev/null +++ b/sfx2/inc/arrdecl.hxx @@ -0,0 +1,130 @@ +/************************************************************************* + * + * $RCSfile: arrdecl.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:52:22 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 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 + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#ifndef _SFX_ARRDECL_HXX +#define _SFX_ARRDECL_HXX + +#include <tools/list.hxx> + +#ifndef _SVARRAY_HXX +#include <svtools/svarray.hxx> +#endif +#include "minarray.hxx" + +struct CntUpdateResult; + +SV_DECL_PTRARR_DEL(CntUpdateResults_Impl, CntUpdateResult*, 4, 4); + +class SfxObjectShell; +SV_DECL_PTRARR( SfxObjectShellArr_Impl, SfxObjectShell*, 4, 4 ); + +class SfxViewFrame; +SV_DECL_PTRARR( SfxViewFrameArr_Impl, SfxViewFrame*, 4, 4 ); + +class SfxViewShell; +SV_DECL_PTRARR( SfxViewShellArr_Impl, SfxViewShell*, 4, 4 ); + +class SfxObjectFactory; +SV_DECL_PTRARR( SfxObjectFactoryArr_Impl, SfxObjectFactory*, 3, 3 ); + +struct SfxTbxCtrlFactory; +SV_DECL_PTRARR_DEL( SfxTbxCtrlFactArr_Impl, SfxTbxCtrlFactory*, 8, 4 ); + +struct SfxStbCtrlFactory; +SV_DECL_PTRARR_DEL( SfxStbCtrlFactArr_Impl, SfxStbCtrlFactory*, 8, 4 ); + +struct SfxMenuCtrlFactory; +SV_DECL_PTRARR_DEL( SfxMenuCtrlFactArr_Impl, SfxMenuCtrlFactory*, 2, 2 ); + +struct SfxChildWinFactory; +SV_DECL_PTRARR_DEL( SfxChildWinFactArr_Impl, SfxChildWinFactory*, 2, 2 ); + +class SfxModule; +SV_DECL_PTRARR( SfxModuleArr_Impl, SfxModule*, 2, 2 ); + +class AsynchronLink; +SV_DECL_PTRARR_DEL( AsynchronLinkArr_Impl, AsynchronLink*, 2, 2 ); + +class SfxFilter; +DECL_PTRARRAY( SfxFilterArr_Impl, SfxFilter*, 4, 4 ); + +class SfxFrame; +typedef SfxFrame* SfxFramePtr; +SV_DECL_PTRARR( SfxFrameArr_Impl, SfxFramePtr, 4, 4 ); + +DECLARE_LIST( SfxFilterList_Impl, SfxFilter* ); + +struct SfxExternalLib_Impl; +typedef SfxExternalLib_Impl* SfxExternalLibPtr; +SV_DECL_PTRARR_DEL( SfxExternalLibArr_Impl, SfxExternalLibPtr, 2, 2 ); + +//class XEventListenerRef; +//typedef XEventListenerRef* XEventListenerPtr; +//SV_DECL_PTRARR_DEL( XEventListenerArr_Impl, XEventListenerPtr, 4, 4 ); + +//class XFrameRef; +//typedef XFrameRef* XFramePtr; +//SV_DECL_PTRARR_DEL( XFrameArr_Impl, XFramePtr, 4, 4 ); + +class SfxSlot; +typedef SfxSlot* SfxSlotPtr; +SV_DECL_PTRARR( SfxSlotArr_Impl, SfxSlotPtr, 20, 20 ); + +#endif diff --git a/sfx2/inc/basmgr.hxx b/sfx2/inc/basmgr.hxx new file mode 100644 index 000000000000..495608c0f0bb --- /dev/null +++ b/sfx2/inc/basmgr.hxx @@ -0,0 +1,170 @@ +/************************************************************************* + * + * $RCSfile: basmgr.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:52:22 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 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 + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef _SFX_BASMGR_HXX +#define _SFX_BASMGR_HXX + +#ifndef _BASMGR_HXX_ +#include <basic/basmgr.hxx> +#endif + +class SfxBasicManager : public BasicManager +{ +private: + BasicLibs* pLibs; + BasicErrorManager* pErrorMgr; + + String aName; + String aStorageName; + BOOL bBasMgrModified; + + void Init(); + +protected: + BOOL ImpStoreLibary( StarBASIC* pLib, SvStorage& rStorage ) const; + BOOL ImpLoadLibary( BasicLibInfo* pLibInfo ) const; + BOOL ImpLoadLibary( BasicLibInfo* pLibInfo, SvStorage* pCurStorage, BOOL bInfosOnly = FALSE ) const; + void ImpCreateStdLib( StarBASIC* pParentFromStdLib ); + void ImpMgrNotLoaded( const String& rStorageName ); + BasicLibInfo* CreateLibInfo(); + void LoadBasicManager( SvStorage& rStorage, BOOL bLoadBasics = TRUE ); + void LoadOldBasicManager( SvStorage& rStorage ); + BOOL ImplLoadBasic( SvStream& rStrm, StarBASICRef& rOldBasic ) const; + void ImplGetPassword( USHORT nLib ) const; + BOOL ImplEncryptStream( SvStream& rStream ) const; + BasicLibInfo* FindLibInfo( StarBASIC* pBasic ) const; + void CheckModules( StarBASIC* pBasic, BOOL bReference ) const; + void SetFlagToAllLibs( short nFlag, BOOL bSet ) const; + SfxBasicManager(); // Nur zum anpassen von Pfaden bei 'Speichern unter'. + +public: + TYPEINFO(); + SfxBasicManager( SvStorage& rStorage, StarBASIC* pParentFromStdLib = NULL, String* pLibPath = NULL ); + SfxBasicManager( StarBASIC* pStdLib, String* pLibPath = NULL ); + ~SfxBasicManager(); + + void SetStorageName( const String& rName ) { aStorageName = rName; } + String GetStorageName() const { return aStorageName; } + void SetName( const String& rName ) { aName = rName; } + String GetName() const { return aName; } + + + static BOOL HasBasicManager( const SvStorage& rStorage ); + static BOOL CopyBasicData( SvStorage* pFrom, const String& rSourceURL, SvStorage* pTo); + void Merge( SvStorage& rFromStorage ); + + USHORT GetLibCount() const; + StarBASIC* GetStdLib() const; + StarBASIC* GetLib( USHORT nLib ) const; + StarBASIC* GetLib( const String& rName ) const; + USHORT GetLibId( const String& rName ) const; + USHORT GetLibId( StarBASIC* pLib ) const; + BOOL HasLib( const String& rName ) const; + + void Store( SvStorage& rStorage ); + void Store( SvStorage& rStorage, BOOL bStoreLibs ); + + BOOL SetLibName( USHORT nLib, const String& rName ); + String GetLibName( USHORT nLib ); + + BOOL SetLibStorageName( USHORT nLib, const String& rName ); + String GetLibStorageName( USHORT nLib ); + String GetRelLibStorageName( USHORT nLib ); + + BOOL IsLibLoaded( USHORT nLib ) const; + BOOL LoadLib( USHORT nLib ); + BOOL UnloadLib( USHORT nLib ); + BOOL StoreLib( USHORT nLib ) const; + BOOL RemoveLib( USHORT nLib ); + BOOL RemoveLib( USHORT nLib, BOOL bDelBasicFromStorage ); + + BOOL IsReference( USHORT nLib ); + BOOL IsExtern( USHORT nLib ); + + StarBASIC* CreateLib( const String& rLibName ); + StarBASIC* AddLib( SvStorage& rStorage, const String& rLibName, BOOL bReference ); + void AddLib( StarBASIC* pLib ); + BOOL MoveLib( USHORT nLib, USHORT nNewPos ); + + BOOL HasPassword( USHORT nLib ) const; + String GetPassword( USHORT nLib ) const; + void SetPassword( USHORT nLib, const String& rNewPassword ); + + // Der BasicManager gibt die Basics auch raus, wenn das Passwort nicht + // geprueft wurde, da man auch ohne Passwort mit der Lib arbeiten kann. + // Es ist Sache der App, was Sie dem Anwender ohne Passwort nicht gestattet, + // also z.B. das Betrachten der Source oder das Anzeigen/Loeschen von Modulen. + BOOL IsPasswordVerified( USHORT nLib ) const; + void SetPasswordVerified( USHORT nLib ); + + + // Modify-Flag wird nur beim Speichern zurueckgesetzt. + BOOL IsModified() const; + BOOL IsBasicModified() const; + BOOL IsManagerModified() const { return bBasMgrModified; } + + BOOL HasErrors(); + void ClearErrors(); + BasicError* GetFirstError(); + BasicError* GetNextError(); +}; + +#endif //_SFX_BASMGR_HXX diff --git a/sfx2/inc/bitset.hxx b/sfx2/inc/bitset.hxx new file mode 100644 index 000000000000..90e60ee8d87a --- /dev/null +++ b/sfx2/inc/bitset.hxx @@ -0,0 +1,293 @@ +/************************************************************************* + * + * $RCSfile: bitset.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:52:22 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 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 + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#ifndef _SFXBITSET_HXX +#define _SFXBITSET_HXX + +#ifndef _SOLAR_H +#include <tools/solar.h> +#endif + +class Range; + +class BitSet +{ +private: + void CopyFrom( const BitSet& rSet ); + USHORT nBlocks; + USHORT nCount; + ULONG* pBitmap; +public: + BitSet operator<<( USHORT nOffset ) const; + BitSet operator>>( USHORT nOffset ) const; + static USHORT CountBits( ULONG nBits ); + BOOL operator!() const; + BitSet(); + BitSet( const BitSet& rOrig ); + BitSet( USHORT* pArray, USHORT nSize ); + ~BitSet(); + BitSet( const Range& rRange ); + USHORT Count() const; + BitSet& operator=( const BitSet& rOrig ); + BitSet& operator=( USHORT nBit ); + BitSet operator|( const BitSet& rSet ) const; + BitSet operator|( USHORT nBit ) const; + BitSet& operator|=( const BitSet& rSet ); + BitSet& operator|=( USHORT nBit ); + BitSet operator-( const BitSet& rSet ) const; + BitSet operator-( USHORT nId ) const; + BitSet& operator-=( const BitSet& rSet ); + BitSet& operator-=( USHORT nBit ); + BitSet operator&( const BitSet& rSet ) const; + BitSet& operator&=( const BitSet& rSet ); + BitSet operator^( const BitSet& rSet ) const; + BitSet operator^( USHORT nBit ) const; + BitSet& operator^=( const BitSet& rSet ); + BitSet& operator^=( USHORT nBit ); + BOOL IsRealSubSet( const BitSet& rSet ) const; + BOOL IsSubSet( const BitSet& rSet ) const; + BOOL IsRealSuperSet( const BitSet& rSet ) const; + BOOL Contains( USHORT nBit ) const; + BOOL IsSuperSet( const BitSet& rSet ) const; + BOOL operator==( const BitSet& rSet ) const; + BOOL operator==( USHORT nBit ) const; + BOOL operator!=( const BitSet& rSet ) const; + BOOL operator!=( USHORT nBit ) const; + +}; +//-------------------------------------------------------------------- + +// returns TRUE if the set is empty + + + +inline BOOL BitSet::operator!() const +{ + return nCount == 0; +} +//-------------------------------------------------------------------- + +// returns the number of bits in the bitset + +inline USHORT BitSet::Count() const +{ + return nCount; +} +//-------------------------------------------------------------------- + +// creates the union of two bitset + +inline BitSet BitSet::operator|( const BitSet& rSet ) const +{ + return BitSet(*this) |= rSet; +} +//-------------------------------------------------------------------- + +// creates the union of a bitset with a single bit + +inline BitSet BitSet::operator|( USHORT nBit ) const +{ + return BitSet(*this) |= nBit; +} +//-------------------------------------------------------------------- + +// creates the asymetric difference + +inline BitSet BitSet::operator-( const BitSet& rSet ) const +{ + return BitSet(); +} +//-------------------------------------------------------------------- + +// creates the asymetric difference with a single bit + + +inline BitSet BitSet::operator-( USHORT nId ) const +{ + return BitSet(); +} +//-------------------------------------------------------------------- + +// removes the bits contained in rSet + +inline BitSet& BitSet::operator-=( const BitSet& rSet ) +{ + return *this; +} +//-------------------------------------------------------------------- + + +// creates the intersection with another bitset + +inline BitSet BitSet::operator&( const BitSet& rSet ) const +{ + return BitSet(); +} +//-------------------------------------------------------------------- + +// intersects with another bitset + +inline BitSet& BitSet::operator&=( const BitSet& rSet ) +{ + return *this; +} +//-------------------------------------------------------------------- + +// creates the symetric difference with another bitset + +inline BitSet BitSet::operator^( const BitSet& rSet ) const +{ + return BitSet(); +} +//-------------------------------------------------------------------- + +// creates the symetric difference with a single bit + +inline BitSet BitSet::operator^( USHORT nBit ) const +{ + return BitSet(); +} +//-------------------------------------------------------------------- + +// builds the symetric difference with another bitset + +inline BitSet& BitSet::operator^=( const BitSet& rSet ) +{ + return *this; +} +//-------------------------------------------------------------------- +#ifdef BITSET_READY +// builds the symetric difference with a single bit + +inline BitSet& BitSet::operator^=( USHORT nBit ) +{ + // crash!!! + return BitSet(); +} +#endif +//-------------------------------------------------------------------- + +// determines if the other bitset is a real superset + +inline BOOL BitSet::IsRealSubSet( const BitSet& rSet ) const +{ + return FALSE; +} +//-------------------------------------------------------------------- + +// detsermines if the other bitset is a superset or equal + +inline BOOL BitSet::IsSubSet( const BitSet& rSet ) const +{ + return FALSE; +} +//-------------------------------------------------------------------- + +// determines if the other bitset is a real subset + +inline BOOL BitSet::IsRealSuperSet( const BitSet& rSet ) const +{ + return FALSE; +} + +//-------------------------------------------------------------------- + +// determines if the other bitset is a subset or equal + +inline BOOL BitSet::IsSuperSet( const BitSet& rSet ) const +{ + return FALSE; +} +//-------------------------------------------------------------------- + +// determines if the bit is the only one in the bitset + +inline BOOL BitSet::operator==( USHORT nBit ) const +{ + return FALSE; +} +//-------------------------------------------------------------------- + +// determines if the bitsets aren't equal + +inline BOOL BitSet::operator!=( const BitSet& rSet ) const +{ + return !( *this == rSet ); +} +//-------------------------------------------------------------------- + +// determines if the bitset doesn't contain only this bit + +inline BOOL BitSet::operator!=( USHORT nBit ) const +{ + return !( *this == nBit ); +} +//-------------------------------------------------------------------- + +class IndexBitSet : BitSet +{ +public: + USHORT GetFreeIndex(); + void ReleaseIndex(USHORT i){*this-=i;} +}; + + +#endif + diff --git a/sfx2/inc/configmgr.hxx b/sfx2/inc/configmgr.hxx new file mode 100644 index 000000000000..fa1f38ee5f5f --- /dev/null +++ b/sfx2/inc/configmgr.hxx @@ -0,0 +1,73 @@ +/************************************************************************* + * + * $RCSfile: configmgr.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:52:22 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 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 + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef _SFX_CONFIGMGR_HXX_ +#define _SFX_CONFIGMGR_HXX_ + +namespace utl{ + class ConfigManager; +} + +/* -----------------------------05.09.00 16:42-------------------------------- + appdata.cxx + ---------------------------------------------------------------------------*/ +utl::ConfigManager* GetUtlConfigManager(); +#endif diff --git a/sfx2/inc/dinfedt.hxx b/sfx2/inc/dinfedt.hxx new file mode 100644 index 000000000000..514462f5a681 --- /dev/null +++ b/sfx2/inc/dinfedt.hxx @@ -0,0 +1,120 @@ +/************************************************************************* + * + * $RCSfile: dinfedt.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:52:22 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 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 + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#ifndef _SFX_DINFEDT_HXX +#define _SFX_DINFEDT_HXX + +// include --------------------------------------------------------------- + +#ifndef _SV_EDIT_HXX //autogen wg. Edit +#include <vcl/edit.hxx> +#endif +#ifndef _SV_DIALOG_HXX //autogen wg. ModalDialog +#include <vcl/dialog.hxx> +#endif +#ifndef _SV_GROUP_HXX //autogen wg. GroupBox +#include <vcl/group.hxx> +#endif +#ifndef _SV_BUTTON_HXX //autogen wg. OKButton +#include <vcl/button.hxx> +#endif + +// class InfoEdit_Impl --------------------------------------------------- + +class InfoEdit_Impl : public Edit +{ +public: + InfoEdit_Impl( Window* pParent, const ResId& rResId ) : + Edit( pParent, rResId ) {} + + virtual void KeyInput( const KeyEvent& rKEvent ); +}; + +// class SfxDocInfoEditDlg ----------------------------------------------- + +class SfxDocInfoEditDlg : public ModalDialog +{ +private: + InfoEdit_Impl aInfo1ED; + InfoEdit_Impl aInfo2ED; + InfoEdit_Impl aInfo3ED; + InfoEdit_Impl aInfo4ED; + GroupBox aInfoGB; + OKButton aOkBT; + CancelButton aCancelBT; + HelpButton aHelpBtn; + +public: + SfxDocInfoEditDlg( Window* pParent ); + + void SetText1( const String &rStr) { aInfo1ED.SetText( rStr ); } + void SetText2( const String &rStr) { aInfo2ED.SetText( rStr ); } + void SetText3( const String &rStr) { aInfo3ED.SetText( rStr ); } + void SetText4( const String &rStr) { aInfo4ED.SetText( rStr ); } + + String GetText1() const { return aInfo1ED.GetText(); } + String GetText2() const { return aInfo2ED.GetText(); } + String GetText3() const { return aInfo3ED.GetText(); } + String GetText4() const { return aInfo4ED.GetText(); } +}; + + +#endif + diff --git a/sfx2/inc/docvor.hxx b/sfx2/inc/docvor.hxx new file mode 100644 index 000000000000..2334628397cd --- /dev/null +++ b/sfx2/inc/docvor.hxx @@ -0,0 +1,183 @@ +/************************************************************************* + * + * $RCSfile: docvor.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:52:22 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 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 + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#ifndef _SFXDOCVOR_HXX +#define _SFXDOCVOR_HXX + + +#ifndef _DIALOG_HXX //autogen +#include <vcl/dialog.hxx> +#endif +#ifndef _SVTREEBOX_HXX //autogen +#include <svtools/svtreebx.hxx> +#endif + +#include "objsh.hxx" +#include "orgmgr.hxx" + +//========================================================================= + +class SfxDocumentTemplates; +class Path; + +//========================================================================= +#ifndef _SFX_HXX + +class SfxOrganizeDlg_Impl; + +class SfxOrganizeListBox_Impl: public SvTreeListBox +{ +friend class SfxOrganizeDlg_Impl; + + SfxOrganizeMgr *pMgr; + Image aOpenedFolderBmp; + Image aClosedFolderBmp; + Image aOpenedDocBmp; + Image aClosedDocBmp; + SfxOrganizeDlg_Impl *pDlg; + static BOOL bDropMoveOk; + +protected: + virtual BOOL EditingEntry( SvLBoxEntry* pEntry, Selection & ); + virtual BOOL EditedEntry( SvLBoxEntry* pEntry, const String& rNewText ); + virtual BOOL NotifyQueryDrop(SvLBoxEntry *); + virtual BOOL NotifyMoving(SvLBoxEntry *pSource, + SvLBoxEntry* pTarget, + SvLBoxEntry *&pNewParent, ULONG &); + virtual BOOL NotifyCopying(SvLBoxEntry *pSource, + SvLBoxEntry* pTarget, + SvLBoxEntry *&pNewParent, ULONG &); + virtual void RequestingChilds( SvLBoxEntry* pParent ); + virtual long ExpandingHdl(); +#if SUPD < 306 + virtual BOOL Drop( const DropEvent& rEvt ); + virtual BOOL QueryDrop( const DropEvent& rEvt ); +#else + virtual BOOL Drop( DropEvent& rEvt ); + virtual BOOL QueryDrop( DropEvent& rEvt ); +#endif + virtual DragDropMode NotifyBeginDrag(SvLBoxEntry *); + virtual BOOL Select( SvLBoxEntry* pEntry, BOOL bSelect=TRUE ); + virtual void Command( const CommandEvent& rCEvt ); + +public: + enum DataEnum { + VIEW_TEMPLATES, + VIEW_FILES + } eViewType; + SfxOrganizeListBox_Impl(SfxOrganizeDlg_Impl *pDlg, + Window *pParent, WinBits, DataEnum); + + DataEnum GetViewType() const { return eViewType; } + void SetViewType(DataEnum eType) { eViewType = eType; } + + void SetMgr(SfxOrganizeMgr *pM) { pMgr = pM; } + void Reset(); + void SetBitmaps(const Image &rOFolderBitmap, + const Image &rCFolderBitmap, + const Image &rODocBitmap, + const Image &rCDocBitmap) { + aOpenedFolderBmp = rOFolderBitmap; + aClosedFolderBmp = rCFolderBitmap; + aOpenedDocBmp = rODocBitmap; + aClosedDocBmp = rCDocBitmap; + } + const Image &GetClosedBmp(USHORT nLevel) const; + const Image &GetOpenedBmp(USHORT nLevel) const; + +private: + BOOL IsStandard_Impl( SvLBoxEntry *) const; + BOOL MoveOrCopyTemplates(SvLBox *pSourceBox, + SvLBoxEntry *pSource, + SvLBoxEntry* pTarget, + SvLBoxEntry *&pNewParent, + ULONG &rIdx, + BOOL bCopy); + BOOL MoveOrCopyContents(SvLBox *pSourceBox, + SvLBoxEntry *pSource, + SvLBoxEntry* pTarget, + SvLBoxEntry *&pNewParent, + ULONG &rIdx, + BOOL bCopy); + inline USHORT GetDocLevel() const; + SfxObjectShellRef GetObjectShell(const Path &); + BOOL IsUniqName_Impl(const String &rText, SvLBoxEntry* pParent, SvLBoxEntry *pEntry = 0) const; + USHORT GetLevelCount_Impl(SvLBoxEntry* pParent) const; +}; + +#endif +//========================================================================= + +class SfxTemplateOrganizeDlg : public ModalDialog +{ +friend class SfxOrganizeListBox_Impl; + + class SfxOrganizeDlg_Impl *pImp; + +public: + SfxTemplateOrganizeDlg(Window * pParent, SfxDocumentTemplates* = 0); + ~SfxTemplateOrganizeDlg(); + +#define RET_EDIT_STYLE 100 + + virtual short Execute(); +}; + +#endif diff --git a/sfx2/inc/frmload.hxx b/sfx2/inc/frmload.hxx new file mode 100644 index 000000000000..d65b5909707a --- /dev/null +++ b/sfx2/inc/frmload.hxx @@ -0,0 +1,221 @@ +/************************************************************************* + * + * $RCSfile: frmload.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:52:23 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 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 + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef _SFX_FRMLOAD_HXX +#define _SFX_FRMLOAD_HXX + +#ifndef _COM_SUN_STAR_LANG_XINITIALIZATION_HDL_ +#include <com/sun/star/lang/XInitialization.hpp> +#endif + +#ifndef _COM_SUN_STAR_FRAME_XFRAMELOADER_HPP_ +#include <com/sun/star/frame/XFrameLoader.hpp> +#endif + +#ifndef _COM_SUN_STAR_FRAME_XEXTENDEDFILTERDETECTION_HPP_ +#include <com/sun/star/frame/XExtendedFilterDetection.hpp> +#endif + +#ifndef _COM_SUN_STAR_UNO_EXCEPTION_HPP_ +#include <com/sun/star/uno/Exception.hpp> +#endif + +#ifndef _COM_SUN_STAR_UNO_REFERENCE_H_ +#include <com/sun/star/uno/Reference.h> +#endif + +#ifndef _CPPUHELPER_IMPLBASE1_HXX_ +#include <cppuhelper/implbase1.hxx> +#endif + +#ifndef _CPPUHELPER_IMPLBASE2_HXX_ +#include <cppuhelper/implbase2.hxx> +#endif + +#ifndef _CPPUHELPER_IMPLBASE3_HXX_ +#include <cppuhelper/implbase3.hxx> +#endif + +#include <com/sun/star/lang/XServiceInfo.hpp> +#include <com/sun/star/lang/XSingleServiceFactory.hpp> +#include <cppuhelper/factory.hxx> +#include <tools/link.hxx> +#include <tools/string.hxx> + +class SfxObjectFactory; +class SfxFilterMatcher; +class LoadEnvironment_Impl; +namespace com +{ + namespace sun + { + namespace star + { + namespace uno + { + class Any; + } + namespace lang + { + class XMultiServiceFactory; + } + namespace frame + { + class XFrame; + } + namespace beans + { + struct PropertyValue; + } + } + } +} + +#include "sfxuno.hxx" + +#define REFERENCE ::com::sun::star::uno::Reference +#define SEQUENCE ::com::sun::star::uno::Sequence +#define RUNTIME_EXCEPTION ::com::sun::star::uno::RuntimeException + +class SfxFilterDetect_Impl : public ::cppu::WeakImplHelper3< ::com::sun::star::frame::XExtendedFilterDetection, + ::com::sun::star::lang::XInitialization, ::com::sun::star::lang::XServiceInfo > +{ + String aFilterName; +public: + SFX_DECL_XSERVICEINFO + SfxFilterDetect_Impl( const REFERENCE < ::com::sun::star::lang::XMultiServiceFactory >& xFactory ); + virtual ::rtl::OUString SAL_CALL detect( const ::rtl::OUString& sURL, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aArgumentlist ) throw(::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL initialize( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aArguments ) + throw(::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException); +}; + +class SfxFrameLoader : public ::cppu::WeakImplHelper2< ::com::sun::star::frame::XFrameLoader, ::com::sun::star::lang::XInitialization > +{ + REFERENCE < ::com::sun::star::frame::XFrame > xFrame; + REFERENCE < ::com::sun::star::frame::XLoadEventListener > xListener; + LoadEnvironment_Impl* pLoader; + SfxFilterMatcher* pMatcher; + String aFilterName; + + DECL_LINK( LoadDone_Impl, void* ); + +public: + SfxFrameLoader( const REFERENCE < ::com::sun::star::lang::XMultiServiceFactory >& xFactory ); + virtual ~SfxFrameLoader(); + + void SetFilterName( const ::rtl::OUString& rFilterName ) + { aFilterName = rFilterName; } + String GetFilterName() const + { return aFilterName; } + + // XLoader + virtual void SAL_CALL load( const REFERENCE < ::com::sun::star::frame::XFrame >& aFrame, + const ::rtl::OUString& aURL, + const SEQUENCE < ::com::sun::star::beans::PropertyValue >& aArgs, + const REFERENCE < ::com::sun::star::frame::XLoadEventListener >& aListener) throw( RUNTIME_EXCEPTION ); + virtual void SAL_CALL cancel() throw( RUNTIME_EXCEPTION ); + + // XInitialization + virtual void SAL_CALL initialize( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aArguments ) + throw(::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException); + +protected: + virtual SfxObjectFactory& GetFactory()=0; +}; + +class SfxFrameLoader_Impl : public SfxFrameLoader, public ::com::sun::star::lang::XServiceInfo +{ +public: + SFX_DECL_XINTERFACE + SFX_DECL_XSERVICEINFO + SfxFrameLoader_Impl( const REFERENCE < ::com::sun::star::lang::XMultiServiceFactory >& xFactory ); +protected: + virtual SfxObjectFactory& GetFactory(); +}; + +class SfxFrameLoaderFactory : public ::cppu::WeakImplHelper2< ::com::sun::star::lang::XServiceInfo, ::com::sun::star::lang::XSingleServiceFactory > +{ +private: + ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > xSMgr; + ::rtl::OUString aImplementationName; + ::cppu::ComponentInstantiation pCreateFunction; + +public: + SfxFrameLoaderFactory( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& rServiceManager, + ::cppu::ComponentInstantiation pCreateFunction_, const ::rtl::OUString& rImplementationName_ ) + : xSMgr( rServiceManager ) + , aImplementationName( rImplementationName_ ) + , pCreateFunction( pCreateFunction_ ) + {} + + // XSingleServiceFactory + ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL createInstance(void) + throw(::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException); + ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL createInstanceWithArguments(const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any>& Arguments) + throw(::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException); + + // XServiceInfo + ::rtl::OUString SAL_CALL getImplementationName() throw(::com::sun::star::uno::RuntimeException); + sal_Bool SAL_CALL supportsService(const ::rtl::OUString& ServiceName) throw(::com::sun::star::uno::RuntimeException); + ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames(void) throw(::com::sun::star::uno::RuntimeException); +}; + +#endif diff --git a/sfx2/inc/idpool.hxx b/sfx2/inc/idpool.hxx new file mode 100644 index 000000000000..b24db8ed9436 --- /dev/null +++ b/sfx2/inc/idpool.hxx @@ -0,0 +1,97 @@ +/************************************************************************* + * + * $RCSfile: idpool.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:52:23 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 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 + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#ifndef _SFXIDPOOL_HXX +#define _SFXIDPOOL_HXX + +#include <limits.h> // USHRT_MAX +#include "bitset.hxx" + +// class IdPool ---------------------------------------------------------- + +class IdPool: private BitSet +{ +private: + USHORT nNextFree; + USHORT nRange; + USHORT nOffset; +public: + BOOL Lock( const BitSet& rLockSet ); + BOOL IsLocked( USHORT nId ) const; + IdPool( USHORT nMin = 1, USHORT nMax = USHRT_MAX ); + USHORT Get(); + BOOL Put( USHORT nId ); + BOOL Lock( const Range& rRange ); + BOOL Lock( USHORT nId ); + +}; + +//------------------------------------------------------------------------ + +// returns TRUE if the id is locked + +inline BOOL IdPool::IsLocked( USHORT nId ) const +{ + return ( this->Contains(nId-nOffset) ); +} + + +#endif + diff --git a/sfx2/inc/imgmgr.hxx b/sfx2/inc/imgmgr.hxx new file mode 100644 index 000000000000..fddeb020b2ce --- /dev/null +++ b/sfx2/inc/imgmgr.hxx @@ -0,0 +1,155 @@ +/************************************************************************* + * + * $RCSfile: imgmgr.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:52:23 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 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 + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#ifndef _SFXIMGMGR_HXX +#define _SFXIMGMGR_HXX + +#include "cfgitem.hxx" + +#include <imgdef.hxx> + + +#ifndef _GEN_HXX //autogen +#include <tools/gen.hxx> +#endif +#ifndef _IMAGE_HXX //autogen +#include <vcl/image.hxx> +#endif + +class ToolBox; + +class SfxModule; +class SfxToolBoxManager; +class SfxBitmapList_Impl; +class SfxToolBoxArr_Impl; + +class SfxImageManager: public SfxConfigItem +{ + SfxBitmapList_Impl* pUserDefList; + ImageList* pImageList; + ImageList* pUserImageList; + ImageList* pOffImageList; + SfxSymbolSet eSymbolSet; + BOOL bImageDefault; + SfxToolBoxArr_Impl* pToolBoxList; + USHORT nOutStyle; + +protected: + + virtual int Load(SvStream&); + virtual BOOL Store(SvStream&); + virtual void UseDefault(); + virtual String GetName() const; + +#if __PRIVATE + void MakeDefaultImageList_Impl(); + void MakeLists_Impl( SfxSymbolSet ); +#endif + +public: + SfxImageManager(); + ~SfxImageManager(); + + // Allgemeine Properties + void SetSymbolSet(SfxSymbolSet); + void SetOutStyle(USHORT); + + SfxSymbolSet GetSymbolSet() const + { return eSymbolSet; } + USHORT GetOutStyle() const + { return nOutStyle; } + Size GetImageSize() const + {return pImageList->GetImageSize(); } + Color GetMaskColor() const; + + // Image(s) aus einem Modul oder der OFA-Liste + Image GetImage(USHORT nId, SfxModule* pMod = 0) const; + void SetImages( ToolBox& rToolBox, SfxModule* ); + void LockImage(USHORT nNewId, ToolBox *pBox); + + // Zugriff auf die Userdef-Liste + void ReplaceImage(USHORT nId, Bitmap* pBmp=0); + void AddImage(USHORT nId, const Image& rImage); + + // Umkonfigurieren + void StartCustomize(); + void EndCustomize(); + Image SeekImage(USHORT nId, SfxModule* pModule = 0) const; + + // Toolbox-Registrierung/Abmeldung + void RegisterToolBox(ToolBox*, USHORT nFlags=0xFFFF ); + void RegisterToolBox(ToolBox*, SfxModule*, USHORT nFlags=0xFFFF ); + void ReleaseToolBox(ToolBox*); + void RegisterToolBoxManager(SfxToolBoxManager*, USHORT nFlags=0xFFFF ); + void ReleaseToolBoxManager(SfxToolBoxManager*); + +#if __PRIVATE + void ExchangeItemImage_Impl(USHORT nId, const Image& rImage); + BOOL IsUserDef_Impl(USHORT nId) const; + const Bitmap& GetUserDefBitmap_Impl(USHORT nId) const; + Image GetAndLockImage_Impl(USHORT nId, SfxModule* pMod = 0); + Image GetImageFromModule_Impl( USHORT nId, SfxModule *pMod ); +#endif + +}; + +#define SFX_IMAGEMANAGER() SfxGetpApp()->GetImageManager() + +#endif diff --git a/sfx2/inc/inettbc.hxx b/sfx2/inc/inettbc.hxx new file mode 100644 index 000000000000..446912b8c831 --- /dev/null +++ b/sfx2/inc/inettbc.hxx @@ -0,0 +1,163 @@ +/************************************************************************* + * + * $RCSfile: inettbc.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:52:23 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 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 + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef _SFX_INETTBC_HXX +#define _SFX_INETTBC_HXX + +// includes ***************************************************************** +#include <tools/string.hxx> +#include <tools/urlobj.hxx> + +#ifndef _COMBOBOX_HXX //autogen +#include <vcl/combobox.hxx> +#endif + +#define _SVSTDARR_STRINGSDTOR +#include <svtools/svstdarr.hxx> + +struct SfxPickEntry_Impl; +class SfxURLBox : public ComboBox +{ +friend class SfxMatchContext_Impl; +friend class SfxURLBox_Impl; + Link aOpenHdl; + String aBaseURL; + INetProtocol eSmartProtocol; + SfxMatchContext_Impl* pCtx; + SfxURLBox_Impl* pImp; + BOOL bAutoCompleteMode; + BOOL bOnlyDirectories; + BOOL bModified; + BOOL bTryAutoComplete: 1, + bCtrlClick: 1; + + BOOL ProcessKey( const KeyCode& rCode ); + void TryAutoComplete( BOOL bForward, BOOL bForce ); + void UpdatePicklistForSmartProtocol_Impl(); + DECL_LINK( AutoCompleteHdl_Impl, void* ); + +protected: + virtual long Notify( NotifyEvent& rNEvt ); + virtual void Select(); + virtual void Modify(); + virtual BOOL QueryDrop( DropEvent &rEvt ); + virtual BOOL Drop( const DropEvent &rEvt ); + virtual long PreNotify( NotifyEvent& rNEvt ); + +public: + SfxURLBox( Window* pParent, INetProtocol eSmart = INET_PROT_NOT_VALID ); + + void OpenURL( SfxPickEntry_Impl* pEntry, const String& rName, BOOL nMod ) const; + void SetBaseURL( const String& rURL ) { aBaseURL = rURL; } + const String& GetBaseURL() const { return aBaseURL; } + void SetOpenHdl( const Link& rLink ) { aOpenHdl = rLink; } + const Link& GetOpenHdl() const { return aOpenHdl; } + void SetOnlyDirectories( BOOL bDir = TRUE ); + INetProtocol GetSmartProtocol() const { return eSmartProtocol; } + void SetSmartProtocol( INetProtocol eProt ); + BOOL IsCtrlOpen() + { return bCtrlClick; } +}; + +#if __PRIVATE + +#include "tbxctrl.hxx" +class SfxURLToolBoxControl_Impl : public SfxToolBoxControl +{ +private: + SfxStatusForwarder aURLForwarder; + SfxURLBox* GetURLBox() const; + DECL_LINK( OpenHdl, void* ); + DECL_LINK( SelectHdl, void* ); +public: + + SFX_DECL_TOOLBOX_CONTROL(); + + SfxURLToolBoxControl_Impl( USHORT nId, + ToolBox& rBox, + SfxBindings& rBindings ); + + virtual Window* CreateItemWindow( Window* pParent ); + virtual void StateChanged( USHORT nSID, SfxItemState eState, + const SfxPoolItem* pState ); +}; + +class SfxCancelToolBoxControl_Impl : public SfxToolBoxControl +{ +public: + + SFX_DECL_TOOLBOX_CONTROL(); + + SfxCancelToolBoxControl_Impl( + USHORT nId, + ToolBox& rBox, + SfxBindings& rBindings ); + + virtual SfxPopupWindowType GetPopupWindowType() const; + virtual SfxPopupWindow* CreatePopupWindow(); + virtual void StateChanged( USHORT nSID, SfxItemState eState, + const SfxPoolItem* pState ); +}; + +#endif + +#endif + diff --git a/sfx2/inc/mieclip.hxx b/sfx2/inc/mieclip.hxx new file mode 100644 index 000000000000..435dc0fc1526 --- /dev/null +++ b/sfx2/inc/mieclip.hxx @@ -0,0 +1,130 @@ +/************************************************************************* + * + * $RCSfile: mieclip.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:52:23 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 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 + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef _MIECLIP_HXX +#define _MIECLIP_HXX + +#ifndef _SOLAR_H +#include <tools/solar.h> +#endif + +#ifndef _STRING_HXX //autogen +#include <tools/string.hxx> +#endif + +class SvStream; +class SotDataObject; +class SvData; + +class MSE40HTMLClipFormatObj +{ + SvStream* pStrm; + String sBaseURL; + +public: + MSE40HTMLClipFormatObj() : pStrm(0) {} + ~MSE40HTMLClipFormatObj(); + + BOOL GetData( SotDataObject& ); + BOOL GetData( SvData& ); + + const SvStream* GetStream() const { return pStrm; } + SvStream* GetStream() { return pStrm; } + const String& GetBaseURL() const { return sBaseURL; } +}; + + +//////////////////////////////////////////////////////////////////////////////// +// +/* + $Log: not supported by cvs2svn $ + Revision 1.8 2000/09/17 16:47:07 willem.vandorp + OpenOffice header added. + + Revision 1.7 2000/09/06 14:49:36 willem.vandorp + Header and footer replaced. + + Revision 1.6 1999/12/16 19:32:37 er + #60614# add: GetData with SvData + + Revision 1.5 1999/07/23 08:34:06 hr + #65293#: misplaced comment + + Revision 1.4 1999/01/18 13:35:50 JP + Task #59398#: unnoetiges RegisterClipb... gegen IDS ausgetauscht + + + Rev 1.3 18 Jan 1999 14:35:50 JP + Task #59398#: unnoetiges RegisterClipb... gegen IDS ausgetauscht + + Rev 1.2 22 Jun 1998 21:20:36 JP + SvDataObject gegen SorDataObject ausgetauscht + + Rev 1.1 23 Feb 1998 17:05:14 TJ + include + + Rev 1.0 18 Feb 1998 17:28:26 OK + NEW: MSE40HTMLClipFormatObj + +*/ + +#endif //_MIECLIP_HXX + diff --git a/sfx2/inc/minfitem.hxx b/sfx2/inc/minfitem.hxx new file mode 100644 index 000000000000..36c52eee0353 --- /dev/null +++ b/sfx2/inc/minfitem.hxx @@ -0,0 +1,115 @@ +/************************************************************************* + * + * $RCSfile: minfitem.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:52:23 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 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 + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#ifndef _SFX_MINFITEM_HXX +#define _SFX_MINFITEM_HXX + + +#ifndef _STRING_HXX //autogen +#include <tools/string.hxx> +#endif +#ifndef _SFXPOOLITEM_HXX //autogen +#include <svtools/poolitem.hxx> +#endif +class BasicManager; + +class SfxMacroInfoItem: public SfxPoolItem +{ + const BasicManager* pBasicManager; + String aLibName; + String aModuleName; + String aMethodName; + String aCommentText; + +public: + TYPEINFO(); + SfxMacroInfoItem( USHORT nWhich, + const BasicManager* pMgr, + const String &rLibName, + const String &rModuleName, + const String &rMethodName, + const String &rComment); + + SfxMacroInfoItem( const SfxMacroInfoItem& ); + + virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; + virtual int operator==( const SfxPoolItem& ) const; + String GetComment() const + { return aCommentText; } + void SetComment( const String& r ) + { aCommentText = r; } + String GetMethod() const + { return aMethodName; } + void SetMethod( const String& r ) + { aMethodName = r; } + String GetModule() const + { return aModuleName; } + void SetModule( const String& r ) + { aModuleName = r; } + String GetLib() const + { return aLibName; } + void SetLib( const String& r ) + { aLibName = r; } + const BasicManager* GetBasicManager() const + { return pBasicManager; } + String GetQualifiedName() const; +}; + +#endif diff --git a/sfx2/inc/msgnodei.hxx b/sfx2/inc/msgnodei.hxx new file mode 100644 index 000000000000..6912eb5b9a7e --- /dev/null +++ b/sfx2/inc/msgnodei.hxx @@ -0,0 +1,269 @@ +/************************************************************************* + * + * $RCSfile: msgnodei.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:52:23 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 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 + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef _MSGNODEI_HXX +#define _MSGNODEI_HXX + + +#ifndef _SFXENUMITEM_HXX //autogen +#include <svtools/eitem.hxx> +#endif +#ifndef _STRING_HXX //autogen +#include <tools/string.hxx> +#endif +#ifndef _SFXPOOLITEM_HXX //autogen +#include <svtools/poolitem.hxx> +#endif +#ifndef _LIST_HXX //autogen +#include <tools/list.hxx> +#endif +struct SfxMsgAttachFile { + String aFile; + String aName; + + int operator==( const SfxMsgAttachFile& rRec ) const + { + if( aName == rRec.aName && aFile == rRec.aFile ) + return TRUE; + return FALSE; + } + + SfxMsgAttachFile( const String& rFile, const String& rName) + : aName( rName ), aFile( rFile ) {} + + SfxMsgAttachFile( const SfxMsgAttachFile& rRec ) + : aName( rRec.aName), aFile( rRec.aFile ) {} +}; + +enum SfxMsgReceiverRole +{ + MSG_RECEIVER_TO = 0, + MSG_RECEIVER_CC, + MSG_RECEIVER_BCC, + MSG_RECEIVER_NEWSGROUP +}; + +struct SfxMsgReceiver { + String aName; + SfxMsgReceiverRole eRole; + + int operator==( const SfxMsgReceiver& rRec ) const + { + if( aName == rRec.aName && eRole == rRec.eRole ) + return TRUE; + return FALSE; + } + + SfxMsgReceiver( const String& rName, SfxMsgReceiverRole _eRole ) + : aName( rName ), eRole( _eRole ) {} + + SfxMsgReceiver( const SfxMsgReceiver& rRec ) + : aName( rRec.aName), eRole( rRec.eRole ) {} +}; + +// ------------------------------------------------------------------------ + +class SfxMsgReceiverList_Impl : public List +{ + ULONG nRef; + ~SfxMsgReceiverList_Impl(); + SfxMsgReceiverList_Impl& operator=( const SfxMsgReceiverList_Impl&); //n.i. +public: + SfxMsgReceiverList_Impl(); + SfxMsgReceiverList_Impl(const SfxMsgReceiverList_Impl&); + + void Load( SvStream& ); + void Store( SvStream& ) const; + void IncRef() { nRef++; } + void DecRef() { nRef--; if( !nRef ) delete this; } + ULONG GetRefCount() const { return nRef; } + int operator==( const SfxMsgReceiverList_Impl& ) const; +}; + +class SfxMsgReceiverListItem : public SfxPoolItem +{ + void Disconnect(); +protected: + SfxMsgReceiverList_Impl* pImp; +public: + TYPEINFO(); + + SfxMsgReceiverListItem(); + SfxMsgReceiverListItem( USHORT nWhich ); + SfxMsgReceiverListItem( USHORT nWhich, SvStream& rStream ); + SfxMsgReceiverListItem( const SfxMsgReceiverListItem& rItem ); + ~SfxMsgReceiverListItem(); + +#if SUPD<355 + virtual int IsPoolable() const; +#endif + + virtual int operator==( const SfxPoolItem& ) const; + + virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres, + SfxMapUnit eCoreMetric, + SfxMapUnit ePresMetric, + XubString &rText ) const; + + USHORT Count() const; + SfxMsgReceiver* GetObject( USHORT nPos ); + void Remove( USHORT nPos ); + void Add( const SfxMsgReceiver& ); + + virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; + virtual SfxPoolItem* Create( SvStream &, USHORT nVersion ) const; + virtual SvStream& Store( SvStream &, USHORT nItemVersion ) const; +}; + + +// ------------------------------------------------------------------------ + +class SfxMsgAttachFileList_Impl : public List +{ + ULONG nRef; + ~SfxMsgAttachFileList_Impl(); + SfxMsgAttachFileList_Impl& operator=( const SfxMsgAttachFileList_Impl&); //n.i. + +public: + SfxMsgAttachFileList_Impl(); + SfxMsgAttachFileList_Impl(const SfxMsgAttachFileList_Impl&); + + int operator==( const SfxMsgAttachFileList_Impl& rRec ) const; + SfxMsgAttachFile* GetReceiver(ULONG nPos) { return (SfxMsgAttachFile*)List::GetObject(nPos); } + void Load( SvStream& ); + void Store( SvStream& ) const; + void IncRef() { nRef++; } + void DecRef() { nRef--; if( !nRef ) delete this; } + ULONG GetRefCount() const { return nRef; } +}; + +class SfxMsgAttachFileListItem : public SfxPoolItem +{ +protected: + SfxMsgAttachFileList_Impl* pImp; + void Disconnect(); +public: + TYPEINFO(); + + SfxMsgAttachFileListItem(); + SfxMsgAttachFileListItem( USHORT nWhich ); + SfxMsgAttachFileListItem( USHORT nWhich, SvStream& rStream ); + SfxMsgAttachFileListItem( const SfxMsgAttachFileListItem& rItem ); + ~SfxMsgAttachFileListItem(); + +#if SUPD<355 + virtual int IsPoolable() const; +#endif + + virtual int operator==( const SfxPoolItem& ) const; + + virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres, + SfxMapUnit eCoreMetric, + SfxMapUnit ePresMetric, + XubString &rText ) const; + + USHORT Count() const; + SfxMsgAttachFile* GetObject( USHORT nPos ); + void Remove( USHORT nPos ); + void Add( const SfxMsgAttachFile& ); + + virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; + virtual SfxPoolItem* Create( SvStream &, USHORT nVersion ) const; + virtual SvStream& Store( SvStream &, USHORT nItemVersion ) const; +}; + + +//========================================================================= + +enum SfxMsgPriority +{ + MSG_PRIORITY_LOW = 0, + MSG_PRIORITY_NORMAL, + MSG_PRIORITY_URGENT +}; +#define SFXMSGPRIORITYCOUNT 3 + +class SfxMsgPriorityItem : public SfxEnumItem +{ +public: + TYPEINFO(); + + SfxMsgPriorityItem( USHORT nWhich, SfxMsgPriority = MSG_PRIORITY_NORMAL); + + virtual SfxPoolItem* Clone( SfxItemPool* pPool=0 ) const; + virtual SfxPoolItem* Create( SvStream&, USHORT ) const; + virtual SvStream& Store( SvStream&, USHORT ) const; + virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePresentation, + SfxMapUnit eCoreMetric, + SfxMapUnit ePresentationMetric, + String &rText ) const; + virtual USHORT GetValueCount() const; + virtual String GetValueTextByPos( USHORT nPos ) const; + + inline SfxMsgPriorityItem& operator=(const SfxMsgPriorityItem& rPrio) + { + SetValue( rPrio.GetValue() ); + return *this; + } +}; + + +#endif diff --git a/sfx2/inc/orgmgr.hxx b/sfx2/inc/orgmgr.hxx new file mode 100644 index 000000000000..697f5394a652 --- /dev/null +++ b/sfx2/inc/orgmgr.hxx @@ -0,0 +1,133 @@ +/************************************************************************* + * + * $RCSfile: orgmgr.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:52:24 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 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 + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#ifndef _SFX_ORGMGR_HXX +#define _SFX_ORGMGR_HXX + +#ifndef _SVARRAY_HXX //autogen +#include <svtools/svarray.hxx> +#endif + +class SfxDocumentTemplates; +class SfxOrganizeListBox_Impl; +class SfxObjectShell; +struct _FileListEntry; + +//========================================================================= + +SV_DECL_PTRARR_SORT(_SfxObjectList, _FileListEntry*, 1, 4) + +class SfxObjectList: public _SfxObjectList +{ +public: + SfxObjectList(); + ~SfxObjectList(); + + const String& GetBaseName( USHORT nId ) const; + const String& GetFileName( USHORT nId ) const; +}; + +//========================================================================= + +class SfxOrganizeMgr +{ +private: + SfxObjectList* pDocList; + SfxDocumentTemplates* pTemplates; + SfxOrganizeListBox_Impl* pLeftBox; + SfxOrganizeListBox_Impl* pRightBox; + BOOL bDeleteTemplates :1; + BOOL bModified :1; + + SfxOrganizeListBox_Impl* GetOther( SfxOrganizeListBox_Impl* ); + +public: + SfxOrganizeMgr( SfxOrganizeListBox_Impl* pLeft, + SfxOrganizeListBox_Impl* pRight, + SfxDocumentTemplates* pTempl = NULL ); + ~SfxOrganizeMgr(); + + BOOL Copy( USHORT nTargetRegion, USHORT nTargetIdx, USHORT nSourceRegion, USHORT nSourceIdx ); + BOOL Move( USHORT nTargetRegion, USHORT nTargetIdx, USHORT nSourceRegion, USHORT nSourceIdx ); + BOOL Delete( SfxOrganizeListBox_Impl* pCaller, USHORT nRegion, USHORT nIdx ); + BOOL InsertDir( SfxOrganizeListBox_Impl* pCaller, const String& rName, USHORT nRegion ); + BOOL SetName( const String& rName, USHORT nRegion, USHORT nIdx = USHRT_MAX ); + BOOL CopyTo( USHORT nRegion, USHORT nIdx, const String& rName ) const; + BOOL CopyFrom( SfxOrganizeListBox_Impl* pCaller, USHORT nRegion, USHORT nIdx, String& rName ); + + BOOL Rescan(); + BOOL InsertFile( SfxOrganizeListBox_Impl* pCaller, const String& rFileName ); + + BOOL IsModified() const { return bModified ? TRUE : FALSE; } + + const SfxDocumentTemplates* GetTemplates() const { return pTemplates; } + SfxObjectList& GetObjectList() { return *pDocList; } + const SfxObjectList& GetObjectList() const { return *pDocList; } + + SfxObjectShellRef CreateObjectShell( USHORT nIdx ); + SfxObjectShellRef CreateObjectShell( USHORT nRegion, USHORT nIdx ); + BOOL DeleteObjectShell( USHORT ); + BOOL DeleteObjectShell( USHORT, USHORT ); + void SaveAll( Window* pParent ); +}; + +#endif // #ifndef _SFX_ORGMGR_HXX + + diff --git a/sfx2/inc/progind.hxx b/sfx2/inc/progind.hxx new file mode 100644 index 000000000000..fe08683a68a9 --- /dev/null +++ b/sfx2/inc/progind.hxx @@ -0,0 +1,127 @@ +/************************************************************************* + * + * $RCSfile: progind.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:52:24 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 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 + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#ifndef _SFX_PROGIND_HXX +#define _SFX_PROGIND_HXX + +#ifndef _COM_SUN_STAR_TASK_XSTATUSINDICATORFACTORY_HPP_ +#include <com/sun/star/task/XStatusIndicatorFactory.hpp> +#endif +#ifndef _COM_SUN_STAR_TASK_XSTATUSINDICATORSUPPLIER_HPP_ +#include <com/sun/star/task/XStatusIndicatorSupplier.hpp> +#endif +#ifndef _COM_SUN_STAR_TASK_XSTATUSINDICATOR_HPP_ +#include <com/sun/star/task/XStatusIndicator.hpp> +#endif +#include <vcl/window.hxx> +#include <vcl/fixed.hxx> +#include <svtools/prgsbar.hxx> +#ifndef _CPPUHELPER_WEAK_HXX_ +#include <cppuhelper/weak.hxx> +#endif +#ifndef _CPPUHELPER_IMPLBASE1_HXX_ +#include <cppuhelper/implbase1.hxx> +#endif + +#include "sfxuno.hxx" + +class SfxStatusInd_Impl : public cppu::WeakImplHelper1< ::com::sun::star::task::XStatusIndicator > +{ + long nValue; + long nRange; + sal_uInt16 nProgressCount; + +friend class SfxPopupStatusIndicator; + SfxPopupStatusIndicator* pWindow; + +public: + + SfxStatusInd_Impl(); + + // XStatusIndicator + virtual void SAL_CALL start(const ::rtl::OUString& aText, sal_Int32 nRange) throw ( ::com::sun::star::uno::RuntimeException ); + virtual void SAL_CALL end(void) throw ( ::com::sun::star::uno::RuntimeException ); + virtual void SAL_CALL setText(const ::rtl::OUString& aText) throw ( ::com::sun::star::uno::RuntimeException ); + virtual void SAL_CALL setValue(sal_Int32 nValue) throw ( ::com::sun::star::uno::RuntimeException ); + virtual void SAL_CALL reset() throw ( ::com::sun::star::uno::RuntimeException ); +}; + +class SfxPopupStatusIndicator : public Window +{ +friend class SfxStatusInd_Impl; + FixedText aTextBar; + ProgressBar aProgressBar; + SfxStatusInd_Impl* pInterface; + +public: + SfxPopupStatusIndicator( Window* pParent ); + ~SfxPopupStatusIndicator(); + + virtual void MakeVisible( sal_Bool bVisible ); + virtual void Resize(); + virtual void Paint( const Rectangle& rRect ); + Size CalcWindowSizePixel(); + ::com::sun::star::task::XStatusIndicator* GetInterface() + { return pInterface; } +}; + + +#endif + diff --git a/sfx2/inc/resmgr.hxx b/sfx2/inc/resmgr.hxx new file mode 100644 index 000000000000..5f6cfe401130 --- /dev/null +++ b/sfx2/inc/resmgr.hxx @@ -0,0 +1,109 @@ +/************************************************************************* + * + * $RCSfile: resmgr.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:52:24 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 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 + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#ifndef _SFX_RESMGR_HXX +#define _SFX_RESMGR_HXX + +#include "app.hxx" +#include "minarray.hxx" + +class SfxMessageDescription; +class SfxMessageTable; +class Bitmap; + +DECL_PTRARRAY(SfxResMgrArr, ResMgr *, 1, 1); + +// INCLUDE --------------------------------------------------------------- + +class SfxResourceManager +{ + SfxResMgrArr aResMgrArr; + SfxResMgrArr aResMgrBmpArr; + USHORT nEnterCount; + SfxMessageTable* pMessageTable; + +private: + void ClearMsgTable_Impl(); + SfxMessageDescription* MakeDesc_Impl(USHORT); + +public: + SfxResourceManager(); + ~SfxResourceManager(); + + USHORT RegisterResource( const char *pFileName); + void ReleaseResource( USHORT nRegisterId ); + + USHORT RegisterBitmap(const char *pMono, const char *pColor); + + USHORT RegisterBitmap( const char *pSingleFile ); + void ReleaseBitmap( USHORT nRegisterId ); + + Bitmap GetAllBitmap( USHORT nBmpsPerRow ); + + void Enter(); + void Leave(); + SfxMessageDescription* CreateDescription( USHORT nId ); +}; + + +#define SFX_RESMANAGER() SFX_APP()->GetResourceManager() + +#endif + diff --git a/sfx2/inc/sfxbasic.hxx b/sfx2/inc/sfxbasic.hxx new file mode 100644 index 000000000000..4ec7d082a2a3 --- /dev/null +++ b/sfx2/inc/sfxbasic.hxx @@ -0,0 +1,76 @@ +/************************************************************************* + * + * $RCSfile: sfxbasic.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:52:24 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 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 + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#ifndef _SFXBASIC_HXX +#define _SFXBASIC_HXX + +class BasicManager; +class SbMethod; + +//------------------------------------------------------------------ + +SbMethod* SfxQueryMacro( BasicManager* pMgr, const String& rMacro ); + +ErrCode SfxCallMacro( BasicManager* pMgr, const String& rMacro, + SbxArray *pArgs = 0, SbxValue *pRet = 0 ); + + +#endif + diff --git a/sfx2/inc/sfxhelp.hxx b/sfx2/inc/sfxhelp.hxx new file mode 100644 index 000000000000..f8ebb69422d0 --- /dev/null +++ b/sfx2/inc/sfxhelp.hxx @@ -0,0 +1,311 @@ +/************************************************************************* + * + * $RCSfile: sfxhelp.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:52:24 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 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 + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#ifndef _SFX_HELP_HXX +#define _SFX_HELP_HXX + +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif +#ifndef _HELP_HXX //autogen +#include <vcl/help.hxx> +#endif +#include <childwin.hxx> +#include <dockwin.hxx> + +#include <docfac.hxx> +#include <viewfac.hxx> +#include <objsh.hxx> +#include <viewsh.hxx> + +class HelpPI; +class SHelpInfo; +struct SpecialLinkInfo; +class Library; +class SfxPrinter; +class DirEntry; +class SvStringsDtor; + +struct HelpFileInfo +{ + String aFileName; + String aTitle; +}; + + +class SfxHelpPIWrapper : public SfxChildWindow +{ +public: + SfxHelpPIWrapper(Window *pParent, USHORT nId, + SfxBindings *pBindings, SfxChildWinInfo *pInfo); + + SFX_DECL_CHILDWINDOW(SfxHelpPIWrapper); + + virtual BOOL QueryClose(); +}; + +class SfxHelpTipsWrapper : public SfxChildWindow +{ +public: + SfxHelpTipsWrapper(Window *pParent, USHORT nId, + SfxBindings *pBindings, SfxChildWinInfo *pInfo); + + SFX_DECL_CHILDWINDOW(SfxHelpTipsWrapper); +}; + + + +class SfxHelpTipsWindow : public SfxDockingWindow +{ +private: + HelpPI* mpHelpPI; + PushButton maCloseButton; + Window maTipWindow; + CheckBox maCheckBox; + +protected: + DECL_LINK( CloseButtonHdl, Button* ); + DECL_LINK( ShowTip, void* ); + DECL_LINK( CheckBoxHdl, CheckBox* ); + +public: + SfxHelpTipsWindow( SfxBindings* pBindimgs, SfxChildWindow* pChildWin, Window* pParent ); + ~SfxHelpTipsWindow(); + + virtual void FillInfo( SfxChildWinInfo& ) const; + virtual void Resize(); +}; + + + +class SfxHelpPI : public SfxDockingWindow +{ + HelpPI* pHelpPI; + Window* pInnerWindow; + + Timer aTopicJustRequestedTimer; + + ULONG nTip; + CheckBox aTipBox; + + BOOL bInShowMe; + +protected: + virtual void Resize(); + virtual void Paint( const Rectangle& ); + +public: + SfxHelpPI( SfxBindings* pBindimgs, SfxChildWindow* pChildWin, + Window* pParent, USHORT nScale ); + ~SfxHelpPI(); + + void LoadTopic( const String& rFileName, ULONG nId ); + void LoadTopic( ULONG nId ); + void LoadTopic( const String& rKeyword ); + void ResetTopic(); + + BOOL Close(); + + BOOL IsConstructed() const { return ( pHelpPI != 0 ); } + String GetExtraInfo() const; + + HelpPI* GetHelpPI() const { return pHelpPI; } + + virtual void FillInfo( SfxChildWinInfo& ) const; + + void SetTip( ULONG nId ); + ULONG GetTip() const { return nTip; } + void SetTipText( const String& rText ); + + BOOL IsInShowMe() const { return bInShowMe; } + + // Nach F1 fuer einige ms nicht aufgrund von FocusChanged ein anderes Topic laden... + BOOL IsTopicJustRequested() const { return aTopicJustRequestedTimer.IsActive(); } + void SetTopicJustRequested( BOOL bOn ) { if( bOn ) + aTopicJustRequestedTimer.Start(); + else + aTopicJustRequestedTimer.Stop(); } + +#if __PRIVATE + DECL_LINK( TopicChangedHdl_Impl, void* ); + DECL_LINK( SpecialLinkHdl, SpecialLinkInfo* ); + DECL_LINK( TipBoxHdl, CheckBox* ); + DECL_LINK( PIToolboxHdl, ToolBox* ); +#endif +}; + + + +class SfxHelp +{ +public: + static BOOL ShowHelp( ULONG nId, BOOL bShowInHelpAgent, const char* pFileName = 0, BOOL bQuiet = FALSE ); + static BOOL ShowHelp( const String& rKeyword, BOOL bShowInHelpAgent, const char* pFileName = 0 ); + static void ShowHint( ULONG nId ); + static void SetCustomHelpFile( const String& rName ); + static USHORT GetHelpFileInfoCount(); + static HelpFileInfo* GetHelpFileInfo( USHORT n ); +}; + +USHORT ImplSetLanguageGroup( Config& rConfig, const String& rGroupName, BOOL bSearchLanguage ); + + + +#if __PRIVATE + +SV_DECL_VARARR_SORT( SortedULONGs, ULONG, 0, 4 ); +//SV_DECL_PTRARR_DEL( HelpTextCaches, HelpTextCache*, 0, 4 ); + + +class SfxHelp_Impl : public Help, public SfxListener +{ + friend class SfxHelp; + + String aCustomHelpFile; + String aCurHelpFile; // Kurzer Name ohne Pfad + + SHelpInfo* pHelpInfo; // Fr GetHelpText() + +// HelpTextCache* pHelpCache; +// HelpTextCaches aHelpCaches; + + Timer aDialogDetector; + + SortedULONGs* pPIStarterList; + + ULONG nLastDialog; + BOOL bForcedFloatingPI; + + List* pHelpFileInfos; + +private: + BOOL ImplStart( ULONG nHelpId, BOOL bCheckHelpFile, BOOL bChangeHelpFile, BOOL bHelpAgent ); + virtual BOOL Start( ULONG nHelpId ); +#ifndef ENABLEUNICODE + virtual BOOL Start( const String& rKeyWord ); +#else + virtual BOOL Start( const UniString& rKeyWord ); +#endif + void SetCurrentHelpFile( ULONG nId ); + String GetCurrentHelpFile() const { return aCurHelpFile; } + + virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); + + + inline SortedULONGs* GetPIStarterList(); + void CreatePIStarterList(); + + + DECL_LINK( DialogDetectHdl, Timer* ); + +protected: + void AssertValidHelpDocInfo(); + +public: + + SfxHelp_Impl(); + ~SfxHelp_Impl(); + + static String GetHelpPath(); + static String GetHelpFileName( ULONG nId ); + BOOL CheckHelpFile( BOOL bPrompt ) const; + static BOOL CheckHelpFile( const String& rFilename, BOOL bPrompt ); + + static Window* SearchFocusWindowParent(); + void CheckPIPosition(); + + void SetHelpFile( const String &rHelpFileName, BOOL bAdjustExt = TRUE ); + const String& GetCurHelpFile() const { return aCurHelpFile; } + + XubString GetHelpText( ULONG nHelpId ); + + void GetHelpURLs( const String& rRootURL, SvStringsDtor& rLst ); + void GetBookmarks( SvStringsDtor& rLst ); + void AddBookmark( const String& rName, const String& rURL ); + void RemoveBookmark( const String& rName ); + void RenameBookmark( const String& rOldTitle, const String& rNewTitle ); + + void SlotExecutedOrFocusChanged( ULONG nId, BOOL bSlot, BOOL bAutoStart ); + void EnableTip( ULONG nTip, BOOL bEnable ); + + void ResetPIStarterList(); + + void HelpAgentClosed(); + + void StartHelpPI( ULONG nHelpId, BOOL bSlot, BOOL bTip = FALSE ); + + USHORT GetHelpFileInfoCount(); + HelpFileInfo* GetHelpFileInfo( USHORT n ); + + static String GetConfigDir( BOOL bGetSharedConfig ); + static String GetHelpAgentConfig(); +}; + +inline SortedULONGs* SfxHelp_Impl::GetPIStarterList() +{ + if ( !pPIStarterList ) + CreatePIStarterList(); + return pPIStarterList; +} + +#endif // _PRIVATE + +#endif // #ifndef _SFX_HELP_HXX + diff --git a/sfx2/inc/sfxresid.hxx b/sfx2/inc/sfxresid.hxx new file mode 100644 index 000000000000..f362dc87cdde --- /dev/null +++ b/sfx2/inc/sfxresid.hxx @@ -0,0 +1,92 @@ +/************************************************************************* + * + * $RCSfile: sfxresid.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:52:24 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 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 + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#ifndef _SFX_SFXRESID_HXX +#define _SFX_SFXRESID_HXX + +#ifndef _STRING_HXX +#include <tools/string.hxx> +#endif + +#ifndef _RESID_HXX //autogen +#include <vcl/resid.hxx> +#endif + +class SfxResId: public ResId +{ +public: + SfxResId( USHORT nId ); +}; + +//============================================================================ +class SfxSimpleResId +{ + String m_sText; + +public: + SfxSimpleResId(USHORT nID); + + String getText() const { return m_sText; } + + operator String() const { return getText(); } +}; + + +#endif diff --git a/sfx2/inc/stbitem.hxx b/sfx2/inc/stbitem.hxx new file mode 100644 index 000000000000..f0e1c60298bb --- /dev/null +++ b/sfx2/inc/stbitem.hxx @@ -0,0 +1,143 @@ +/************************************************************************* + * + * $RCSfile: stbitem.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:52:24 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 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 + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#ifndef _SFXSTBITEM_HXX +#define _SFXSTBITEM_HXX + +#ifndef _SFXCTRLITEM_HXX +#include "ctrlitem.hxx" +#endif + +class SvStream; +class SvStream; +class SfxModule; + +//------------------------------------------------------------------ + +class StatusBar; +class SfxStatusBarControl; +class SfxBindings; + +typedef SfxStatusBarControl* (*SfxStatusBarControlCtor)( USHORT nId, StatusBar &rStb, SfxBindings & ); + +struct SfxStbCtrlFactory +{ + SfxStatusBarControlCtor pCtor; + TypeId nTypeId; + USHORT nSlotId; + + SfxStbCtrlFactory( SfxStatusBarControlCtor pTheCtor, + TypeId nTheTypeId, USHORT nTheSlotId ): + pCtor(pTheCtor), + nTypeId(nTheTypeId), + nSlotId(nTheSlotId) + {} +}; + +//------------------------------------------------------------------ + +class CommandEvent; +class MouseEvent; +class UserDrawEvent; + +class SfxStatusBarControl: public SfxControllerItem +{ +friend class SfxStatusBar_Impl; + + StatusBar* pBar; + +protected: + virtual void StateChanged( USHORT nSID, SfxItemState eState, + const SfxPoolItem* pState ); + virtual void Click(); + virtual void DoubleClick(); + virtual void Command( const CommandEvent& rCEvt ); + virtual BOOL MouseButtonDown( const MouseEvent & ); + virtual BOOL MouseMove( const MouseEvent & ); + virtual BOOL MouseButtonUp( const MouseEvent & ); + virtual void Paint( const UserDrawEvent &rUDEvt ); + +public: + SfxStatusBarControl( USHORT nId, StatusBar& rBar, SfxBindings & ); + virtual ~SfxStatusBarControl(); + + StatusBar& GetStatusBar() const { return *pBar; } + void CaptureMouse(); + void ReleaseMouse(); + + static SfxStatusBarControl* CreateControl( USHORT nId, StatusBar *pBar, SfxBindings&, SfxModule* ); +}; + +//------------------------------------------------------------------ + +#define SFX_DECL_STATUSBAR_CONTROL() \ + static SfxStatusBarControl* CreateImpl( USHORT nId, StatusBar &rStb, SfxBindings &rBindings ); \ + static void RegisterControl(USHORT nSlotId = 0, SfxModule *pMod=NULL) + +#define SFX_IMPL_STATUSBAR_CONTROL(Class, nItemClass) \ + SfxStatusBarControl* __EXPORT Class::CreateImpl( USHORT nId, StatusBar &rStb, SfxBindings &rBindings ) \ + { return new Class(nId, rStb, rBindings); } \ + void Class::RegisterControl(USHORT nSlotId, SfxModule *pMod) \ + { SFX_APP()->RegisterStatusBarControl( pMod, new SfxStbCtrlFactory( \ + Class::CreateImpl, TYPE(nItemClass), nSlotId ) ); } + + +#endif + diff --git a/sfx2/inc/tplpitem.hxx b/sfx2/inc/tplpitem.hxx new file mode 100644 index 000000000000..1595e3b597f6 --- /dev/null +++ b/sfx2/inc/tplpitem.hxx @@ -0,0 +1,92 @@ +/************************************************************************* + * + * $RCSfile: tplpitem.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:52:25 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 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 + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#ifndef _SFX_TPLPITEM_HXX +#define _SFX_TPLPITEM_HXX + + +#ifndef _STRING_HXX //autogen +#include <tools/string.hxx> +#endif +#ifndef _RTTI_HXX //autogen +#include <tools/rtti.hxx> +#endif +#ifndef _SFXFLAGITEM_HXX //autogen +#include <svtools/flagitem.hxx> +#endif + +class SfxTemplateItem: public SfxFlagItem +{ + String aStyle; +public: + TYPEINFO(); + SfxTemplateItem( USHORT nWhich, + const String &rStyle, + USHORT nMask = 0xffff ); + SfxTemplateItem( const SfxTemplateItem& ); + + const String& GetStyleName() const { return aStyle; } + + virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; + virtual int operator==( const SfxPoolItem& ) const; + virtual BYTE GetFlagCount() const; +}; + +#endif diff --git a/sfx2/inc/viewfac.hxx b/sfx2/inc/viewfac.hxx new file mode 100644 index 000000000000..e5234f1330b6 --- /dev/null +++ b/sfx2/inc/viewfac.hxx @@ -0,0 +1,102 @@ +/************************************************************************* + * + * $RCSfile: viewfac.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:52:25 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 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 + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#ifndef _VIEWFAC_HXX +#define _VIEWFAC_HXX + + +#ifndef _STRING_HXX //autogen +#include <tools/string.hxx> +#endif +#ifndef _RESID_HXX //autogen +#include <vcl/resid.hxx> +#endif + +class SfxViewFrame; +class SfxViewShell; +class Window; + +typedef SfxViewShell* (*SfxViewCtor)(SfxViewFrame*, SfxViewShell*); +typedef void (*SfxViewInit)(); + +// CLASS ----------------------------------------------------------------- +class SfxViewFactory +{ +public: + SfxViewFactory( SfxViewCtor fnC, SfxViewInit fnI, + USHORT nOrdinal, const ResId& aDescrResId ); + ~SfxViewFactory(); + + SfxViewShell *CreateInstance(SfxViewFrame *pViewFrame, SfxViewShell *pOldSh); + void InitFactory(); + + String GetDescription() const + { return String( aDescription ); } + USHORT GetOrdinal() const { return nOrd; } + +private: + SfxViewCtor fnCreate; + SfxViewInit fnInit; + USHORT nOrd; + ResId aDescription; +}; + +#endif + |