gtkmm: Gtk::SpinButton Class Reference

numeric Entry with up/down buttons Slightly misnamed, this should be called a SpinEntry. More...

Inheritance diagram for Gtk::SpinButton:
Collaboration diagram for Gtk::SpinButton:

List of all members.

Public Member Functions

virtual ~SpinButton ()
GtkSpinButton* gobj ()
 Provides access to the underlying C GtkObject.

const GtkSpinButton* gobj () const
 Provides access to the underlying C GtkObject.

 SpinButton (double climb_rate=0.0, guint digits=0)
 SpinButton (const Glib::RefPtr< Adjustment >& adjustment, double climb_rate=0.0, guint digits=0)
void configure (const Glib::RefPtr< Adjustment >& adjustment, double climb_rate, guint digits)
 Changes the properties of an existing spin button.

void set_adjustment (const Glib::RefPtr< Adjustment >& adjustment)
 Replaces the Gtk::Adjustment associated with spin_button.

void unset_adjustment ()
Glib::RefPtr< Adjustmentget_adjustment ()
 Get the adjustment associated with a Gtk::SpinButton.

Glib::RefPtr< const Adjustmentget_adjustment () const
 Get the adjustment associated with a Gtk::SpinButton.

void set_digits (guint digits)
 Set the precision to be displayed by spin_button.

guint get_digits () const
 Fetches the precision of spin_button.

void set_increments (double step, double page)
 Sets the step and page increments for spin_button.

void get_increments (double& step, double& page) const
 Gets the current step and page the increments used by spin_button.

void set_range (double min, double max)
 Sets the minimum and maximum allowable values for spin_button.

void get_range (double&min, double&max) const
 Gets the range allowed for spin_button.

double get_value () const
 Get the value in the spin_button.

int get_value_as_int () const
 Get the value spin_button represented as an integer.

void set_value (double value)
 Set the value of spin_button.

void set_update_policy (SpinButtonUpdatePolicy policy)
 Sets the update behavior of a spin button.

SpinButtonUpdatePolicy get_update_policy () const
 Gets the update behavior of a spin button.

void set_numeric (bool numeric=true)
 Sets the flag that determines if non-numeric text can be typed into the spin button.

bool get_numeric () const
 Returns whether non-numeric text can be typed into the spin button.

void spin (SpinType direction, double increment)
 Increment or decrement a spin button's value in a specified direction by a specified amount.

void set_wrap (bool wrap=true)
 Sets the flag that determines if a spin button value wraps around to the opposite limit when the upper or lower limit of the range is exceeded.

bool get_wrap () const
 Returns whether the spin button's value wraps around to the opposite limit when the upper or lower limit of the range is exceeded.

void set_snap_to_ticks (bool snap_to_ticks=true)
 Sets the policy as to whether values are corrected to the nearest step increment when a spin button is activated after providing an invalid value.

bool get_snap_to_ticks () const
 Returns whether the values are corrected to the nearest step.

void update ()
 Manually force an update of the spin button.

Glib::SignalProxy1< int, double* > signal_input ()
 Convert the Entry text to a number.

Glib::SignalProxy0< bool > signal_output ()
 Convert the Adjustment position to text.

Glib::SignalProxy0< void > signal_wrapped ()
Glib::SignalProxy0< void > signal_value_changed ()
Glib::PropertyProxy

< Glib::RefPtr< Adjustment > > 
property_adjustment ()
 The adjustment that holds the value of the spin button.

Glib::PropertyProxy_ReadOnly

< Glib::RefPtr< Adjustment > > 
property_adjustment () const
 The adjustment that holds the value of the spin button.

Glib::PropertyProxy< double > property_climb_rate ()
 The acceleration rate when you hold down a button.

Glib::PropertyProxy_ReadOnly

< double > 
property_climb_rate () const
 The acceleration rate when you hold down a button.

Glib::PropertyProxy< guint > property_digits ()
 The number of decimal places to display.

Glib::PropertyProxy_ReadOnly

< guint > 
property_digits () const
 The number of decimal places to display.

Glib::PropertyProxy< bool > property_snap_to_ticks ()
 Whether erroneous values are automatically changed to a spin button's nearest step increment.

Glib::PropertyProxy_ReadOnly

< bool > 
property_snap_to_ticks () const
 Whether erroneous values are automatically changed to a spin button's nearest step increment.

Glib::PropertyProxy< bool > property_numeric ()
 Whether non-numeric characters should be ignored.

Glib::PropertyProxy_ReadOnly

< bool > 
property_numeric () const
 Whether non-numeric characters should be ignored.

Glib::PropertyProxy< bool > property_wrap ()
 Whether a spin button should wrap upon reaching its limits.

Glib::PropertyProxy_ReadOnly

< bool > 
property_wrap () const
 Whether a spin button should wrap upon reaching its limits.

Glib::PropertyProxy

< SpinButtonUpdatePolicy
property_update_policy ()
 Whether the spin button should update always, or only when the value is legal.

Glib::PropertyProxy_ReadOnly

< SpinButtonUpdatePolicy
property_update_policy () const
 Whether the spin button should update always, or only when the value is legal.

