summaryrefslogtreecommitdiff
path: root/include/vcl/dialog.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'include/vcl/dialog.hxx')
-rw-r--r--include/vcl/dialog.hxx16
1 files changed, 15 insertions, 1 deletions
diff --git a/include/vcl/dialog.hxx b/include/vcl/dialog.hxx
index 49737fdc6057..2730467e4cab 100644
--- a/include/vcl/dialog.hxx
+++ b/include/vcl/dialog.hxx
@@ -34,7 +34,17 @@ class VclButtonBox;
class VCL_DLLPUBLIC Dialog : public SystemWindow
{
public:
- enum class InitFlag { Default, NoParent };
+ enum class InitFlag
+ {
+ /** Use given parent or get a default one using GetDefaultParent(...) */
+ Default,
+
+ /** Suppress Parent so that Parent is not blocked (kind of modal mode) */
+ NoParent,
+
+ /** Suppress Parent (no modal, see above) and additionally center on default parent */
+ NoParentCentered
+ };
private:
VclPtr<Dialog> mpPrevExecuteDlg;
@@ -84,6 +94,9 @@ public:
virtual ~Dialog() override;
virtual void dispose() override;
+ // get the default parent for a dialog as is done in standard initialization
+ static vcl::Window* GetDefaultParent(WinBits nStyle);
+
virtual bool EventNotify( NotifyEvent& rNEvt ) override;
virtual void StateChanged( StateChangedType nStateChange ) override;
virtual void DataChanged( const DataChangedEvent& rDCEvt ) override;
@@ -130,6 +143,7 @@ public:
void EndDialog( long nResult = 0 );
static void EndAllDialogs( vcl::Window const * pParent );
+ static bool AreDialogsOpen();
void GetDrawWindowBorder( sal_Int32& rLeftBorder, sal_Int32& rTopBorder,
sal_Int32& rRightBorder, sal_Int32& rBottomBorder ) const;