A container which allows you to position widgets at fixed coordinates
The <gtk-fixed>
widget is a container which can place child widgets at
fixed positions and with fixed sizes, given in pixels. <gtk-fixed>
performs no automatic layout management.
For most applications, you should not use this container! It keeps you from
having to learn about the other GTK+ containers, but it results in broken
applications. With <gtk-fixed>
, the following things will result in
truncated text, overlapping widgets, and other display bugs:
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 Windows or the framebuffer port of GTK+, where different fonts are available.
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, the fixed widget can't properly be mirrored in right-to-left
languages such as Hebrew and Arabic. i.e. normally GTK+ will flip the interface
to put labels to the right of the thing they label, but it can't do that with
<gtk-fixed>
. So your application will not be usable in right-to-left
languages.
Finally, fixed positioning makes it kind of annoying to add/remove GUI elements, since you have to reposition all the other elements. This is a long-term maintenance problem for your application.
If you know none of these things are an issue for your application, and prefer
the simplicity of <gtk-fixed>
, by all means use the widget. But you
should be aware of the tradeoffs.
<gtk-fixed>
) (widget <gtk-widget>
) (x int
) (y int
)Adds a widget to a
<gtk-fixed>
container at the given position.
- fixed
- a
<gtk-fixed>
.- widget
- the widget to add.
- x
- the horizontal position to place the widget at.
- y
- the vertical position to place the widget at.
<gtk-fixed>
) (widget <gtk-widget>
) (x int
) (y int
)Moves a child of a
<gtk-fixed>
container to the given position.
- fixed
- a
<gtk-fixed>
.- widget
- the child widget.
- x
- the horizontal position to move the widget to.
- y
- the vertical position to move the widget to.
<gtk-fixed>
) ⇒ (ret bool
)Gets whether the
<gtk-fixed>
has its own<gdk-window>
. Seegdk-fixed-set-has-window
.
- fixed
- a
<gtk-widget>
- ret
- ‘
#t
’ if fixed has its own window.
<gtk-fixed>
) (has_window bool
)Sets whether a
<gtk-fixed>
widget is created with a separate<gdk-window>
for widget->window or not. (By default, it will be created with no separate<gdk-window>
). This function must be called while the<gtk-fixed>
is not realized, for instance, immediately after the window is created.This function was added to provide an easy migration path for older applications which may expect
<gtk-fixed>
to have a separate window.
- fixed
- a
<gtk-fixed>
- has-window
- ‘
#t
’ if a separate window should be created