diff options
Diffstat (limited to 'sfx2/source/inc/workwin.hxx')
-rw-r--r-- | sfx2/source/inc/workwin.hxx | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/sfx2/source/inc/workwin.hxx b/sfx2/source/inc/workwin.hxx index 7b37d065afa4..38c41653dfdb 100644 --- a/sfx2/source/inc/workwin.hxx +++ b/sfx2/source/inc/workwin.hxx @@ -84,6 +84,7 @@ namespace o3tl struct SfxChild_Impl { VclPtr<vcl::Window> pWin; + std::shared_ptr<SfxModelessDialogController> xController; Size aSize; SfxChildAlignment eAlign; SfxChildVisibility nVisible; @@ -97,6 +98,14 @@ struct SfxChild_Impl { nVisible = bIsVisible ? SfxChildVisibility::VISIBLE : SfxChildVisibility::NOT_VISIBLE; } + + SfxChild_Impl(std::shared_ptr<SfxModelessDialogController>& rChild, + SfxChildAlignment eAlignment): + pWin(nullptr), xController(rChild), eAlign(eAlignment), bResize(false), + bSetFocus( false ) + { + nVisible = xController->getDialog()->get_visible() ? SfxChildVisibility::VISIBLE : SfxChildVisibility::NOT_VISIBLE; + } }; struct SfxChildWin_Impl @@ -239,7 +248,9 @@ public: // Methods for all Child windows void DataChanged_Impl(); void ReleaseChild_Impl( vcl::Window& rWindow ); + void ReleaseChild_Impl(SfxModelessDialogController&); SfxChild_Impl* RegisterChild_Impl( vcl::Window& rWindow, SfxChildAlignment eAlign ); + SfxChild_Impl* RegisterChild_Impl(std::shared_ptr<SfxModelessDialogController>& rController, SfxChildAlignment eAlign); void ShowChildren_Impl(); void HideChildren_Impl(); bool PrepareClose_Impl(); |