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 
13  static std::string insert_filename(const std::string &fn, const std::string &ins);
14 
15 private:
16  class Pool *pool;
17  const class Unit *unit;
18  Gtk::Entry *name_entry = nullptr;
19  class LocationEntry *location_entry = nullptr;
20  Gtk::Grid *grid = nullptr;
21 };
22 } // namespace horizon
horizon::LocationEntry
Definition: location_entry.hpp:6
horizon::DuplicateBase
Definition: duplicate_base.hpp:5
horizon::UUID
This class encapsulates a UUID and allows it to be uses as a value type.
Definition: uuid.hpp:16
horizon::DuplicateUnitWidget
Definition: duplicate_unit.hpp:7
horizon::Unit
A Unit is the template for a Gate inside of an Entity.
Definition: unit.hpp:63
horizon::Pool
Stores objects (Unit, Entity, Symbol, Part, etc.) from the pool.
Definition: pool.hpp:21