Another STLification of a list.
This commit is contained in:
21
dw/fltkui.cc
21
dw/fltkui.cc
@ -1243,13 +1243,13 @@ Fl_Button *FltkCheckButtonResource::createNewButton (core::Allocation
|
|||||||
|
|
||||||
bool FltkRadioButtonResource::Group::FltkGroupIterator::hasNext ()
|
bool FltkRadioButtonResource::Group::FltkGroupIterator::hasNext ()
|
||||||
{
|
{
|
||||||
return it.hasNext ();
|
return pos != last;
|
||||||
}
|
}
|
||||||
|
|
||||||
dw::core::ui::RadioButtonResource
|
dw::core::ui::RadioButtonResource
|
||||||
*FltkRadioButtonResource::Group::FltkGroupIterator::getNext ()
|
*FltkRadioButtonResource::Group::FltkGroupIterator::getNext ()
|
||||||
{
|
{
|
||||||
return (dw::core::ui::RadioButtonResource*)it.getNext ();
|
return *pos++;
|
||||||
}
|
}
|
||||||
|
|
||||||
void FltkRadioButtonResource::Group::FltkGroupIterator::unref ()
|
void FltkRadioButtonResource::Group::FltkGroupIterator::unref ()
|
||||||
@ -1261,26 +1261,20 @@ void FltkRadioButtonResource::Group::FltkGroupIterator::unref ()
|
|||||||
FltkRadioButtonResource::Group::Group (FltkRadioButtonResource
|
FltkRadioButtonResource::Group::Group (FltkRadioButtonResource
|
||||||
*radioButtonResource)
|
*radioButtonResource)
|
||||||
{
|
{
|
||||||
list = new lout::container::typed::List <FltkRadioButtonResource> (false);
|
|
||||||
connect (radioButtonResource);
|
connect (radioButtonResource);
|
||||||
}
|
}
|
||||||
|
|
||||||
FltkRadioButtonResource::Group::~Group ()
|
|
||||||
{
|
|
||||||
delete list;
|
|
||||||
}
|
|
||||||
|
|
||||||
void FltkRadioButtonResource::Group::connect (FltkRadioButtonResource
|
void FltkRadioButtonResource::Group::connect (FltkRadioButtonResource
|
||||||
*radioButtonResource)
|
*radioButtonResource)
|
||||||
{
|
{
|
||||||
list->append (radioButtonResource);
|
list.push_back (radioButtonResource);
|
||||||
}
|
}
|
||||||
|
|
||||||
void FltkRadioButtonResource::Group::unconnect (FltkRadioButtonResource
|
void FltkRadioButtonResource::Group::unconnect (FltkRadioButtonResource
|
||||||
*radioButtonResource)
|
*radioButtonResource)
|
||||||
{
|
{
|
||||||
list->removeRef (radioButtonResource);
|
list.remove (radioButtonResource);
|
||||||
if (list->isEmpty ())
|
if (list.empty())
|
||||||
delete this;
|
delete this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1322,9 +1316,8 @@ void FltkRadioButtonResource::widgetCallback (Fl_Widget *widget,
|
|||||||
|
|
||||||
void FltkRadioButtonResource::buttonClicked ()
|
void FltkRadioButtonResource::buttonClicked ()
|
||||||
{
|
{
|
||||||
for (Iterator <FltkRadioButtonResource> it = group->iterator ();
|
for ( FltkRadioButtonResource *other: *group )
|
||||||
it.hasNext (); ) {
|
{
|
||||||
FltkRadioButtonResource *other = it.getNext ();
|
|
||||||
other->setActivated (other == this);
|
other->setActivated (other == this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
21
dw/fltkui.hh
21
dw/fltkui.hh
@ -401,32 +401,25 @@ private:
|
|||||||
public dw::core::ui::RadioButtonResource::GroupIterator
|
public dw::core::ui::RadioButtonResource::GroupIterator
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
lout::container::typed::Iterator <FltkRadioButtonResource> it;
|
std::list< FltkRadioButtonResource * >::iterator pos;
|
||||||
|
std::list< FltkRadioButtonResource * >::iterator last;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
inline FltkGroupIterator (lout::container::typed::List
|
inline FltkGroupIterator (std::list< FltkRadioButtonResource * > &list )
|
||||||
<FltkRadioButtonResource>
|
{ pos = list.begin (); last = list.end(); }
|
||||||
*list)
|
|
||||||
{ it = list->iterator (); }
|
|
||||||
|
|
||||||
bool hasNext ();
|
bool hasNext ();
|
||||||
dw::core::ui::RadioButtonResource *getNext ();
|
dw::core::ui::RadioButtonResource *getNext ();
|
||||||
void unref ();
|
void unref ();
|
||||||
};
|
};
|
||||||
|
|
||||||
lout::container::typed::List <FltkRadioButtonResource> *list;
|
std::list< FltkRadioButtonResource * > list;
|
||||||
|
|
||||||
protected:
|
|
||||||
~Group ();
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Group (FltkRadioButtonResource *radioButtonResource);
|
Group (FltkRadioButtonResource *radioButtonResource);
|
||||||
|
|
||||||
inline lout::container::typed::Iterator <FltkRadioButtonResource>
|
auto begin () { return list.begin(); }
|
||||||
iterator ()
|
auto end () { return list.end(); }
|
||||||
{
|
|
||||||
return list->iterator ();
|
|
||||||
}
|
|
||||||
|
|
||||||
inline dw::core::ui::RadioButtonResource::GroupIterator
|
inline dw::core::ui::RadioButtonResource::GroupIterator
|
||||||
*groupIterator ()
|
*groupIterator ()
|
||||||
|
|||||||
Reference in New Issue
Block a user