69 |
r.my_width - my_widthScrollbar, |
r.my_width - my_widthScrollbar, |
70 |
my_heightHorizontalScrollbar); |
my_heightHorizontalScrollbar); |
71 |
|
|
72 |
my_objVerticalScrollbar = new PG_ScrollBar(this, PG_IDWIDGETLIST_SCROLL, my_rectVerticalScrollbar, PG_SB_VERTICAL, style); |
my_objVerticalScrollbar = new PG_ScrollBar(this, PG_IDWIDGETLIST_SCROLL, my_rectVerticalScrollbar, PG_ScrollBar::VERTICAL, style); |
73 |
my_objVerticalScrollbar->SetRange(0,0); |
my_objVerticalScrollbar->SetRange(0,0); |
74 |
my_widthScrollbar = my_objVerticalScrollbar->Width(); |
my_widthScrollbar = my_objVerticalScrollbar->Width(); |
75 |
my_objVerticalScrollbar->MoveWidget(r.my_width - my_widthScrollbar, 0); |
my_objVerticalScrollbar->MoveWidget(r.my_width - my_widthScrollbar, 0); |
78 |
my_objVerticalScrollbar->sigScrollPos.connect(slot(*this, &PG_WidgetList::handleScrollPos)); |
my_objVerticalScrollbar->sigScrollPos.connect(slot(*this, &PG_WidgetList::handleScrollPos)); |
79 |
my_objVerticalScrollbar->sigScrollTrack.connect(slot(*this, &PG_WidgetList::handleScrollTrack)); |
my_objVerticalScrollbar->sigScrollTrack.connect(slot(*this, &PG_WidgetList::handleScrollTrack)); |
80 |
|
|
81 |
my_objHorizontalScrollbar = new PG_ScrollBar(this, PG_IDWIDGETLIST_SCROLL, my_rectHorizontalScrollbar, PG_SB_HORIZONTAL, style); |
my_objHorizontalScrollbar = new PG_ScrollBar(this, PG_IDWIDGETLIST_SCROLL, my_rectHorizontalScrollbar, PG_ScrollBar::HORIZONTAL, style); |
82 |
my_objHorizontalScrollbar->SetRange(0,0); |
my_objHorizontalScrollbar->SetRange(0,0); |
83 |
my_heightHorizontalScrollbar = my_objHorizontalScrollbar->Height(); |
my_heightHorizontalScrollbar = my_objHorizontalScrollbar->Height(); |
84 |
my_objHorizontalScrollbar->MoveWidget(0, r.my_height - my_heightHorizontalScrollbar); |
my_objHorizontalScrollbar->MoveWidget(0, r.my_height - my_heightHorizontalScrollbar); |
552 |
} |
} |
553 |
} |
} |
554 |
|
|
555 |
void PG_WidgetList::EnableScrollBar(bool enable, int direction) { |
void PG_WidgetList::EnableScrollBar(bool enable, PG_ScrollBar::ScrollDirection direction) { |
556 |
if (direction == PG_SB_VERTICAL) { |
if (direction == PG_ScrollBar::VERTICAL) { |
557 |
my_enableVerticalScrollbar = enable; |
my_enableVerticalScrollbar = enable; |
558 |
} else if (direction == PG_SB_HORIZONTAL) { |
} else if (direction == PG_ScrollBar::HORIZONTAL) { |
559 |
my_enableHorizontalScrollbar = enable; |
my_enableHorizontalScrollbar = enable; |
560 |
} |
} |
561 |
CheckScrollBars(); |
CheckScrollBars(); |
562 |
|
|
563 |
if ((!my_enableVerticalScrollbar) && (direction == PG_SB_VERTICAL)) { |
if ((!my_enableVerticalScrollbar) && (direction == PG_ScrollBar::VERTICAL)) { |
564 |
my_widthScrollbar = 0; |
my_widthScrollbar = 0; |
565 |
SizeWidget(Width(), Height()); |
SizeWidget(Width(), Height()); |
566 |
} else if ((!my_enableHorizontalScrollbar) && (direction == PG_SB_HORIZONTAL)) { |
} else if ((!my_enableHorizontalScrollbar) && (direction == PG_ScrollBar::HORIZONTAL)) { |
567 |
my_heightHorizontalScrollbar = 0; |
my_heightHorizontalScrollbar = 0; |
568 |
SizeWidget(Width(), Height()); |
SizeWidget(Width(), Height()); |
569 |
} |
} |
570 |
} |
} |
571 |
|
|
572 |
void PG_WidgetList::ScrollTo(PG_Widget* widget, int direction) { |
void PG_WidgetList::ScrollTo(PG_Widget* widget, PG_ScrollBar::ScrollDirection direction) { |
573 |
if(my_widgetCount == 0) { |
if(my_widgetCount == 0) { |
574 |
return; |
return; |
575 |
} |
} |
576 |
|
|
577 |
if (direction == PG_SB_VERTICAL) { |
if (direction == PG_ScrollBar::VERTICAL) { |
578 |
int ypos = widget->y - FindWidget(0)->y; |
int ypos = widget->y - FindWidget(0)->y; |
579 |
|
|
580 |
ypos = ScrollToY(ypos); |
ypos = ScrollToY(ypos); |
581 |
my_objVerticalScrollbar->SetPosition(ypos); |
my_objVerticalScrollbar->SetPosition(ypos); |
582 |
} else if (direction == PG_SB_HORIZONTAL) { |
} else if (direction == PG_ScrollBar::HORIZONTAL) { |
583 |
int xpos = widget->x - FindWidget(0)->x; |
int xpos = widget->x - FindWidget(0)->x; |
584 |
|
|
585 |
xpos = ScrollToX(xpos); |
xpos = ScrollToX(xpos); |
587 |
} |
} |
588 |
} |
} |
589 |
|
|
590 |
void PG_WidgetList::ScrollTo(int index, int direction) { |
void PG_WidgetList::ScrollTo(int index, PG_ScrollBar::ScrollDirection direction) { |
591 |
PG_Widget* w = FindWidget(index); |
PG_Widget* w = FindWidget(index); |
592 |
|
|
593 |
if(w == NULL) { |
if(w == NULL) { |