From 965c602117e9de99019d49bd78ca1d707a1a6bd2 Mon Sep 17 00:00:00 2001 From: Eduardo Davila Date: Fri, 22 Oct 2010 16:16:48 +0000 Subject: [PATCH] *** empty log message *** --- .../bbcreaMaracasVisuColorLayerImageView.cxx | 4 +- .../bbcreaMaracasVisuColorLayerImageView.h | 2 + .../ThresholdImageView/128002.diagram | 78 +++++----- .../ThresholdImageView/2.session | 2 +- .../ThresholdImageView/ThresholdImageView.prj | 4 +- .../ThresholdImageView_html/fig128002.png | Bin 58146 -> 60692 bytes .../ColorLayerImageViewPanel.cxx | 123 ++++++++------- .../ColorLayerImageViewPanel.h | 1 + .../ThresholdImageView/LayerImageBase.cxx | 4 +- .../manualPaint/ManualPaintControler.cpp | 61 ++++++++ .../manualPaint/ManualPaintControler.h | 33 ++++ .../widgets/manualPaint/ManualPaintModel.cpp | 68 +++++++++ .../widgets/manualPaint/ManualPaintModel.h | 30 ++++ .../widgets/manualPaint/ManualPaintPanel.cpp | 45 ++++++ .../widgets/manualPaint/ManualPaintPanel.h | 24 +++ .../manualPaint/vtkInteractorManualPaint.cpp | 76 ++++++++++ .../manualPaint/vtkInteractorManualPaint.h | 25 +++ .../manualPaint/wxManualPaintPanel.cpp | 142 ++++++++++++++++++ .../widgets/manualPaint/wxManualPaintPanel.h | 32 ++++ 19 files changed, 653 insertions(+), 101 deletions(-) create mode 100644 lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintControler.cpp create mode 100644 lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintControler.h create mode 100644 lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintModel.cpp create mode 100644 lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintModel.h create mode 100644 lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintPanel.cpp create mode 100644 lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintPanel.h create mode 100644 lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/vtkInteractorManualPaint.cpp create mode 100644 lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/vtkInteractorManualPaint.h create mode 100644 lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/wxManualPaintPanel.cpp create mode 100644 lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/wxManualPaintPanel.h diff --git a/bbtk/src/bbcreaMaracasVisuColorLayerImageView.cxx b/bbtk/src/bbcreaMaracasVisuColorLayerImageView.cxx index 4885cbd..3c25755 100644 --- a/bbtk/src/bbcreaMaracasVisuColorLayerImageView.cxx +++ b/bbtk/src/bbcreaMaracasVisuColorLayerImageView.cxx @@ -19,6 +19,7 @@ void ColorLayerImageView::Process() ColorLayerImageViewPanel *clivp = (ColorLayerImageViewPanel*)bbGetOutputWidget(); clivp->GetColorLayerImageView()->SetwxVtkBaseView( bbGetInputWxVtkBaseView() ); + clivp->SetImage( bbGetInputIn() ); // std::string msg; // if (bbGetInputTitle()!="") @@ -43,7 +44,8 @@ void ColorLayerImageView::CreateWidget(wxWindow* parent) //===== void ColorLayerImageView::bbUserSetDefaultValues() { - + bbSetInputIn(NULL); + bbSetInputWxVtkBaseView(NULL); } //===== // Don't edit this file. This file is generated from xml description.. diff --git a/bbtk/src/bbcreaMaracasVisuColorLayerImageView.h b/bbtk/src/bbcreaMaracasVisuColorLayerImageView.h index 89c9b2d..de203af 100644 --- a/bbtk/src/bbcreaMaracasVisuColorLayerImageView.h +++ b/bbtk/src/bbcreaMaracasVisuColorLayerImageView.h @@ -21,6 +21,7 @@ class bbcreaMaracasVisu_EXPORT ColorLayerImageView // Don't edit this file. This file is generated from xml description.. //===== BBTK_DECLARE_INPUT(WxVtkBaseView,wxVtkBaseView *); + BBTK_DECLARE_INPUT(In,vtkImageData*); BBTK_PROCESS(Process); void Process(); BBTK_CREATE_WIDGET(CreateWidget); @@ -36,6 +37,7 @@ BBTK_NAME("ColorLayerImageView"); BBTK_AUTHOR("Eduardo DAVILA (Creatis)"); BBTK_DESCRIPTION("Color Laye rImage View"); BBTK_CATEGORY("__CategoryBlackBox__"); +BBTK_INPUT(ColorLayerImageView,In,"Input Image",vtkImageData*,""); BBTK_INPUT(ColorLayerImageView,WxVtkBaseView,"creaMaracasVisuViewer viewer",wxVtkBaseView*,""); BBTK_END_DESCRIBE_BLACK_BOX(ColorLayerImageView); //===== diff --git a/lib/doxygen/bouml/ThresholdImageView/ThresholdImageView/128002.diagram b/lib/doxygen/bouml/ThresholdImageView/ThresholdImageView/128002.diagram index 31224f8..93d780c 100644 --- a/lib/doxygen/bouml/ThresholdImageView/ThresholdImageView/128002.diagram +++ b/lib/doxygen/bouml/ThresholdImageView/ThresholdImageView/128002.diagram @@ -2,98 +2,98 @@ format 73 classcanvas 128002 class_ref 128002 // ThresholdImageViewPanel draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default - xyz 150.4 593.6 2000 + xyz 150.6 593.4 2000 end classcanvas 128130 class_ref 128130 // wxPanel draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default color mediumgreen - xyz 337.7 465.8 2000 + xyz 337.3 465.2 2000 end classcanvas 128386 class_ref 128258 // ThresholdImageView draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default - xyz 116.7 387 2005 + xyz 116.3 387 2005 end classcanvas 128642 class_ref 128386 // LayerImageBase draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default - xyz 328.3 230.3 2000 + xyz 328.7 230.7 2000 end classcanvas 128898 class_ref 128514 // ColorLayerImageViewPanel draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default - xyz 533.2 592.5 2000 + xyz 533.8 589.5 2000 end classcanvas 129154 class_ref 128642 // ColorLayerImageView draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default - xyz 517.3 387 2000 + xyz 517.7 387 2000 end classcanvas 130306 class_ref 128770 // wxVtkBaseView draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default color gold - xyz 88.9 230.3 2000 + xyz 88.1 230.7 2000 end classcanvas 130562 class_ref 128898 // mBarRange draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default - xyz 71.5 451.4 2000 + xyz 71.5 451.6 2000 end classcanvas 130818 class_ref 129026 // wxDlgTransformByDimensionBySpacingByPixel draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default - xyz 425.8 311.4 2000 + xyz 425.2 311.6 2000 end classcanvas 131074 class_ref 129154 // vtkImageData draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default color darkblue - xyz 522.5 46.9 2000 + xyz 522.5 46.1 2000 end classcanvas 131330 class_ref 129282 // vtkImageReslice draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default color darkblue - xyz 569.4 94.7 2000 + xyz 569.6 94.3 2000 end classcanvas 131586 class_ref 129410 // vtkLookupTable draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default color darkblue - xyz 611.2 142.5 2000 + xyz 611.8 142.5 2000 end classcanvas 131714 class_ref 129538 // vtkImageMapToColors draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default color darkblue - xyz 608.6 199.2 2011 + xyz 608.4 199.8 2011 end classcanvas 131842 class_ref 129666 // vtkImageActor draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default color darkblue - xyz 614 254.7 2006 + xyz 614 254.3 2006 end note 132482 "wxVtkViewer Class Diagram 1" - xyzwh 85.6 113.3 2000 163 81 + xyzwh 85.4 113.7 2000 163 81 classcanvas 132738 class_ref 136194 // bbcreaMaracasVisuColorLayerImageView draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default color lightorange - xyz 271.2 911.3 2005 + xyz 271.4 911.5 2005 end note 132866 "Inputs of the box" - xyzwh 48.9 914.6 2000 157 41 + xyzwh 48.7 914.8 2000 157 41 note 133122 "Output of the box" - xyzwh 660.7 912 2000 163 39 + xyzwh 660.5 912.8 2000 163 39 classcanvas 133890 class_ref 136322 // wxWindow draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default color mediumgreen - xyz 327.6 391.4 2000 + xyz 327.4 391.6 2000 end -classcanvas 136066 class_ref 136450 // bbcreaMaracasVisuLayerImageBase +classcanvas 136066 class_ref 136450 // bbcreaMaracasVisuThresholdImageView draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default color lightorange - xyz 112.8 669.3 2012 + xyz 81.8 663.2 2012 end note 139010 "Input of the box " - xyzwh 44 723 2000 97 68 + xyzwh 44.6 722.8 2000 97 68 note 139138 "Output of the box " - xyzwh 366 734 2000 97 66 + xyzwh 378 732 2000 97 66 note 139778 "This box is missing.. EED" - xyzwh 177 766 2000 148 72 + xyzwh 177 765.8 2000 148 72 relationcanvas 128258 relation_ref 128002 // - from ref 128002 z 2001 to point 374.6 542.4 + from ref 128002 z 2001 to point 374.8 542.2 line 135938 z 2001 to ref 128130 no_role_a no_role_b no_multiplicity_a no_multiplicity_b @@ -104,19 +104,19 @@ relationcanvas 128514 relation_ref 128130 // no_multiplicity_a no_multiplicity_b end relationcanvas 128770 relation_ref 128258 // - from ref 128386 z 2006 to point 400.2 359.1 + from ref 128386 z 2006 to point 400.6 359.8 line 135170 z 2006 to ref 128642 no_role_a no_role_b no_multiplicity_a no_multiplicity_b end relationcanvas 129026 relation_ref 128386 // - from ref 128898 z 2001 to point 374.6 543.5 + from ref 128898 z 2001 to point 374.8 543 line 135810 z 2001 to ref 128130 no_role_a no_role_b no_multiplicity_a no_multiplicity_b end relationcanvas 129282 relation_ref 128514 // - from ref 129154 z 2001 to point 400.2 359.1 + from ref 129154 z 2001 to point 400.6 359.8 line 135042 z 2001 to ref 128642 no_role_a no_role_b no_multiplicity_a no_multiplicity_b @@ -137,8 +137,8 @@ relationcanvas 130690 relation_ref 128898 // no_multiplicity_a no_multiplicity_b end relationcanvas 130946 relation_ref 129026 // - from ref 128898 z 2001 to point 784.6 539.1 - line 135426 z 2001 to point 783.5 366.8 + from ref 128898 z 2001 to point 784.8 539.8 + line 135426 z 2001 to point 783 366.4 line 135554 z 2001 to ref 130818 no_role_a no_role_b no_multiplicity_a no_multiplicity_b @@ -169,8 +169,8 @@ relationcanvas 132226 relation_ref 129666 // no_multiplicity_a no_multiplicity_b end relationcanvas 133378 relation_ref 136194 // - from ref 132738 z 2006 to point 22.5 871.8 - line 133506 z 2006 to point 23.5 250.2 + from ref 132738 z 2006 to point 22.2 871.4 + line 133506 z 2006 to point 23 250.6 line 133762 z 2006 to ref 130306 no_role_a no_role_b no_multiplicity_a no_multiplicity_b @@ -181,14 +181,14 @@ relationcanvas 134018 relation_ref 136322 // no_multiplicity_a no_multiplicity_b end relationcanvas 134146 relation_ref 136450 // - from ref 132738 z 2006 to point 508.8 809.7 - line 138242 z 2006 to point 461.3 427.9 + from ref 132738 z 2006 to point 508 809.8 + line 138242 z 2006 to point 461.4 427.2 line 134402 z 2006 to ref 133890 no_role_a no_role_b no_multiplicity_a no_multiplicity_b end relationcanvas 134914 relation_ref 136706 // - from ref 132738 z 2006 to point 675 849 + from ref 132738 z 2006 to point 675.6 849.8 line 138882 z 2006 to ref 128898 no_role_a no_role_b no_multiplicity_a no_multiplicity_b @@ -199,15 +199,15 @@ relationcanvas 136834 relation_ref 137090 // no_multiplicity_a no_multiplicity_b end relationcanvas 137090 relation_ref 137218 // - from ref 136066 z 2013 to point 493.5 681.3 - line 137858 z 2013 to point 460.2 427.9 + from ref 136066 z 2013 to point 493 681.4 + line 137858 z 2013 to point 460.6 427.2 line 138498 z 2013 to ref 133890 no_role_a no_role_b no_multiplicity_a no_multiplicity_b end relationcanvas 137474 relation_ref 137474 // - from ref 136066 z 2013 to point 23.5 676.8 - line 138754 z 2013 to point 23.5 249.1 + from ref 136066 z 2013 to point 23 676.4 + line 138754 z 2013 to point 23 249.8 line 138626 z 2013 to ref 130306 no_role_a no_role_b no_multiplicity_a no_multiplicity_b diff --git a/lib/doxygen/bouml/ThresholdImageView/ThresholdImageView/2.session b/lib/doxygen/bouml/ThresholdImageView/ThresholdImageView/2.session index c609f1b..25dfec3 100644 --- a/lib/doxygen/bouml/ThresholdImageView/ThresholdImageView/2.session +++ b/lib/doxygen/bouml/ThresholdImageView/ThresholdImageView/2.session @@ -1,7 +1,7 @@ window_sizes 1322 787 337 975 597 92 diagrams active classdiagram_ref 128002 // ThresholdImageView_DiagramClass - 975 597 90 4 288 0 + 975 597 90 4 252 0 end show_stereotypes selected classdiagram_ref 128002 // ThresholdImageView_DiagramClass diff --git a/lib/doxygen/bouml/ThresholdImageView/ThresholdImageView/ThresholdImageView.prj b/lib/doxygen/bouml/ThresholdImageView/ThresholdImageView/ThresholdImageView.prj index 921b28b..e8dbfee 100644 --- a/lib/doxygen/bouml/ThresholdImageView/ThresholdImageView/ThresholdImageView.prj +++ b/lib/doxygen/bouml/ThresholdImageView/ThresholdImageView/ThresholdImageView.prj @@ -1,6 +1,6 @@ format 73 "ThresholdImageView" - revision 2 + revision 3 modified_by 2 "davila" @@ -432,7 +432,7 @@ ${inlines} end - class 136450 "bbcreaMaracasVisuLayerImageBase" + class 136450 "bbcreaMaracasVisuThresholdImageView" visibility package cpp_decl "${comment}${template}class ${name}${inherit} { ${members}}; diff --git a/lib/doxygen/bouml/ThresholdImageView/ThresholdImageView_html/fig128002.png b/lib/doxygen/bouml/ThresholdImageView/ThresholdImageView_html/fig128002.png index 2801de0fe800716ff598e63f2efb505b2f065cd7..4d3f7e67cc2810cd324b5eda45067e9f7b4f08e1 100644 GIT binary patch literal 60692 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 CPOi`Z literal 58146 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 diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/ColorLayerImageViewPanel.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/ColorLayerImageViewPanel.cxx index 0d68842..9b4a06a 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/ColorLayerImageViewPanel.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/ColorLayerImageViewPanel.cxx @@ -172,6 +172,72 @@ void ColorLayerImageViewPanel::SetBaseDimension(int dim[3]) _dimBase[2] = dim[2]; } +//---------------------------------------------------------------------------- +void ColorLayerImageViewPanel::SetImage(vtkImageData *img) +{ + if (img!=NULL) + { + _colorLayerImageView->SetImage( img ); + + double spc[3]; + img->GetSpacing(spc); + + int dim[3]; + int ext[6]; + img->GetWholeExtent(ext); + dim[0] = ext[1]-ext[0]; + dim[1] = ext[3]-ext[2]; + dim[2] = ext[5]-ext[4]; + _sl_SliceImage->SetRange( 0 , dim[2] ); + + if ( (spc[0]!=_spcBase[0]) || (spc[1]!=_spcBase[1]) || (spc[2]!=_spcBase[2]) || + (dim[0]!=_dimBase[0]) || (spc[1]!=_spcBase[1]) || (spc[2]!=_spcBase[2]) + ) + { + + bool transformOkDlg; + int typeOfTransformation; + wxString msg = _T("The image resolution of both images are not compatible. Do you want to tranform it? "); + wxDlgTransformByDimensionBySpacingByPixel dlg; + dlg.GetTransformType(this,msg,typeOfTransformation,transformOkDlg); + + printf("EED ColorLayerImageViewPanel::onReadImage call dialog spc size,dim...???\n"); + + if (typeOfTransformation==0) // make dimensions equals + { + printf("EED ColorLayerImageViewPanel::onReadImage ...WARNNING.... dif size image spc*dim ofnew image ...???\n"); + spc[0]=_spcBase[0]*_dimBase[0]/dim[0]; + spc[1]=_spcBase[1]*_dimBase[1]/dim[1]; + spc[2] = 1; + } + + if (typeOfTransformation==1) // make spacing equals + { + spc[0] = ( _spcBase[0]/spc[0] ) * _spcOrg[0]; + spc[1] = ( _spcBase[1]/spc[1] ) * _spcOrg[1]; + spc[2] = ( _spcBase[2]/spc[2] ) * _spcOrg[2]; + } + + if (typeOfTransformation==2) // make spacing = 1 + { + spc[0] = 1; + spc[1] = 1; + spc[2] = 1; + } + + img->SetSpacing(spc); + } // spc !_spcBase dim!__dimBase + + if (_colorLayerImageView!=NULL) + { + _colorLayerImageView->onThreshold(); + _colorLayerImageView->Refresh(); + } + + + } +} + //---------------------------------------------------------------------------- void ColorLayerImageViewPanel::onReadImage(wxCommandEvent& event) { @@ -181,62 +247,7 @@ void ColorLayerImageViewPanel::onReadImage(wxCommandEvent& event) printf("EED ColorLayerImageViewPanel::onReadImage ....WARNING... Read dlg. all images creaImageIO ... ???\n"); creaMaracasVisuKernel::OpenImageDialog diag = creaMaracasVisuKernel::OpenImageDialog(); - _colorLayerImageView->SetImage( diag.getImageData() ); - - double spc[3]; - diag.getImageData()->GetSpacing(spc); - - int dim[3]; - int ext[6]; - diag.getImageData()->GetWholeExtent(ext); - dim[0] = ext[1]-ext[0]; - dim[1] = ext[3]-ext[2]; - dim[2] = ext[5]-ext[4]; - _sl_SliceImage->SetRange( 0 , dim[2] ); - - if ( (spc[0]!=_spcBase[0]) || (spc[1]!=_spcBase[1]) || (spc[2]!=_spcBase[2]) || - (dim[0]!=_dimBase[0]) || (spc[1]!=_spcBase[1]) || (spc[2]!=_spcBase[2]) - ) - { - - bool transformOkDlg; - int typeOfTransformation; - wxString msg = _T("The image resolution of both images are not compatible. Do you want to tranform it? "); - wxDlgTransformByDimensionBySpacingByPixel dlg; - dlg.GetTransformType(this,msg,typeOfTransformation,transformOkDlg); - -printf("EED ColorLayerImageViewPanel::onReadImage call dialog spc size,dim...???\n"); - - if (typeOfTransformation==0) // make dimensions equals - { - printf("EED ColorLayerImageViewPanel::onReadImage ...WARNNING.... dif size image spc*dim ofnew image ...???\n"); - spc[0]=_spcBase[0]*_dimBase[0]/dim[0]; - spc[1]=_spcBase[1]*_dimBase[1]/dim[1]; - spc[2] = 1; - } - - if (typeOfTransformation==1) // make spacing equals - { - spc[0] = ( _spcBase[0]/spc[0] ) * _spcOrg[0]; - spc[1] = ( _spcBase[1]/spc[1] ) * _spcOrg[1]; - spc[2] = ( _spcBase[2]/spc[2] ) * _spcOrg[2]; - } - - if (typeOfTransformation==2) // make spacing = 1 - { - spc[0] = 1; - spc[1] = 1; - spc[2] = 1; - } - - diag.getImageData()->SetSpacing(spc); - } // spc !_spcBase dim!__dimBase - - if (_colorLayerImageView!=NULL) - { - _colorLayerImageView->onThreshold(); - _colorLayerImageView->Refresh(); - } + SetImage( diag.getImageData() ); } //---------------------------------------------------------------------------- diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/ColorLayerImageViewPanel.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/ColorLayerImageViewPanel.h index 03cff54..1912199 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/ColorLayerImageViewPanel.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/ColorLayerImageViewPanel.h @@ -43,6 +43,7 @@ class wxDlgTransformByDimensionBySpacingByPixel void SetBaseSpacing(double spc[3]); void SetBaseDimension(int dim[3]); void SetOriginalSpacing(double spc[3]); + void SetImage(vtkImageData *img); private: int _dimBase[3]; diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/LayerImageBase.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/LayerImageBase.cxx index beb17ea..ee8a7fc 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/LayerImageBase.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/LayerImageBase.cxx @@ -144,8 +144,8 @@ void LayerImageBase::onThreshold() _imageReslicer->SetResliceAxesOrigin(0,0,z); vtkImageData *img = _imageReslicer->GetOutput(); - img->Update(); - img->UpdateInformation(); +// img->Update(); +// img->UpdateInformation(); _thresholdMapper->SetInput( img ); _thresholdMapper->SetLookupTable( _thresholdTable ); diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintControler.cpp b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintControler.cpp new file mode 100644 index 0000000..6cab077 --- /dev/null +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintControler.cpp @@ -0,0 +1,61 @@ + +#include "ManualPaintControler.h" +#include "vtkInteractorManualPaint.h" +#include "wxVtk2DBaseView.h" +#include "vtkImageActor.h" + +//--------------------------------------------------------------------------- +ManualPaintControler::ManualPaintControler() +{ + auxZ=0; +} + +//--------------------------------------------------------------------------- +ManualPaintControler::~ManualPaintControler() +{ +} + +//--------------------------------------------------------------------------- +void ManualPaintControler::SetManualPaintModel(ManualPaintModel* manualPaintModel) +{ + _manualPaintModel = manualPaintModel; +} + +//--------------------------------------------------------------------------- +void ManualPaintControler::SetManualPaintPanel(ManualPaintPanel* manualPaintPanel) +{ + _manualPaintPanel = manualPaintPanel; +} + +//--------------------------------------------------------------------------- +void ManualPaintControler::SetWxVtkBaseView(wxVtkBaseView *baseview) +{ + _wxvtkbaseview = baseview; +} + +//--------------------------------------------------------------------------- +void ManualPaintControler::Config() +{ + vtkInteractorManualPaint *imp = new vtkInteractorManualPaint(this); + vtkInteractorStyleBaseView *isbv = (vtkInteractorStyleBaseView*)(_wxvtkbaseview->GetInteractorStyleBaseView()); + isbv->AddInteractorStyleMaracas(imp); +} + + + +//--------------------------------------------------------------------------- +void ManualPaintControler::PaintImage(int px,int py, int pz) +{ + _manualPaintModel->PaintImage(px,py,pz); + RefreshView(); +} + +//--------------------------------------------------------------------------- +void ManualPaintControler::RefreshView() +{ + wxVtk2DBaseView *wxvtk2Dbaseview = (wxVtk2DBaseView*)_wxvtkbaseview; + vtkImageViewer2 *vtkimageviewer2 = wxvtk2Dbaseview->_imageViewer2XYZ->GetVtkImageViewer2(); + vtkimageviewer2->GetWindowLevel()->Modified(); + +} + diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintControler.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintControler.h new file mode 100644 index 0000000..66c8d9e --- /dev/null +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintControler.h @@ -0,0 +1,33 @@ +#ifndef _MANUAL_PAINT_CONTROLER_H_ +#define _MANUAL_PAINT_CONTROLER_H_ + +#include "ManualPaintModel.h" +#include "ManualPaintPanel.h" +#include "wxVtkBaseView.h" + + +class ManualPaintControler { +public: + ManualPaintControler(); + virtual ~ManualPaintControler(); + + void SetManualPaintModel(ManualPaintModel* manualPaintModel); + void SetManualPaintPanel(ManualPaintPanel* manualPaintPanel); + void SetWxVtkBaseView(wxVtkBaseView *baseview); + void Config(); + void PaintImage(int px,int py, int pz); + +private: + int auxZ; + ManualPaintModel *_manualPaintModel; + ManualPaintPanel *_manualPaintPanel; + wxVtkBaseView *_wxvtkbaseview; + + void RefreshView(); + +protected: + +}; + + +#endif // _MANUAL_PAINT_CONTROLER_H_ diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintModel.cpp b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintModel.cpp new file mode 100644 index 0000000..a9a84e0 --- /dev/null +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintModel.cpp @@ -0,0 +1,68 @@ + +#include "ManualPaintModel.h" + + +ManualPaintModel::ManualPaintModel() +{ + _graylevel=0.0; + _brushsize=1; +} + +//--------------------------------------------------------------------------- +ManualPaintModel::~ManualPaintModel() +{ +} + +void ManualPaintModel::SetImage(vtkImageData *image) +{ + _image=image; +} + +void ManualPaintModel::PaintImage(int px,int py, int pz) +{ + if (_image!=NULL) + { + float value=(float)_graylevel; + int i,j,k; + int size = _brushsize-1; + int minX=px-size; + int maxX=px+size; + int minY=py-size; + int maxY=py+size; + int minZ=pz-size; + int maxZ=pz+size; + + for (i=minX; i<=maxX; i++) + { + for (j=minY; j<=maxY; j++) + { + for (k=minZ; k<=maxZ; k++) + { + _image->SetScalarComponentFromFloat (i,j,k, 0, value ); + } + } + } + _image->Modified(); + _image->UpdateInformation(); + _image->Update(); + _image->UpdateData(); + } else { + printf("ERROR : bbcreaMaracasvisu::vtkInteractorManualPaint::PaintImage : Image not set. \n"); + } +} + + +//--------------------------------------------------------------------------- +void ManualPaintModel::SetBrushSize( int brushsize ) +{ + printf("EED %p ManualPaintModel::SetBrushSize \n", this); + _brushsize = brushsize; +} + +//--------------------------------------------------------------------------- +void ManualPaintModel::SetGrayLevel( double graylevel ) +{ + printf("EED %p ManualPaintModel::SetGrayLevel \n", this); + _graylevel = graylevel; +} + diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintModel.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintModel.h new file mode 100644 index 0000000..2be8224 --- /dev/null +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintModel.h @@ -0,0 +1,30 @@ +#ifndef _MANUAL_PAINT_MODEL_H_ +#define _MANUAL_PAINT_MODEL_H_ + +#include + + +class ManualPaintModel { +public: + ManualPaintModel(); + virtual ~ManualPaintModel(); + + void SetImage(vtkImageData *image); + void PaintImage(int px,int py, int pz); + void SetBrushSize( int brushsize ); + void SetGrayLevel( double graylevel ); + + + +private: + vtkImageData *_image; + int _brushsize; + double _graylevel; + + +protected: + +}; + + +#endif // _MANUAL_PAINT_MODEL_H_ diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintPanel.cpp b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintPanel.cpp new file mode 100644 index 0000000..78114cc --- /dev/null +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintPanel.cpp @@ -0,0 +1,45 @@ + +#include "ManualPaintPanel.h" + + +ManualPaintPanel::ManualPaintPanel() +{ + _manualPaintModel=NULL; +} + +//--------------------------------------------------------------------------- +ManualPaintPanel::~ManualPaintPanel() +{ +} + +//--------------------------------------------------------------------------- +void ManualPaintPanel::SetManualPaintModel(ManualPaintModel* manualPaintModel) +{ + printf("EED %p ManualPaintPanel::SetManualPaintModel manualPaintModel=%p\n", this, manualPaintModel); + _manualPaintModel = manualPaintModel; +} + + +//--------------------------------------------------------------------------- +void ManualPaintPanel::SetBrushSize( int brushsize ) +{ + printf("EED %p ManualPaintPanel::SetBrushSize manualPaintModel=%p\n", this, _manualPaintModel); + if (_manualPaintModel!=NULL) + { + _manualPaintModel->SetBrushSize( brushsize ); + } else { + printf("ERROR in ManualPaintPanel _manualPaintModel not set.\n"); + } +} + +//--------------------------------------------------------------------------- +void ManualPaintPanel::SetGrayLevel( double graylevel ) +{ + if (_manualPaintModel!=NULL) + { + _manualPaintModel->SetGrayLevel( graylevel ); + } else { + printf("ERROR in ManualPaintPanel _manualPaintModel not set.\n"); + } +} + diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintPanel.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintPanel.h new file mode 100644 index 0000000..07e5dfa --- /dev/null +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintPanel.h @@ -0,0 +1,24 @@ +#ifndef _MANUAL_PAINT_PANEL_H_ +#define _MANUAL_PAINT_PANEL_H_ + +#include "ManualPaintModel.h" + +class ManualPaintPanel { +public: + ManualPaintPanel(); + virtual ~ManualPaintPanel(); + + void SetManualPaintModel(ManualPaintModel* manualPaintModel); + void SetBrushSize( int brushsize ); + void SetGrayLevel( double graylevel ); + + +private: + ManualPaintModel *_manualPaintModel; + +protected: + +}; + + +#endif // _MANUAL_PAINT_PANEL_H_ diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/vtkInteractorManualPaint.cpp b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/vtkInteractorManualPaint.cpp new file mode 100644 index 0000000..0a9a18f --- /dev/null +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/vtkInteractorManualPaint.cpp @@ -0,0 +1,76 @@ + +#include "vtkInteractorManualPaint.h" + + +#include "wxVtk2DBaseView.h" +#include "wxVTKRenderWindowInteractor.h" + + +vtkInteractorManualPaint::vtkInteractorManualPaint(ManualPaintControler* mpc) +{ + _manualPaintControler = mpc; + _state = false; +// _auxZ = 0; +} + +//--------------------------------------------------------------------------- +vtkInteractorManualPaint::~vtkInteractorManualPaint() +{ +} + +//--------------------------------------------------------------------------- +bool vtkInteractorManualPaint::OnLeftButtonDown() +{ + vtkRenderWindowInteractor *interactor = _vtkInteractorStyleBaseView->GetInteractor(); + if ( interactor->GetControlKey()==1 ){ + _state = true; +// wxVtk2DBaseView *wxvtk2Dbaseview = (wxVtk2DBaseView*)_vtkInteractorStyleBaseView->GetWxVtk2DBaseView(); +// _Z = wxvtk2Dbaseview->GetActualSlice(); + } + return true; +} + +//--------------------------------------------------------------------------- +bool vtkInteractorManualPaint::OnLeftButtonUp() +{ + _state = false; + return true; +} + +//--------------------------------------------------------------------------- +bool vtkInteractorManualPaint::OnMouseMove () +{ + if (_state==true) + { + wxVtk2DBaseView *wxvtk2Dbaseview = (wxVtk2DBaseView*)_vtkInteractorStyleBaseView->GetWxVtk2DBaseView(); + wxVTKRenderWindowInteractor *wxVTKiren = wxvtk2Dbaseview->GetWxVTKRenderWindowInteractor(); + int px,py; + wxVTKiren->GetEventPosition(px,py); + + int typeView = 2; + double X = (double)px; + double Y = (double)py; + double Z = wxvtk2Dbaseview->GetActualSlice(); + wxvtk2Dbaseview->TransFromCoordScreenToWorld(X, Y, Z,false, typeView); + +// int px = _vtkInteractorStyleBaseView->GetInteractor()->GetEventPosition()[0]; +// int py = _vtkInteractorStyleBaseView->GetInteractor()->GetEventPosition()[1]; + + _manualPaintControler->PaintImage((int)X,(int)Y,(int)Z); + +/* + wxvtk2Dbaseview->_imageViewer2XYZ->GetVtkImageViewer2()->Modified(); + wxvtk2Dbaseview->_imageViewer2XYZ->GetVtkImageViewer2()->GetImageActor()->Modified(); + wxvtk2Dbaseview->_imageViewer2XYZ->GetVtkImageViewer2()->GetImageActor()->SetDisplayExtent(0, 50+_auxZ, 0, 50,_Z, _Z ); + wxvtk2Dbaseview->Refresh(); + wxvtk2Dbaseview->RefreshView(); +// wxvtk2Dbaseview->SetActualSlice(_Z+_auxZ); + _auxZ=(_auxZ+1)%2; + wxvtk2Dbaseview->_imageViewer2XYZ->GetVtkImageViewer2()->GetRenderer()->Render(); + this->_vtkInteractorStyleBaseView->SetParent_refresh_waiting(); +*/ + }// if _state + return true; +} + + diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/vtkInteractorManualPaint.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/vtkInteractorManualPaint.h new file mode 100644 index 0000000..c52d03f --- /dev/null +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/vtkInteractorManualPaint.h @@ -0,0 +1,25 @@ +#ifndef _VTK_INTERACTOR_MANUAL_PAINT_H_ +#define _VTK_INTERACTOR_MANUAL_PAINT_H_ + +#include "InteractorStyleMaracas.h" +#include "ManualPaintControler.h" + +class vtkInteractorManualPaint : public InteractorStyleMaracas { +public: + vtkInteractorManualPaint(ManualPaintControler* mpc); + virtual ~vtkInteractorManualPaint(); + + virtual bool OnMouseMove(); + virtual bool OnLeftButtonDown(); + virtual bool OnLeftButtonUp(); + +private: + bool _state; + ManualPaintControler *_manualPaintControler; + +protected: + +}; + + +#endif // _VTK_INTERACTOR_MANUAL_PAINT_H_ diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/wxManualPaintPanel.cpp b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/wxManualPaintPanel.cpp new file mode 100644 index 0000000..40dcd5f --- /dev/null +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/wxManualPaintPanel.cpp @@ -0,0 +1,142 @@ + +#include "wxManualPaintPanel.h" +#include + +wxManualPaintPanel::wxManualPaintPanel(wxWindow * parent) + : wxPanel(parent, -1) +{ + + wxPanel *panel = this; + wxSizer *sizer = NULL; + + // Widget interface + wxStaticText *tittleText = new wxStaticText(panel, -1, _T(" Manual Paint")); + wxStaticText *txtBrushSize = new wxStaticText(panel, -1, wxString(_T(" Brush size "))); + sldBrushSize = new wxSlider(panel, -1, 1, 1, 20, wxDefaultPosition, wxDefaultSize, wxSL_LABELS); + wxStaticText *txtGrayLevel = new wxStaticText(panel, -1, wxString(_T(" Gray Level "))); + sldGrayLevel = new wxSlider(panel, -1, 0, 0, 50, wxDefaultPosition, wxDefaultSize, wxSL_LABELS); + graylevelCtrl = new wxTextCtrl(panel , -1); + + wxString lst2D3D[2]; + lst2D3D[0]=_T("2D circle"); + lst2D3D[1]=_T("3D sphere"); + wxRadioBox * rb2D3D = new wxRadioBox(panel, -1, _T("2D / 3D"), wxDefaultPosition, wxSize(270,45), 2 , lst2D3D, 2, wxRA_SPECIFY_COLS); + rb2D3D->SetSelection(1); + rb2D3D->Disable(); + + wxString lstBrushForm[2]; + lstBrushForm[0]=_T("rectangle/cube"); + lstBrushForm[1]=_T("circle/sphere"); + wxRadioBox * rbBrushForm = new wxRadioBox(panel, -1, _T("Brush form"), wxDefaultPosition, wxSize(270,45), 2 , lstBrushForm, 2, wxRA_SPECIFY_COLS); + rbBrushForm->Disable(); + + wxString lstBrushTool[2]; + lstBrushTool[0]=_T("Pensil"); + lstBrushTool[1]=_T("Fill"); + wxRadioBox *rbBrushTool = new wxRadioBox(panel, -1, _T("Brush tool"), wxDefaultPosition, wxSize(270,45), 2 , lstBrushTool, 2, wxRA_SPECIFY_COLS); + rbBrushTool->Disable(); + + wxButton *btnCopy = new wxButton( panel, -1, _T("Copy")); + btnCopy->Disable(); + wxButton *btnUndo = new wxButton( panel, -1, _T("Undo")); + btnUndo->Disable(); + + Connect(sldBrushSize->GetId() , wxEVT_SCROLL_THUMBRELEASE , (wxObjectEventFunction) &wxManualPaintPanel::OnBrushSize); + Connect(sldGrayLevel->GetId() , wxEVT_SCROLL_THUMBRELEASE , (wxObjectEventFunction) &wxManualPaintPanel::OnSldGrayLevel); + Connect(graylevelCtrl->GetId() , wxEVT_COMMAND_TEXT_UPDATED , (wxObjectEventFunction) &wxManualPaintPanel::OnCtrTxtGrayLevel); + + Connect(rb2D3D->GetId() , wxEVT_COMMAND_RADIOBOX_SELECTED , (wxObjectEventFunction) &wxManualPaintPanel::On2D3D); + Connect(rbBrushForm->GetId() , wxEVT_COMMAND_RADIOBOX_SELECTED , (wxObjectEventFunction) &wxManualPaintPanel::OnBrushForm); + Connect(rbBrushTool->GetId() , wxEVT_COMMAND_RADIOBOX_SELECTED , (wxObjectEventFunction) &wxManualPaintPanel::OnBrushTool); + Connect(btnCopy->GetId() , wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &wxManualPaintPanel::OnCopy); + Connect(btnUndo->GetId() , wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &wxManualPaintPanel::OnUndo); + + wxFlexGridSizer *sizer1 = new wxFlexGridSizer(1); + sizer1->Add(new wxStaticText(panel,-1,_T(" "))); + sizer1->Add(tittleText); + sizer1->Add(new wxStaticText(panel,-1,_T(" "))); + sizer1->Add(txtBrushSize); + sizer1->Add(sldBrushSize, 1, wxGROW ); + sizer1->Add(new wxStaticText(panel,-1,_T(" "))); + sizer1->Add(txtGrayLevel); + sizer1->Add(sldGrayLevel, 1, wxGROW ); + sizer1->Add(graylevelCtrl); + sizer1->Add(new wxStaticText(panel,-1,_T(" "))); + sizer1->Add(rb2D3D, 1, wxGROW ); + sizer1->Add(new wxStaticText(panel,-1,_T(" "))); + sizer1->Add(rbBrushForm, 1, wxGROW ); + sizer1->Add(new wxStaticText(panel,-1,_T(" "))); + sizer1->Add(rbBrushTool, 1, wxGROW ); + sizer1->Add(new wxStaticText(panel,-1,_T(" "))); + sizer1->Add(btnCopy, 1, wxGROW ); + sizer1->Add(new wxStaticText(panel,-1,_T(" "))); + sizer1->Add(btnUndo, 1, wxGROW ); + + sizer = sizer1; + panel->SetSizer(sizer); + panel->SetAutoLayout(true); + panel->Layout(); +} + +//--------------------------------------------------------------------------- +wxManualPaintPanel::~wxManualPaintPanel() +{ +} + +//--------------------------------------------------------------------------- +void wxManualPaintPanel::OnBrushSize(wxScrollEvent& event) +{ + printf("EED %p wxManualPaintPanel::OnBrushSize\n", this); + SetBrushSize( sldBrushSize->GetValue() ); +} + +//--------------------------------------------------------------------------- +void wxManualPaintPanel::OnSldGrayLevel(wxScrollEvent& event) +{ + printf("EED %p wxManualPaintPanel::OnGrayLevel\n", this); + SetGrayLevel( (double)(sldGrayLevel->GetValue()) ); + + wxString text; + text.Printf( wxT("%d"), sldGrayLevel->GetValue() ); + graylevelCtrl->SetValue(text); +} + +//--------------------------------------------------------------------------- +void wxManualPaintPanel::OnCtrTxtGrayLevel(wxCommandEvent &event) +{ + printf("EED %p wxManualPaintPanel::OnCtrTxtGrayLevel\n", this); + + double graylevel; + wxString text=graylevelCtrl->GetValue(); + if (text.ToDouble(&graylevel)) + { + SetGrayLevel( graylevel ); + } +} + + + +//--------------------------------------------------------------------------- +void wxManualPaintPanel::On2D3D(wxCommandEvent &event) +{ +} + +//--------------------------------------------------------------------------- +void wxManualPaintPanel::OnBrushForm(wxCommandEvent &event) +{ +} + +//--------------------------------------------------------------------------- +void wxManualPaintPanel::OnBrushTool(wxCommandEvent &event) +{ +} + +//--------------------------------------------------------------------------- +void wxManualPaintPanel::OnCopy(wxCommandEvent &event) +{ +} + +//--------------------------------------------------------------------------- +void wxManualPaintPanel::OnUndo(wxCommandEvent &event) +{ +} diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/wxManualPaintPanel.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/wxManualPaintPanel.h new file mode 100644 index 0000000..0a175e4 --- /dev/null +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/wxManualPaintPanel.h @@ -0,0 +1,32 @@ +#ifndef _WX_MANUAL_PAINT_PANEL_H_ +#define _WX_MANUAL_PAINT_PANEL_H_ + +#include "ManualPaintPanel.h" +#include +#include + +class wxManualPaintPanel : public wxPanel , public ManualPaintPanel { +public: + wxManualPaintPanel(wxWindow * parent); + virtual ~wxManualPaintPanel(); + void OnBrushSize(wxScrollEvent& event); + void OnSldGrayLevel(wxScrollEvent& event); + void OnCtrTxtGrayLevel(wxCommandEvent &event); + void On2D3D(wxCommandEvent &event); + void OnBrushForm(wxCommandEvent &event); + void OnBrushTool(wxCommandEvent &event); + void OnCopy(wxCommandEvent &event); + void OnUndo(wxCommandEvent &event); + + +private: + wxSlider *sldBrushSize; + wxSlider *sldGrayLevel; + wxTextCtrl *graylevelCtrl; + +protected: + +}; + + +#endif // _WX_MANUAL_PAINT_PANEL_H_ -- 2.47.1