gtkmm: Gtk::FixedLayout Class Reference

gtkmm 4.22.0

Public Member Functions | Static Public Member Functions | Protected Member Functions | Related Symbols | List of all members
Gtk::FixedLayout Class Reference

A layout manager that places child widgets at fixed positions. More...

`#include <gtkmm/fixedlayout.h>`

Inheritance diagram for Gtk::FixedLayout:
[legend]

## Public Member Functions
| FixedLayout (FixedLayout && src) noexcept
FixedLayout & | operator= (FixedLayout && src) noexcept
| ~FixedLayout () noexcept override
GtkFixedLayout * | gobj ()
| Provides access to the underlying C GObject.
const GtkFixedLayout * | gobj () const
| Provides access to the underlying C GObject.
GtkFixedLayout * | gobj_copy ()
| Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
Public Member Functions inherited from Gtk::LayoutManager
| LayoutManager (LayoutManager && src) noexcept
LayoutManager & | operator= (LayoutManager && src) noexcept
| ~LayoutManager () noexcept override
GtkLayoutManager * | gobj ()
| Provides access to the underlying C GObject.
const GtkLayoutManager * | gobj () const
| Provides access to the underlying C GObject.
GtkLayoutManager * | gobj_copy ()
| Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
void | measure (Widget & widget, Orientation orientation, int for_size, int & minimum, int & natural, int & minimum_baseline, int & natural_baseline) const
| Measures the size of the widget using manager, for the given orientation and size.
void | allocate (Widget & widget, int width, int height, int baseline)
| Assigns the given width, height, and baseline to a widget, and computes the position and sizes of the children of the widget using the layout management policy of manager.
SizeRequestMode | get_request_mode () const
| Retrieves the request mode of manager.
Widget * | get_widget ()
| Retrieves the Gtk::Widget using the given Gtk::LayoutManager.
const Widget * | get_widget () const
| Retrieves the Gtk::Widget using the given Gtk::LayoutManager.
void | layout_changed ()
| Queues a resize on the Gtk::Widget using manager, if any.
Glib::RefPtr< LayoutChild > | get_layout_child (Widget & child)
| Retrieves a Gtk::LayoutChild instance for the Gtk::LayoutManager, creating one if necessary.
Glib::RefPtr< const LayoutChild > | get_layout_child (Widget & child) const
| Retrieves a Gtk::LayoutChild instance for the Gtk::LayoutManager, creating one if necessary.
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_with_c_callback (const Quark &key, void *data, GDestroyNotify notify)
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
PropertyType | get_property (const Glib::ustring &property_name) const
sigc::connection | connect_property_changed (const Glib::ustring &property_name, const sigc::slot< void()> &slot)
sigc::connection | connect_property_changed (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) noexcept
| ~trackable ()
void | add_destroy_notify_callback (notifiable *data, func_destroy_notify func) const
void | notify_callbacks ()
trackable & | operator= (const trackable &src)
trackable & | operator= (trackable &&src) noexcept
void | remove_destroy_notify_callback (notifiable *data) const

## Static Public Member Functions
static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system.
static Glib::RefPtr< FixedLayout > | create ()
Static Public Member Functions inherited from Gtk::LayoutManager
static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system.

## Protected Member Functions
| FixedLayout ()
Protected Member Functions inherited from Gtk::LayoutManager
| LayoutManager ()
| There is no create() method that corresponds to this constructor, because only derived classes shall be created.
virtual SizeRequestMode | get_request_mode_vfunc (const Widget & widget) const
virtual void | measure_vfunc (const Widget & widget, Orientation orientation, int for_size, int & minimum, int & natural, int & minimum_baseline, int & natural_baseline) const
virtual void | allocate_vfunc (const Widget & widget, int width, int height, int baseline)
virtual Glib::RefPtr< LayoutChild > | create_layout_child_vfunc (const Widget & widget, const Widget & for_child)
virtual void | root_vfunc ()
virtual void | unroot_vfunc ()
Protected Member Functions inherited from Glib::Object
| Object ()
| Object (const Glib::ConstructParams &construct_params)
| Object (GObject *castitem)
| ~Object () noexcept override
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 Symbols
(Note that these are not member symbols.)
Glib::RefPtr< Gtk::FixedLayout > | wrap (GtkFixedLayout * object, bool take_copy=false)
| A Glib::wrap() method for this object.
Related Symbols inherited from Gtk::LayoutManager
Glib::RefPtr< Gtk::LayoutManager > | wrap (GtkLayoutManager * object, bool take_copy=false)
| A Glib::wrap() method for this object.

## 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
Public Types inherited from sigc::notifiable
typedef internal::func_destroy_notify | func_destroy_notify

## Detailed Description

A layout manager that places child widgets at fixed positions.

Most applications should never use this layout manager; fixed positioning and sizing requires constant recalculations on where children need to be positioned and sized. Other layout managers perform this kind of work internally so that application developers don't need to do it. Specifically, widgets positioned in a fixed layout manager will need to take into account:

- Themes, which may change widget sizes.
- Fonts other than the one you used to write the app will of course change the size of widgets containing text; keep in mind that users may use a larger font because of difficulty reading the default, or they may be using a different OS that provides different fonts.
- Translation of text into other languages changes its size. Also, display of non-English text will use a different font in many cases.

In addition, Gtk::FixedLayout does not pay attention to text direction and thus may produce unwanted results if your app is run under right-to-left languages such as Hebrew or Arabic. That is: normally GTK will order containers appropriately depending on the text direction, e.g. to put labels to the right of the thing they label when using an RTL language; Gtk::FixedLayout won't be able to do that for you.

Finally, fixed positioning makes it kind of annoying to add/remove UI elements, since you have to reposition all the other elements. This is a long-term maintenance problem for your application.

Since gtkmm 4.20

## Constructor & Destructor Documentation

## ◆ FixedLayout() [1/2]

Gtk::FixedLayout::FixedLayout | ( | FixedLayout && | src | ) |
| noexcept

## ◆ ~FixedLayout()

Gtk::FixedLayout::~FixedLayout | ( |  | ) |
| overridenoexcept

## ◆ FixedLayout() [2/2]

Gtk::FixedLayout::FixedLayout | ( |  | ) |
| protected

## Member Function Documentation

## ◆ create()

Glib::RefPtr< FixedLayout > Gtk::FixedLayout::create | ( |  | ) |
| static

## ◆ get_type()

GType Gtk::FixedLayout::get_type | ( |  | ) |
| static

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

## ◆ gobj() [1/2]

GtkFixedLayout * Gtk::FixedLayout::gobj | ( |  | ) |
| inline

Provides access to the underlying C GObject.

## ◆ gobj() [2/2]

const GtkFixedLayout * Gtk::FixedLayout::gobj | ( |  | ) | const
| inline

Provides access to the underlying C GObject.

## ◆ gobj_copy()

GtkFixedLayout * Gtk::FixedLayout::gobj_copy | ( |  | ) |

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

## ◆ operator=()

FixedLayout & Gtk::FixedLayout::operator= | ( | FixedLayout && | src | ) |
| noexcept

## Friends And Related Symbol Documentation

## ◆ wrap()

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