gtkmm: Gtk::Adjustment Class Reference

A class representing an adjustable bounded value. More...

#include <gtkmm/adjustment.h>

Inheritance diagram for Gtk::Adjustment:

Public Member Functions

Adjustment ( Adjustment && src) noexcept
Adjustment & operator= ( Adjustment && src) noexcept
~Adjustment () noexceptoverride
GtkAdjustment* gobj ()
Provides access to the underlying C GObject. More...

const GtkAdjustment* gobj () const
Provides access to the underlying C GObject. More...

GtkAdjustment* gobj_copy ()
Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More...

void changed ()
Emits a "changed" signal from the Adjustment . More...

void value_changed ()
Emits a "value_changed" signal from the Adjustment . More...

void clamp_page (double lower, double upper)
Updates the Adjustment value to ensure that the range between the parameters lower and upper is in the current page (i.e. between value and value + page_size ). More...

void set_value (double value)
Sets the current value of the Adjustment . More...

double get_value () const
Gets the current value of the adjustment. More...

void set_lower (double lower)
Sets the minimum value of the adjustment. More...

double get_lower () const
Retrieves the minimum value of the adjustment. More...

void set_upper (double upper)
Sets the maximum value of the adjustment. More...

double get_upper () const
Retrieves the maximum value of the adjustment. More...

void set_step_increment (double step_increment)
Sets the step increment of the adjustment. More...

double get_step_increment () const
Retrieves the step increment of the adjustment. More...

void set_page_increment (double page_increment)
Sets the page increment of the adjustment. More...

double get_page_increment () const
Retrieves the page increment of the adjustment. More...

void set_page_size (double page_size)
Sets the page size of the adjustment. More...

double get_page_size () const
Retrieves the page size of the adjustment. More...

void configure (double value, double lower, double upper, double step_increment, double page_increment, double page_size)
Sets all properties of the adjustment at once. More...

double get_minimum_increment () const
Gets the smaller of step increment and page increment. More...

Glib::SignalProxy < void > signal_changed ()
Glib::SignalProxy < void > signal_value_changed ()
Glib::PropertyProxy < double > property_value ()
The value of the adjustment. More...

Glib::PropertyProxy_ReadOnly < double > property_value () const
The value of the adjustment. More...

Glib::PropertyProxy < double > property_lower ()
The minimum value of the adjustment. More...

Glib::PropertyProxy_ReadOnly < double > property_lower () const
The minimum value of the adjustment. More...

Glib::PropertyProxy < double > property_upper ()
The maximum value of the adjustment. More...

Glib::PropertyProxy_ReadOnly < double > property_upper () const
The maximum value of the adjustment. More...

Glib::PropertyProxy < double > property_step_increment ()
The step increment of the adjustment. More...

Glib::PropertyProxy_ReadOnly < double > property_step_increment () const
The step increment of the adjustment. More...

Glib::PropertyProxy < double > property_page_increment ()
The page increment of the adjustment. More...

Glib::PropertyProxy_ReadOnly < double > property_page_increment () const
The page increment of the adjustment. More...

Glib::PropertyProxy < double > property_page_size ()
The page size of the adjustment. More...

Glib::PropertyProxy_ReadOnly < double > property_page_size () const
The page size of the adjustment. More...

