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 
15 private:
16  class PoolProjectManagerAppWindow &appwin;
17  Gtk::FileChooserWidget *chooser_widget = nullptr;
18  class PreviewCanvas *canvas = nullptr;
19  Gtk::Label *package_name_label = nullptr;
20  Gtk::Box *import_error_box = nullptr;
21  std::optional<Package> package;
22  class LogView *log_view = nullptr;
23  Gtk::Button *import_button;
24 
25  void update();
26  void handle_import();
27 
28  WindowStateStore window_state_store;
29  std::optional<PanedStateStore> paned1_state_store;
30  std::optional<PanedStateStore> paned2_state_store;
31 };
32 } // namespace horizon
Definition: import_kicad_package_window.hpp:9
Definition: log_view.hpp:7
Definition: pool-prj-mgr-app_win.hpp:22
Definition: preview_canvas.hpp:7
Definition: window_state_store.hpp:25