void InterimItemWindow::UnclipVisibleSysObj()
{ if (!IsVisible()) return;
vcl::Window* pChild = m_xVclContentArea->GetWindow(GetWindowType::FirstChild); if (!pChild) return;
WindowImpl* pWindowImpl = pChild->ImplGetWindowImpl(); if (!pWindowImpl) return; if (!pWindowImpl->mpSysObj) return;
pWindowImpl->mpSysObj->Show(true);
pWindowImpl->mpSysObj->ResetClipRegion(); // flag that sysobj clip is dirty and needs to be recalculated on next use
pWindowImpl->mbInitWinClipRegion = true;
}
void InterimItemWindow::InvalidateChildSizeCache()
{ // find the bottom vcl::Window of the hierarchy and queue_resize on that // one will invalidate all the size caches upwards
vcl::Window* pChild = GetWindow(GetWindowType::FirstChild); while (true)
{
vcl::Window* pSubChild = pChild->GetWindow(GetWindowType::FirstChild); if (!pSubChild) break;
pChild = pSubChild;
}
pChild->queue_resize();
}
bool InterimItemWindow::ControlHasFocus() const
{ if (!m_pWidget) returnfalse; return m_pWidget->has_focus();
}
void InterimItemWindow::GetFocus()
{ // tdf#157738 Don't grab focus to the other widget hierarchy if the parent has // captured the mouse in order to avoid breaking the capture.
ImplSVWinData* pWinData = ImplGetSVData()->mpWinData; constbool bParentHasCapturedMouse
= pWinData->mpCaptureWin && pWinData->mpCaptureWin->ImplIsChild(this); if (m_pWidget && !bParentHasCapturedMouse)
m_pWidget->grab_focus();
/* let toolbox know this item window has focus so it updates its mnHighItemId to point tothistoolitemincasetabmeanstomovetoanothertoolitemwithin thetoolbox
*/
vcl::Window* pToolBox = GetParent();
NotifyEvent aNEvt(NotifyEventType::GETFOCUS, this);
pToolBox->EventNotify(aNEvt);
}
/* now give focus to our toolbox parent */
vcl::Window* pToolBox = GetParent();
pToolBox->GrabFocus();
/* let toolbox know this item window has focus so it updates its mnHighItemId to point tothistoolitemincasetabmeanstomovetoanothertoolitemwithin thetoolbox
*/
NotifyEvent aNEvt(NotifyEventType::GETFOCUS, this);
pToolBox->EventNotify(aNEvt);
/* send parent the tab */
pToolBox->KeyInput(rKEvt);
void InterimItemWindow::SetPriority(TaskPriority nPriority)
{ // Eliminate warning when changing timer's priority // Task::SetPriority() expects the timer to be stopped while // changing the timer's priority. bool bActive = m_aLayoutIdle.IsActive(); if (bActive)
m_aLayoutIdle.Stop();
m_aLayoutIdle.SetPriority(nPriority); if (bActive)
m_aLayoutIdle.Start();
}
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.