diff --git a/modules/gui/src/CMakeLists.txt b/modules/gui/src/CMakeLists.txt index 9ec4e834bd6b27991a71da94ca7e61d439ccfa44..bbf5c38ad39a345e08b2d69689431fe662785729 100644 --- a/modules/gui/src/CMakeLists.txt +++ b/modules/gui/src/CMakeLists.txt @@ -389,6 +389,7 @@ tools/tool_bar.hh tools/tool_option.hh tools/tool_manager.hh tools/tool_options_widget.hh +tools/measure_tool.hh tools/tool_options_win.hh ) if (ENABLE_IMG) diff --git a/modules/gui/src/tools/measure_tool.cc b/modules/gui/src/tools/measure_tool.cc index 0039fcdf3ee73e665d1c337e758daf32f37dfca7..79de57b9689ca180c61b9e81a13034f2444394c2 100644 --- a/modules/gui/src/tools/measure_tool.cc +++ b/modules/gui/src/tools/measure_tool.cc @@ -56,6 +56,8 @@ MeasureTool::MeasureTool() opts->AddOption(col_blue); ToolOptionFloat* line_width(new ToolOptionFloat("line_width", "Line Width", 4, 0.1, 10.0)); opts->AddOption(line_width); + ToolOptionButton* clear_button(new ToolOptionButton("clear_button", "Clear", this, SLOT(ClearMeasurements()))); + opts->AddOption(clear_button); mode_=meas_mode->GetValue(); } @@ -108,6 +110,11 @@ void MeasureTool::Click(const MouseEvent& event) scene.RequestRedraw(); } +void MeasureTool::ClearMeasurements() +{ + ml_.clear(); +} + void MeasureTool::RenderGL() { glDisable(GL_LIGHTING); diff --git a/modules/gui/src/tools/measure_tool.hh b/modules/gui/src/tools/measure_tool.hh index 0fd655a6a0ec8ec24db8b42b2de0c31fb60d2230..86effde21b3dc3defb64912e2143b6c828e7d67b 100644 --- a/modules/gui/src/tools/measure_tool.hh +++ b/modules/gui/src/tools/measure_tool.hh @@ -28,6 +28,7 @@ #include <ost/gfx/color.hh> #include <QList> +#include <QWidget> namespace ost { namespace gui { class DLLEXPORT_OST_GUI Measurement { @@ -62,8 +63,10 @@ typedef std::vector<Measurement> MeasurementList; class DLLEXPORT_OST_GUI MeasureTool : public Tool { + Q_OBJECT public: MeasureTool(); + virtual ~MeasureTool() {}; int GetMeasureMode(); virtual void Click(const MouseEvent& event); @@ -75,6 +78,9 @@ public: void RenderGL(); +public slots: + void ClearMeasurements(); + private: int num_clicks_; int mode_;