------------------------------------------------------------------------------ -- -- -- Copyright (C) 1998-2000 E. Briot, J. Brobecker and A. Charlet -- -- Copyright (C) 2000-2014, AdaCore -- -- -- -- This library is free software; you can redistribute it and/or modify it -- -- under terms of the GNU General Public License as published by the Free -- -- Software Foundation; either version 3, 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 MERCHAN- -- -- TABILITY or FITNESS FOR A PARTICULAR PURPOSE. -- -- -- -- As a special exception under Section 7 of GPL version 3, you are granted -- -- additional permissions described in the GCC Runtime Library Exception, -- -- version 3.1, as published by the Free Software Foundation. -- -- -- -- You should have received a copy of the GNU General Public License and -- -- a copy of the GCC Runtime Library Exception along with this program; -- -- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -- -- <http://www.gnu.org/licenses/>. -- -- -- ------------------------------------------------------------------------------ -- <description> -- This interface provides a convenient way of associating widgets with -- actions on a Gtk.Application_Window.Gtk_Application_Window or -- Gtk.Application.Gtk_Application. -- -- It primarily consists of two properties: -- Gtk.Actionable.Gtk_Actionable:action-name and -- Gtk.Actionable.Gtk_Actionable:action-target. There are also some -- convenience APIs for setting these properties. -- -- This interface is presently only meaningful if used on a widget that is -- (or will be) located inside of a -- Gtk.Application_Window.Gtk_Application_Window and can only be used to -- associate the widget with actions on that window, or its associated -- Gtk.Application.Gtk_Application. -- -- </description> pragma Ada_2005; pragma Warnings (Off, "*is already use-visible*");
with Glib; use Glib;
with Glib.Properties; use Glib.Properties;
with Glib.Types; use Glib.Types;
with Glib.Variant; use Glib.Variant;
package Gtk.Actionable is
type Gtk_Actionable is new Glib.Types.GType_Interface;
Null_Gtk_Actionable : constant Gtk_Actionable;
------------------ -- Constructors -- ------------------ function Get_Type return Glib.GType;
pragma Import (C, Get_Type, "gtk_actionable_get_type");
------------- -- Methods -- ------------- function Get_Action_Name (Self : Gtk_Actionable) return UTF8_String;
-- Gets the action name for Actionable. -- See Gtk.Actionable.Set_Action_Name for more information. -- Since: gtk+ 3.4 procedure Set_Action_Name
(Self : Gtk_Actionable;
Action_Name : UTF8_String);
-- Specifies the name of the action with which this widget should be -- associated. If Action_Name is null then the widget will be unassociated -- from any previous action. -- Usually this function is used when the widget is located (or will be -- located) within the hierarchy of a -- Gtk.Application_Window.Gtk_Application_Window. -- Names are of the form "win.save" or "app.quit" for actions on the -- containing Gtk.Application_Window.Gtk_Application_Window or its -- associated Gtk.Application.Gtk_Application, respectively. This is the -- same form used for actions in the Glib.Menu.Gmenu associated with the -- window. -- Since: gtk+ 3.4 -- "action_name": an action name, or null function Get_Action_Target_Value
(Self : Gtk_Actionable) return Glib.Variant.Gvariant;
-- Gets the current target value of Actionabe. -- See Gtk.Actionable.Set_Action_Target_Value for more information. -- Since: gtk+ 3.4 procedure Set_Action_Target_Value
(Self : Gtk_Actionable;
Target_Value : Glib.Variant.Gvariant);
-- Sets the target value of an actionable widget. -- If Target_Value is null then the target value is unset. -- The target value has two purposes. First, it is used as the parameter -- to activation of the action associated with the -- Gtk.Actionable.Gtk_Actionable widget. Second, it is used to determine if -- the widget should be rendered as "active" - the widget is active if the -- state is equal to the given target. -- Consider the example of associating a set of buttons with a -- Glib.Action.Gaction with string state in a typical "radio button" -- situation. Each button will be associated with the same action, but with -- a different target value for that action. Clicking on a particular -- button will activate the action with the target of that button, which -- will typically cause the action's state to change to that value. Since -- the action's state is now equal to the target value of the button, the -- button will now be rendered as active (and the other buttons, with -- different targets, rendered inactive). -- Since: gtk+ 3.4 -- "target_value": a Glib.Variant.Gvariant to set as the target value, or -- null procedure Set_Detailed_Action_Name
(Self : Gtk_Actionable;
Detailed_Action_Name : UTF8_String);
-- Sets the action-name and associated string target value of an -- actionable widget. -- This allows for the effect of both Gtk.Actionable.Set_Action_Name and -- Gtk.Actionable.Set_Action_Target_Value in the common case that the -- target is string-valued. -- Detailed_Action_Name is a string of the form '"action::target"' where -- 'action' is the action name and 'target' is the string to use as the -- target. -- Since: gtk+ 3.4 -- "detailed_action_name": the detailed action name ---------------- -- Properties -- ---------------- -- The following properties are defined for this widget. See -- Glib.Properties for more information on properties) Action_Name_Property : constant Glib.Properties.Property_String;
Action_Target_Property : constant Glib.Properties.Property_Object;
-- Type: Glib.Variant.Gvariant ---------------- -- Interfaces -- ---------------- -- This class implements several interfaces. See Glib.Types -- -- - "Gtk_Actionable" function "+" (W : Gtk_Actionable) return Gtk_Actionable;
pragma Inline ("+");
private Action_Target_Property : constant Glib.Properties.Property_Object :=
Glib.Properties.Build ("action-target");
Action_Name_Property : constant Glib.Properties.Property_String :=
Glib.Properties.Build ("action-name");
Null_Gtk_Actionable : constant Gtk_Actionable :=
Gtk_Actionable (Glib.Types.Null_Interface);
end Gtk.Actionable;