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;
}
|