Glib::PropertyProxy< double > property_value ()
 Reads the current value, or sets a new value.

Glib::PropertyProxy_ReadOnly

< double > 
property_value () const
 Reads the current value, or sets a new value.

Protected Member Functions

virtual int on_input (double* new_value)
virtual bool on_output ()
virtual void on_wrapped ()
virtual void on_value_changed ()

Related Functions

(Note that these are not member functions.)

Gtk::SpinButtonwrap (GtkSpinButton* object, bool take_copy=false)
 A Glib::wrap() method for this object.


Detailed Description

numeric Entry with up/down buttons Slightly misnamed, this should be called a SpinEntry.

The SpinButton widget looks like this:

spinbutton1.png

Constructor & Destructor Documentation

virtual Gtk::SpinButton::~SpinButton ( ) [virtual]
Gtk::SpinButton::SpinButton ( double  climb_rate = 0.0,
guint  digits = 0 
)
Gtk::SpinButton::SpinButton ( const Glib::RefPtr< Adjustment >&  adjustment,
double  climb_rate = 0.0,
guint  digits = 0 
) [explicit]

Member Function Documentation

void Gtk::SpinButton::configure ( const Glib::RefPtr< Adjustment >&  adjustment,
double  climb_rate,
guint  digits 
)

Changes the properties of an existing spin button.

The adjustment, climb rate, and number of decimal places are all changed accordingly, after this function call.

Parameters:
adjustmentA Gtk::Adjustment.
climb_rateThe new climb rate.
digitsThe number of decimal places to display in the spin button.
Glib::RefPtr<Adjustment> Gtk::SpinButton::get_adjustment ( )

Get the adjustment associated with a Gtk::SpinButton.

Returns:
The Gtk::Adjustment of spin_button.
Glib::RefPtr<const Adjustment> Gtk::SpinButton::get_adjustment ( ) const

Get the adjustment associated with a Gtk::SpinButton.

Returns:
The Gtk::Adjustment of spin_button.
guint Gtk::SpinButton::get_digits ( ) const

Fetches the precision of spin_button.

See set_digits().

Returns:
The current precision.
void Gtk::SpinButton::get_increments ( double &  step,
double &  page 
) const

Gets the current step and page the increments used by spin_button.

See set_increments().

Parameters:
stepLocation to store step increment, or 0.
pageLocation to store page increment, or 0.
bool Gtk::SpinButton::get_numeric ( ) const

Returns whether non-numeric text can be typed into the spin button.

See set_numeric().

Returns:
true if only numeric text can be entered.
void Gtk::SpinButton::get_range ( double &  min,
double &  max 
) const

Gets the range allowed for spin_button.

See set_range().

Parameters:
minLocation to store minimum allowed value, or 0.
maxLocation to store maximum allowed value, or 0.
bool Gtk::SpinButton::get_snap_to_ticks ( ) const

Returns whether the values are corrected to the nearest step.

See set_snap_to_ticks().

Returns:
true if values are snapped to the nearest step.
SpinButtonUpdatePolicy Gtk::SpinButton::get_update_policy ( ) const

Gets the update behavior of a spin button.

See set_update_policy().

Returns:
The current update policy.
double Gtk::SpinButton::get_value ( ) const

Get the value in the spin_button.

Returns:
The value of spin_button.
int Gtk::SpinButton::get_value_as_int ( ) const

Get the value spin_button represented as an integer.

Returns:
The value of spin_button.
bool Gtk::SpinButton::get_wrap ( ) const

Returns whether the spin button's value wraps around to the opposite limit when the upper or lower limit of the range is exceeded.

See set_wrap().

Returns:
true if the spin button wraps around.
const GtkSpinButton* Gtk::SpinButton::gobj ( ) const [inline]

Provides access to the underlying C GtkObject.

Reimplemented from Gtk::Entry.

GtkSpinButton* Gtk::SpinButton::gobj ( ) [inline]

Provides access to the underlying C GtkObject.

Reimplemented from Gtk::Entry.

virtual int Gtk::SpinButton::on_input ( double *  new_value) [protected, virtual]
virtual bool Gtk::SpinButton::on_output ( ) [protected, virtual]
virtual void Gtk::SpinButton::on_value_changed ( ) [protected, virtual]
virtual void Gtk::SpinButton::on_wrapped ( ) [protected, virtual]
Glib::PropertyProxy< Glib::RefPtr<Adjustment> > Gtk::SpinButton::property_adjustment ( )

The adjustment that holds the value of the spin button.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Adjustment> > Gtk::SpinButton::property_adjustment ( ) const

The adjustment that holds the value of the spin button.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy<double> Gtk::SpinButton::property_climb_rate ( )

The acceleration rate when you hold down a button.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly<double> Gtk::SpinButton::property_climb_rate ( ) const

The acceleration rate when you hold down a button.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy<guint> Gtk::SpinButton::property_digits ( )

The number of decimal places to display.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly<guint> Gtk::SpinButton::property_digits ( ) const

The number of decimal places to display.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy<bool> Gtk::SpinButton::property_numeric ( )

