/usr/share/doc/gnat-gps/html/General-Issues.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 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 | <!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: General Issues</title>
<meta name="description" content="Using the GNAT Programming Studio: General Issues">
<meta name="keywords" content="Using the GNAT Programming Studio: General Issues">
<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="Source-Browsing.html#Source-Browsing" rel="up" title="Source Browsing">
<link href="Call-Graph.html#Call-Graph" rel="next" title="Call Graph">
<link href="Source-Browsing.html#Source-Browsing" rel="previous" title="Source Browsing">
<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="General-Issues"></a>
<div class="header">
<p>
Next: <a href="Call-Graph.html#Call-Graph" accesskey="n" rel="next">Call Graph</a>, Up: <a href="Source-Browsing.html#Source-Browsing" accesskey="u" rel="up">Source Browsing</a> [<a href="Index-table.html#Index-table" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="General-Issues-1"></a>
<h3 class="section">10.1 General Issues</h3>
<p>GPS contains several kinds of browsers, that have a common set of
basic functionalities. There are currently four such browsers: the
project browser (see <a href="The-Project-Browser.html#The-Project-Browser">The Project Browser</a>), the call graph
(see <a href="Call-Graph.html#Call-Graph">Call Graph</a>), the dependency browser (see <a href="Dependency-Browser.html#Dependency-Browser">Dependency Browser</a>) and the entity browser (see <a href="Entity-Browser.html#Entity-Browser">Entity Browser</a>).
</p>
<p>All these browsers are interactive viewers. They contain a number of
items, whose visual representation depends on the type of information
displayed in the browser (they can be projects, files, entities, …).
</p>
<p>In addition, the following capabilities are provided in all browsers:
</p>
<dl compact="compact">
<dt><b>Scrolling</b></dt>
<dd><p>When a lot of items are displayed in the canvas, the currently visible
area might be too small to display all of them. In this case,
scrollbars will be added on the sides, so that you can make other
items visible. Scrolling can also be done with the arrow keys.
</p>
</dd>
<dt><b>Layout</b></dt>
<dd><p>A basic layout algorithm is used to organize the items. This algorithm
is layer oriented: items with no parents are put in the first layer,
then their direct children are put in the second layer, and so
on. Depending on the type of browser, these layers are organized
either vertically or horizontally. This algorithm tries to preserve as
much as possible the positions of the items that were moved
interactively.
</p>
<p>The <code>Refresh layout</code> menu item in the background contextual menu
can be used to recompute the layout of items at any time, even for
items that were previously moved interactively.
</p>
</dd>
<dt><b>Interactive moving of items</b></dt>
<dd><p>Items can be moved interactively with the mouse. Click and drag the
item by clicking on its title bar. The links will still be displayed
during the move, so that you can check whether it overlaps any other
item. If you are trying to move the item outside of the visible part
of the browser, the latter will be scrolled.
</p>
</dd>
<dt><b>Links</b></dt>
<dd><p>Items can be linked together, and will remain connected when items are
moved. Different types of links exist, see the description of the
various browsers.
</p>
<p>By default, links are displayed as straight lines. You can choose to
use orthogonal links instead, which are displayed only with vertical
or horizontal lines. Select the entry <code>orthogonal links</code> in the
background contextual menu.
</p>
</dd>
<dt><b>Exporting</b></dt>
<dd><a name="index-export"></a>
<a name="index-image"></a>
<a name="index-png"></a>
<a name="index-svg"></a>
<p>The entire contents of a browser can be exported as a <code>PNG</code> image
using the entry <code>Export to PNG...</code> in the background contextual menu.
It can also be exported in <code>SVG</code> format using the <code>Export to SVG...</code>
entry.
</p>
</dd>
<dt><b>Zooming</b></dt>
<dd><p>Several different zoom levels are available. The contextual menu in
the background of the browser contains three entries: <code>zoom in</code>,
<code>zoom out</code> and <code>zoom</code>. The latter is used to select directly
the zoom level you want.
</p>
<p>This zooming capability is generally useful when lots of items are
displayed in the browser, to get a more general view of the layout and
the relationships between the items.
</p>
</dd>
<dt><b>Selecting items</b></dt>
<dd><p>Items can be selected by clicking inside them. Multiple items can be
selected by holding the <tt class="key">control</tt> key while clicking in the
item. Alternatively, you can click and drag the mouse inside the
background of the browser. All the items found in the selection
rectangle when the mouse is released will be selected.
</p>
<p>Selected items are drawn with a different title bar color. All items
linked to them also use a different title bar color, as well as the
links. This is the most convenient way to understand the relationships
between items when lots of them are present in the browser.
</p>
</dd>
<dt><b>Hyper-links</b></dt>
<dd><p>Some of the items will contain hyper links, displayed in blue by
default, and underlined. Clicking on these will generally display new
items.
</p>
</dd>
</dl>
<p>Two types of contextual menus are available in the browsers: the
background contextual menu is available by right-clicking in the
background area (i.e. outside of any item). As described above, it
contains entries for the zooming, selecting of orthogonal links, and
refresh; the second kind of contextual menu is available by
right-clicking in items.
</p>
<p>The latter menu contains various entries. Most of the entries are
added by various modules in GPS (VCS module, source
editor, …). In addition, each kind of browser also has some specific
entries, which is described in the corresponding browser’s section.
</p>
<p>There are two common items in all item contextual menus:
</p>
<dl compact="compact">
<dt><code>Hide Links</code></dt>
<dd><p>Browsers can become confusing if there are many items and many
links. You can lighten them by selecting this menu entry. As
a result, the item will remain in the canvas, but none of the links to
or from it will be visible. Selecting the item will still
highlight linked items, so that this information remains available.
</p>
</dd>
<dt><code>Remove unselected items</code></dt>
<dd><p>Selecting this menu will remove all the items that are not currently
selected. This is a convenient method to clean up the contents of the
browser.
</p>
</dd>
<dt><code>Remove selected items</code></dt>
<dd><p>Selecting this menu will remove all the items that are currently selected.
</p>
</dd>
</dl>
<hr>
<div class="header">
<p>
Next: <a href="Call-Graph.html#Call-Graph" accesskey="n" rel="next">Call Graph</a>, Up: <a href="Source-Browsing.html#Source-Browsing" accesskey="u" rel="up">Source Browsing</a> [<a href="Index-table.html#Index-table" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>
|