20#include <config_feature_desktop.h>
24#include <UIKit/UIKit.h>
28#include <com/sun/star/frame/theGlobalEventBroadcaster.hpp>
32#include <officecfg/Office/Common.hxx>
33#include <osl/diagnose.h>
41#include <rtl/bootstrap.hxx>
42#include <rtl/strbuf.hxx>
74 OUString aErrorStr(pDialog->
GetText());
79 sMessage = pMessDialog->get_primary_text();
149 if (pParent == pTopLevel)
151 pLastChild = pParent;
177 if (pParent == pTopLevel)
179 pLastChild = pParent;
246 OUString aText = pChild->
GetText();
248 if ( aText != aNewText )
369 return aFind->second;
377 pOwnedButton.disposeAndClear();
405 Window::PixelInvalidate(pRectangle);
420 auto it = std::find_if(rExecuteDialogs.rbegin(), rExecuteDialogs.rend(),
422 return pParent->ImplGetFirstOverlapWindow() &&
423 pParent->ImplGetFirstOverlapWindow()->IsWindowOrChild(rDialogPtr, true) &&
424 rDialogPtr->IsReallyVisible() && rDialogPtr->IsEnabled() &&
425 rDialogPtr->IsInputEnabled() && !rDialogPtr->IsInModalMode(); });
426 if (it != rExecuteDialogs.rend())
437 pBorderWin->mpWindowImpl->mpClientWindow =
this;
486 pBorderWin->mpWindowImpl->mpClientWindow =
this;
551void VclBuilderContainer::disposeBuilder()
554 m_pUIBuilder->disposeBuilder();
559 OUString sShareLayer(
"$BRAND_BASE_DIR/$BRAND_SHARE_SUBDIR/config/soffice.cfg/");
560 rtl::Bootstrap::expandMacros(sShareLayer);
630 css::uno::Reference< css::uno::XComponentContext > xContext(
632 css::uno::Reference<css::frame::XGlobalEventBroadcaster> xEventBroadcaster(css::frame::theGlobalEventBroadcaster::get(xContext), css::uno::UNO_SET_THROW);
633 css::document::DocumentEvent aObject;
634 aObject.EventName =
"DialogClosed";
635 xEventBroadcaster->documentEventOccured(aObject);
640 if(
const vcl::ILibreOfficeKitNotifier* pNotifier =
GetLOKNotifier())
642 if (bTunnelingEnabled)
666 sal_uInt16 nKeyCode = aKeyCode.
GetCode();
723 return Size(std::max<tools::Long>(
w, 640 - 15),
724 std::max<tools::Long>(
h, 480 - 50));
735 const int n = std::min<CGFloat>([[UIScreen mainScreen] bounds].
size.width, [[UIScreen mainScreen] bounds].size.height);
764 if (bKitActive && bTunnelingEnabled)
766 std::vector<vcl::LOKPayloadItem> aItems;
767 aItems.emplace_back(
"type",
"dialog");
769 aItems.emplace_back(
"unique_id", this->
get_id().toUtf8());
771 aItems.emplace_back(
"title",
GetText().toUtf8());
773 if (
const vcl::ILibreOfficeKitNotifier* pNotifier =
GetLOKNotifier())
780 vcl::ILibreOfficeKitNotifier* pViewShell =
mpDialogImpl->m_aInstallLOKNotifierHdl.Call(
nullptr);
805 if (pNotifier && bTunnelingEnabled)
807 std::vector<vcl::LOKPayloadItem> aPayload;
808 aPayload.emplace_back(
"title",
GetText().toUtf8());
809 pNotifier->notifyWindow(
GetLOKWindowId(),
"title_changed", aPayload);
824 if (pNotifier && bTunnelingEnabled)
826 std::vector<vcl::LOKPayloadItem> aPayload;
827 aPayload.emplace_back(
"title",
GetText().toUtf8());
860 pCustomCancelButton = pCancelButton;
862 pCustomCancelButton =
nullptr;
866 if (pCustomCancelButton)
868 pCustomCancelButton->
Click();
909 setDeferredProperties();
914 SAL_WARN(
"vcl",
"Dialog::StartExecuteModal() is called in Dialog::StartExecuteModal(): "
941 [](
const Dialog* pDialog) {
942 return pDialog->IsInSyncExecute();
947 SAL_WARN(
"lok.dialog",
"Dialog \"" <<
ImplGetDialogText(
this) <<
"\" is being synchronously executed over an existing synchronously executing dialog.");
953 <<
"\"cancelled in silent mode";
959 <<
"\"cancelled in silent mode");
978 "Dialog::StartExecuteModal() - Parent not visible" );
980 "Dialog::StartExecuteModal() - Parent input disabled, use another parent to ensure modality!" );
982 "Dialog::StartExecuteModal() - Parent already modally disabled, use another parent to ensure modality!" );
1000 if (!bKitActive && bModal)
1006 css::uno::Reference< css::uno::XComponentContext > xContext(
1008 bool bForceFocusAndToFront(officecfg::Office::Common::View::NewDocumentHandling::ForceFocusAndToFront::get());
1010 Show(
true, showFlags);
1015 css::uno::Reference<css::frame::XGlobalEventBroadcaster> xEventBroadcaster(
1016 css::frame::theGlobalEventBroadcaster::get(xContext), css::uno::UNO_SET_THROW);
1017 css::document::DocumentEvent aObject;
1018 aObject.EventName =
"DialogExecute";
1019 xEventBroadcaster->documentEventOccured(aObject);
1025 bool bTunnelingEnabled =
mpDialogImpl->m_bLOKTunneling;
1028 if (
const vcl::ILibreOfficeKitNotifier* pNotifier =
GetLOKNotifier())
1034 std::vector<vcl::LOKPayloadItem> aItems;
1036 aItems.emplace_back(
"unique_id", this->
get_id().toUtf8());
1037 pNotifier->notifyWindow(
GetLOKWindowId(),
"size_changed", aItems);
1075 OSL_FAIL(
"Dialog::Execute() - Dialog destroyed in Execute()" );
1085 return static_cast<short>(nRet);
1089 SAL_WARN(
"vcl",
"Dialog::Execute() : missing mpDialogImpl " );
1118 rExecuteDialogs.erase(std::remove_if(rExecuteDialogs.begin(), rExecuteDialogs.end(), [
this](
VclPtr<Dialog>& dialog){ return dialog.get() == this; }), rExecuteDialogs.end());
1132 if(
const vcl::ILibreOfficeKitNotifier* pNotifier =
GetLOKNotifier())
1154 if( ( !pFrameParent && !pPrevFrameParent ) ||
1171 auto fn = std::move(
mpDialogImpl->maEndCtx.maEndDialogFn);
1191 std::shared_ptr<weld::DialogController> xOwnerDialogController = std::move(
mpDialogImpl->maEndCtx.mxOwnerDialogController);
1192 std::shared_ptr<weld::Dialog> xOwnerSelf = std::move(
mpDialogImpl->maEndCtx.mxOwnerSelf);
1194 xOwnerDialogController.reset();
1206 for (
auto it = rExecuteDialogs.rbegin(); it != rExecuteDialogs.rend(); ++it)
1220 pDialog->EnableInput();
1258 if (rExecuteDialogs.size() > 1)
1259 pPrevious = rExecuteDialogs[rExecuteDialogs.size() - 2];
1320 if ( pFocusControl )
1326 if ( !pFocusControl ||
1334 return pFocusControl;
1340 if ( pFocusControl )
1347 aImplWin->GetBorder( rLeftBorder, rTopBorder, rRightBorder, rBottomBorder );
1374 aImplWin->SetText(
GetText() );
1375 aImplWin->setPosSizePixel( aPos.X(), aPos.Y(), aSize.
Width(), aSize.
Height() );
1376 aImplWin->SetDisplayActive(
true );
1377 aImplWin->InitView();
1379 aImplWin->Draw( pDev, aPos );
1399 bool bTunnelingEnabled =
mpDialogImpl->m_bLOKTunneling;
1400 const vcl::ILibreOfficeKitNotifier* pNotifier =
GetLOKNotifier();
1401 if (pNotifier && bTunnelingEnabled)
1403 std::vector<vcl::LOKPayloadItem> aItems;
1405 aItems.emplace_back(
"unique_id", this->
get_id().toUtf8());
1406 pNotifier->notifyWindow(
GetLOKWindowId(),
"size_changed", aItems);
1412 if (rKey ==
"border-width")
1426 auto aFind = mpDialogImpl->maResponses.find(pButton);
1427 if (aFind == mpDialogImpl->maResponses.end())
1429 short nResponse = aFind->second;
1434 pFocusWin = pButton;
1444 if (bTransferOwnership)
1467 SAL_WARN(
"vcl.layout",
"The type of widget " <<
1468 pButton->
GetHelpId() <<
" is currently not handled");
1476 std::map<VclPtr<vcl::Window>,
short> aResponses(
mpDialogImpl->maResponses);
1484 if (aResponses.find(pChild) != aResponses.end())
1486 switch (pChild->GetType())
1489 aResponses[pChild] =
RET_OK;
1503 for (
const auto&
a : aResponses)
1505 if (
a.second == response)
1515 std::map<VclPtr<vcl::Window>,
short> aResponses(
mpDialogImpl->maResponses);
1523 if (aResponses.find(pChild) != aResponses.end())
1525 switch (pChild->GetType())
1528 aResponses[pChild] =
RET_OK;
1542 for (
const auto&
a : aResponses)
1555 std::map<VclPtr<vcl::Window>,
short> aResponses(
mpDialogImpl->maResponses);
1563 if (aResponses.find(pChild) != aResponses.end())
1565 switch (pChild->GetType())
1568 aResponses[pChild] =
RET_OK;
1582 for (
auto&
a : aResponses)
1584 if (
a.second == response)
1587 a.first->GrabFocus();
1596VclBuilderContainer::VclBuilderContainer()
1600void VclBuilderContainer::setDeferredProperties()
1604 m_pUIBuilder->setDeferredProperties();
1607VclBuilderContainer::~VclBuilderContainer()
1615 css::uno::Reference< css::uno::XComponentContext > xContext(
1617 css::uno::Reference<css::frame::XGlobalEventBroadcaster> xEventBroadcaster(css::frame::theGlobalEventBroadcaster::get(xContext), css::uno::UNO_SET_THROW);
1618 css::document::DocumentEvent aObject;
1619 aObject.EventName =
"ModelessDialogVisible";
1620 xEventBroadcaster->documentEventOccured(aObject);
1645 std::vector<VclPtr<vcl::Window>> aTopLevels;
1658 aTopLevels.push_back(pCandidate);
1662 for (
auto&
a : aTopLevels)
1665 a->ImplGetFrame()->NotifyModalHierarchy(
true);
1667 m_xImpl->m_aBusyStack.push(aTopLevels);
1673 for (
auto&
a :
m_xImpl->m_aBusyStack.top())
1675 if (
a->isDisposed())
1678 a->ImplGetFrame()->NotifyModalHierarchy(
false);
1685 return !
m_xImpl->m_aBusyStack.empty();
1698 if (!pActionArea->IsVisible())
1699 rJsonWriter.
put(
"collapsed",
true);
1702 OUString sDialogId = OStringToOUString(
GetHelpId(), RTL_TEXTENCODING_ASCII_US);
1703 sal_Int32 nStartPos = sDialogId.lastIndexOf(
'/');
1704 nStartPos = nStartPos >= 0 ? nStartPos + 1 : 0;
1705 rJsonWriter.
put(
"dialogid", sDialogId.copy(nStartPos));
1708 auto aResponses = rJsonWriter.
startArray(
"responses");
1709 for (
const auto& rResponse :
mpDialogImpl->maResponses)
1712 rJsonWriter.
put(
"id", rResponse.first->get_id());
1713 rJsonWriter.
put(
"response", rResponse.second);
1719 rJsonWriter.
put(
"init_focus_id", pFocusControl->
get_id());
const MouseSettings & GetMouseSettings() const
const StyleSettings & GetStyleSettings() const
static OUString GetUIRootDir()
static void Yield()
Process the next event.
static SystemWindowFlags GetSystemWindowMode()
Get the system window mode of dialogs.
static DialogCancelMode GetDialogCancelMode()
Gets the dialog cancel mode for headless environments.
static vcl::Window * GetNextTopLevelWindow(vcl::Window const *pWindow)
Get the next top level window.
static vcl::Window * GetFocusWindow()
Get the currently focused window.
static bool IsQuit()
Has Quit() been called?
static vcl::Window * GetFirstTopLevelWindow()
Get the first top-level window of the application.
DataChangedEventType GetType() const
AllSettingsFlags GetFlags() const
static std::unique_ptr< UIObject > create(vcl::Window *pWindow)
static SAL_DLLPRIVATE vcl::Window * GetDefaultParent(WinBits nStyle)
void set_content_area(VclBox *pBox)
virtual FactoryFunction GetUITestFactory() const override
virtual void PixelInvalidate(const tools::Rectangle *pRectangle) override
Notification about some rectangle of the output device got invalidated.
virtual bool set_property(const OString &rKey, const OUString &rValue) override
int get_default_response() const
void DumpAsPropertyTree(tools::JsonWriter &rJsonWriter) override
Dumps itself and potentially its children to a property tree, to be written easily to JSON.
virtual void DataChanged(const DataChangedEvent &rDCEvt) override
virtual void settingOptimalLayoutSize(Window *pBox) override
void ImplSetModalInputMode(bool bModal)
virtual void Command(const CommandEvent &rCEvt) override
bool StartExecuteAsync(VclAbstractDialog::AsyncContext &rCtx)
Commence execution of a modal dialog, disposes owner on failure.
static void ImplEndExecuteModal()
bool IsInSyncExecute() const
SAL_DLLPRIVATE bool IsInClose() const
SAL_DLLPRIVATE void disposeOwnedButtons()
virtual void dispose() override
This is intended to be used to clear any locally held references to other Window-subclass objects.
std::unique_ptr< DialogImpl > mpDialogImpl
void GrabFocusToFirstControl()
virtual ~Dialog() override
virtual void Resize() override
vcl::Window * GetFirstControlForFocus()
vcl::Window * get_widget_for_response(int nResponse)
virtual void ApplySettings(vcl::RenderContext &rRenderContext) override
void EndDialog(tools::Long nResult=RET_CANCEL)
virtual bool Close() override
void SetPopupMenuHdl(const Link< const CommandEvent &, bool > &rLink)
virtual void Draw(OutputDevice *pDev, const Point &rPos, SystemTextColorFlags nFlags) override
SAL_DLLPRIVATE void ImplInitSettings()
void SetInstallLOKNotifierHdl(const Link< void *, vcl::ILibreOfficeKitNotifier * > &rLink)
virtual bool EventNotify(NotifyEvent &rNEvt) override
void ImplInitDialog(vcl::Window *pParent, WinBits nStyle, InitFlag eFlag=InitFlag::Default)
virtual void queue_resize(StateChangedType eReason=StateChangedType::Layout) override
tools::Long mnMousePositioned
void SetModalInputMode(bool bModal)
SAL_DLLPRIVATE void RemoveFromDlgList()
virtual void StateChanged(StateChangedType nStateChange) override
VclButtonBox * get_action_area()
void set_default_response(int nResponse)
VclPtr< VclButtonBox > mpActionArea
void add_button(PushButton *pButton, int nResponse, bool bTransferOwnership)
SAL_DLLPRIVATE Dialog(const Dialog &)=delete
static SAL_DLLPRIVATE vcl::Window * GetDefDialogParent()
SAL_DLLPRIVATE void ImplInitDialogData()
void ImplLOKNotifier(vcl::Window *pParent)
Find and set the LOK notifier according to the pParent.
void GetDrawWindowBorder(sal_Int32 &rLeftBorder, sal_Int32 &rTopBorder, sal_Int32 &rRightBorder, sal_Int32 &rBottomBorder) const
void SetLOKTunnelingState(bool bEnabled)
virtual void doDeferredInit(WinBits nBits) override
VclPtr< VclBox > mpContentArea
SAL_DLLPRIVATE VclPtr< vcl::Window > AddBorderWindow(vcl::Window *pParent, WinBits nBits)
bool IsModalInputMode() const
void set_action_area(VclButtonBox *pBox)
vcl::Window * get_mnemonic_widget() const
const vcl::KeyCode & GetKeyCode() const
void RegisterMnemonic(const OUString &rKey)
OUString CreateMnemonic(const OUString &rKey)
MouseSettingsOptions GetOptions() const
const KeyEvent * GetKeyEvent() const
NotifyEventType GetType() const
Some things multiple-inherit from VclAbstractDialog and OutputDevice, so we need to use virtual inher...
void DrawBitmapEx(const Point &rDestPt, const BitmapEx &rBitmapEx)
void DrawRect(const tools::Rectangle &rRect)
SAL_WARN_UNUSED_RESULT Point LogicToPixel(const Point &rLogicPt) const
void Push(vcl::PushFlags nFlags=vcl::PushFlags::ALL)
bool IsNativeControlSupported(ControlType nType, ControlPart nPart) const
Query the platform layer for control support.
A SalFrame is a system window (e.g. an X11 window).
void NotifyModalHierarchy(bool bModal)
virtual void SetModal(bool)
static bool IsRunningUnitTest()
A construction helper for ScopedVclPtr.
constexpr tools::Long Height() const
constexpr tools::Long Width() const
const DialogStyle & GetDialogStyle() const
bool GetAutoMnemonic() const
virtual OUString GetText() const override
virtual void queue_resize(StateChangedType eReason=StateChangedType::Layout) override
virtual bool EventNotify(NotifyEvent &rNEvt) override
SAL_DLLPRIVATE void DoInitialLayout()
bool isLayoutEnabled() const
void loadUI(vcl::Window *pParent, const OString &rID, const OUString &rUIXMLDescription, const css::uno::Reference< css::frame::XFrame > &rFrame=css::uno::Reference< css::frame::XFrame >())
virtual void dispose() override
This is intended to be used to clear any locally held references to other Window-subclass objects.
VclPtr< vcl::Window > mpDialogParent
virtual void Resize() override
std::unique_ptr< TopLevelWindowLockerImpl > m_xImpl
void incBusy(const weld::Widget *pIgnore)
void log(std::u16string_view rString)
static UITestLogger & getInstance()
A construction helper for a temporary VclPtr.
void set(reference_type *pBody)
const BitmapEx & GetBitmap() const
const Color & GetColor() const
sal_uInt16 GetCode() const
SAL_DLLPRIVATE vcl::Window * ImplFindDlgCtrlWindow(vcl::Window *pWindow)
const Wallpaper & GetBackground() const
void SetActivateMode(ActivateModeFlags nMode)
bool IsReallyVisible() const
vcl::Window * GetParent() const
virtual void RequestHelp(const HelpEvent &rHEvt)
virtual void StateChanged(StateChangedType nStateChange)
SAL_DLLPRIVATE bool ImplIsPushButton() const
bool IsInputEnabled() const
void SetLOKNotifier(const vcl::ILibreOfficeKitNotifier *pNotifier, bool bParent=false)
Interface to register for dialog / window tunneling.
SAL_DLLPRIVATE vcl::Window * ImplGetDlgWindow(sal_uInt16 n, GetDlgWindowType nType, sal_uInt16 nStart=0, sal_uInt16 nEnd=0xFFFF, sal_uInt16 *pIndex=nullptr)
bool HasChildPathFocus(bool bSystemWindow=false) const
void EndTracking(TrackingEventFlags nFlags=TrackingEventFlags::NONE)
const OUString & get_id() const
Get the ID of the window.
WindowType GetType() const
virtual void Command(const CommandEvent &rCEvt)
vcl::Window * GetWindow(GetWindowType nType) const
void set_border_width(sal_Int32 nBorderWidth)
SAL_DLLPRIVATE vcl::Window * ImplGetBorderWindow() const
ImplSVEvent * PostUserEvent(const Link< void *, void > &rLink, void *pCaller=nullptr, bool bReferenceLink=false)
void ReleaseLOKNotifier()
Indicate that LOK is not going to use this dialog any more.
bool IsCreatedWithToolkit() const
const AllSettings & GetSettings() const
void Show(bool bVisible=true, ShowFlags nFlags=ShowFlags::NONE)
const OString & GetHelpId() const
bool IsNativeControlSupported(ControlType nType, ControlPart nPart) const
Query the platform layer for control support.
SAL_DLLPRIVATE vcl::Window * ImplGetParent() const
SAL_DLLPRIVATE vcl::Window * ImplGetFirstOverlapWindow()
VclPtr< vcl::Window > GetParentWithLOKNotifier()
Find the nearest parent with LOK Notifier; can be itself if this Window has LOK notifier set.
const vcl::ILibreOfficeKitNotifier * GetLOKNotifier() const
bool IsInModalMode() const
A window is in modal mode if one of its children or subchildren is a running modal window (a modal di...
void SetPointerPosPixel(const Point &rPos)
std::unique_ptr< WindowImpl > mpWindowImpl
vcl::LOKWindowId GetLOKWindowId() const
SalFrame * ImplGetFrame() const
virtual void DumpAsPropertyTree(tools::JsonWriter &)
Dumps itself and potentially its children to a property tree, to be written easily to JSON.
virtual Size GetSizePixel() const
Size GetOutputSizePixel() const
bool IsControlBackground() const
virtual void DataChanged(const DataChangedEvent &rDCEvt)
Point GetPointerPosPixel()
virtual bool set_property(const OString &rKey, const OUString &rValue)
const Color & GetControlBackground() const
bool IsWindowOrChild(const vcl::Window *pWindow, bool bSystemWindow=false) const
virtual void ImplAdjustNWFSizes()
virtual void Invalidate(InvalidateFlags nFlags=InvalidateFlags::NONE)
weld::Window * GetFrameWeld() const
void CallEventListeners(VclEventId nEvent, void *pData=nullptr)
virtual void SetText(const OUString &rStr)
virtual OUString GetText() const
vcl::Window * ImplGetWindow() const
if this is a proxy return the client, otherwise itself
SAL_DLLPRIVATE vcl::Window * ImplGetFrameWindow() const
SAL_DLLPRIVATE void ImplInit(vcl::Window *pParent, WinBits nStyle, SystemParentData *pSystemParentData)
void EnableChildTransparentMode(bool bEnable=true)
void EnableInput(bool bEnable=true, bool bChild=true)
SAL_DLLPRIVATE void ImplControlFocus(GetFocusFlags nFlags=GetFocusFlags::NONE)
Size bestmaxFrameSizeForScreenSize(const Size &rScreenSize)
static PushButton * ImplGetDefaultButton(Dialog const *pDialog)
IMPL_LINK(Dialog, ResponseHdl, Button *, pButton, void)
static OString ImplGetDialogText(Dialog *pDialog)
vcl::Window * firstLogicalChildOfParent(const vcl::Window *pTopLevel)
vcl::Window * lastLogicalChildOfParent(const vcl::Window *pTopLevel)
void GenerateAutoMnemonicsOnHierarchy(const vcl::Window *pWindow)
static PushButton * ImplGetCancelButton(Dialog const *pDialog)
static bool ImplIsMnemonicCtrl(vcl::Window *pWindow)
static VclButtonBox * getActionArea(Dialog const *pDialog)
static vcl::Window * getActionAreaButtonList(Dialog const *pDialog)
vcl::Window * prevLogicalChildOfParent(const vcl::Window *pTopLevel, const vcl::Window *pChild)
static void ImplMouseAutoPos(Dialog *pDialog)
vcl::Window * nextLogicalChildOfParent(const vcl::Window *pTopLevel, const vcl::Window *pChild)
static PushButton * ImplGetOKButton(Dialog const *pDialog)
IMPL_LINK_NOARG(Dialog, ImplAsyncCloseHdl, void *, void)
virtual void EndDialog(sal_Int32 nResult) override
std::function< std::unique_ptr< UIObject >(vcl::Window *)> FactoryFunction
constexpr sal_uInt16 KEY_ESCAPE
bool isEnabledInLayout(const vcl::Window *pWindow)
bool isVisibleInLayout(const vcl::Window *pWindow)
bool isContainerWindow(const vcl::Window &rWindow)
#define LINK(Instance, Class, Member)
#define SAL_WARN_IF(condition, area, stream)
#define SAL_WARN(area, stream)
#define SAL_INFO(area, stream)
Reference< XComponentContext > getProcessComponentContext()
OString OUStringToOString(std::u16string_view str, ConnectionSettings const *settings)
OUString toString(OptionInfo const *info)
void CloseTopLevel(vcl::Window *pWindow)
void EndAllDialogs(vcl::Window const *pParent)
void EnableDialogInput(vcl::Window *pWindow)
std::map< VclPtr< vcl::Window >, short > maResponses
Link< const CommandEvent &, bool > m_aPopupMenuHdl
short get_response(vcl::Window *pWindow) const
VclAbstractDialog::AsyncContext maEndCtx
Link< void *, vcl::ILibreOfficeKitNotifier * > m_aInstallLOKNotifierHdl
std::vector< VclPtr< PushButton > > maOwnedButtons
ImplSVFrameData maFrameData
ImplSVWinData * mpWinData
VclPtr< vcl::Window > mpIntroWindow
VclPtr< WorkWindow > mpAppWin
VclPtr< vcl::Window > mpCaptureWin
VclPtr< vcl::Window > mpTrackWin
std::vector< VclPtr< Dialog > > mpExecuteDialogs
Stack of dialogs that are Execute()'d - the last one is the top most one.
std::stack< std::vector< VclPtr< vcl::Window > > > m_aBusyStack
std::shared_ptr< weld::Dialog > mxOwnerSelf
std::shared_ptr< weld::DialogController > mxOwnerDialogController
VclPtr< VclReferenceBase > mxOwner
@ Silent
silently cancel any dialogs
@ Fatal
cancel any dialogs by std::abort
@ Off
do not automatically cancel dialogs
@ LOKSilent
silently cancel any dialogs (LOK case)
ImplSVData * ImplGetSVData()
WinBits const WB_CLOSEABLE
WinBits const WB_MOVEABLE
WinBits const WB_DIALOGCONTROL
WinBits const WB_SIZEABLE
WinBits const WB_SYSTEMWINDOW
WinBits const WB_DEFBUTTON
WinBits const WB_NODIALOGCONTROL
WinBits const WB_STANDALONE
WinBits const WB_ALLOWMENUBAR
WinBits const WB_NOBORDER