/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> [<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><button></code> tag. As for the <code><menu></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><pixmap></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><button></code> tag indicates a separator in the tool bar.
</p>
<p>A title can also be specified with <code><title></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"><?xml version="1.0" ?>
<stats>
<button action="execute my stats">
<title>stats</title>
<pixmap>/my_pixmaps/button.jpg</pixmap>
</button>
</stats>
</pre></div>
<p>The <code><button></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><entry></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 "")</code></dt>
<dd>
<p>The text of a label to display on the left of the combo box. If this isn’t
specified, no text will be displayed
</p>
</dd>
<dt><code>on-changed (default is "")</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><choice></code> tags, each of which defines
one of the values the user can choose from. These tags accepts one optional
attribute, "on-selected", which is the name of a GPS action to call when
that particular value is selected.
</p>
<div class="smallexample">
<pre class="smallexample"> <action name="animal_changed">
<shell>echo A new animal was selected in combo $1: animal is $2</shell>
</action>
<action name="gnu-selected">
<shell>echo Congratulations on choosing a Gnu</shell>
</action>
<entry id="foo" label="Animal" on-changed="animal_changed">
<choice>Elephant</choice>
<choice on-selected="gnu-selected">Gnu</choice>
</entry>
</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> [<a href="Index-table.html#Index-table" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>
|