//! parent window for dialogs //! Problem: OLE Server!
weld::Window* ScTabViewShell::GetDialogParent()
{ // if a ref-input dialog is open, use it as parent // (necessary when a slot is executed from the dialog's OK handler) if (nCurRefDlgId && nCurRefDlgId == ScModule::get()->GetCurRefDlgId())
{
SfxViewFrame& rViewFrm = GetViewFrame(); if (rViewFrm.HasChildWindow(nCurRefDlgId))
{
SfxChildWindow* pChild = rViewFrm.GetChildWindow(nCurRefDlgId); if (pChild)
{ auto xController = pChild->GetController();
weld::Window* pRet = xController ? xController->getDialog() : nullptr; if (pRet && pRet->get_visible()) return pRet;
}
}
}
ScDocShell& rDocSh = GetViewData().GetDocShell(); if (rDocSh.IsOle())
{ // TODO/LATER: how to GetEditWindow in embedded document?! // It should be OK to return the ViewShell Window!
vcl::Window* pWin = GetWindow(); return pWin ? pWin->GetFrameWeld() : nullptr; // SvInPlaceEnvironment* pEnv = rDocSh.GetIPEnv(); // if (pEnv) // return pEnv->GetEditWin();
}
vcl::Window* pWin = GetActiveWin(); // for normal views, too return pWin ? pWin->GetFrameWeld() : nullptr;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.