And another one's gone...
This commit is contained in:
@ -83,15 +83,10 @@ FltkViewport::FltkViewport (int X, int Y, int W, int H, const char *label):
|
||||
gadgetOrientation[1] = GADGET_HORIZONTAL;
|
||||
gadgetOrientation[2] = GADGET_VERTICAL;
|
||||
gadgetOrientation[3] = GADGET_HORIZONTAL;
|
||||
|
||||
gadgets =
|
||||
new container::typed::List <object::TypedPointer < Fl_Widget> >
|
||||
(true);
|
||||
}
|
||||
|
||||
FltkViewport::~FltkViewport ()
|
||||
{
|
||||
delete gadgets;
|
||||
DBG_OBJ_DELETE ();
|
||||
}
|
||||
|
||||
@ -106,15 +101,15 @@ void FltkViewport::adjustScrollbarsAndGadgetsAllocation ()
|
||||
if (vscrollbar->visible ())
|
||||
visibility |= 2;
|
||||
|
||||
if (gadgets->size () > 0) {
|
||||
if (gadgets.size () > 0) {
|
||||
switch (gadgetOrientation [visibility]) {
|
||||
case GADGET_VERTICAL:
|
||||
hdiff = SCROLLBAR_THICKNESS;
|
||||
vdiff = SCROLLBAR_THICKNESS * gadgets->size ();
|
||||
vdiff = SCROLLBAR_THICKNESS * gadgets.size ();
|
||||
break;
|
||||
|
||||
case GADGET_HORIZONTAL:
|
||||
hdiff = SCROLLBAR_THICKNESS * gadgets->size ();
|
||||
hdiff = SCROLLBAR_THICKNESS * gadgets.size ();
|
||||
vdiff = SCROLLBAR_THICKNESS;
|
||||
break;
|
||||
}
|
||||
@ -137,9 +132,8 @@ void FltkViewport::adjustScrollbarsAndGadgetsAllocation ()
|
||||
|
||||
//int X = x () + w () - SCROLLBAR_THICKNESS;
|
||||
//int Y = y () + h () - SCROLLBAR_THICKNESS;
|
||||
for (Iterator <TypedPointer < Fl_Widget> > it = gadgets->iterator ();
|
||||
it.hasNext (); ) {
|
||||
Fl_Widget *widget = it.getNext()->getTypedValue ();
|
||||
for( auto &widget : gadgets )
|
||||
{
|
||||
widget->resize(x (), y (), SCROLLBAR_THICKNESS, SCROLLBAR_THICKNESS);
|
||||
|
||||
/* FIXME: This has no effect */
|
||||
@ -205,9 +199,8 @@ void FltkViewport::draw_area (void *data, int x, int y, int w, int h)
|
||||
|
||||
vp->FltkWidgetView::draw ();
|
||||
|
||||
for (Iterator <TypedPointer < Fl_Widget> > it = vp->gadgets->iterator();
|
||||
it.hasNext (); ) {
|
||||
Fl_Widget *widget = it.getNext()->getTypedValue ();
|
||||
for( auto &widget: vp->gadgets )
|
||||
{
|
||||
vp->draw_child (*widget);
|
||||
}
|
||||
|
||||
@ -666,11 +659,11 @@ void FltkViewport::setGadgetOrientation (bool hscrollbarVisible,
|
||||
adjustScrollbarsAndGadgetsAllocation ();
|
||||
}
|
||||
|
||||
void FltkViewport::addGadget (Fl_Widget *gadget)
|
||||
void FltkViewport::addGadget (std::unique_ptr< Fl_Widget > gadget)
|
||||
{
|
||||
/** \bug Reparent? */
|
||||
|
||||
gadgets->append (new TypedPointer < Fl_Widget> (gadget));
|
||||
gadgets.push_back( std::move( gadget ) );
|
||||
adjustScrollbarsAndGadgetsAllocation ();
|
||||
}
|
||||
|
||||
|
@ -53,8 +53,7 @@ private:
|
||||
Fl_Scrollbar *vscrollbar, *hscrollbar;
|
||||
|
||||
GadgetOrientation gadgetOrientation[4];
|
||||
lout::container::typed::List <lout::object::TypedPointer < Fl_Widget> >
|
||||
*gadgets;
|
||||
std::list< std::unique_ptr < Fl_Widget > > gadgets;
|
||||
|
||||
void adjustScrollbarsAndGadgetsAllocation ();
|
||||
void adjustScrollbarValues ();
|
||||
@ -104,7 +103,7 @@ public:
|
||||
void setGadgetOrientation (bool hscrollbarVisible, bool vscrollbarVisible,
|
||||
GadgetOrientation gadgetOrientation);
|
||||
void setDragScroll (bool enable) { hasDragScroll = enable ? 1 : 0; }
|
||||
void addGadget (Fl_Widget *gadget);
|
||||
void addGadget( std::unique_ptr< Fl_Widget > gadget );
|
||||
void setScrollbarOnLeft (bool enable);
|
||||
void setScrollbarPageMode(bool enable);
|
||||
void setPageOverlap(int overlap);
|
||||
|
Reference in New Issue
Block a user