LibreOffice Module vcl (master)  1
svdata.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 
20 #ifndef INCLUDED_VCL_INC_SVDATA_HXX
21 #define INCLUDED_VCL_INC_SVDATA_HXX
22 
23 #include <config_version.h>
24 
25 #include <o3tl/lru_map.hxx>
26 #include <tools/fldunit.hxx>
27 #include <unotools/options.hxx>
28 #include <vcl/bitmapex.hxx>
29 #include <vcl/svapp.hxx>
30 #include <vcl/window.hxx>
31 #include <vcl/task.hxx>
32 #include <LibreOfficeKit/LibreOfficeKitTypes.h>
33 
34 #include <com/sun/star/lang/XComponent.hpp>
35 #include <com/sun/star/i18n/XCharacterClassification.hpp>
36 
37 #include "vcleventlisteners.hxx"
38 #include "salwtype.hxx"
40 
41 #include <vector>
42 #include <unordered_map>
43 #include <boost/functional/hash.hpp>
44 #include "ControlCacheKey.hxx"
45 #include "schedulerimpl.hxx"
46 #include <basegfx/DrawCommands.hxx>
47 
48 struct ImplPostEventData;
49 struct ImplTimerData;
50 struct ImplIdleData;
51 struct ImplConfigData;
53 struct ImplHotKey;
54 struct ImplEventHook;
55 class Point;
56 class ImplAccelManager;
58 class ImplFontCache;
59 class HelpTextWindow;
60 class ImplTBDragMgr;
61 class ImplIdleMgr;
62 class FloatingWindow;
63 class AllSettings;
64 class NotifyEvent;
65 class Timer;
66 class AutoTimer;
67 class Idle;
68 class Help;
69 class Image;
70 class PopupMenu;
71 class Application;
72 class OutputDevice;
73 class SvFileStream;
74 class SystemWindow;
75 class WorkWindow;
76 class Dialog;
77 class VirtualDevice;
78 class Printer;
79 class SalFrame;
80 class SalInstance;
81 class SalSystem;
82 class ImplPrnQueueList;
83 class UnoWrapperBase;
84 class GraphicConverter;
85 class ImplWheelWindow;
86 class SalTimer;
87 class DockingManager;
88 class VclEventListeners2;
89 class SalData;
90 class OpenGLContext;
91 class UITestLogger;
92 
93 #define SV_ICON_ID_OFFICE 1
94 #define SV_ICON_ID_TEXT 2
95 #define SV_ICON_ID_TEXT_TEMPLATE 3
96 #define SV_ICON_ID_SPREADSHEET 4
97 #define SV_ICON_ID_SPREADSHEET_TEMPLATE 5
98 #define SV_ICON_ID_DRAWING 6
99 #define SV_ICON_ID_PRESENTATION 8
100 #define SV_ICON_ID_MASTER_DOCUMENT 10
101 #define SV_ICON_ID_TEMPLATE 11
102 #define SV_ICON_ID_DATABASE 12
103 #define SV_ICON_ID_FORMULA 13
104 
105 namespace com::sun::star::datatransfer::clipboard { class XClipboard; }
106 
107 namespace vcl
108 {
109  class DisplayConnectionDispatch;
110  class SettingsConfigItem;
111  class DeleteOnDeinitBase;
112  class Window;
113 }
114 
115 namespace basegfx
116 {
117  class SystemDependentDataManager;
118 }
119 
121 {
122 public:
124 };
125 
126 typedef std::vector<Link<VclWindowEvent&,bool> > SVAppKeyListeners;
127 
128 typedef std::pair<VclPtr<vcl::Window>, ImplPostEventData *> ImplPostEventPair;
129 
131 {
132  ~ImplSVAppData();
133 
134  std::unique_ptr<AllSettings> mpSettings; // Application settings
136  VclEventListeners maEventListeners; // listeners for vcl events (eg, extended toolkit)
137  SVAppKeyListeners maKeyListeners; // listeners for key events only (eg, extended toolkit)
138  std::vector<ImplPostEventPair> maPostedEventList;
139  ImplAccelManager* mpAccelMgr; // Accelerator Manager
140  o3tl::optional<OUString> mxAppName; // Application name
141  o3tl::optional<OUString> mxAppFileName; // Abs. Application FileName
142  o3tl::optional<OUString> mxDisplayName; // Application Display Name
143  o3tl::optional<OUString> mxToolkitName; // Toolkit Name
144  Help* mpHelp = nullptr; // Application help
145  VclPtr<PopupMenu> mpActivePopupMenu; // Actives Popup-Menu (in Execute)
147  sal_uInt64 mnLastInputTime = 0; // GetLastInputTime()
148  sal_uInt16 mnDispatchLevel = 0; // DispatchLevel
149  sal_uInt16 mnModalMode = 0; // ModalMode Count
150  SystemWindowFlags mnSysWinMode = SystemWindowFlags(0); // Mode, when SystemWindows should be created
151  bool mbInAppMain = false; // is Application::Main() on stack
152  bool mbInAppExecute = false; // is Application::Execute() on stack
153  bool mbAppQuit = false; // is Application::Quit() called
154  bool mbSettingsInit = false; // true: Settings are initialized
155  DialogCancelMode meDialogCancel = DialogCancelMode::Off; // true: All Dialog::Execute() calls will be terminated immediately with return false
156  bool mbRenderToBitmaps = false; // set via svp / headless plugin
157 
161 
162  DECL_STATIC_LINK(ImplSVAppData, ImplQuitMsg, void*, void);
163  DECL_STATIC_LINK(ImplSVAppData, ImplPrepareExitMsg, void*, void);
164  DECL_STATIC_LINK(ImplSVAppData, ImplEndAllDialogsMsg, void*, void);
165  DECL_STATIC_LINK(ImplSVAppData, ImplEndAllPopupsMsg, void*, void);
166  DECL_STATIC_LINK(ImplSVAppData, ImplVclEventTestingHdl, void*, void);
167  DECL_LINK(VclEventTestingHdl, Timer*, void);
168 };
169 
171 {
172  ~ImplSVGDIData();
173 
174  VclPtr<OutputDevice> mpFirstWinGraphics; // First OutputDevice with a Frame Graphics
175  VclPtr<OutputDevice> mpLastWinGraphics; // Last OutputDevice with a Frame Graphics
176  VclPtr<OutputDevice> mpFirstVirGraphics; // First OutputDevice with a VirtualDevice Graphics
177  VclPtr<OutputDevice> mpLastVirGraphics; // Last OutputDevice with a VirtualDevice Graphics
178  VclPtr<OutputDevice> mpFirstPrnGraphics; // First OutputDevice with an InfoPrinter Graphics
179  VclPtr<OutputDevice> mpLastPrnGraphics; // Last OutputDevice with an InfoPrinter Graphics
180  VclPtr<VirtualDevice> mpFirstVirDev; // First VirtualDevice
181  OpenGLContext* mpLastContext = nullptr; // Last OpenGLContext
182  VclPtr<Printer> mpFirstPrinter; // First Printer
183  std::unique_ptr<ImplPrnQueueList> mpPrinterQueueList; // List of all printer queue
184  std::shared_ptr<PhysicalFontCollection> mxScreenFontList; // Screen-Font-List
185  std::shared_ptr<ImplFontCache> mxScreenFontCache; // Screen-Font-Cache
187  ImplDirectFontSubstitution* mpDirectFontSubst = nullptr; // Font-Substitutions defined in Tools->Options->Fonts
188  GraphicConverter* mpGrfConverter = nullptr; // Converter for graphics
189  long mnAppFontX = 0; // AppFont X-Numenator for 40/tel Width
190  long mnAppFontY = 0; // AppFont Y-Numenator for 80/tel Height
191  bool mbFontSubChanged = false; // true: FontSubstitution was changed between Begin/End
192 
195 };
196 
198 {
200  VclPtr<vcl::Window> mpFirstFrame; // First FrameWindow
201  VclPtr<vcl::Window> mpActiveApplicationFrame; // the last active application frame, can be used as DefModalDialogParent if no focuswin set
202  VclPtr<WorkWindow> mpAppWin; // Application-Window
203 
204  std::unique_ptr<UITestLogger> m_pUITestLogger;
205 };
206 
208 {
209  ~ImplSVWinData();
210  VclPtr<vcl::Window> mpFocusWin; // window, that has the focus
211  VclPtr<vcl::Window> mpCaptureWin; // window, that has the mouse capture
212  VclPtr<vcl::Window> mpLastDeacWin; // Window, that need a deactivate (FloatingWindow-Handling)
213  VclPtr<FloatingWindow> mpFirstFloat; // First FloatingWindow in PopupMode
214  std::vector<VclPtr<Dialog>> mpExecuteDialogs;
215  VclPtr<vcl::Window> mpExtTextInputWin; // Window, which is in ExtTextInput
216  VclPtr<vcl::Window> mpTrackWin; // window, that is in tracking mode
217  AutoTimer* mpTrackTimer = nullptr; // tracking timer
218  std::vector<Image> maMsgBoxImgList; // ImageList for MessageBox
219  VclPtr<vcl::Window> mpAutoScrollWin; // window, that is in AutoScrollMode mode
220  VclPtr<vcl::Window> mpLastWheelWindow; // window, that last received a mouse wheel event
221  SalWheelMouseEvent maLastWheelEvent; // the last received mouse wheel event
222 
225  bool mbNoDeactivate = false; // true: do not execute Deactivate
226  bool mbNoSaveFocus = false; // true: menus must not save/restore focus
227 };
228 
229 typedef std::vector< std::pair< OUString, FieldUnit > > FieldUnitStringList;
230 
232 {
233  std::vector<Image> maCheckImgList; // ImageList for CheckBoxes
234  std::vector<Image> maRadioImgList; // ImageList for RadioButtons
235  std::unique_ptr<Image> mpDisclosurePlus;
236  std::unique_ptr<Image> mpDisclosureMinus;
237  ImplTBDragMgr* mpTBDragMgr = nullptr; // DragMgr for ToolBox
238  sal_uInt16 mnCheckStyle = 0; // CheckBox-Style for ImageList-Update
239  sal_uInt16 mnRadioStyle = 0; // Radio-Style for ImageList-Update
240  Color mnLastCheckFColor; // Last FaceColor for CheckImage
241  Color mnLastCheckWColor; // Last WindowColor for CheckImage
242  Color mnLastCheckLColor; // Last LightColor for CheckImage
243  Color mnLastRadioFColor; // Last FaceColor for RadioImage
244  Color mnLastRadioWColor; // Last WindowColor for RadioImage
245  Color mnLastRadioLColor; // Last LightColor for RadioImage
246  FieldUnitStringList maFieldUnitStrings; // list with field units
247  FieldUnitStringList maCleanUnitStrings; // same list but with some "fluff" like spaces removed
248 };
249 
251 {
252  ~ImplSVHelpData();
253  bool mbContextHelp = false; // is ContextHelp enabled
254  bool mbExtHelp = false; // is ExtendedHelp enabled
255  bool mbExtHelpMode = false; // is in ExtendedHelp Mode
256  bool mbOldBalloonMode = false; // BalloonMode, before ExtHelpMode started
257  bool mbBalloonHelp = false; // is BalloonHelp enabled
258  bool mbQuickHelp = false; // is QuickHelp enabled
259  bool mbSetKeyboardHelp = false; // tiphelp was activated by keyboard
260  bool mbKeyboardHelp = false; // tiphelp was activated by keyboard
261  bool mbRequestingHelp = false; // In Window::RequestHelp
263  sal_uInt64 mnLastHelpHideTime = 0; // ticks of last show
264 };
265 
266 // "NWF" means "Native Widget Framework" and was the term used for the
267 // idea that StarView/OOo "widgets" should *look* (and feel) like the
268 // "native widgets" on each platform, even if not at all implemented
269 // using them. See http://people.redhat.com/dcbw/ooo-nwf.html .
270 
272 {
273  int mnStatusBarLowerRightOffset = 0; // amount in pixel to avoid in the lower righthand corner
274  int mnMenuFormatBorderX = 0; // horizontal inner popup menu border
275  int mnMenuFormatBorderY = 0; // vertical inner popup menu border
276  ::Color maMenuBarHighlightTextColor = COL_TRANSPARENT; // override highlight text color
277  // in menubar if not transparent
278  bool mbMenuBarDockingAreaCommonBG = false; // e.g. WinXP default theme
279  bool mbDockingAreaSeparateTB = false; // individual toolbar backgrounds
280  // instead of one for docking area
282  bool mbFlatMenu = false; // no popup 3D border
283  bool mbNoFocusRects = false; // on Aqua/Gtk3 use native focus rendering, except for flat buttons
284  bool mbNoFocusRectsForFlatButtons = false; // on Gtk3 native focusing is also preferred for flat buttons
285  bool mbCenteredTabs = false; // on Aqua, tabs are centered
286  bool mbNoActiveTabTextRaise = false; // on Aqua the text for the selected tab
287  // should not "jump up" a pixel
288  bool mbProgressNeedsErase = false; // set true for platforms that should draw the
289  // window background before drawing the native
290  // progress bar
291  bool mbCanDrawWidgetAnySize = false; // set to true currently on gtk
292 
294  bool mbDDListBoxNoTextArea = false;
295  bool mbAutoAccel = false; // whether accelerators are only shown when Alt is held down
296  bool mbRolloverMenubar = false; // theming engine supports rollover in menubar
297  // gnome#768128 I cannot see a route under wayland at present to support
298  // floating toolbars that can be redocked because there's no way to track
299  // that the toolbar is over a dockable area.
301 
303 };
304 
306 {
314 
316  : m_aLastSize(0, 0)
317  , m_nLastAlpha(0)
318  , m_aLastColorTopLeft(COL_BLACK)
319  , m_aLastColorTopRight(COL_BLACK)
320  , m_aLastColorBottomRight(COL_BLACK)
321  , m_aLastColorBottomLeft(COL_BLACK)
322  {
323  }
324 };
325 
327 {
332  SalTimer* mpSalTimer = nullptr;
333  sal_uInt64 mnTimerStart = 0;
336  bool mbActive = true;
337 };
338 
340 {
341  ImplSVData();
342  ~ImplSVData();
343  SalData* mpSalData = nullptr;
344  SalInstance* mpDefInst = nullptr; // Default SalInstance
345  Application* mpApp = nullptr; // pApp
346  VclPtr<WorkWindow> mpDefaultWin; // Default-Window
347  bool mbDeInit = false; // Is VCL deinitializing
348  std::unique_ptr<SalSystem> mpSalSystem; // SalSystem interface
349  int mnFontUpdatesLockCount = 0; // avoid repeated font updates
350  bool mbFontUpdatesPending = false; // need to update font data after unlock
351  bool mbFontUpdatesNewLists = false; // generate new font lists
352  bool mbResLocaleSet = false; // SV-Resource-Manager
353  std::locale maResLocale; // Resource locale
354  ImplSchedulerContext maSchedCtx; // Data for class Scheduler
355  ImplSVAppData maAppData; // Data for class Application
356  ImplSVGDIData maGDIData; // Data for Output classes
357  ImplSVFrameData maFrameData; // Data for Frame classes
358  ImplSVWinData* mpWinData = nullptr; // Data for per-view Windows classes
359  ImplSVCtrlData maCtrlData; // Data for Control classes
360  ImplSVHelpData* mpHelpData; // Data for Help classes
363  VclPtr<vcl::Window> mpIntroWindow; // the splash screen
364  std::unique_ptr<DockingManager> mpDockingManager;
365  std::unique_ptr<BlendFrameCache> mpBlendFrameCache;
366 
367  oslThreadIdentifier mnMainThreadId = 0;
369 
370  css::uno::Reference< css::lang::XComponent > mxAccessBridge;
371  std::unique_ptr<vcl::SettingsConfigItem> mpSettingsConfigItem;
372  std::vector< vcl::DeleteOnDeinitBase* > maDeinitDeleteList;
373  std::unordered_map< int, OUString > maPaperNames;
374 
375  css::uno::Reference<css::i18n::XCharacterClassification> m_xCharClass;
376 
377 #if defined _WIN32
378  css::uno::Reference<css::datatransfer::clipboard::XClipboard> m_xSystemClipboard;
379 #endif
380 
382 
383  // LOK & headless backend specific hooks
384  LibreOfficeKitPollCallback mpPollCallback = nullptr;
385  LibreOfficeKitWakeCallback mpWakeCallback = nullptr;
386  void *mpPollClosure = nullptr;
387 };
388 
389 css::uno::Reference<css::i18n::XCharacterClassification> const& ImplGetCharClass();
390 
391 void ImplDeInitSVData();
395 const std::locale& ImplGetResLocale();
396 VCL_PLUGIN_PUBLIC OUString VclResId(const char* pId);
399 
401 
403 
406 
407 #ifdef _WIN32
408 bool ImplInitAccessBridge();
409 #endif
410 
413 
415 {
416  void* mpData;
420  bool mbCall;
421 };
422 
423 extern int nImplSysDialog;
424 
425 #endif // INCLUDED_VCL_INC_SVDATA_HXX
426 
427 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
do not automatically cancel dialogs
Color m_aLastColorBottomLeft
Definition: svdata.hxx:312
ConfigurationHints
Color mnLastRadioLColor
Definition: svdata.hxx:245
VclPtr< HelpTextWindow > mpHelpWin
Definition: svdata.hxx:262
std::unique_ptr< SalSystem > mpSalSystem
Definition: svdata.hxx:348
o3tl::optional< OUString > mxAppFileName
Definition: svdata.hxx:141
oslThreadIdentifier mnMainThreadId
Definition: svdata.hxx:367
bool mbCanDrawWidgetAnySize
Definition: svdata.hxx:291
o3tl::optional< OUString > mxDisplayName
Definition: svdata.hxx:142
constexpr::Color COL_BLACK(0x00, 0x00, 0x00)
SchedulerMutex maMutex
lock counting mutex for scheduler locking
Definition: svdata.hxx:335
VclPtr< vcl::Window > mpFocusWin
Definition: svdata.hxx:210
SalData * mpSalData
Definition: svdata.hxx:343
Color mnLastCheckWColor
Definition: svdata.hxx:241
bool mbNoSaveFocus
Definition: svdata.hxx:226
bool mbFontSubChanged
Definition: svdata.hxx:191
sal_uInt16 mnCheckStyle
Definition: svdata.hxx:238
int mnMenuFormatBorderX
Definition: svdata.hxx:274
Link< LinkParamNone *, void > maDeInitHook
Definition: svdata.hxx:381
StartAutoScrollFlags
Definition: window.hxx:299
StartTrackingFlags
Definition: window.hxx:285
Help * mpHelp
Definition: svdata.hxx:144
bool mbNoActiveTabTextRaise
Definition: svdata.hxx:286
Definition: help.hxx:60
BitmapEx m_aLastResult
Definition: svdata.hxx:313
VCL_PLUGIN_PUBLIC vcl::Window * ImplGetDefaultWindow()
Returns either the application window, or the default GL context window.
Definition: svdata.cxx:210
bool mbNoDeactivate
Definition: svdata.hxx:225
#define VCL_DLLPUBLIC
Definition: dllapi.h:29
ImplSVAppData maAppData
Definition: svdata.hxx:355
int mnStatusBarLowerRightOffset
Definition: svdata.hxx:273
VclPtr< OutputDevice > mpLastVirGraphics
Definition: svdata.hxx:177
void * mpPollClosure
Definition: svdata.hxx:386
std::unique_ptr< vcl::SettingsConfigItem > mpSettingsConfigItem
Definition: svdata.hxx:371
VclPtr< PopupMenu > mpActivePopupMenu
Definition: svdata.hxx:145
#define PRIO_COUNT
Definition: task.hxx:39
ImplSVNWFData maNWFData
Definition: svdata.hxx:361
css::uno::Reference< css::lang::XComponent > mxAccessBridge
Definition: svdata.hxx:370
std::unique_ptr< AllSettings > mpSettings
Definition: svdata.hxx:134
bool mbMenuBarDockingAreaCommonBG
Definition: svdata.hxx:278
std::pair< VclPtr< vcl::Window >, ImplPostEventData * > ImplPostEventPair
Definition: svdata.hxx:128
~ImplSVData()
Definition: svdata.cxx:484
bool mbNoFocusRectsForFlatButtons
Definition: svdata.hxx:284
bool mbRequestingHelp
Definition: svdata.hxx:261
Idle * mpEventTestingIdle
Definition: svdata.hxx:159
SalTimer * mpSalTimer
interface to sal event loop / system timer
Definition: svdata.hxx:332
vcl::Window * ImplGetDefaultContextWindow()
returns the default window created to hold the persistent VCL GL context.
Definition: svdata.cxx:220
Size m_aLastSize
Definition: svdata.hxx:307
ImplSVData()
Definition: svdata.cxx:406
ImplSchedulerData * mpFirstSchedulerData[PRIO_COUNT]
list of all active tasks per priority
Definition: svdata.hxx:328
bool mbFontUpdatesPending
Definition: svdata.hxx:350
ImplSVGDIData maGDIData
Definition: svdata.hxx:356
int mnListBoxEntryMargin
Definition: svdata.hxx:302
bool mbInAppExecute
Definition: svdata.hxx:152
ImplSVCtrlData maCtrlData
Definition: svdata.hxx:359
DECL_LINK(VclEventTestingHdl, Timer *, void)
bool mbExtHelpMode
Definition: svdata.hxx:255
bool mbAppQuit
Definition: svdata.hxx:153
bool mbResLocaleSet
Definition: svdata.hxx:352
std::vector< Link< VclWindowEvent &, bool > > SVAppKeyListeners
Definition: svdata.hxx:126
std::unique_ptr< ImplPrnQueueList > mpPrinterQueueList
Definition: svdata.hxx:183
constexpr::Color COL_TRANSPARENT(0xFF, 0xFF, 0xFF, 0xFF)
bool mbSettingsInit
Definition: svdata.hxx:154
std::vector< ImplPostEventPair > maPostedEventList
Definition: svdata.hxx:138
ImplSVHelpData * mpHelpData
Definition: svdata.hxx:360
LibreOfficeKitPollCallback mpPollCallback
Definition: svdata.hxx:384
std::unique_ptr< BlendFrameCache > mpBlendFrameCache
Definition: svdata.hxx:365
sal_uInt64 mnLastHelpHideTime
Definition: svdata.hxx:263
bool mbFontUpdatesNewLists
Definition: svdata.hxx:351
VclPtr< OutputDevice > mpFirstWinGraphics
Definition: svdata.hxx:174
bool mbSetKeyboardHelp
Definition: svdata.hxx:259
o3tl::lru_map< SalBitmap *, BitmapEx > maScaleCache
Definition: svdata.hxx:186
const std::locale & ImplGetResLocale()
Definition: svdata.cxx:255
bool mbDockingAreaAvoidTBFrames
don't draw frames around the individual toolbars if mbDockingAreaSeparateTB is false ...
Definition: svdata.hxx:281
VclPtr< VirtualDevice > mpFirstVirDev
Definition: svdata.hxx:180
DockingManager * ImplGetDockingManager()
Definition: svdata.cxx:307
AutoTimer * mpTrackTimer
Definition: svdata.hxx:217
VCL_PLUGIN_PUBLIC ImplSVData * ImplGetSVData()
Definition: svdata.cxx:75
sal_uInt8 m_nLastAlpha
Definition: svdata.hxx:308
VCL_PLUGIN_PUBLIC ImplSVHelpData & ImplGetSVHelpData()
Definition: svdata.cxx:471
DECL_STATIC_LINK(ImplSVAppData, ImplQuitMsg, void *, void)
bool mbAutoAccel
Definition: svdata.hxx:295
o3tl::lru_map< OUString, BitmapEx > maThemeImageCache
Definition: svdata.hxx:193
VclPtr< ImplWheelWindow > mpWheelWindow
Definition: svdata.hxx:146
Color m_aLastColorTopRight
Definition: svdata.hxx:310
LibreOfficeKitWakeCallback mpWakeCallback
Definition: svdata.hxx:385
GraphicConverter * mpGrfConverter
Definition: svdata.hxx:188
VclPtr< Printer > mpFirstPrinter
Definition: svdata.hxx:182
int mnFontUpdatesLockCount
Definition: svdata.hxx:349
An auto-timer is a multi-shot timer re-emitting itself at interval until destroyed or stopped...
Definition: timer.hxx:72
std::vector< VclPtr< Dialog > > mpExecuteDialogs
Stack of dialogs that are Execute()'d - the last one is the top most one.
Definition: svdata.hxx:214
StartAutoScrollFlags mnAutoScrollFlags
Definition: svdata.hxx:224
BlendFrameCache * ImplGetBlendFrameCache()
Definition: svdata.cxx:316
VclPtr< vcl::Window > mpCaptureWin
Definition: svdata.hxx:211
bool mbCall
Definition: svdata.hxx:420
SvFileStream * mpEventTestInput
Definition: svdata.hxx:158
Color m_aLastColorTopLeft
Definition: svdata.hxx:309
sal_uInt16 mnModalMode
Definition: svdata.hxx:149
#define SAL_MAX_UINT64
sal_uInt64 mnLastInputTime
Definition: svdata.hxx:147
VCL_DLLPUBLIC bool ImplCallPreNotify(NotifyEvent &rEvt)
Definition: winproc.cxx:58
VclPtr< vcl::Window > mpIntroWindow
Definition: svdata.hxx:363
int mnMenuFormatBorderY
Definition: svdata.hxx:275
VclPtr< vcl::Window > mpInstanceRef
Definition: svdata.hxx:418
FieldUnitStringList maCleanUnitStrings
Definition: svdata.hxx:247
bool mbQuickHelp
Definition: svdata.hxx:258
bool mbExtHelp
Definition: svdata.hxx:254
o3tl::optional< OUString > mxAppName
Definition: svdata.hxx:140
std::vector< Image > maMsgBoxImgList
Definition: svdata.hxx:218
Color m_aLastColorBottomRight
Definition: svdata.hxx:311
Link< void *, void > maLink
Definition: svdata.hxx:417
SystemWindowFlags
Definition: svapp.hxx:92
std::unique_ptr< Image > mpDisclosureMinus
Definition: svdata.hxx:236
VclPtr< vcl::Window > mpLastWheelWindow
Definition: svdata.hxx:220
sal_uInt16 mnRadioStyle
Definition: svdata.hxx:239
VclPtr< WorkWindow > mpAppWin
Definition: svdata.hxx:202
VCL_PLUGIN_PUBLIC void ImplHideSplash()
Definition: dialog.cxx:122
void ImplDeInitSVData()
Definition: svdata.cxx:87
std::vector< vcl::DeleteOnDeinitBase * > maDeinitDeleteList
Definition: svdata.hxx:372
VCL_PLUGIN_PUBLIC basegfx::SystemDependentDataManager & ImplGetSystemDependentDataManager()
Definition: svdata.cxx:202
css::uno::Reference< css::i18n::XCharacterClassification > const & ImplGetCharClass()
Definition: field2.cxx:56
ImplSchedulerData * mpSchedulerStack
stack of invoked tasks
Definition: svdata.hxx:330
SystemWindowFlags mnSysWinMode
Definition: svdata.hxx:150
Some things multiple-inherit from VclAbstractDialog and OutputDevice, so we need to use virtual inher...
Definition: outdev.hxx:304
bool mbCanDetermineWindowPosition
Definition: svdata.hxx:300
LocaleConfigurationListener * mpCfgListener
Definition: svdata.hxx:135
ImplSchedulerData * mpLastSchedulerData[PRIO_COUNT]
last item of each mpFirstSchedulerData list
Definition: svdata.hxx:329
Base class used mainly for the LibreOffice Desktop class.
Definition: svapp.hxx:237
VclPtr< vcl::Window > mpLastDeacWin
Definition: svdata.hxx:212
o3tl::lru_map< OUString, gfx::DrawRoot > maThemeDrawCommandsCache
Definition: svdata.hxx:194
o3tl::optional< OUString > mxToolkitName
Definition: svdata.hxx:143
bool mbDockingAreaSeparateTB
Definition: svdata.hxx:279
bool mbContextHelp
Definition: svdata.hxx:253
VclPtr< vcl::Window > mpTrackWin
Definition: svdata.hxx:216
long mnAppFontX
Definition: svdata.hxx:189
ImplSchedulerContext maSchedCtx
Definition: svdata.hxx:354
sal_uInt64 mnTimerStart
start time of the timer
Definition: svdata.hxx:333
const FieldUnitStringList & ImplGetFieldUnits()
Definition: svdata.cxx:271
#define VCL_PLUGIN_PUBLIC
Definition: dllapi.h:40
SalWheelMouseEvent maLastWheelEvent
Definition: svdata.hxx:221
A SalFrame is a system window (e.g. an X11 window).
Definition: salframe.hxx:112
css::uno::Reference< css::i18n::XCharacterClassification > m_xCharClass
Definition: svdata.hxx:375
virtual void ConfigurationChanged(utl::ConfigurationBroadcaster *, ConfigurationHints) override
Definition: svdata.cxx:358
VclPtr< vcl::Window > mpExtTextInputWin
Definition: svdata.hxx:215
void * mpData
Definition: svdata.hxx:416
ImplTBDragMgr * mpTBDragMgr
Definition: svdata.hxx:237
int nImplSysDialog
Definition: print.cxx:50
bool mbRolloverMenubar
Definition: svdata.hxx:296
bool mbBalloonHelp
Definition: svdata.hxx:257
std::vector< Image > maCheckImgList
Definition: svdata.hxx:233
bool mbOldBalloonMode
Definition: svdata.hxx:256
const FieldUnitStringList & ImplGetCleanedFieldUnits()
Definition: svdata.cxx:287
bool mbNoFocusRects
Definition: svdata.hxx:283
unsigned char sal_uInt8
bool mbProgressNeedsErase
Definition: svdata.hxx:288
std::vector< Image > maRadioImgList
Definition: svdata.hxx:234
bool mbFlatMenu
Definition: svdata.hxx:282
ImplSVFrameData maFrameData
Definition: svdata.hxx:357
VclPtr< OutputDevice > mpLastWinGraphics
Definition: svdata.hxx:175
std::unique_ptr< UITestLogger > m_pUITestLogger
Definition: svdata.hxx:204
VclPtr< vcl::Window > mpAutoScrollWin
Definition: svdata.hxx:219
bool mbActive
is the scheduler active?
Definition: svdata.hxx:336
VclPtr< vcl::Window > mpActiveApplicationFrame
Definition: svdata.hxx:201
sal_uInt16 mnDispatchLevel
Definition: svdata.hxx:148
VclPtr< OutputDevice > mpFirstVirGraphics
Definition: svdata.hxx:176
Definition: image.hxx:40
bool mbDeInit
Definition: svdata.hxx:347
std::shared_ptr< ImplFontCache > mxScreenFontCache
Definition: svdata.hxx:185
Color mnLastRadioFColor
Definition: svdata.hxx:243
VclEventListeners maEventListeners
Definition: svdata.hxx:136
ImplDirectFontSubstitution * mpDirectFontSubst
Definition: svdata.hxx:187
SVAppKeyListeners maKeyListeners
Definition: svdata.hxx:137
std::vector< std::pair< OUString, FieldUnit > > FieldUnitStringList
Definition: svdata.hxx:229
Color mnLastCheckLColor
Definition: svdata.hxx:242
ImplSchedulerData * mpSchedulerStackTop
top most stack entry to detect needed rescheduling during pop
Definition: svdata.hxx:331
VclPtr< FloatingWindow > mpFirstFloat
Definition: svdata.hxx:213
VclPtr< vcl::Window > mpWindow
Definition: svdata.hxx:419
std::unique_ptr< Image > mpDisclosurePlus
Definition: svdata.hxx:235
VclPtr< OutputDevice > mpFirstPrnGraphics
Definition: svdata.hxx:178
DialogCancelMode meDialogCancel
Definition: svdata.hxx:155
bool mbRenderToBitmaps
Definition: svdata.hxx:156
FieldUnitStringList maFieldUnitStrings
Definition: svdata.hxx:246
VclPtr< vcl::Window > mpFirstFrame
Definition: svdata.hxx:200
Application * mpApp
Definition: svdata.hxx:345
ImplAccelManager * mpAccelMgr
Definition: svdata.hxx:139
Definition: timer.hxx:26
std::unique_ptr< DockingManager > mpDockingManager
Definition: svdata.hxx:364
Color mnLastRadioWColor
Definition: svdata.hxx:244
bool mbDDListBoxNoTextArea
entire drop down listbox resembles a button, no textarea/button parts (as currently on Windows) ...
Definition: svdata.hxx:294
VclPtr< OutputDevice > mpLastPrnGraphics
Definition: svdata.hxx:179
sal_uInt64 mnTimerPeriod
current timer period
Definition: svdata.hxx:334
DialogCancelMode
Definition: svapp.hxx:217
OpenGLContext * mpLastContext
Definition: svdata.hxx:181
rtl::Reference< vcl::DisplayConnectionDispatch > mxDisplayConnection
Definition: svdata.hxx:368
StartTrackingFlags mnTrackFlags
Definition: svdata.hxx:223
long mnAppFontY
Definition: svdata.hxx:190
UnoWrapperBase * mpUnoWrapper
Definition: svdata.hxx:362
bool mbInAppMain
Definition: svdata.hxx:151
std::shared_ptr< PhysicalFontCollection > mxScreenFontList
Definition: svdata.hxx:184
::Color maMenuBarHighlightTextColor
Definition: svdata.hxx:276
std::locale maResLocale
Definition: svdata.hxx:353
int mnEventTestLimit
Definition: svdata.hxx:160
bool mbKeyboardHelp
Definition: svdata.hxx:260
SalInstance * mpDefInst
Definition: svdata.hxx:344
Color mnLastCheckFColor
Definition: svdata.hxx:240
An idle is a timer to be scheduled immediately.
Definition: idle.hxx:30
std::unordered_map< int, OUString > maPaperNames
Definition: svdata.hxx:373
VCL_PLUGIN_PUBLIC OUString VclResId(const char *pId)
Definition: svdata.cxx:266
ImplSVWinData * mpWinData
Definition: svdata.hxx:358
VclPtr< WorkWindow > mpDefaultWin
Definition: svdata.hxx:346
bool mbCenteredTabs
Definition: svdata.hxx:285