#ifndef MSP_GLTK_PANEL_H_
#define MSP_GLTK_PANEL_H_
+#include <memory>
#include <msp/core/typeregistry.h>
#include "container.h"
#include "layout.h"
protected:
std::vector<Widget *> nav_order;
- Layout *layout = nullptr;
+ std::unique_ptr<Layout> layout;
static TypeRegistry<Loader::AddChildType, Loader &> widget_registry;
static bool widget_registry_init_done;
public:
Panel();
- virtual ~Panel();
template<typename T>
static void register_child_type(const std::string &);
template<typename T>
void Panel::Loader::unnamed_child()
{
- RefPtr<T> chl = new T();
+ std::unique_ptr<T> chl = std::make_unique<T>();
load_sub(*chl);
obj.add(*chl.get());
last_widget = chl.release();