Horizon
duplicate_unit.hpp
1 #pragma once
2 #include <gtkmm.h>
3 #include "util/uuid.hpp"
4 #include "duplicate_base.hpp"
5 
6 namespace horizon {
7 class DuplicateUnitWidget : public Gtk::Box, public DuplicateBase {
8 public:
9  DuplicateUnitWidget(class Pool &p, const UUID &unit_uuid, bool optional = false);
10  UUID duplicate(std::vector<std::string> *filenames) override;
11  UUID get_uuid() const;
12  bool check_valid() override;
13 
14  static std::string insert_filename(const std::string &fn, const std::string &ins);
15 
16 private:
17  class Pool &pool;
18  const class Unit &unit;
19  Gtk::Entry *name_entry = nullptr;
20  class LocationEntry *location_entry = nullptr;
21  Gtk::Grid *grid = nullptr;
22 };
23 } // namespace horizon
Definition: duplicate_base.hpp:5
Definition: duplicate_unit.hpp:7
Definition: location_entry.hpp:6
Stores objects (Unit, Entity, Symbol, Part, etc.) from the pool.
Definition: pool.hpp:22
This class encapsulates a UUID and allows it to be uses as a value type.
Definition: uuid.hpp:16
A Unit is the template for a Gate inside of an Entity.
Definition: unit.hpp:58