OpendTect  6.6
uislider.h
Go to the documentation of this file.
1 #pragma once
2 
3 /*+
4 ________________________________________________________________________
5 
6  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
7  Author: A.H. Lammertink
8  Date: 01/02/2001
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "uibasemod.h"
15 #include "uigroup.h"
16 #include "uiobj.h"
17 #include "uistring.h"
18 
19 class LinScaler;
20 
21 class uiLabel;
22 class uiLineEdit;
23 class uiSliderBody;
24 class uiSpinBox;
25 
26 
27 mExpClass(uiBase) uiSliderObj : public uiObject
28 {
29 public:
30  uiSliderObj(uiParent*,const char* nm);
32 
33  uiSliderBody& body() { return *body_; }
34 
35 private:
36  uiSliderBody* body_;
37  uiSliderBody& mkbody(uiParent*,const char*);
38 };
39 
40 
41 mExpClass(uiBase) uiSlider : public uiGroup
42 {
43 public:
44  mExpClass(uiBase) Setup
45  {
46  public:
48  : lbl_(l)
49  , withedit_(false)
50  , nrdec_(0)
51  , logscale_(false)
52  , isvertical_(false)
53  , sldrsize_(200)
54  , isinverted_(false)
55  {}
56 
57  mDefSetupMemb(bool,withedit)
58  mDefSetupMemb(bool,logscale)
59  mDefSetupMemb(bool,isvertical)
60  mDefSetupMemb(int,nrdec)
61  mDefSetupMemb(int,sldrsize)
62  mDefSetupMemb(bool,isinverted)
64  };
65 
66  uiSlider(uiParent*,const Setup&,const char* nm=0);
68 
69  enum TickPosition { NoMarks=0, Above=1, Left=Above, Below=2,
70  Right=Below, Both=3 };
71 
72  void processInput();
73  void setToolTip(const uiString&);
74  void setText(const char*);
75  const char* text() const;
76 
77  void setValue(int);
78  void setValue(float);
79  int getIntValue() const;
80  float getFValue() const;
81  float editValue() const;
82 
83  void setMinValue(float);
84  float minValue() const;
85  void setMaxValue(float);
86  float maxValue() const;
87  void setStep(float);
88  void setScale(float fact,float constant);
89  float step() const;
90 
92  void setInterval(int start,int stop,int step=1);
94  void setInterval(float start,float stop,float step);
96  void setLinearScale(double,double);
97 
100  void setTickStep(int);
101  int tickStep() const;
104 
105  void setInverted(bool);
106  bool isInverted() const;
108  bool hasInvertedControls() const;
109 
110  bool isLogScale() { return logscale_; }
112 
117 
118  float getLinearFraction() const;
119  void setLinearFraction(float fraction);
120 
121  const uiLabel* label() const { return lbl_; }
122  uiLabel* label() { return lbl_; }
123 
124  uiSliderObj* slider() { return slider_; }
125 
126 private:
127 
131 
134  bool logscale_;
135 
136  void init(const Setup&,const char*);
137 
140 
141  float userValue(int) const;
142  int sliderValue(float) const;
143 
144 public:
145  mDeprecated ("Use getFValue")
146  float getValue() const { return getFValue(); }
147 };
148 
uiSpinBox::step
int step() const
uiSlider::setScale
void setScale(float fact, float constant)
uiSlider::label
uiLabel * label()
Definition: uislider.h:122
uiLineEdit
Definition: uilineedit.h:100
uiSlider::setTickStep
void setTickStep(int)
uiSlider::editValue
float editValue() const
uiSlider::scaler_
LinScaler * scaler_
Definition: uislider.h:133
uiSlider::setValue
void setValue(int)
uiSlider::setInterval
void setInterval(int start, int stop, int step=1)
uiSliderObj::body
uiSliderBody & body()
Definition: uislider.h:33
uistring.h
uiSlider::slider
uiSliderObj * slider()
Definition: uislider.h:124
uiSlider::minValue
float minValue() const
uiSlider::setInvertedControls
void setInvertedControls(bool)
uiSlider::tickMarks
TickPosition tickMarks() const
uiSlider::maxValue
float maxValue() const
uiSlider::Setup
Definition: uislider.h:45
uiSlider::sliderPressed
Notifier< uiSlider > sliderPressed
Definition: uislider.h:115
uiSlider::Setup::Setup
Setup(const uiString &l=uiString::emptyString())
Definition: uislider.h:47
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
uiSlider::result_
BufferString result_
Definition: uislider.h:132
uiSliderObj::~uiSliderObj
~uiSliderObj()
uiSlider::setValue
void setValue(float)
uiSlider::slider_
uiSliderObj * slider_
Definition: uislider.h:128
uiSlider::setNrDecimalsEditFld
void setNrDecimalsEditFld(int)
uiSlider::editRetPress
void editRetPress(CallBacker *)
uiSlider::isLogScale
bool isLogScale()
Definition: uislider.h:110
mDefSetupMemb
#define mDefSetupMemb(typ, memb)
Definition: commondefs.h:154
uiSlider::setMinValue
void setMinValue(float)
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
uiSlider::setStep
void setStep(float)
uiSlider::text
const char * text() const
uiSlider::setMaxValue
void setMaxValue(float)
uiSlider::hasInvertedControls
bool hasInvertedControls() const
uigroup.h
uiSlider::label
const uiLabel * label() const
Definition: uislider.h:121
uiSlider::sliderValue
int sliderValue(float) const
uiSlider::processInput
void processInput()
uiSlider::userValue
float userValue(int) const
uiSlider::getLinearFraction
float getLinearFraction() const
uiSlider::logscale_
bool logscale_
Definition: uislider.h:134
StepInterval< int >
LinScaler
Linear scaling.
Definition: scaler.h:58
uiSlider::TickPosition
TickPosition
Definition: uislider.h:69
uiSlider::setInverted
void setInverted(bool)
uiGroup
Definition: uigroup.h:54
uiSlider::sliderMoved
Notifier< uiSlider > sliderMoved
Definition: uislider.h:114
uiSlider::mDeprecated
mDeprecated("Use getFValue") float getValue() const
Definition: uislider.h:145
uiSlider
Definition: uislider.h:42
uiSlider::setInterval
void setInterval(float start, float stop, float step)
uiSpinBox::getFValue
float getFValue() const
uiSlider::sliderMove
void sliderMove(CallBacker *)
Notifier< uiSlider >
uiSlider::setTickMarks
void setTickMarks(TickPosition)
uiSlider::Setup::mDefSetupMemb
mDefSetupMemb(bool, withedit) mDefSetupMemb(bool
uiSlider::sliderReleased
Notifier< uiSlider > sliderReleased
Definition: uislider.h:116
uiSpinBox::body_
uiSpinBoxBody * body_
Definition: uispinbox.h:116
uiSlider::init
void init(const Setup &, const char *)
uiSlider::setInterval
void setInterval(const StepInterval< int > &)
uiSpinBox
Definition: uispinbox.h:24
uiSlider::isInverted
bool isInverted() const
uiSlider::lbl_
uiLabel * lbl_
Definition: uislider.h:129
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
uiSlider::setToolTip
void setToolTip(const uiString &)
uiSlider::getIntValue
int getIntValue() const
uiSlider::setInterval
void setInterval(const StepInterval< float > &)
uiSliderObj::mkbody
uiSliderBody & mkbody(uiParent *, const char *)
uiObject
The base class for most UI elements.
Definition: uiobj.h:38
uiSlider::getFValue
float getFValue() const
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
uiString::emptyString
static const uiString & emptyString()
Definition: uistring.h:300
uiSlider::getOrientation
OD::Orientation getOrientation() const
uiSlider::tickStep
int tickStep() const
uiSliderObj::uiSliderObj
uiSliderObj(uiParent *, const char *nm)
uiSliderObj
Definition: uislider.h:28
uiLabel
Definition: uilabel.h:24
uiSlider::editfld_
uiLineEdit * editfld_
Definition: uislider.h:130
OD::Orientation
Orientation
Fundamental orientation in 2D UIs.
Definition: oduicommon.h:23
uiSlider::step
float step() const
uiParent
Definition: uiparent.h:26
uiSlider::valueChanged
Notifier< uiSlider > valueChanged
Definition: uislider.h:113
uiSlider::setLinearFraction
void setLinearFraction(float fraction)
uiSliderObj::body_
uiSliderBody * body_
Definition: uislider.h:36
uiSlider::setText
void setText(const char *)
uiSlider::setLinearScale
void setLinearScale(double, double)
OD::Right
@ Right
Definition: oduicommon.h:64
OD::Left
@ Left
Definition: oduicommon.h:63
uiSlider::setOrientation
void setOrientation(OD::Orientation)
uiobj.h
uiSlider::getInterval
void getInterval(StepInterval< float > &) const

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B.V. 1995-2021