Horizon
project_meta_editor.hpp
1 #pragma once
2 #include <gtkmm.h>
3 #include "util/changeable.hpp"
4 #include <set>
5 
6 namespace horizon {
7 
8 class ProjectMetaEditor : public Gtk::Grid, public Changeable {
9 public:
10  ProjectMetaEditor(std::map<std::string, std::string> &v);
11  void clear();
12  void preset(const std::string &author);
13  void focus_title();
14  void set_use_automatic_name();
15 
16 private:
17  Gtk::Entry *add_editor(const std::string &title, const std::string &descr, const std::string &key);
18  class CustomFieldEditor *add_custom_editor(const std::string &key);
19  std::map<std::string, Gtk::Entry *> entries;
20  std::map<std::string, std::string> &values;
21  int top = 0;
22  Gtk::Box *custom_box = nullptr;
23  Gtk::Entry *title_entry = nullptr;
24  Gtk::Entry *name_entry = nullptr;
25 
26  bool use_automatic_name = false;
27 };
28 } // namespace horizon
Definition: changeable.hpp:5
Definition: project_meta_editor.cpp:25
Definition: project_meta_editor.hpp:8