This file is indexed.

/usr/share/doc/gnat-gps/html/Adding-contextual-menus.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
<!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 contextual menus</title>

<meta name="description" content="Using the GNAT Programming Studio: Adding contextual menus">
<meta name="keywords" content="Using the GNAT Programming Studio: Adding contextual menus">
<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="Adding-tool-bar-buttons.html#Adding-tool-bar-buttons" rel="next" title="Adding tool bar buttons">
<link href="Adding-new-menus.html#Adding-new-menus" rel="previous" title="Adding new 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-contextual-menus"></a>
<div class="header">
<p>
Next: <a href="Adding-tool-bar-buttons.html#Adding-tool-bar-buttons" accesskey="n" rel="next">Adding tool bar buttons</a>, Previous: <a href="Adding-new-menus.html#Adding-new-menus" accesskey="p" rel="previous">Adding new 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-contextual-menus-1"></a>
<h4 class="subsection">16.5.6 Adding contextual menus</h4>
<a name="index-_003ccontextual_003e"></a>

<p>The actions can also be used to contribute new entries in the contextual
menus everywhere in GPS. These menus are displayed when the user presses
the right mouse button, and should only show actions relevant to the current
context.
</p>
<p>Such contributions are done through the <code>&lt;contextual&gt;</code> tag, which takes
the following attributes:
</p>
<dl compact="compact">
<dt><code>&quot;action&quot;  (mandatory)</code></dt>
<dd><p>Name of the action to execute, and must be defined elsewhere in one of the
customization files.
</p>
<p>If this attribute is set to an empty string, a separator will be inserted
in the contextual menu instead. If you specify a reference item with one of
the &quot;before&quot; or &quot;after&quot; attribute, the separator will be visible only when
the reference item is visible.
</p>
</dd>
<dt><code>&quot;before&quot; (optional, default=&quot;&quot;)</code></dt>
<dd><p>If it is specified, this attribute should be the name of another contextual,
before which the new menu should appear. The name of predefined contextual
menus can be found by looking at the output of &quot;Contextual.list&quot; in the shell
console. The name of the contextual menus you define yourself is the value of
the <code>&lt;title&gt;</code> child.
</p>
<p>There is no guarantee that the new menu will appear just before the referenced
menu. In particular, it won&rsquo;t be the case if the new menu is created before
the reference menu was created, or if another later contextual menu indicates
that it must be displayed before the same reference item.
</p>
</dd>
<dt><code>&quot;after&quot; (optional, default=&quot;&quot;)</code></dt>
<dd><p>Same as &quot;before&quot;, except it indicates the new menu should appear after the
reference item.
</p>
<p>If both &quot;after&quot; and &quot;before&quot; are specified, only the latter is taken into
account.
</p>
</dd>
</dl>

<p>It accepts one child tag, <code>&lt;Title&gt;</code> which specifies the name of the
menu entry. If this child is not specified, the menu entry will use the name
of the action itself. The title is in fact the full path to the new menu entry.
Therefore, you can create submenus by using a title of the form
&quot;Parent1/Parent2/Menu&quot;.
</p>
<p>Special characters can be used in the title, and will be automatically
expended based on the current context. These are exactly the ones described
in the section for macros arguments, See <a href="Macro-arguments.html#Macro-arguments">Macro arguments</a>.
</p>
<p>The new contextual menu will only be shown if the filters associated with the
action match the current context.
</p>
<p>For instance, the following example inserts a new contextual menu which prints
the name of the current file in the GPS console. This contextual menu is only
displayed in source editors. This contextual menu entry is followed by a
separator line, visible when the menu is visible
</p>
<div class="smallexample">
<pre class="smallexample">&lt;?xml version=&quot;1.0&quot; ?&gt;
&lt;print&gt;
  &lt;action name=&quot;print current file name&quot; &gt;
    &lt;filter module=&quot;Source_Editor&quot; /&gt;
    &lt;shell&gt;echo %f&lt;/shell&gt;
  &lt;/action&gt;

  &lt;contextual action=&quot;print current file name&quot; &gt;
    &lt;Title&gt;Print Current File Name&lt;/Title&gt;
  &lt;/contextual&gt;
  &lt;contextual action=&quot;&quot; after=&quot;Print Current File Name&quot; /&gt;
&lt;/print&gt;
</pre></div>

<hr>
<div class="header">
<p>
Next: <a href="Adding-tool-bar-buttons.html#Adding-tool-bar-buttons" accesskey="n" rel="next">Adding tool bar buttons</a>, Previous: <a href="Adding-new-menus.html#Adding-new-menus" accesskey="p" rel="previous">Adding new 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>