Horizon
Loading...
Searching...
No Matches
model_editor.hpp
1#pragma once
2#include <gtkmm.h>
3#include "pool/package.hpp"
4#include <glm/glm.hpp>
5#include "util/changeable.hpp"
6#include "util/xyz_container.hpp"
7
8namespace horizon {
9
10glm::dmat4 mat_from_model(const Package::Model &model, double scale = 1);
11
12class ModelEditor : public Gtk::Box, public Changeable {
13public:
14 ModelEditor(class ImpPackage &iimp, const UUID &iuu);
15 const UUID uu;
16
17 void set_is_current(const UUID &iuu);
18 void set_is_default(const UUID &iuu);
19 void make_current();
20 void reload();
21
22private:
23 ImpPackage &imp;
24 Package::Model &model;
25 Gtk::CheckButton *default_cb = nullptr;
26 Gtk::CheckButton *origin_cb = nullptr;
27 Gtk::Label *current_label = nullptr;
28 std::vector<Gtk::Widget *> widgets_insenstive_without_model;
29 void update_widgets_insenstive();
30
33
34 std::vector<sigc::connection> sp_connections;
35};
36} // namespace horizon
Definition changeable.hpp:5
Definition imp_package.hpp:15
Definition model_editor.hpp:12
Definition package.hpp:44
This class encapsulates a UUID and allows it to be uses as a value type.
Definition uuid.hpp:16
Definition xyz_container.hpp:5