19#ifndef INCLUDED_SFX2_BINDINGS_HXX
20#define INCLUDED_SFX2_BINDINGS_HXX
33#include <com/sun/star/uno/Reference.h>
97 std::unique_ptr< SfxBindings_Impl>
pImpl;
102 SAL_DLLPRIVATE
const SfxPoolItem* Execute_Impl( sal_uInt16 nSlot,
const SfxPoolItem **pArgs, sal_uInt16 nModi,
104 SAL_DLLPRIVATE
void SetSubBindings_Impl(
SfxBindings* );
105 SAL_DLLPRIVATE
void UpdateSlotServer_Impl();
106 SAL_DLLPRIVATE std::optional<SfxItemSet> CreateSet_Impl(
SfxStateCache& rCache,
const SfxSlot* &pRealSlot,
108 SAL_DLLPRIVATE std::size_t GetSlotPos( sal_uInt16 nId, std::size_t nStartSearchAt = 0 );
110 static SAL_DLLPRIVATE
void UpdateControllers_Impl(
114 SAL_DLLPRIVATE
SfxStateCache* GetStateCache( sal_uInt16 nId, std::size_t * pPos);
116 SAL_DLLPRIVATE
bool NextJob_Impl(
Timer const * pTimer);
122 void HidePopups(
bool bHide =
true );
126 void Update( sal_uInt16 nId );
128 SAL_DLLPRIVATE
void StartUpdate_Impl(
bool bComplete=
false);
129 void Invalidate( sal_uInt16 nId );
130 void Invalidate(
const sal_uInt16* pIds );
131 void InvalidateShell(
const SfxShell &rSh,
bool bDeep =
false );
132 void InvalidateAll(
bool bWithMsg );
135 void Invalidate( sal_uInt16 nId,
bool bWithItem,
bool bWithMsg=
false);
136 bool IsInUpdate()
const;
137 void SetVisibleState( sal_uInt16 nId,
bool bShow );
140 SAL_DLLPRIVATE
SfxStateCache* GetAnyStateCache_Impl( sal_uInt16 nId );
144 SfxItemState QueryState( sal_uInt16 nSID, std::unique_ptr<SfxPoolItem> &rpState );
148 std::unique_ptr<SfxPoolItem> tmp;
149 auto ret = QueryState(sal_uInt16(nSID), tmp);
150 rpState.reset(
static_cast<T*
>(tmp.release()));
154 void QueryControlState ( sal_uInt16 nSID, boost::property_tree::ptree& rState );
156 sal_uInt16 QuerySlotId(
const css::util::URL& aURL );
158 const SfxPoolItem* ExecuteSynchron( sal_uInt16 nSlot,
160 bool Execute( sal_uInt16 nSlot,
164 SAL_DLLPRIVATE
void SetDispatchProvider_Impl(
const css::uno::Reference< css::frame::XDispatchProvider > & rFrame );
165 void SetActiveFrame(
const css::uno::Reference< css::frame::XFrame > & rFrame );
166 css::uno::Reference< css::frame::XFrame > GetActiveFrame()
const;
168 sal_uInt16 EnterRegistrations( std::string_view pFile = {},
int nLine = 0);
169 void LeaveRegistrations( std::string_view pFile = {},
int nLine = 0 );
173 {
return pDispatcher; }
174 const css::uno::Reference< css::frame::XDispatchRecorder >& GetRecorder()
const;
175 css::uno::Reference < css::frame::XDispatch >
176 GetDispatch(
const SfxSlot*,
const css::util::URL& aURL,
bool bMasterCommand );
177 SAL_DLLPRIVATE
void ContextChanged_Impl();
179 SAL_DLLPRIVATE
void DeleteControllers_Impl();
181 SAL_DLLPRIVATE
void ClearCache_Impl( sal_uInt16 nSlotId );
185 SAL_DLLPRIVATE
void SetWorkWindow_Impl( std::unique_ptr<SfxWorkWindow> );
186 SAL_DLLPRIVATE
SfxBindings* GetSubBindings_Impl()
const;
187 SAL_DLLPRIVATE
void SetRecorder_Impl( css::uno::Reference< css::frame::XDispatchRecorder >
const & );
188 SAL_DLLPRIVATE
void InvalidateSlotsInMap_Impl();
189 SAL_DLLPRIVATE
void AddSlotToInvalidateSlotsMap_Impl( sal_uInt16 nId );
193#define ENTERREGISTRATIONS() EnterRegistrations(__FILE__, __LINE__)
194#define LEAVEREGISTRATIONS() LeaveRegistrations(__FILE__, __LINE__)
195#define DENTERREGISTRATIONS() \
196 EnterRegistrations( Concat2View(OString::Concat(__FILE__) + "(" + OString::number(reinterpret_cast<sal_Int64>(this)) + ")"), __LINE__ )
197#define DLEAVEREGISTRATIONS( ) \
198 LeaveRegistrations( Concat2View(OString::Concat(__FILE__) + "(" + OString::number(reinterpret_cast<sal_Int64>(this)) + ")"), __LINE__ )
200#define ENTERREGISTRATIONS() EnterRegistrations()
201#define LEAVEREGISTRATIONS() LeaveRegistrations()
202#define DENTERREGISTRATIONS() EnterRegistrations()
203#define DLEAVEREGISTRATIONS() LeaveRegistrations()
SfxDispatcher * pDispatcher
std::unique_ptr< SfxBindings_Impl > pImpl
SAL_DLLPRIVATE SfxDispatcher * GetDispatcher_Impl()
SfxItemState QueryState(TypedWhichId< T > nSID, std::unique_ptr< T > &rpState)
DECL_DLLPRIVATE_LINK(NextJob, Timer *, void)
SfxDispatcher * GetDispatcher() const
The class SfxShell is the base class for all classes, which provide the functionality of the form <Sl...