Horizon
fab_output_window.hpp
1 #pragma once
2 #include <array>
3 #include <gtkmm.h>
4 #include <set>
5 #include "util/window_state_store.hpp"
6 #include "util/export_file_chooser.hpp"
7 #include "util/changeable.hpp"
8 
9 namespace horizon {
10 
11 class FabOutputWindow : public Gtk::Window, public Changeable {
12  friend class GerberLayerEditor;
13 
14 public:
15  FabOutputWindow(BaseObjectType *cobject, const Glib::RefPtr<Gtk::Builder> &x, class CoreBoard *c,
16  const std::string &project_dir);
17  static FabOutputWindow *create(Gtk::Window *p, class CoreBoard *c, const std::string &project_dir);
18 
19  void set_can_generate(bool v);
20  void reload_layers();
21 
22 private:
23  class CoreBoard *core;
24  class Board *brd;
25  class FabOutputSettings *settings;
26  Gtk::ListBox *gerber_layers_box = nullptr;
27  Gtk::Entry *npth_filename_entry = nullptr;
28  Gtk::Entry *pth_filename_entry = nullptr;
29  Gtk::Label *npth_filename_label = nullptr;
30  Gtk::Label *pth_filename_label = nullptr;
31  Gtk::Entry *prefix_entry = nullptr;
32  Gtk::Entry *directory_entry = nullptr;
33  class SpinButtonDim *outline_width_sp = nullptr;
34  Gtk::Button *generate_button = nullptr;
35  Gtk::Button *directory_button = nullptr;
36  Gtk::ComboBoxText *drill_mode_combo = nullptr;
37  Gtk::TextView *log_textview = nullptr;
38  Gtk::Switch *zip_output_switch = nullptr;
39 
40  ExportFileChooser export_filechooser;
41 
42  Glib::RefPtr<Gtk::SizeGroup> sg_layer_name;
43 
44  WindowStateStore state_store;
45 
46  void generate();
47  void update_drill_visibility();
48 };
49 } // namespace horizon
horizon::GerberLayerEditor
Definition: fab_output_window.cpp:12
horizon::ExportFileChooser
Definition: export_file_chooser.hpp:7
horizon::WindowStateStore
Definition: window_state_store.hpp:20
horizon::Changeable
Definition: changeable.hpp:5
horizon::Board
Definition: board.hpp:31
horizon::SpinButtonDim
Definition: spin_button_dim.hpp:5
horizon::CoreBoard
Definition: core_board.hpp:11
horizon::FabOutputSettings
Definition: fab_output_settings.hpp:10
horizon::FabOutputWindow
Definition: fab_output_window.hpp:11