[Libufo-commits] ufo-0.5/src/widgets uwidget.cpp,1.49,1.50
Status: Beta
Brought to you by:
schmidtjf
|
From: Johannes S. <sch...@us...> - 2005-10-17 16:39:41
|
Update of /cvsroot/libufo/ufo-0.5/src/widgets In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22786/src/widgets Modified Files: uwidget.cpp Log Message: Changed removeImpl(iterator) to removeImpl(int index). Made testState, setState(s), getState public. Index: uwidget.cpp =================================================================== RCS file: /cvsroot/libufo/ufo-0.5/src/widgets/uwidget.cpp,v retrieving revision 1.49 retrieving revision 1.50 diff -C2 -d -r1.49 -r1.50 *** uwidget.cpp 30 Sep 2005 12:37:56 -0000 1.49 --- uwidget.cpp 17 Oct 2005 16:39:22 -0000 1.50 *************** *** 179,182 **** --- 179,183 ---- void UWidget::setVisible(bool v) { + // This explicitely shows/hides the widgets if (!v) { setState(WidgetForceInvisible); *************** *** 187,205 **** return; } ! /* ! if (v) { ! m_isVisible = true; ! UWidgetEvent * e = new UWidgetEvent(this, UEvent::WidgetShown); ! processWidgetEvent(e); ! } else { ! // widget about to hide ! UWidgetEvent * e = new UWidgetEvent(this, UEvent::WidgetHidden); ! processWidgetEvent(e); ! resetFocus(); ! m_isVisible = false; ! } ! invalidate(); ! repaint(); ! */ if (v && getParent() && !getParent()->isVisible()) { return; --- 188,192 ---- return; } ! if (v && getParent() && !getParent()->isVisible()) { return; *************** *** 213,216 **** --- 200,204 ---- return; } + // this implicitely shows/hides the window if (b != testState(WidgetVisible)) { if (b) { *************** *** 220,224 **** processWidgetEvent(e); } else if (!b) { ! // show self setState(WidgetVisible, false); UWidgetEvent * e = new UWidgetEvent(this, UEvent::WidgetHidden); --- 208,212 ---- processWidgetEvent(e); } else if (!b) { ! // hide self setState(WidgetVisible, false); UWidgetEvent * e = new UWidgetEvent(this, UEvent::WidgetHidden); *************** *** 749,762 **** bool ! UWidget::removeImpl(std::vector<UWidget*>::iterator iter) { ! if (iter != m_children.end()) { ! (*iter)->setChildrenVisible(false); ! (*iter)->removedFromHierarchy(); ! (*iter)->m_parent = NULL; // remove from mem manager ! releasePointer((*iter)); ! m_children.erase(iter); invalidateTree(); --- 737,752 ---- bool ! UWidget::removeImpl(int index) { ! if (m_children.size() > index ) { ! UWidget * ret = m_children[index]; ! ! ret->setChildrenVisible(false); ! ret->removedFromHierarchy(); ! ret->m_parent = NULL; // remove from mem manager ! releasePointer(ret); ! m_children.erase(m_children.begin() + index); invalidateTree(); *************** *** 771,783 **** m_children.end(), w); ! return removeImpl(iter); } bool UWidget::remove(unsigned int n) { ! if (m_children.size() > n ) { ! return removeImpl(m_children.begin() + n); ! } ! return false; } --- 761,770 ---- m_children.end(), w); ! return removeImpl(iter - m_children.begin()); } bool UWidget::remove(unsigned int n) { ! return removeImpl(n); } *************** *** 789,793 **** ret->reference(); } ! removeImpl(m_children.begin() + n); return ret; } --- 776,780 ---- ret->reference(); } ! removeImpl(n); return ret; } *************** *** 797,806 **** unsigned int UWidget::removeAll() { ! unsigned int size = m_children.size(); ! ! while (removeImpl(m_children.begin())) {} invalidate(); ! return size; } --- 784,795 ---- unsigned int UWidget::removeAll() { ! unsigned int count = 0; ! while (removeImpl(0)) { ! count++; ! } ! // count should be exactly the former widget count ... invalidate(); ! return count; } |