Omnidome
Fulldome Mapping Software Toolkit
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Protected Member Functions | Private Attributes
omni::ui::mixin::Range< VALUE > Struct Template Reference

Mixin for a ranged value with min and maximum. More...

#include <Range.h>

Inheritance diagram for omni::ui::mixin::Range< VALUE >:
Inheritance graph
[legend]
Collaboration diagram for omni::ui::mixin::Range< VALUE >:
Collaboration graph
[legend]

Public Types

typedef VALUE value_type
 

Public Member Functions

 Range (value_type _minimum=0.0, value_type _maximum=100.0)
 
qreal ratio (value_type _v) const
 Return ratio of value v. More...
 
value_type range () const
 Return range (difference between maximum and minimum) More...
 
value_type minimum () const
 Return minimum value. More...
 
value_type maximum () const
 Return maximum value. More...
 
void setMinimum (value_type _minimum)
 Set new minimum value and value and emit rangeChanged event. More...
 
void disableMinimum ()
 Disable minimum by setting the value to infinite. More...
 
void setMaximum (value_type _maximum)
 Set new maximum value and value and emit rangeChanged event. More...
 
void disableMaximum ()
 Disable maximum by setting maximum to infinite value. More...
 
void setRange (value_type _minimum, value_type _maximum)
 Set range and validate. More...
 
void disableRange ()
 Disable range by setting minimum and maximum to infinite value. More...
 
bool minimumUsed () const
 
bool maximumUsed () const
 

Protected Member Functions

template<typename WIDGET >
void apply (WIDGET *_widget) const
 Apply range to widget. More...
 
template<typename WIDGET , typename V >
void apply (WIDGET *_widget, V _value) const
 Applay range to widget and set value. More...
 
virtual void validate ()
 Validate minimum and maximum. More...
 
virtual void rangeChangedEvent ()
 Handler to emit rangeChanged signal in derived widgets. More...
 

Private Attributes

value_type minimum_
 
value_type maximum_
 

Detailed Description

template<typename VALUE>
struct omni::ui::mixin::Range< VALUE >

Mixin for a ranged value with min and maximum.

Member Typedef Documentation

template<typename VALUE>
typedef VALUE omni::ui::mixin::Range< VALUE >::value_type

Constructor & Destructor Documentation

template<typename VALUE>
omni::ui::mixin::Range< VALUE >::Range ( value_type  _minimum = 0.0,
value_type  _maximum = 100.0 
)
inline
37  :
38  minimum_(_minimum),
39  maximum_(_maximum)
40  {}
value_type minimum_
Definition: Range.h:148
value_type maximum_
Definition: Range.h:149

Member Function Documentation

template<typename VALUE>
template<typename WIDGET >
void omni::ui::mixin::Range< VALUE >::apply ( WIDGET *  _widget) const
inlineprotected

Apply range to widget.

124  {
125  _widget->setMinimum(minimum());
126  _widget->setMaximum(maximum());
127  }
value_type maximum() const
Return maximum value.
Definition: Range.h:60
value_type minimum() const
Return minimum value.
Definition: Range.h:54
template<typename VALUE>
template<typename WIDGET , typename V >
void omni::ui::mixin::Range< VALUE >::apply ( WIDGET *  _widget,
_value 
) const
inlineprotected

Applay range to widget and set value.

132  {
133  apply(_widget);
134  _widget->setValue(_value);
135  }
void apply(WIDGET *_widget) const
Apply range to widget.
Definition: Range.h:123
template<typename VALUE>
void omni::ui::mixin::Range< VALUE >::disableMaximum ( )
inline

Disable maximum by setting maximum to infinite value.

89  {
90  setMaximum(std::numeric_limits<value_type>::max());
91  }
void setMaximum(value_type _maximum)
Set new maximum value and value and emit rangeChanged event.
Definition: Range.h:80
template<typename VALUE>
void omni::ui::mixin::Range< VALUE >::disableMinimum ( )
inline

Disable minimum by setting the value to infinite.

75  {
76  setMinimum(std::numeric_limits<value_type>::min());
77  }
void setMinimum(value_type _minimum)
Set new minimum value and value and emit rangeChanged event.
Definition: Range.h:66
template<typename VALUE>
void omni::ui::mixin::Range< VALUE >::disableRange ( )
inline

Disable range by setting minimum and maximum to infinite value.

104  {
105  setRange(
106  std::numeric_limits<value_type>::min(),
107  std::numeric_limits<value_type>::max());
108  }
void setRange(value_type _minimum, value_type _maximum)
Set range and validate.
Definition: Range.h:94
template<typename VALUE>
value_type omni::ui::mixin::Range< VALUE >::maximum ( ) const
inline

