summaryrefslogtreecommitdiff
path: root/sfx2/inc
diff options
context:
space:
mode:
Diffstat (limited to 'sfx2/inc')
-rw-r--r--sfx2/inc/about.hxx122
-rw-r--r--sfx2/inc/arrdecl.hxx130
-rw-r--r--sfx2/inc/basmgr.hxx170
-rw-r--r--sfx2/inc/bitset.hxx293
-rw-r--r--sfx2/inc/configmgr.hxx73
-rw-r--r--sfx2/inc/dinfedt.hxx120
-rw-r--r--sfx2/inc/docvor.hxx183
-rw-r--r--sfx2/inc/frmload.hxx221
-rw-r--r--sfx2/inc/idpool.hxx97
-rw-r--r--sfx2/inc/imgmgr.hxx155
-rw-r--r--sfx2/inc/inettbc.hxx163
-rw-r--r--sfx2/inc/mieclip.hxx130
-rw-r--r--sfx2/inc/minfitem.hxx115
-rw-r--r--sfx2/inc/msgnodei.hxx269
-rw-r--r--sfx2/inc/orgmgr.hxx133
-rw-r--r--sfx2/inc/progind.hxx127
-rw-r--r--sfx2/inc/resmgr.hxx109
-rw-r--r--sfx2/inc/sfxbasic.hxx76
-rw-r--r--sfx2/inc/sfxhelp.hxx311
-rw-r--r--sfx2/inc/sfxresid.hxx92
-rw-r--r--sfx2/inc/stbitem.hxx143
-rw-r--r--sfx2/inc/tplpitem.hxx92
-rw-r--r--sfx2/inc/viewfac.hxx102
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
+