-----------------------------------------------------------------------
-- GtkAda - Ada95 binding for Gtk+/Gnome --
-- --
-- Copyright (C) 2006-2010, AdaCore --
-- --
-- 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. --
-- --
-- --
-- --
-- --
-- --
-- --
-- --
-----------------------------------------------------------------------
--
-- A Gtk_Cell_View displays a single row of a Gtk_Tree_Model, using cell
-- renderers just like Gtk_Tree_View. Gtk_Cell_View doesn't support some of
-- the more complex features of Gtk_Tree_View, like cell editing and drag and
-- drop.
--
-- 2.14
-- Trees and Lists
-- create_cell_view.adb
with Glib.Properties;
with Glib.Types;
with Gdk.Color;
with Gdk.Pixbuf;
with Gtk.Cell_Renderer;
with Gtk.Cell_Layout;
with Gtk.Tree_Model;
with Gtk.Widget;
package Gtk.Cell_View is
type Gtk_Cell_View_Record is new Gtk.Widget.Gtk_Widget_Record
with null record;
type Gtk_Cell_View is access all Gtk_Cell_View_Record'Class;
procedure Gtk_New (View : out Gtk_Cell_View);
procedure Initialize (View : access Gtk_Cell_View_Record'Class);
-- Creates or initializes a new Gtk_Cell_View
procedure Gtk_New_With_Text (View : out Gtk_Cell_View; Text : String);
procedure Initialize_With_Text
(View : access Gtk_Cell_View_Record'Class; Text : String);
-- Creates a new Gtk_Cell_View widget, adds a Gtk_Cell_Renderer_Text to it,
-- and makes it show Text.
procedure Gtk_New_With_Markup (View : out Gtk_Cell_View; Markup : String);
procedure Initialize_With_Markup
(View : access Gtk_Cell_View_Record'Class; Markup : String);
-- Creates a new Gtk_Cell_View widget, adds a Gtk_Cell_Renderer_Text to it,
-- and makes its show Markup. The text can be marked up with the Pango text
-- markup language.
procedure Gtk_New_With_Pixbuf
(View : out Gtk_Cell_View; Pixbuf : Gdk.Pixbuf.Gdk_Pixbuf);
procedure Initialize_With_Pixbuf
(View : access Gtk_Cell_View_Record'Class;
Pixbuf : Gdk.Pixbuf.Gdk_Pixbuf);
-- Creates a new Gtk_Cell_View widget, adds a Gtk_Cell_Renderer_Pixbuf
-- to it, and makes its show Pixbuf.
function Get_Type return Glib.GType;
-- Returns the internal value used for Gtk_Cell_View
procedure Set_Displayed_Row
(Cell_View : access Gtk_Cell_View_Record;
Path : Gtk.Tree_Model.Gtk_Tree_Path);
-- Sets the row of the model that is currently displayed by the
-- Gtk_Cell_View. If the path is unset, then the contents of the cellview
-- "stick" at their last value; this is not normally a desired result, but
-- may be a needed intermediate state if say, the model for the
-- Gtk_Cell_View becomes temporarily empty.
function Get_Displayed_Row
(Cell_View : access Gtk_Cell_View_Record)
return Gtk.Tree_Model.Gtk_Tree_Path;
-- Returns a Gtk_Tree_Path referring to the currently displayed row. If no
-- row is currently displayed, null is returned.
function Get_Size_Of_Row
(Cell_View : access Gtk_Cell_View_Record;
Path : Gtk.Tree_Model.Gtk_Tree_Path)
return Gtk.Widget.Gtk_Requisition;
-- Return the size needed by Cell_View to display the model row pointed to
-- by Path.
procedure Set_Background_Color
(Cell_View : access Gtk_Cell_View_Record;
Color : Gdk.Color.Gdk_Color);
-- Sets the background color of View.
procedure Set_Model
(Cell_View : access Gtk_Cell_View_Record;
Model : Gtk.Tree_Model.Gtk_Tree_Model);
-- Sets the model for Cell_View. If Cell_View already has a model
-- set, it will remove it before setting the new model. If Model is
-- null, then it will unset the old model.
function Get_Model
(Cell_View : access Gtk_Cell_View_Record)
return Gtk.Tree_Model.Gtk_Tree_Model;
-- Returns the model for Cell_View. If no model is used, null is
-- returned.
function Get_Cell_Renderers
(Cell_View : access Gtk_Cell_View_Record)
return Gtk.Cell_Renderer.Cell_Renderer_List.Glist;
-- Returns the cell renderers which have been added to Cell_View.
-- Return value: a list of cell renderers.
-- The list must be freed by the caller.
----------------
-- Interfaces --
----------------
-- This class implements several interfaces. See Glib.Types
--
-- - "Gtk_Cell_Layout"
-- This interface should be used to add new renderers to the view, to
-- render various columns of the model
package Implements_Cell_Layout is new Glib.Types.Implements
(Gtk.Cell_Layout.Gtk_Cell_Layout, Gtk_Cell_View_Record, Gtk_Cell_View);
function "+"
(View : access Gtk_Cell_View_Record'Class)
return Gtk.Cell_Layout.Gtk_Cell_Layout
renames Implements_Cell_Layout.To_Interface;
function "-"
(Layout : Gtk.Cell_Layout.Gtk_Cell_Layout)
return Gtk_Cell_View
renames Implements_Cell_Layout.To_Object;
-- Converts to and from the Gtk_Cell_Layout interface
----------------
-- Properties --
----------------
-- The following properties are defined for this widget. See
-- Glib.Properties for more information on properties.
--
-- Name: Background_Property
-- Type: String`
-- Descr: Background color as a string
--
-- Name: Background_Gdk_Property
-- Type: Boxed
-- Descr: Background color as a GdkColor
--
-- Name: Model_Property
-- Type: Object
-- Descr: The model for cell view
--
Background_Property : constant Glib.Properties.Property_String;
-- Background_Gdk_Property : constant Glib.Properties.Property_Boxed;
Model_Property : constant Glib.Properties.Property_Object;
private
pragma Import (C, Get_Type, "gtk_cell_view_get_type");
Background_Property : constant Glib.Properties.Property_String :=
Glib.Properties.Build ("background");
Model_Property : constant Glib.Properties.Property_Object :=
Glib.Properties.Build ("model");
-- Background_Gdk_Property : constant Glib.Properties.Property_Boxed :=
-- Glib.Properties.Build ("background-gdk");
end Gtk.Cell_View;