----------------------------------------------------------------------- -- GtkAda - Ada95 binding for Gtk+/Gnome -- -- -- -- Copyright (C) 1998-2000 E. Briot, J. Brobecker and A. Charlet -- -- Copyright (C) 2000-2013, 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. -- -- -- -- 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. -- ----------------------------------------------------------------------- -- <description> -- Activatable widgets can be connected to a Gtk_Action and reflects the -- state of its action. A Gtk_Activatable can also provide feedback through -- its action, as they are responsible for activating their related actions. -- -- </description> pragma Warnings (Off, "*is already use-visible*");
with Glib; use Glib;
with Glib.Properties; use Glib.Properties;
with Glib.Types; use Glib.Types;
with Gtk.Action; use Gtk.Action;
package Gtk.Activatable is
type Gtk_Activatable is new Glib.Types.GType_Interface;
------------------ -- Constructors -- ------------------ function Get_Type return Glib.GType;
pragma Import (C, Get_Type, "gtk_activatable_get_type");
------------- -- Methods -- ------------- procedure Do_Set_Related_Action
(Self : Gtk_Activatable;
Action : access Gtk.Action.Gtk_Action_Record'Class);
-- This is a utility function for Gtk.Activatable.Gtk_Activatable -- implementors. When implementing Gtk.Activatable.Gtk_Activatable you must -- call this when handling changes of the -- Gtk.Activatable.Gtk_Activatable:related-action, and you must also use -- this to break references in GObject->dispose. This function adds a -- reference to the currently set related action for you, it also makes -- sure the Gtk.Activatable.Gtk_Activatable->update method is called when -- the related Gtk.Action.Gtk_Action properties change and registers to the -- action's proxy list. -- Note: Be careful to call this before setting the local copy of the -- Gtk.Action.Gtk_Action property, since this function uses -- Gtk.Activatable.Get_Action to retrieve the previous action -- Since: gtk+ 2.16 -- "action": the Gtk.Action.Gtk_Action to set function Get_Related_Action
(Self : Gtk_Activatable) return Gtk.Action.Gtk_Action;
procedure Set_Related_Action
(Self : Gtk_Activatable;
Action : access Gtk.Action.Gtk_Action_Record'Class);
-- Sets the related action on the Activatable object. -- Note: Gtk.Activatable.Gtk_Activatable implementors need to handle the -- Gtk.Activatable.Gtk_Activatable:related-action property and call -- Gtk.Toggle_Button.Do_Set_Related_Action when it changes. -- Since: gtk+ 2.16 -- "action": the Gtk.Action.Gtk_Action to set function Get_Use_Action_Appearance
(Self : Gtk_Activatable) return Boolean;
procedure Set_Use_Action_Appearance
(Self : Gtk_Activatable;
Use_Appearance : Boolean);
-- Sets whether this activatable should reset its layout and appearance -- when setting the related action or when the action changes appearance -- Note: Gtk.Activatable.Gtk_Activatable implementors need to handle the -- Gtk.Activatable.Gtk_Activatable:use-action-appearance property and call -- Gtk.Toggle_Button.Sync_Action_Properties to update Activatable if -- needed. -- Since: gtk+ 2.16 -- "use_appearance": whether to use the actions appearance procedure Sync_Action_Properties
(Self : Gtk_Activatable;
Action : access Gtk.Action.Gtk_Action_Record'Class);
-- This is called to update the activatable completely, this is called -- internally when the Gtk.Activatable.Gtk_Activatable::related-action -- property is set or unset and by the implementing class when -- Gtk.Activatable.Gtk_Activatable::use-action-appearance changes. -- Since: gtk+ 2.16 -- "action": the related Gtk.Action.Gtk_Action or null ---------------- -- Properties -- ---------------- -- The following properties are defined for this widget. See -- Glib.Properties for more information on properties) -- -- Name: Related_Action_Property -- Type: Gtk.Action.Gtk_Action -- Flags: read-write -- The action that this activatable will activate and receive updates from -- for various states and possibly appearance. -- Note: Gtk.Activatable.Gtk_Activatable implementors need to handle the -- this property and call Gtk.Activatable.Do_Set_Related_Action when it -- changes. -- -- Name: Use_Action_Appearance_Property -- Type: Boolean -- Flags: read-write -- Whether this activatable should reset its layout and appearance when -- setting the related action or when the action changes appearance. See -- the Gtk.Action.Gtk_Action documentation directly to find which -- properties should be ignored by the Gtk.Activatable.Gtk_Activatable when -- this property is False. -- Note: Gtk.Activatable.Gtk_Activatable implementors need to handle this -- property and call Gtk.Activatable.Sync_Action_Properties on the -- activatable widget when it changes. Related_Action_Property : constant Glib.Properties.Property_Object;
Use_Action_Appearance_Property : constant Glib.Properties.Property_Boolean;
private Related_Action_Property : constant Glib.Properties.Property_Object :=
Glib.Properties.Build ("related-action");
Use_Action_Appearance_Property : constant Glib.Properties.Property_Boolean :=
Glib.Properties.Build ("use-action-appearance");
end Gtk.Activatable;