20#ifndef INCLUDED_VCL_WINDOW_HXX
21#define INCLUDED_VCL_WINDOW_HXX
32#include <rtl/ustring.hxx>
33#include <com/sun/star/uno/Reference.hxx>
71 struct AccessibleRelation;
84 namespace datatransfer::clipboard {
87 namespace datatransfer::dnd {
88 class XDragGestureRecognizer;
95 struct ControlLayoutData;
98namespace svt {
class PopupWindowControllerImpl; }
102template<
class T>
class VclPtr;
103namespace tools {
class JsonWriter; }
355#define IMPL_MINSIZE_BUTTON_WIDTH 70
356#define IMPL_MINSIZE_BUTTON_HEIGHT 22
357#define IMPL_EXTRA_BUTTON_WIDTH 18
358#define IMPL_EXTRA_BUTTON_HEIGHT 10
359#define IMPL_SEP_BUTTON_X 5
360#define IMPL_SEP_BUTTON_Y 5
361#define IMPL_MINSIZE_MSGBOX_WIDTH 150
362#define IMPL_DIALOG_OFFSET 5
363#define IMPL_DIALOG_BAR_OFFSET 3
364#define IMPL_MSGBOX_OFFSET_EXTRA_X 0
365#define IMPL_MSGBOX_OFFSET_EXTRA_Y 2
366#define IMPL_SEP_MSGBOX_IMAGE 8
381namespace vcl {
class WindowOutputDevice; }
437 bool bChecked,
bool bDrawBorder,
bool bDrawExtBorderOnly,
439 Color const * pPaintColor =
nullptr);
444 friend class ::vcl::Cursor;
445 friend class ::vcl::WindowOutputDevice;
446 friend class ::OutputDevice;
447 friend class ::Application;
448 friend class ::SystemWindow;
449 friend class ::WorkWindow;
450 friend class ::Dialog;
452 friend class ::MessBox;
453 friend class ::MessageDialog;
454 friend class ::DockingWindow;
455 friend class ::FloatingWindow;
456 friend class ::GroupBox;
457 friend class ::PushButton;
458 friend class ::RadioButton;
459 friend class ::SalInstanceWidget;
460 friend class ::SystemChildWindow;
461 friend class ::ImplBorderWindow;
462 friend class ::PaintHelper;
463 friend class ::LifecycleTest;
464 friend class ::VclEventListeners;
468 friend class ::ImplDockingWindowWrapper;
469 friend class ::ImplPopupFloatWin;
470 friend class ::MenuFloatingWindow;
472 friend class ::svt::PopupWindowControllerImpl;
499 SAL_DLLPRIVATE
static void ImplInitAppFontData(
vcl::Window const * pWindow );
501 SAL_DLLPRIVATE
vcl::Window* ImplGetFrameWindow()
const;
508 SAL_DLLPRIVATE
ImplWinData* ImplGetWinData()
const;
509 SAL_DLLPRIVATE
vcl::Window* ImplGetClientWindow()
const;
510 SAL_DLLPRIVATE
vcl::Window* ImplGetDlgWindow( sal_uInt16 n,
GetDlgWindowType nType, sal_uInt16 nStart = 0, sal_uInt16 nEnd = 0xFFFF, sal_uInt16* pIndex =
nullptr );
515 SAL_DLLPRIVATE
void ImplInvalidateOverlapFrameRegion(
const vcl::Region& rRegion );
517 SAL_DLLPRIVATE
bool ImplSetClipFlag(
bool bSysObjOnlySmaller =
false );
519 SAL_DLLPRIVATE
bool ImplIsWindowOrChild(
const vcl::Window* pWindow,
bool bSystemWindow =
false )
const;
520 SAL_DLLPRIVATE
bool ImplIsChild(
const vcl::Window* pWindow,
bool bSystemWindow =
false )
const;
521 SAL_DLLPRIVATE
bool ImplIsFloatingWindow()
const;
522 SAL_DLLPRIVATE
bool ImplIsPushButton()
const;
523 SAL_DLLPRIVATE
bool ImplIsSplitter()
const;
524 SAL_DLLPRIVATE
bool ImplIsOverlapWindow()
const;
526 SAL_DLLPRIVATE
void ImplIsInTaskPaneList(
bool mbIsInTaskList );
531 SAL_DLLPRIVATE
void ImplGrabFocusToDocument(
GetFocusFlags nFlags );
534 SAL_DLLPRIVATE
PointerStyle ImplGetMousePointer()
const;
535 SAL_DLLPRIVATE
void ImplCallMouseMove( sal_uInt16 nMouseCode,
bool bModChanged =
false );
536 SAL_DLLPRIVATE
void ImplGenerateMouseMove();
538 SAL_DLLPRIVATE
void ImplNotifyKeyMouseCommandEventListeners(
NotifyEvent& rNEvt );
539 SAL_DLLPRIVATE
void ImplNotifyIconifiedState(
bool bIconified );
541 SAL_DLLPRIVATE
void ImplUpdateAll();
545 SAL_DLLPRIVATE
void ImplMirrorFramePos(
Point &pt )
const;
549 SAL_DLLPRIVATE
void ImplCallResize();
550 SAL_DLLPRIVATE
void ImplCallMove();
553 SAL_DLLPRIVATE
void CompatGetFocus();
554 SAL_DLLPRIVATE
void CompatLoseFocus();
557 SAL_DLLPRIVATE
bool CompatPreNotify(
NotifyEvent& rNEvt );
558 SAL_DLLPRIVATE
bool CompatNotify(
NotifyEvent& rNEvt );
560 void IncModalCount();
561 void DecModalCount();
568 virtual void dispose()
override;
572 SAL_DLLPRIVATE
void ImplInvalidateParentFrameRegion(
const vcl::Region& rRegion );
574 SAL_DLLPRIVATE
void ImplValidate();
578 SAL_DLLPRIVATE
vcl::Window* ImplGetBorderWindow()
const;
584 SAL_DLLPRIVATE
void ImplSetMouseTransparent(
bool bTransparent );
588 SAL_DLLPRIVATE
bool ImplSetClipFlagChildren(
bool bSysObjOnlySmaller );
589 SAL_DLLPRIVATE
bool ImplSetClipFlagOverlapWindows(
bool bSysObjOnlySmaller =
false );
592 SAL_DLLPRIVATE
void PopPaintHelper(
PaintHelper const * pHelper);
596 SAL_DLLPRIVATE
void ImplSetFrameParent(
const vcl::Window* pParent );
598 SAL_DLLPRIVATE
void ImplInsertWindow(
vcl::Window* pParent );
599 SAL_DLLPRIVATE
void ImplRemoveWindow(
bool bRemoveFrameData );
601 SAL_DLLPRIVATE
SalGraphics* ImplGetFrameGraphics()
const;
603 SAL_DLLPRIVATE
static void ImplCallFocusChangeActivate(
vcl::Window* pNewOverlapWindow,
vcl::Window* pOldOverlapWindow );
604 SAL_DLLPRIVATE
vcl::Window* ImplGetFirstOverlapWindow();
605 SAL_DLLPRIVATE
const vcl::Window* ImplGetFirstOverlapWindow()
const;
607 SAL_DLLPRIVATE
bool ImplIsRealParentPath(
const vcl::Window* pWindow )
const;
609 SAL_DLLPRIVATE
bool ImplTestMousePointerSet();
611 SAL_DLLPRIVATE
void ImplResetReallyVisible();
612 SAL_DLLPRIVATE
void ImplSetReallyVisible();
614 SAL_DLLPRIVATE
void ImplCallInitShow();
616 SAL_DLLPRIVATE
void ImplInitResolutionSettings();
621 SAL_DLLPRIVATE
bool ImplSysObjClip(
const vcl::Region* pOldRegion );
622 SAL_DLLPRIVATE
void ImplUpdateSysObjChildrenClip();
623 SAL_DLLPRIVATE
void ImplUpdateSysObjOverlapsClip();
624 SAL_DLLPRIVATE
void ImplUpdateSysObjClip();
626 SAL_DLLPRIVATE
void ImplIntersectWindowClipRegion(
vcl::Region& rRegion );
627 SAL_DLLPRIVATE
void ImplIntersectWindowRegion(
vcl::Region& rRegion );
628 SAL_DLLPRIVATE
void ImplExcludeWindowRegion(
vcl::Region& rRegion );
629 SAL_DLLPRIVATE
void ImplExcludeOverlapWindows(
vcl::Region& rRegion )
const;
630 SAL_DLLPRIVATE
void ImplExcludeOverlapWindows2(
vcl::Region& rRegion );
632 SAL_DLLPRIVATE
void ImplClipBoundaries(
vcl::Region& rRegion,
bool bThis,
bool bOverlaps );
633 SAL_DLLPRIVATE
bool ImplClipChildren(
vcl::Region& rRegion )
const;
634 SAL_DLLPRIVATE
void ImplClipAllChildren(
vcl::Region& rRegion )
const;
635 SAL_DLLPRIVATE
void ImplClipSiblings(
vcl::Region& rRegion )
const;
637 SAL_DLLPRIVATE
void ImplInitWinClipRegion();
638 SAL_DLLPRIVATE
void ImplInitWinChildClipRegion();
639 SAL_DLLPRIVATE
vcl::Region& ImplGetWinChildClipRegion();
641 SAL_DLLPRIVATE
void ImplIntersectAndUnionOverlapWindows(
const vcl::Region& rInterRegion,
vcl::Region& rRegion )
const;
642 SAL_DLLPRIVATE
void ImplIntersectAndUnionOverlapWindows2(
const vcl::Region& rInterRegion,
vcl::Region& rRegion );
643 SAL_DLLPRIVATE
void ImplCalcOverlapRegionOverlaps(
const vcl::Region& rInterRegion,
vcl::Region& rRegion )
const;
645 bool bChildren,
bool bSiblings );
655 SAL_DLLPRIVATE
void ImplCallOverlapPaint();
657 SAL_DLLPRIVATE
void ImplUpdateWindowPtr(
vcl::Window* pWindow );
658 SAL_DLLPRIVATE
void ImplUpdateWindowPtr();
659 SAL_DLLPRIVATE
void ImplUpdateOverlapWindowPtr(
bool bNewFrame );
661 SAL_DLLPRIVATE
bool ImplUpdatePos();
662 SAL_DLLPRIVATE
void ImplUpdateSysObjPos();
664 SAL_DLLPRIVATE
void ImplUpdateGlobalSettings(
AllSettings& rSettings,
bool bCallHdl =
true )
const;
666 SAL_DLLPRIVATE
void ImplToBottomChild();
669 SAL_DLLPRIVATE
void ImplToTop(
ToTopFlags nFlags );
670 SAL_DLLPRIVATE
void ImplStartToTop(
ToTopFlags nFlags );
671 SAL_DLLPRIVATE
void ImplFocusToTop(
ToTopFlags nFlags,
bool bReallyVisible );
673 SAL_DLLPRIVATE
void ImplShowAllOverlaps();
674 SAL_DLLPRIVATE
void ImplHideAllOverlaps();
676 SAL_DLLPRIVATE
bool ImplDlgCtrl(
const KeyEvent& rKEvt,
bool bKeyInput );
677 SAL_DLLPRIVATE
bool ImplHasDlgCtrl()
const;
678 SAL_DLLPRIVATE
void ImplDlgCtrlNextWindow();
679 SAL_DLLPRIVATE
void ImplDlgCtrlFocusChanged(
vcl::Window* pWindow,
bool bGetFocus );
682 SAL_DLLPRIVATE
static void ImplNewInputContext();
684 SAL_DLLPRIVATE
void ImplCallActivateListeners(
vcl::Window*);
685 SAL_DLLPRIVATE
void ImplCallDeactivateListeners(
vcl::Window*);
687 SAL_DLLPRIVATE
static void ImplHandleScroll(
Scrollable* pHScrl,
double nX,
Scrollable* pVScrl,
double nY);
691 SAL_DLLPRIVATE
tools::Long ImplGetUnmirroredOutOffX()
const;
694 SAL_DLLPRIVATE ::std::vector<VclPtr<vcl::Window> >& ImplGetOwnerDrawList();
696 SAL_DLLPRIVATE
vcl::Window* ImplGetTopmostFrameWindow();
698 SAL_DLLPRIVATE
bool ImplStopDnd();
699 SAL_DLLPRIVATE
void ImplStartDnd();
707 void SetCompoundControl(
bool bCompound );
709 void CallEventListeners(
VclEventId nEvent,
void* pData =
nullptr );
712 virtual void ImplAdjustNWFSizes();
725 Color GetBackgroundColor()
const;
727 bool IsBackground()
const;
728 const MapMode& GetMapMode()
const;
729 void SetBackground();
730 void SetBackground(
const Wallpaper& rBackground );
746 virtual void Activate();
747 virtual void Deactivate();
750 virtual void RequestHelp(
const HelpEvent& rHEvt );
770 void SetStyle(
WinBits nStyle );
777 bool IsSystemWindow()
const;
778 bool IsDockingWindow()
const;
779 bool IsDialog()
const;
780 bool IsMenuFloatingWindow()
const;
781 bool IsToolbarFloatingWindow()
const;
782 bool IsTopWindow()
const;
786 bool SupportsDoubleBuffering()
const;
788 void RequestDoubleBuffering(
bool bRequest);
790 void EnableAllResize();
794 void GetBorder( sal_Int32& rLeftBorder, sal_Int32& rTopBorder,
795 sal_Int32& rRightBorder, sal_Int32& rBottomBorder )
const;
796 Size CalcWindowSize(
const Size& rOutSz )
const;
797 Size CalcOutputSize(
const Size& rWinSz )
const;
800 void EnableClipSiblings(
bool bClipSiblings =
true );
802 void EnableChildTransparentMode(
bool bEnable =
true );
803 bool IsChildTransparentModeEnabled()
const;
805 void SetMouseTransparent(
bool bTransparent );
806 bool IsMouseTransparent()
const;
807 void SetPaintTransparent(
bool bTransparent );
808 bool IsPaintTransparent()
const;
809 void SetDialogControlStart(
bool bStart );
810 bool IsDialogControlStart()
const;
820 bool IsMouseOver()
const;
822 void SetInputContext(
const InputContext& rInputContext );
824 void PostExtTextInputEvent(
VclEventId nType,
const OUString& rText);
832 void UpdateSettings(
const AllSettings& rSettings,
bool bChild =
false );
841 void SetControlFont();
842 void SetControlFont(
const vcl::Font& rFont );
844 bool IsControlFont()
const;
847 void SetControlForeground();
848 void SetControlForeground(
const Color& rColor);
849 const Color& GetControlForeground()
const;
850 bool IsControlForeground()
const;
853 void SetControlBackground();
854 void SetControlBackground(
const Color& rColor );
855 const Color& GetControlBackground()
const;
856 bool IsControlBackground()
const;
862 void SetWindowRegionPixel();
863 void SetWindowRegionPixel(
const vcl::Region& rRegion );
866 bool IsInPaint()
const;
870 void ExpandPaintClipRegion(
const vcl::Region& rRegion );
875 Dialog* GetParentDialog()
const;
876 bool IsAncestorOf(
const vcl::Window& rWindow )
const;
880 bool IsVisible()
const;
881 bool IsReallyVisible()
const;
882 bool IsReallyShown()
const;
883 bool IsInInitShow()
const;
885 void Enable(
bool bEnable =
true,
bool bChild =
true );
887 bool IsEnabled()
const;
889 void EnableInput(
bool bEnable =
true,
bool bChild =
true );
890 void EnableInput(
bool bEnable,
const vcl::Window* pExcludeWindow );
891 bool IsInputEnabled()
const;
902 void AlwaysEnableInput(
bool bAlways,
bool bChild =
true );
908 bool IsAlwaysEnableInput()
const;
915 bool IsInModalMode()
const;
922 void EnableAlwaysOnTop(
bool bEnable =
true );
923 bool IsAlwaysOnTopEnabled()
const;
928 virtual void SetPosPixel(
const Point& rNewPos );
929 virtual Point GetPosPixel()
const;
930 virtual void SetSizePixel(
const Size& rNewSize );
931 virtual Size GetSizePixel()
const;
932 virtual void SetPosSizePixel(
const Point& rNewPos,
933 const Size& rNewSize );
934 virtual void SetOutputSizePixel(
const Size& rNewSize );
935 bool IsDefaultPos()
const;
936 bool IsDefaultSize()
const;
940 Point OutputToScreenPixel(
const Point& rPos )
const;
941 Point ScreenToOutputPixel(
const Point& rPos )
const;
943 Point OutputToNormalizedScreenPixel(
const Point& rPos )
const;
944 Point NormalizedScreenToOutputPixel(
const Point& rPos )
const;
945 Point OutputToAbsoluteScreenPixel(
const Point& rPos )
const;
946 Point AbsoluteScreenToOutputPixel(
const Point& rPos )
const;
953 bool IsScrollable()
const;
977 bool HasPaintEvent()
const;
978 void PaintImmediately();
981 void EnableDocking(
bool bEnable =
true );
985 void EnablePaint(
bool bEnable );
986 bool IsPaintEnabled()
const;
987 void SetUpdateMode(
bool bUpdate );
988 bool IsUpdateMode()
const;
989 void SetParentUpdateMode(
bool bUpdate );
992 bool HasFocus()
const;
993 bool HasChildPathFocus(
bool bSystemWindow =
false )
const;
994 bool IsActive()
const;
995 bool HasActiveChildFrame()
const;
997 void GrabFocusToDocument();
1005 void SetFakeFocus(
bool bFocus );
1007 bool IsCompoundControl()
const;
1012 void LocalStartDrag();
1013 void CaptureMouse();
1014 void ReleaseMouse();
1015 bool IsMouseCaptured()
const;
1019 void EnableChildPointerOverwrite(
bool bOverwrite );
1020 void SetPointerPosPixel(
const Point& rPos );
1021 Point GetPointerPosPixel();
1022 Point GetLastPointerPosPixel();
1024 void SetLastMousePos(
const Point& rPos);
1025 void ShowPointer(
bool bVisible );
1028 bool IsWait()
const;
1035 bool IsZoom()
const;
1038 virtual void SetText(
const OUString& rStr );
1039 virtual OUString GetText()
const;
1043 virtual OUString GetDisplayText()
const;
1047 virtual const Wallpaper& GetDisplayBackground()
const;
1049 void SetHelpText(
const OUString& rHelpText );
1050 const OUString& GetHelpText()
const;
1052 void SetQuickHelpText(
const OUString& rHelpText );
1053 const OUString& GetQuickHelpText()
const;
1056 const OUString& GetHelpId()
const;
1058 sal_uInt16 GetChildCount()
const;
1062 bool IsWindowOrChild(
const vcl::Window* pWindow,
bool bSystemWindow =
false )
const;
1065 SAL_DLLPRIVATE
void CollectChildren(::std::vector<vcl::Window *>& rAllChildren );
1071 void DrawSelectionBackground(
const tools::Rectangle& rRect, sal_uInt16 highlight,
bool bChecked,
bool bDrawBorder );
1075 void HideTracking();
1080 bool IsTracking()
const;
1083 void EndAutoScroll();
1092 virtual css::uno::Reference< css::awt::XVclWindowPeer >
1093 GetComponentInterface(
bool bCreate =
true );
1095 void SetComponentInterface( css::uno::Reference< css::awt::XVclWindowPeer >
const & xIFace );
1097 void SetUseFrameData(
bool bUseFrameData);
1108 void ReleaseLOKNotifier();
1114 static bool IsLOKWindowsEmpty();
1124 css::uno::Reference< css::accessibility::XAccessible >
1125 GetAccessible(
bool bCreate =
true );
1127 virtual css::uno::Reference< css::accessibility::XAccessible >
1130 void SetAccessible(
const css::uno::Reference< css::accessibility::XAccessible >& );
1133 sal_uInt16 GetAccessibleChildWindowCount();
1134 vcl::Window* GetAccessibleChildWindow( sal_uInt16 n );
1136 void SetAccessibleRole( sal_uInt16 nRole );
1137 sal_uInt16 GetAccessibleRole()
const;
1139 void SetAccessibleName(
const OUString& rName );
1140 OUString GetAccessibleName()
const;
1142 void SetAccessibleDescription(
const OUString& rDescr );
1143 OUString GetAccessibleDescription()
const;
1145 void SetAccessibleRelationLabeledBy(
vcl::Window* pLabeledBy );
1146 vcl::Window* GetAccessibleRelationLabeledBy()
const;
1148 void SetAccessibleRelationLabelFor(
vcl::Window* pLabelFor );
1149 vcl::Window* GetAccessibleRelationLabelFor()
const;
1151 vcl::Window* GetAccessibleRelationMemberOf()
const;
1155 bool IsAccessibilityEventsSuppressed(
bool bTraverseParentPath =
true );
1156 void SetAccessibilityEventsSuppressed(
bool bSuppressed);
1163 SAL_DLLPRIVATE
vcl::Window* getLegacyNonLayoutAccessibleRelationMemberOf()
const;
1164 SAL_DLLPRIVATE
vcl::Window* getLegacyNonLayoutAccessibleRelationLabeledBy()
const;
1165 SAL_DLLPRIVATE
vcl::Window* getLegacyNonLayoutAccessibleRelationLabelFor()
const;
1168 virtual vcl::Window* getAccessibleRelationLabelFor()
const;
1169 virtual sal_uInt16 getDefaultAccessibleRole()
const;
1170 virtual OUString getDefaultAccessibleName()
const;
1184 virtual Size GetOptimalSize()
const;
1186 void InvalidateSizeCache();
1189 SAL_DLLPRIVATE
bool ImplIsAccessibleCandidate()
const;
1190 SAL_DLLPRIVATE
bool ImplIsAccessibleNativeFrame()
const;
1206 Size get_ungrouped_preferred_size()
const;
1215 void SetWindowPeer( css::uno::Reference< css::awt::XVclWindowPeer >
const & xPeer,
VCLXWindow* pVCLXWindow );
1218 bool IsCreatedWithToolkit()
const;
1219 void SetCreatedWithToolkit(
bool b );
1222 css::uno::Reference< css::datatransfer::dnd::XDropTarget > GetDropTarget();
1223 css::uno::Reference< css::datatransfer::dnd::XDragSource > GetDragSource();
1224 css::uno::Reference< css::datatransfer::dnd::XDragGestureRecognizer > GetDragGestureRecognizer();
1227 css::uno::Reference< css::datatransfer::clipboard::XClipboard > GetClipboard();
1229 void SetClipboard(css::uno::Reference<css::datatransfer::clipboard::XClipboard>
const & xClipboard);
1248 void set_height_request(sal_Int32 nHeightRequest);
1249 sal_Int32 get_height_request()
const;
1259 void set_width_request(sal_Int32 nWidthRequest);
1260 sal_Int32 get_width_request()
const;
1273 Size get_preferred_size()
const;
1291 bool get_hexpand()
const;
1292 void set_hexpand(
bool bExpand);
1298 bool get_vexpand()
const;
1299 void set_vexpand(
bool bExpand);
1304 bool get_expand()
const;
1305 void set_expand(
bool bExpand);
1310 bool get_fill()
const;
1311 void set_fill(
bool bFill);
1313 void set_border_width(sal_Int32 nBorderWidth);
1314 sal_Int32 get_border_width()
const;
1316 void set_margin_start(sal_Int32 nWidth);
1317 sal_Int32 get_margin_start()
const;
1319 void set_margin_end(sal_Int32 nWidth);
1320 sal_Int32 get_margin_end()
const;
1322 void set_margin_top(sal_Int32 nWidth);
1323 sal_Int32 get_margin_top()
const;
1325 void set_margin_bottom(sal_Int32 nWidth);
1326 sal_Int32 get_margin_bottom()
const;
1337 sal_Int32 get_padding()
const;
1338 void set_padding(sal_Int32 nPadding);
1343 sal_Int32 get_grid_width()
const;
1344 void set_grid_width(sal_Int32 nCols);
1349 sal_Int32 get_grid_left_attach()
const;
1350 void set_grid_left_attach(sal_Int32 nAttach);
1355 sal_Int32 get_grid_height()
const;
1356 void set_grid_height(sal_Int32 nRows);
1361 sal_Int32 get_grid_top_attach()
const;
1362 void set_grid_top_attach(sal_Int32 nAttach);
1368 bool get_secondary()
const;
1369 void set_secondary(
bool bSecondary);
1375 bool get_non_homogeneous()
const;
1376 void set_non_homogeneous(
bool bNonHomogeneous);
1383 virtual bool set_property(
const OUString &rKey,
const OUString &rValue);
1390 bool set_font_attribute(
const OUString &rKey, std::u16string_view rValue);
1396 void add_to_size_group(
const std::shared_ptr<VclSizeGroup>& xGroup);
1397 void remove_from_all_size_groups();
1402 void add_mnemonic_label(
FixedText *pLabel);
1403 void remove_mnemonic_label(
FixedText *pLabel);
1404 const std::vector<VclPtr<FixedText> >& list_mnemonic_labels()
const;
1414 void set_id(
const OUString& rID);
1419 const OUString& get_id()
const;
1426 void EnableNativeWidget(
bool bEnable =
true );
1427 bool IsNativeWidgetEnabled()
const;
1444 void SimulateKeyPress( sal_uInt16 nKeyCode )
const;
1446 virtual OUString GetSurroundingText()
const;
1447 virtual Selection GetSurroundingTextSelection()
const;
1448 virtual bool DeleteSurroundingText(
const Selection& rSelection);
1460 Size GetOutputSizePixel()
const;
1463 Point LogicToPixel(
const Point& rLogicPt )
const;
1464 Size LogicToPixel(
const Size& rLogicSize )
const;
1468 const MapMode& rMapMode )
const;
1469 Size LogicToPixel(
const Size& rLogicSize,
1470 const MapMode& rMapMode )
const;
1472 const MapMode& rMapMode )
const;
1474 Point PixelToLogic(
const Point& rDevicePt )
const;
1475 Size PixelToLogic(
const Size& rDeviceSize )
const;
1480 const MapMode& rMapMode )
const;
1481 Size PixelToLogic(
const Size& rDeviceSize,
1482 const MapMode& rMapMode )
const;
1484 const MapMode& rMapMode )
const;
1486 Size LogicToLogic(
const Size& rSzSource,
1487 const MapMode* pMapModeSource,
1488 const MapMode* pMapModeDest )
const;
1492 void SetSettings(
const AllSettings& rSettings,
bool bChild );
1498 float GetDPIScaleFactor()
const;
1502 void EnableMapMode(
bool bEnable =
true );
1503 bool IsMapModeEnabled()
const;
1505 void SetMapMode(
const MapMode& rNewMapMode );
1508 virtual void EnableRTL(
bool bEnable =
true);
1509 bool IsRTLEnabled()
const;
1511 void SetFont(
const vcl::Font& rNewFont );
1518 tools::Long GetTextWidth(
const OUString& rStr, sal_Int32 nIndex = 0, sal_Int32 nLen = -1,
1527 float approximate_digit_width()
const;
1529 void SetTextColor(
const Color& rColor );
1532 void SetTextFillColor();
1533 void SetTextFillColor(
const Color& rColor );
1534 Color GetTextFillColor()
const;
1535 bool IsTextFillColor()
const;
1537 void SetTextLineColor();
1538 void SetTextLineColor(
const Color& rColor );
1539 const Color& GetTextLineColor()
const;
1540 bool IsTextLineColor()
const;
1542 void SetOverlineColor();
1543 void SetOverlineColor(
const Color& rColor );
1544 const Color& GetOverlineColor()
const;
1545 bool IsOverlineColor()
const;
1556 bool GetNativeControlRegion(
1565 SAL_DLLPRIVATE
float approximate_char_width()
const;
1567 SAL_DLLPRIVATE
void ImplEnableRTL(
bool bEnable);
Base class used mainly for the LibreOffice Desktop class.
ImplDockingWindowWrapper.
Some things multiple-inherit from VclAbstractDialog and OutputDevice, so we need to use virtual inher...
A SalFrame is a system window (e.g. an X11 window).
A thin wrapper around rtl::Reference to implement the acquire and dispose semantics we want for refer...
DECL_DLLPRIVATE_LINK(ImplAsyncFocusHdl, void *, void)
void Disable(bool bChild=true)
virtual bool IsChart() const
SAL_DLLPRIVATE WindowImpl * ImplGetWindowImpl() const
std::unique_ptr< WindowImpl > mpWindowImpl
virtual bool IsStarMath() const
DECL_DLLPRIVATE_LINK(ImplGenerateMouseMoveHdl, void *, void)
DECL_DLLPRIVATE_LINK(ImplHandleResizeTimerHdl, Timer *, void)
DECL_DLLPRIVATE_LINK(ImplHandlePaintHdl, Timer *, void)
DECL_DLLPRIVATE_LINK(ImplTrackTimerHdl, Timer *, void)
weld::Window * GetFrameWeld(const SfxFrame *pFrame)
vcl::Window * ImplFindDlgCtrlWindow(vcl::Window *pParent, vcl::Window *pWindow, sal_uInt16 &rIndex, sal_uInt16 &rFormStart, sal_uInt16 &rFormEnd)
virtual void SetText(const OUString &rStr) override
virtual void SetHelpId(const OUString &) override
std::function< std::unique_ptr< UIObject >(vcl::Window *)> FactoryFunction
void reorderWithinParent(vcl::Window &rWindow, sal_uInt16 nNewPosition)
Color GetTextColor(Color const &rColor, DrawModeFlags nDrawMode, StyleSettings const &rStyleSettings)
vcl::Font GetFont(vcl::Font const &rFont, DrawModeFlags nDrawMode, StyleSettings const &rStyleSettings)
void SetPointFont(OutputDevice &rDevice, const vcl::Font &rFont)
@ FloatWinPopupModeEndCancel
const char * ImplDbgCheckWindow(const void *pObj)
@ NoErase
The invalidated area is painted with the background color/pattern.
@ Children
The child windows are invalidated, too.
@ NoClipChildren
The area is invalidated regardless of overlapping child windows.
@ NoTransparent
The parent window is not invalidated.
@ NoChildren
The child windows are not invalidated.
@ DocHidden
This is a frame window that is requested to be hidden (not just "not yet shown").