This class implements a selector for ordered but not necessairly continuous integers. It handles 2 graphical widgets: a number selector and a number display. Each widget has its own getter. Calling class is in charge of positioning the widgets in the window.
Public Member Functions | |
QGUINumberSelector (const std::vector< int > &validNumbers) | |
constructor with vector of int | |
QGUINumberSelector (const std::vector< unsigned short > &validNumbers) | |
constructor with vector of unsigned short | |
virtual | ~QGUINumberSelector () |
dtor | |
int | GetCurrent () const |
void | HandleValueSet () |
this method is called every time channel selector is modified by the user | |
void | UpdateCurrentNumber () |
update number display value and also update current loaded number. If currently selected number is invalid, old value is restored in selector and display is not updated. | |
void | Loaded () |
void | Changed () |
TGNumberEntry * | GetSelector (const TGWindow *parent) |
TGTextEntry * | GetDisplay (const TGWindow *parent) |
Private Types | |
enum | QDirection_t { QUP = true, QDOWN = false } |
direction of arrows in number selection widget | |
Private Member Functions | |
int | GetSelected () const |
get value that is currently dispalyed in number selector | |
bool | IsValid (int value) const |
check wether requested value is present in vector of valid numbers | |
int | GetNextValid (int current, QDirection_t dir) const |
get next valid value with respect to current one and with respect to scanning direction | |
int | GetFirstValid () const |
get smallest allowed value | |
int | GetLastValid () const |
get biggest allowed value | |
void | SetCurrent (int value) |
update both number selector and number display with current value | |
void | Init () |
void | StartTimer () |
Private Attributes | |
std::vector< int > | fValidNumbers |
int | fPrevious |
int | fCurrent |
TTimer | fTimer |
TGNumberEntry * | fSelector |
TGTextEntry * | fLoadText |
QGUINumberSelector::QGUINumberSelector | ( | const std::vector< int > & | validNumbers | ) |
constructor with vector of int
validNumbers | vector of int containing allowed values for this selector |
QGUINumberSelector::QGUINumberSelector | ( | const std::vector< unsigned short > & | validNumbers | ) |
constructor with vector of unsigned short
validNumbers | vector of int containing allowed values for this selector |
bool QGUINumberSelector::IsValid | ( | int | value | ) | const [private] |
check wether requested value is present in vector of valid numbers
value | number to be checked |
int QGUINumberSelector::GetNextValid | ( | int | current, | |
QDirection_t | dir | |||
) | const [private] |
get next valid value with respect to current one and with respect to scanning direction
current | value from which vector scanning is to be started | |
dir | scanning direction |
int QGUINumberSelector::fPrevious [private] |
previous value in the Number Entry
int QGUINumberSelector::fCurrent [private] |
current valid number
TGNumberEntry* QGUINumberSelector::fSelector [private] |
widget for number selection
TGTextEntry* QGUINumberSelector::fLoadText [private] |
widget for current number display