[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[paragui-cvs] CVS: paragui/src/widgets pgwidgetlist.cpp,1.3.6.7,1.3.6.8
From: |
Alexander Pipelka <address@hidden> |
Subject: |
[paragui-cvs] CVS: paragui/src/widgets pgwidgetlist.cpp,1.3.6.7,1.3.6.8 |
Date: |
Fri, 23 May 2003 04:17:54 -0400 |
Update of /cvsroot/paragui/paragui/src/widgets
In directory subversions:/tmp/cvs-serv9829/src/widgets
Modified Files:
Tag: devel-1-0
pgwidgetlist.cpp
Log Message:
- fixed PG_WidgetList bug
- added sample app that triggered the bug (Thanks Alexander Opitz
<address@hidden>)
Index: pgwidgetlist.cpp
===================================================================
RCS file: /cvsroot/paragui/paragui/src/widgets/pgwidgetlist.cpp,v
retrieving revision 1.3.6.7
retrieving revision 1.3.6.8
diff -C2 -r1.3.6.7 -r1.3.6.8
*** pgwidgetlist.cpp 6 Apr 2003 12:13:07 -0000 1.3.6.7
--- pgwidgetlist.cpp 23 May 2003 08:17:52 -0000 1.3.6.8
***************
*** 187,195 ****
void PG_WidgetList::AddWidget(PG_Widget* w) {
if(w == NULL) {
return;
}
! w->SetVisible(false);
AddChild(w);
--- 187,204 ----
void PG_WidgetList::AddWidget(PG_Widget* w) {
+ bool bGotHidden = false;
+
if(w == NULL) {
return;
}
! if(w->IsVisible()) {
! w->Hide();
! bGotHidden = true;
! }
! else {
! w->SetVisible(false);
! }
!
AddChild(w);
***************
*** 219,222 ****
--- 228,235 ----
UpdateScrollBarsPos();
+ if(bGotHidden) {
+ w->Show();
+ }
+
if(!IsHidden() || IsVisible()) {
w->SetVisible(true);
***************
*** 487,504 ****
void PG_WidgetList::CheckScrollBars() {
my_rectVerticalScrollbar.my_height = Height();
my_rectHorizontalScrollbar.my_width = Width();
! if(my_listheight > (Uint32)Height()) {
! my_objVerticalScrollbar->SetVisible(my_enableVerticalScrollbar);
} else {
! my_objVerticalScrollbar->SetVisible(false);
}
if(my_listwidth > (Uint32)(Width() -
((my_objVerticalScrollbar->IsVisible()) ? my_widthScrollbar : 0))) {
!
my_objHorizontalScrollbar->SetVisible(my_enableHorizontalScrollbar);
if(my_listheight > (Uint32)(Height() -
my_heightHorizontalScrollbar)) {
!
my_objVerticalScrollbar->SetVisible(my_enableVerticalScrollbar);
}
--- 500,537 ----
void PG_WidgetList::CheckScrollBars() {
+ if(!IsVisible()) {
+ return;
+ }
+
my_rectVerticalScrollbar.my_height = Height();
my_rectHorizontalScrollbar.my_width = Width();
! my_objVerticalScrollbar->SetRange(0, my_listheight - Height() +
my_heightHorizontalScrollbar);
! my_objHorizontalScrollbar->SetRange(0, my_listwidth - Width() +
my_widthScrollbar);
!
! my_objVerticalScrollbar->SizeWidget(my_widthScrollbar,
my_rectVerticalScrollbar.my_height);
!
my_objHorizontalScrollbar->SizeWidget(my_rectHorizontalScrollbar.my_width,
my_heightHorizontalScrollbar);
!
! if(my_listheight > (Uint32)Height() && my_enableVerticalScrollbar) {
! my_objVerticalScrollbar->Show();
} else {
! my_objVerticalScrollbar->Hide();
}
if(my_listwidth > (Uint32)(Width() -
((my_objVerticalScrollbar->IsVisible()) ? my_widthScrollbar : 0))) {
! if(my_enableHorizontalScrollbar) {
! my_objHorizontalScrollbar->Show();
! }
! else {
! my_objHorizontalScrollbar->Hide();
! }
if(my_listheight > (Uint32)(Height() -
my_heightHorizontalScrollbar)) {
! if(my_enableVerticalScrollbar) {
! my_objVerticalScrollbar->Show();
! }
! else {
! my_objVerticalScrollbar->Hide();
! }
}
***************
*** 506,523 ****
my_rectVerticalScrollbar.my_height -=
my_heightHorizontalScrollbar;
my_rectHorizontalScrollbar.my_width -=
my_widthScrollbar;
}
} else {
! my_objHorizontalScrollbar->SetVisible(false);
}
-
- if (my_objVerticalScrollbar->IsVisible()) {
- my_objVerticalScrollbar->SetRange(0, my_listheight - Height() +
my_heightHorizontalScrollbar);
- }
- if (my_objHorizontalScrollbar->IsVisible()) {
- my_objHorizontalScrollbar->SetRange(0, my_listwidth - Width() +
my_widthScrollbar);
- }
-
- my_objVerticalScrollbar->SizeWidget(my_widthScrollbar,
my_rectVerticalScrollbar.my_height);
-
my_objHorizontalScrollbar->SizeWidget(my_rectHorizontalScrollbar.my_width,
my_heightHorizontalScrollbar);
}
--- 539,548 ----
my_rectVerticalScrollbar.my_height -=
my_heightHorizontalScrollbar;
my_rectHorizontalScrollbar.my_width -=
my_widthScrollbar;
+ my_objVerticalScrollbar->SizeWidget(my_widthScrollbar,
my_rectVerticalScrollbar.my_height);
+
my_objHorizontalScrollbar->SizeWidget(my_rectHorizontalScrollbar.my_width,
my_heightHorizontalScrollbar);
}
} else {
! my_objHorizontalScrollbar->Hide();
}
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [paragui-cvs] CVS: paragui/src/widgets pgwidgetlist.cpp,1.3.6.7,1.3.6.8,
Alexander Pipelka <address@hidden> <=
- Prev by Date:
[paragui-cvs] CVS: paragui/test widgetlistbug.cpp,NONE,1.1.2.1 Makefile.am,1.2.6.15,1.2.6.16
- Next by Date:
[paragui-cvs] CVS: paragui paragui.spec.in,1.1.6.2,1.1.6.3
- Previous by thread:
[paragui-cvs] CVS: paragui/test widgetlistbug.cpp,NONE,1.1.2.1 Makefile.am,1.2.6.15,1.2.6.16
- Next by thread:
[paragui-cvs] CVS: paragui paragui.spec.in,1.1.6.2,1.1.6.3
- Index(es):