PageRenderTime 45ms CodeModel.GetById 16ms RepoModel.GetById 1ms app.codeStats 0ms

/tags/SN-513-2003-04-09/snavigator/doc/html/enterprise/userguide/intro.html

https://gitlab.com/OpenSourceMirror/sourcenav
HTML | 299 lines | 244 code | 55 blank | 0 comment | 0 complexity | 07eedf96b653eda1837dd6e79a11eef8 MD5 | raw file
  1. <!doctype html public "-//w3c//dtd html 4.0 transitional//en">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  5. <meta http-equiv="Content-Style-Type" content="text/css">
  6. <meta name="GENERATOR" content="Mozilla/4.51 [en] (WinNT; U) [Netscape]">
  7. <title>Introduction</title>
  8. </head>
  9. <body bgcolor="#FFFFFF">
  10. <h1 CLASS="Chapter">
  11. <a NAME="pgfId-1034206"></a><a NAME="pgfId-1034208"></a><a NAME="33630"></a>Introduction</h1>
  12. <img SRC="intro-1.gif" >
  13. <p CLASS="Body"><a NAME="pgfId-1036070"></a>Source-Navigator<sup>TM</sup>
  14. 99r1 is a powerful code analysis and comprehension tool that provides a
  15. graphic framework for understanding and reengineering large or complex
  16. software projects. Source-Navigator's cross-platform nature also makes
  17. it an invaluable code porting tool.
  18. <p CLASS="Body"><a NAME="pgfId-1035068"></a>Source-Navigator parsers scan
  19. through source code, extracting information from existing C, C++, Java,
  20. Tcl, <tt>[incr tcl]</tt>, FORTRAN, Cobol, and assembly programs and then
  21. using this information to build a <i>project database</i>. The database
  22. represents internal program structures, locations of function declarations,
  23. contents of class declarations, and relationships between program components.
  24. Source-Navigator graphical browsing tools use this database to query symbols
  25. (such as functions and global variables) and the relationships between
  26. them.
  27. <p CLASS="Body"><a NAME="pgfId-1036095"></a>In addition to the languages
  28. supported in the standard distribution, you can use the Source-Navigator
  29. Software Development Kit (SDK) to add new parsers and extend Source-Navigator
  30. functionality to other languages.
  31. <h3 CLASS="Heading1">
  32. <a NAME="pgfId-988404"></a>Managing Projects</h3>
  33. <div CLASS="Body"><a NAME="pgfId-988407"></a>A&nbsp;<a NAME="marker-988405"></a>Source-Navigator
  34. <i>project<a NAME="marker-988406"></a></i>
  35. is an entity containing references to source code files. A project describes
  36. where files are located and how to operate on them. Once a project is defined,
  37. developers can:</div>
  38. <ul>
  39. <li CLASS="Bullet">
  40. <a NAME="pgfId-894045"></a>identify, locate, access, modify, and analyze
  41. program components, including symbol definitions and usage of classes in
  42. object-oriented languages.</li>
  43. <li CLASS="Bullet">
  44. <a NAME="pgfId-894046"></a>prevent parallel modifications on the same code
  45. and manage different versions of sources by way of an interface to external
  46. version control systems such as ClearCase and CVS.</li>
  47. <li CLASS="Bullet">
  48. <a NAME="pgfId-1036106"></a>create views of pertinent information while
  49. hiding information not relevant for the current view.</li>
  50. </ul>
  51. <h4 CLASS="Heading2">
  52. <a NAME="pgfId-885382"></a>Navigational Tools</h4>
  53. <div CLASS="Body"><a NAME="pgfId-889612"></a>All Source-Navigator tools
  54. are organized around the&nbsp;<a NAME="marker-889611"></a>project database
  55. that holds all project-specific symbols. The name and location of the project
  56. files, symbols extracted from the source code, and the relationships between
  57. symbols all reside in the project database. File structure may not be pertinent
  58. when visualizing code relationships, so Source-Navigator allows you to
  59. view and understand software structure regardless of which file contains
  60. what information.</div>
  61. <div CLASS="Body"><a NAME="pgfId-889616"></a>The&nbsp;<a NAME="marker-889613"></a>Symbol
  62. Browser, the&nbsp;<a NAME="marker-889614"></a>Editor, and the&nbsp;<a NAME="marker-889615"></a>Cross-Referencer
  63. are the basic tools for working with source code in a project.</div>
  64. <ul>
  65. <li CLASS="Bullet">
  66. <a NAME="pgfId-1010192"></a>The Symbol Browser operates on the project
  67. database and helps you learn the existing program structure. The Symbol
  68. Browser list can be sorted and filtered in different ways, showing you
  69. how and where symbols are used. The Symbol Browser answers the question
  70. "What is in this project?"</li>
  71. <br>&nbsp;
  72. <div CLASS="BodyListFollow"><a NAME="pgfId-1010193"></a>See <a href="symbrws.html#16805" CLASS="XRef">Symbol
  73. Browser</a> for more information.</div>
  74. </ul>
  75. <ul>
  76. <li CLASS="Bullet">
  77. <a NAME="pgfId-991773"></a>The Editor, the main Source-Navigator window,
  78. combines navigating with browsing. It allows you to navigate through actual
  79. program text and shows the location of that text in the source code. The
  80. Editor highlights the basic syntax of all supported programming languages
  81. and updates the project database when files are modified and saved. This
  82. means that the project database is always up-to-date with your changes
  83. during the development cycle. The Editor answers the question "How is this
  84. project structured?"</li>
  85. <br>&nbsp;
  86. <div CLASS="BodyListFollow"><a NAME="pgfId-1010229"></a>See <a href="editor.html#40005" CLASS="XRef">Editor</a>
  87. for more information.</div>
  88. </ul>
  89. <ul>
  90. <li CLASS="Bullet">
  91. <a NAME="pgfId-884895"></a>The Cross-Referencer shows, for a given symbol,
  92. all the other symbols it refers to, and all the symbols that refer to it.
  93. These are known as <i>Refers-to</i> and <i>Referred-by</i> relationships,
  94. respectively. The Cross-Referencer answers the question "How do the parts
  95. of this project work together?"</li>
  96. <br>&nbsp;
  97. <div CLASS="BodyListFollow"><a NAME="pgfId-1010230"></a>See <a href="crossref.html#35957" CLASS="XRef">Cross-Referencer</a>
  98. for more information.</div>
  99. </ul>
  100. <h3 CLASS="Heading1">
  101. <a NAME="pgfId-857195"></a><a NAME="10308"></a>About this Guide</h3>
  102. <div CLASS="Body"><a NAME="pgfId-884185"></a>This guide serves as a reference
  103. to Source-Navigator menus, tools, and functionality.</div>
  104. <h4 CLASS="Heading2">
  105. <a NAME="pgfId-886167"></a>Document Conventions</h4>
  106. <div CLASS="Body"><a NAME="pgfId-857408"></a>Source-Navigator's documentation
  107. uses the following general&nbsp;<a NAME="marker-886449"></a>conventions:</div>
  108. <br>&nbsp;
  109. <table WIDTH="100%" >
  110. <tr>
  111. <td VALIGN=TOP>
  112. <div CLASS="BodyHang2"><a NAME="pgfId-886989"></a><i>Italic Font</i></div>
  113. </td>
  114. <td VALIGN=TOP>Indicates a new term that will be defined in the text and
  115. items called out for special emphasis.</td>
  116. </tr>
  117. <tr>
  118. <td VALIGN=TOP>
  119. <div CLASS="BodyHang2"><a NAME="pgfId-886990"></a><b>Bold Font</b></div>
  120. </td>
  121. <td VALIGN=TOP>Represents menus, window names, and tool buttons.</td>
  122. </tr>
  123. <tr>
  124. <td VALIGN=TOP>
  125. <div CLASS="BodyHang2"><a NAME="pgfId-857411"></a><tt>Plain Typewriter
  126. Font</tt></div>
  127. </td>
  128. <td VALIGN=TOP>Denotes code fragments, command lines, contents of files,
  129. and command names; also indicates directory, file, and project names where
  130. they appear in body text.</td>
  131. </tr>
  132. <tr>
  133. <td VALIGN=TOP>
  134. <div CLASS="BodyHang2"><a NAME="pgfId-887052"></a><i><tt>Italic Typewriter
  135. Font</tt></i></div>
  136. </td>
  137. <td VALIGN=TOP>Represents a variable for which an actual value should be
  138. substituted.&nbsp;</td>
  139. </tr>
  140. </table>
  141. <p CLASS="Body"><a NAME="pgfId-885350"></a>Menu names and their submenus
  142. are separated by an arrow (->). For example, <b>File -> Open</b> means
  143. select the <b>File</b> menu and choose <b>Open</b> from its submenu.
  144. <p CLASS="Body"><a NAME="pgfId-894130"></a>Paths are written in UNIX notation
  145. (forward slashes) throughout; <tt>.../bin</tt> means the directory Source-Navigator
  146. is installed into, subdirectory <tt>bin</tt>.
  147. <h4 CLASS="Heading2">
  148. <a NAME="pgfId-887938"></a><a NAME="20859"></a>Using the Mouse</h4>
  149. <div CLASS="Body"><a NAME="pgfId-887969"></a>The following are conventions
  150. for using the mouse with Source-Navigator:</div>
  151. <br>&nbsp;
  152. <table BORDER >
  153. <tr>
  154. <td VALIGN=TOP>
  155. <div CLASS="CellBody"><a NAME="pgfId-887942"></a>Click</div>
  156. </td>
  157. <td VALIGN=TOP>
  158. <div CLASS="CellBody"><a NAME="pgfId-887944"></a>Place the cursor on a
  159. specified object and press the left mouse button. Double-click means to
  160. click the left mouse button twice in rapid succession without moving the
  161. mouse.</div>
  162. <div CLASS="CellBody"><a NAME="pgfId-1010121"></a>The term "click" alone
  163. always means left-click.</div>
  164. </td>
  165. </tr>
  166. <tr>
  167. <td VALIGN=TOP>
  168. <div CLASS="CellBody"><a NAME="pgfId-887946"></a>Ctrl+click</div>
  169. </td>
  170. <td VALIGN=TOP>
  171. <div CLASS="CellBody"><a NAME="pgfId-887948"></a>Depress and hold the <b>Ctrl</b>
  172. key, simultaneously clicking with the left mouse button.</div>
  173. </td>
  174. </tr>
  175. <tr>
  176. <td VALIGN=TOP>
  177. <div CLASS="CellBody"><a NAME="pgfId-887950"></a>Shift+click</div>
  178. </td>
  179. <td VALIGN=TOP>
  180. <div CLASS="CellBody"><a NAME="pgfId-887952"></a>Depress and hold the <b>Shift</b>
  181. key, simultaneously clicking with the left mouse button.</div>
  182. </td>
  183. </tr>
  184. <tr>
  185. <td VALIGN=TOP>
  186. <div CLASS="CellBody"><a NAME="pgfId-887954"></a>Right+click</div>
  187. </td>
  188. <td VALIGN=TOP>
  189. <div CLASS="CellBody"><a NAME="pgfId-887956"></a>Place the cursor on a
  190. specific object and click the right mouse button.</div>
  191. </td>
  192. </tr>
  193. <tr>
  194. <td VALIGN=TOP>
  195. <div CLASS="CellBody"><a NAME="pgfId-887958"></a>Select Text</div>
  196. </td>
  197. <td VALIGN=TOP>
  198. <div CLASS="CellBody"><a NAME="pgfId-887960"></a>Click and drag cursor
  199. through text (or code) to be selected. Selected text is highlighted.</div>
  200. </td>
  201. </tr>
  202. <tr>
  203. <td VALIGN=TOP>
  204. <div CLASS="CellBody"><a NAME="pgfId-887962"></a>Select Entries</div>
  205. </td>
  206. <td VALIGN=TOP>
  207. <div CLASS="CellBody"><a NAME="pgfId-887964"></a>Clicking a line selects
  208. it. To indicate the end of the selection, hold down the <b>Shift</b> key
  209. and click the desired line. This function is enabled in the Project Editor
  210. and file selection boxes.</div>
  211. </td>
  212. </tr>
  213. <tr>
  214. <td VALIGN=TOP WIDTH="10%">
  215. <div CLASS="CellBody"><a NAME="pgfId-887966"></a>Show the number of items
  216. in symbol lists</div>
  217. </td>
  218. <td VALIGN=TOP>
  219. <div CLASS="CellBody"><a NAME="pgfId-887968"></a>Click the center mouse
  220. button or press <b>Alt</b>+right mouse button (Windows); <b>Meta</b>+right
  221. mouse button (UNIX).</div>
  222. </td>
  223. </tr>
  224. </table>
  225. <h4 CLASS="Heading2">
  226. <a NAME="pgfId-889426"></a>Keyboard Shortcuts</h4>
  227. <div CLASS="Body"><a NAME="pgfId-889428"></a>You can use the&nbsp;<a NAME="marker-889427"></a>keyboard
  228. to activate many of the functions displayed on the toolbar and in the menus.</div>
  229. <ul>
  230. <li CLASS="Bullet">
  231. <a NAME="pgfId-889434"></a>Holding down the <b>Alt</b> key while pressing
  232. <b>S</b>
  233. is represented as <b>Alt+S</b>.</li>
  234. <li CLASS="Bullet">
  235. <a NAME="pgfId-889435"></a>To open a command in the menu bar, press the
  236. <b>Alt</b>
  237. key plus the first letter of the menu.</li>
  238. <li CLASS="Bullet">
  239. <a NAME="pgfId-889436"></a>If a letter in the menu item is underlined,
  240. press the underlined letter to open the submenu.</li>
  241. </ul>
  242. <div CLASS="Body"><a NAME="pgfId-938107"></a></div>
  243. </body>
  244. </html>