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

intadjusterwidget.h 3.68 KB
Newer Older
1
2
3
4
// ================================================================================================
// 
// This file is part of the CAMPVis Software Framework.
// 
5
// If not explicitly stated otherwise: Copyright (C) 2012-2014, all rights reserved,
6
7
//      Christian Schulte zu Berge <christian.szb@in.tum.de>
//      Chair for Computer Aided Medical Procedures
8
9
//      Technische Universitaet Muenchen
//      Boltzmannstr. 3, 85748 Garching b. Muenchen, Germany
10
// 
11
12
// For a full list of authors and contributors, please refer to the file "AUTHORS.txt".
// 
13
14
15
16
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file 
// except in compliance with the License. You may obtain a copy of the License at
// 
// http://www.apache.org/licenses/LICENSE-2.0
17
// 
18
19
20
21
// Unless required by applicable law or agreed to in writing, software distributed under the 
// License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 
// either express or implied. See the License for the specific language governing permissions 
// and limitations under the License.
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
// 
// ================================================================================================

#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);

        /**
         * Change the adjuster's current value.
         * \param   value      New value for the adjuster
         */
        void setValue(int value);

53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
        /**
         * Change the adjuster's minimum value.
         * \param   minimum      new minimum value for the adjuster
         */
        void setMinimum(int minimum);

        /**
         * Change the adjuster's maximum value.
         * \param   maximum      new maximum value for the adjuster
         */
        void setMaximum(int maximum);

        /**
         * Change the adjuster's single step value.
         * \param   value      new single step value for the adjuster
         */
        void setSingleStep(int value);

71
72
73
74
75
76
77
    signals:
        /**
         * This signal is emitted whenever the adjuster's value is changed.
         * \param   value      New value of the adjuster
         */
        void valueChanged(int value);

78
79
80
81
82
83
84
85
        /// Signal emitted when the property's minimum value has changed
        void s_minChanged(int minimum);
        /// Signal emitted when the property's maximum value has changed
        void s_maxChanged(int maximum);
        /// Signal emitted when the property's single step value has changed
        void s_singleStepChanged(int value);


86
87
88
89
90
91
92
    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);

93
94
95
96
97
98
99
        /// Slot getting called when the property's minimum value has changed
        void onMinChanged(int minimum);
        /// Slot getting called when the property's maximum value has changed
        void onMaxChanged(int maximum);
        /// Slot getting called when the property's single step value has changed
        void onSingleStepChanged(int value);

100
101
102
103
104
    };

}

#endif // INTADJUSTERWIDGET_H__