[ruby-gnome2-doc-cvs] [Hiki] update - Gtk::Fixed

Back to archive index

ruby-****@lists***** ruby-****@lists*****
2003年 4月 20日 (日) 17:29:04 JST


-------------------------
REMOTE_ADDR = 219.108.6.174
REMOTE_HOST = 
-------------------------

-------------------------
= class Gtk::Fixed
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.


== super class
* ((<Gtk::Container>))

== class methods
--- Gtk::Fixed.new
    Creates a new Gtk::Fixed.
    * Returns: a new Gtk::Fixed.  

== public instance methods
--- put(widget, x, y)
    Adds a widget to a Gtk::Fixed container at the given position.
    * widget: the widget to add. 
    * x: the horizontal position to place the widget at. 
    * y: the vertical position to place the widget at.  

--- move(widget, x, y)
    Moves a child of a Gtk::Fixed container to the given position.
    * widget: the child widget. 
    * x: the horizontal position to move the widget to. 
    * y: the vertical position to move the widget to.  

--- has_window?
    Gets whether the Gtk::Fixed has it's own Gdk::Window. See Gtk::Fixed#set_has_window.
    * Returns: true if fixed has its own window. 

--- has_window=(has_window)
    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.
    * has_window: true if a separate window should be created.
    * Returns: has_window

--- set_has_window(has_window)
    Same as has_window=.
    * has_window: true if a separate window should be created.
    * Returns: self

((<Masao>))




ruby-gnome2-cvs メーリングリストの案内
Back to archive index