----------------------------------------------------------------------- -- GtkAda - Ada95 binding for Gtk+/Gnome -- -- -- -- Copyright (C) 2001-2003 ACT-Europe -- -- -- -- 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. -- -- -- -- As a special exception, if other files instantiate generics from -- -- this unit, or you link this unit with other files to produce an -- -- executable, this unit does not by itself cause the resulting -- -- executable to be covered by the GNU General Public License. This -- -- exception does not however invalidate any other reasons why the -- -- executable file might be covered by the GNU Public License. -- ----------------------------------------------------------------------- with Glib.Object; use Glib.Object; with Gdk.Event; with Gdk.Rectangle; with Gdk.Window; with Gdk; use Gdk; with Gtk.Widget; with Gtk.Widget; use Gtk.Widget; with Gtk; use Gtk; with System; use System; package body Gtk.Cell_Renderer is -------------- -- Get_Size -- -------------- procedure Get_Size (Cell : access Gtk_Cell_Renderer_Record; Widget : access Gtk.Widget.Gtk_Widget_Record'Class; Cell_Area : out Gdk.Rectangle.Gdk_Rectangle; X_Offset : out Gint; Y_Offset : out Gint; Width : out Gint; Height : out Gint) is procedure Internal (Cell : System.Address; Widget : System.Address; Cell_Area : out Gdk.Rectangle.Gdk_Rectangle; X_Offset : out Gint; Y_Offset : out Gint; Width : out Gint; Height : out Gint); pragma Import (C, Internal, "gtk_cell_renderer_get_size"); begin Internal (Get_Object (Cell), Get_Object (Widget), Cell_Area, X_Offset, Y_Offset, Width, Height); end Get_Size; ------------ -- Render -- ------------ procedure Render (Cell : access Gtk_Cell_Renderer_Record; Window : Gdk.Window.Gdk_Window; Widget : access Gtk.Widget.Gtk_Widget_Record'Class; Background_Area : Gdk.Rectangle.Gdk_Rectangle; Cell_Area : Gdk.Rectangle.Gdk_Rectangle; Expose_Area : Gdk.Rectangle.Gdk_Rectangle; Flags : Gtk_Cell_Renderer_State) is procedure Internal (Cell : System.Address; Window : Gdk.Window.Gdk_Window; Widget : System.Address; Background_Area : Gdk.Rectangle.Gdk_Rectangle; Cell_Area : Gdk.Rectangle.Gdk_Rectangle; Expose_Area : Gdk.Rectangle.Gdk_Rectangle; Flags : Gint); pragma Import (C, Internal, "gtk_cell_renderer_render"); begin Internal (Get_Object (Cell), Window, Get_Object (Widget), Background_Area, Cell_Area, Expose_Area, Gtk_Cell_Renderer_State'Pos (Flags)); end Render; -------------- -- Activate -- -------------- function Activate (Cell : access Gtk_Cell_Renderer_Record; Event : Gdk.Event.Gdk_Event; Widget : access Gtk.Widget.Gtk_Widget_Record'Class; Path : UTF8_String; Background_Area : Gdk.Rectangle.Gdk_Rectangle; Cell_Area : Gdk.Rectangle.Gdk_Rectangle; Flags : Gtk_Cell_Renderer_State) return Boolean is function Internal (Cell : System.Address; Event : Gdk.Event.Gdk_Event; Widget : System.Address; Path : UTF8_String; Background_Area : Gdk.Rectangle.Gdk_Rectangle; Cell_Area : Gdk.Rectangle.Gdk_Rectangle; Flags : Gint) return Gboolean; pragma Import (C, Internal, "gtk_cell_renderer_activate"); begin return Internal (Get_Object (Cell), Event, Get_Object (Widget), Path & ASCII.NUL, Background_Area, Cell_Area, Gtk_Cell_Renderer_State'Pos (Flags)) /= 0; end Activate; ------------------- -- Start_Editing -- ------------------- function Start_Editing (Cell : access Gtk_Cell_Renderer_Record; Event : Gdk.Event.Gdk_Event; Widget : access Gtk.Widget.Gtk_Widget_Record'Class; Path : UTF8_String; Background_Area : Gdk.Rectangle.Gdk_Rectangle; Cell_Area : Gdk.Rectangle.Gdk_Rectangle; Flags : Gtk_Cell_Renderer_State) return GObject is function Internal (Cell : System.Address; Event : Gdk.Event.Gdk_Event; Widget : System.Address; Path : UTF8_String; Background_Area : Gdk.Rectangle.Gdk_Rectangle; Cell_Area : Gdk.Rectangle.Gdk_Rectangle; Flags : Gint) return System.Address; pragma Import (C, Internal, "gtk_cell_renderer_start_editing"); Stub : GObject_Record; begin return GObject (Get_User_Data (Internal (Get_Object (Cell), Event, Get_Object (Widget), Path & ASCII.NUL, Background_Area, Cell_Area, Gtk_Cell_Renderer_State'Pos (Flags)), Stub)); end Start_Editing; -------------------- -- Set_Fixed_Size -- -------------------- procedure Set_Fixed_Size (Cell : access Gtk_Cell_Renderer_Record; Width : Gint; Height : Gint) is procedure Internal (Cell : System.Address; Width : Gint; Height : Gint); pragma Import (C, Internal, "gtk_cell_renderer_set_fixed_size"); begin Internal (Get_Object (Cell), Width, Height); end Set_Fixed_Size; -------------------- -- Get_Fixed_Size -- -------------------- procedure Get_Fixed_Size (Cell : access Gtk_Cell_Renderer_Record; Width : out Gint; Height : out Gint) is procedure Internal (Cell : System.Address; Width : out Gint; Height : out Gint); pragma Import (C, Internal, "gtk_cell_renderer_get_fixed_size"); begin Internal (Get_Object (Cell), Width, Height); end Get_Fixed_Size; end Gtk.Cell_Renderer;