Whether non-numeric characters should be ignored.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly<bool> Gtk::SpinButton::property_numeric ( ) const

Whether non-numeric characters should be ignored.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy<bool> Gtk::SpinButton::property_snap_to_ticks ( )

Whether erroneous values are automatically changed to a spin button's nearest step increment.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly<bool> Gtk::SpinButton::property_snap_to_ticks ( ) const

Whether erroneous values are automatically changed to a spin button's nearest step increment.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy<SpinButtonUpdatePolicy> Gtk::SpinButton::property_update_policy ( )

Whether the spin button should update always, or only when the value is legal.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly<SpinButtonUpdatePolicy> Gtk::SpinButton::property_update_policy ( ) const

Whether the spin button should update always, or only when the value is legal.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly<double> Gtk::SpinButton::property_value ( ) const

Reads the current value, or sets a new value.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy<double> Gtk::SpinButton::property_value ( )

Reads the current value, or sets a new value.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy<bool> Gtk::SpinButton::property_wrap ( )

Whether a spin button should wrap upon reaching its limits.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly<bool> Gtk::SpinButton::property_wrap ( ) const

Whether a spin button should wrap upon reaching its limits.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
void Gtk::SpinButton::set_adjustment ( const Glib::RefPtr< Adjustment >&  adjustment)

Replaces the Gtk::Adjustment associated with spin_button.

Parameters:
adjustmentA Gtk::Adjustment to replace the existing adjustment.
void Gtk::SpinButton::set_digits ( guint  digits)

Set the precision to be displayed by spin_button.

Up to 20 digit precision is allowed.

Parameters:
digitsThe number of digits after the decimal point to be displayed for the spin button's value.
void Gtk::SpinButton::set_increments ( double  step,
double  page 
)

Sets the step and page increments for spin_button.

This affects how quickly the value changes when the spin button's arrows are activated.

Parameters:
stepIncrement applied for a button 1 press.
pageIncrement applied for a button 2 press.
void Gtk::SpinButton::set_numeric ( bool  numeric = true)

Sets the flag that determines if non-numeric text can be typed into the spin button.

Parameters:
numericFlag indicating if only numeric entry is allowed.
void Gtk::SpinButton::set_range ( double  min,
double  max 
)

Sets the minimum and maximum allowable values for spin_button.

Parameters:
minMinimum allowable value.
maxMaximum allowable value.
void Gtk::SpinButton::set_snap_to_ticks ( bool  snap_to_ticks = true)

Sets the policy as to whether values are corrected to the nearest step increment when a spin button is activated after providing an invalid value.

Parameters:
snap_to_ticksA flag indicating if invalid values should be corrected.
void Gtk::SpinButton::set_update_policy ( SpinButtonUpdatePolicy  policy)

Sets the update behavior of a spin button.

This determines whether the spin button is always updated or only when a valid value is set.

Parameters:
policyA Gtk::SpinButtonUpdatePolicy value.
void Gtk::SpinButton::set_value ( double  value)

Set the value of spin_button.

Parameters:
valueThe new value.
void Gtk::SpinButton::set_wrap ( bool  wrap = true)

Sets the flag that determines if a spin button value wraps around to the opposite limit when the upper or lower limit of the range is exceeded.

Parameters:
wrapA flag indicating if wrapping behavior is performed.
Glib::SignalProxy1< int,double* > Gtk::SpinButton::signal_input ( )

Convert the Entry text to a number.

The computed number should be written to *new_value.

Returns:
  • false: No conversion done, continue with default handler.
  • true: Conversion successful, don't call default handler.
  • Gtk::INPUT_ERROR: Conversion failed, don't call default handler.
Prototype:
int on_my_input(double* new_value)
Glib::SignalProxy0< bool > Gtk::SpinButton::signal_output ( )

Convert the Adjustment position to text.

The computed text should be written via Gtk::Entry::set_text().

Returns:
  • false: No conversion done, continue with default handler.
  • true: Conversion successful, don't call default handler.
Prototype:
bool on_my_output()
Glib::SignalProxy0< void > Gtk::SpinButton::signal_value_changed ( )
Prototype:
void on_my_value_changed()
Glib::SignalProxy0< void > Gtk::SpinButton::signal_wrapped ( )
Prototype:
void on_my_wrapped()
void Gtk::SpinButton::spin ( SpinType  direction,
double  increment 
)

Increment or decrement a spin button's value in a specified direction by a specified amount.

Parameters:
directionA Gtk::SpinType indicating the direction to spin.
incrementStep increment to apply in the specified direction.
void Gtk::SpinButton::unset_adjustment ( )
void Gtk::SpinButton::update ( )

Manually force an update of the spin button.


Friends And Related Function Documentation

Gtk::SpinButton* wrap ( GtkSpinButton *  object,
bool  take_copy = false 
) [related]

A Glib::wrap() method for this object.

Parameters:
objectThe C instance.
take_copyFalse if the result should take ownership of the C instance. True if it should take a new copy or ref.
Returns:
A C++ instance that wraps this C instance.

The documentation for this class was generated from the following file:
  • gtkmm/spinbutton.h