bool CGUIDialog::Load(const CStdString& strFileName, bool bContainsPath) { m_renderOrder = 1; if (!CGUIWindow::Load(strFileName, bContainsPath)) { return false; } // Clip labels to extents if (m_vecControls.size()) { CGUIControl* pBase = m_vecControls[0]; for (ivecControls p = m_vecControls.begin() + 1; p != m_vecControls.end(); ++p) { if ((*p)->GetControlType() == CGUIControl::GUICONTROL_LABEL) { CGUILabelControl* pLabel = (CGUILabelControl*)(*p); if (!pLabel->GetWidth()) { float spacing = (pLabel->GetXPosition() - pBase->GetXPosition()) * 2; pLabel->SetWidth(pBase->GetWidth() - spacing); pLabel->SetTruncate(true); } } } } return true; }
void CGUIDialog::OnWindowLoaded() { CGUIWindow::OnWindowLoaded(); // Clip labels to extents if (m_children.size()) { CGUIControl* pBase = m_children[0]; for (iControls p = m_children.begin() + 1; p != m_children.end(); ++p) { if ((*p)->GetControlType() == CGUIControl::GUICONTROL_LABEL) { CGUILabelControl* pLabel = (CGUILabelControl*)(*p); if (!pLabel->GetWidth()) { float spacing = (pLabel->GetXPosition() - pBase->GetXPosition()) * 2; pLabel->SetWidth(pBase->GetWidth() - spacing); } } } } }