# Gtk::Layout Class Reference
[Widgets, Container Widgets]

Infinite scrollable area containing child widgets and/or custom drawing. More...

Inherits Gtk::Container.

Collaboration diagram for Gtk::Layout:
[legend]

List of all members.

## Public Member Functions

virtual | ~Layout ()
GtkLayout* | gobj ()
| Provides access to the underlying C GtkObject.
const GtkLayout* | gobj () const
| Provides access to the underlying C GtkObject.
| Layout ()
| Layout (Adjustment& hadjustment, Adjustment& vadjustment)
Glib::RefPtr< Gdk::Window > | get_bin_window ()
| Retrieve the bin window of the layout used for drawing operations.
Glib::RefPtr< const Gdk::Window > | get_bin_window () const
| Retrieve the bin window of the layout used for drawing operations.
void | put (Widget& child_widget, int x, int y)
| Adds child_widget to layout, at position ( x, y).
void | move (Widget& child_widget, int x, int y)
| Moves a current child of layout to a new position.
void | set_size (guint width, guint height)
| Sets the size of the scrollable area of the layout.
void | get_size (guint& width, guint& height) const
| Gets the size that has been set on the layout, and that determines the total extents of the layout's scrollbar area.
void | set_hadjustment (Adjustment& adjustment)
| Sets the horizontal scroll adjustment for the layout.
void | set_hadjustment ()
| Creates the Adjustment.
Adjustment* | get_hadjustment ()
| This function should only be called after the layout has been placed in a Gtk::ScrolledWindow or otherwise configured for scrolling.
const Adjustment* | get_hadjustment () const
| This function should only be called after the layout has been placed in a Gtk::ScrolledWindow or otherwise configured for scrolling.
void | set_vadjustment (Adjustment& adjustment)
| Sets the vertical scroll adjustment for the layout.
void | set_vadjustment ()
| Creates the Adjustment.
Adjustment* | get_vadjustment ()
| This function should only be called after the layout has been placed in a Gtk::ScrolledWindow or otherwise configured for scrolling.
const Adjustment* | get_vadjustment () const
| This function should only be called after the layout has been placed in a Gtk::ScrolledWindow or otherwise configured for scrolling.
Glib::SignalProxy2< void, Adjustment*, Adjustment* > | signal_set_scroll_adjustments ()
Glib::PropertyProxy< Adjustment* > | property_hadjustment ()
| The GtkAdjustment for the horizontal position.
Glib::PropertyProxy_ReadOnly < Adjustment* > | property_hadjustment () const
| The GtkAdjustment for the horizontal position.
Glib::PropertyProxy< Adjustment* > | property_vadjustment ()
| The GtkAdjustment for the vertical position.
Glib::PropertyProxy_ReadOnly < Adjustment* > | property_vadjustment () const
| The GtkAdjustment for the vertical position.
Glib::PropertyProxy< guint > | property_width ()
| The width of the layout.
Glib::PropertyProxy_ReadOnly < guint > | property_width () const
| The width of the layout.
Glib::PropertyProxy< guint > | property_height ()
| The height of the layout.
Glib::PropertyProxy_ReadOnly < guint > | property_height () const
| The height of the layout.

## Protected Member Functions

virtual void | on_set_scroll_adjustments (Adjustment* hadj, Adjustment* vadj)

## Related Functions

(Note that these are not member functions.)
Gtk::Layout* | wrap (GtkLayout* object, bool take_copy=false)
| A Glib::wrap() method for this object.

## Detailed Description

Infinite scrollable area containing child widgets and/or custom drawing.

Gtk::Layout is similar to Gtk::DrawingArea in that it's a "blank slate" and doesn't do anything but paint a blank background by default. It's different in that it supports scrolling natively (You can add it directly to a Gtk::ScrolledWindow), and it can contain child widgets, since it's a Gtk::Container. However if you're just going to draw, a Gtk::DrawingArea is a better choice since it has lower overhead.

When handling expose_event signals, you must draw to the bin_window Gdk::Window - see get_bin_window() - rather than the normal Gdk::Window - see get_window() - as you would for a drawing area.

## Constructor & Destructor Documentation

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

Gtk::Layout::Layout | ( |  | ) |

Gtk::Layout::Layout | ( | Adjustment& | hadjustment,
|  | Adjustment& | vadjustment |
| ) |  |  |

## Member Function Documentation

Glib::RefPtr<const Gdk::Window> Gtk::Layout::get_bin_window | ( |  | ) | const

Retrieve the bin window of the layout used for drawing operations.

Returns:
  A Gdk::Window

Since gtkmm 2.14:

Glib::RefPtr<Gdk::Window> Gtk::Layout::get_bin_window | ( |  | ) |

Retrieve the bin window of the layout used for drawing operations.

Returns:
  A Gdk::Window

Since gtkmm 2.14:

const Adjustment* Gtk::Layout::get_hadjustment | ( |  | ) | const

This function should only be called after the layout has been placed in a Gtk::ScrolledWindow or otherwise configured for scrolling.

It returns the Gtk::Adjustment used for communication between the horizontal scrollbar and layout.

See Gtk::ScrolledWindow, Gtk::Scrollbar, Gtk::Adjustment for details.

Returns:
  Horizontal scroll adjustment.

Adjustment* Gtk::Layout::get_hadjustment | ( |  | ) |

This function should only be called after the layout has been placed in a Gtk::ScrolledWindow or otherwise configured for scrolling.

It returns the Gtk::Adjustment used for communication between the horizontal scrollbar and layout.

See Gtk::ScrolledWindow, Gtk::Scrollbar, Gtk::Adjustment for details.

Returns:
  Horizontal scroll adjustment.

void Gtk::Layout::get_size | ( | guint & | width,
|  | guint & | height |
| ) |  |  | const

Gets the size that has been set on the layout, and that determines the total extents of the layout's scrollbar area.

See set_size().

Parameters:

  | width | Location to store the width set on layout, or `0`.
  | height | Location to store the height set on layout, or `0`.

const Adjustment* Gtk::Layout::get_vadjustment | ( |  | ) | const

This function should only be called after the layout has been placed in a Gtk::ScrolledWindow or otherwise configured for scrolling.

It returns the Gtk::Adjustment used for communication between the vertical scrollbar and layout.

See Gtk::ScrolledWindow, Gtk::Scrollbar, Gtk::Adjustment for details.

Returns:
  Vertical scroll adjustment.

Adjustment* Gtk::Layout::get_vadjustment | ( |  | ) |

This function should only be called after the layout has been placed in a Gtk::ScrolledWindow or otherwise configured for scrolling.

It returns the Gtk::Adjustment used for communication between the vertical scrollbar and layout.

See Gtk::ScrolledWindow, Gtk::Scrollbar, Gtk::Adjustment for details.

Returns:
  Vertical scroll adjustment.

const GtkLayout* Gtk::Layout::gobj | ( |  | ) | const`[inline]`

Provides access to the underlying C GtkObject.

Reimplemented from Gtk::Container.

GtkLayout* Gtk::Layout::gobj | ( |  | ) | `[inline]`

Provides access to the underlying C GtkObject.

Reimplemented from Gtk::Container.

void Gtk::Layout::move | ( | Widget& | child_widget,
|  | int | x,
|  | int | y |
| ) |  |  |

Moves a current child of layout to a new position.

Parameters:

  | child_widget | A current child of layout.
  | x | X position to move to.
  | y | Y position to move to.

virtual void Gtk::Layout::on_set_scroll_adjustments | ( | Adjustment* | hadj,
|  | Adjustment* | vadj |
| ) |  |  | `[protected, virtual]`

Glib::PropertyProxy_ReadOnly<Adjustment*> Gtk::Layout::property_hadjustment | ( |  | ) | const

The GtkAdjustment for the horizontal position.

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<Adjustment*> Gtk::Layout::property_hadjustment | ( |  | ) |

The GtkAdjustment for the horizontal position.

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::Layout::property_height | ( |  | ) | const

The height of the layout.

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::Layout::property_height | ( |  | ) |

The height of the layout.

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<Adjustment*> Gtk::Layout::property_vadjustment | ( |  | ) | const

The GtkAdjustment for the vertical position.

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<Adjustment*> Gtk::Layout::property_vadjustment | ( |  | ) |

The GtkAdjustment for the vertical position.

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::Layout::property_width | ( |  | ) | const

The width of the layout.

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::Layout::property_width | ( |  | ) |

The width of the layout.

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::Layout::put | ( | Widget& | child_widget,
|  | int | x,
|  | int | y |
| ) |  |  |

Adds child_widget to layout, at position ( x, y).

layout becomes the new parent container of child_widget.

Parameters:

  | child_widget | Child widget.
  | x | X position of child widget.
  | y | Y position of child widget.

void Gtk::Layout::set_hadjustment | ( |  | ) |

Creates the Adjustment.

void Gtk::Layout::set_hadjustment | ( | Adjustment& | adjustment | ) |

Sets the horizontal scroll adjustment for the layout.

See Gtk::ScrolledWindow, Gtk::Scrollbar, Gtk::Adjustment for details.

Parameters:

  | adjustment | New scroll adjustment.

void Gtk::Layout::set_size | ( | guint | width,
|  | guint | height |
| ) |  |  |

Sets the size of the scrollable area of the layout.

Parameters:

  | width | Width of entire scrollable area.
  | height | Height of entire scrollable area.

void Gtk::Layout::set_vadjustment | ( |  | ) |

Creates the Adjustment.

void Gtk::Layout::set_vadjustment | ( | Adjustment& | adjustment | ) |

Sets the vertical scroll adjustment for the layout.

See Gtk::ScrolledWindow, Gtk::Scrollbar, Gtk::Adjustment for details.

Parameters:

  | adjustment | New scroll adjustment.

Glib::SignalProxy2< void,Adjustment*,Adjustment* > Gtk::Layout::signal_set_scroll_adjustments | ( |  | ) |

Prototype:
  `void on_my_set_scroll_adjustments(Adjustment* hadj, Adjustment* vadj)`

## Friends And Related Function Documentation

Gtk::Layout* wrap | ( | GtkLayout * | 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/layout.h