1 #ifndef VTESTBED_GUI_DATABASEWINDOW_HH 2 #define VTESTBED_GUI_DATABASEWINDOW_HH 6 #include <sqlitex/forward.hh> 8 #include <vtestbed/gui/EntityDialog.hh> 9 #include <vtestbed/gui/TablePanel.hh> 10 #include <vtestbed/gui/Window.hh> 16 enum class Entity: int {Hull, Compartments, Ship};
22 return static_cast<type>(value);
29 enum class Action {None, Open, Import, Delete};
32 using database_type = sqlite::connection;
34 using id_type = int64_t;
35 static constexpr
const size_t num_entities = 3;
40 Entity _entity = Entity::Hull;
45 void load(database_type* db);
46 Action draw(database_type* db);
47 inline Entity entity()
const {
return this->_entity; }
48 id_type selected_entity_id()
const;
52 inline int entity_idx()
const {
return static_cast<int>(this->_entity); }
53 inline int* entity_ptr() {
return reinterpret_cast<int*>(&this->_entity); }
65 #endif // vim:filetype=cpp