25 friend class ModelEditor;
26 friend class PlaceModelBox;
30 ImpPackage(
const std::string &package_filename,
const std::string &pool_path, TempMode temp_mode);
32 std::map<ObjectType, SelectionFilterInfo> get_selection_filter_info()
const override;
37 void construct()
override;
38 void apply_preferences()
override;
39 void update_highlights()
override;
41 ActionCatalogItem::Availability get_editor_type_for_action()
const override
43 return ActionCatalogItem::AVAILABLE_IN_PACKAGE;
46 std::string get_hud_text(std::set<SelectableRef> &sel)
override;
47 void update_action_sensitivity()
override;
48 void update_monitor()
override;
49 ActionToolID get_doubleclick_action(ObjectType type,
const UUID &uu)
override;
51 Searcher *get_searcher_ptr()
override
56 std::vector<std::string> get_view_hints()
override;
59 void canvas_update()
override;
66 void update_fake_board();
73 std::vector<Point3D> points;
74 std::unique_ptr<STEPImporter::STEPImporter> importer;
78 void project_model(
const Package::Model &model, ProjectionMode proj);
80 std::map<std::string, ModelInfo> model_info;
81 std::mutex model_info_mutex;
84 std::vector<Coordi> projection_targets;
85 Glib::RefPtr<Gio::SimpleAction> show_projection_action;
87 Glib::RefPtr<Gio::SimpleAction> snap_to_pad_bbox_action;
89 std::string ask_3d_model_filename(
const std::string ¤t_filename =
"");
91 void update_model_editors();
92 void reload_model_editor();
94 Gtk::ListBox *models_listbox =
nullptr;
97 class PlaceModelBox *place_model_box =
nullptr;
98 Gtk::Stack *view_3d_stack =
nullptr;
101 Gtk::Entry *entry_name =
nullptr;
103 void check_alt_pkg();
107 void update_header();
109 bool set_filename()
override;
111 void handle_convert_to_pad();
112 UUID converted_padstack;
113 std::set<UUID> converted_polygons;
114 Coordi converted_pad_position;
116 bool handle_broadcast(
const json &j)
override;