Toc Gallery Index Tree Gtk.Fixed

Screenshot

No screeshot

Hierarchy

Description

The Gtk_Fixed widget is a container which can place child widgets at fixed positions and with fixed sizes, given in pixels.

Note that it is usually bad practice to use the Gtk_Fixed container in GtkAda. Instead, you should consider using one of the other many containers available, that will allow you to handle resizing of your windows, as well as font size changes easily.

Types

Subprograms

  • procedure Gtk_New (Fixed : out Gtk_Fixed);
    Create a new fixed container.
  • procedure Initialize (Fixed : access Gtk_Fixed_Record'Class);
    Internal initialization function. See the section "Creating your own widgets" in the documentation.
  • function Get_Type return Gtk.Gtk_Type;
    Return the internal value associated with a Gtk_Fixed.
  • procedure Put (Fixed : access Gtk_Fixed_Record; Widget : access Gtk.Widget.Gtk_Widget_Record'Class; X : Gint; Y : Gint);
    Add Widget to a Fixed container at the given position. X indicates the horizontal position to place the widget at. Y is the vertical position to place the widget at.
  • procedure Move (Fixed : access Gtk_Fixed_Record; Widget : access Gtk.Widget.Gtk_Widget_Record'Class; X : Gint; Y : Gint);
    Move a child of a GtkFixed container to the given position. X indicates the horizontal position to place the widget at. Y is the vertical position to place the widget at.
  • procedure Set_Has_Window (Fixed : access Gtk_Fixed_Record; Has_Window : Boolean := False);
    function Get_Has_Window (Fixed : access Gtk_Fixed_Record) return Boolean;
    Sets whether a Gtk_Fixed widget is created with a separate Gdk_Window for or not. (By default, it will be created with no separate Gdk_Window). This function must be called while the widget is not realized, for instance, immediately after the window is created.

Child Properties

  • X_Property
    Int
    X position of child widget
  • Y_Property
    Int
    Y position of child widget

Testgtk source code

This code is part of testgtk, a demo application packaged with GtkAda. Testgtk demonstrates the various widgets of GtkAda
----------------------------------------------------------------------- -- GtkAda - Ada95 binding for the Gimp Toolkit -- -- -- -- Copyright (C) 1998-1999 -- -- Emmanuel Briot, Joel Brobecker and Arnaud Charlet -- -- -- -- This library is free software; you can redistribute it and/or -- -- modify it under the terms of the GNU General Public -- -- License as published by the Free Software Foundation; either -- -- version 2 of the License, or (at your option) any later version. -- -- -- -- This library is distributed in the hope that it will be useful, -- -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- -- General Public License for more details. -- -- -- -- You should have received a copy of the GNU General Public -- -- License along with this library; if not, write to the -- -- Free Software Foundation, Inc., 59 Temple Place - Suite 330, -- -- Boston, MA 02111-1307, USA. -- -- -- -- -- -- -- -- -- -- ----------------------------------------------------------------------- with Gtk.Button; use Gtk.Button; with Gtk.Fixed; use Gtk.Fixed; with Gtk; use Gtk; package body Create_Fixed is ---------- -- Help -- ---------- function Help return String is begin return "@bGtk_Fixed@B is the only container that does not do any layout " & "for you. Instead, you can place the children at the exact " & "coordinates you want, as in this example." & ASCII.LF & "It is not recommended to use this container, since you have to " & "handle the resizing of the window yourself, and nothing is done " & "for you." & ASCII.LF & "If you need to use this container, it probably means that the " & "design of your application is not correct and should be rethought."; end Help; --------- -- Run -- --------- procedure Run (Frame : access Gtk.Frame.Gtk_Frame_Record'Class) is Fix : Gtk_Fixed; Button : Gtk_Button; begin Gtk.Frame.Set_Label (Frame, "Fixed"); Gtk_New (Fix); Add (Frame, Fix); Gtk_New (Button, "(10, 10)"); Put (Fix, Button, 10, 10); Gtk_New (Button, "(135, 123)"); Put (Fix, Button, 135, 123); Gtk_New (Button, "(265, 243)"); Put (Fix, Button, 265, 243); Gtk_New (Button, "(165, 243)"); Put (Fix, Button, 165, 243); Show_All (Frame); end Run; end Create_Fixed;

Alphabetical Index