This file is indexed.

/usr/share/doc/gnat-gps/html/Adding-tool-bar-buttons.html is in gnat-gps-doc 5.0-16.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 2002-2010 AdaCore.

This document is free; 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 document 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 program; if not, see http://www.gnu.org/licenses/.

A copy of the license is included in the section entitled
"GNU General Public License". -->
<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Using the GNAT Programming Studio: Adding tool bar buttons</title>

<meta name="description" content="Using the GNAT Programming Studio: Adding tool bar buttons">
<meta name="keywords" content="Using the GNAT Programming Studio: Adding tool bar buttons">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Index-table.html#Index-table" rel="index" title="Index table">
<link href="Customizing-through-XML-and-Python-files.html#Customizing-through-XML-and-Python-files" rel="up" title="Customizing through XML and Python files">
<link href="Binding-actions-to-keys.html#Binding-actions-to-keys" rel="next" title="Binding actions to keys">
<link href="Adding-contextual-menus.html#Adding-contextual-menus" rel="previous" title="Adding contextual menus">
<style type="text/css">
<!--
   

a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
pre.smallexample {background-color:rgb(240,240,240);
                     font-family: courier new,courier,fixed;
                     font-size: 14px;
                     margin: 0px 40px 0px 40px;
                     border-width: 1px 2px 2px 1px;
                     border-top-style: dotted;
                     border-left-style: dotted;
                     border-right-style: solid;
                     border-bottom-style: solid;
                     border-color: black;}
   code             {color:black;
                     font-family: courier new,courier,fixed;
                     font-size: 14px;}
   body             {font-family: arial,helvetica,sans-serif;
                     font-size: 16px;
                     max-width: 800px;
                     text-align: justify}
   samp             {font-family: courier new,courier,fixed;
                     font-size: 14px}
                    

-->
</style>


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Adding-tool-bar-buttons"></a>
<div class="header">
<p>
Next: <a href="Binding-actions-to-keys.html#Binding-actions-to-keys" accesskey="n" rel="next">Binding actions to keys</a>, Previous: <a href="Adding-contextual-menus.html#Adding-contextual-menus" accesskey="p" rel="previous">Adding contextual menus</a>, Up: <a href="Customizing-through-XML-and-Python-files.html#Customizing-through-XML-and-Python-files" accesskey="u" rel="up">Customizing through XML and Python files</a> &nbsp; [<a href="Index-table.html#Index-table" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Adding-tool-bar-buttons-1"></a>
<h4 class="subsection">16.5.7 Adding tool bar buttons</h4>
<a name="index-tool-bar-3"></a>
<a name="index-_003cbutton_003e"></a>
<a name="index-_003centry_003e"></a>

<p>As an alternative to creating new menu items, you can create new
buttons on the tool bar, with a similar syntax, by using
the <code>&lt;button&gt;</code> tag. As for the <code>&lt;menu&gt;</code> tag, it requires an
<code>action</code> attribute which specifies what should be done when the button
is pressed. The button is not created if no such action was created.
</p>
<a name="index-jpeg"></a>
<a name="index-png-1"></a>
<a name="index-gif"></a>
<a name="index-xpm"></a>
<p>Within this tag, the tag <code>&lt;pixmap&gt;</code> can be used to indicate
the location of an image file (of the type <code>jpeg, png, gif</code>
or <code>xpm</code>) to be used as icon for the button. An empty
<code>&lt;button&gt;</code> tag indicates a separator in the tool bar.
</p>
<p>A title can also be specified with <code>&lt;title&gt;</code>. This will be visible only
if the user choses to see both text and icons (or text only) in the tool bar.
This title also acts as a tooltip (popup help message) when the button is
displayed as an icon only.
</p>
<p>The following example defines a new button:
</p>
<div class="smallexample">
<pre class="smallexample">&lt;?xml version=&quot;1.0&quot; ?&gt;
&lt;stats&gt;
  &lt;button action=&quot;execute my stats&quot;&gt;
    &lt;title&gt;stats&lt;/title&gt;
    &lt;pixmap&gt;/my_pixmaps/button.jpg&lt;/pixmap&gt;
  &lt;/button&gt;
&lt;/stats&gt;
</pre></div>

<p>The <code>&lt;button&gt;</code> tag allows you to create a simple button that the user
can press to start an action. GPS also supports another type of button,
a combo box, from which the user can choose among a list of choices. Such
a combo box can be created with the <code>&lt;entry&gt;</code> tag.
</p>
<p>This tag accepts the following arguments:
</p>
<dl compact="compact">
<dt><code>id (mandatory)</code></dt>
<dd>
<p>This should be a unique id for this combo box, and will be used later on
to refer it, in particular from the scripting languages. It can be any
string
</p>
</dd>
<dt><code>label (default is &quot;&quot;)</code></dt>
<dd>
<p>The text of a label to display on the left of the combo box. If this isn&rsquo;t
specified, no text will be displayed
</p>
</dd>
<dt><code>on-changed (default is &quot;&quot;)</code></dt>
<dd>
<p>The name of a GPS action to execute whenever the user selects a new value
in the combo box. This action is called with two parameters, the unique id
of the combo box and the newly selected text respectively.
</p></dd>
</dl>

<p>It also accepts any number of <code>&lt;choice&gt;</code> tags, each of which defines
one of the values the user can choose from. These tags accepts one optional
attribute, &quot;on-selected&quot;, which is the name of a GPS action to call when
that particular value is selected.
</p>
<div class="smallexample">
<pre class="smallexample">   &lt;action name=&quot;animal_changed&quot;&gt;
      &lt;shell&gt;echo A new animal was selected in combo $1: animal is $2&lt;/shell&gt;
   &lt;/action&gt;
   &lt;action name=&quot;gnu-selected&quot;&gt;
      &lt;shell&gt;echo Congratulations on choosing a Gnu&lt;/shell&gt;
   &lt;/action&gt;
   &lt;entry id=&quot;foo&quot; label=&quot;Animal&quot; on-changed=&quot;animal_changed&quot;&gt;
      &lt;choice&gt;Elephant&lt;/choice&gt;
      &lt;choice on-selected=&quot;gnu-selected&quot;&gt;Gnu&lt;/choice&gt;
   &lt;/entry&gt;
</pre></div>

<p>A more convenient interface exists for Python, the GPS.Toolbar class, which
gives you the same flexibility as above, but also gives you dynamic control
over the entry, and allows placement of buttons at arbitrary positions in
the toolbar. See the python documentation.
</p>
<hr>
<div class="header">
<p>
Next: <a href="Binding-actions-to-keys.html#Binding-actions-to-keys" accesskey="n" rel="next">Binding actions to keys</a>, Previous: <a href="Adding-contextual-menus.html#Adding-contextual-menus" accesskey="p" rel="previous">Adding contextual menus</a>, Up: <a href="Customizing-through-XML-and-Python-files.html#Customizing-through-XML-and-Python-files" accesskey="u" rel="up">Customizing through XML and Python files</a> &nbsp; [<a href="Index-table.html#Index-table" title="Index" rel="index">Index</a>]</p>
</div>



</body>
</html>