diff --git a/visualization/visualization_tools/include/moveit/visualization_tools/task_solution_visualization.h b/visualization/visualization_tools/include/moveit/visualization_tools/task_solution_visualization.h index 6a2f9e88..22e13efa 100644 --- a/visualization/visualization_tools/include/moveit/visualization_tools/task_solution_visualization.h +++ b/visualization/visualization_tools/include/moveit/visualization_tools/task_solution_visualization.h @@ -160,6 +160,7 @@ protected: rviz::DisplayContext* context_; TaskSolutionPanel* slider_panel_ = nullptr; rviz::PanelDockWidget* slider_dock_panel_ = nullptr; + bool slider_panel_was_visible_ = false; // Trajectory Properties rviz::Property* robot_property_; diff --git a/visualization/visualization_tools/src/task_solution_panel.cpp b/visualization/visualization_tools/src/task_solution_panel.cpp index f0a07892..6ef190ef 100644 --- a/visualization/visualization_tools/src/task_solution_panel.cpp +++ b/visualization/visualization_tools/src/task_solution_panel.cpp @@ -81,13 +81,11 @@ void TaskSolutionPanel::onInitialize() void TaskSolutionPanel::onEnable() { - show(); parentWidget()->show(); } void TaskSolutionPanel::onDisable() { - hide(); paused_ = false; parentWidget()->hide(); } diff --git a/visualization/visualization_tools/src/task_solution_visualization.cpp b/visualization/visualization_tools/src/task_solution_visualization.cpp index c1194b3e..f4e49046 100644 --- a/visualization/visualization_tools/src/task_solution_visualization.cpp +++ b/visualization/visualization_tools/src/task_solution_visualization.cpp @@ -303,6 +303,8 @@ void TaskSolutionVisualization::changedRobotCollisionEnabled() void TaskSolutionVisualization::onEnable() { + if (slider_panel_ && slider_panel_was_visible_) + slider_panel_->onEnable(); } void TaskSolutionVisualization::onDisable() @@ -313,8 +315,10 @@ void TaskSolutionVisualization::onDisable() displaying_solution_.reset(); animating_ = false; - if (slider_panel_) + if (slider_panel_) { + slider_panel_was_visible_ = slider_panel_->isVisible(); slider_panel_->onDisable(); + } } void TaskSolutionVisualization::interruptCurrentDisplay()