Return maximum value.

61  {
62  return maximum_;
63  }
value_type maximum_
Definition: Range.h:149
template<typename VALUE>
bool omni::ui::mixin::Range< VALUE >::maximumUsed ( ) const
inline
116  {
117  return maximum_ != std::numeric_limits<value_type>::max();
118  }
value_type maximum_
Definition: Range.h:149
template<typename VALUE>
value_type omni::ui::mixin::Range< VALUE >::minimum ( ) const
inline

Return minimum value.

55  {
56  return minimum_;
57  }
value_type minimum_
Definition: Range.h:148
template<typename VALUE>
bool omni::ui::mixin::Range< VALUE >::minimumUsed ( ) const
inline
111  {
112  return minimum_ != std::numeric_limits<value_type>::min();
113  }
value_type minimum_
Definition: Range.h:148
template<typename VALUE>
value_type omni::ui::mixin::Range< VALUE >::range ( ) const
inline

Return range (difference between maximum and minimum)

49  {
50  return maximum() - minimum();
51  }
value_type maximum() const
Return maximum value.
Definition: Range.h:60
value_type minimum() const
Return minimum value.
Definition: Range.h:54
template<typename VALUE>
virtual void omni::ui::mixin::Range< VALUE >::rangeChangedEvent ( )
inlineprotectedvirtual

Handler to emit rangeChanged signal in derived widgets.

Reimplemented in omni::ui::RangedFloat, omni::ui::Dial, and omni::ui::RangedInt.

145  {}
template<typename VALUE>
qreal omni::ui::mixin::Range< VALUE >::ratio ( value_type  _v) const
inline

Return ratio of value v.

44  {
45  return qreal(_v - minimum()) / range();
46  }
value_type range() const
Return range (difference between maximum and minimum)
Definition: Range.h:49
value_type minimum() const
Return minimum value.
Definition: Range.h:54
template<typename VALUE>
void omni::ui::mixin::Range< VALUE >::setMaximum ( value_type  _maximum)
inline

Set new maximum value and value and emit rangeChanged event.

81  {
82  maximum_ = _maximum;
83  validate();
85  }
virtual void validate()
Validate minimum and maximum.
Definition: Range.h:138
virtual void rangeChangedEvent()
Handler to emit rangeChanged signal in derived widgets.
Definition: Range.h:144
value_type maximum_
Definition: Range.h:149
template<typename VALUE>
void omni::ui::mixin::Range< VALUE >::setMinimum ( value_type  _minimum)
inline

Set new minimum value and value and emit rangeChanged event.

67  {
68  minimum_ = _minimum;
69  validate();
71  }
virtual void validate()
Validate minimum and maximum.
Definition: Range.h:138
value_type minimum_
Definition: Range.h:148
virtual void rangeChangedEvent()
Handler to emit rangeChanged signal in derived widgets.
Definition: Range.h:144
template<typename VALUE>
void omni::ui::mixin::Range< VALUE >::setRange ( value_type  _minimum,
value_type  _maximum 
)
inline

Set range and validate.

95  {
96  minimum_ = _minimum;
97  maximum_ = _maximum;
98  validate();
100  }
virtual void validate()
Validate minimum and maximum.
Definition: Range.h:138
value_type minimum_
Definition: Range.h:148
virtual void rangeChangedEvent()
Handler to emit rangeChanged signal in derived widgets.
Definition: Range.h:144
value_type maximum_
Definition: Range.h:149
template<typename VALUE>
virtual void omni::ui::mixin::Range< VALUE >::validate ( )
inlineprotectedvirtual

Validate minimum and maximum.

Reimplemented in omni::ui::mixin::RangedValue< DERIVED, VALUE >, omni::ui::mixin::RangedValue< Dial, double >, omni::ui::mixin::RangedValue< RangedFloat, double >, and omni::ui::mixin::RangedValue< RangedInt, int >.

139  {
140  if (minimum() > maximum()) std::swap(minimum_, maximum_);
141  }
value_type minimum_
Definition: Range.h:148
value_type maximum() const
Return maximum value.
Definition: Range.h:60
value_type maximum_
Definition: Range.h:149
value_type minimum() const
Return minimum value.
Definition: Range.h:54

Field Documentation

template<typename VALUE>
value_type omni::ui::mixin::Range< VALUE >::maximum_
private
template<typename VALUE>
value_type omni::ui::mixin::Range< VALUE >::minimum_
private

The documentation for this struct was generated from the following file: