gtkmm: Gtk::Adjustment Class Reference

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

Inheritance diagram for Gtk::Adjustment:
Collaboration diagram for Gtk::Adjustment:

Public Member Functions

virtual ~Adjustment ()
 
GtkAdjustment* gobj ()
 Provides access to the underlying C GtkObject. More...

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

 
 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...

 
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...

 
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 Gtk::Object
virtual ~Object ()
 
GtkObject* gobj ()
 Provides access to the underlying C GtkObject. More...

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

 
Glib::PropertyProxy< void* > property_user_data ()
 Anonymous User Data Pointer. More...

 
Glib::PropertyProxy_ReadOnly< void* > property_user_data () const
 Anonymous User Data Pointer. More...

 
- Public Member Functions inherited from Glib::Object
 Object (const Object &)=delete
 
Objectoperator= (const Object &)=delete
 
 Object (Object &&src) noexcept
 
Objectoperator= (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::Objectwrap (GObject *object, bool take_copy=false)
 
- Public Member Functions inherited from Glib::ObjectBase
 ObjectBase (const ObjectBase &)=delete
 
ObjectBaseoperator= (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 ()
 
trackableoperator= (const trackable &src)
 
trackableoperator= (trackable &&src)
 
void remove_destroy_notify_callback (void *data) const
 

Protected Member Functions

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
 
ObjectBaseoperator= (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.)

Gtk::Adjustmentwrap (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

virtual Gtk::Adjustment::~Adjustment ( )
virtual
Gtk::Adjustment::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.

Parameters
valueThe initial value
lowerThe minimum value
upperThe maximum value
step_incrementThe step increment
page_incrementThe page increment
page_sizeThe 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.

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
upperThe upper value.
lowerThe lower 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 "changed" signal. See set_lower() for an alternative way of compressing multiple emissions of "changed" into one.

Since gtkmm 2.14:
Parameters
valueThe new value.
lowerThe new minimum value.
upperThe new maximum value.
step_incrementThe new step increment.
page_incrementThe new page increment.
page_sizeThe new page size.
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_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.
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 GtkObject.

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

Provides access to the underlying C GtkObject.

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

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

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

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

Glib::PropertyProxy< double > Gtk::Adjustment::property_lower ( )

The minimum value of the adjustment.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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 "changed" signals will be emitted. However, since the emission of the "changed" signal is tied to the emission of the "GObject::notify" signals of the changed properties, it's possible to compress the "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 "changed" emissions.

Since gtkmm 2.14:
Parameters
lowerThe 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 "changed" signal when setting multiple adjustment properties.

Since gtkmm 2.14:
Parameters
page_incrementThe 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 "changed" signal when setting multiple adjustment properties.

Since gtkmm 2.14:
Parameters
page_sizeThe 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 "changed" signal when setting multiple adjustment properties.

Since gtkmm 2.14:
Parameters
step_incrementThe 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 "changed" signal when setting multiple adjustment properties.

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

Sets the current value of the Adjustment.

Parameters
valueThe new value of the Adjustment.
Glib::SignalProxy< void > Gtk::Adjustment::signal_changed ( )
Slot Prototype:
void on_my_changed()
Glib::SignalProxy< void > Gtk::Adjustment::signal_value_changed ( )
Slot Prototype:
void on_my_value_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.

Friends And Related Function Documentation

Gtk::Adjustment* wrap ( GtkAdjustment *  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/adjustment.h