Horizon
import_kicad_package_window.hpp
1 #pragma once
2 #include <gtkmm.h>
3 #include "pool/package.hpp"
4 #include <optional>
5 #include "util/window_state_store.hpp"
6 #include "util/paned_state_store.hpp"
7 
8 namespace horizon {
9 class ImportKiCadPackageWindow : public Gtk::Window {
10 public:
11  ImportKiCadPackageWindow(BaseObjectType *cobject, const Glib::RefPtr<Gtk::Builder> &x,
12  class PoolProjectManagerAppWindow &aw);
13  static ImportKiCadPackageWindow *create(class PoolProjectManagerAppWindow &aw);
14  std::vector<std::string> get_files_saved() const
15  {
16  return files_saved;
17  }
18 
19 private:
20  class PoolProjectManagerAppWindow &appwin;
21  Gtk::FileChooserWidget *chooser_widget = nullptr;
22  class PreviewCanvas *canvas = nullptr;
23  Gtk::Label *package_name_label = nullptr;
24  Gtk::Box *import_error_box = nullptr;
25  std::optional<Package> package;
26  class LogView *log_view = nullptr;
27  std::vector<std::string> files_saved;
28  Gtk::Button *import_button;
29 
30  void update();
31  void handle_import();
32 
33  WindowStateStore window_state_store;
34  std::optional<PanedStateStore> paned1_state_store;
35  std::optional<PanedStateStore> paned2_state_store;
36 };
37 } // namespace horizon
Definition: import_kicad_package_window.hpp:9
Definition: log_view.hpp:7
Definition: pool-prj-mgr-app_win.hpp:21
Definition: preview_canvas.hpp:7
Definition: window_state_store.hpp:25