# Gtk::SpinButton Class Reference
[Widgets]

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

Inherits Gtk::Entry.

Collaboration diagram for Gtk::SpinButton:
[legend]

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 (Adjustment& adjustment, double climb_rate=0.0, guint digits=0)
void | configure (Adjustment& adjustment, double climb_rate, guint digits)
void | set_adjustment (Adjustment& adjustment)
| Replaces the Gtk::Adjustment associated with spin_button.
void | unset_adjustment ()
Gtk::Adjustment* | get_adjustment ()
| Get the adjustment associated with a Gtk::SpinButton.
const Gtk::Adjustment* | get_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
| Return value: `true` if only numeric text can be entered.
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
| Return value: `true` if the spin button wraps around.
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
| Return value: `true` if values are snapped 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< bool > | signal_wrapped ()
Glib::SignalProxy0< void > | signal_value_changed ()
Glib::PropertyProxy < Gtk::Adjustment* > | property_adjustment ()
| The adjustment that holds the value of the spinbutton.
Glib::PropertyProxy_ReadOnly < Gtk::Adjustment* > | property_adjustment () const
| The adjustment that holds the value of the spinbutton.
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.
Glib::PropertyProxy_ReadOnly < SpinButtonUpdatePolicy > | property_update_policy () const
| Whether the spin button should update always.
Glib::PropertyProxy< double > | property_value ()
| Reads the current value.
Glib::PropertyProxy_ReadOnly < double > | property_value () const
| Reads the current value.

## Protected Member Functions

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

## Related Functions

(Note that these are not member functions.)
Gtk::SpinButton* | wrap (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:

## Constructor & Destructor Documentation

virtual Gtk::SpinButton::~SpinButton | ( |  | ) | `[virtual]`

Gtk::SpinButton::SpinButton | ( | double | climb_rate = `0.0`,
|  | guint | digits = `0` |
| ) |  |  |

Gtk::SpinButton::SpinButton | ( | Adjustment& | adjustment,
|  | double | climb_rate = `0.0`,
|  | guint | digits = `0` |
| ) |  |  | `[explicit]`

## Member Function Documentation

void Gtk::SpinButton::configure | ( | Adjustment& | adjustment,
|  | double | climb_rate,
|  | guint | digits |
| ) |  |  |

const Gtk::Adjustment* Gtk::SpinButton::get_adjustment | ( |  | ) | const

Get the adjustment associated with a Gtk::SpinButton.

Returns:
  The Gtk::Adjustment of spin_button.

Gtk::Adjustment* Gtk::SpinButton::get_adjustment | ( |  | ) |

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:

  | step | Location to store step increment, or `0`.
  | page | Location to store page increment, or `0`.

bool Gtk::SpinButton::get_numeric | ( |  | ) | const

Return value: `true` if only numeric text can be entered.

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:

  | min | Location to store minimum allowed value, or `0`.
  | max | Location to store maximum allowed value, or `0`.

bool Gtk::SpinButton::get_snap_to_ticks | ( |  | ) | const

Return value: `true` if values are snapped to the nearest step.

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

Return value: `true` if the spin button wraps around.

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]`

Glib::PropertyProxy_ReadOnly<Gtk::Adjustment*> Gtk::SpinButton::property_adjustment | ( |  | ) | const

The adjustment that holds the value of the spinbutton.

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<Gtk::Adjustment*> Gtk::SpinButton::property_adjustment | ( |  | ) |

The adjustment that holds the value of the spinbutton.

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<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<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<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<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_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_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<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<SpinButtonUpdatePolicy> Gtk::SpinButton::property_update_policy | ( |  | ) | const

Whether the spin button should update always.

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.

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.

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.

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.

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.

void Gtk::SpinButton::set_adjustment | ( | Adjustment& | adjustment | ) |

Replaces the Gtk::Adjustment associated with spin_button.

Parameters:

  | adjustment | A 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:

  | digits | The 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:

  | step | Increment applied for a button 1 press.
  | page | Increment 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:

  | numeric | Flag 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:

  | min | Minimum allowable value.
  | max | Maximum 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_ticks | A 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:

  | policy | A Gtk::SpinButtonUpdatePolicy value.

void Gtk::SpinButton::set_value | ( | double | value | ) |

Set the value of spin_button.

Parameters:

  | value | The 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:

  | wrap | A 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< bool > Gtk::SpinButton::signal_wrapped | ( |  | ) |

Prototype:
  `bool 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:

  | direction | A Gtk::SpinType indicating the direction to spin.
  | increment | Step 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:

  | object | The C instance.
  | take_copy | False 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