A Gtk_Layout is a widget that can have an almost infinite size, without occupying a lot of memory. Its children can be located anywhere within it, but will only appear on the screen if the visible area of the layout contains them. Just like a Gtk_Viewport, its visible area is indicated by two Gtk_Adjustment widgets, and thus a Gtk_Layout can be put as is in a Gtk_Scrolled_Window. In fact, due to a bug in gtk+1.2.6, you will have to do put in a scrolled window. This of course will be fixed in later versions. As for Gtk_Fixed containers, the children can be located anywhere in the layout (no automatic organization is done). But, as opposed to Gtk_Fixed widgets, a Gtk_Layout does not try to resize itself to show all its children.
Widget Hierarchy |
---|
Gtk_Object (see section Package Gtk.Object) \___ Gtk_Widget (see section Package Gtk.Widget) \___ Gtk_Container (see section Package Gtk.Container) \___ Gtk_Layout (see section Package Gtk.Layout) |
Signals |
---|
Subprograms |
---|
procedure Gtk_New (Layout : out Gtk_Layout; Hadjustment : Adjustment.Gtk_Adjustment := Adjustment.Null_Adjustment; Vadjustment : Adjustment.Gtk_Adjustment := Adjustment.Null_Adjustment); | ||
Create new layout. | ||
function Get_Type return Gtk.Gtk_Type; | ||
Return the internal value associated with a Gtk_Layout.
| ||
procedure Put (Layout : access Gtk_Layout_Record; Widget : access Gtk.Widget.Gtk_Widget_Record'Class; X : in Gint; Y : in Gint); | ||
Insert a new child in the layout. | ||
procedure Move (Layout : access Gtk_Layout_Record; Widget : access Gtk.Widget.Gtk_Widget_Record'Class; X : in Gint; Y : in Gint); | ||
Move a child of the layout. | ||
function Get_Bin_Window (Widget : access Gtk_Layout_Record) return Gdk.Window.Gdk_Window; | ||
Return the window associated with the layout. | ||
procedure Set_Size (Layout : access Gtk_Layout_Record; Width : in Guint; Height : in Guint); | ||
Specify an absolute size for the layout. | ||
function Get_Hadjustment (Layout : access Gtk_Layout_Record) return Gtk.Adjustment.Gtk_Adjustment; | ||
Return the adjustment that indicate the horizontal visual area | ||
function Get_Vadjustment (Layout : access Gtk_Layout_Record) return Gtk.Adjustment.Gtk_Adjustment; | ||
Return the adjustment that indicate the vertical visual area | ||
procedure Set_Hadjustment (Layout : access Gtk_Layout_Record; Adjustment : Gtk.Adjustment.Gtk_Adjustment); | ||
Specify a new adjustment to use for the horizontal visual area.
| ||
procedure Set_Vadjustment (Layout : access Gtk_Layout_Record; Adjustment : Gtk.Adjustment.Gtk_Adjustment); | ||
Specify a new adjustment to use for the vertical visual area.
| ||
procedure Freeze (Layout : access Gtk_Layout_Record); | ||
Temporarily freezes the refreshing of the layout on the screen. | ||
procedure Thaw (Layout : access Gtk_Layout_Record); | ||
Force an immediate update of the layout. | ||
function Get_Xoffset (Layout : access Gtk_Layout_Record) return Guint; | ||
Get the current offset of the top-left corner.
| ||
function Get_Yoffset (Layout : access Gtk_Layout_Record) return Guint; | ||
Get the current offset of the top-left corner.
| ||
function Get_Width (Layout : access Gtk_Layout_Record) return Guint; | ||
Get the width in pixels of the layout.
| ||
function Get_Height (Layout : access Gtk_Layout_Record) return Guint; | ||
Get the height in pixels of the layout.
|