QGUINumberSelector Class Reference
[ApolloApollo Gui]

List of all members.


Detailed Description

base class for graphical number selector

Author:
sergio.didomizio@ge.infn.it/andrea.giachero@ge.infn.it This class implements a cyclic selector for ordered but not necessairly continuous integers. It handles 2 graphical widgets: a number selector and a number display. Every time the user changes the value of the selector, a 1s timeout is reset. If the timeout expires before being reset again, a signal is emitted and the value shown in the display widget is updated accordingly. 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 int > &validNumbers)
 constructor with vector of unsigned int
virtual ~QGUINumberSelector ()
 dtor
const std::set< int > & GetValues () const
 get set of valid values
int GetCurrent () const
 get current value
void SetCurrent (int value)
 update number display with current value
void HandleValueSet ()
 this method is called every time channel selector is modified by the user
void UpdateCurrentNumber ()
 Called autoamtically when timeout expires. Update display and emit Loaded() signal. If selected number is invalid, old value is restored in selector and display is not updated.
void Loaded ()
 this signal is emitted only when the timeout expires
void Changed ()
 this signal is emitted every time the selector value changes
TGNumberEntry * GetSelector (const TGWindow *parent)
 get number selector widget
TGTextEntry * GetDisplay (const TGWindow *parent)
 get number display widget
void SetState (bool state)
 enable/disable user interaction
void Set (const std::vector< int > &values)
 set valid values for selector as a vector of int
void Set (const std::vector< unsigned int > &values)
 set valid values for selector as a vector of unsigned int
void Set (const std::set< int > &values)
 set valid values for selector as a set of int
void Set (const std::set< unsigned int > &values)
 set valid values for selector as a set of unsigned int

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 Init ()
void StartTimer ()

Private Attributes

std::set< int > fValidNumbers
int fPrevious
int fCurrent
TTimer fTimer
TGNumberEntry * fSelector
TGTextEntry * fLoadText

Constructor & Destructor Documentation

QGUINumberSelector::QGUINumberSelector ( const std::vector< int > &  validNumbers  ) 

constructor with vector of int

Parameters:
validNumbers vector of int containing allowed values for this selector

QGUINumberSelector::QGUINumberSelector ( const std::vector< unsigned int > &  validNumbers  ) 

constructor with vector of unsigned int

Parameters:
validNumbers vector of int containing allowed values for this selector
This constructor casts all the elements in the validNumbers vector from unsigned int to int. If any of the elements in the input vector exceeds 2147483647 (the max allowed value for a 4-bytes int) a QError is thrown.

References Set().


Member Function Documentation

void QGUINumberSelector::SetState ( bool  state  ) 

enable/disable user interaction

Parameters:
enabled=true,disabled=false This method has no effect if GetSelector() has never been called on this object.

References fSelector.

Referenced by QGUIHistogramDisplay::HandlePause(), and QGSChannelFrame::Lock().

bool QGUINumberSelector::IsValid ( int  value  )  const [private]

check wether requested value is present in vector of valid numbers

Parameters:
value number to be checked
Returns:
true if value is valid, false otherwise

Referenced by GetNextValid(), Set(), SetCurrent(), and UpdateCurrentNumber().

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

Parameters:
current value from which vector scanning is to be started
dir scanning direction

References GetFirstValid(), GetLastValid(), and IsValid().

Referenced by HandleValueSet().


Member Data Documentation

previous value in the Number Entry

Referenced by HandleValueSet(), and SetCurrent().

current valid number

Referenced by GetCurrent(), GetDisplay(), Set(), SetCurrent(), and UpdateCurrentNumber().

TGNumberEntry* QGUINumberSelector::fSelector [private]

TGTextEntry* QGUINumberSelector::fLoadText [private]

widget for current number display

Referenced by GetDisplay(), SetCurrent(), and ~QGUINumberSelector().


The documentation for this class was generated from the following files:

Generated on Tue Nov 16 10:50:06 2010 for CUORE Software by  doxygen 1.5.6