Hi,
I'm trying to do something trivial to a loaded data volume in Seg3D, but I don't seem to be able to even duplicate an existing one.
Index: src/Applications/Seg3D/TestTool.cc =================================================================== --- src/Applications/Seg3D/TestTool.cc (revision 0) +++ src/Applications/Seg3D/TestTool.cc (revision 0) @@ -0,0 +1,138 @@ +// File : TestTool.cc +// Author : Ramon Casero +// Date : Tue Oct 6 19:34:00 2009 + +#include <Applications/Seg3D/Painter.h> +#include <Applications/Seg3D/TestTool.h> +#include <Core/Events/LoadVolumeEvent.h> +#include <Core/Events/EventManager.h> + +//#include <Applications/Seg3D/GuiCode/testtoolpanel.h> +#include <Applications/Seg3D/GuiCode/seg3devents.h> + +#include <sci_comp_warn_fixes.h> + +#include <stdlib.h> + +#include <iostream> + +#ifdef _WIN32 +# undef SCISHARE +# define SCISHARE __declspec(dllimport) +#else +# define SCISHARE +#endif + +namespace SCIRun { + +TestTool::TestTool( Painter *painter ) : + BaseTool( "Paint Test" ), + painter_( painter ), + nIter_( 0 ) +{ +} + + +TestTool::~TestTool() +{ +} + + +BaseTool::propagation_state_e +TestTool::process_event(event_handle_t event) +{ + UpdateTestIterationsEvent *rchange = + dynamic_cast<UpdateTestIterationsEvent *>( event.get_rep() ); + if ( rchange ) + { + const int nIter = (int)rchange->get_nIter(); + + + std::cout << "Skinner: nIter = " << nIter << std::endl; + + } + + if (dynamic_cast<FinishEvent *>(event.get_rep())) { + this->finish(); + } + + return CONTINUE_E; +} + + +void +TestTool::set_nIter( int nIter ) +{ + + nIter_ = nIter; + +} + +BaseTool::propagation_state_e +TestTool::finish() +{ + if (!painter_->current_volume_.get_rep()) + { + painter_->set_status("Test tool requires an active volume."); + return STOP_E; + } + + // create new NRRD volume for the data + NrrdDataHandle nout_handle = new NrrdData(); + + // make a new volume similar to the old volume. + NrrdVolumeHandle newvol = + new NrrdVolume(painter_, painter_->current_volume_->name_, + nout_handle, painter_->current_volume_->label_); + if (newvol->label_) + { + newvol->set_label_color(painter_->current_volume_->get_label_color()); + } + + // replace the old volume with the new volume. + NrrdVolumeHandle oldvol = painter_->current_volume_; + size_t loc = painter_->remove_volume(painter_->current_volume_, false); + loc = loc + 1; // We're off by one for some reason. + painter_->insert_volume(newvol, loc); + painter_->current_volume_ = newvol; + + // Reset the volume rendering. + if (painter_->current_volume_ == painter_->current_vrender_target_ && + !painter_->current_vrender_target_deferred_) + { + LoadVolumeEvent *lve = + new LoadVolumeEvent(painter_->current_vrender_target_->nrrd_handle_, + "", false); + EventManager::add_event(lve); + } + + // Push this undo item. + UndoHandle undo = new UndoReplaceLayer(painter_, "Undo Test", + oldvol, newvol, loc); + painter_->push_undo(undo); + + // Center the probe on the new cropped volume. + const Point center = painter_->current_volume_->center(); + for (unsigned int i = 0; i < painter_->windows_.size(); ++ i) { + painter_->windows_[i]->center_ = center; + } + + // Reset the slices to match the new volume. + painter_->rebuild_layer_buttons(); + painter_->extract_all_window_slices(); + painter_->redraw_all(); + + // Autoview to the cropped volume. + event_handle_t empty; + painter_->Autoview(empty); + + painter_->hide_tool_panel(); + + std::cout << "TestTool::finish(): I have been told to finish" << + std::endl; + + return CONTINUE_E; +} + +} + Index: src/Applications/Seg3D/Seg3DFrame.cc =================================================================== --- src/Applications/Seg3D/Seg3DFrame.cc (revision 44493) +++ src/Applications/Seg3D/Seg3DFrame.cc (working copy) @@ -70,6 +70,7 @@ #include <Applications/Seg3D/GuiCode/resampletool.h> #include <Applications/Seg3D/GuiCode/thresholdtoolpanel.h> #include <Applications/Seg3D/GuiCode/windowleveltoolpanel.h> +#include <Applications/Seg3D/GuiCode/testtoolpanel.h> // #define USING_HELP_FILES @@ -146,6 +147,7 @@ EVT_MENU(MENU_TOOL_WINDOWLEVEL, Seg3DFrame::ToolWindowLevel) EVT_MENU(MENU_TOOL_MOVESCALE, Seg3DFrame::ToolMoveScale) EVT_MENU(MENU_TOOL_MEASUREMENT, Seg3DFrame::ToolMeasurement) + EVT_MENU(MENU_TOOL_TEST, Seg3DFrame::ToolTest) EVT_MENU(MENU_FILTER_C_A_D_F, Seg3DFrame::Filter_CADF) EVT_MENU(MENU_FILTER_C_C_F, Seg3DFrame::Filter_CCF) @@ -302,6 +304,11 @@ tools_sizer->Show(movescaletoolpanel_, false); tools_sizer->Layout(); + testtoolpanel_ = new TestToolPanel(toolsPanel_); + tools_sizer->Add(testtoolpanel_, 0, 0, 0); + tools_sizer->Show(testtoolpanel_, false); + tools_sizer->Layout(); + intensitycorrectionfilterpanel_ = new IntensityCorrectionFilterPanel(toolsPanel_); tools_sizer->Add(intensitycorrectionfilterpanel_, 0, 0, 0); tools_sizer->Show(intensitycorrectionfilterpanel_, false); @@ -460,6 +467,7 @@ winMenu->Append(MENU_TOOL_WINDOWLEVEL, _T("&Window/Level Tool")); winMenu->Append(MENU_TOOL_MOVESCALE, _T("&Move/Scale Tool")); winMenu->Append(MENU_TOOL_MEASUREMENT, _T("Measurement Tool")); + winMenu->Append(MENU_TOOL_TEST, _T("Test Tool")); winMenu->AppendSeparator(); // Speedlines tools @@ -1410,6 +1418,11 @@ SCIRun::Painter::ThrowSkinnerSignal("Painter::StartMeasurementTool"); } +void Seg3DFrame::ToolTest( wxCommandEvent& WXUNUSED(event) ) +{ + ShowTool(testtoolpanel_, "Painter::StartTestTool", "Test Tool"); +} + void Seg3DFrame::Filter_CADF( wxCommandEvent& WXUNUSED(event) ) { Index: src/Applications/Seg3D/PainterSignalTargets.cc =================================================================== --- src/Applications/Seg3D/PainterSignalTargets.cc (revision 44493) +++ src/Applications/Seg3D/PainterSignalTargets.cc (working copy) @@ -51,6 +51,7 @@ #include <Applications/Seg3D/FloodFillCopyTool.h> #include <Applications/Seg3D/LineTool.h> #include <Applications/Seg3D/PolylineTool.h> +#include <Applications/Seg3D/TestTool.h> #include <Applications/Seg3D/ThresholdTool.h> #include <Applications/Seg3D/WindowLevelTool.h> #include <Applications/Seg3D/LineTool.h> @@ -136,6 +137,7 @@ REGISTER_CATCHER_TARGET(Painter::StartThresholdTool); REGISTER_CATCHER_TARGET(Painter::StartWindowLevelTool); REGISTER_CATCHER_TARGET(Painter::StartMeasurementTool); + REGISTER_CATCHER_TARGET(Painter::StartTestTool); REGISTER_CATCHER_TARGET(Painter::Autoview); REGISTER_CATCHER_TARGET(Painter::CopyLabel); @@ -213,6 +215,7 @@ REGISTER_CATCHER_TARGET(Painter::UpdateBrushRadius); REGISTER_CATCHER_TARGET(Painter::UpdateThresholdTool); REGISTER_CATCHER_TARGET(Painter::UpdateWindowLevelTool); + REGISTER_CATCHER_TARGET(Painter::UpdateTestIterations); REGISTER_CATCHER_TARGET(Painter::OpenLabelColorDialog); REGISTER_CATCHER_TARGET(Painter::SetLabelColor); @@ -406,7 +409,6 @@ return CONTINUE_E; } - BaseTool::propagation_state_e Painter::StartResampleTool(event_handle_t &event) { @@ -439,6 +441,15 @@ } +BaseTool::propagation_state_e +Painter::StartTestTool(event_handle_t &event) +{ + tm_.set_tool(new TestTool(this), 25); + + return CONTINUE_E; +} + + BaseTool::propagation_state_e Painter::Autoview(event_handle_t &) { @@ -1083,6 +1094,16 @@ return CONTINUE_E; } +BaseTool::propagation_state_e +Painter::UpdateTestIterations( event_handle_t &event ) +{ + const int nIter + = get_vars()->get_int( "Painter::testtool_nIter" ); + event_handle_t sevent + = new SCIRun::UpdateTestIterationsEvent( nIter ); + tm_.propagate_event( sevent ); + return CONTINUE_E; +} BaseTool::propagation_state_e Painter::OpenLabelColorDialog(event_handle_t &event) Index: src/Applications/Seg3D/TestTool.h =================================================================== --- src/Applications/Seg3D/TestTool.h (revision 0) +++ src/Applications/Seg3D/TestTool.h (revision 0) @@ -0,0 +1,29 @@ +// File : TestTool.h +// Author : Ramon Casero +// Date : Tue Oct 6 19:34:00 2009 + +#ifndef SEG3D_TestTool_h +#define SEG3D_TestTool_h + +#include <Core/Events/BaseTool.h> + +namespace SCIRun { + +class TestTool : virtual public BaseTool { +public: + TestTool(Painter *); + ~TestTool(); + propagation_state_e process_event( event_handle_t ); + propagation_state_e finish(); + +private: + void set_nIter( int nIter ); + + Painter * painter_; + int nIter_; + +}; + +} + +#endif Index: src/Applications/Seg3D/data/Seg3D.xrc =================================================================== --- src/Applications/Seg3D/data/Seg3D.xrc (revision 44493) +++ src/Applications/Seg3D/data/Seg3D.xrc (working copy) @@ -3734,6 +3734,73 @@ </object> </object> </object> + <object class="wxPanel" name="ID_TESTTOOLPANEL" subclass="TestToolPanel"> + <size>200,-1</size> + <title>TestToolPanel</title> + <font> + <size>10</size> + <family>swiss</family> + <face>Arial</face> + </font> + <object class="wxGridSizer"> + <cols>1</cols> + <rows>2</rows> + <vgap>0</vgap> + <hgap>0</hgap> + <object class="sizeritem"> + <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL</flag> + <border>5</border> + <object class="wxGridSizer"> + <cols>2</cols> + <rows>1</rows> + <vgap>0</vgap> + <hgap>0</hgap> + <object class="sizeritem"> + <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL</flag> + <border>5</border> + <object class="wxStaticText" name="wxID_STATIC"> + <label>Iterations</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL</flag> + <border>5</border> + <object class="wxSpinCtrl" name="ID_SPINCTRL"> + <style>wxSP_ARROW_KEYS</style> + <value>5</value> + <min>0</min> + <max>100</max> + </object> + </object> + </object> + </object> + <object class="sizeritem"> + <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL</flag> + <border>5</border> + <object class="wxGridSizer"> + <cols>2</cols> + <rows>1</rows> + <vgap>0</vgap> + <hgap>0</hgap> + <object class="sizeritem"> + <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL</flag> + <border>5</border> + <object class="wxButton" name="START_BUTTON"> + <label>Start</label> + <default>1</default> + </object> + </object> + <object class="sizeritem"> + <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL</flag> + <border>5</border> + <object class="wxButton" name="STOP_BUTTON"> + <label>Stop</label> + </object> + </object> + </object> + </object> + </object> + </object> <object class="wxPanel" name="ID_THRESHOLDTOOLPANEL" subclass="ThresholdToolPanel"> <size>200,-1</size> <title>ThresholdToolPanel</title> Index: src/Applications/Seg3D/data/main.skin =================================================================== --- src/Applications/Seg3D/data/main.skin (revision 44493) +++ src/Applications/Seg3D/data/main.skin (working copy) @@ -51,6 +51,8 @@ <var name="Painter::polylinetool_erase" type="bool" propagate="yes">0</var> + <var name="Painter::testtool_nIter" type="int" propagate="yes">5</var> + <var name="MedianFilterVolume::radius" type="int" propagate="yes">5</var> <var name="Painter::SetLabelColor::r" type="double" propagate="yes">0</var> Index: src/Applications/Seg3D/CMakeLists.txt =================================================================== --- src/Applications/Seg3D/CMakeLists.txt (revision 44493) +++ src/Applications/Seg3D/CMakeLists.txt (working copy) @@ -142,6 +142,7 @@ SliceWindow.cc SpeedToPathTool.cc StatisticsTool.cc + TestTool.cc ThresholdTool.cc WindowLevelTool.cc Undo.cc @@ -169,6 +170,7 @@ GuiCode/maskfilter.cpp GuiCode/masklogicalfilter.cpp GuiCode/measurementtool.cpp + GuiCode/testtoolpanel.cpp GuiCode/movescaletoolpanel.cpp GuiCode/optionlessfilter.cpp GuiCode/polylinetoolpanel.cpp Index: src/Applications/Seg3D/GuiCode/testtoolpanel.xrc =================================================================== --- src/Applications/Seg3D/GuiCode/testtoolpanel.xrc (revision 0) +++ src/Applications/Seg3D/GuiCode/testtoolpanel.xrc (revision 0) @@ -0,0 +1,70 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<resource version="2.3.0.1" xmlns="http://www.wxwidgets.org/wxxrc"> + <object class="wxPanel" name="ID_TESTTOOLPANEL" subclass="TestToolPanel"> + <size>200,-1</size> + <title>TestToolPanel</title> + <font> + <size>10</size> + <family>swiss</family> + <face>Arial</face> + </font> + <object class="wxGridSizer"> + <cols>1</cols> + <rows>2</rows> + <vgap>0</vgap> + <hgap>0</hgap> + <object class="sizeritem"> + <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL</flag> + <border>5</border> + <object class="wxGridSizer"> + <cols>2</cols> + <rows>1</rows> + <vgap>0</vgap> + <hgap>0</hgap> + <object class="sizeritem"> + <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL</flag> + <border>5</border> + <object class="wxStaticText" name="wxID_STATIC"> + <label>Iterations</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL</flag> + <border>5</border> + <object class="wxSpinCtrl" name="ID_SPINCTRL"> + <style>wxSP_ARROW_KEYS</style> + <value>5</value> + <min>0</min> + <max>100</max> + </object> + </object> + </object> + </object> + <object class="sizeritem"> + <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL</flag> + <border>5</border> + <object class="wxGridSizer"> + <cols>2</cols> + <rows>1</rows> + <vgap>0</vgap> + <hgap>0</hgap> + <object class="sizeritem"> + <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL</flag> + <border>5</border> + <object class="wxButton" name="START_BUTTON"> + <label>Start</label> + <default>1</default> + </object> + </object> + <object class="sizeritem"> + <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL</flag> + <border>5</border> + <object class="wxButton" name="STOP_BUTTON"> + <label>Stop</label> + </object> + </object> + </object> + </object> + </object> + </object> +</resource> Index: src/Applications/Seg3D/GuiCode/Seg3d.pjd =================================================================== --- src/Applications/Seg3D/GuiCode/Seg3d.pjd (revision 44493) +++ src/Applications/Seg3D/GuiCode/Seg3d.pjd (working copy) @@ -20,6 +20,7 @@ <string name="resource_prefix">""</string> <bool name="use_two_step_construction">0</bool> <bool name="use_enums">0</bool> + <bool name="generate_for_xrced">0</bool> <string name="current_platform">"<All platforms>"</string> <string name="target_wx_version">"2.8.4"</string> <string name="cpp_header_comment">"///////////////////////////////////////////////////////////////////////////// @@ -106,6 +107,7 @@ <bool name="archive_all_image_files">0</bool> <bool name="xrc_retain_relative_paths">1</bool> <bool name="xrc_generate_id_tags">0</bool> + <bool name="xrc_use_name_property">0</bool> </header> <data> <document> @@ -128,6 +130,7 @@ <long name="locked">0</long> <string name="template-name">""</string> <bool name="dirty">1</bool> + <long name="makefile-last-written">0</long> <string name="Compiler name">""</string> <string name="Build mode">"Debug"</string> <string name="Unicode mode">"ANSI"</string> @@ -148,6 +151,7 @@ <string name="Compiler location">"%AUTO%"</string> <string name="wxWidgets location">"%AUTO%"</string> <string name="C++ command">"%AUTO%"</string> + <string name="C command">"%AUTO%"</string> <string name="Resource compiler">"%AUTO%"</string> <string name="Make command">"%AUTO%"</string> <string name="Project makefile">"%AUTO%"</string> @@ -159,6 +163,7 @@ <string name="Optimizations">"%AUTO%"</string> <string name="Warnings">"%AUTO%"</string> <string name="Debug flags">"%AUTO%"</string> + <string name="Extra compile flags">"%AUTO%"</string> <string name="Libraries">"%AUTO%"</string> <string name="Library path">"%AUTO%"</string> <string name="Linker flags">"%AUTO%"</string> @@ -169,6 +174,9 @@ <string name="wxWidgets build command">"%AUTO%"</string> <string name="wxWidgets clean command">"%AUTO%"</string> <string name="PATH variable">"%AUTO%"</string> + <bool name="Suppress source rules">0</bool> + <bool name="Enable makefile generation">1</bool> + <string name="CFG">""</string> <document> <string name="title">"VC++ Debug"</string> <string name="type">"vc-config-data-document"</string> @@ -180,6 +188,7 @@ <long name="locked">0</long> <string name="template-name">"VC++"</string> <bool name="dirty">1</bool> + <long name="makefile-last-written">0</long> <string name="Compiler name">"VC++"</string> <string name="Build mode">"Debug"</string> <string name="Unicode mode">"ANSI"</string> @@ -200,6 +209,7 @@ <string name="Compiler location">"%AUTO%"</string> <string name="wxWidgets location">"%AUTO%"</string> <string name="C++ command">"%AUTO%"</string> + <string name="C command">"%AUTO%"</string> <string name="Resource compiler">"%AUTO%"</string> <string name="Make command">"%AUTO%"</string> <string name="Project makefile">"%AUTO%"</string> @@ -211,6 +221,7 @@ <string name="Optimizations">"%AUTO%"</string> <string name="Warnings">"%AUTO%"</string> <string name="Debug flags">"%AUTO%"</string> + <string name="Extra compile flags">"%AUTO%"</string> <string name="Libraries">"%AUTO%"</string> <string name="Library path">"%AUTO%"</string> <string name="Linker flags">"%AUTO%"</string> @@ -221,7 +232,10 @@ <string name="wxWidgets build command">"%AUTO%"</string> <string name="wxWidgets clean command">"%AUTO%"</string> <string name="PATH variable">"%AUTO%"</string> + <bool name="Suppress source rules">0</bool> + <bool name="Enable makefile generation">1</bool> <string name="CFG">""</string> + <string name="Ignore libraries">"%AUTO%"</string> </document> <document> <string name="title">"VC++ Release"</string> @@ -234,6 +248,7 @@ <long name="locked">0</long> <string name="template-name">"VC++"</string> <bool name="dirty">1</bool> + <long name="makefile-last-written">0</long> <string name="Compiler name">"VC++"</string> <string name="Build mode">"Release"</string> <string name="Unicode mode">"ANSI"</string> @@ -254,6 +269,7 @@ <string name="Compiler location">"%AUTO%"</string> <string name="wxWidgets location">"%AUTO%"</string> <string name="C++ command">"%AUTO%"</string> + <string name="C command">"%AUTO%"</string> <string name="Resource compiler">"%AUTO%"</string> <string name="Make command">"%AUTO%"</string> <string name="Project makefile">"%AUTO%"</string> @@ -265,6 +281,7 @@ <string name="Optimizations">"%AUTO%"</string> <string name="Warnings">"%AUTO%"</string> <string name="Debug flags">"%AUTO%"</string> + <string name="Extra compile flags">"%AUTO%"</string> <string name="Libraries">"%AUTO%"</string> <string name="Library path">"%AUTO%"</string> <string name="Linker flags">"%AUTO%"</string> @@ -275,7 +292,10 @@ <string name="wxWidgets build command">"%AUTO%"</string> <string name="wxWidgets clean command">"%AUTO%"</string> <string name="PATH variable">"%AUTO%"</string> + <bool name="Suppress source rules">0</bool> + <bool name="Enable makefile generation">1</bool> <string name="CFG">""</string> + <string name="Ignore libraries">"%AUTO%"</string> </document> <document> <string name="title">"VC++ Project Debug"</string> @@ -288,6 +308,7 @@ <long name="locked">0</long> <string name="template-name">"VC++ Project"</string> <bool name="dirty">0</bool> + <long name="makefile-last-written">0</long> <string name="Compiler name">"VC++ Project"</string> <string name="Build mode">"Debug"</string> <string name="Unicode mode">"ANSI"</string> @@ -309,6 +330,7 @@ <string name="Compiler location">"%AUTO%"</string> <string name="wxWidgets location">"%AUTO%"</string> <string name="C++ command">"%AUTO%"</string> + <string name="C command">"%AUTO%"</string> <string name="Resource compiler">"%AUTO%"</string> <string name="Make command">"%AUTO%"</string> <string name="Project makefile">"%AUTO%"</string> @@ -320,6 +342,7 @@ <string name="Optimizations">"%AUTO%"</string> <string name="Warnings">"%AUTO%"</string> <string name="Debug flags">"%AUTO%"</string> + <string name="Extra compile flags">"%AUTO%"</string> <string name="Libraries">"%AUTO%"</string> <string name="Library path">"%AUTO%"</string> <string name="Linker flags">"%AUTO%"</string> @@ -330,6 +353,9 @@ <string name="wxWidgets build command">"%AUTO%"</string> <string name="wxWidgets clean command">"%AUTO%"</string> <string name="PATH variable">"%AUTO%"</string> + <bool name="Suppress source rules">0</bool> + <bool name="Enable makefile generation">1</bool> + <string name="CFG">""</string> <string name="Project make command">"%AUTO%"</string> <string name="Project build command">"%AUTO%"</string> <string name="Project rebuild command">"%AUTO%"</string> @@ -338,7 +364,7 @@ <string name="Pre-build command">"%AUTO%"</string> <string name="Post-build command">"%AUTO%"</string> <string name="Pre-link command">"%AUTO%"</string> - <string name="CFG">""</string> + <string name="Ignore libraries">"%AUTO%"</string> </document> </document> </document> @@ -19241,14 +19267,6 @@ <string name="proxy-type">"wbBoxSizerProxy"</string> <string name="proxy-Orientation">"Vertical"</string> <string name="proxy-Member variable name">""</string> - <string name="proxy-AlignH">"Centre"</string> - <string name="proxy-AlignV">"Centre"</string> - <long name="proxy-Stretch factor">0</long> - <long name="proxy-Border">5</long> - <bool name="proxy-wxLEFT">1</bool> - <bool name="proxy-wxRIGHT">1</bool> - <bool name="proxy-wxTOP">1</bool> - <bool name="proxy-wxBOTTOM">1</bool> <bool name="proxy-wxSHAPED">0</bool> <bool name="proxy-wxADJUST_MINSIZE">0</bool> <bool name="proxy-wxFIXED_MINSIZE">0</bool> @@ -19515,6 +19533,435 @@ </document> </document> </document> + <document> + <string name="title">"TestToolPanel"</string> + <string name="type">"dialog-document"</string> + <string name="filename">""</string> + <string name="icon-name">"dialog"</string> + <long name="is-transient">0</long> + <long name="owns-file">1</long> + <long name="title-mode">0</long> + <long name="locked">0</long> + <string name="proxy-type">"wbDialogProxy"</string> + <long name="base-id">10000</long> + <bool name="use-id-prefix">0</bool> + <string name="id-prefix">""</string> + <bool name="use-id-suffix">0</bool> + <string name="id-suffix">""</string> + <long name="use-xrc">0</long> + <long name="working-mode">0</long> + <string name="proxy-Id name">"ID_TESTTOOLPANEL"</string> + <long name="proxy-Id value">10015</long> + <string name="proxy-Class">"TestToolPanel"</string> + <string name="proxy-Base class">"wxPanel"</string> + <string name="proxy-Window kind">"wxPanel"</string> + <string name="proxy-Implementation filename">"testtoolpanel.cpp"</string> + <string name="proxy-Header filename">"testtoolpanel.h"</string> + <string name="proxy-XRC filename">"testtoolpanel.xrc"</string> + <string name="proxy-Title">"TestToolPanel"</string> + <bool name="proxy-Centre">0</bool> + <string name="proxy-Icon">""</string> + <bool name="proxy-Dialog units">0</bool> + <string name="proxy-Help text">""</string> + <string name="proxy-Tooltip text">""</string> + <string name="proxy-Background colour">""</string> + <string name="proxy-Foreground colour">""</string> + <string name="proxy-Font">"10, wxSWISS, wxNORMAL, wxNORMAL, false, Arial"</string> + <bool name="proxy-Hidden">0</bool> + <bool name="proxy-Enabled">1</bool> + <string name="proxy-Platform">"<Any platform>"</string> + <string name="proxy-Data source">""</string> + <string name="proxy-Data class name">""</string> + <string name="proxy-Data class implementation filename">""</string> + <string name="proxy-Data class header filename">""</string> + <string name="proxy-Data class manager window">""</string> + <string name="proxy-Texture">""</string> + <string name="proxy-Texture style">"Tiled"</string> + <bool name="proxy-wxDEFAULT_DIALOG_STYLE">0</bool> + <bool name="proxy-wxCAPTION">0</bool> + <bool name="proxy-wxRESIZE_BORDER">0</bool> + <bool name="proxy-wxSYSTEM_MENU">0</bool> + <bool name="proxy-wxSTAY_ON_TOP">0</bool> + <bool name="proxy-wxDIALOG_NO_PARENT">0</bool> + <bool name="proxy-wxCLOSE_BOX">0</bool> + <bool name="proxy-wxMAXIMIZE_BOX">0</bool> + <bool name="proxy-wxMINIMIZE_BOX">0</bool> + <bool name="proxy-wxDIALOG_MODAL">0</bool> + <bool name="proxy-wxNO_BORDER">0</bool> + <bool name="proxy-wxSIMPLE_BORDER">0</bool> + <bool name="proxy-wxDOUBLE_BORDER">0</bool> + <bool name="proxy-wxSUNKEN_BORDER">0</bool> + <bool name="proxy-wxRAISED_BORDER">0</bool> + <bool name="proxy-wxSTATIC_BORDER">0</bool> + <bool name="proxy-wxWANTS_CHARS">0</bool> + <bool name="proxy-wxNO_FULL_REPAINT_ON_RESIZE">0</bool> + <bool name="proxy-wxFULL_REPAINT_ON_RESIZE">0</bool> + <bool name="proxy-wxCLIP_CHILDREN">0</bool> + <bool name="proxy-wxTAB_TRAVERSAL">0</bool> + <bool name="proxy-wxWS_EX_VALIDATE_RECURSIVELY">0</bool> + <bool name="proxy-wxWS_EX_BLOCK_EVENTS">0</bool> + <bool name="proxy-wxWS_EX_TRANSIENT">0</bool> + <string name="proxy-Custom styles">""</string> + <bool name="proxy-wxDIALOG_EX_CONTEXTHELP">0</bool> + <bool name="proxy-Fit to content">1</bool> + <long name="proxy-X">-1</long> + <long name="proxy-Y">-1</long> + <long name="proxy-Width">200</long> + <long name="proxy-Height">-1</long> + <bool name="proxy-AUI manager">0</bool> + <string name="proxy-Event sources">""</string> + <document> + <string name="title">"wxGridSizerProxy"</string> + <string name="type">"dialog-control-document"</string> + <string name="filename">""</string> + <string name="icon-name">"sizer"</string> + <long name="is-transient">0</long> + <long name="owns-file">1</long> + <long name="title-mode">0</long> + <long name="locked">0</long> + <string name="proxy-type">"wbGridSizerProxy"</string> + <long name="proxy-Columns">1</long> + <long name="proxy-Rows">2</long> + <long name="proxy-ColumnSpacing">0</long> + <long name="proxy-RowSpacing">0</long> + <string name="proxy-Member variable name">""</string> + <string name="proxy-Platform">"<Any platform>"</string> + <string name="proxy-AlignH">"Centre"</string> + <string name="proxy-AlignV">"Centre"</string> + <long name="proxy-Stretch factor">0</long> + <long name="proxy-Border">5</long> + <bool name="proxy-wxLEFT">1</bool> + <bool name="proxy-wxRIGHT">1</bool> + <bool name="proxy-wxTOP">1</bool> + <bool name="proxy-wxBOTTOM">1</bool> + <bool name="proxy-wxSHAPED">0</bool> + <bool name="proxy-wxADJUST_MINSIZE">0</bool> + <bool name="proxy-wxFIXED_MINSIZE">0</bool> + <document> + <string name="title">"wxGridSizerProxy"</string> + <string name="type">"dialog-control-document"</string> + <string name="filename">""</string> + <string name="icon-name">"sizer"</string> + <long name="is-transient">0</long> + <long name="owns-file">1</long> + <long name="title-mode">0</long> + <long name="locked">0</long> + <string name="proxy-type">"wbGridSizerProxy"</string> + <long name="proxy-Columns">2</long> + <long name="proxy-Rows">1</long> + <long name="proxy-ColumnSpacing">0</long> + <long name="proxy-RowSpacing">0</long> + <string name="proxy-Member variable name">""</string> + <string name="proxy-Platform">"<Any platform>"</string> + <string name="proxy-AlignH">"Centre"</string> + <string name="proxy-AlignV">"Centre"</string> + <long name="proxy-Stretch factor">0</long> + <long name="proxy-Border">5</long> + <bool name="proxy-wxLEFT">1</bool> + <bool name="proxy-wxRIGHT">1</bool> + <bool name="proxy-wxTOP">1</bool> + <bool name="proxy-wxBOTTOM">1</bool> + <bool name="proxy-wxSHAPED">0</bool> + <bool name="proxy-wxADJUST_MINSIZE">0</bool> + <bool name="proxy-wxFIXED_MINSIZE">0</bool> + <document> + <string name="title">"wxStaticText: wxID_STATIC"</string> + <string name="type">"dialog-control-document"</string> + <string name="filename">""</string> + <string name="icon-name">"statictext"</string> + <long name="is-transient">0</long> + <long name="owns-file">1</long> + <long name="title-mode">0</long> + <long name="locked">0</long> + <string name="proxy-type">"wbStaticTextProxy"</string> + <string name="proxy-Id name">"wxID_STATIC"</string> + <long name="proxy-Id value">5105</long> + <string name="proxy-Name">""</string> + <string name="proxy-Class">"wxStaticText"</string> + <string name="proxy-Base class">"wxStaticText"</string> + <bool name="proxy-External implementation">1</bool> + <bool name="proxy-Separate files">0</bool> + <string name="proxy-Implementation filename">""</string> + <string name="proxy-Header filename">""</string> + <string name="proxy-Member variable name">""</string> + <string name="proxy-Label">"Iterations"</string> + <long name="proxy-Wrapping width">-1</long> + <string name="proxy-Help text">""</string> + <string name="proxy-Tooltip text">""</string> + <string name="proxy-Background colour">""</string> + <string name="proxy-Foreground colour">""</string> + <string name="proxy-Font">""</string> + <bool name="proxy-Hidden">0</bool> + <bool name="proxy-Enabled">1</bool> + <string name="proxy-Platform">"<Any platform>"</string> + <string name="proxy-Data variable">""</string> + <string name="proxy-Data validator">""</string> + <string name="proxy-Data source">""</string> + <string name="proxy-Data class name">""</string> + <string name="proxy-Data class implementation filename">""</string> + <string name="proxy-Data class header filename">""</string> + <string name="proxy-Data class manager window">""</string> + <bool name="proxy-wxALIGN_LEFT">0</bool> + <bool name="proxy-wxALIGN_RIGHT">0</bool> + <bool name="proxy-wxALIGN_CENTRE">0</bool> + <bool name="proxy-wxST_NO_AUTORESIZE">0</bool> + <bool name="proxy-wxNO_BORDER">0</bool> + <bool name="proxy-wxSIMPLE_BORDER">0</bool> + <bool name="proxy-wxDOUBLE_BORDER">0</bool> + <bool name="proxy-wxSUNKEN_BORDER">0</bool> + <bool name="proxy-wxRAISED_BORDER">0</bool> + <bool name="proxy-wxSTATIC_BORDER">0</bool> + <bool name="proxy-wxWANTS_CHARS">0</bool> + <bool name="proxy-wxNO_FULL_REPAINT_ON_RESIZE">0</bool> + <bool name="proxy-wxFULL_REPAINT_ON_RESIZE">0</bool> + <string name="proxy-Custom styles">""</string> + <long name="proxy-X">-1</long> + <long name="proxy-Y">-1</long> + <long name="proxy-Width">-1</long> + <long name="proxy-Height">-1</long> + <string name="proxy-AlignH">"Centre"</string> + <string name="proxy-AlignV">"Centre"</string> + <long name="proxy-Stretch factor">0</long> + <long name="proxy-Border">5</long> + <bool name="proxy-wxLEFT">1</bool> + <bool name="proxy-wxRIGHT">1</bool> + <bool name="proxy-wxTOP">1</bool> + <bool name="proxy-wxBOTTOM">1</bool> + <bool name="proxy-wxSHAPED">0</bool> + <bool name="proxy-wxADJUST_MINSIZE">0</bool> + <bool name="proxy-wxFIXED_MINSIZE">0</bool> + <string name="proxy-Custom arguments">""</string> + <string name="proxy-Custom ctor arguments">""</string> + </document> + <document> + <string name="title">"wxSpinCtrl: ID_SPINCTRL"</string> + <string name="type">"dialog-control-document"</string> + <string name="filename">""</string> + <string name="icon-name">"spinctrl"</string> + <long name="is-transient">0</long> + <long name="owns-file">1</long> + <long name="title-mode">0</long> + <long name="locked">0</long> + <string name="proxy-type">"wbSpinCtrlProxy"</string> + <string name="proxy-Id name">"ID_SPINCTRL"</string> + <long name="proxy-Id value">10016</long> + <string name="proxy-Name">""</string> + <string name="proxy-Class">"wxSpinCtrl"</string> + <string name="proxy-Base class">"wxSpinCtrl"</string> + <bool name="proxy-External implementation">1</bool> + <bool name="proxy-Separate files">0</bool> + <string name="proxy-Implementation filename">""</string> + <string name="proxy-Header filename">""</string> + <string name="proxy-Member variable name">"mIterations"</string> + <long name="proxy-Minimum value">0</long> + <long name="proxy-Maximum value">100</long> + <long name="proxy-Initial value">5</long> + <string name="proxy-Help text">""</string> + <string name="proxy-Tooltip text">""</string> + <string name="proxy-Background colour">""</string> + <string name="proxy-Foreground colour">""</string> + <string name="proxy-Font">""</string> + <bool name="proxy-Hidden">0</bool> + <bool name="proxy-Enabled">1</bool> + <string name="proxy-Platform">"<Any platform>"</string> + <string name="proxy-Data variable">""</string> + <string name="proxy-Data validator">""</string> + <string name="proxy-Data source">""</string> + <string name="proxy-Data class name">""</string> + <string name="proxy-Data class implementation filename">""</string> + <string name="proxy-Data class header filename">""</string> + <string name="proxy-Data class manager window">""</string> + <bool name="proxy-wxSP_ARROW_KEYS">1</bool> + <bool name="proxy-wxSP_WRAP">0</bool> + <bool name="proxy-wxNO_BORDER">0</bool> + <bool name="proxy-wxSIMPLE_BORDER">0</bool> + <bool name="proxy-wxDOUBLE_BORDER">0</bool> + <bool name="proxy-wxSUNKEN_BORDER">0</bool> + <bool name="proxy-wxRAISED_BORDER">0</bool> + <bool name="proxy-wxSTATIC_BORDER">0</bool> + <bool name="proxy-wxWANTS_CHARS">0</bool> + <bool name="proxy-wxNO_FULL_REPAINT_ON_RESIZE">0</bool> + <bool name="proxy-wxFULL_REPAINT_ON_RESIZE">0</bool> + <string name="proxy-Custom styles">""</string> + <long name="proxy-X">-1</long> + <long name="proxy-Y">-1</long> + <long name="proxy-Width">-1</long> + <long name="proxy-Height">-1</long> + <string name="proxy-AlignH">"Centre"</string> + <string name="proxy-AlignV">"Centre"</string> + <long name="proxy-Stretch factor">0</long> + <long name="proxy-Border">5</long> + <bool name="proxy-wxLEFT">1</bool> + <bool name="proxy-wxRIGHT">1</bool> + <bool name="proxy-wxTOP">1</bool> + <bool name="proxy-wxBOTTOM">1</bool> + <bool name="proxy-wxSHAPED">0</bool> + <bool name="proxy-wxADJUST_MINSIZE">0</bool> + <bool name="proxy-wxFIXED_MINSIZE">0</bool> + <string name="proxy-Custom arguments">""</string> + <string name="proxy-Custom ctor arguments">""</string> + </document> + </document> + <document> + <string name="title">"wxGridSizerProxy"</string> + <string name="type">"dialog-control-document"</string> + <string name="filename">""</string> + <string name="icon-name">"sizer"</string> + <long name="is-transient">0</long> + <long name="owns-file">1</long> + <long name="title-mode">0</long> + <long name="locked">0</long> + <string name="proxy-type">"wbGridSizerProxy"</string> + <long name="proxy-Columns">2</long> + <long name="proxy-Rows">1</long> + <long name="proxy-ColumnSpacing">0</long> + <long name="proxy-RowSpacing">0</long> + <string name="proxy-Member variable name">""</string> + <string name="proxy-Platform">"<Any platform>"</string> + <string name="proxy-AlignH">"Centre"</string> + <string name="proxy-AlignV">"Centre"</string> + <long name="proxy-Stretch factor">0</long> + <long name="proxy-Border">5</long> + <bool name="proxy-wxLEFT">1</bool> + <bool name="proxy-wxRIGHT">1</bool> + <bool name="proxy-wxTOP">1</bool> + <bool name="proxy-wxBOTTOM">1</bool> + <bool name="proxy-wxSHAPED">0</bool> + <bool name="proxy-wxADJUST_MINSIZE">0</bool> + <bool name="proxy-wxFIXED_MINSIZE">0</bool> + <document> + <string name="title">"wxButton: START_BUTTON"</string> + <string name="type">"dialog-control-document"</string> + <string name="filename">""</string> + <string name="icon-name">"dialogcontrol"</string> + <long name="is-transient">0</long> + <long name="owns-file">1</long> + <long name="title-mode">0</long> + <long name="locked">0</long> + <string name="proxy-type">"wbButtonProxy"</string> + <string name="proxy-Id name">"START_BUTTON"</string> + <long name="proxy-Id value">10017</long> + <string name="proxy-Name">""</string> + <string name="proxy-Class">"wxButton"</string> + <string name="proxy-Base class">"wxButton"</string> + <bool name="proxy-External implementation">1</bool> + <bool name="proxy-Separate files">0</bool> + <string name="proxy-Implementation filename">""</string> + <string name="proxy-Header filename">""</string> + <string name="proxy-Member variable name">""</string> + <string name="proxy-Label">"Start"</string> + <bool name="proxy-Default">1</bool> + <string name="proxy-Help text">""</string> + <string name="proxy-Tooltip text">""</string> + <string name="proxy-Data variable">""</string> + <string name="proxy-Data validator">""</string> + <string name="proxy-Data source">""</string> + <string name="proxy-Data class name">""</string> + <string name="proxy-Data class implementation filename">""</string> + <string name="proxy-Data class header filename">""</string> + <string name="proxy-Data class manager window">""</string> + <string name="proxy-Background colour">""</string> + <string name="proxy-Foreground colour">""</string> + <string name="proxy-Font">""</string> + <bool name="proxy-Hidden">0</bool> + <bool name="proxy-Enabled">1</bool> + <string name="proxy-Platform">"<Any platform>"</string> + <bool name="proxy-wxBU_LEFT">0</bool> + <bool name="proxy-wxBU_RIGHT">0</bool> + <bool name="proxy-wxBU_TOP">0</bool> + <bool name="proxy-wxBU_BOTTOM">0</bool> + <bool name="proxy-wxBU_EXACTFIT">0</bool> + <bool name="proxy-wxNO_BORDER">0</bool> + <bool name="proxy-wxWANTS_CHARS">0</bool> + <bool name="proxy-wxNO_FULL_REPAINT_ON_RESIZE">0</bool> + <bool name="proxy-wxFULL_REPAINT_ON_RESIZE">0</bool> + <string name="proxy-Custom styles">""</string> + <long name="proxy-X">-1</long> + <long name="proxy-Y">-1</long> + <long name="proxy-Width">-1</long> + <long name="proxy-Height">-1</long> + <string name="proxy-AlignH">"Centre"</string> + <string name="proxy-AlignV">"Centre"</string> + <long name="proxy-Stretch factor">0</long> + <long name="proxy-Border">5</long> + <bool name="proxy-wxLEFT">1</bool> + <bool name="proxy-wxRIGHT">1</bool> + <bool name="proxy-wxTOP">1</bool> + <bool name="proxy-wxBOTTOM">1</bool> + <bool name="proxy-wxSHAPED">0</bool> + <bool name="proxy-wxADJUST_MINSIZE">0</bool> + <bool name="proxy-wxFIXED_MINSIZE">0</bool> + <string name="proxy-Custom arguments">""</string> + <string name="proxy-Custom ctor arguments">""</string> + </document> + <document> + <string name="title">"wxButton: STOP_BUTTON"</string> + <string name="type">"dialog-control-document"</string> + <string name="filename">""</string> + <string name="icon-name">"dialogcontrol"</string> + <long name="is-transient">0</long> + <long name="owns-file">1</long> + <long name="title-mode">0</long> + <long name="locked">0</long> + <string name="proxy-type">"wbButtonProxy"</string> + <string name="proxy-Id name">"STOP_BUTTON"</string> + <long name="proxy-Id value">10018</long> + <string name="proxy-Name">""</string> + <string name="proxy-Class">"wxButton"</string> + <string name="proxy-Base class">"wxButton"</string> + <bool name="proxy-External implementation">1</bool> + <bool name="proxy-Separate files">0</bool> + <string name="proxy-Implementation filename">""</string> + <string name="proxy-Header filename">""</string> + <string name="proxy-Member variable name">""</string> + <string name="proxy-Label">"Stop"</string> + <bool name="proxy-Default">0</bool> + <string name="proxy-Help text">""</string> + <string name="proxy-Tooltip text">""</string> + <string name="proxy-Data variable">""</string> + <string name="proxy-Data validator">""</string> + <string name="proxy-Data source">""</string> + <string name="proxy-Data class name">""</string> + <string name="proxy-Data class implementation filename">""</string> + <string name="proxy-Data class header filename">""</string> + <string name="proxy-Data class manager window">""</string> + <string name="proxy-Background colour">""</string> + <string name="proxy-Foreground colour">""</string> + <string name="proxy-Font">""</string> + <bool name="proxy-Hidden">0</bool> + <bool name="proxy-Enabled">1</bool> + <string name="proxy-Platform">"<Any platform>"</string> + <bool name="proxy-wxBU_LEFT">0</bool> + <bool name="proxy-wxBU_RIGHT">0</bool> + <bool name="proxy-wxBU_TOP">0</bool> + <bool name="proxy-wxBU_BOTTOM">0</bool> + <bool name="proxy-wxBU_EXACTFIT">0</bool> + <bool name="proxy-wxNO_BORDER">0</bool> + <bool name="proxy-wxWANTS_CHARS">0</bool> + <bool name="proxy-wxNO_FULL_REPAINT_ON_RESIZE">0</bool> + <bool name="proxy-wxFULL_REPAINT_ON_RESIZE">0</bool> + <string name="proxy-Custom styles">""</string> + <long name="proxy-X">-1</long> + <long name="proxy-Y">-1</long> + <long name="proxy-Width">-1</long> + <long name="proxy-Height">-1</long> + <string name="proxy-AlignH">"Centre"</string> + <string name="proxy-AlignV">"Centre"</string> + <long name="proxy-Stretch factor">0</long> + <long name="proxy-Border">5</long> + <bool name="proxy-wxLEFT">1</bool> + <bool name="proxy-wxRIGHT">1</bool> + <bool name="proxy-wxTOP">1</bool> + <bool name="proxy-wxBOTTOM">1</bool> + <bool name="proxy-wxSHAPED">0</bool> + <bool name="proxy-wxADJUST_MINSIZE">0</bool> + <bool name="proxy-wxFIXED_MINSIZE">0</bool> + <string name="proxy-Custom arguments">""</string> + <string name="proxy-Custom ctor arguments">""</string> + </document> + </document> + </document> + </document> </document> <document> <string name="title">"Sources"</string> Index: src/Applications/Seg3D/GuiCode/testtoolpanel.h =================================================================== --- src/Applications/Seg3D/GuiCode/testtoolpanel.h (revision 0) +++ src/Applications/Seg3D/GuiCode/testtoolpanel.h (revision 0) @@ -0,0 +1,100 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: testtoolpanel.h +// Purpose: +// Author: +// Modified by: +// Created: Mon 28 Sep 2009 20:11:31 BST +// RCS-ID: +// Copyright: +// Licence: +///////////////////////////////////////////////////////////////////////////// + +// Generated by DialogBlocks (unregistered), Mon 28 Sep 2009 20:11:31 BST + +#ifndef _TESTTOOLPANEL_H_ +#define _TESTTOOLPANEL_H_ + + +/*! + * Includes + */ + +////@begin includes +#include "wx/xrc/xmlres.h" +#include "wx/spinctrl.h" +////@end includes + +/*! + * Forward declarations + */ + +////@begin forward declarations +class wxSpinCtrl; +////@end forward declarations + +/*! + * Control identifiers + */ + +////@begin control identifiers +#define ID_TESTTOOLPANEL 10015 +#define SYMBOL_TESTTOOLPANEL_STYLE 0 +#define SYMBOL_TESTTOOLPANEL_TITLE _("TestToolPanel") +#define SYMBOL_TESTTOOLPANEL_IDNAME ID_TESTTOOLPANEL +#define SYMBOL_TESTTOOLPANEL_SIZE wxSize(200, -1) +#define SYMBOL_TESTTOOLPANEL_POSITION wxDefaultPosition +////@end control identifiers + + +/*! + * TestToolPanel class declaration + */ + +class TestToolPanel: public wxPanel +{ + DECLARE_DYNAMIC_CLASS( TestToolPanel ) + DECLARE_EVENT_TABLE() + +public: + /// Constructors + TestToolPanel(); + TestToolPanel( wxWindow* parent, wxWindowID id = SYMBOL_TESTTOOLPANEL_IDNAME, const wxPoint& pos = SYMBOL_TESTTOOLPANEL_POSITION, const wxSize& size = SYMBOL_TESTTOOLPANEL_SIZE, long style = SYMBOL_TESTTOOLPANEL_STYLE ); + + /// Creation + bool Create( wxWindow* parent, wxWindowID id = SYMBOL_TESTTOOLPANEL_IDNAME, const wxPoint& pos = SYMBOL_TESTTOOLPANEL_POSITION, const wxSize& size = SYMBOL_TESTTOOLPANEL_SIZE, long style = SYMBOL_TESTTOOLPANEL_STYLE ); + + /// Destructor + ~TestToolPanel(); + + /// Initialises member variables + void Init(); + + /// Creates the controls and sizers + void CreateControls(); + void OnStartButtonClick( wxCommandEvent& event ); + void OnStopButtonClick( wxCommandEvent& event ); + void OnSpinIter( wxSpinEvent& event ); + +////@begin TestToolPanel event handler declarations + +////@end TestToolPanel event handler declarations + +////@begin TestToolPanel member function declarations + + /// Retrieves bitmap resources + wxBitmap GetBitmapResource( const wxString& name ); + + /// Retrieves icon resources + wxIcon GetIconResource( const wxString& name ); +////@end TestToolPanel member function declarations + + /// Should we show tooltips? + static bool ShowToolTips(); + +////@begin TestToolPanel member variables + wxSpinCtrl* mIterations; +////@end TestToolPanel member variables +}; + +#endif + // _TESTTOOLPANEL_H_ Index: src/Applications/Seg3D/GuiCode/testtoolpanel.cpp =================================================================== --- src/Applications/Seg3D/GuiCode/testtoolpanel.cpp (revision 0) +++ src/Applications/Seg3D/GuiCode/testtoolpanel.cpp (revision 0) @@ -0,0 +1,211 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: testtoolpanel.cpp +// Purpose: +// Author: +// Modified by: +// Created: Mon 28 Sep 2009 20:11:31 BST +// RCS-ID: +// Copyright: +// Licence: +///////////////////////////////////////////////////////////////////////////// + +// Generated by DialogBlocks (unregistered), Mon 28 Sep 2009 20:11:31 BST + +// For compilers that support precompilation, includes "wx/wx.h". +#include "wx/wxprec.h" + +#ifdef __BORLANDC__ +#pragma hdrstop +#endif + +#ifndef WX_PRECOMP +#include "wx/wx.h" +#endif + +////@begin includes +////@end includes + +#include "testtoolpanel.h" +#include "seg3devents.h" + +#include <Applications/Seg3D/Painter.h> +#include <Core/Util/StringUtil.h> + +////@begin XPM images +////@end XPM images + + +/*! + * TestToolPanel type definition + */ + +IMPLEMENT_DYNAMIC_CLASS( TestToolPanel, wxPanel ) + + +/*! + * TestToolPanel event table definition + */ + +BEGIN_EVENT_TABLE( TestToolPanel, wxPanel ) + +////@begin TestToolPanel event table entries +////@end TestToolPanel event table entries + +// add controls actions to the event table +EVT_BUTTON( XRCID("START_BUTTON"), TestToolPanel::OnStartButtonClick ) +EVT_BUTTON( XRCID("STOP_BUTTON"), TestToolPanel::OnStopButtonClick ) +EVT_SPINCTRL( XRCID("ID_SPINCTRL"), TestToolPanel::OnSpinIter ) + +END_EVENT_TABLE() + + +/*! + * TestToolPanel constructors + */ + +TestToolPanel::TestToolPanel() +{ + Init(); +} + +TestToolPanel::TestToolPanel( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) +{ + Init(); + Create(parent, id, pos, size, style); +} + + +/*! + * TestToolPanel creator + */ + +bool TestToolPanel::Create( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) +{ +////@begin TestToolPanel creation + SetParent(parent); + CreateControls(); + if (GetSizer()) + { + GetSizer()->SetSizeHints(this); + } +////@end TestToolPanel creation + return true; +} + + +/*! + * TestToolPanel destructor + */ + +TestToolPanel::~TestToolPanel() +{ +////@begin TestToolPanel destruction +////@end TestToolPanel destruction +} + + +/*! + * Member initialisation + */ + +void TestToolPanel::Init() +{ +////@begin TestToolPanel member initialisation + mIterations = NULL; +////@end TestToolPanel member initialisation +} + + +/*! + * Control creation for TestToolPanel + */ + +void TestToolPanel::CreateControls() +{ +////@begin TestToolPanel content construction + // Generated by DialogBlocks, Thu 01 Oct 2009 12:11:35 BST (unregistered) + + if (!wxXmlResource::Get()->LoadPanel(this, GetParent(), _T("ID_TESTTOOLPANEL"))) + wxLogError(wxT("Missing wxXmlResource::Get()->Load() in OnInit()?")); + mIterations = XRCCTRL(*this, "ID_SPINCTRL", wxSpinCtrl); +////@end TestToolPanel content construction + + // Create custom windows not generated automatically here. +////@begin TestToolPanel content initialisation +////@end TestToolPanel content initialisation +} + + +/*! + * Should we show tooltips? + */ + +bool TestToolPanel::ShowToolTips() +{ + return true; +} + +/*! + * Get bitmap resources + */ + +wxBitmap TestToolPanel::GetBitmapResource( const wxString& name ) +{ + // Bitmap retrieval +////@begin TestToolPanel bitmap retrieval + wxUnusedVar(name); + return wxNullBitmap; +////@end TestToolPanel bitmap retrieval +} + +/*! + * Get icon resources + */ + +wxIcon TestToolPanel::GetIconResource( const wxString& name ) +{ + // Icon retrieval +////@begin TestToolPanel icon retrieval + wxUnusedVar(name); + return wxNullIcon; +////@end TestToolPanel icon retrieval +} + +/* + * Action when activating Start button + */ +void TestToolPanel::OnStartButtonClick( wxCommandEvent& event ) { + + + std::cout << "GUI: Start button clicked" << std::endl; + + wxBeginBusyCursor(); + SCIRun::Painter::ThrowSkinnerSignal("Painter::FinishTool"); + wxEndBusyCursor(); + +} + +/* + * Action when activating Stop button + */ +void TestToolPanel::OnStopButtonClick( wxCommandEvent& event ) { + + std::cout << "GUI: Stop button clicked" << std::endl; + +} + +/* + * Action when activating Spin box + */ +void TestToolPanel::OnSpinIter( wxSpinEvent& event ) { + + std::cout << "GUI: mIterations: " + << mIterations->GetValue() << std::endl; + + SCIRun::ThrowSkinnerSignalEvent *tsse = + new SCIRun::ThrowSkinnerSignalEvent( "Painter::UpdateTestIterations" ); + tsse->add_var( "Painter::testtool_nIter", + SCIRun::to_string( event.GetPosition() ) ); + SCIRun::Painter::ThrowSkinnerSignal( tsse ); + +} Index: src/Applications/Seg3D/Painter.h =================================================================== --- src/Applications/Seg3D/Painter.h (revision 44493) +++ src/Applications/Seg3D/Painter.h (working copy) @@ -229,6 +229,7 @@ CatcherFunction_t StartThresholdTool; CatcherFunction_t StartWindowLevelTool; CatcherFunction_t StartMeasurementTool; + CatcherFunction_t StartTestTool; CatcherFunction_t VolumeInformation; @@ -305,6 +306,8 @@ CatcherFunction_t UpdateBrushRadius; CatcherFunction_t UpdateThresholdTool; CatcherFunction_t UpdateWindowLevelTool; + CatcherFunction_t UpdateTestIterations; + CatcherFunction_t TestVolume; CatcherFunction_t OpenLabelColorDialog; CatcherFunction_t SetLabelColor; @@ -469,7 +472,26 @@ }; +class UpdateTestIterationsEvent : public BaseEvent +{ + int nIter_; +public: + UpdateTestIterationsEvent( int nIter ) + : BaseEvent(), nIter_( nIter ) + { + } + + virtual BaseEvent *clone() + { return new UpdateTestIterationsEvent(nIter_); } + virtual ~UpdateTestIterationsEvent() {} + + int get_nIter() { + return nIter_; + } +}; + + class DilateEvent : public QuitEvent { public: Index: src/Applications/Seg3D/Seg3DFrame.h =================================================================== --- src/Applications/Seg3D/Seg3DFrame.h (revision 44493) +++ src/Applications/Seg3D/Seg3DFrame.h (working copy) @@ -75,6 +75,7 @@ class MoveScaleToolPanel; class MeasurementTool; class IntensityCorrectionFilterPanel; +class TestToolPanel; class ITKSpeedToPathGradientDescentFilter; class ITKSpeedToPathRegularStepGradientDescentFilter; @@ -128,6 +129,7 @@ MENU_TOOL_WINDOWLEVEL, MENU_TOOL_MOVESCALE, MENU_TOOL_MEASUREMENT, + MENU_TOOL_TEST, MENU_FILTER_C_A_D_F = 500, MENU_FILTER_C_C_F, @@ -262,6 +264,7 @@ void ToolWindowLevel( wxCommandEvent& WXUNUSED(event) ); void ToolMoveScale( wxCommandEvent& WXUNUSED(event) ); void ToolMeasurement( wxCommandEvent& WXUNUSED(event) ); + void ToolTest( wxCommandEvent& WXUNUSED(event) ); void Filter_CADF( wxCommandEvent& WXUNUSED(event) ); void Filter_CCF( wxCommandEvent& WXUNUSED(event) ); @@ -335,6 +338,7 @@ MoveScaleToolPanel *movescaletoolpanel_; MeasurementTool *measurementtoolpanel_; IntensityCorrectionFilterPanel *intensitycorrectionfilterpanel_; + TestToolPanel *testtoolpanel_; ITKSpeedToPathGradientDescentFilter* itk_STPGDF_; ITKSpeedToPathRegularStepGradientDescentFilter* itk_STPRSGDF_;
Archive powered by MHonArc 2.6.16.