Plumb Widget ownership up higher.
This commit is contained in:
@ -390,11 +390,10 @@ FltkPlatform::FltkResourceFactory::createLabelButtonResource (const char
|
||||
}
|
||||
|
||||
core::ui::ComplexButtonResource *
|
||||
FltkPlatform::FltkResourceFactory::createComplexButtonResource (core::Widget
|
||||
*widget,
|
||||
FltkPlatform::FltkResourceFactory::createComplexButtonResource (std::unique_ptr< core::Widget > widget,
|
||||
bool relief)
|
||||
{
|
||||
return new ui::FltkComplexButtonResource (platform, widget, relief);
|
||||
return new ui::FltkComplexButtonResource (platform, std::move( widget ), relief);
|
||||
}
|
||||
|
||||
core::ui::ListResource *
|
||||
|
||||
@ -104,7 +104,7 @@ private:
|
||||
core::ui::LabelButtonResource *createLabelButtonResource (const char
|
||||
*label);
|
||||
core::ui::ComplexButtonResource *
|
||||
createComplexButtonResource (core::Widget *widget, bool relief);
|
||||
createComplexButtonResource (std::unique_ptr< core::Widget > widget, bool relief);
|
||||
core::ui::ListResource *
|
||||
createListResource (core::ui::ListResource::SelectionMode selectionMode,
|
||||
int rows);
|
||||
|
||||
@ -726,16 +726,14 @@ void FltkLabelButtonResource::setLabel (const char *label)
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
FltkComplexButtonResource::FltkComplexButtonResource (FltkPlatform *platform,
|
||||
dw::core::Widget
|
||||
*widget, bool relief):
|
||||
std::unique_ptr< dw::core::Widget > widget,
|
||||
bool relief):
|
||||
FltkSpecificResource <dw::core::ui::ComplexButtonResource> (platform)
|
||||
{
|
||||
flatView = topView = NULL;
|
||||
this->relief = relief;
|
||||
FltkResource::init (platform);
|
||||
std::unique_ptr< dw::core::Widget > widget_unique;
|
||||
widget_unique.reset( widget );
|
||||
ComplexButtonResource::init (std::move( widget_unique ));
|
||||
ComplexButtonResource::init (std::move( widget ));
|
||||
}
|
||||
|
||||
FltkComplexButtonResource::~FltkComplexButtonResource ()
|
||||
|
||||
@ -284,7 +284,7 @@ protected:
|
||||
Fl_Widget *createNewWidget (core::Allocation *allocation);
|
||||
|
||||
public:
|
||||
FltkComplexButtonResource (FltkPlatform *platform, dw::core::Widget *widget,
|
||||
FltkComplexButtonResource (FltkPlatform *platform, std::unique_ptr< dw::core::Widget > widget,
|
||||
bool relief);
|
||||
~FltkComplexButtonResource ();
|
||||
};
|
||||
|
||||
2
dw/ui.hh
2
dw/ui.hh
@ -582,7 +582,7 @@ class ResourceFactory: public lout::object::Object
|
||||
public:
|
||||
virtual LabelButtonResource *createLabelButtonResource (const char *label)
|
||||
= 0;
|
||||
virtual ComplexButtonResource *createComplexButtonResource (Widget *widget,
|
||||
virtual ComplexButtonResource *createComplexButtonResource (std::unique_ptr< Widget > widget,
|
||||
bool relief)
|
||||
= 0;
|
||||
virtual ListResource *createListResource (ListResource::SelectionMode
|
||||
|
||||
Reference in New Issue
Block a user