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; }
77namespace svtools { enum ColorConfigEntry : int; }
78
80{
81 NONE = 0,
82 PRINTER = 1, // without JOB SETUP => Temporary
83 JOBSETUP = 2,
84 OPTIONS = 4,
86 CHG_SIZE = 16
87};
88namespace o3tl
89{
90 template<> struct typed_flags<SfxPrinterChangeFlags> : is_typed_flags<SfxPrinterChangeFlags, 31> {};
91}
92#define SFX_PRINTER_ALL (SfxPrinterChangeFlags::PRINTER | SfxPrinterChangeFlags::JOBSETUP | SfxPrinterChangeFlags::OPTIONS | SfxPrinterChangeFlags::CHG_ORIENTATION | SfxPrinterChangeFlags::CHG_SIZE)
93
94#define SFX_PRINTERROR_BUSY 1
95
96// "Verified" using www.apple.com and Netscape 3.01
97#define DEFAULT_MARGIN_WIDTH 8
98#define DEFAULT_MARGIN_HEIGHT 12
99
100
101// @[SfxViewShell-Flags]
102
104{
105 NONE = 0x0000,
106 HAS_PRINTOPTIONS = 0x0010, /* Options-Button and Options-Dialog in PrintDialog */
107 NO_NEWWINDOW = 0x0100, /* Allow N View */
108};
109namespace o3tl
110{
111 template<> struct typed_flags<SfxViewShellFlags> : is_typed_flags<SfxViewShellFlags, 0x0110> {};
112}
113
114/* [Description]
115
116 The SfxViewShell flags control the behavior of SfxViewShell for the
117 duration of its lifetime. They are defined in the constructor of
118 <SfxViewShell>.
119*/
120
122{
123 UNKNOWN = 0,
124 DESKTOP = 1,
125 TABLET = 2,
126 MOBILE = 3
127};
128
129class SfxViewFactory;
130#define SFX_DECL_VIEWFACTORY(Class) \
131private: \
132 static SfxViewFactory *s_pFactory; \
133public: \
134 static SfxViewShell *CreateInstance(SfxViewFrame& rFrame, SfxViewShell *pOldView); \
135 static void RegisterFactory( SfxInterfaceId nPrio ); \
136 static SfxViewFactory*Factory() { return s_pFactory; } \
137 static void InitFactory()
138
139#define SFX_IMPL_NAMED_VIEWFACTORY(Class, AsciiViewName) \
140 SfxViewFactory* Class::s_pFactory; \
141 SfxViewShell* Class::CreateInstance(SfxViewFrame& rFrame, SfxViewShell *pOldView) \
142 { return new Class(rFrame, pOldView); } \
143 void Class::RegisterFactory( SfxInterfaceId nPrio ) \
144 { \
145 s_pFactory = new SfxViewFactory(&CreateInstance,nPrio,AsciiViewName);\
146 InitFactory(); \
147 } \
148 void Class::InitFactory()
149
150#define SFX_VIEW_REGISTRATION(DocClass) \
151 DocClass::Factory().RegisterViewFactory( *Factory() )
152
153template<class T> bool checkSfxViewShell(const SfxViewShell* pShell)
154{
155 return dynamic_cast<const T*>(pShell) != nullptr;
156}
157
158typedef std::unordered_map<OUString, std::pair<Color, int>> StylesHighlighterColorMap;
159
165{
166friend class SfxViewFrame;
167friend class SfxBaseController;
169
170 std::unique_ptr<struct SfxViewShell_Impl> pImpl;
180 std::unordered_set<OUString> mvLOKBlockedCommandList;
183
186
188 std::shared_ptr<SfxStoringHelper> m_xHelper;
189
192
193protected:
194 virtual void Activate(bool IsMDIActivate) override;
195 virtual void Deactivate(bool IsMDIActivate) override;
196
197 virtual void InnerResizePixel( const Point &rOfs, const Size &rSize, bool inplaceEditModeChange );
198 virtual void OuterResizePixel( const Point &rOfs, const Size &rSize );
199 virtual void SetZoomFactor( const Fraction &rZoomX, const Fraction &rZoomY );
200
201 virtual void Move();
202
203 virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) override;
204
205public:
206 // Iteration
207 SAL_WARN_UNUSED_RESULT static SfxViewShell* GetFirst( bool bOnlyVisible = true, const std::function<bool ( const SfxViewShell* )>& isViewShell = nullptr );
208 SAL_WARN_UNUSED_RESULT static SfxViewShell* GetNext( const SfxViewShell& rPrev,
209 bool bOnlyVisible = true,
210 const std::function<bool ( const SfxViewShell* )>& isViewShell = nullptr );
211 SAL_WARN_UNUSED_RESULT static SfxViewShell* Current();
212
213 SAL_WARN_UNUSED_RESULT static SfxViewShell* Get( const css::uno::Reference< css::frame::XController>& i_rController );
214
215 // Initialize Constructors/Destructors
217
218private:
220 static void InitInterface_Impl();
221
222 LOKDocumentFocusListener& GetLOKDocumentFocusListener();
223 const LOKDocumentFocusListener& GetLOKDocumentFocusListener() const;
224
225public:
226
228 virtual ~SfxViewShell() override;
229
230 SfxInPlaceClient* GetIPClient() const;
231 SfxInPlaceClient* GetUIActiveClient() const;
232 SfxInPlaceClient* FindIPClient( const css::uno::Reference < css::embed::XEmbeddedObject >& xObj, vcl::Window *pObjParentWin ) const;
233
234 virtual ErrCode DoVerb(sal_Int32 nVerb);
235
236 void OutplaceActivated( bool bActive );
237 virtual void UIActivating( SfxInPlaceClient* pClient );
238 virtual void UIDeactivated( SfxInPlaceClient* pClient );
239
240 void JumpToMark( const OUString& rMark );
241 void VisAreaChanged();
242
243 // Misc
244
251 virtual bool PrepareClose( bool bUI = true );
252 virtual OUString GetSelectionText( bool bCompleteWords = false, bool bOnlyASample = false );
253 virtual bool HasSelection( bool bText = true ) const;
254 virtual SdrView* GetDrawView() const;
255
256 void AddSubShell( SfxShell& rShell );
257 void RemoveSubShell( SfxShell *pShell=nullptr );
258 SfxShell* GetSubShell( sal_uInt16 );
259
260 virtual SfxShell* GetFormShell() { return nullptr; };
261 virtual const SfxShell* GetFormShell() const { return nullptr; };
262
263 // ILibreOfficeKitNotifier
264 virtual void notifyWindow(vcl::LOKWindowId nLOKWindowId, const OUString& rAction, const std::vector<vcl::LOKPayloadItem>& rPayload = std::vector<vcl::LOKPayloadItem>()) const override;
265
266 // Focus, KeyInput, Cursor
267 virtual void ShowCursor( bool bOn = true );
268 virtual bool KeyInput( const KeyEvent &rKeyEvent );
269 bool Escape();
270
271 // Viewing Interface
272 vcl::Window* GetWindow() const { return pWindow; }
273 weld::Window* GetFrameWeld() const;
274 void SetWindow( vcl::Window *pViewPort );
275 const SvBorder& GetBorderPixel() const;
276 void SetBorderPixel( const SvBorder &rBorder );
277 void InvalidateBorder();
278
279 /* [Description]
280
281 This method returns a reference to the <SfxViewFrame> Instance in which
282 this SfxViewShell is displayed. This is the instance that was passed
283 on in the constructor. It is guaranteed that the returned reference
284 is a valid SfxViewFrame instance.
285
286 [Cross-reference]
287
288 <SfxShell::GetFrame()const>
289 */
291 {
292 return rFrame;
293 }
294
295 // Printing Interface
296 virtual SfxPrinter* GetPrinter( bool bCreate = false );
297 virtual sal_uInt16 SetPrinter( SfxPrinter *pNewPrinter, SfxPrinterChangeFlags nDiffFlags = SFX_PRINTER_ALL );
298 virtual bool HasPrintOptionsPage() const;
299 virtual std::unique_ptr<SfxTabPage> CreatePrintOptionsPage(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet &rOptions);
300 Printer* GetActivePrinter() const;
301
302 // Working set
303 virtual void WriteUserData( OUString&, bool bBrowse = false );
304 virtual void ReadUserData( const OUString&, bool bBrowse = false );
305 virtual void WriteUserDataSequence ( css::uno::Sequence < css::beans::PropertyValue >& );
306 virtual void ReadUserDataSequence ( const css::uno::Sequence < css::beans::PropertyValue >& );
307 virtual void QueryObjAreaPixel( tools::Rectangle& rRect ) const;
308
309 virtual SfxObjectShell* GetObjectShell() override;
310
316 virtual css::uno::Reference< css::frame::XModel >
317 GetCurrentDocument() const;
318
321 void SetCurrentDocument() const;
322
325 virtual css::uno::Reference< css::view::XRenderable > GetRenderable();
326
327
328 virtual void MarginChanged();
329 const Size& GetMargin() const;
330 void SetMargin( const Size& );
331 void DisconnectAllClients();
332 bool NewWindowAllowed() const { return !bNoNewWindow; }
333 void SetNewWindowAllowed( bool bSet ) { bNoNewWindow = !bSet; }
334
335 void SetController( SfxBaseController* pController );
336 css::uno::Reference<css::frame::XController> GetController() const;
337
339 const OUString& rMenuIdentifier,
341 css::ui::ContextMenuExecuteEvent aEvent);
342 bool TryContextMenuInterception(const rtl::Reference<VCLXPopupMenu>&,
343 const OUString& rMenuIdentifier,
344 css::ui::ContextMenuExecuteEvent aEvent);
345
346 void ExecPrint( const css::uno::Sequence < css::beans::PropertyValue >&, bool, bool );
347 // Like ExecPrint(), but only sets up for printing. Use Printer::ExecutePrintJob() and Printer::FinishPrintJob() afterwards.
348 void StartPrint( const css::uno::Sequence < css::beans::PropertyValue >&, bool, bool );
349 const std::shared_ptr< vcl::PrinterController >& GetPrinterController() const;
350
351 void AddRemoveClipboardListener( const css::uno::Reference < css::datatransfer::clipboard::XClipboardListener>&, bool );
352 css::uno::Reference< css::datatransfer::clipboard::XClipboardNotifier > GetClipboardNotifier() const;
353
354 SAL_DLLPRIVATE SfxInPlaceClient* GetUIActiveIPClient_Impl() const;
355 SAL_DLLPRIVATE void AddContextMenuInterceptor_Impl( const css::uno::Reference < css::ui::XContextMenuInterceptor >& xInterceptor );
356 SAL_DLLPRIVATE void RemoveContextMenuInterceptor_Impl( const css::uno::Reference < css::ui::XContextMenuInterceptor >& xInterceptor );
357 SAL_DLLPRIVATE bool GlobalKeyInput_Impl( const KeyEvent &rKeyEvent );
358
359 SAL_DLLPRIVATE void NewIPClient_Impl( SfxInPlaceClient *pIPClient );
360 SAL_DLLPRIVATE void IPClientGone_Impl( SfxInPlaceClient const *pIPClient );
361 SAL_DLLPRIVATE void ResetAllClients_Impl( SfxInPlaceClient const *pIP );
362
363 SAL_DLLPRIVATE void SetPrinter_Impl( VclPtr<SfxPrinter>& pNewPrinter );
364
365 SAL_DLLPRIVATE bool HandleNotifyEvent_Impl( NotifyEvent const & rEvent );
366 SAL_DLLPRIVATE bool HasKeyListeners_Impl() const;
367 SAL_DLLPRIVATE bool HasMouseClickListeners_Impl() const;
368
369 SAL_DLLPRIVATE SfxBaseController* GetBaseController_Impl() const;
370
371 // Shell Interface
372 SAL_DLLPRIVATE void ExecPrint_Impl(SfxRequest &);
373 SAL_DLLPRIVATE void ExecMisc_Impl(SfxRequest &);
374 SAL_DLLPRIVATE void GetState_Impl(SfxItemSet&);
375 SAL_DLLPRIVATE void CheckIPClient_Impl(SfxInPlaceClient const *, const tools::Rectangle&);
376 SAL_DLLPRIVATE void PushSubShells_Impl( bool bPush=true );
377 SAL_DLLPRIVATE void PopSubShells_Impl() { PushSubShells_Impl( false ); }
378 SAL_DLLPRIVATE bool ExecKey_Impl(const KeyEvent& aKey);
379
381 void setLibreOfficeKitViewCallback(SfxLokCallbackInterface* pCallback);
382 SfxLokCallbackInterface* getLibreOfficeKitViewCallback() const;
384 void dumpLibreOfficeKitViewState(rtl::OStringBuffer &rState);
386 virtual void libreOfficeKitViewCallback(int nType, const OString& pPayload) const override;
387 virtual void libreOfficeKitViewCallbackWithViewId(int nType, const OString& pPayload, int nViewId) const override;
388 virtual void libreOfficeKitViewInvalidateTilesCallback(const tools::Rectangle* pRect, int nPart, int nMode) const override;
389 virtual void libreOfficeKitViewUpdatedCallback(int nType) const override;
390 virtual void libreOfficeKitViewUpdatedCallbackPerViewId(int nType, int nViewId, int nSourceViewId) const override;
391 // Performs any pending calls to libreOfficeKitViewInvalidateTilesCallback() as necessary.
392 virtual void flushPendingLOKInvalidateTiles();
393 virtual void libreOfficeKitViewAddPendingInvalidateTiles() override;
394 // Returns current payload for nType, after libreOfficeKitViewUpdatedCallback() or
395 // libreOfficeKitViewUpdatedCallbackPerViewId() were called. If no payload should
396 // be generated, the ignore flag should be set.
397 virtual std::optional<OString> getLOKPayload(int nType, int nViewId) const;
398
400 void setTiledSearching(bool bTiledSearching);
402 virtual int getPart() const;
404 virtual int getEditMode() const;
405 virtual void dumpAsXml(xmlTextWriterPtr pWriter) const;
407 ViewShellId GetViewShellId() const override;
408
416 static void SetCurrentDocId(ViewShellDocId nId);
418 ViewShellDocId GetDocId() const override;
419
421 virtual void notifyInvalidation(tools::Rectangle const *) const override;
423 void NotifyOtherViews(int nType, const OString& rKey, const OString& rPayload) override;
425 void NotifyOtherView(OutlinerViewShell* pOtherShell, int nType, const OString& rKey, const OString& rPayload) override;
427 virtual void NotifyCursor(SfxViewShell* /*pViewShell*/) const;
429 virtual void afterCallbackRegistered();
431 virtual vcl::Window* GetEditWindowForActiveOLEObj() const override;
433 virtual ::Color GetColorConfigColor(svtools::ColorConfigEntry nColorType) const;
435 virtual OUString GetColorConfigName() const;
436
438 void SetLOKLanguageTag(const OUString& rBcp47LanguageTag);
440 const LanguageTag& GetLOKLanguageTag() const { return maLOKLanguageTag; }
442 void SetLOKAccessibilityState(bool bEnabled);
443
445 std::pair<bool, OUString> GetLOKTimezone() const
446 {
447 return { maLOKIsTimezoneSet, maLOKTimezone };
448 }
449
453 void SetLOKTimezone(bool isSet, const OUString& rTimezone)
454 {
455 maLOKIsTimezoneSet = isSet;
456 maLOKTimezone = rTimezone;
457 }
458
460 void SetLOKLocale(const OUString& rBcp47LanguageTag);
462 const LanguageTag& GetLOKLocale() const { return maLOKLocale; }
464 LOKDeviceFormFactor GetLOKDeviceFormFactor() const { return maLOKDeviceFormFactor; }
466 bool isLOKDesktop() const { return maLOKDeviceFormFactor == LOKDeviceFormFactor::DESKTOP; }
468 bool isLOKTablet() const { return maLOKDeviceFormFactor == LOKDeviceFormFactor::TABLET; }
470 bool isLOKMobilePhone() const { return maLOKDeviceFormFactor == LOKDeviceFormFactor::MOBILE; }
471
473
474 // Blocked Command view settings
475 void setBlockedCommandList(const char* blockedCommandList);
476 bool isBlockedCommand(OUString command);
477
478 void SetStoringHelper(std::shared_ptr<SfxStoringHelper> xHelper) { m_xHelper = xHelper; }
479
482
483 OUString getA11yFocusedParagraph() const;
484 int getA11yCaretPosition() const;
485};
486
487#endif // INCLUDED_SFX2_VIEWSH_HXX
488
489/* 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:165
bool isLOKMobilePhone() const
Check if the lok client is running on a mobile device.
Definition: viewsh.hxx:470
rtl::Reference< LOKDocumentFocusListener > mpLOKDocumentFocusListener
Definition: viewsh.hxx:179
VclPtr< vcl::Window > pWindow
Definition: viewsh.hxx:172
LanguageTag maLOKLocale
Definition: viewsh.hxx:176
bool NewWindowAllowed() const
Definition: viewsh.hxx:332
const LanguageTag & GetLOKLocale() const
Get the LibreOfficeKit locale of this view.
Definition: viewsh.hxx:462
std::unique_ptr< struct SfxViewShell_Impl > pImpl
Definition: viewsh.hxx:170
bool mbPrinterSettingsModified
Definition: viewsh.hxx:174
bool isLOKTablet() const
Check if the lok client is running on a tablet.
Definition: viewsh.hxx:468
SfxViewFrame & GetViewFrame() const
Definition: viewsh.hxx:290
bool bNoNewWindow
Definition: viewsh.hxx:173
OUString maLOKTimezone
Definition: viewsh.hxx:181
SAL_DLLPRIVATE void PopSubShells_Impl()
Definition: viewsh.hxx:377
StylesHighlighterColorMap & GetStylesHighlighterCharColorMap()
Definition: viewsh.hxx:481
bool maLOKIsTimezoneSet
Definition: viewsh.hxx:182
StylesHighlighterColorMap CharStylesColorMap
Definition: viewsh.hxx:191
void SetStoringHelper(std::shared_ptr< SfxStoringHelper > xHelper)
Definition: viewsh.hxx:478
LOKDeviceFormFactor GetLOKDeviceFormFactor() const
Get the form factor of the device where the lok client is running.
Definition: viewsh.hxx:464
bool mbLOKAccessibilityEnabled
Definition: viewsh.hxx:178
bool TryContextMenuInterception(const rtl::Reference< VCLXPopupMenu > &rIn, const OUString &rMenuIdentifier, rtl::Reference< VCLXPopupMenu > &rOut, css::ui::ContextMenuExecuteEvent aEvent)
LanguageTag maLOKLanguageTag
Definition: viewsh.hxx:175
const LanguageTag & GetLOKLanguageTag() const
Get the LibreOfficeKit language of this view.
Definition: viewsh.hxx:440
std::unordered_set< OUString > mvLOKBlockedCommandList
Definition: viewsh.hxx:180
LOKDeviceFormFactor maLOKDeviceFormFactor
Definition: viewsh.hxx:177
StylesHighlighterColorMap & GetStylesHighlighterParaColorMap()
Definition: viewsh.hxx:480
virtual const SfxShell * GetFormShell() const
Definition: viewsh.hxx:261
static ViewShellDocId mnCurrentDocId
Used to set the DocId at construction time. See SetCurrentDocId.
Definition: viewsh.hxx:185
virtual SfxShell * GetFormShell()
Definition: viewsh.hxx:260
SfxViewFrame & rFrame
Definition: viewsh.hxx:171
void SetNewWindowAllowed(bool bSet)
Definition: viewsh.hxx:333
bool isLOKDesktop() const
Check if the lok client is running on a desktop machine.
Definition: viewsh.hxx:466
vcl::Window * GetWindow() const
Definition: viewsh.hxx:272
StylesHighlighterColorMap ParaStylesColorMap
Definition: viewsh.hxx:190
std::pair< bool, OUString > GetLOKTimezone() const
Get the LibreOfficeKit timezone of this view. See @SetLOKTimezone.
Definition: viewsh.hxx:445
std::shared_ptr< SfxStoringHelper > m_xHelper
Used for async export.
Definition: viewsh.hxx:188
void SetLOKTimezone(bool isSet, const OUString &rTimezone)
Set the LibreOfficeKit timezone of this view.
Definition: viewsh.hxx:453
virtual tools::Rectangle getLOKVisibleArea() const
Definition: viewsh.hxx:472
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
const wchar_t *typedef int(__stdcall *DllNativeUnregProc)(int
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:153
#define SFX_PRINTER_ALL
Definition: viewsh.hxx:92
LOKDeviceFormFactor
Definition: viewsh.hxx:122
SfxPrinterChangeFlags
Definition: viewsh.hxx:80
std::unordered_map< OUString, std::pair< Color, int > > StylesHighlighterColorMap
Definition: viewsh.hxx:158
SfxViewShellFlags
Definition: viewsh.hxx:104