Horizon
duplicate_window.hpp
1 #pragma once
2 #include <gtkmm.h>
3 #include "common/common.hpp"
4 #include "util/uuid.hpp"
5 
6 namespace horizon {
7 class DuplicateWindow : public Gtk::Window {
8 public:
9  friend class DuplicateUnitWidget;
10  friend class DuplicateEntityWidget;
11  friend class DuplicatePartWidget;
12  DuplicateWindow(class Pool &p, ObjectType ty, const UUID &uu);
13  std::vector<std::string> get_filenames() const;
14 
15 private:
16  class Pool &pool;
17  class DuplicateBase *duplicate_widget = nullptr;
18  bool duplicated = false;
19  void handle_duplicate();
20  void check_valid();
21  Gtk::Button *duplicate_button = nullptr;
22  std::vector<std::string> filenames;
23 };
24 } // namespace horizon
Definition: duplicate_base.hpp:5
Definition: duplicate_entity.hpp:7
Definition: duplicate_part.hpp:7
Definition: duplicate_unit.hpp:7
Definition: duplicate_window.hpp:7
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