Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorenricoturri1966 <enricoturri@seznam.cz>2021-10-27 14:29:50 +0300
committerenricoturri1966 <enricoturri@seznam.cz>2022-06-02 14:39:01 +0300
commit23b5860e350af70c0020ede01e1e2f20f8c85d73 (patch)
tree1f3afbd22fd4ff6888bd3a6307c3b75c786db9c2
parentf944595d3d71dff9e97b3b005f32f3eb916cdd3e (diff)
Tech ENABLE_WORLD_COORDINATE - Fixed visualization of sidebar hints when editing values in Object manipulation fields while using an MMU printer
-rw-r--r--src/slic3r/GUI/GUI_ObjectList.cpp6
-rw-r--r--src/slic3r/GUI/GUI_ObjectManipulation.hpp17
2 files changed, 23 insertions, 0 deletions
diff --git a/src/slic3r/GUI/GUI_ObjectList.cpp b/src/slic3r/GUI/GUI_ObjectList.cpp
index 4370a2f64..477c13b31 100644
--- a/src/slic3r/GUI/GUI_ObjectList.cpp
+++ b/src/slic3r/GUI/GUI_ObjectList.cpp
@@ -2545,7 +2545,13 @@ void ObjectList::part_selection_changed()
Sidebar& panel = wxGetApp().sidebar();
panel.Freeze();
+#if ENABLE_WORLD_COORDINATE
+ const ManipulationEditor* const editor = wxGetApp().obj_manipul()->get_focused_editor();
+ const std::string opt_key = (editor != nullptr) ? editor->get_full_opt_name() : "";
+ wxGetApp().plater()->canvas3D()->handle_sidebar_focus_event(opt_key, !opt_key.empty());
+#else
wxGetApp().plater()->canvas3D()->handle_sidebar_focus_event("", false);
+#endif // ENABLE_WORLD_COORDINATE
wxGetApp().obj_manipul() ->UpdateAndShow(update_and_show_manipulations);
wxGetApp().obj_settings()->UpdateAndShow(update_and_show_settings);
wxGetApp().obj_layers() ->UpdateAndShow(update_and_show_layers);
diff --git a/src/slic3r/GUI/GUI_ObjectManipulation.hpp b/src/slic3r/GUI/GUI_ObjectManipulation.hpp
index a4f826fea..849a443f4 100644
--- a/src/slic3r/GUI/GUI_ObjectManipulation.hpp
+++ b/src/slic3r/GUI/GUI_ObjectManipulation.hpp
@@ -57,6 +57,10 @@ public:
void set_value(const wxString& new_value);
void kill_focus(ObjectManipulation *parent);
+#if ENABLE_WORLD_COORDINATE
+ const std::string& get_full_opt_name() const { return m_full_opt_name; }
+#endif // ENABLE_WORLD_COORDINATE
+
private:
double get_value();
};
@@ -152,10 +156,15 @@ private:
ScalableBitmap m_manifold_warning_bmp;
wxStaticBitmap* m_fix_throught_netfab_bitmap;
+#if ENABLE_WORLD_COORDINATE
+ // Currently focused editor (nullptr if none)
+ ManipulationEditor* m_focused_editor{ nullptr };
+#else
#ifndef __APPLE__
// Currently focused editor (nullptr if none)
ManipulationEditor* m_focused_editor {nullptr};
#endif // __APPLE__
+#endif // ENABLE_WORLD_COORDINATE
wxFlexGridSizer* m_main_grid_sizer;
wxFlexGridSizer* m_labels_grid_sizer;
@@ -205,11 +214,19 @@ public:
void sys_color_changed();
void on_change(const std::string& opt_key, int axis, double new_value);
void set_focused_editor(ManipulationEditor* focused_editor) {
+#if ENABLE_WORLD_COORDINATE
+ m_focused_editor = focused_editor;
+#else
#ifndef __APPLE__
m_focused_editor = focused_editor;
#endif // __APPLE__
+#endif // ENABLE_WORLD_COORDINATE
}
+#if ENABLE_WORLD_COORDINATE
+ ManipulationEditor* get_focused_editor() { return m_focused_editor; }
+#endif // ENABLE_WORLD_COORDINATE
+
private:
void reset_settings_value();
void update_settings_value(const Selection& selection);