OpendTect  6.3
uispinbox.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 ________________________________________________________________________
10 
11 -*/
12 
13 #include "uibasemod.h"
14 #include "uiobj.h"
15 #include "uigroup.h"
16 #include "ranges.h"
17 
18 class uiSpinBoxBody;
19 class uiLabel;
20 
21 
22 mExpClass(uiBase) uiSpinBox : public uiObject
24 friend class uiSpinBoxBody;
25 
26 public:
27  uiSpinBox(uiParent*,int nrdecimals=0,
28  const char* nm="SpinBox");
29  ~uiSpinBox();
30 
31  void setNrDecimals(int);
32  void setAlpha(bool);
33  bool isAlpha() const;
34 
35  void setSpecialValueText(const char*); // First entry
36 
37  void setValue(int);
38  void setValue(od_int64);
39  void setValue(float);
40  void setValue(double);
41  void setValue(const char*);
42 
43  int getIntValue() const;
44  od_int64 getInt64Value() const;
45  double getDValue() const;
46  float getFValue() const;
47  bool getBoolValue() const;
48  const char* text() const;
49 
50  void setInterval( int start, int stop, int s=1 )
51  { setInterval( StepInterval<int>(start,stop,s) ); }
52  void setInterval( const Interval<int>& i, int s=1 )
53  { setInterval( StepInterval<int>(i.start,i.stop,s) ); }
54  void setInterval(const StepInterval<int>&);
55  StepInterval<int> getInterval() const;
56 
57  void setInterval( float start, float stop, float s=1 )
58  { setInterval(StepInterval<float>(start,stop,s)); }
59  void setInterval(const StepInterval<float>&);
60  StepInterval<float> getFInterval() const;
61 
62  void setInterval( double start, double stop, double s=1 )
63  { setInterval(StepInterval<double>(start,stop,s)); }
64  void setInterval(const StepInterval<double>&);
65 
66  void setMinValue(int);
67  void setMinValue(float);
68  void setMinValue( double d ) { setMinValue( (float)d ); }
69  int minValue() const;
70  float minFValue() const;
71 
72  void setMaxValue(int);
73  void setMaxValue(float);
74  void setMaxValue(double);
75  int maxValue() const;
76  float maxFValue() const;
77 
78  void setStep(int,bool snap_cur_value=false);
79  void setStep(float,bool snap_cur_value=false);
80  void setStep(double d,bool snap_cur_value=false );
81  float fstep() const;
82  int step() const;
83 
84  void stepBy( int nrsteps );
85 
86  uiString prefix() const;
87  void setPrefix(const uiString&);
88  uiString suffix() const;
89  void setSuffix(const uiString&);
90  void doSnap( bool yn ) { dosnap_ = yn; }
91 
92  void setKeyboardTracking(bool);
93  bool keyboardTracking() const;
94  void setFocusChangeTrigger(bool);
95  bool focusChangeTrigger() const;
96 
97  bool handleLongTabletPress();
98  void popupVirtualKeyboard(int globalx=-1,int globaly=-1);
99 
102 
103  void notifyHandler(bool editingfinished);
104 
105  void translateText();
106 private:
107 
108  float oldvalue_;
109 
112  uiSpinBoxBody* body_;
113  uiSpinBoxBody& mkbody(uiParent*, const char*);
114 
115  bool dosnap_;
118  void snapToStep(CallBacker*);
119 
120 };
121 
122 
125 public:
127  int nrdecimals=0,const char* nm=0);
128 
129  uiSpinBox* box() { return sb_; }
130  const uiSpinBox* box() const { return sb_; }
131  uiLabel* label() { return lbl_; }
132 
133 protected:
134 
137 };
Definition: uigroup.h:53
#define mExpClass(module)
Definition: commondefs.h:157
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
uiLabel * label()
Definition: uispinbox.h:131
const uiSpinBox * box() const
Definition: uispinbox.h:130
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
void setInterval(int start, int stop, int s=1)
Definition: uispinbox.h:50
void setInterval(float start, float stop, float s=1)
Definition: uispinbox.h:57
#define od_int64
Definition: plftypes.h:34
mODTextTranslationClass(uiLabeledSpinBox) public uiSpinBox * box()
Definition: uispinbox.h:129
The base class for most UI elements.
Definition: uiobj.h:35
void setMinValue(double d)
Definition: uispinbox.h:68
Definition: uistring.h:88
Definition: uiparent.h:24
uiString suffix_
Definition: uispinbox.h:111
uiLabel * lbl_
Definition: uispinbox.h:136
Definition: uispinbox.h:123
void setInterval(const Interval< int > &i, int s=1)
Definition: uispinbox.h:52
bool focuschgtrigger_
Definition: uispinbox.h:117
Definition: uispinbox.h:22
void setInterval(double start, double stop, double s=1)
Definition: uispinbox.h:62
uiSpinBox * sb_
Definition: uispinbox.h:135
T stop
Definition: ranges.h:91
uiSpinBoxBody * body_
Definition: uispinbox.h:112
Definition: uilabel.h:22
float oldvalue_
Definition: uispinbox.h:108
Notifier< uiSpinBox > valueChanging
Definition: uispinbox.h:101
T start
Definition: ranges.h:90
uiString prefix_
Definition: uispinbox.h:110
void doSnap(bool yn)
Definition: uispinbox.h:90
bool dosnap_
Definition: uispinbox.h:115
Notifier< uiSpinBox > valueChanged
Definition: uispinbox.h:100

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