Horizon
prj-mgr_views.hpp
1 #pragma once
2 #include <gtkmm.h>
3 #include <memory>
4 #include <zmq.hpp>
5 #include <optional>
6 
7 namespace horizon {
8 
10 public:
11  PoolProjectManagerViewCreateProject(const Glib::RefPtr<Gtk::Builder> &refBuilder,
13  void clear();
14  void focus();
15  std::optional<std::string> create();
16  typedef sigc::signal<void, bool> type_signal_valid_change;
17  type_signal_valid_change signal_valid_change()
18  {
19  return s_signal_valid_change;
20  }
21  void populate_pool_combo();
22  void update();
23 
24 private:
26  Gtk::FileChooserButton *project_path_chooser = nullptr;
27  Gtk::Label *project_dir_label = nullptr;
28  Gtk::ComboBoxText *project_pool_combo = nullptr;
29  std::map<std::string, std::string> meta_values;
30  class ProjectMetaEditor *meta_editor = nullptr;
31 
32  type_signal_valid_change s_signal_valid_change;
33 };
34 
36 public:
37  PoolProjectManagerViewProject(const Glib::RefPtr<Gtk::Builder> &refBuilder, class PoolProjectManagerAppWindow &w);
38  Gtk::Label *label_project_title = nullptr;
39  Gtk::Label *label_project_author = nullptr;
40  Gtk::Label *label_project_directory = nullptr;
41  Gtk::Label *label_project_pools = nullptr;
42 
43  void open_top_schematic();
44  void open_board();
45  bool update_meta();
46  void update_pool_cache_status(const class PoolCacheStatus &status);
47  void reset_pool_cache_status();
48  void update_pools_label();
49 
50 private:
52  Gtk::Button *button_top_schematic = nullptr;
53  Gtk::Button *button_board = nullptr;
54  Gtk::Button *button_part_browser = nullptr;
55  Gtk::Button *button_project_pool = nullptr;
56  Gtk::Label *pool_cache_status_label = nullptr;
57 
58  class OpeningSpinner *board_spinner = nullptr;
59  class OpeningSpinner *schematic_spinner = nullptr;
60 
61  void handle_button_part_browser();
62  void handle_button_project_pool();
63 };
64 } // namespace horizon
Definition: prj-mgr_views.cpp:115
Definition: pool_cache_status.hpp:11
Definition: pool-prj-mgr-app_win.hpp:22
Definition: prj-mgr_views.hpp:9
Definition: prj-mgr_views.hpp:35
Definition: project_meta_editor.hpp:8