- Public Member Functions inherited from Glib::Object
Object (const Object &)=delete
Object & operator= (const Object &)=delete
Object ( Object &&src) noexcept
Object & operator= ( Object &&src) noexcept
void * get_data (const QueryQuark &key)
void set_data (const Quark &key, void *data)
void set_data (const Quark &key, void *data, DestroyNotify notify)
void remove_data (const QueryQuark &quark)
void * steal_data (const QueryQuark &quark)
Glib::RefPtr < Glib::Object > wrap (GObject *object, bool take_copy=false)
- Public Member Functions inherited from Glib::ObjectBase
ObjectBase (const ObjectBase &)=delete
ObjectBase & operator= (const ObjectBase &)=delete
void set_property_value (const Glib::ustring &property_name, const Glib::ValueBase &value)
void get_property_value (const Glib::ustring &property_name, Glib::ValueBase &value) const
void set_property (const Glib::ustring &property_name, const PropertyType &value)
void get_property (const Glib::ustring &property_name, PropertyType &value) const
void connect_property_changed (const Glib::ustring &property_name, const sigc::slot < void > &slot)
void connect_property_changed (const Glib::ustring &property_name, sigc::slot < void > &&slot)
sigc::connection connect_property_changed_with_return (const Glib::ustring &property_name, const sigc::slot < void > &slot)
sigc::connection connect_property_changed_with_return (const Glib::ustring &property_name, sigc::slot < void > &&slot)
void freeze_notify ()
void thaw_notify ()
virtual void reference () const
virtual void unreference () const
GObject * gobj ()
const GObject * gobj () const
GObject * gobj_copy () const
- Public Member Functions inherited from sigc::trackable
trackable () noexcept
trackable (const trackable &src) noexcept
trackable ( trackable &&src)
~trackable ()
void add_destroy_notify_callback (void *data, func_destroy_notify func) const
void notify_callbacks ()
trackable & operator= (const trackable &src)
trackable & operator= ( trackable &&src)
void remove_destroy_notify_callback (void *data) const

Static Public Member Functions

static GType get_type ()
Get the GType for this class, for use with the underlying GObject type system. More...

static Glib::RefPtr < Adjustment > create (double value, double lower, double upper, double step_increment=1, double page_increment=10, double page_size=0)

Protected Member Functions

Adjustment (double value, double lower, double upper, double step_increment=1, double page_increment=10, double page_size=0)
Constructor to create an Adjustment object. More...

virtual void on_changed ()
This is a default handler for the signal signal_changed() . More...

virtual void on_value_changed ()
This is a default handler for the signal signal_value_changed() . More...

- Protected Member Functions inherited from Glib::Object
Object ()
Object (const Glib::ConstructParams &construct_params)
Object (GObject *castitem)
~Object () noexceptoverride
- Protected Member Functions inherited from Glib::ObjectBase
ObjectBase ()
ObjectBase (const char *custom_type_name)
ObjectBase (const std::type_info &custom_type_info)
ObjectBase ( ObjectBase &&src) noexcept
ObjectBase & operator= ( ObjectBase &&src) noexcept
virtual ~ObjectBase () noexcept=0
void initialize (GObject *castitem)
void initialize_move (GObject *castitem, Glib::ObjectBase *previous_wrapper)

Related Functions

(Note that these are not member functions.)

Glib::RefPtr < Gtk::Adjustment > wrap (GtkAdjustment* object, bool take_copy=false)
A Glib::wrap() method for this object. More...

Additional Inherited Members

- Public Types inherited from Glib::Object
typedef void(*)(gpointer data DestroyNotify )
- Public Types inherited from sigc::trackable
typedef internal::func_destroy_notify func_destroy_notify

Detailed Description

A class representing an adjustable bounded value.

The Gtk::Adjustment object represents a value which has an associated lower and upper bound, together with step and page increments, and a page size. It is used within several gtkmm widgets, including Gtk::SpinButton , Gtk::Viewport , and Gtk::Range (which is a base class for Gtk::HScrollbar , Gtk::VScrollbar , Gtk::HScale , and Gtk::VScale ).

The Gtk::Adjustment object does not update the value itself. Instead it is left up to the owner of the Gtk::Adjustment to control the value.

The owner of the Gtk::Adjustment typically calls the value_changed() and changed() functions after changing the value and its bounds. This results in the emission of the "value_changed" or "changed" signal respectively.

Constructor & Destructor Documentation

Gtk::Adjustment::Adjustment ( Adjustment && src )
noexcept
Gtk::Adjustment::~Adjustment ( )
override noexcept
Gtk::Adjustment::Adjustment ( double value ,
double lower ,
double upper ,
double step_increment = 1 ,
double page_increment = 10 ,
double page_size = 0
)
protected

Constructor to create an Adjustment object.

