16.12.2021, 9:00 - 11:00: Due to updates GitLab may be unavailable for some minutes between 09:00 and 11:00.

Commit 4dbd1800 authored by Artur Grunau's avatar Artur Grunau
Browse files

IntAdjusterWidget: widget for modifying ints

IntAdjusterWidget displays and provides two ways of modifying integers:
a slider that can be used to quickly change numeric values, and a spin
box, which is better suited for precise adjustments.

IntAdjusterWidget is a simple extension of AbstractAdjusterWidget<int>.
It is designed to be used by IntPropertyWidget and widgets for vector
properties storing integers.
parent edb7d691
......@@ -40,6 +40,7 @@ SET(CampvisApplicationToBeMocced
gui/visualizationpipelinewidget.h
gui/visualizationpipelinewrapper.h
gui/adjusterwidgets/doubleadjusterwidget.h
gui/adjusterwidgets/intadjusterwidget.h
gui/properties/abstractpropertywidget.h
gui/properties/abstracttransferfunctioneditor.h
gui/properties/boolpropertywidget.h
......
// ================================================================================================
//
// This file is part of the CAMPVis Software Framework.
//
// If not explicitly stated otherwise: Copyright (C) 2012, all rights reserved,
// Christian Schulte zu Berge <christian.szb@in.tum.de>
// Chair for Computer Aided Medical Procedures
// Technische Universität München
// Boltzmannstr. 3, 85748 Garching b. München, Germany
// For a full list of authors and contributors, please refer to the file "AUTHORS.txt".
//
// The licensing of this softare is not yet resolved. Until then, redistribution in source or
// binary forms outside the CAMP chair is not permitted, unless explicitly stated in legal form.
// However, the names of the original authors and the above copyright notice must retain in its
// original state in any case.
//
// Legal disclaimer provided by the BSD license:
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
//
// ================================================================================================
#include "intadjusterwidget.h"
#include <QHBoxLayout>
namespace campvis {
IntAdjusterWidget::IntAdjusterWidget(QWidget* parent /*= 0*/)
: AbstractAdjusterWidget<int>(parent)
{
setSliderProperties(_spinBox->singleStep(), _spinBox->minimum(), _spinBox->maximum());
connect(_spinBox, SIGNAL(valueChanged(int)), this, SLOT(onSpinBoxValueChanged(int)));
connect(_slider, SIGNAL(valueChanged(int)), this, SLOT(onSliderValueChanged(int)));
}
void IntAdjusterWidget::setValue(int value)
{
setValueImpl(value);
}
void IntAdjusterWidget::onSpinBoxValueChanged(int value) {
onSpinBoxValueChangedImpl(value);
emit valueChanged(value);
}
void IntAdjusterWidget::onSliderValueChanged(int value) {
onSliderValueChangedImpl(value);
emit valueChanged(value);
}
}
// ================================================================================================
//
// This file is part of the CAMPVis Software Framework.
//
// If not explicitly stated otherwise: Copyright (C) 2012, all rights reserved,
// Christian Schulte zu Berge <christian.szb@in.tum.de>
// Chair for Computer Aided Medical Procedures
// Technische Universität München
// Boltzmannstr. 3, 85748 Garching b. München, Germany
// For a full list of authors and contributors, please refer to the file "AUTHORS.txt".
//
// The licensing of this softare is not yet resolved. Until then, redistribution in source or
// binary forms outside the CAMP chair is not permitted, unless explicitly stated in legal form.
// However, the names of the original authors and the above copyright notice must retain in its
// original state in any case.
//
// Legal disclaimer provided by the BSD license:
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
//
// ================================================================================================
#ifndef INTADJUSTERWIDGET_H__
#define INTADJUSTERWIDGET_H__
#include "abstractadjusterwidget.h"
namespace campvis {
/**
* Widget providing two ways of adjusting integer values.
*
* IntAdjusterWidget consists of a slider, which can be used to quickly change integer values, and a spin box,
* which is better suited for precise adjustments.
*/
class IntAdjusterWidget : public AbstractAdjusterWidget<int> {
Q_OBJECT
public:
/**
* Creates a new IntAdjusterWidget.
* \param parent Parent Qt widget
*/
IntAdjusterWidget(QWidget* parent = 0);
public slots:
/**
* Change the adjuster's current value.
* \param value New value for the adjuster
*/
void setValue(int value);
signals:
/**
* This signal is emitted whenever the adjuster's value is changed.
* \param value New value of the adjuster
*/
void valueChanged(int value);
private slots:
/// Slot getting called when the spin box's value changes
void onSpinBoxValueChanged(int value);
/// Slot getting called when the slider's value changes
void onSliderValueChanged(int value);
};
}
#endif // INTADJUSTERWIDGET_H__
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment