23 class IPool &pool,
const std::string &project_dir);
25 void set_can_export(
bool v);
27 void update_preview();
28 void update_orderable_MPNs();
37 void update_concrete_parts();
41 void prepare_chooser(Glib::RefPtr<Gtk::FileChooser> chooser)
override;
42 void prepare_filename(std::string &filename)
override;
44 MyExportFileChooser export_filechooser;
46 Gtk::Button *export_button =
nullptr;
47 Gtk::CheckButton *nopopulate_check =
nullptr;
48 Gtk::ComboBoxText *sort_column_combo =
nullptr;
49 Gtk::ComboBoxText *sort_order_combo =
nullptr;
50 Gtk::Revealer *done_revealer =
nullptr;
51 Gtk::Label *done_label =
nullptr;
52 Gtk::Button *done_close_button =
nullptr;
53 Gtk::Entry *filename_entry =
nullptr;
54 Gtk::Button *filename_button =
nullptr;
55 Gtk::ListBox *orderable_MPNs_listbox =
nullptr;
56 bool can_export =
true;
57 void update_export_button();
59 Gtk::CheckButton *customize_check =
nullptr;
60 Gtk::Revealer *customize_revealer =
nullptr;
61 Gtk::Grid *customize_grid =
nullptr;
63 Glib::RefPtr<Gtk::SizeGroup> sg_manufacturer;
64 Glib::RefPtr<Gtk::SizeGroup> sg_MPN;
65 Glib::RefPtr<Gtk::SizeGroup> sg_orderable_MPN;
67 Gtk::TreeView *meta_parts_tv =
nullptr;
68 Gtk::Label *concrete_parts_label =
nullptr;
70 class MetaPartsListColumns :
public Gtk::TreeModelColumnRecord {
72 MetaPartsListColumns()
74 Gtk::TreeModelColumnRecord::add(MPN);
75 Gtk::TreeModelColumnRecord::add(value);
76 Gtk::TreeModelColumnRecord::add(manufacturer);
77 Gtk::TreeModelColumnRecord::add(qty);
78 Gtk::TreeModelColumnRecord::add(uuid);
79 Gtk::TreeModelColumnRecord::add(concrete_MPN);
80 Gtk::TreeModelColumnRecord::add(concrete_value);
81 Gtk::TreeModelColumnRecord::add(concrete_manufacturer);
83 Gtk::TreeModelColumn<Glib::ustring> MPN;
84 Gtk::TreeModelColumn<Glib::ustring> value;
85 Gtk::TreeModelColumn<Glib::ustring> manufacturer;
86 Gtk::TreeModelColumn<UUID> uuid;
87 Gtk::TreeModelColumn<unsigned int> qty;
89 Gtk::TreeModelColumn<Glib::ustring> concrete_MPN;
90 Gtk::TreeModelColumn<Glib::ustring> concrete_value;
91 Gtk::TreeModelColumn<Glib::ustring> concrete_manufacturer;
93 MetaPartsListColumns meta_parts_list_columns;
95 Glib::RefPtr<Gtk::ListStore> meta_parts_store;
97 Gtk::Box *param_browser_box =
nullptr;
98 Gtk::RadioButton *rb_tol_10 =
nullptr;
99 Gtk::RadioButton *rb_tol_1 =
nullptr;
100 Gtk::Button *button_clear_similar =
nullptr;
101 Gtk::Button *button_set_similar =
nullptr;
103 UUID meta_part_current;
104 void update_meta_mapping();
105 void handle_set_similar();
106 void update_similar_button_sensitivity();
108 Gtk::TreeView *preview_tv =
nullptr;
117 std::string get_column_name(
int col)
const override;
118 std::map<int, std::string> get_column_names()
const override;
125 class ListColumnsPreview :
public Gtk::TreeModelColumnRecord {
129 Gtk::TreeModelColumnRecord::add(row);
131 Gtk::TreeModelColumn<BOMRow> row;
133 ListColumnsPreview list_columns_preview;
135 Glib::RefPtr<Gtk::ListStore> bom_store;