#ifndef MSP_GLTK_CONTAINER_H_
#define MSP_GLTK_CONTAINER_H_
-#include <list>
+#include <memory>
#include <stdexcept>
+#include <vector>
#include <sigc++/trackable.h>
#include "mspgltk_api.h"
#include "widget.h"
void rebuild_needed();
};
- std::list<Child *> children;
+ std::vector<std::unique_ptr<Child>> children;
Widget *click_focus = nullptr;
unsigned click_button = 0;
Widget *pointer_focus = nullptr;
void add(Widget &);
void remove(Widget &);
protected:
- virtual Child *create_child(Widget *);
Geometry determine_child_geometry(const Widget &, const Part &) const;
void autosize_child(const Widget &, const Part &, Geometry &) const;
void reposition_child(Widget &, const Part &) const;
public:
- std::list<Widget *> get_children() const;
+ std::vector<Widget *> get_children() const;
Widget *find_child_at(int, int) const;
Widget *find_descendant_at(int, int) const;
void raise(Widget &);