LibreOffice Module sfx2 (master) 1
viewsh.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19#ifndef INCLUDED_SFX2_VIEWSH_HXX
20#define INCLUDED_SFX2_VIEWSH_HXX
21
22#include <sal/config.h>
23#include <memory>
24#include <optional>
25#include <sfx2/dllapi.h>
26#include <sal/types.h>
27#include <com/sun/star/uno/Reference.h>
28#include <svl/lstner.hxx>
29#include <sfx2/shell.hxx>
34#include <vcl/vclptr.hxx>
35#include <editeng/outliner.hxx>
36#include <functional>
37#include <unordered_set>
38#include <unordered_map>
39
40class SfxTabPage;
42class Size;
43class Point;
44class Fraction;
45namespace weld {
46 class Container;
47 class DialogController;
48 class Window;
49}
50class KeyEvent;
51class SvBorder;
52class SdrView;
53class SfxModule;
54class SfxViewFrame;
55class Printer;
56class SfxPrinter;
57class NotifyEvent;
62class VCLXPopupMenu;
63namespace rtl { class OStringBuffer; }
64namespace vcl { class PrinterController; }
65
66namespace com::sun::star::awt{ class XPopupMenu; }
67namespace com::sun::star::beans { struct PropertyValue; }
68namespace com::sun::star::datatransfer::clipboard { class XClipboardListener; }
69namespace com::sun::star::datatransfer::clipboard { class XClipboardNotifier; }
70namespace com::sun::star::embed { class XEmbeddedObject; }
71namespace com::sun::star::frame { class XController; }
72namespace com::sun::star::frame { class XModel; }
73namespace com::sun::star::ui { class XContextMenuInterceptor; }
74namespace com::sun::star::ui { struct ContextMenuExecuteEvent; }
75namespace com::sun::star::view { class XRenderable; }
76namespace tools { class Rectangle; }
77
79{
80 NONE = 0,
81 PRINTER = 1, // without JOB SETUP => Temporary
82 JOBSETUP = 2,
83 OPTIONS = 4,
85 CHG_SIZE = 16
86};
87namespace o3tl
88{
89 template<> struct typed_flags<SfxPrinterChangeFlags> : is_typed_flags<SfxPrinterChangeFlags, 31> {};
90}
91#define SFX_PRINTER_ALL (SfxPrinterChangeFlags::PRINTER | SfxPrinterChangeFlags::JOBSETUP | SfxPrinterChangeFlags::OPTIONS | SfxPrinterChangeFlags::CHG_ORIENTATION | SfxPrinterChangeFlags::CHG_SIZE)
92
93#define SFX_PRINTERROR_BUSY 1
94
95// "Verified" using www.apple.com and Netscape 3.01
96#define DEFAULT_MARGIN_WIDTH 8
97#define DEFAULT_MARGIN_HEIGHT 12
98
99
100// @[SfxViewShell-Flags]
101
103{
104 NONE = 0x0000,
105 HAS_PRINTOPTIONS = 0x0010, /* Options-Button and Options-Dialog in PrintDialog */
106 NO_NEWWINDOW = 0x0100, /* Allow N View */
107};
108namespace o3tl
109{
110 template<> struct typed_flags<SfxViewShellFlags> : is_typed_flags<SfxViewShellFlags, 0x0110> {};
111}
112
113/* [Description]
114
115 The SfxViewShell flags control the behavior of SfxViewShell for the
116 duration of its lifetime. They are defined in the constructor of
117 <SfxViewShell>.
118*/
119
121{
122 UNKNOWN = 0,
123 DESKTOP = 1,
124 TABLET = 2,
125 MOBILE = 3
126};
127
128class SfxViewFactory;
129#define SFX_DECL_VIEWFACTORY(Class) \
130private: \
131 static SfxViewFactory *s_pFactory; \
132public: \
133 static SfxViewShell *CreateInstance(SfxViewFrame& rFrame, SfxViewShell *pOldView); \
134 static void RegisterFactory( SfxInterfaceId nPrio ); \
135 static SfxViewFactory*Factory() { return s_pFactory; } \
136 static void InitFactory()
137
138#define SFX_IMPL_NAMED_VIEWFACTORY(Class, AsciiViewName) \
139 SfxViewFactory* Class::s_pFactory; \
140 SfxViewShell* Class::CreateInstance(SfxViewFrame& rFrame, SfxViewShell *pOldView) \
141 { return new Class(rFrame, pOldView); } \
142 void Class::RegisterFactory( SfxInterfaceId nPrio ) \
143 { \
144 s_pFactory = new SfxViewFactory(&CreateInstance,nPrio,AsciiViewName);\
145 InitFactory(); \
146 } \
147 void Class::InitFactory()
148
149#define SFX_VIEW_REGISTRATION(DocClass) \
150 DocClass::Factory().RegisterViewFactory( *Factory() )
151
152template<class T> bool checkSfxViewShell(const SfxViewShell* pShell)
153{
154 return dynamic_cast<const T*>(pShell) != nullptr;
155}
156
157typedef std::unordered_map<OUString, std::pair<Color, int>> StylesHighlighterColorMap;
158
164{
165friend class SfxViewFrame;
166friend class SfxBaseController;
168
169 std::unique_ptr<struct SfxViewShell_Impl> pImpl;
179 std::unordered_set<OUString> mvLOKBlockedCommandList;
182
185
187 std::shared_ptr<SfxStoringHelper> m_xHelper;
188
191
192protected:
193 virtual void Activate(bool IsMDIActivate) override;
194 virtual void Deactivate(bool IsMDIActivate) override;
195
196 virtual void InnerResizePixel( const Point &rOfs, const Size &rSize, bool inplaceEditModeChange );
197 virtual void OuterResizePixel( const Point &rOfs, const Size &rSize );
198 virtual void SetZoomFactor( const Fraction &rZoomX, const Fraction &rZoomY );
199
200 virtual void Move();
201
202 virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) override;
203
204public:
205 // Iteration
206 SAL_WARN_UNUSED_RESULT static SfxViewShell* GetFirst( bool bOnlyVisible = true, const std::function<bool ( const SfxViewShell* )>& isViewShell = nullptr );
207 SAL_WARN_UNUSED_RESULT static SfxViewShell* GetNext( const SfxViewShell& rPrev,
208 bool bOnlyVisible = true,
209 const std::function<bool ( const SfxViewShell* )>& isViewShell = nullptr );
210 SAL_WARN_UNUSED_RESULT static SfxViewShell* Current();
211
212 SAL_WARN_UNUSED_RESULT static SfxViewShell* Get( const css::uno::Reference< css::frame::XController>& i_rController );
213
214 // Initialize Constructors/Destructors
216
217private:
219 static void InitInterface_Impl();
220
221 LOKDocumentFocusListener& GetLOKDocumentFocusListener();
222 const LOKDocumentFocusListener& GetLOKDocumentFocusListener() const;
223
224public:
225
227 virtual ~SfxViewShell() override;
228
229 SfxInPlaceClient* GetIPClient() const;
230 SfxInPlaceClient* GetUIActiveClient() const;
231 SfxInPlaceClient* FindIPClient( const css::uno::Reference < css::embed::XEmbeddedObject >& xObj, vcl::Window *pObjParentWin ) const;
232
233 virtual ErrCode DoVerb(sal_Int32 nVerb);
234
235 void OutplaceActivated( bool bActive );
236 virtual void UIActivating( SfxInPlaceClient* pClient );
237 virtual void UIDeactivated( SfxInPlaceClient* pClient );
238
239 void JumpToMark( const OUString& rMark );
240 void VisAreaChanged();
241
242 // Misc
243
250 virtual bool PrepareClose( bool bUI = true );
251 virtual OUString GetSelectionText( bool bCompleteWords = false, bool bOnlyASample = false );
252 virtual bool HasSelection( bool bText = true ) const;
253 virtual SdrView* GetDrawView() const;
254
255 void AddSubShell( SfxShell& rShell );
256 void RemoveSubShell( SfxShell *pShell=nullptr );
257 SfxShell* GetSubShell( sal_uInt16 );
258
259 virtual SfxShell* GetFormShell() { return nullptr; };
260 virtual const SfxShell* GetFormShell() const { return nullptr; };
261
262 // ILibreOfficeKitNotifier
263 virtual void notifyWindow(vcl::LOKWindowId nLOKWindowId, const OUString& rAction, const std::vector<vcl::LOKPayloadItem>& rPayload = std::vector<vcl::LOKPayloadItem>()) const override;
264
265 // Focus, KeyInput, Cursor
266 virtual void ShowCursor( bool bOn = true );
267 virtual bool KeyInput( const KeyEvent &rKeyEvent );
268 bool Escape();
269
270 // Viewing Interface
271 vcl::Window* GetWindow() const { return pWindow; }
272 weld::Window* GetFrameWeld() const;
273 void SetWindow( vcl::Window *pViewPort );
274 const SvBorder& GetBorderPixel() const;
275 void SetBorderPixel( const SvBorder &rBorder );
276 void InvalidateBorder();
277
278 /* [Description]
279
280 This method returns a reference to the <SfxViewFrame> Instance in which
281 this SfxViewShell is displayed. This is the instance that was passed
282 on in the constructor. It is guaranteed that the returned reference
283 is a valid SfxViewFrame instance.
284
285 [Cross-reference]
286
287 <SfxShell::GetFrame()const>
288 */
290 {
291 return rFrame;
292 }
293
294 // Printing Interface
295 virtual SfxPrinter* GetPrinter( bool bCreate = false );
296 virtual sal_uInt16 SetPrinter( SfxPrinter *pNewPrinter, SfxPrinterChangeFlags nDiffFlags = SFX_PRINTER_ALL );
297 virtual bool HasPrintOptionsPage() const;
298 virtual std::unique_ptr<SfxTabPage> CreatePrintOptionsPage(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet &rOptions);
299 Printer* GetActivePrinter() const;
300
301 // Working set
302 virtual void WriteUserData( OUString&, bool bBrowse = false );
303 virtual void ReadUserData( const OUString&, bool bBrowse = false );
304 virtual void WriteUserDataSequence ( css::uno::Sequence < css::beans::PropertyValue >& );
305 virtual void ReadUserDataSequence ( const css::uno::Sequence < css::beans::PropertyValue >& );
306 virtual void QueryObjAreaPixel( tools::Rectangle& rRect ) const;
307
308 virtual SfxObjectShell* GetObjectShell() override;
309
315 virtual css::uno::Reference< css::frame::XModel >
316 GetCurrentDocument() const;
317
320 void SetCurrentDocument() const;
321
324 virtual css::uno::Reference< css::view::XRenderable > GetRenderable();
325
326
327 virtual void MarginChanged();
328 const Size& GetMargin() const;
329 void SetMargin( const Size& );
330 void DisconnectAllClients();
331 bool NewWindowAllowed() const { return !bNoNewWindow; }
332 void SetNewWindowAllowed( bool bSet ) { bNoNewWindow = !bSet; }
333
334 void SetController( SfxBaseController* pController );
335 css::uno::Reference<css::frame::XController> GetController() const;
336
338 const OUString& rMenuIdentifier,
340 css::ui::ContextMenuExecuteEvent aEvent);
341 bool TryContextMenuInterception(const rtl::Reference<VCLXPopupMenu>&,
342 const OUString& rMenuIdentifier,
343 css::ui::ContextMenuExecuteEvent aEvent);
344
345 void ExecPrint( const css::uno::Sequence < css::beans::PropertyValue >&, bool, bool );
346 // Like ExecPrint(), but only sets up for printing. Use Printer::ExecutePrintJob() and Printer::FinishPrintJob() afterwards.
347 void StartPrint( const css::uno::Sequence < css::beans::PropertyValue >&, bool, bool );
348 const std::shared_ptr< vcl::PrinterController >& GetPrinterController() const;
349
350 void AddRemoveClipboardListener( const css::uno::Reference < css::datatransfer::clipboard::XClipboardListener>&, bool );
351 css::uno::Reference< css::datatransfer::clipboard::XClipboardNotifier > GetClipboardNotifier() const;
352
353 SAL_DLLPRIVATE SfxInPlaceClient* GetUIActiveIPClient_Impl() const;
354 SAL_DLLPRIVATE void AddContextMenuInterceptor_Impl( const css::uno::Reference < css::ui::XContextMenuInterceptor >& xInterceptor );
355 SAL_DLLPRIVATE void RemoveContextMenuInterceptor_Impl( const css::uno::Reference < css::ui::XContextMenuInterceptor >& xInterceptor );
356 SAL_DLLPRIVATE bool GlobalKeyInput_Impl( const KeyEvent &rKeyEvent );
357
358 SAL_DLLPRIVATE void NewIPClient_Impl( SfxInPlaceClient *pIPClient );
359 SAL_DLLPRIVATE void IPClientGone_Impl( SfxInPlaceClient const *pIPClient );
360 SAL_DLLPRIVATE void ResetAllClients_Impl( SfxInPlaceClient const *pIP );
361
362 SAL_DLLPRIVATE void SetPrinter_Impl( VclPtr<SfxPrinter>& pNewPrinter );
363
364 SAL_DLLPRIVATE bool HandleNotifyEvent_Impl( NotifyEvent const & rEvent );
365 SAL_DLLPRIVATE bool HasKeyListeners_Impl() const;
366 SAL_DLLPRIVATE bool HasMouseClickListeners_Impl() const;
367
368 SAL_DLLPRIVATE SfxBaseController* GetBaseController_Impl() const;
369
370 // Shell Interface
371 SAL_DLLPRIVATE void ExecPrint_Impl(SfxRequest &);
372 SAL_DLLPRIVATE void ExecMisc_Impl(SfxRequest &);
373 SAL_DLLPRIVATE void GetState_Impl(SfxItemSet&);
374 SAL_DLLPRIVATE void CheckIPClient_Impl(SfxInPlaceClient const *, const tools::Rectangle&);
375 SAL_DLLPRIVATE void PushSubShells_Impl( bool bPush=true );
376 SAL_DLLPRIVATE void PopSubShells_Impl() { PushSubShells_Impl( false ); }
377 SAL_DLLPRIVATE bool ExecKey_Impl(const KeyEvent& aKey);
378
380 void setLibreOfficeKitViewCallback(SfxLokCallbackInterface* pCallback);
381 SfxLokCallbackInterface* getLibreOfficeKitViewCallback() const;
383 void dumpLibreOfficeKitViewState(rtl::OStringBuffer &rState);
385 virtual void libreOfficeKitViewCallback(int nType, const OString& pPayload) const override;
386 virtual void libreOfficeKitViewCallbackWithViewId(int nType, const OString& pPayload, int nViewId) const override;
387 virtual void libreOfficeKitViewInvalidateTilesCallback(const tools::Rectangle* pRect, int nPart, int nMode) const override;
388 virtual void libreOfficeKitViewUpdatedCallback(int nType) const override;
389 virtual void libreOfficeKitViewUpdatedCallbackPerViewId(int nType, int nViewId, int nSourceViewId) const override;
390 // Performs any pending calls to libreOfficeKitViewInvalidateTilesCallback() as necessary.
391 virtual void flushPendingLOKInvalidateTiles();
392 virtual void libreOfficeKitViewAddPendingInvalidateTiles() override;
393 // Returns current payload for nType, after libreOfficeKitViewUpdatedCallback() or
394 // libreOfficeKitViewUpdatedCallbackPerViewId() were called. If no payload should
395 // be generated, the ignore flag should be set.
396 virtual std::optional<OString> getLOKPayload(int nType, int nViewId) const;
397
399 void setTiledSearching(bool bTiledSearching);
401 virtual int getPart() const;
403 virtual int getEditMode() const;
404 virtual void dumpAsXml(xmlTextWriterPtr pWriter) const;
406 ViewShellId GetViewShellId() const override;
407
415 static void SetCurrentDocId(ViewShellDocId nId);
417 ViewShellDocId GetDocId() const override;
418
420 virtual void notifyInvalidation(tools::Rectangle const *) const override;
422 void NotifyOtherViews(int nType, const OString& rKey, const OString& rPayload) override;
424 void NotifyOtherView(OutlinerViewShell* pOtherShell, int nType, const OString& rKey, const OString& rPayload) override;
426 virtual void NotifyCursor(SfxViewShell* /*pViewShell*/) const;
428 virtual void afterCallbackRegistered();
430 virtual vcl::Window* GetEditWindowForActiveOLEObj() const override;
431
433 void SetLOKLanguageTag(const OUString& rBcp47LanguageTag);
435 const LanguageTag& GetLOKLanguageTag() const { return maLOKLanguageTag; }
437 void SetLOKAccessibilityState(bool bEnabled);
438
440 std::pair<bool, OUString> GetLOKTimezone() const
441 {
442 return { maLOKIsTimezoneSet, maLOKTimezone };
443 }
444
448 void SetLOKTimezone(bool isSet, const OUString& rTimezone)
449 {
450 maLOKIsTimezoneSet = isSet;
451 maLOKTimezone = rTimezone;
452 }
453
455 void SetLOKLocale(const OUString& rBcp47LanguageTag);
457 const LanguageTag& GetLOKLocale() const { return maLOKLocale; }
459 LOKDeviceFormFactor GetLOKDeviceFormFactor() const { return maLOKDeviceFormFactor; }
461 bool isLOKDesktop() const { return maLOKDeviceFormFactor == LOKDeviceFormFactor::DESKTOP; }
463 bool isLOKTablet() const { return maLOKDeviceFormFactor == LOKDeviceFormFactor::TABLET; }
465 bool isLOKMobilePhone() const { return maLOKDeviceFormFactor == LOKDeviceFormFactor::MOBILE; }
466
468
469 // Blocked Command view settings
470 void setBlockedCommandList(const char* blockedCommandList);
471 bool isBlockedCommand(OUString command);
472
473 void SetStoringHelper(std::shared_ptr<SfxStoringHelper> xHelper) { m_xHelper = xHelper; }
474
477
478 OUString getA11yFocusedParagraph() const;
479 int getA11yCaretPosition() const;
480};
481
482#endif // INCLUDED_SFX2_VIEWSH_HXX
483
484/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
virtual vcl::Window * GetEditWindowForActiveOLEObj() const=0
virtual void libreOfficeKitViewCallback(int nType, const OString &pPayload) const=0
virtual void libreOfficeKitViewAddPendingInvalidateTiles()=0
virtual void libreOfficeKitViewUpdatedCallbackPerViewId(int nType, int nViewId, int nSourceViewId) const=0
virtual void libreOfficeKitViewUpdatedCallback(int nType) const=0
virtual ViewShellId GetViewShellId() const=0
virtual void NotifyOtherViews(int nType, const OString &rKey, const OString &rPayload)=0
virtual void NotifyOtherView(OutlinerViewShell *pOtherShell, int nType, const OString &rKey, const OString &rPayload)=0
virtual ViewShellDocId GetDocId() const=0
virtual void libreOfficeKitViewCallbackWithViewId(int nType, const OString &pPayload, int nViewId) const=0
virtual void libreOfficeKitViewInvalidateTilesCallback(const tools::Rectangle *pRect, int nPart, int nMode) const=0
virtual void Notify(SfxBroadcaster &, const SfxHint &) override
Definition: viewprn.cxx:171
The class SfxShell is the base class for all classes, which provide the functionality of the form <Sl...
Definition: shell.hxx:128
virtual void Activate(bool bMDI)
Virtual method that is called when enabling the SfxShell instance, in order to give the Subclasses th...
Definition: shell.cxx:360
virtual void Deactivate(bool bMDI)
Virtual method that is called when disabling the SfxShell instance, to give the Subclasses the opport...
Definition: shell.cxx:377
virtual SfxObjectShell * GetObjectShell()
Definition: shell.cxx:649
One SfxViewShell more or less represents one edit window for a document, there can be multiple ones f...
Definition: viewsh.hxx:164
bool isLOKMobilePhone() const
Check if the lok client is running on a mobile device.
Definition: viewsh.hxx:465
rtl::Reference< LOKDocumentFocusListener > mpLOKDocumentFocusListener
Definition: viewsh.hxx:178
VclPtr< vcl::Window > pWindow
Definition: viewsh.hxx:171
LanguageTag maLOKLocale
Definition: viewsh.hxx:175
bool NewWindowAllowed() const
Definition: viewsh.hxx:331
const LanguageTag & GetLOKLocale() const
Get the LibreOfficeKit locale of this view.
Definition: viewsh.hxx:457
std::unique_ptr< struct SfxViewShell_Impl > pImpl
Definition: viewsh.hxx:169
bool mbPrinterSettingsModified
Definition: viewsh.hxx:173
bool isLOKTablet() const
Check if the lok client is running on a tablet.
Definition: viewsh.hxx:463
SfxViewFrame & GetViewFrame() const
Definition: viewsh.hxx:289
bool bNoNewWindow
Definition: viewsh.hxx:172
OUString maLOKTimezone
Definition: viewsh.hxx:180
SAL_DLLPRIVATE void PopSubShells_Impl()
Definition: viewsh.hxx:376
StylesHighlighterColorMap & GetStylesHighlighterCharColorMap()
Definition: viewsh.hxx:476
bool maLOKIsTimezoneSet
Definition: viewsh.hxx:181
StylesHighlighterColorMap CharStylesColorMap
Definition: viewsh.hxx:190
void SetStoringHelper(std::shared_ptr< SfxStoringHelper > xHelper)
Definition: viewsh.hxx:473
LOKDeviceFormFactor GetLOKDeviceFormFactor() const
Get the form factor of the device where the lok client is running.
Definition: viewsh.hxx:459
bool mbLOKAccessibilityEnabled
Definition: viewsh.hxx:177
bool TryContextMenuInterception(const rtl::Reference< VCLXPopupMenu > &rIn, const OUString &rMenuIdentifier, rtl::Reference< VCLXPopupMenu > &rOut, css::ui::ContextMenuExecuteEvent aEvent)
LanguageTag maLOKLanguageTag
Definition: viewsh.hxx:174
const LanguageTag & GetLOKLanguageTag() const
Get the LibreOfficeKit language of this view.
Definition: viewsh.hxx:435
std::unordered_set< OUString > mvLOKBlockedCommandList
Definition: viewsh.hxx:179
LOKDeviceFormFactor maLOKDeviceFormFactor
Definition: viewsh.hxx:176
StylesHighlighterColorMap & GetStylesHighlighterParaColorMap()
Definition: viewsh.hxx:475
virtual const SfxShell * GetFormShell() const
Definition: viewsh.hxx:260
static ViewShellDocId mnCurrentDocId
Used to set the DocId at construction time. See SetCurrentDocId.
Definition: viewsh.hxx:184
virtual SfxShell * GetFormShell()
Definition: viewsh.hxx:259
SfxViewFrame & rFrame
Definition: viewsh.hxx:170
void SetNewWindowAllowed(bool bSet)
Definition: viewsh.hxx:332
bool isLOKDesktop() const
Check if the lok client is running on a desktop machine.
Definition: viewsh.hxx:461
vcl::Window * GetWindow() const
Definition: viewsh.hxx:271
StylesHighlighterColorMap ParaStylesColorMap
Definition: viewsh.hxx:189
std::pair< bool, OUString > GetLOKTimezone() const
Get the LibreOfficeKit timezone of this view. See @SetLOKTimezone.
Definition: viewsh.hxx:440
std::shared_ptr< SfxStoringHelper > m_xHelper
Used for async export.
Definition: viewsh.hxx:187
void SetLOKTimezone(bool isSet, const OUString &rTimezone)
Set the LibreOfficeKit timezone of this view.
Definition: viewsh.hxx:448
virtual tools::Rectangle getLOKVisibleArea() const
Definition: viewsh.hxx:467
virtual void notifyInvalidation(tools::Rectangle const *) const=0
virtual void notifyWindow(vcl::LOKWindowId nLOKWindowId, const OUString &rAction, const std::vector< LOKPayloadItem > &rPayload=std::vector< LOKPayloadItem >()) const=0
weld::Window * GetFrameWeld(const SfxFrame *pFrame)
virtual std::shared_ptr< SfxDialogController > GetController() override
#define SFX2_DLLPUBLIC
Definition: dllapi.h:29
UNKNOWN
struct _xmlTextWriter * xmlTextWriterPtr
SVXCORE_DLLPUBLIC MSO_SPT Get(const OUString &)
NONE
Implementation of the interface com.sun.star.rdf.XDocumentMetadataAccess.
COMPHELPER_DLLPUBLIC void setBlockedCommandList(const char *blockedCommandList)
sal_uInt32 LOKWindowId
constexpr auto SFX_INTERFACE_SFXVIEWSH
Definition: shell.hxx:63
#define SFX_DECL_INTERFACE(nId)
Definition: shell.hxx:532
#define SAL_WARN_UNUSED_RESULT
std::unique_ptr< SfxTabPage > CreatePrintOptionsPage(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet &rOptions, bool bPreview)
void SetPrinter(IDocumentDeviceAccess *, SfxPrinter const *, bool bWeb)
bool checkSfxViewShell(const SfxViewShell *pShell)
Definition: viewsh.hxx:152
#define SFX_PRINTER_ALL
Definition: viewsh.hxx:91
LOKDeviceFormFactor
Definition: viewsh.hxx:121
SfxPrinterChangeFlags
Definition: viewsh.hxx:79
std::unordered_map< OUString, std::pair< Color, int > > StylesHighlighterColorMap
Definition: viewsh.hxx:157
SfxViewShellFlags
Definition: viewsh.hxx:103