Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #include "QmitkPaintbrushToolGUI.h"
00019
00020 #include "QmitkNewSegmentationDialog.h"
00021
00022 #include <qlabel.h>
00023 #include <qslider.h>
00024 #include <qpushbutton.h>
00025 #include <qlayout.h>
00026 #include <qpainter.h>
00027
00028 QmitkPaintbrushToolGUI::QmitkPaintbrushToolGUI()
00029 :QmitkToolGUI(),
00030 m_Slider(NULL)
00031 {
00032
00033 QBoxLayout* layout = new QHBoxLayout( this );
00034 this->setContentsMargins( 0, 0, 0, 0 );
00035
00036 QLabel* label = new QLabel( "Size ", this );
00037 QFont f = label->font();
00038 f.setBold(false);
00039 label->setFont( f );
00040 layout->addWidget(label);
00041
00042 m_SizeLabel = new QLabel( " 10", this );
00043 f = m_SizeLabel->font();
00044 f.setBold(false);
00045 m_SizeLabel->setFont( f );
00046 layout->addWidget(m_SizeLabel);
00047
00048
00049 m_Slider = new QSlider( Qt::Horizontal, this );
00050 m_Slider->setMinimum(1);
00051 m_Slider->setMaximum(50);
00052 m_Slider->setPageStep(1);
00053 m_Slider->setValue(10);
00054 connect( m_Slider, SIGNAL(valueChanged(int)), this, SLOT(OnSliderValueChanged(int)));
00055 layout->addWidget( m_Slider );
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065 connect( this, SIGNAL(NewToolAssociated(mitk::Tool*)), this, SLOT(OnNewToolAssociated(mitk::Tool*)) );
00066 }
00067
00068 QmitkPaintbrushToolGUI::~QmitkPaintbrushToolGUI()
00069 {
00070
00071 if (m_PaintbrushTool.IsNotNull())
00072 {
00073 m_PaintbrushTool->SizeChanged -= mitk::MessageDelegate1<QmitkPaintbrushToolGUI, int>( this, &QmitkPaintbrushToolGUI::OnSizeChanged );
00074 }
00075
00076 }
00077
00078 void QmitkPaintbrushToolGUI::OnNewToolAssociated(mitk::Tool* tool)
00079 {
00080 if (m_PaintbrushTool.IsNotNull())
00081 {
00082 m_PaintbrushTool->SizeChanged -= mitk::MessageDelegate1<QmitkPaintbrushToolGUI, int>( this, &QmitkPaintbrushToolGUI::OnSizeChanged );
00083 }
00084
00085 m_PaintbrushTool = dynamic_cast<mitk::PaintbrushTool*>( tool );
00086
00087 if (m_PaintbrushTool.IsNotNull())
00088 {
00089 m_PaintbrushTool->SizeChanged += mitk::MessageDelegate1<QmitkPaintbrushToolGUI, int>( this, &QmitkPaintbrushToolGUI::OnSizeChanged );
00090 }
00091 }
00092
00093 void QmitkPaintbrushToolGUI::OnSliderValueChanged(int value)
00094 {
00095 if (m_PaintbrushTool.IsNotNull())
00096 {
00097 m_PaintbrushTool->SetSize( value );
00098 }
00099
00100 VisualizePaintbrushSize(value);
00101 }
00102
00103 void QmitkPaintbrushToolGUI::VisualizePaintbrushSize(int size)
00104 {
00105 m_SizeLabel->setText(QString("%1 ").arg(size));
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119 }
00120
00121 void QmitkPaintbrushToolGUI::OnSizeChanged(int current)
00122 {
00123 m_Slider->setValue(current);
00124 }
00125