Parameters
value The initial value
lower The minimum value
upper The maximum value
step_increment The step increment
page_increment The page increment
page_size The page size

Member Function Documentation

void Gtk::Adjustment::changed ( )

Emits a "changed" signal from the Adjustment .

This is typically called by the owner of the Adjustment after it has changed any of the Adjustment fields other than the value.

Deprecated:
GTK+ emits a 'changed' signal itself whenever any of the properties (other than value) change.
void Gtk::Adjustment::clamp_page ( double lower ,
double upper
)

Updates the Adjustment value to ensure that the range between the parameters lower and upper is in the current page (i.e. between value and value + page_size ).

If this range is larger than the page size, then only the start of it will be in the current page. A "changed" signal will be emitted if the value is changed.

Parameters
lower The lower value.
upper The upper value.
void Gtk::Adjustment::configure ( double value ,
double lower ,
double upper ,
double step_increment ,
double page_increment ,
double page_size
)

Sets all properties of the adjustment at once.

Use this function to avoid multiple emissions of the Gtk::Adjustment::signal_changed() signal. See set_lower() for an alternative way of compressing multiple emissions of Gtk::Adjustment::signal_changed() into one.

Since gtkmm 2.14:
Parameters
value The new value.
lower The new minimum value.
upper The new maximum value.
step_increment The new step increment.
page_increment The new page increment.
page_size The new page size.
static Glib::RefPtr < Adjustment > Gtk::Adjustment::create ( double value ,
double lower ,
double upper ,
double step_increment = 1 ,
double page_increment = 10 ,
double page_size = 0
)
static
double Gtk::Adjustment::get_lower ( ) const

Retrieves the minimum value of the adjustment.

Since gtkmm 2.14:
Returns
The current minimum value of the adjustment.
double Gtk::Adjustment::get_minimum_increment ( ) const

Gets the smaller of step increment and page increment.

Since gtkmm 3.2:
Returns
The minimum increment of adjustment .
double Gtk::Adjustment::get_page_increment ( ) const

Retrieves the page increment of the adjustment.

Since gtkmm 2.14:
Returns
The current page increment of the adjustment.
double Gtk::Adjustment::get_page_size ( ) const

Retrieves the page size of the adjustment.

Since gtkmm 2.14:
Returns
The current page size of the adjustment.
double Gtk::Adjustment::get_step_increment ( ) const

Retrieves the step increment of the adjustment.

Since gtkmm 2.14:
Returns
The current step increment of the adjustment.
static GType Gtk::Adjustment::get_type ( )
static

Get the GType for this class, for use with the underlying GObject type system.

double Gtk::Adjustment::get_upper ( ) const

Retrieves the maximum value of the adjustment.

Since gtkmm 2.14:
Returns
The current maximum value of the adjustment.
double Gtk::Adjustment::get_value ( ) const

Gets the current value of the adjustment.

See set_value() .

Returns
The current value of the adjustment.
GtkAdjustment* Gtk::Adjustment::gobj ( )
inline

Provides access to the underlying C GObject.

const GtkAdjustment* Gtk::Adjustment::gobj ( ) const
inline

Provides access to the underlying C GObject.

GtkAdjustment* Gtk::Adjustment::gobj_copy ( )

Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.

virtual void Gtk::Adjustment::on_changed ( )
protected virtual

This is a default handler for the signal signal_changed() .

virtual void Gtk::Adjustment::on_value_changed ( )
protected virtual

This is a default handler for the signal signal_value_changed() .

Adjustment & Gtk::Adjustment::operator= ( Adjustment && src )
noexcept
Glib::PropertyProxy < double > Gtk::Adjustment::property_lower ( )

The minimum value of the adjustment.

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

The minimum value of the adjustment.

Since gtkmm 2.4:
Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.
Glib::PropertyProxy < double > Gtk::Adjustment::property_page_increment ( )

The page increment of the adjustment.

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

The page increment of the adjustment.

Since gtkmm 2.4:
Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.
Glib::PropertyProxy < double > Gtk::Adjustment::property_page_size ( )

