Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > 677c1b5134368504c2e447757584d19e > files > 977

ghc-gtk-devel-0.11.2-5.fc14.i686.rpm

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
<title>dist/build/Graphics/UI/Gtk/ActionMenuToolbar/ActionGroup.hs</title>
<link type='text/css' rel='stylesheet' href='hscolour.css' />
</head>
<body>
<pre><a name="line-1"></a>
<a name="line-2"></a><span class='hs-comment'>{-# LINE 2 "./Graphics/UI/Gtk/ActionMenuToolbar/ActionGroup.chs" #-}</span>
<a name="line-3"></a><span class='hs-comment'>-- -*-haskell-*-</span>
<a name="line-4"></a><span class='hs-comment'>-- GIMP Toolkit (GTK) Widget ActionGroup</span>
<a name="line-5"></a><span class='hs-comment'>--</span>
<a name="line-6"></a><span class='hs-comment'>-- Author : Duncan Coutts</span>
<a name="line-7"></a><span class='hs-comment'>--</span>
<a name="line-8"></a><span class='hs-comment'>-- Created: 6 April 2005</span>
<a name="line-9"></a><span class='hs-comment'>--</span>
<a name="line-10"></a><span class='hs-comment'>-- Copyright (C) 2005 Duncan Coutts</span>
<a name="line-11"></a><span class='hs-comment'>--</span>
<a name="line-12"></a><span class='hs-comment'>-- This library is free software; you can redistribute it and/or</span>
<a name="line-13"></a><span class='hs-comment'>-- modify it under the terms of the GNU Lesser General Public</span>
<a name="line-14"></a><span class='hs-comment'>-- License as published by the Free Software Foundation; either</span>
<a name="line-15"></a><span class='hs-comment'>-- version 2.1 of the License, or (at your option) any later version.</span>
<a name="line-16"></a><span class='hs-comment'>--</span>
<a name="line-17"></a><span class='hs-comment'>-- This library is distributed in the hope that it will be useful,</span>
<a name="line-18"></a><span class='hs-comment'>-- but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="line-19"></a><span class='hs-comment'>-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
<a name="line-20"></a><span class='hs-comment'>-- Lesser General Public License for more details.</span>
<a name="line-21"></a><span class='hs-comment'>--</span>
<a name="line-22"></a><span class='hs-comment'>-- |</span>
<a name="line-23"></a><span class='hs-comment'>-- Maintainer : gtk2hs-users@lists.sourceforge.net</span>
<a name="line-24"></a><span class='hs-comment'>-- Stability : provisional</span>
<a name="line-25"></a><span class='hs-comment'>-- Portability : portable (depends on GHC)</span>
<a name="line-26"></a><span class='hs-comment'>--</span>
<a name="line-27"></a><span class='hs-comment'>-- A group of actions</span>
<a name="line-28"></a><span class='hs-comment'>--</span>
<a name="line-29"></a><span class='hs-comment'>-- * Module available since Gtk+ version 2.4</span>
<a name="line-30"></a><span class='hs-comment'>--</span>
<a name="line-31"></a><span class='hs-keyword'>module</span> <span class='hs-conid'>Graphics</span><span class='hs-varop'>.</span><span class='hs-conid'>UI</span><span class='hs-varop'>.</span><span class='hs-conid'>Gtk</span><span class='hs-varop'>.</span><span class='hs-conid'>ActionMenuToolbar</span><span class='hs-varop'>.</span><span class='hs-conid'>ActionGroup</span> <span class='hs-layout'>(</span>
<a name="line-32"></a><span class='hs-comment'>-- * Detail</span>
<a name="line-33"></a><span class='hs-comment'>--</span>
<a name="line-34"></a><span class='hs-comment'>-- | Actions are organised into groups. An action group is essentially a map</span>
<a name="line-35"></a><span class='hs-comment'>-- from names to 'Action' objects.</span>
<a name="line-36"></a><span class='hs-comment'>--</span>
<a name="line-37"></a><span class='hs-comment'>-- All actions that would make sense to use in a particular context should</span>
<a name="line-38"></a><span class='hs-comment'>-- be in a single group. Multiple action groups may be used for a particular</span>
<a name="line-39"></a><span class='hs-comment'>-- user interface. In fact, it is expected that most nontrivial applications</span>
<a name="line-40"></a><span class='hs-comment'>-- will make use of multiple groups. For example, in an application that can</span>
<a name="line-41"></a><span class='hs-comment'>-- edit multiple documents, one group holding global actions (e.g. quit, about,</span>
<a name="line-42"></a><span class='hs-comment'>-- new), and one group per document holding actions that act on that document</span>
<a name="line-43"></a><span class='hs-comment'>-- (eg. save, cut\/copy\/paste, etc). Each window's menus would be constructed</span>
<a name="line-44"></a><span class='hs-comment'>-- from a combination of two action groups.</span>
<a name="line-45"></a><span class='hs-comment'>--</span>
<a name="line-46"></a><span class='hs-comment'>-- Accelerators are handled by the Gtk+ accelerator map. All actions are</span>
<a name="line-47"></a><span class='hs-comment'>-- assigned an accelerator path (which normally has the form</span>
<a name="line-48"></a><span class='hs-comment'>-- @\&lt;Actions&gt;\/group-name\/action-name@) and a shortcut is associated with</span>
<a name="line-49"></a><span class='hs-comment'>-- this accelerator path. All menuitems and toolitems take on this accelerator</span>
<a name="line-50"></a><span class='hs-comment'>-- path. The Gtk+ accelerator map code makes sure that the correct shortcut is</span>
<a name="line-51"></a><span class='hs-comment'>-- displayed next to the menu item.</span>
<a name="line-52"></a>
<a name="line-53"></a><span class='hs-comment'>-- * Class Hierarchy</span>
<a name="line-54"></a><span class='hs-comment'>-- |</span>
<a name="line-55"></a><span class='hs-comment'>-- @</span>
<a name="line-56"></a><span class='hs-comment'>-- | 'GObject'</span>
<a name="line-57"></a><span class='hs-comment'>-- | +----ActionGroup</span>
<a name="line-58"></a><span class='hs-comment'>-- @</span>
<a name="line-59"></a>
<a name="line-60"></a>
<a name="line-61"></a><span class='hs-comment'>-- * Types</span>
<a name="line-62"></a>  <span class='hs-conid'>ActionGroup</span><span class='hs-layout'>,</span>
<a name="line-63"></a>  <span class='hs-conid'>ActionGroupClass</span><span class='hs-layout'>,</span>
<a name="line-64"></a>  <span class='hs-varid'>castToActionGroup</span><span class='hs-layout'>,</span> <span class='hs-varid'>gTypeActionGroup</span><span class='hs-layout'>,</span>
<a name="line-65"></a>  <span class='hs-varid'>toActionGroup</span><span class='hs-layout'>,</span>
<a name="line-66"></a>  <span class='hs-conid'>ActionEntry</span><span class='hs-layout'>(</span><span class='hs-keyglyph'>..</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span>
<a name="line-67"></a>  <span class='hs-conid'>ToggleActionEntry</span><span class='hs-layout'>(</span><span class='hs-keyglyph'>..</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span>
<a name="line-68"></a>  <span class='hs-conid'>RadioActionEntry</span><span class='hs-layout'>(</span><span class='hs-keyglyph'>..</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span>
<a name="line-69"></a>
<a name="line-70"></a><span class='hs-comment'>-- * Constructors</span>
<a name="line-71"></a>  <span class='hs-varid'>actionGroupNew</span><span class='hs-layout'>,</span>
<a name="line-72"></a>
<a name="line-73"></a><span class='hs-comment'>-- * Methods</span>
<a name="line-74"></a>  <span class='hs-varid'>actionGroupGetName</span><span class='hs-layout'>,</span>
<a name="line-75"></a>  <span class='hs-varid'>actionGroupGetSensitive</span><span class='hs-layout'>,</span>
<a name="line-76"></a>  <span class='hs-varid'>actionGroupSetSensitive</span><span class='hs-layout'>,</span>
<a name="line-77"></a>  <span class='hs-varid'>actionGroupGetVisible</span><span class='hs-layout'>,</span>
<a name="line-78"></a>  <span class='hs-varid'>actionGroupSetVisible</span><span class='hs-layout'>,</span>
<a name="line-79"></a>  <span class='hs-varid'>actionGroupGetAction</span><span class='hs-layout'>,</span>
<a name="line-80"></a>  <span class='hs-varid'>actionGroupListActions</span><span class='hs-layout'>,</span>
<a name="line-81"></a>  <span class='hs-varid'>actionGroupAddAction</span><span class='hs-layout'>,</span>
<a name="line-82"></a>  <span class='hs-varid'>actionGroupAddActionWithAccel</span><span class='hs-layout'>,</span>
<a name="line-83"></a>  <span class='hs-varid'>actionGroupRemoveAction</span><span class='hs-layout'>,</span>
<a name="line-84"></a>  <span class='hs-varid'>actionGroupAddActions</span><span class='hs-layout'>,</span>
<a name="line-85"></a>  <span class='hs-varid'>actionGroupAddToggleActions</span><span class='hs-layout'>,</span>
<a name="line-86"></a>  <span class='hs-varid'>actionGroupAddRadioActions</span><span class='hs-layout'>,</span>
<a name="line-87"></a>  <span class='hs-varid'>actionGroupSetTranslateFunc</span><span class='hs-layout'>,</span>
<a name="line-88"></a>  <span class='hs-varid'>actionGroupSetTranslationDomain</span><span class='hs-layout'>,</span>
<a name="line-89"></a>
<a name="line-90"></a>  <span class='hs-varid'>actionGroupTranslateString</span><span class='hs-layout'>,</span>
<a name="line-91"></a>
<a name="line-92"></a>
<a name="line-93"></a><span class='hs-comment'>-- * Attributes</span>
<a name="line-94"></a>  <span class='hs-varid'>actionGroupName</span><span class='hs-layout'>,</span>
<a name="line-95"></a>  <span class='hs-varid'>actionGroupSensitive</span><span class='hs-layout'>,</span>
<a name="line-96"></a>  <span class='hs-varid'>actionGroupVisible</span><span class='hs-layout'>,</span>
<a name="line-97"></a>
<a name="line-98"></a><span class='hs-comment'>-- * Signals</span>
<a name="line-99"></a><span class='hs-comment'>-- onConnectProxy,</span>
<a name="line-100"></a><span class='hs-comment'>-- afterConnectProxy,</span>
<a name="line-101"></a><span class='hs-comment'>-- onDisconnectProxy,</span>
<a name="line-102"></a><span class='hs-comment'>-- afterDisconnectProxy,</span>
<a name="line-103"></a><span class='hs-comment'>-- onPreActivate,</span>
<a name="line-104"></a><span class='hs-comment'>-- afterPreActivate,</span>
<a name="line-105"></a><span class='hs-comment'>-- onPostActivate,</span>
<a name="line-106"></a><span class='hs-comment'>-- afterPostActivate,</span>
<a name="line-107"></a>
<a name="line-108"></a>  <span class='hs-layout'>)</span> <span class='hs-keyword'>where</span>
<a name="line-109"></a>
<a name="line-110"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Control</span><span class='hs-varop'>.</span><span class='hs-conid'>Monad</span> <span class='hs-layout'>(</span><span class='hs-varid'>liftM</span><span class='hs-layout'>,</span> <span class='hs-varid'>foldM</span><span class='hs-layout'>,</span> <span class='hs-varid'>when</span><span class='hs-layout'>)</span>
<a name="line-111"></a>
<a name="line-112"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>Glib</span><span class='hs-varop'>.</span><span class='hs-conid'>FFI</span>
<a name="line-113"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>Glib</span><span class='hs-varop'>.</span><span class='hs-conid'>UTFString</span>
<a name="line-114"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>Glib</span><span class='hs-varop'>.</span><span class='hs-conid'>GList</span>
<a name="line-115"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>Glib</span><span class='hs-varop'>.</span><span class='hs-conid'>Attributes</span>
<a name="line-116"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>Glib</span><span class='hs-varop'>.</span><span class='hs-conid'>Properties</span>
<a name="line-117"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>Glib</span><span class='hs-varop'>.</span><span class='hs-conid'>GObject</span> <span class='hs-layout'>(</span><span class='hs-varid'>constructNewGObject</span><span class='hs-layout'>,</span>
<a name="line-118"></a>      <span class='hs-varid'>makeNewGObject</span><span class='hs-layout'>,</span> <span class='hs-varid'>destroyFunPtr</span><span class='hs-layout'>)</span>
<a name="line-119"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Graphics</span><span class='hs-varop'>.</span><span class='hs-conid'>UI</span><span class='hs-varop'>.</span><span class='hs-conid'>Gtk</span><span class='hs-varop'>.</span><span class='hs-conid'>Types</span>
<a name="line-120"></a><span class='hs-comment'>{-# LINE 119 "./Graphics/UI/Gtk/ActionMenuToolbar/ActionGroup.chs" #-}</span>
<a name="line-121"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>Glib</span><span class='hs-varop'>.</span><span class='hs-conid'>Signals</span> <span class='hs-layout'>(</span><span class='hs-varid'>on</span><span class='hs-layout'>)</span>
<a name="line-122"></a>
<a name="line-123"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Graphics</span><span class='hs-varop'>.</span><span class='hs-conid'>UI</span><span class='hs-varop'>.</span><span class='hs-conid'>Gtk</span><span class='hs-varop'>.</span><span class='hs-conid'>ActionMenuToolbar</span><span class='hs-varop'>.</span><span class='hs-conid'>Action</span>
<a name="line-124"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Graphics</span><span class='hs-varop'>.</span><span class='hs-conid'>UI</span><span class='hs-varop'>.</span><span class='hs-conid'>Gtk</span><span class='hs-varop'>.</span><span class='hs-conid'>ActionMenuToolbar</span><span class='hs-varop'>.</span><span class='hs-conid'>ToggleAction</span>
<a name="line-125"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Graphics</span><span class='hs-varop'>.</span><span class='hs-conid'>UI</span><span class='hs-varop'>.</span><span class='hs-conid'>Gtk</span><span class='hs-varop'>.</span><span class='hs-conid'>ActionMenuToolbar</span><span class='hs-varop'>.</span><span class='hs-conid'>RadioAction</span>
<a name="line-126"></a>
<a name="line-127"></a>
<a name="line-128"></a><span class='hs-comment'>{-# LINE 126 "./Graphics/UI/Gtk/ActionMenuToolbar/ActionGroup.chs" #-}</span>
<a name="line-129"></a>
<a name="line-130"></a>
<a name="line-131"></a><span class='hs-comment'>--------------------</span>
<a name="line-132"></a><span class='hs-comment'>-- Constructors</span>
<a name="line-133"></a>
<a name="line-134"></a><a name="actionGroupNew"></a><span class='hs-comment'>-- | Creates a new 'ActionGroup' object. The name of the action group is used</span>
<a name="line-135"></a><span class='hs-comment'>-- when associating keybindings with the actions.</span>
<a name="line-136"></a><span class='hs-comment'>--</span>
<a name="line-137"></a><span class='hs-definition'>actionGroupNew</span> <span class='hs-keyglyph'>::</span>
<a name="line-138"></a>    <span class='hs-conid'>String</span> <span class='hs-comment'>-- ^ @name@ - the name of the action group.</span>
<a name="line-139"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>ActionGroup</span>
<a name="line-140"></a><span class='hs-definition'>actionGroupNew</span> <span class='hs-varid'>name</span> <span class='hs-keyglyph'>=</span>
<a name="line-141"></a>  <span class='hs-varid'>constructNewGObject</span> <span class='hs-varid'>mkActionGroup</span> <span class='hs-varop'>$</span>
<a name="line-142"></a>  <span class='hs-varid'>withUTFString</span> <span class='hs-varid'>name</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>namePtr</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-143"></a>  <span class='hs-varid'>gtk_action_group_new</span>
<a name="line-144"></a><span class='hs-comment'>{-# LINE 141 "./Graphics/UI/Gtk/ActionMenuToolbar/ActionGroup.chs" #-}</span>
<a name="line-145"></a>    <span class='hs-varid'>namePtr</span>
<a name="line-146"></a>
<a name="line-147"></a><span class='hs-comment'>--------------------</span>
<a name="line-148"></a><span class='hs-comment'>-- Methods</span>
<a name="line-149"></a>
<a name="line-150"></a><a name="actionGroupGetName"></a><span class='hs-comment'>-- | Gets the name of the action group.</span>
<a name="line-151"></a><span class='hs-comment'>--</span>
<a name="line-152"></a><span class='hs-definition'>actionGroupGetName</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>ActionGroup</span>
<a name="line-153"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>String</span> <span class='hs-comment'>-- ^ returns the name of the action group.</span>
<a name="line-154"></a><span class='hs-definition'>actionGroupGetName</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-155"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>ActionGroup</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_action_group_get_name</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-156"></a><span class='hs-comment'>{-# LINE 152 "./Graphics/UI/Gtk/ActionMenuToolbar/ActionGroup.chs" #-}</span>
<a name="line-157"></a>    <span class='hs-varid'>self</span>
<a name="line-158"></a>  <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>peekUTFString</span>
<a name="line-159"></a>
<a name="line-160"></a><a name="actionGroupGetSensitive"></a><span class='hs-comment'>-- | Returns @True@ if the group is sensitive. The constituent actions can</span>
<a name="line-161"></a><span class='hs-comment'>-- only be logically sensitive (see 'actionIsSensitive') if they are sensitive</span>
<a name="line-162"></a><span class='hs-comment'>-- (see 'actionGetSensitive') and their group is sensitive.</span>
<a name="line-163"></a><span class='hs-comment'>--</span>
<a name="line-164"></a><span class='hs-definition'>actionGroupGetSensitive</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>ActionGroup</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Bool</span>
<a name="line-165"></a><span class='hs-definition'>actionGroupGetSensitive</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-166"></a>  <span class='hs-varid'>liftM</span> <span class='hs-varid'>toBool</span> <span class='hs-varop'>$</span>
<a name="line-167"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>ActionGroup</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_action_group_get_sensitive</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-168"></a><span class='hs-comment'>{-# LINE 163 "./Graphics/UI/Gtk/ActionMenuToolbar/ActionGroup.chs" #-}</span>
<a name="line-169"></a>    <span class='hs-varid'>self</span>
<a name="line-170"></a>
<a name="line-171"></a><a name="actionGroupSetSensitive"></a><span class='hs-comment'>-- | Changes the sensitivity of @actionGroup@</span>
<a name="line-172"></a><span class='hs-comment'>--</span>
<a name="line-173"></a><span class='hs-definition'>actionGroupSetSensitive</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>ActionGroup</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Bool</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-174"></a><span class='hs-definition'>actionGroupSetSensitive</span> <span class='hs-varid'>self</span> <span class='hs-varid'>sensitive</span> <span class='hs-keyglyph'>=</span>
<a name="line-175"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>ActionGroup</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_action_group_set_sensitive</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-176"></a><span class='hs-comment'>{-# LINE 170 "./Graphics/UI/Gtk/ActionMenuToolbar/ActionGroup.chs" #-}</span>
<a name="line-177"></a>    <span class='hs-varid'>self</span>
<a name="line-178"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromBool</span> <span class='hs-varid'>sensitive</span><span class='hs-layout'>)</span>
<a name="line-179"></a>
<a name="line-180"></a><a name="actionGroupGetVisible"></a><span class='hs-comment'>-- | Returns @True@ if the group is visible. The constituent actions can only</span>
<a name="line-181"></a><span class='hs-comment'>-- be logically visible (see 'actionIsVisible') if they are visible (see</span>
<a name="line-182"></a><span class='hs-comment'>-- 'actionGetVisible') and their group is visible.</span>
<a name="line-183"></a><span class='hs-comment'>--</span>
<a name="line-184"></a><span class='hs-definition'>actionGroupGetVisible</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>ActionGroup</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Bool</span>
<a name="line-185"></a><span class='hs-definition'>actionGroupGetVisible</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-186"></a>  <span class='hs-varid'>liftM</span> <span class='hs-varid'>toBool</span> <span class='hs-varop'>$</span>
<a name="line-187"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>ActionGroup</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_action_group_get_visible</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-188"></a><span class='hs-comment'>{-# LINE 181 "./Graphics/UI/Gtk/ActionMenuToolbar/ActionGroup.chs" #-}</span>
<a name="line-189"></a>    <span class='hs-varid'>self</span>
<a name="line-190"></a>
<a name="line-191"></a><a name="actionGroupSetVisible"></a><span class='hs-comment'>-- | Changes the visible of @actionGroup@.</span>
<a name="line-192"></a><span class='hs-comment'>--</span>
<a name="line-193"></a><span class='hs-definition'>actionGroupSetVisible</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>ActionGroup</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Bool</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-194"></a><span class='hs-definition'>actionGroupSetVisible</span> <span class='hs-varid'>self</span> <span class='hs-varid'>visible</span> <span class='hs-keyglyph'>=</span>
<a name="line-195"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>ActionGroup</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_action_group_set_visible</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-196"></a><span class='hs-comment'>{-# LINE 188 "./Graphics/UI/Gtk/ActionMenuToolbar/ActionGroup.chs" #-}</span>
<a name="line-197"></a>    <span class='hs-varid'>self</span>
<a name="line-198"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromBool</span> <span class='hs-varid'>visible</span><span class='hs-layout'>)</span>
<a name="line-199"></a>
<a name="line-200"></a><a name="actionGroupGetAction"></a><span class='hs-comment'>-- | Looks up an action in the action group by name.</span>
<a name="line-201"></a><span class='hs-comment'>--</span>
<a name="line-202"></a><span class='hs-definition'>actionGroupGetAction</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>ActionGroup</span>
<a name="line-203"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>String</span> <span class='hs-comment'>-- ^ @actionName@ - the name of the action</span>
<a name="line-204"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Maybe</span> <span class='hs-conid'>Action</span><span class='hs-layout'>)</span> <span class='hs-comment'>-- ^ returns the action, or @Nothing@ if no action by</span>
<a name="line-205"></a>                      <span class='hs-comment'>-- that name exists</span>
<a name="line-206"></a><span class='hs-definition'>actionGroupGetAction</span> <span class='hs-varid'>self</span> <span class='hs-varid'>actionName</span> <span class='hs-keyglyph'>=</span>
<a name="line-207"></a>  <span class='hs-varid'>maybeNull</span> <span class='hs-layout'>(</span><span class='hs-varid'>makeNewGObject</span> <span class='hs-varid'>mkAction</span><span class='hs-layout'>)</span> <span class='hs-varop'>$</span>
<a name="line-208"></a>  <span class='hs-varid'>withUTFString</span> <span class='hs-varid'>actionName</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>actionNamePtr</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-209"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>ActionGroup</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_action_group_get_action</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-210"></a><span class='hs-comment'>{-# LINE 201 "./Graphics/UI/Gtk/ActionMenuToolbar/ActionGroup.chs" #-}</span>
<a name="line-211"></a>    <span class='hs-varid'>self</span>
<a name="line-212"></a>    <span class='hs-varid'>actionNamePtr</span>
<a name="line-213"></a>
<a name="line-214"></a><a name="actionGroupListActions"></a><span class='hs-comment'>-- | Lists the actions in the action group.</span>
<a name="line-215"></a><span class='hs-comment'>--</span>
<a name="line-216"></a><span class='hs-definition'>actionGroupListActions</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>ActionGroup</span>
<a name="line-217"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>Action</span><span class='hs-keyglyph'>]</span> <span class='hs-comment'>-- ^ returns a list of the action objects in the action group</span>
<a name="line-218"></a><span class='hs-definition'>actionGroupListActions</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-219"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>ActionGroup</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_action_group_list_actions</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-220"></a><span class='hs-comment'>{-# LINE 210 "./Graphics/UI/Gtk/ActionMenuToolbar/ActionGroup.chs" #-}</span>
<a name="line-221"></a>    <span class='hs-varid'>self</span>
<a name="line-222"></a>  <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>fromGList</span>
<a name="line-223"></a>  <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>mapM</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-varid'>elemPtr</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>makeNewGObject</span> <span class='hs-varid'>mkAction</span> <span class='hs-layout'>(</span><span class='hs-varid'>return</span> <span class='hs-varid'>elemPtr</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-224"></a>
<a name="line-225"></a><a name="actionGroupAddAction"></a><span class='hs-comment'>-- | Adds an action object to the action group. Note that this function does</span>
<a name="line-226"></a><span class='hs-comment'>-- not set up the accel path of the action, which can lead to problems if a</span>
<a name="line-227"></a><span class='hs-comment'>-- user tries to modify the accelerator of a menuitem associated with the</span>
<a name="line-228"></a><span class='hs-comment'>-- action. Therefore you must either set the accel path yourself with</span>
<a name="line-229"></a><span class='hs-comment'>-- 'actionSetAccelPath', or use @'actionGroupAddActionWithAccel' ... Nothing@.</span>
<a name="line-230"></a><span class='hs-comment'>--</span>
<a name="line-231"></a><span class='hs-definition'>actionGroupAddAction</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>ActionClass</span> <span class='hs-varid'>action</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>ActionGroup</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>action</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-232"></a><span class='hs-definition'>actionGroupAddAction</span> <span class='hs-varid'>self</span> <span class='hs-varid'>action</span> <span class='hs-keyglyph'>=</span>
<a name="line-233"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>ActionGroup</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>Action</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_action_group_add_action</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span><span class='hs-layout'>)</span>
<a name="line-234"></a><span class='hs-comment'>{-# LINE 223 "./Graphics/UI/Gtk/ActionMenuToolbar/ActionGroup.chs" #-}</span>
<a name="line-235"></a>    <span class='hs-varid'>self</span>
<a name="line-236"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toAction</span> <span class='hs-varid'>action</span><span class='hs-layout'>)</span>
<a name="line-237"></a>
<a name="line-238"></a><a name="actionGroupAddActionWithAccel"></a><span class='hs-comment'>-- | Adds an action object to the action group and sets up the accelerator.</span>
<a name="line-239"></a><span class='hs-comment'>--</span>
<a name="line-240"></a><span class='hs-comment'>-- If @accelerator@ is @Nothing@, attempts to use the accelerator associated</span>
<a name="line-241"></a><span class='hs-comment'>-- with the stock id of the action.</span>
<a name="line-242"></a><span class='hs-comment'>--</span>
<a name="line-243"></a><span class='hs-comment'>-- Accel paths are set to @\&lt;Actions&gt;\/group-name\/action-name@.</span>
<a name="line-244"></a><span class='hs-comment'>--</span>
<a name="line-245"></a><span class='hs-definition'>actionGroupAddActionWithAccel</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>ActionClass</span> <span class='hs-varid'>action</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>ActionGroup</span>
<a name="line-246"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>action</span> <span class='hs-comment'>-- ^ @action@ - the action to add</span>
<a name="line-247"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Maybe</span> <span class='hs-conid'>String</span> <span class='hs-comment'>-- ^ @accelerator@ - the accelerator for the action, in the</span>
<a name="line-248"></a>                 <span class='hs-comment'>-- format understood by 'acceleratorParse', or \"\" for no</span>
<a name="line-249"></a>                 <span class='hs-comment'>-- accelerator, or @Nothing@ to use the stock accelerator</span>
<a name="line-250"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-251"></a><span class='hs-definition'>actionGroupAddActionWithAccel</span> <span class='hs-varid'>self</span> <span class='hs-varid'>action</span> <span class='hs-varid'>accelerator</span> <span class='hs-keyglyph'>=</span>
<a name="line-252"></a>  <span class='hs-varid'>maybeWith</span> <span class='hs-varid'>withUTFString</span> <span class='hs-varid'>accelerator</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>acceleratorPtr</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-253"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>ActionGroup</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>Action</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg3</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_action_group_add_action_with_accel</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span>
<a name="line-254"></a><span class='hs-comment'>{-# LINE 242 "./Graphics/UI/Gtk/ActionMenuToolbar/ActionGroup.chs" #-}</span>
<a name="line-255"></a>    <span class='hs-varid'>self</span>
<a name="line-256"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toAction</span> <span class='hs-varid'>action</span><span class='hs-layout'>)</span>
<a name="line-257"></a>    <span class='hs-varid'>acceleratorPtr</span>
<a name="line-258"></a>
<a name="line-259"></a><a name="actionGroupRemoveAction"></a><span class='hs-comment'>-- | Removes an action object from the action group.</span>
<a name="line-260"></a><span class='hs-comment'>--</span>
<a name="line-261"></a><span class='hs-definition'>actionGroupRemoveAction</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>ActionClass</span> <span class='hs-varid'>action</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>ActionGroup</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>action</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-262"></a><span class='hs-definition'>actionGroupRemoveAction</span> <span class='hs-varid'>self</span> <span class='hs-varid'>action</span> <span class='hs-keyglyph'>=</span>
<a name="line-263"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>ActionGroup</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>Action</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_action_group_remove_action</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span><span class='hs-layout'>)</span>
<a name="line-264"></a><span class='hs-comment'>{-# LINE 251 "./Graphics/UI/Gtk/ActionMenuToolbar/ActionGroup.chs" #-}</span>
<a name="line-265"></a>    <span class='hs-varid'>self</span>
<a name="line-266"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toAction</span> <span class='hs-varid'>action</span><span class='hs-layout'>)</span>
<a name="line-267"></a>
<a name="line-268"></a><span class='hs-comment'>-- Note: for these next few funtions we cannot use the C version because the</span>
<a name="line-269"></a><span class='hs-comment'>-- callback doesn't allow for propper memory management. So like pygtk we</span>
<a name="line-270"></a><span class='hs-comment'>-- implement them natively since they are only convenience functions afterall.</span>
<a name="line-271"></a>
<a name="line-272"></a>
<a name="line-273"></a><a name="ActionEntry"></a><span class='hs-comment'>-- | A description of an action.</span>
<a name="line-274"></a><a name="ActionEntry"></a><span class='hs-keyword'>data</span> <span class='hs-conid'>ActionEntry</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>ActionEntry</span> <span class='hs-layout'>{</span>
<a name="line-275"></a>       <span class='hs-varid'>actionEntryName</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>String</span><span class='hs-layout'>,</span>
<a name="line-276"></a>       <span class='hs-varid'>actionEntryLabel</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>String</span><span class='hs-layout'>,</span>
<a name="line-277"></a>       <span class='hs-varid'>actionEntryStockId</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>Maybe</span> <span class='hs-conid'>String</span><span class='hs-layout'>,</span>
<a name="line-278"></a>       <span class='hs-varid'>actionEntryAccelerator</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>Maybe</span> <span class='hs-conid'>String</span><span class='hs-layout'>,</span>
<a name="line-279"></a>       <span class='hs-varid'>actionEntryTooltip</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>Maybe</span> <span class='hs-conid'>String</span><span class='hs-layout'>,</span>
<a name="line-280"></a>       <span class='hs-varid'>actionEntryCallback</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-281"></a>     <span class='hs-layout'>}</span>
<a name="line-282"></a>
<a name="line-283"></a><a name="actionGroupAddActions"></a><span class='hs-comment'>-- | This is a convenience function to create a number of actions and add them</span>
<a name="line-284"></a><span class='hs-comment'>-- to the action group.</span>
<a name="line-285"></a><span class='hs-comment'>--</span>
<a name="line-286"></a><span class='hs-comment'>-- The 'actionActivated' signals of the actions are connected to the callbacks</span>
<a name="line-287"></a><span class='hs-comment'>-- and their accel paths are set to @\&lt;Actions&gt;\/group-name\/action-name@.</span>
<a name="line-288"></a><span class='hs-comment'>--</span>
<a name="line-289"></a><span class='hs-definition'>actionGroupAddActions</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>ActionGroup</span>
<a name="line-290"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>ActionEntry</span><span class='hs-keyglyph'>]</span> <span class='hs-comment'>-- ^ @entries@ - a list of action descriptions</span>
<a name="line-291"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-292"></a><span class='hs-definition'>actionGroupAddActions</span> <span class='hs-varid'>self</span> <span class='hs-varid'>entries</span> <span class='hs-keyglyph'>=</span>
<a name="line-293"></a>  <span class='hs-varid'>flip</span> <span class='hs-varid'>mapM_</span> <span class='hs-varid'>entries</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>ActionEntry</span> <span class='hs-varid'>name</span> <span class='hs-varid'>label</span> <span class='hs-varid'>stockId</span>
<a name="line-294"></a>                        <span class='hs-varid'>accelerator</span> <span class='hs-varid'>tooltip</span> <span class='hs-varid'>callback</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>do</span>
<a name="line-295"></a>    <span class='hs-varid'>action</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>actionNew</span> <span class='hs-varid'>name</span> <span class='hs-varid'>label</span> <span class='hs-varid'>tooltip</span> <span class='hs-varid'>stockId</span>
<a name="line-296"></a>    <span class='hs-varid'>action</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>actionActivated</span> <span class='hs-varop'>$</span> <span class='hs-varid'>callback</span>
<a name="line-297"></a>    <span class='hs-varid'>actionGroupAddActionWithAccel</span> <span class='hs-varid'>self</span> <span class='hs-varid'>action</span> <span class='hs-varid'>accelerator</span>
<a name="line-298"></a>
<a name="line-299"></a><a name="ToggleActionEntry"></a><span class='hs-comment'>-- | A description of an action for an entry that can be toggled.</span>
<a name="line-300"></a><a name="ToggleActionEntry"></a><span class='hs-keyword'>data</span> <span class='hs-conid'>ToggleActionEntry</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>ToggleActionEntry</span> <span class='hs-layout'>{</span>
<a name="line-301"></a>       <span class='hs-varid'>toggleActionName</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>String</span><span class='hs-layout'>,</span>
<a name="line-302"></a>       <span class='hs-varid'>toggleActionLabel</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>String</span><span class='hs-layout'>,</span>
<a name="line-303"></a>       <span class='hs-varid'>toggleActionStockId</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>Maybe</span> <span class='hs-conid'>String</span><span class='hs-layout'>,</span>
<a name="line-304"></a>       <span class='hs-varid'>toggleActionAccelerator</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>Maybe</span> <span class='hs-conid'>String</span><span class='hs-layout'>,</span>
<a name="line-305"></a>       <span class='hs-varid'>toggleActionTooltip</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>Maybe</span> <span class='hs-conid'>String</span><span class='hs-layout'>,</span>
<a name="line-306"></a>       <span class='hs-varid'>toggleActionCallback</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>,</span>
<a name="line-307"></a>       <span class='hs-varid'>toggleActionIsActive</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>Bool</span>
<a name="line-308"></a>     <span class='hs-layout'>}</span>
<a name="line-309"></a>
<a name="line-310"></a><a name="actionGroupAddToggleActions"></a><span class='hs-comment'>-- | This is a convenience function to create a number of toggle actions and</span>
<a name="line-311"></a><span class='hs-comment'>-- add them to the action group.</span>
<a name="line-312"></a><span class='hs-comment'>--</span>
<a name="line-313"></a><span class='hs-comment'>-- The 'actionActivated' signals of the actions are connected to the callbacks</span>
<a name="line-314"></a><span class='hs-comment'>-- and their accel paths are set to @\&lt;Actions&gt;\/group-name\/action-name@.</span>
<a name="line-315"></a><span class='hs-comment'>--</span>
<a name="line-316"></a><span class='hs-definition'>actionGroupAddToggleActions</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>ActionGroup</span>
<a name="line-317"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>ToggleActionEntry</span><span class='hs-keyglyph'>]</span> <span class='hs-comment'>-- ^ @entries@ - a list of toggle action descriptions</span>
<a name="line-318"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-319"></a><span class='hs-definition'>actionGroupAddToggleActions</span> <span class='hs-varid'>self</span> <span class='hs-varid'>entries</span> <span class='hs-keyglyph'>=</span>
<a name="line-320"></a>  <span class='hs-varid'>flip</span> <span class='hs-varid'>mapM_</span> <span class='hs-varid'>entries</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>ToggleActionEntry</span> <span class='hs-varid'>name</span> <span class='hs-varid'>label</span> <span class='hs-varid'>stockId</span>
<a name="line-321"></a>                        <span class='hs-varid'>accelerator</span> <span class='hs-varid'>tooltip</span> <span class='hs-varid'>callback</span> <span class='hs-varid'>isActive</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>do</span>
<a name="line-322"></a>    <span class='hs-varid'>action</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>toggleActionNew</span> <span class='hs-varid'>name</span> <span class='hs-varid'>label</span> <span class='hs-varid'>tooltip</span> <span class='hs-varid'>stockId</span>
<a name="line-323"></a>    <span class='hs-varid'>toggleActionSetActive</span> <span class='hs-varid'>action</span> <span class='hs-varid'>isActive</span>
<a name="line-324"></a>    <span class='hs-varid'>action</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>actionActivated</span> <span class='hs-varop'>$</span> <span class='hs-varid'>callback</span>
<a name="line-325"></a>    <span class='hs-varid'>actionGroupAddActionWithAccel</span> <span class='hs-varid'>self</span> <span class='hs-varid'>action</span> <span class='hs-varid'>accelerator</span>
<a name="line-326"></a>
<a name="line-327"></a><a name="RadioActionEntry"></a><span class='hs-comment'>-- | A description of an action for an entry that provides a multiple choice.</span>
<a name="line-328"></a><a name="RadioActionEntry"></a><span class='hs-keyword'>data</span> <span class='hs-conid'>RadioActionEntry</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>RadioActionEntry</span> <span class='hs-layout'>{</span>
<a name="line-329"></a>       <span class='hs-varid'>radioActionName</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>String</span><span class='hs-layout'>,</span>
<a name="line-330"></a>       <span class='hs-varid'>radioActionLabel</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>String</span><span class='hs-layout'>,</span>
<a name="line-331"></a>       <span class='hs-varid'>radioActionStockId</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>Maybe</span> <span class='hs-conid'>String</span><span class='hs-layout'>,</span>
<a name="line-332"></a>       <span class='hs-varid'>radioActionAccelerator</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>Maybe</span> <span class='hs-conid'>String</span><span class='hs-layout'>,</span>
<a name="line-333"></a>       <span class='hs-varid'>radioActionTooltip</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>Maybe</span> <span class='hs-conid'>String</span><span class='hs-layout'>,</span>
<a name="line-334"></a>       <span class='hs-varid'>radioActionValue</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>Int</span>
<a name="line-335"></a>     <span class='hs-layout'>}</span>
<a name="line-336"></a>
<a name="line-337"></a><a name="actionGroupAddRadioActions"></a><span class='hs-comment'>-- | This is a convenience routine to create a group of radio actions and add</span>
<a name="line-338"></a><span class='hs-comment'>-- them to the action group.</span>
<a name="line-339"></a><span class='hs-comment'>--</span>
<a name="line-340"></a><span class='hs-comment'>-- The 'radioActionChanged' signal of the first radio action is connected to the</span>
<a name="line-341"></a><span class='hs-comment'>-- @onChange@ callback and the accel paths of the actions are set to</span>
<a name="line-342"></a><span class='hs-comment'>-- @\&lt;Actions&gt;\/group-name\/action-name@.</span>
<a name="line-343"></a><span class='hs-comment'>--</span>
<a name="line-344"></a><span class='hs-definition'>actionGroupAddRadioActions</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>ActionGroup</span>
<a name="line-345"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>RadioActionEntry</span><span class='hs-keyglyph'>]</span> <span class='hs-comment'>-- ^ @entries@ - a list of radio action descriptions</span>
<a name="line-346"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Int</span> <span class='hs-comment'>-- ^ @value@ - the value of the action to activate</span>
<a name="line-347"></a>                       <span class='hs-comment'>-- initially, or -1 if no action should be activated</span>
<a name="line-348"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>RadioAction</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span> <span class='hs-comment'>-- ^ @onChange@ - the callback for the changed signal</span>
<a name="line-349"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-350"></a><span class='hs-definition'>actionGroupAddRadioActions</span> <span class='hs-varid'>self</span> <span class='hs-varid'>entries</span> <span class='hs-varid'>value</span> <span class='hs-varid'>onChange</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-351"></a>  <span class='hs-varid'>group</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>foldM</span>
<a name="line-352"></a>    <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-varid'>group</span> <span class='hs-layout'>(</span><span class='hs-varid'>n</span><span class='hs-layout'>,</span> <span class='hs-conid'>RadioActionEntry</span> <span class='hs-varid'>name</span> <span class='hs-varid'>label</span> <span class='hs-varid'>stockId</span>
<a name="line-353"></a>               <span class='hs-varid'>accelerator</span> <span class='hs-varid'>tooltip</span> <span class='hs-varid'>value</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>do</span>
<a name="line-354"></a>    <span class='hs-varid'>action</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>radioActionNew</span> <span class='hs-varid'>name</span> <span class='hs-varid'>label</span> <span class='hs-varid'>tooltip</span> <span class='hs-varid'>stockId</span> <span class='hs-varid'>value</span>
<a name="line-355"></a>    <span class='hs-keyword'>case</span> <span class='hs-varid'>group</span> <span class='hs-keyword'>of</span>
<a name="line-356"></a>      <span class='hs-conid'>Nothing</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>return</span> <span class='hs-conid'>()</span>
<a name="line-357"></a>      <span class='hs-conid'>Just</span> <span class='hs-varid'>group</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>radioActionSetGroup</span> <span class='hs-varid'>action</span> <span class='hs-varid'>group</span>
<a name="line-358"></a>    <span class='hs-varid'>when</span> <span class='hs-layout'>(</span><span class='hs-varid'>n</span> <span class='hs-varop'>==</span> <span class='hs-varid'>value</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-varid'>toggleActionSetActive</span> <span class='hs-varid'>action</span> <span class='hs-conid'>True</span><span class='hs-layout'>)</span>
<a name="line-359"></a>    <span class='hs-varid'>actionGroupAddActionWithAccel</span> <span class='hs-varid'>self</span> <span class='hs-varid'>action</span> <span class='hs-varid'>accelerator</span>
<a name="line-360"></a>    <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-conid'>Just</span> <span class='hs-varid'>action</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-361"></a>    <span class='hs-conid'>Nothing</span> <span class='hs-layout'>(</span><span class='hs-varid'>zip</span> <span class='hs-keyglyph'>[</span><span class='hs-num'>0</span><span class='hs-keyglyph'>..</span><span class='hs-keyglyph'>]</span> <span class='hs-varid'>entries</span><span class='hs-layout'>)</span>
<a name="line-362"></a>  <span class='hs-keyword'>case</span> <span class='hs-varid'>group</span> <span class='hs-keyword'>of</span>
<a name="line-363"></a>      <span class='hs-conid'>Nothing</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>return</span> <span class='hs-conid'>()</span>
<a name="line-364"></a>      <span class='hs-conid'>Just</span> <span class='hs-varid'>group</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>do</span>
<a name="line-365"></a>        <span class='hs-varid'>group</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>radioActionChanged</span> <span class='hs-varop'>$</span> <span class='hs-varid'>onChange</span>
<a name="line-366"></a>        <span class='hs-varid'>return</span> <span class='hs-conid'>()</span>
<a name="line-367"></a>
<a name="line-368"></a><a name="actionGroupSetTranslateFunc"></a><span class='hs-comment'>-- | Sets a function to be used for translating the @label@ and @tooltip@ of</span>
<a name="line-369"></a><span class='hs-comment'>-- 'ActionEntry's added by 'actionGroupAddActions'.</span>
<a name="line-370"></a><span class='hs-comment'>--</span>
<a name="line-371"></a><span class='hs-comment'>-- If you\'re using \'gettext\', it is enough to set the translation domain</span>
<a name="line-372"></a><span class='hs-comment'>-- with 'actionGroupSetTranslationDomain'.</span>
<a name="line-373"></a><span class='hs-comment'>--</span>
<a name="line-374"></a><span class='hs-definition'>actionGroupSetTranslateFunc</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>ActionGroup</span>
<a name="line-375"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>String</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>String</span><span class='hs-layout'>)</span> <span class='hs-comment'>-- ^ @(\label -&gt; ...)@ - a translation function</span>
<a name="line-376"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-377"></a><span class='hs-definition'>actionGroupSetTranslateFunc</span> <span class='hs-varid'>self</span> <span class='hs-varid'>func</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-378"></a>  <span class='hs-varid'>funcPtr</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>mkTranslateFunc</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>strPtr</span> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>do</span>
<a name="line-379"></a>               <span class='hs-varid'>str</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>peekUTFString</span> <span class='hs-varid'>strPtr</span>
<a name="line-380"></a>               <span class='hs-varid'>translatedStr</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>func</span> <span class='hs-varid'>str</span>
<a name="line-381"></a>               <span class='hs-varid'>newUTFString</span> <span class='hs-varid'>translatedStr</span>
<a name="line-382"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>ActionGroup</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-varid'>arg3</span> <span class='hs-varid'>arg4</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_action_group_set_translate_func</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span> <span class='hs-varid'>arg3</span> <span class='hs-varid'>arg4</span><span class='hs-layout'>)</span>
<a name="line-383"></a><span class='hs-comment'>{-# LINE 369 "./Graphics/UI/Gtk/ActionMenuToolbar/ActionGroup.chs" #-}</span>
<a name="line-384"></a>    <span class='hs-varid'>self</span>
<a name="line-385"></a>    <span class='hs-varid'>funcPtr</span>
<a name="line-386"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>castFunPtrToPtr</span> <span class='hs-varid'>funcPtr</span><span class='hs-layout'>)</span>
<a name="line-387"></a>    <span class='hs-varid'>destroyFunPtr</span>
<a name="line-388"></a>
<a name="line-389"></a><a name="TranslateFunc"></a><span class='hs-keyword'>type</span> <span class='hs-conid'>TranslateFunc</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>FunPtr</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-390"></a><span class='hs-comment'>{-# LINE 375 "./Graphics/UI/Gtk/ActionMenuToolbar/ActionGroup.chs" #-}</span>
<a name="line-391"></a>
<a name="line-392"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-str'>"wrapper"</span> <span class='hs-varid'>mkTranslateFunc</span> <span class='hs-keyglyph'>::</span>
<a name="line-393"></a>  <span class='hs-layout'>(</span><span class='hs-conid'>CString</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Ptr</span> <span class='hs-conid'>()</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>CString</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>TranslateFunc</span>
<a name="line-394"></a>
<a name="line-395"></a><a name="actionGroupSetTranslationDomain"></a><span class='hs-comment'>-- | Sets the translation domain and uses \'dgettext\' for translating the</span>
<a name="line-396"></a><span class='hs-comment'>-- @label@ and @tooltip@ of 'ActionEntry's added by 'actionGroupAddActions'.</span>
<a name="line-397"></a><span class='hs-comment'>--</span>
<a name="line-398"></a><span class='hs-comment'>-- If you\'re not using \'gettext\' for localization, see</span>
<a name="line-399"></a><span class='hs-comment'>-- 'actionGroupSetTranslateFunc'.</span>
<a name="line-400"></a><span class='hs-comment'>--</span>
<a name="line-401"></a><span class='hs-definition'>actionGroupSetTranslationDomain</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>ActionGroup</span>
<a name="line-402"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>String</span> <span class='hs-comment'>-- ^ @domain@ - the translation domain to use for \'dgettext\'</span>
<a name="line-403"></a>                <span class='hs-comment'>-- calls</span>
<a name="line-404"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-405"></a><span class='hs-definition'>actionGroupSetTranslationDomain</span> <span class='hs-varid'>self</span> <span class='hs-varid'>domain</span> <span class='hs-keyglyph'>=</span>
<a name="line-406"></a>  <span class='hs-varid'>withUTFString</span> <span class='hs-varid'>domain</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>domainPtr</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-407"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>ActionGroup</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_action_group_set_translation_domain</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-408"></a><span class='hs-comment'>{-# LINE 392 "./Graphics/UI/Gtk/ActionMenuToolbar/ActionGroup.chs" #-}</span>
<a name="line-409"></a>    <span class='hs-varid'>self</span>
<a name="line-410"></a>    <span class='hs-varid'>domainPtr</span>
<a name="line-411"></a>
<a name="line-412"></a>
<a name="line-413"></a><a name="actionGroupTranslateString"></a><span class='hs-comment'>-- | Translates a string.</span>
<a name="line-414"></a><span class='hs-comment'>--</span>
<a name="line-415"></a><span class='hs-comment'>-- * Available since Gtk+ version 2.6</span>
<a name="line-416"></a><span class='hs-comment'>--</span>
<a name="line-417"></a><span class='hs-definition'>actionGroupTranslateString</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>ActionGroup</span>
<a name="line-418"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>String</span> <span class='hs-comment'>-- ^ @string@ - a string</span>
<a name="line-419"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>String</span> <span class='hs-comment'>-- ^ returns the translation of @string@</span>
<a name="line-420"></a><span class='hs-definition'>actionGroupTranslateString</span> <span class='hs-varid'>self</span> <span class='hs-varid'>string</span> <span class='hs-keyglyph'>=</span>
<a name="line-421"></a>  <span class='hs-varid'>withUTFString</span> <span class='hs-varid'>string</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>stringPtr</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-422"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>ActionGroup</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_action_group_translate_string</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-423"></a><span class='hs-comment'>{-# LINE 406 "./Graphics/UI/Gtk/ActionMenuToolbar/ActionGroup.chs" #-}</span>
<a name="line-424"></a>    <span class='hs-varid'>self</span>
<a name="line-425"></a>    <span class='hs-varid'>stringPtr</span>
<a name="line-426"></a>  <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>peekUTFString</span>
<a name="line-427"></a>
<a name="line-428"></a>
<a name="line-429"></a><span class='hs-comment'>--------------------</span>
<a name="line-430"></a><span class='hs-comment'>-- Attributes</span>
<a name="line-431"></a>
<a name="line-432"></a><a name="actionGroupName"></a><span class='hs-comment'>-- | A name for the action group.</span>
<a name="line-433"></a><span class='hs-comment'>--</span>
<a name="line-434"></a><span class='hs-comment'>-- Default value: \"\"</span>
<a name="line-435"></a><span class='hs-comment'>--</span>
<a name="line-436"></a><span class='hs-definition'>actionGroupName</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>Attr</span> <span class='hs-conid'>ActionGroup</span> <span class='hs-conid'>String</span>
<a name="line-437"></a><span class='hs-definition'>actionGroupName</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>newAttrFromStringProperty</span> <span class='hs-str'>"name"</span>
<a name="line-438"></a>
<a name="line-439"></a><a name="actionGroupSensitive"></a><span class='hs-comment'>-- | Whether the action group is enabled.</span>
<a name="line-440"></a><span class='hs-comment'>--</span>
<a name="line-441"></a><span class='hs-comment'>-- Default value: @True@</span>
<a name="line-442"></a><span class='hs-comment'>--</span>
<a name="line-443"></a><span class='hs-definition'>actionGroupSensitive</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>Attr</span> <span class='hs-conid'>ActionGroup</span> <span class='hs-conid'>Bool</span>
<a name="line-444"></a><span class='hs-definition'>actionGroupSensitive</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>newAttr</span>
<a name="line-445"></a>  <span class='hs-varid'>actionGroupGetSensitive</span>
<a name="line-446"></a>  <span class='hs-varid'>actionGroupSetSensitive</span>
<a name="line-447"></a>
<a name="line-448"></a><a name="actionGroupVisible"></a><span class='hs-comment'>-- | Whether the action group is visible.</span>
<a name="line-449"></a><span class='hs-comment'>--</span>
<a name="line-450"></a><span class='hs-comment'>-- Default value: @True@</span>
<a name="line-451"></a><span class='hs-comment'>--</span>
<a name="line-452"></a><span class='hs-definition'>actionGroupVisible</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>Attr</span> <span class='hs-conid'>ActionGroup</span> <span class='hs-conid'>Bool</span>
<a name="line-453"></a><span class='hs-definition'>actionGroupVisible</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>newAttr</span>
<a name="line-454"></a>  <span class='hs-varid'>actionGroupGetVisible</span>
<a name="line-455"></a>  <span class='hs-varid'>actionGroupSetVisible</span>
<a name="line-456"></a>
<a name="line-457"></a><span class='hs-comment'>--------------------</span>
<a name="line-458"></a><span class='hs-comment'>-- Signals</span>
<a name="line-459"></a>
<a name="line-460"></a><span class='hs-comment'>{-
<a name="line-461"></a>-- | The connect_proxy signal is emitted after connecting a proxy to an action
<a name="line-462"></a>-- in the group. Note that the proxy may have been connected to a different
<a name="line-463"></a>-- action before.
<a name="line-464"></a>--
<a name="line-465"></a>-- This is intended for simple customizations for which a custom action
<a name="line-466"></a>-- class would be too clumsy, e.g. showing tooltips for menuitems in the
<a name="line-467"></a>-- statusbar.
<a name="line-468"></a>--
<a name="line-469"></a>onConnectProxy, afterConnectProxy :: ActionGroupClass self =&gt; self
<a name="line-470"></a> -&gt; ({-GtkAction-} -&gt; {-GtkWidget-} -&gt; IO ())
<a name="line-471"></a> -&gt; IO (ConnectId self)
<a name="line-472"></a>onConnectProxy = connect_{-GtkAction-}_{-GtkWidget-}__NONE "connect_proxy" False
<a name="line-473"></a>afterConnectProxy = connect_{-GtkAction-}_{-GtkWidget-}__NONE "connect_proxy" True
<a name="line-474"></a>
<a name="line-475"></a>-- | The disconnect_proxy signal is emitted after disconnecting a proxy from
<a name="line-476"></a>-- an action in the group.
<a name="line-477"></a>--
<a name="line-478"></a>onDisconnectProxy, afterDisconnectProxy :: ActionGroupClass self =&gt; self
<a name="line-479"></a> -&gt; ({-GtkAction-} -&gt; {-GtkWidget-} -&gt; IO ())
<a name="line-480"></a> -&gt; IO (ConnectId self)
<a name="line-481"></a>onDisconnectProxy = connect_{-GtkAction-}_{-GtkWidget-}__NONE "disconnect_proxy" False
<a name="line-482"></a>afterDisconnectProxy = connect_{-GtkAction-}_{-GtkWidget-}__NONE "disconnect_proxy" True
<a name="line-483"></a>
<a name="line-484"></a>-- | The pre_activate signal is emitted just before the @action@ in the
<a name="line-485"></a>-- @actionGroup@ is activated
<a name="line-486"></a>--
<a name="line-487"></a>-- This is intended for 'UIManager' to proxy the signal and provide global
<a name="line-488"></a>-- notification just before any action is activated.
<a name="line-489"></a>--
<a name="line-490"></a>onPreActivate, afterPreActivate :: ActionGroupClass self =&gt; self
<a name="line-491"></a> -&gt; ({-GtkAction-} -&gt; IO ())
<a name="line-492"></a> -&gt; IO (ConnectId self)
<a name="line-493"></a>onPreActivate = connect_{-GtkAction-}__NONE "pre_activate" False
<a name="line-494"></a>afterPreActivate = connect_{-GtkAction-}__NONE "pre_activate" True
<a name="line-495"></a>
<a name="line-496"></a>-- | The post_activate signal is emitted just after the @action@ in the
<a name="line-497"></a>-- @actionGroup@ is activated
<a name="line-498"></a>--
<a name="line-499"></a>-- This is intended for 'UIManager' to proxy the signal and provide global
<a name="line-500"></a>-- notification just after any action is activated.
<a name="line-501"></a>--
<a name="line-502"></a>onPostActivate, afterPostActivate :: ActionGroupClass self =&gt; self
<a name="line-503"></a> -&gt; ({-GtkAction-} -&gt; IO ())
<a name="line-504"></a> -&gt; IO (ConnectId self)
<a name="line-505"></a>onPostActivate = connect_{-GtkAction-}__NONE "post_activate" False
<a name="line-506"></a>afterPostActivate = connect_{-GtkAction-}__NONE "post_activate" True
<a name="line-507"></a>-}</span>
<a name="line-508"></a>
<a name="line-509"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_action_group_new"</span>
<a name="line-510"></a>  <span class='hs-varid'>gtk_action_group_new</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>ActionGroup</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-511"></a>
<a name="line-512"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_action_group_get_name"</span>
<a name="line-513"></a>  <span class='hs-varid'>gtk_action_group_get_name</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>ActionGroup</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-514"></a>
<a name="line-515"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_action_group_get_sensitive"</span>
<a name="line-516"></a>  <span class='hs-varid'>gtk_action_group_get_sensitive</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>ActionGroup</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>CInt</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-517"></a>
<a name="line-518"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_action_group_set_sensitive"</span>
<a name="line-519"></a>  <span class='hs-varid'>gtk_action_group_set_sensitive</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>ActionGroup</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-520"></a>
<a name="line-521"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_action_group_get_visible"</span>
<a name="line-522"></a>  <span class='hs-varid'>gtk_action_group_get_visible</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>ActionGroup</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>CInt</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-523"></a>
<a name="line-524"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_action_group_set_visible"</span>
<a name="line-525"></a>  <span class='hs-varid'>gtk_action_group_set_visible</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>ActionGroup</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-526"></a>
<a name="line-527"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_action_group_get_action"</span>
<a name="line-528"></a>  <span class='hs-varid'>gtk_action_group_get_action</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>ActionGroup</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>Action</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-529"></a>
<a name="line-530"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_action_group_list_actions"</span>
<a name="line-531"></a>  <span class='hs-varid'>gtk_action_group_list_actions</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>ActionGroup</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-532"></a>
<a name="line-533"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_action_group_add_action"</span>
<a name="line-534"></a>  <span class='hs-varid'>gtk_action_group_add_action</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>ActionGroup</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>Action</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-535"></a>
<a name="line-536"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_action_group_add_action_with_accel"</span>
<a name="line-537"></a>  <span class='hs-varid'>gtk_action_group_add_action_with_accel</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>ActionGroup</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>Action</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-538"></a>
<a name="line-539"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_action_group_remove_action"</span>
<a name="line-540"></a>  <span class='hs-varid'>gtk_action_group_remove_action</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>ActionGroup</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>Action</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-541"></a>
<a name="line-542"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_action_group_set_translate_func"</span>
<a name="line-543"></a>  <span class='hs-varid'>gtk_action_group_set_translate_func</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>ActionGroup</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>FunPtr</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>FunPtr</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-544"></a>
<a name="line-545"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_action_group_set_translation_domain"</span>
<a name="line-546"></a>  <span class='hs-varid'>gtk_action_group_set_translation_domain</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>ActionGroup</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-547"></a>
<a name="line-548"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_action_group_translate_string"</span>
<a name="line-549"></a>  <span class='hs-varid'>gtk_action_group_translate_string</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>ActionGroup</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
</pre></body>
</html>