Toc Gallery Index Tree Gtk.Arrow

Screenshot

No screeshot

Hierarchy

Description

Gtk_Arrow should be used to draw simple arrows that need to point in one of the four cardinal directions (up, down, left, or right). The style of the arrow can be one of shadow in, shadow out, etched in, or etched out. Note that these directions and style types may be ammended in versions of Gtk to come.

Gtk_Arrow will fill any space alloted to it, but since it is inherited from Gtk_Misc, it can be padded and/or aligned, to fill exactly the space you desire.

Arrows are created with a call to Gtk_New. The direction or style of an arrow can be changed after creation by using Set.

Types

  • type Gtk_Arrow is access all Gtk_Arrow_Record'Class;
  • type Gtk_Arrow_Record is new Gtk.Misc.Gtk_Misc_Record with private;

Subprograms

Signals

Properties

  • Arrow_Type_Property
    Gtk_Arrow_Type
    The direction the arrow should point
    See: Set
  • Shadow_Type_Property
    Gtk_Shadow_Type
    Appearance of the shadow surrounding the arrow
    See: Set

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 Glib; use Glib; with Gtk.Arrow; use Gtk.Arrow; with Gtk.Box; use Gtk.Box; with Gtk.Enums; use Gtk.Enums; with Gtk.Frame; use Gtk.Frame; with Gtk.Label; use Gtk.Label; with Gtk.Table; use Gtk.Table; with Gtk; use Gtk; package body Create_Arrow is function Help return String is begin return "This demo shows the four possible types of @bGtk_Shadow_Type@B" & " that can be used within @bGtkAda@B." & ASCII.LF & "It also demonstrates how items can be organized in a @bGtk_Table@B" & " to position them as you want. Each of the groups @bGtk_Arrow@B +" & " @bGtk_Label@B is first put in a @bGtk_Box@B, that is then put in" & " a table element."; end Help; procedure Run (Frame : access Gtk.Frame.Gtk_Frame_Record'Class) is Box1 : Gtk_Box; Box2 : Gtk_Box; Table : Gtk_Table; Arrow : Gtk_Arrow; Label : Gtk_Label; begin Set_Label (Frame, "Arrows"); Gtk_New_Vbox (Box1, Homogeneous => False, Spacing => 0); Add (Frame, Box1); Gtk_New (Table, Rows => 3, Columns => 3, Homogeneous => False); Set_Row_Spacings (Table, Spacing => 5); Set_Col_Spacings (Table, Spacing => 5); Set_Border_Width (Table, Border_Width => 10); Pack_Start (Box1, Table, Expand => False, Fill => False, Padding => 0); Gtk_New_Vbox (Box2, Homogeneous => False, Spacing => 0); Gtk_New (Arrow, Arrow_Type => Arrow_Up, Shadow_Type => Shadow_In); Pack_Start (Box2, Arrow, Expand => True, Fill => True, Padding => 0); Gtk_New (Label, "Shadow_In"); Pack_Start (Box2, Label, Expand => True, Fill => True, Padding => 0); Attach (Table, Box2, 1, 2, 0, 1, Enums.Expand or Enums.Fill, Enums.Expand or Enums.Fill, 0, 0); Gtk_New_Vbox (Box2, Homogeneous => False, Spacing => 0); Gtk_New (Arrow, Arrow_Type => Arrow_Left, Shadow_Type => Shadow_Out); Pack_Start (Box2, Arrow, Expand => True, Fill => True, Padding => 0); Gtk_New (Label, "Shadow_Out"); Pack_Start (Box2, Label, Expand => True, Fill => True, Padding => 0); Attach (Table, Box2, 0, 1, 1, 2, Enums.Expand or Enums.Fill, Enums.Expand or Enums.Fill, 0, 0); Gtk_New_Vbox (Box2, Homogeneous => False, Spacing => 0); Gtk_New (Arrow, Arrow_Type => Arrow_Right, Shadow_Type => Shadow_Etched_In); Pack_Start (Box2, Arrow, Expand => True, Fill => True, Padding => 0); Gtk_New (Label, "Shadow_Etched_In"); Pack_Start (Box2, Label, Expand => True, Fill => True, Padding => 0); Attach (Table, Box2, 2, 3, 1, 2, Enums.Expand or Enums.Fill, Enums.Expand or Enums.Fill, 0, 0); Gtk_New_Vbox (Box2, Homogeneous => False, Spacing => 0); Gtk_New (Arrow, Arrow_Type => Arrow_Down, Shadow_Type => Shadow_Etched_Out); Pack_Start (Box2, Arrow, Expand => True, Fill => True, Padding => 0); Gtk_New (Label, "Shadow_Etched_Out"); Pack_Start (Box2, Label, Expand => True, Fill => True, Padding => 0); Attach (Table, Box2, 1, 2, 2, 3, Enums.Expand or Enums.Fill, Enums.Expand or Enums.Fill, 0, 0); Show_All (Box1); end Run; end Create_Arrow;

Alphabetical Index