diff options
author | Pavel Holejsovsky <pholejs@src.gnome.org> | 2011-01-15 14:50:24 +0100 |
---|---|---|
committer | Pavel Holejsovsky <pholejs@src.gnome.org> | 2011-01-17 15:27:02 +0100 |
commit | 2bd38dc7f5fe6aa4a555764343469cd22e219575 (patch) | |
tree | 14c3d5fa72b1549f1bb099f264dcf6fe38d9944c /gtk/gtkfixed.c | |
parent | 2f207ca749c4d705c39062761335458522c803d2 (diff) | |
download | gtk+-2bd38dc7f5fe6aa4a555764343469cd22e219575.tar.gz |
Move GtkFixed docs inline
Also remove incorrect documentation of opaque GtkFixed class struct.
Diffstat (limited to 'gtk/gtkfixed.c')
-rw-r--r-- | gtk/gtkfixed.c | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/gtk/gtkfixed.c b/gtk/gtkfixed.c index d75f599b12..e61f03a625 100644 --- a/gtk/gtkfixed.c +++ b/gtk/gtkfixed.c @@ -24,6 +24,55 @@ * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ +/** + * SECTION:gtkfixed + * @Short_description: A container which allows you to position + * widgets at fixed coordinates + * @Title: GtkFixed + * + * The #GtkFixed widget is a container which can place child widgets + * at fixed positions and with fixed sizes, given in pixels. #GtkFixed + * 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 #GtkFixed, the following + * things will result in truncated text, overlapping widgets, and + * other display bugs: + * <itemizedlist> + * <listitem><para> + * Themes, which may change widget sizes. + * </para></listitem> + * <listitem><para> + * 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. + * </para></listitem> + * <listitem><para> + * Translation of text into other languages changes its size. Also, + * display of non-English text will use a different font in many + * cases. + * </para></listitem> + * </itemizedlist> + * + * 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 #GtkFixed. 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 #GtkFixed, by all means use the + * widget. But you should be aware of the tradeoffs. + */ + #include "config.h" #include "gtkfixed.h" @@ -132,6 +181,13 @@ gtk_fixed_init (GtkFixed *fixed) fixed->priv->children = NULL; } +/** + * gtk_fixed_new: + * + * Creates a new #GtkFixed. + * + * Returns: a new #GtkFixed. + */ GtkWidget* gtk_fixed_new (void) { @@ -158,6 +214,15 @@ get_child (GtkFixed *fixed, return NULL; } +/** + * gtk_fixed_put: + * @fixed: a #GtkFixed. + * @widget: the widget to add. + * @x: the horizontal position to place the widget at. + * @y: the vertical position to place the widget at. + * + * Adds a widget to a #GtkFixed container at the given position. + */ void gtk_fixed_put (GtkFixed *fixed, GtkWidget *widget, @@ -210,6 +275,15 @@ gtk_fixed_move_internal (GtkFixed *fixed, gtk_widget_queue_resize (GTK_WIDGET (fixed)); } +/** + * gtk_fixed_move: + * @fixed: a #GtkFixed. + * @widget: the child widget. + * @x: the horizontal position to move the widget to. + * @y: the vertical position to move the widget to. + * + * Moves a child of a #GtkFixed container to the given position. + */ void gtk_fixed_move (GtkFixed *fixed, GtkWidget *widget, |