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 
7 namespace horizon {
8 
9 class FabOutputWindow : public Gtk::Window {
10  friend class GerberLayerEditor;
11 
12 public:
13  FabOutputWindow(BaseObjectType *cobject, const Glib::RefPtr<Gtk::Builder> &x, class Board *b,
14  class FabOutputSettings *settings);
15  static FabOutputWindow *create(Gtk::Window *p, class Board *b, class FabOutputSettings *settings);
16 
17  void set_can_generate(bool v);
18 
19 private:
20  class Board *brd;
21  class FabOutputSettings *settings;
22  Gtk::ListBox *gerber_layers_box = nullptr;
23  Gtk::Entry *npth_filename_entry = nullptr;
24  Gtk::Entry *pth_filename_entry = nullptr;
25  Gtk::Label *npth_filename_label = nullptr;
26  Gtk::Label *pth_filename_label = nullptr;
27  Gtk::Entry *prefix_entry = nullptr;
28  Gtk::Entry *directory_entry = nullptr;
29  class SpinButtonDim *outline_width_sp = nullptr;
30  Gtk::Button *generate_button = nullptr;
31  Gtk::Button *directory_button = nullptr;
32  Gtk::ComboBoxText *drill_mode_combo = nullptr;
33  Gtk::TextView *log_textview = nullptr;
34 
35  Glib::RefPtr<Gtk::SizeGroup> sg_layer_name;
36 
37  WindowStateStore state_store;
38 
39  void generate();
40  void update_drill_visibility();
41 };
42 } // namespace horizon
Definition: spin_button_dim.hpp:5
Definition: window_state_store.hpp:20
Definition: fab_output_window.hpp:9
Definition: board.hpp:29
Definition: fab_output_settings.hpp:10
Definition: fab_output_window.cpp:9
Definition: block.cpp:9