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