d02f75a8c3
(cherry picked from commit 0a0a9b32aa5bf1ce2554ad37cbba3c7a105db2b5) Conflicts: chart2/source/controller/dialogs/dlg_View3D.cxx chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx chart2/source/controller/dialogs/tp_3D_SceneIllumination.hxx chart2/source/controller/drawinglayer/ViewElementListProvider.cxx chart2/source/controller/inc/ViewElementListProvider.hxx chart2/source/controller/inc/dlg_View3D.hxx chart2/source/controller/main/ShapeController.cxx chart2/source/inc/chartview/DrawModelWrapper.hxx chart2/source/view/main/DrawModelWrapper.cxx cui/source/inc/border.hxx cui/source/inc/cuitabarea.hxx cui/source/inc/cuitabline.hxx cui/source/inc/sdrcelldlg.hxx cui/source/inc/treeopt.hxx cui/source/options/optchart.cxx cui/source/options/optchart.hxx cui/source/options/optcolor.cxx cui/source/options/treeopt.cxx cui/source/tabpages/backgrnd.cxx cui/source/tabpages/border.cxx cui/source/tabpages/chardlg.cxx cui/source/tabpages/numpages.cxx cui/source/tabpages/tpcolor.cxx cui/source/tabpages/tplneend.cxx editeng/inc/editeng/outliner.hxx extensions/source/propctrlr/standardcontrol.cxx framework/source/register/registerservices.cxx offapi/com/sun/star/ui/makefile.mk officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu officecfg/registry/data/org/openoffice/Office/UI/makefile.mk officecfg/registry/schema/org/openoffice/Office/UI/makefile.mk postprocess/packregistry/makefile.mk reportdesign/source/ui/dlg/Condition.cxx reportdesign/source/ui/misc/UITools.cxx sc/inc/document.hxx sc/inc/helpids.h sc/inc/sc.hrc sc/prj/build.lst sc/sdi/scalc.sdi sc/source/core/data/documen9.cxx sc/source/core/data/drwlayer.cxx sc/source/ui/app/scdll.cxx sc/source/ui/app/typemap.cxx sc/source/ui/dbgui/scendlg.cxx sc/source/ui/docshell/docsh2.cxx sc/source/ui/docshell/docsh4.cxx sc/source/ui/drawfunc/chartsh.cxx sc/source/ui/drawfunc/drawsh.cxx sc/source/ui/drawfunc/drawsh2.cxx sc/source/ui/drawfunc/drawsh4.cxx sc/source/ui/drawfunc/drformsh.cxx sc/source/ui/drawfunc/drtxtob.cxx sc/source/ui/drawfunc/drtxtob1.cxx sc/source/ui/drawfunc/drtxtob2.cxx sc/source/ui/drawfunc/graphsh.cxx sc/source/ui/drawfunc/oleobjsh.cxx sc/source/ui/inc/chartsh.hxx sc/source/ui/inc/formatsh.hxx sc/source/ui/miscdlgs/tabbgcolordlg.cxx sc/source/ui/navipi/navipi.cxx sc/source/ui/optdlg/opredlin.cxx sc/source/ui/optdlg/tpview.cxx sc/source/ui/sidebar/makefile.mk sc/source/ui/view/auditsh.cxx sc/source/ui/view/cellsh.cxx sc/source/ui/view/editsh.cxx sc/source/ui/view/formatsh.cxx sc/source/ui/view/pivotsh.cxx sc/source/ui/view/tabvwsh.cxx sc/util/makefile.mk sd/inc/sdabstdlg.hxx sd/prj/build.lst sd/sdi/ToolPanelViewShell.sdi sd/sdi/makefile.mk sd/source/ui/accessibility/makefile.mk sd/source/ui/animations/CustomAnimationDialog.cxx sd/source/ui/dlg/PaneChildWindows.cxx sd/source/ui/dlg/PaneShells.cxx sd/source/ui/dlg/copydlg.cxx sd/source/ui/dlg/navigatr.cxx sd/source/ui/dlg/sddlgfact.cxx sd/source/ui/dlg/sddlgfact.hxx sd/source/ui/docshell/docshel3.cxx sd/source/ui/framework/configuration/ConfigurationControllerResourceManager.cxx sd/source/ui/framework/factories/TaskPanelFactory.cxx sd/source/ui/framework/factories/TaskPanelFactory.hxx sd/source/ui/framework/factories/ViewShellWrapper.cxx sd/source/ui/framework/factories/makefile.mk sd/source/ui/framework/module/ImpressModule.cxx sd/source/ui/framework/module/ToolPanelModule.cxx sd/source/ui/framework/tools/FrameworkHelper.cxx sd/source/ui/func/fuolbull.cxx sd/source/ui/inc/DrawViewShell.hxx sd/source/ui/inc/PaneChildWindows.hxx sd/source/ui/inc/celltempl.hxx sd/source/ui/inc/copydlg.hxx sd/source/ui/inc/dlgpage.hxx sd/source/ui/inc/framework/FrameworkHelper.hxx sd/source/ui/inc/prltempl.hxx sd/source/ui/inc/tabtempl.hxx sd/source/ui/inc/taskpane/ILayoutableWindow.hxx sd/source/ui/inc/taskpane/PanelId.hxx sd/source/ui/inc/tpaction.hxx sd/source/ui/sidebar/AllMasterPagesSelector.cxx sd/source/ui/sidebar/AllMasterPagesSelector.hxx sd/source/ui/sidebar/CurrentMasterPagesSelector.cxx sd/source/ui/sidebar/CurrentMasterPagesSelector.hxx sd/source/ui/sidebar/DocumentHelper.cxx sd/source/ui/sidebar/DocumentHelper.hxx sd/source/ui/sidebar/LayoutMenu.cxx sd/source/ui/sidebar/LayoutMenu.hxx sd/source/ui/sidebar/MasterPageContainer.cxx sd/source/ui/sidebar/MasterPageContainer.hxx sd/source/ui/sidebar/MasterPageContainerFiller.cxx sd/source/ui/sidebar/MasterPageContainerFiller.hxx sd/source/ui/sidebar/MasterPageContainerProviders.cxx sd/source/ui/sidebar/MasterPageContainerProviders.hxx sd/source/ui/sidebar/MasterPageContainerQueue.cxx sd/source/ui/sidebar/MasterPageContainerQueue.hxx sd/source/ui/sidebar/MasterPageDescriptor.cxx sd/source/ui/sidebar/MasterPageDescriptor.hxx sd/source/ui/sidebar/MasterPageObserver.cxx sd/source/ui/sidebar/MasterPagesSelector.cxx sd/source/ui/sidebar/MasterPagesSelector.hxx sd/source/ui/sidebar/PreviewValueSet.cxx sd/source/ui/sidebar/PreviewValueSet.hxx sd/source/ui/sidebar/RecentMasterPagesSelector.cxx sd/source/ui/sidebar/RecentlyUsedMasterPages.cxx sd/source/ui/sidebar/SidebarShellManager.cxx sd/source/ui/sidebar/SlideTransitionPanel.hxx sd/source/ui/sidebar/makefile.mk sd/source/ui/slidesorter/shell/SlideSorterViewShell.cxx sd/source/ui/table/TableDesignPane.hxx sd/source/ui/toolpanel/ControlContainer.cxx sd/source/ui/toolpanel/ControlContainerDescriptor.hxx sd/source/ui/toolpanel/MethodGuard.hxx sd/source/ui/toolpanel/ScrollPanel.cxx sd/source/ui/toolpanel/SlideSorterCacheDisplay.cxx sd/source/ui/toolpanel/SubToolPanel.cxx sd/source/ui/toolpanel/TaskPaneFocusManager.cxx sd/source/ui/toolpanel/TaskPaneTreeNode.cxx sd/source/ui/toolpanel/TitleBar.cxx sd/source/ui/toolpanel/TitledControl.cxx sd/source/ui/toolpanel/ToolPanel.cxx sd/source/ui/toolpanel/ToolPanel.hxx sd/source/ui/toolpanel/ToolPanelFactory.cxx sd/source/ui/toolpanel/ToolPanelUIElement.cxx sd/source/ui/toolpanel/ToolPanelUIElement.hxx sd/source/ui/toolpanel/ToolPanelViewShell.cxx sd/source/ui/toolpanel/controls/CustomAnimationPanel.cxx sd/source/ui/toolpanel/controls/CustomAnimationPanel.hxx sd/source/ui/toolpanel/controls/MasterPagesPanel.cxx sd/source/ui/toolpanel/controls/MasterPagesPanel.hxx sd/source/ui/toolpanel/controls/SlideTransitionPanel.cxx sd/source/ui/toolpanel/controls/SlideTransitionPanel.hxx sd/source/ui/toolpanel/controls/TableDesignPanel.cxx sd/source/ui/toolpanel/controls/TableDesignPanel.hxx sd/source/ui/unoidl/UnoDocumentSettings.cxx sd/source/ui/view/ViewShellBase.cxx sd/source/ui/view/drtxtob.cxx sd/source/ui/view/drviews3.cxx sd/source/ui/view/drviews7.cxx sd/source/ui/view/drviewsa.cxx sd/source/ui/view/drviewsf.cxx sd/source/ui/view/outlnvsh.cxx sd/source/ui/view/sdview.cxx sd/source/ui/view/viewshel.cxx sd/uiconfig/sdraw/menubar/menubar.xml sd/util/makefile.mk sfx2/Package_inc.mk sfx2/inc/sfx2/sfx.hrc sfx2/inc/sfx2/sfxsids.hrc sfx2/source/control/bindings.cxx sfx2/source/dialog/templdlg.cxx sfx2/source/inc/templdgi.hxx svx/AllLangResTarget_svx.mk svx/Package_inc.mk svx/inc/svx/XPropertyTable.hxx svx/inc/svx/bmpmask.hxx svx/inc/svx/colrctrl.hxx svx/inc/svx/dialogs.hrc svx/inc/svx/dlgctrl.hxx svx/inc/svx/dlgutil.hxx svx/inc/svx/drawitem.hxx svx/inc/svx/fontwork.hxx svx/inc/svx/galbrws.hxx svx/inc/svx/sdr/table/tablecontroller.hxx svx/inc/svx/svdmodel.hxx svx/inc/svx/svdstr.hrc svx/inc/svx/svxids.hrc svx/inc/svx/svxitems.hrc svx/inc/svx/xattr.hxx svx/inc/svx/xflgrit.hxx svx/inc/svx/xflhtit.hxx svx/inc/svx/xit.hxx svx/inc/svx/xlineit.hxx svx/inc/svx/xlndsit.hxx svx/inc/svx/xlnedit.hxx svx/inc/svx/xlnstit.hxx svx/inc/svx/xtable.hxx svx/sdi/svx.sdi svx/source/dialog/_bmpmask.cxx svx/source/dialog/dialcontrol.cxx svx/source/dialog/dlgctrl.cxx svx/source/dialog/dlgutil.cxx svx/source/dialog/fontwork.cxx svx/source/gallery2/galbrws.cxx svx/source/gallery2/galbrws1.cxx svx/source/gallery2/gallery1.cxx svx/source/items/drawitem.cxx svx/source/items/svxitems.src svx/source/sdr/attribute/sdrformtextattribute.cxx svx/source/sidebar/ColorPanel.hxx svx/source/sidebar/EmptyPanel.hrc svx/source/sidebar/EmptyPanel.hxx svx/source/sidebar/gallery/GalleryPanel.hxx svx/source/svdraw/svdedtv1.cxx svx/source/svdraw/svdmodel.cxx svx/source/svdraw/svdogrp.cxx svx/source/svdraw/svdstr.src svx/source/tbxctrls/tbcontrl.cxx svx/source/unodraw/XPropertyTable.cxx svx/source/unodraw/unoctabl.cxx svx/source/xoutdev/XPropertyEntry.cxx svx/source/xoutdev/xattr.cxx svx/source/xoutdev/xattr2.cxx svx/source/xoutdev/xtabbtmp.cxx svx/source/xoutdev/xtabcolr.cxx svx/source/xoutdev/xtabdash.cxx svx/source/xoutdev/xtabgrdt.cxx svx/source/xoutdev/xtabhtch.cxx svx/source/xoutdev/xtable.cxx svx/source/xoutdev/xtablend.cxx svx/util/svx.component sw/inc/cmdid.h sw/inc/docsh.hxx sw/inc/editsh.hxx sw/inc/helpid.h sw/inc/rcid.hrc sw/inc/swabstdlg.hxx sw/inc/swcommands.h sw/sdi/swriter.sdi sw/source/core/doc/docdesc.cxx sw/source/core/draw/drawdoc.cxx sw/source/ui/app/docsh2.cxx sw/source/ui/app/docshdrw.cxx sw/source/ui/app/docshini.cxx sw/source/ui/app/docst.cxx sw/source/ui/config/optpage.cxx sw/source/ui/dialog/swdlgfact.cxx sw/source/ui/dialog/swdlgfact.hxx sw/source/ui/fmtui/tmpdlg.cxx sw/source/ui/inc/tmpdlg.hxx sw/source/ui/misc/pggrid.cxx sw/source/ui/shells/annotsh.cxx sw/source/ui/shells/basesh.cxx sw/source/ui/shells/beziersh.cxx sw/source/ui/shells/drawdlg.cxx sw/source/ui/shells/drawsh.cxx sw/source/ui/shells/drformsh.cxx sw/source/ui/shells/drwbassh.cxx sw/source/ui/shells/drwtxtex.cxx sw/source/ui/shells/drwtxtsh.cxx sw/source/ui/shells/frmsh.cxx sw/source/ui/shells/grfsh.cxx sw/source/ui/shells/olesh.cxx sw/source/ui/shells/tabsh.cxx sw/source/ui/shells/textsh.cxx sw/source/ui/shells/textsh1.cxx sw/source/ui/shells/txtnum.cxx sw/source/ui/uiview/viewtab.cxx sw/source/ui/uno/unofreg.cxx sw/source/ui/utlui/navipi.cxx sw/util/sw.component vcl/inc/vcl/split.hxx vcl/inc/vcl/window.hxx vcl/inc/window.h vcl/source/window/split.cxx vcl/source/window/window.cxx vcl/source/window/window4.cxx Change-Id: Idebaff59f9d60e4e93290cefefdda4c5a1e9215e Resolves: #i122194# Adapted license text in propertypanel.hrc then renamed it to ResourceDefinitions.hrc (cherry picked from commit e952d1401c1adc41934118ba7f542611ef9da11b) Conflicts: sfx2/Package_inc.mk sfx2/source/sidebar/SidebarChildWindow.cxx svx/source/sidebar/graphic/GraphicPropertyPanel.cxx svx/source/sidebar/line/LinePropertyPanel.cxx svx/source/sidebar/possize/PosSizePropertyPanel.cxx sw/source/ui/sidebar/PagePropertyPanel.src sw/source/ui/sidebar/WrapPropertyPanel.src Change-Id: Ie009056a78ab108556717a501399c83b477b3548 Resolves: #i122194# finally I got the correct file name Change-Id: If7a075af8c9a829f6f0a69f883c5c6d4ac97ba2a More merge changes for optional sidebar: revert toolpanel removal, restore and re-enable task pane remove apparently un-used SidebarFactory module add extra visibility annotation to ItemReceiverUpdate
373 lines
15 KiB
C++
373 lines
15 KiB
C++
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
/*
|
|
* This file is part of the LibreOffice project.
|
|
*
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
*
|
|
* This file incorporates work covered by the following license notice:
|
|
*
|
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
* contributor license agreements. See the NOTICE file distributed
|
|
* with this work for additional information regarding copyright
|
|
* ownership. The ASF licenses this file to you under the Apache
|
|
* License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0 .
|
|
*/
|
|
#ifndef _SFX_SHELL_HXX
|
|
#define _SFX_SHELL_HXX
|
|
|
|
#include "sal/config.h"
|
|
#include "sfx2/dllapi.h"
|
|
#include "sal/types.h"
|
|
#include <com/sun/star/embed/VerbDescriptor.hpp>
|
|
#include <tools/debug.hxx>
|
|
#include <tools/rtti.hxx>
|
|
#include <svl/brdcst.hxx>
|
|
|
|
#include <tools/string.hxx>
|
|
|
|
#include <sfx2/sfxuno.hxx>
|
|
|
|
class ResMgr;
|
|
class Window;
|
|
class ToolBox;
|
|
class SfxItemPool;
|
|
class SfxPoolItem;
|
|
class SfxRequest;
|
|
class SfxItemSet;
|
|
struct SfxFormalArgument;
|
|
class StatusBar;
|
|
class SfxInterface;
|
|
class SfxViewShell;
|
|
class SfxObjectShell;
|
|
class SfxSlotPool;
|
|
class SvGlobalName;
|
|
|
|
class SfxShellObject;
|
|
class SfxShell;
|
|
struct SfxShell_Impl;
|
|
class SfxShellObject;
|
|
class SfxDispatcher;
|
|
class SfxViewFrame;
|
|
class SfxSlot;
|
|
class SfxRepeatTarget;
|
|
class SbxVariable;
|
|
class SbxBase;
|
|
class SfxBindings;
|
|
|
|
namespace svl
|
|
{
|
|
class IUndoManager;
|
|
}
|
|
|
|
//====================================================================
|
|
|
|
enum SfxInterfaceId
|
|
|
|
/* [Description]
|
|
|
|
Id for <SfxInterface>s, gives a quasi-static access to the interface
|
|
through an array to <SfxApplication>.
|
|
*/
|
|
|
|
{
|
|
SFX_INTERFACE_NONE,
|
|
SFX_INTERFACE_SFXAPP,
|
|
SFX_INTERFACE_SFXDOCSH,
|
|
SFX_INTERFACE_SFXIPFRM,
|
|
SFX_INTERFACE_SFXVIEWSH,
|
|
SFX_INTERFACE_SFXVIEWFRM,
|
|
SFX_INTERFACE_SFXPLUGINFRM,
|
|
SFX_INTERFACE_SFXPLUGINOBJ,
|
|
SFX_INTERFACE_SFXPLUGINVIEWSH,
|
|
SFX_INTERFACE_SFXFRAMESETOBJ,
|
|
SFX_INTERFACE_SFXFRAMESETVIEWSH,
|
|
SFX_INTERFACE_SFXINTERNALFRM,
|
|
SFX_INTERFACE_SFXCOMPONENTDOCSH,
|
|
SFX_INTERFACE_SFXGENERICOBJ,
|
|
SFX_INTERFACE_SFXGENERICVIEWSH,
|
|
SFX_INTERFACE_SFXEXPLOBJ,
|
|
SFX_INTERFACE_SFXEXPLVIEWSH,
|
|
SFX_INTERFACE_SFXPLUGINVIEWSHDYNAMIC,
|
|
SFX_INTERFACE_SFXEXTERNALVIEWFRM,
|
|
SFX_INTERFACE_SFXMODULE,
|
|
SFX_INTERFACE_SFXFRAMESETVIEW,
|
|
SFX_INTERFACE_SFXFRAMESETSOURCEVIEW,
|
|
SFX_INTERFACE_SFXHELP_DOCSH,
|
|
SFX_INTERFACE_SFXHELP_VIEWSH,
|
|
SFX_INTERFACE_SFXTASK,
|
|
SFX_INTERFACE_OFA_START = 100,
|
|
SFX_INTERFACE_OFA_END = 100,
|
|
SFX_INTERFACE_SC_START = 150,
|
|
SFX_INTERFACE_SC_END = 199,
|
|
SFX_INTERFACE_SD_START = 200,
|
|
SFX_INTERFACE_SD_END = 249,
|
|
SFX_INTERFACE_SW_START = 250,
|
|
SFX_INTERFACE_SW_END = 299,
|
|
SFX_INTERFACE_SIM_START = 300,
|
|
SFX_INTERFACE_SIM_END = 319,
|
|
SFX_INTERFACE_SCH_START = 320,
|
|
SFX_INTERFACE_SCH_END = 339,
|
|
SFX_INTERFACE_SMA_START = 340,
|
|
SFX_INTERFACE_SMA_END = 359,
|
|
SFX_INTERFACE_SBA_START = 360,
|
|
SFX_INTERFACE_SBA_END = 399,
|
|
SFX_INTERFACE_IDE_START = 400,
|
|
SFX_INTERFACE_IDE_END = 409,
|
|
//-if one is still needed
|
|
SFX_INTERFACE_APP = SFX_INTERFACE_SW_START,
|
|
SFX_INTERFACE_LIB = 450
|
|
};
|
|
|
|
//TODO/CLEANUP: replace by UNO constant
|
|
#define SVVERB_SHOW -1
|
|
|
|
//====================================================================
|
|
|
|
typedef void (*SfxExecFunc)(SfxShell *, SfxRequest &rReq);
|
|
typedef void (*SfxStateFunc)(SfxShell *, SfxItemSet &rSet);
|
|
|
|
class SFX2_DLLPUBLIC SfxShell: public SfxBroadcaster
|
|
|
|
/* [Description]
|
|
|
|
The class SfxShell is the base class for all classes, which provide
|
|
the functionality of the form <Slot>s.
|
|
|
|
Each instance has a reference to an interface description, which is
|
|
obtainable through <SfxShell::GetInterface()const>. This interface
|
|
provides the connection to specific methods and contains some other
|
|
descriptive data for controllers like menus and toolboxes, but also
|
|
for the various APIs. The main part of the interface description is in
|
|
the form of a <Type-Library>, which is generated from an IDL-file by
|
|
the <SVIDL-Compiler>. For each SfxShell Subclass-File there is one
|
|
such IDL-file to write.
|
|
*/
|
|
|
|
{
|
|
friend class SfxObjectItem;
|
|
|
|
SfxShell_Impl* pImp;
|
|
SfxItemPool* pPool;
|
|
::svl::IUndoManager* pUndoMgr;
|
|
|
|
private:
|
|
SfxShell( const SfxShell & ); // internal
|
|
SfxShell& operator = ( const SfxShell & ); // internal
|
|
|
|
protected:
|
|
SfxShell();
|
|
SfxShell( SfxViewShell *pViewSh );
|
|
|
|
#ifndef _SFXSH_HXX
|
|
SAL_DLLPRIVATE void SetViewShell_Impl( SfxViewShell* pView );
|
|
SAL_DLLPRIVATE void Invalidate_Impl( SfxBindings& rBindings, sal_uInt16 nId );
|
|
SAL_DLLPRIVATE SfxShellObject* GetShellObj_Impl() const;
|
|
SAL_DLLPRIVATE void SetShellObj_Impl( SfxShellObject* pObj );
|
|
#endif
|
|
|
|
public:
|
|
TYPEINFO();
|
|
virtual ~SfxShell();
|
|
|
|
virtual SfxInterface* GetInterface() const;
|
|
static SfxInterface* GetStaticInterface() { return 0; }
|
|
|
|
void SetName( const String &rName );
|
|
const String& GetName() const;
|
|
|
|
SfxViewShell* GetViewShell() const;
|
|
|
|
void CallExec( SfxExecFunc pFunc, SfxRequest &rReq )
|
|
{ (*pFunc)(this, rReq); }
|
|
void CallState( SfxStateFunc pFunc, SfxItemSet &rSet )
|
|
{ (*pFunc)(this, rSet); }
|
|
|
|
static void EmptyExecStub(SfxShell *pShell, SfxRequest &);
|
|
static void EmptyStateStub(SfxShell *pShell, SfxItemSet &);
|
|
|
|
const SfxPoolItem* GetSlotState( sal_uInt16 nSlotId, const SfxInterface *pIF = 0, SfxItemSet *pStateSet = 0 );
|
|
const SfxPoolItem* ExecuteSlot( SfxRequest &rReq, const SfxInterface *pIF = 0 );
|
|
const SfxPoolItem* ExecuteSlot( SfxRequest &rReq, sal_Bool bAsync );
|
|
sal_uIntPtr ExecuteSlot( sal_uInt16 nSlot, sal_uInt16 nMemberId, SbxVariable& rRet, SbxBase* pArgs = 0 );
|
|
|
|
inline SfxItemPool& GetPool() const;
|
|
inline void SetPool( SfxItemPool *pNewPool ) ;
|
|
|
|
virtual ::svl::IUndoManager*
|
|
GetUndoManager();
|
|
void SetUndoManager( ::svl::IUndoManager *pNewUndoMgr );
|
|
|
|
SfxRepeatTarget* GetRepeatTarget() const;
|
|
void SetRepeatTarget( SfxRepeatTarget *pTarget );
|
|
|
|
virtual void Invalidate(sal_uInt16 nId = 0);
|
|
|
|
sal_Bool IsActive() const;
|
|
virtual void Activate(sal_Bool bMDI);
|
|
virtual void Deactivate(sal_Bool bMDI);
|
|
virtual void ParentActivate();
|
|
virtual void ParentDeactivate();
|
|
|
|
SfxDispatcher* GetDispatcher() const;
|
|
SfxViewFrame* GetFrame() const;
|
|
ResMgr* GetResMgr() const;
|
|
virtual sal_Bool HasUIFeature( sal_uInt32 nFeature );
|
|
void UIFeatureChanged();
|
|
|
|
// Items
|
|
const SfxPoolItem* GetItem( sal_uInt16 nSlotId ) const;
|
|
void PutItem( const SfxPoolItem& rItem );
|
|
|
|
// TODO/CLEANUP: still needed?!
|
|
void SetVerbs(const com::sun::star::uno::Sequence < com::sun::star::embed::VerbDescriptor >& aVerbs);
|
|
const com::sun::star::uno::Sequence < com::sun::star::embed::VerbDescriptor >& GetVerbs() const;
|
|
void VerbExec (SfxRequest&);
|
|
void VerbState (SfxItemSet&);
|
|
SAL_DLLPRIVATE const SfxSlot* GetVerbSlot_Impl(sal_uInt16 nId) const;
|
|
|
|
void SetHelpId(sal_uIntPtr nId);
|
|
sal_uIntPtr GetHelpId() const;
|
|
virtual SfxObjectShell* GetObjectShell();
|
|
void SetDisableFlags( sal_uIntPtr nFlags );
|
|
sal_uIntPtr GetDisableFlags() const;
|
|
|
|
virtual SfxItemSet* CreateItemSet( sal_uInt16 nId );
|
|
virtual void ApplyItemSet( sal_uInt16 nId, const SfxItemSet& rSet );
|
|
|
|
void SetContextName (const ::rtl::OUString& rsContextName);
|
|
|
|
#ifndef _SFXSH_HXX
|
|
SAL_DLLPRIVATE bool CanExecuteSlot_Impl( const SfxSlot &rSlot );
|
|
SAL_DLLPRIVATE void DoActivate_Impl( SfxViewFrame *pFrame, sal_Bool bMDI);
|
|
SAL_DLLPRIVATE void DoDeactivate_Impl( SfxViewFrame *pFrame, sal_Bool bMDI);
|
|
#endif
|
|
};
|
|
|
|
//--------------------------------------------------------------------
|
|
SfxItemPool& SfxShell::GetPool() const
|
|
/*
|
|
[Description]
|
|
|
|
Each Subclass of SfxShell must reference a pool. This is partly set by
|
|
SFx's own set of subclasses (eg <SfxViewShell>). In particular however
|
|
this must be set directly from one derived SfxShell class and ny
|
|
derivatives of SfxObjectShell.
|
|
|
|
The SfxShell class itself does not have any SfxItemPool, therfore a
|
|
null-pointer is returned.
|
|
*/
|
|
|
|
{
|
|
DBG_ASSERT( pPool, "no pool" );
|
|
return *pPool;
|
|
}
|
|
//-------------------------------------------------------------------
|
|
inline void SfxShell::SetPool
|
|
(
|
|
SfxItemPool* pNewPool // Pointer to the new Pool or null
|
|
)
|
|
|
|
/* [Description]
|
|
|
|
With this method, the subclasses register their special <SfxItemPool>
|
|
in the SfxShell. Each SfxShell instance must have access to a SfxItemPool.
|
|
Usually this is the SfxItemPool of the SfxDocumentShell. The SfxShell
|
|
subclass does not take ownership of the orphaned pool. Before it is
|
|
deleted it has to be deregisted with SetPool(0).
|
|
*/
|
|
|
|
{
|
|
pPool = pNewPool;
|
|
}
|
|
|
|
//=====================================================================
|
|
|
|
#define SFX_ARGUMENTMAP(ShellClass) static SfxFormalArgument a##ShellClass##Args_Impl[] =
|
|
|
|
#define SFX_SLOTMAP(ShellClass) static SfxFormalArgument a##ShellClass##Args_Impl[1]; \
|
|
static SfxSlot a##ShellClass##Slots_Impl[] =
|
|
|
|
#define SFX_SLOTMAP_ARG(ShellClass) static SfxSlot a##ShellClass##Slots_Impl[] =
|
|
|
|
#define SFX_DECL_INTERFACE(nId) \
|
|
static SfxInterface* pInterface; \
|
|
private: \
|
|
static void InitInterface_Impl(); \
|
|
public: \
|
|
static const SfxFormalArgument* pSfxFormalArgs_Impl; \
|
|
static SfxInterface* GetStaticInterface(); \
|
|
static SfxInterfaceId GetInterfaceId() {return SfxInterfaceId(nId);} \
|
|
static void RegisterInterface(SfxModule* pMod=NULL); \
|
|
virtual SfxInterface* GetInterface() const;
|
|
|
|
#define SFX_IMPL_INTERFACE(Class,SuperClass,NameResId) \
|
|
\
|
|
SfxInterface* Class::pInterface = 0; \
|
|
const SfxFormalArgument* Class::pSfxFormalArgs_Impl = a##Class##Args_Impl;\
|
|
SfxInterface* Class::GetStaticInterface() \
|
|
{ \
|
|
if ( !pInterface ) \
|
|
{ \
|
|
pInterface = \
|
|
new SfxInterface( \
|
|
#Class, NameResId, GetInterfaceId(), \
|
|
SuperClass::GetStaticInterface(), \
|
|
a##Class##Slots_Impl[0], \
|
|
(sal_uInt16) (sizeof(a##Class##Slots_Impl) / sizeof(SfxSlot) ) ); \
|
|
InitInterface_Impl(); \
|
|
} \
|
|
return pInterface; \
|
|
} \
|
|
\
|
|
SfxInterface* Class::GetInterface() const \
|
|
{ \
|
|
return GetStaticInterface(); \
|
|
} \
|
|
\
|
|
void Class::RegisterInterface(SfxModule* pMod) \
|
|
{ \
|
|
GetStaticInterface()->Register(pMod); \
|
|
} \
|
|
\
|
|
void Class::InitInterface_Impl()
|
|
|
|
#define SFX_POSITION_MASK 0x000F
|
|
#define SFX_VISIBILITY_MASK 0xFFF0
|
|
#define SFX_VISIBILITY_UNVISIBLE 0x0000 // Never visible
|
|
#define SFX_VISIBILITY_VIEWER 0x0040
|
|
#define SFX_VISIBILITY_READONLYDOC 0x0400
|
|
#define SFX_VISIBILITY_DESKTOP 0x0800
|
|
#define SFX_VISIBILITY_STANDARD 0x1000
|
|
#define SFX_VISIBILITY_FULLSCREEN 0x2000
|
|
#define SFX_VISIBILITY_CLIENT 0x4000
|
|
#define SFX_VISIBILITY_SERVER 0x8000
|
|
#define SFX_VISIBILITY_NOCONTEXT 0xFFFF // Always visable
|
|
|
|
#define SFX_OBJECTBAR_REGISTRATION(nPos,rResId) \
|
|
GetStaticInterface()->RegisterObjectBar( nPos, rResId )
|
|
|
|
#define SFX_FEATURED_OBJECTBAR_REGISTRATION(nPos,rResId,nFeature) \
|
|
GetStaticInterface()->RegisterObjectBar( nPos, rResId, nFeature )
|
|
|
|
#define SFX_CHILDWINDOW_REGISTRATION(nId) \
|
|
GetStaticInterface()->RegisterChildWindow( nId, (sal_Bool) sal_False )
|
|
|
|
#define SFX_FEATURED_CHILDWINDOW_REGISTRATION(nId,nFeature) \
|
|
GetStaticInterface()->RegisterChildWindow( nId, (sal_Bool) sal_False, nFeature )
|
|
|
|
#define SFX_CHILDWINDOW_CONTEXT_REGISTRATION(nId) \
|
|
GetStaticInterface()->RegisterChildWindow( nId, (sal_Bool) sal_True )
|
|
|
|
#define SFX_POPUPMENU_REGISTRATION(rResId) \
|
|
GetStaticInterface()->RegisterPopupMenu( rResId )
|
|
|
|
#define SFX_STATUSBAR_REGISTRATION(rResId) \
|
|
GetStaticInterface()->RegisterStatusBar( rResId )
|
|
|
|
#endif
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|