The page size of the adjustment.

Note that the page-size is irrelevant and should be set to zero if the adjustment is used for a simple scalar value, e.g. in a Gtk::SpinButton .

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

The page size of the adjustment.

Note that the page-size is irrelevant and should be set to zero if the adjustment is used for a simple scalar value, e.g. in a Gtk::SpinButton .

Since gtkmm 2.4:
Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.
Glib::PropertyProxy < double > Gtk::Adjustment::property_step_increment ( )

The step increment of the adjustment.

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

The step increment of the adjustment.

Since gtkmm 2.4:
Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.
Glib::PropertyProxy < double > Gtk::Adjustment::property_upper ( )

The maximum value of the adjustment.

Note that values will be restricted by upper - page-size if the page-size property is nonzero.

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

The maximum value of the adjustment.

Note that values will be restricted by upper - page-size if the page-size property is nonzero.

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

The value of the adjustment.

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

The value of the adjustment.

Since gtkmm 2.4:
Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.
void Gtk::Adjustment::set_lower ( double lower )

Sets the minimum value of the adjustment.

When setting multiple adjustment properties via their individual setters, multiple Gtk::Adjustment::signal_changed() signals will be emitted. However, since the emission of the Gtk::Adjustment::signal_changed() signal is tied to the emission of the Object::signal_notify() signals of the changed properties, it’s possible to compress the Gtk::Adjustment::signal_changed() signals into one by calling Glib::object_freeze_notify() and Glib::object_thaw_notify() around the calls to the individual setters.

Alternatively, using a single Glib::object_set() for all the properties to change, or using configure() has the same effect of compressing Gtk::Adjustment::signal_changed() emissions.

Since gtkmm 2.14:
Parameters
lower The new minimum value.
void Gtk::Adjustment::set_page_increment ( double page_increment )

Sets the page increment of the adjustment.

See set_lower() about how to compress multiple emissions of the Gtk::Adjustment::signal_changed() signal when setting multiple adjustment properties.

Since gtkmm 2.14:
Parameters
page_increment The new page increment.
void Gtk::Adjustment::set_page_size ( double page_size )

Sets the page size of the adjustment.

See set_lower() about how to compress multiple emissions of the GtkAdjustment::changed signal when setting multiple adjustment properties.

Since gtkmm 2.14:
Parameters
page_size The new page size.
void Gtk::Adjustment::set_step_increment ( double step_increment )

Sets the step increment of the adjustment.

See set_lower() about how to compress multiple emissions of the Gtk::Adjustment::signal_changed() signal when setting multiple adjustment properties.

Since gtkmm 2.14:
Parameters
step_increment The new step increment.
void Gtk::Adjustment::set_upper ( double upper )

Sets the maximum value of the adjustment.

Note that values will be restricted by upper - page-size if the page-size property is nonzero.

See set_lower() about how to compress multiple emissions of the Gtk::Adjustment::signal_changed() signal when setting multiple adjustment properties.

Since gtkmm 2.14:
Parameters
upper The new maximum value.
void Gtk::Adjustment::set_value ( double value )

Sets the current value of the Adjustment .

Parameters
value The new value of the Adjustment .
Glib::SignalProxy < void > Gtk::Adjustment::signal_changed ( )
Slot Prototype:
void on_my_changed()

Emitted when one or more of the Gtk::Adjustment properties have been changed, other than the Gtk::Adjustment::property_value() property.

Glib::SignalProxy < void > Gtk::Adjustment::signal_value_changed ( )
Slot Prototype:
void on_my_value_changed()

Emitted when the Gtk::Adjustment::property_value() property has been changed.

void Gtk::Adjustment::value_changed ( )

Emits a "value_changed" signal from the Adjustment .

This is typically called by the owner of the Adjustment after it has changed the Adjustment value field.

Deprecated:
GTK+ emits a 'value_changed' signal itself whenever the value changes.

Friends And Related Function Documentation

Glib::RefPtr < Gtk::Adjustment > wrap ( GtkAdjustment * 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.