home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1999 mARCH / PCWK3A99.iso / Linux / DDD331 / DDD-3_1_.000 / DDD-3_1_ / ddd-3.1.1 / ddd / Ddd.in.m4 < prev    next >
Text File  |  1998-12-06  |  259KB  |  7,112 lines

  1. ! $Id: Ddd.in.m4,v 1.372.4.1 1998/12/06 12:59:16 zeller Exp $ -*- xrdb -*-
  2. ! DDD Resource File.  DO NOT INSTALL THIS FILE!  See below for details.
  3. include(ifdef(`srcdir',srcdir()/macros.m4,macros.m4))dnl
  4. DDD_APP_WARNING
  5. ! @configure_input@
  6. Ddd*appDefaultsVersion: @VERSION@
  7.  
  8. ! Copyright (C) 1995-1998 Technische Universitaet Braunschweig, Germany.
  9. ! Written by Andreas Zeller <zeller@ips.cs.tu-bs.de>.
  10. ! This file is part of DDD.
  11. ! DDD is free software; you can redistribute it and/or
  12. ! modify it under the terms of the GNU General Public
  13. ! License as published by the Free Software Foundation; either
  14. ! version 2 of the License, or (at your option) any later version.
  15. ! DDD is distributed in the hope that it will be useful,
  16. ! but WITHOUT ANY WARRANTY; without even the implied warranty of
  17. ! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  18. ! See the GNU General Public License for more details.
  19. ! You should have received a copy of the GNU General Public
  20. ! License along with DDD -- see the file COPYING.
  21. ! If not, write to the Free Software Foundation, Inc.,
  22. ! 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  23. ! DDD is the data display debugger.
  24. ! For details, see the DDD World-Wide-Web page, 
  25. ! `http://www.cs.tu-bs.de/softech/ddd/',
  26. ! or send a mail to the DDD developers <ddd@ips.cs.tu-bs.de>.
  27.  
  28. ! =================================================================
  29. ! NOTE: If you're looking here for things to customize, look
  30. ! under the DDD `Preferences' menu first.  Many things are customizable
  31. ! from there.  Things which are settable via the Preferences dialog
  32. ! are stored in the `~/.ddd/init' file.
  33. ! =================================================================
  34. !
  35. ! This file lists the default resources built into DDD.  You can use the
  36. ! stuff in this file for examples of how to customize DDD for your
  37. ! environment; normally you will do this by copying the few lines you
  38. ! want to alter to your private resource database, which usually lives
  39. ! in a file called `.Xdefaults' in your home directory.     You may also 
  40. ! place such lines in the DDD-specific `.ddd/init' file in your home
  41. ! directory.
  42. ! Site administrators **may** want to make changes here and install this
  43. ! file as the global app-defaults file for the site.  To do this, one
  44. ! would copy this file to `/usr/lib/X11/app-defaults/Ddd', or on SunOS,
  45. ! `/usr/openwin/lib/app-defaults/Ddd'.  (Actually this directory could
  46. ! be anywhere; only the person who installed X knows for sure.)
  47. ! It is **STRONGLY RECOMMENDED** that you not install this file in the
  48. ! `app-defaults' directory unless you are really sure you know what you
  49. ! are doing.  There are a whole slew of version-skew problems associated
  50. ! with app-defaults files, which are best avoided by simply not using
  51. ! them.     In particular, if the app-defaults file for a program is
  52. ! installed, and you get a new version of that program, you can't
  53. ! properly test out the new version without actually installing it,
  54. ! since it will pick up the resources for the previous version, and will
  55. ! quite likely malfunction.
  56. ! In short, app-defaults files are bad.  Don't use them.  Use this file
  57. ! for informational purposes as suggested above.
  58. !
  59. !
  60. ! Special note for Debian users
  61. ! -----------------------------
  62. !
  63. ! Debian policy currently requires application defaults to be included with
  64. ! packages, but considers them as part of the program code. Thus, you should
  65. ! not change this file, as it will get overwritten by an update. If you want
  66. ! to customise, the proper place is `/etc/X11/Xresources'.
  67.  
  68.  
  69. !-----------------------------------------------------------------------------
  70. ! User-settable resources
  71. !-----------------------------------------------------------------------------
  72.  
  73. ! The inferior debugger type. One of: gdb, dbx, xdb, jdb, pydb, or perl.
  74. Ddd*debugger: gdb
  75.  
  76. ! If true, determine debugger automatically from args upon start-up.
  77. Ddd*autoDebugger: on
  78.  
  79. ! The name under which the inferior debugger is to be invoked
  80. ! Default: debugger type.
  81. Ddd*debuggerCommand:
  82.  
  83.  
  84. ! On if data and source are to be displayed in separate top-level
  85. ! windows.  If this is off, the data and source windows are attached
  86. ! to the debugger console.
  87. Ddd*Separate: off
  88.  
  89.  
  90. ! You may also attach the source window or data window alone.
  91. ! Ddd*separateDataWindow: on
  92. ! Ddd*separateSourceWindow: on
  93.  
  94.  
  95. ! The windows may be initially on or off.  By default, the data window 
  96. ! remains closed since it will be opened anyway as soon as we create
  97. ! the first display.
  98. Ddd*openDebuggerConsole: on
  99. Ddd*openSourceWindow:    on
  100. Ddd*openDataWindow:      off
  101.  
  102.  
  103. ! On if programs are to be run in a separate top-level window.
  104. ! If this is off, input/output is sent to the debugger console.
  105. !
  106. ! Although a separate execution window has several advantages, it
  107. ! is less portable and more error-prone, which is why it is disabled 
  108. ! by default.
  109. Ddd*separateExecWindow: off
  110.  
  111.  
  112. ! On if DDD windows are to be iconified/uniconified as a whole.
  113. ! If this is off, every DDD window can be iconified on its own.
  114. Ddd*groupIconify: off
  115.  
  116.  
  117. ! On if DDD windows are to be uniconified when GDB becomes ready.
  118. Ddd*uniconifyWhenReady: on
  119.  
  120.  
  121. ! On if the TAB key is to complete text in all DDD windows.
  122. ! If this is off, the TAB key completes in the debugger console only.
  123. Ddd*globalTabCompletion: on
  124.  
  125.  
  126. ! The key bindings to use for Cut/Copy/Paste:
  127. !
  128. ! * `Motif' means Cut/Copy/Paste is on Shift+Del/Ctrl+Ins/Shift+Ins.
  129. !   This is conformant to the Motif style guide and the default
  130. !   setting in DDD 2.x and earlier.
  131. ! * `KDE' means Cut/Copy/Paste is on Ctrl+X/Ctrl+C/Ctrl+V.  
  132. !   This is conformant to the KDE style guide.  Note that this also 
  133. !   means that you must use ESC to interrupt the debuggee.
  134. !
  135. ! In this release, the default is still Motif, but this may change to KDE 
  136. ! in some future version.
  137. Ddd*cutCopyPasteBindings: Motif
  138.  
  139.  
  140. ! The key bindings to use for Ctrl+A (Select All):
  141. !
  142. ! * `Motif' means: Ctrl+A is Beginning of line
  143. ! * `KDE' means:   Ctrl+A is Select All
  144. Ddd*selectAllBindings: KDE
  145.  
  146.  
  147. ! On if the debugger console is line-buffered (i.e. flushed upon 
  148. ! each newline).  This is slower, but gives nice scrolling.
  149. ! Off if newline has no special treatment.
  150. Ddd*lineBufferedConsole: on
  151.  
  152.  
  153. ! On if options are to be saved in `~/.ddd/init' across DDD invocations.
  154. Ddd*saveOptionsOnExit: off
  155.  
  156.  
  157. ! On if DDD should attempt to open the current selection 
  158. ! when invoked without args.
  159. Ddd*openSelection: off
  160.  
  161.  
  162. ! The command to invoke the execution window for showing I/O of the debugged
  163. ! program.  To this string, DDD appends bourne shell commands which must be
  164. ! run in the execution window.
  165. ! The string `@FONT@' is replaced by the current DDD text font.
  166. Ddd*termCommand: @XTERM@ -bg 'TEXT_BACKGROUND_COLOR' -fg 'black' \
  167. -cr 'RUN_COLOR' -fn '@FONT@' -title 'DDD: Execution Window' -e /bin/sh -c
  168.  
  169. ! The command to invoke to select fonts.
  170. ! The string `@FONT@' is replaced by the current DDD default font.
  171. Ddd*fontSelectCommand: @XFONTSEL@ -bg 'grey' -fg 'black' -fn '@FONT@' \
  172. -title 'DDD: @TYPE@ selector' -print
  173.  
  174.  
  175. ! The terminal type provided by `termCommand' (that is, the value of
  176. ! the TERM environment variable to be passed to the debugged program)
  177. Ddd*termType: @XTERM@
  178.  
  179.  
  180. ! The `useTTYCommand' resource sets the redirection mode for the execution
  181. ! window. Basically, there are two ways to redirect process I/O.  Both have
  182. ! advantages and disadvantages.
  183. !
  184. ! * GDB provides a `tty' command to redirect I/O to a separate tty.
  185. !   This is portable, but on some systems, there is the nasty side-effect
  186. !   that redirection can not be undone.
  187. !   For DBX, this means using the `dbxenv run_io pty' and `dbxenv run_pty'
  188. !   commands to redirect I/O to the execution window.
  189. !   Set `useTTYCommand' to `on' to enable this behaviour.
  190. ! * As an alternative, DDD can redirect the process I/O explicitly,
  191. !   without using the `tty' command.  This is done with XDB and 
  192. !   with DBX versions that do not support tty redirection.
  193. !   Explicit redirection may fail if you use a non-standard shell.
  194. !   Set `useTTYCommand' to `off' to enable this behaviour.
  195. !   
  196. ! The default setting is `off', since explicit redirection is easier
  197. ! to handle (and to debug :-).  Maybe one day GDB will provide a way
  198. ! to undo redirection.
  199. Ddd*useTTYCommand: off
  200.  
  201.  
  202. ! The `blockTTYInput' resource sets whether DDD should block when
  203. ! reading data from GDB via the pseudo-tty interface.  Some systems
  204. ! require this, such as Linux with libc 5.4.33 and earlier; set it to
  205. ! `on'.  Some other systems prohibit this, such as Linux with GNU libc
  206. ! 6 and later; set it to `off'.  The value `auto' will select the
  207. ! `best' choice (that is, the best choice known to the DDD developers).
  208. Ddd*blockTTYInput: auto
  209.  
  210.  
  211. ! The time (in seconds) to wait for synchronous GDB questions to complete
  212. Ddd*questionTimeout: 10
  213.  
  214. ! The time (in ms) to wait for GDB to finish a partial position information
  215. Ddd*positionTimeout: 500
  216.  
  217. ! The time (in ms) to wait for GDB to finish a partial display information
  218. Ddd*displayTimeout: 2000
  219.  
  220.  
  221. ! The `rsh' command to invoke tty-based commands on other hosts.
  222. ! On some systems, this is called `remsh'; on others, `on'.
  223. ! You may want to consult your system documentation for details.
  224. Ddd*rshCommand: @RSH@
  225.  
  226.  
  227. ! If `rsh' is used without commands, using the `--rhost' option,
  228. ! the remote environment may need to be set up for DDD.  Especially, 
  229. ! echoing must be disabled; mapping of NL to CR/NL is harmful as well.
  230. ! The following commands are always issued first in the remote
  231. ! interactive shell.
  232. Ddd*rHostInitCommands: stty -echo -onlcr
  233.  
  234.  
  235. ! The `ps' command to get a list of processes.
  236. ! The first line of the output must either contain a `PID' title, 
  237. ! or each line must begin with a process ID.
  238. !
  239. ! We try the BSD style `ps x' first, then System V `ps -ef'.  If that
  240. ! fails, too, use plain `ps'.
  241. Ddd*psCommand: ps x 2> /dev/null || ps -ef 2> /dev/null || ps
  242.  
  243.  
  244. ! The `print' command to print a postscript file.
  245. ! On some systems, this is called `lp'; on others, `lpr'.
  246. ! You may want to consult your system documentation for details.
  247. Ddd*printCommand: @PRINT_COMMAND@
  248.  
  249.  
  250. ! Paper size, in format WIDTH x HEIGHT.  (Default: A4).
  251. Ddd*paperSize: 210mm x 297mm
  252.  
  253.  
  254.  
  255.  
  256. ! The `edit' command to invoke an editor on the specific file.
  257. ! `@LINE@' is replaced by the current line number,
  258. ! `@FILE@' by the file name.  Default is to invoke $XEDITOR first,
  259. ! then $EDITOR, then VI.
  260. Ddd*editCommand: \
  261. ${XEDITOR-false} +@LINE@ @FILE@ \
  262. || @XTERM@ -e ${EDITOR-vi} +@LINE@ @FILE@
  263.  
  264.  
  265. ! A command to get a core dump of a running process (typically, `gcore')
  266. ! `@FILE@' is replaced by the base name of the file to create;
  267. ! `@PID@' is replaced by the process id.  The output must be
  268. ! written to `@FILE@.@PID@'.
  269. ! Leave this entry empty if you have no `gcore' or similar command.
  270. Ddd*getCoreCommand: @GCORE_COMMAND@
  271.  
  272.  
  273. ! Commands to list all executable/source/core/directory
  274. ! files matching @MASK@.
  275. ! These commands are executed on remote hosts only.
  276. Ddd*listExecCommand:   \
  277.     file @MASK@ | grep '.*:.*exec.*' | grep -v  '.*:.*script.*' \
  278.     | cut -d: -f1 | grep -v '.*\\.o$'
  279. Ddd*listSourceCommand: \
  280.     file @MASK@ | grep '.*:.*text.*' | cut -d: -f1
  281. Ddd*listCoreCommand:   \
  282.     file @MASK@ | grep '.*:.*core.*' | cut -d: -f1
  283. Ddd*listDirCommand:   \
  284.     file @MASK@ | grep '.*:.*directory.*' | cut -d: -f1
  285.  
  286.  
  287. ! Command to uncompress the DDD manual.  Reads from standard input and
  288. ! writes to standard output.
  289. Ddd*uncompressCommand: @UNCOMPRESS@
  290.  
  291.  
  292. ! The DDD WWW page.
  293. Ddd*wwwPage: http://www.cs.tu-bs.de/softech/ddd/
  294.  
  295.  
  296. ! Command to invoke a WWW browser.  @URL@ stands for the URL to open.
  297. ! A large variety of choices, actually.  If you don't have WWW access,
  298. ! letting all these commands fail may take some time...
  299.  
  300. Ddd*wwwCommand: \
  301.    mozilla -remote 'openURL(@URL@)' \
  302. || netscape -remote 'openURL(@URL@)' \
  303. || ${WWWBROWSER-false} '@URL@' \
  304. || mozilla '@URL@' \
  305. || gnome-help-browser '@URL@' \
  306. || netscape '@URL@' \
  307. || gnudoit '(w3-fetch \042@URL@\042)' \
  308. || mosaic '@URL@' \
  309. || Mosaic '@URL@' \
  310. || @XTERM@ -e lynx '@URL@'
  311.  
  312.  
  313. ! Plotting stuff.
  314.  
  315. ! The Gnuplot command.
  316. ! The string `@FONT@' is replaced by the current DDD default font.
  317. ! The string '@NAME@' is replaced by a window name assigned by DDD.
  318. Ddd*plotCommand: \
  319. gnuplot -bg 'TEXT_BACKGROUND_COLOR' -font '@FONT@' -name '@NAME@' \
  320. -geometry +5000+5000
  321.  
  322. ! The Gnuplot window class.
  323. Ddd*plotWindow: Gnuplot
  324.  
  325. ! Gnuplot initialization commands.  Issued at the start of each Gnuplot
  326. Ddd*plotInitCommands: \
  327. set parametric\n\
  328. set urange \1330:1\135\n\
  329. set vrange \1330:1\135\n\
  330. set trange \1330:1\135\n
  331.  
  332. ! Gnuplot settings.  Issued for 2-D plots and 3-D plots, respectively.
  333. Ddd*plot2dSettings:   set noborder
  334. Ddd*plot3dSettings:   set border
  335.  
  336. ! Which plot window to choose.
  337. !
  338. ! `xlib' means to use the plot window built into DDD:
  339. !      + no interference with window manager
  340. !      + requires less X resources than Gnuplot window
  341. !      - slower
  342. !      - no customization
  343. ! `x11' instructs DDD to `swallow' the plot window supplied by Gnuplot:
  344. !      + works just as Gnuplot users expect
  345. !      - swallowing interferes with some window managers such as MWM.
  346. !
  347. ! Default is `xlib' due to problems with MWM.
  348. Ddd*plotTermType: xlib
  349.  
  350. ! The time (in ms) to wait for notification that the swallowed plot window
  351. ! has been created.  After this time has passed, DDD searches the plot window
  352. ! among all windows, even without notification.
  353. Ddd*plotWindowDelay: 2000
  354.  
  355.  
  356. ! Tool Bar appearance.
  357.  
  358. ! Whether to have one common tool bar for one-window configurations.
  359. Ddd*commonToolBar: on
  360.  
  361. ! Whether tool bars should be placed at the bottom (Default in DDD 2.x 
  362. ! and earlier)
  363. Ddd*toolbarsAtBottom: off
  364.  
  365. ! Whether to display images and/or captions.  Turing both off causes
  366. ! tool bars to display strings (as in DDD 2.x and earlier).  The common
  367. ! tool bar, however, never displays strings - there is not enough place.
  368. Ddd*buttonImages:   on
  369. Ddd*buttonCaptions: on
  370.  
  371. ! The image and caption areas within button images.
  372. Ddd*buttonImageGeometry:   21x17+4+0
  373. Ddd*buttonCaptionGeometry: 29x7+0-0
  374.  
  375. ! Whether to use `flat' buttons that only have a 3d appearance when entered
  376. Ddd*FlatButtons: on
  377.  
  378. ! This may also be set separately for two categories.
  379. ! Ddd*flatToolbarButtons: on
  380. ! Ddd*flatDialogButtons:  on
  381.  
  382.  
  383. ! The color key to use for buttons.
  384. !   Color (`c')  - color
  385. !   Grey  (`g')  - greyscale
  386. !   Mono  (`m')  - monochrome
  387. ! See the XPM documentation for details.
  388. Ddd*buttonColorKey:       g
  389. Ddd*activeButtonColorKey: c
  390.  
  391. ! Whether to check buttons if their commands are actually supported by
  392. ! the inferior debugger.
  393. Ddd*verifyButtons: on
  394.  
  395.  
  396. ! Newline-separated lists of GDB commands for which buttons are to be created.
  397. !
  398. ! All buttons send the named command to GDB.
  399. ! Commands ending with '...' insert their name, followed by a space.
  400. ! Commands ending with a control character insert the given
  401. ! control character.  As of DDD 2.0, commands ending with `()' insert
  402. ! the current contents of the argument field `()'.
  403. !
  404. ! The following button names have special meanings:
  405. ! - `Clear'    : Clear current command
  406. ! - `Prev'     : Show previous command
  407. ! - `Next'     : Show next command
  408. ! - `Apply'    : Send the given command to GDB
  409. ! - `Undo'     : Undo last action
  410. ! - `Redo'     : Redo last action
  411. ! - `Edit'     : Edit current source file
  412. ! - `Make'     : Remake current program
  413. ! - `Reload'   : Reload source file
  414. ! - `Complete' : Complete current command
  415. ! - `Yes'      : Answer current GDB prompt
  416. ! - `No'       : Answer current GDB prompt
  417.  
  418. ! The debugger console buttons (none: no buttons)
  419. Ddd*consoleButtons:
  420. ! The following setting was effective in DDD 1.4d and earlier:
  421. ! Ddd*consoleButtons: \
  422. !    Yes\nNo\ninterrupt^C
  423. ! Here is a very extensive setting:
  424. ! Ddd*consoleButtons: \
  425. !    Yes\nNo\nrun\nClear\nPrev\nNext\nApply\ninterrupt^C
  426.  
  427. ! The source window buttons (none: no buttons)
  428. Ddd*sourceButtons:
  429. ! The following setting was effective in DDD 1.x:
  430. ! Ddd*sourceButtons:        \
  431. ! run\nstep\nnext\nstepi\nnexti\ncont\nfinish\nkill\n\
  432. ! up\ndown\nBack\nForward\nEdit\ninterrupt^C
  433.  
  434. ! The data window buttons (none: no buttons)
  435. Ddd*dataButtons:
  436.  
  437. ! The command tool buttons, as of DDD 2.0 and later.
  438. Ddd*toolButtons: \
  439. run\nbreak^C\nstep\nstepi\nnext\nnexti\nuntil\nfinish\ncont\n\kill\n\
  440. up\ndown\nUndo\nRedo\nEdit\nMake
  441.  
  442. Ddd*break.labelString: Interrupt
  443.  
  444.  
  445. ! Command tool stuff.
  446.  
  447. ! Do we want a sticky command tool?  If on, the command tool follows
  448. ! every movement of the source window, such that the relative position
  449. ! remains unchanged.
  450. Ddd*stickyTool: on
  451.  
  452. ! Do we want a decorated command tool?
  453. ! * If `on', DDD will set up the command tool as a top-level window,
  454. !   which is decorated like DDD main windows.
  455. ! * If `off', DDD realizes the command tool as a transient window, which
  456. !   may be decorated or not, depending on the settings of your window
  457. !   manager.
  458. ! * If `auto', DDD checks the window manager.  If it decorates
  459. !   transients, the command tool is realized as a transient, and as
  460. !   a top-level-window. otherwise.
  461. Ddd*decoratedTool: auto
  462.  
  463. ! Do we want an auto-raised command tool?  If on, DDD will always 
  464. ! keep the command tool on top of other DDD windows.  If this setting
  465. ! interferes with your window manager, set this resource to off.
  466. Ddd*autoRaiseTool: on
  467.  
  468. ! Do we want a command tool bar instead of the command tool?
  469. Ddd*commandToolBar: off
  470.  
  471. ! The offset between the upper right corner of the command tool
  472. ! and the upper right courner in the source window.
  473. Ddd*toolRightOffset: 8
  474. Ddd*toolTopOffset:   8
  475.  
  476. ! Do we want auto-raised menus?  This is handy with certain window managers:
  477. ! An auto-raised DDD might obscure popped up pulldown menus.  However, there's
  478. ! a risk that this might interfere with Motif, which is why this is off.
  479. Ddd*autoRaiseMenu: off
  480.  
  481.  
  482. ! Shortcuts
  483. ! A newline-separated list of expressions to be included in the
  484. ! `Display ()' menu.  This is usually edited at run-time.
  485. !
  486. ! As defaults, we provide some useful base conversions.
  487. Ddd*gdbDisplayShortcuts: \
  488. /t ()    // Convert to Bin\n\
  489. /d ()    // Convert to Dec\n\
  490. /x ()    // Convert to Hex\n\
  491. /o ()    // Convert to Oct
  492.  
  493. Ddd*dbxDisplayShortcuts:  
  494. Ddd*xdbDisplayShortcuts:
  495. Ddd*jdbDisplayShortcuts:
  496.  
  497. Ddd*pydbDisplayShortcuts:  \
  498. /t ()    // Convert to Bin\n\
  499. /d ()    // Convert to Dec\n\
  500. /x ()    // Convert to Hex\n\
  501. /o ()    // Convert to Oct
  502.  
  503. Ddd*perlDisplayShortcuts:  \
  504. hex(())    // Convert to Hex\n\
  505. oct(())    // Convert to Oct
  506.  
  507.  
  508. ! Tab width in source texts
  509. Ddd*tabWidth:            8
  510.  
  511. ! Number of characters to indent the source and machine code
  512. Ddd*indentSource:    0
  513. Ddd*indentCode:            4
  514.  
  515. ! Width of line numbers (if enabled; see the `displayLineNumbers' resource)
  516. ! Line numbers wider than this value extend into the breakpoint space.
  517. Ddd*lineNumberWidth:    5
  518.  
  519. ! The minimum number of lines to show before the current location.
  520. Ddd*linesAboveCursor:    2
  521.  
  522. ! The minimum number of lines to show after the current location.
  523. Ddd*linesBelowCursor:    3
  524.  
  525.  
  526. ! The GDB initialization commands.  DDD depends on these settings,
  527. ! so don't change them unless required by your GDB version.
  528. ! Use a personal `~/.gdbinit' file instead to customize GDB.
  529. !
  530. ! If a `set' command begins in the first column, the appropriate entry
  531. ! in the `settings' panel is disabled - that is, the setting is frozen.
  532. !
  533. ! Users of GDB 4.12 and earlier may wish to add a line `display /x $pc',
  534. ! as these GDB versions do not issue the current PC location when source
  535. ! code is not available.
  536. !
  537. ! Note: GDB 4.16 and earlier do not understand the `set annotate' command;
  538. ! just ignore the warning message.
  539. Ddd*gdbInitCommands:    \
  540. set prompt (gdb) \n\
  541. set height 0\n\
  542. set width 0\n\
  543. set annotate 1\n\
  544.  set verbose off\n
  545.  
  546. ! The GDB settings.  Usually overridden in `~/.ddd/init'.
  547. Ddd*gdbSettings: \
  548. set print asm-demangle on\n
  549.  
  550.  
  551. ! The DBX initialization commands. Make sure the TTY is in a proper state,
  552. ! by invoking a `stty' command; Some DBXes require this.
  553. !
  554. ! Do not change these settings.  Use a personal `~/.dbxinit' 
  555. ! or `~/.dbxrc' file to customize DBX.
  556. Ddd*dbxInitCommands: \
  557. sh stty -echo -onlcr\n\
  558. set $page = 1\n
  559.  
  560. ! The DBX settings.  Usually overridden in `~/.ddd/init'.
  561. Ddd*dbxSettings:
  562.  
  563.  
  564. ! The XDB initialization commands.  Define some macros to make common 
  565. ! commands available.
  566. !
  567. ! Do not change these settings.  Use a personal `~/.xdbrc' file
  568. ! to customize DBX.
  569. Ddd*xdbInitCommands: \
  570. sm\n\
  571. def run r\n\
  572. def cont c\n\
  573. def next S\n\
  574. def step s\n\
  575. def quit q\n\
  576. def finish { bu \\1t ; c ; L }\n
  577.  
  578. ! The XDB settings.  Usually overridden in `~/.ddd/init'.
  579. Ddd*xdbSettings:
  580.  
  581.  
  582. ! The JDB initialization commands.  Nothing special.
  583. Ddd*jdbInitCommands:
  584.  
  585. ! The JDB settings.  Usually overridden in `~/.ddd/init'.
  586. Ddd*jdbSettings:
  587.  
  588.  
  589. ! The PYDB initialization commands.  Nothing special.
  590. Ddd*pydbInitCommands:
  591.  
  592. ! The PYDB settings.  Usually overridden in `~/.ddd/init'.
  593. Ddd*pydbSettings:
  594.  
  595.  
  596. ! The Perl Debugger initialization commands.  Enable emacs mode.
  597. Ddd*perlInitCommands: \
  598. $DB::emacs = 1\n
  599.  
  600. ! The Perl Debugger settings.  Usually overridden in `~/.ddd/init'.
  601. Ddd*perlSettings:
  602.  
  603.  
  604. ! If on, let GDB source all initialization commands from a temporary file.
  605. ! This is slightly faster than processing each command separately,
  606. ! but gives bad diagnostics.
  607. Ddd*sourceInitCommands: on
  608.  
  609.  
  610. ! Auto-command defaults
  611.  
  612. ! Are auto-commands enabled?  If yes, any output of the inferior debugger
  613. ! in the form `PREFIX: COMMAND' (where PREFIX is the autoCommandPrefix, 
  614. ! as defined below) will cause DDD to execute the so-called 
  615. ! auto-command COMMAND.  This is useful for defining own DDD command 
  616. ! sequences.
  617. ! Unfortunately, this is also a security problem - just imagine some
  618. ! malicuous program to issue a string like `PREFIX: shell rm foobar'.
  619. ! Hence, we create PREFIX dynamically for each DDD session.
  620. Ddd*autoCommands: on
  621.  
  622. ! The prefix of auto-commands.
  623. ! No value means to generate a new PREFIX for each DDD session.
  624. Ddd*autoCommandPrefix:
  625.  
  626.  
  627. ! Graph Editor Defaults
  628.  
  629. ! Shall we detect aliases?  (expensive)
  630. Ddd*detectAliases:        off
  631.  
  632. ! Shall we require structural equivalence for aliases?
  633. Ddd*typedAliases:        on
  634.  
  635. ! Shall we delete aliases together with the aliased displays?
  636. Ddd*deleteAliasDisplays:    on
  637.  
  638. ! Shall we layout two-dimensional arrays as tables?
  639. Ddd*align2dArrays:        on
  640.  
  641. ! After a change in a display, shall we move adjacent displays?
  642. Ddd*bumpDisplays:        on
  643.  
  644. ! Shall we expand `VALUE <repeated N times>' to N instances of VALUE?
  645. Ddd*expandRepeatedValues:       off
  646.  
  647. ! Shall we hide displays that are out of scope?
  648. Ddd*hideInactiveDisplays:    on
  649.  
  650. ! Shall we show titles on base displays? (recommended)
  651. Ddd*showBaseDisplayTitles:      on
  652.  
  653. ! Shall we show titles on base displays?
  654. ! (Useful when annotations are off, as in DDD 3.0 and earlier.)
  655. Ddd*showDependentDisplayTitles: off
  656.  
  657.  
  658. ! The VSL library for displaying graph nodes.  `builtin' means the VSL
  659. ! library compiled into DDD, named `ddd.vsl'.  If you wish to use
  660. ! another VSL library, put its name here and set `vslPath' to a
  661. ! colon-separated list of directories where the VSL file and its
  662. ! includes can be found.
  663. !
  664. ! If you use the builtin library, you can use the `vslDefs' resource,
  665. ! to override (customize) certain settings.  See `colors', below.
  666. Ddd*vslLibrary:            builtin
  667. Ddd*vslPath:            .
  668.  
  669. ! What shall we use if the graph gets too large to be displayed?
  670. ! If on, an Athena panner is used (a kind of two-directional scrollbar).
  671. ! If off, two Motif scrollbars are used.
  672. !
  673. ! Although a panned graph editor is much more comfortable, we set-up Motif
  674. ! scrollbars as a default: Many OSF/Motif installations choke
  675. ! on intermixed Motif/Athena applications and we don't want to get bug
  676. ! reports that should be directed to OSF.
  677. Ddd*pannedGraphEditor:        off
  678.  
  679. ! Nodes are moved when dragged more than 4 pixels.
  680. Ddd*graph_edit.moveDelta:    4
  681.  
  682. ! The selection tile pixmap.  Usual choices are Motif built-in pixmaps.
  683. ! If this resource is left unspecified, nodes are simply inverted.
  684. ! Ddd*graph_edit.selectTile:    25_foreground
  685.  
  686. ! Do we wish opaque movement? (doesn't work yet)
  687. Ddd*graph_edit.opaqueMove:    off
  688.  
  689. ! Do we wish to display edges when moving nodes?
  690. Ddd*graph_edit.rubberEdges:    on
  691.  
  692. ! Do we wish to display arrow heads when moving nodes?
  693. Ddd*graph_edit.rubberArrows:    on
  694.  
  695. ! Do we wish to display annotations when moving nodes?
  696. Ddd*graph_edit.rubberAnnotations: off
  697.  
  698. ! Do we wish a grid?
  699. Ddd*graph_edit.showGrid:    on
  700.  
  701. ! Do we wish to snap the position to the grid?
  702. Ddd*graph_edit.snapToGrid:    on
  703.  
  704. ! Do we wish to show edge hints?
  705. Ddd*graph_edit.showHints:    on
  706.  
  707. ! Do we wish to show edge annotations?
  708. Ddd*graph_edit.showAnnotations:    on
  709.  
  710. ! What kind of layout do we wish? (regular, compact)
  711. Ddd*graph_edit.layoutMode:    regular
  712.  
  713. ! Do we wish to re-layout the graph after each change?
  714. Ddd*graph_edit.autoLayout:    off
  715.  
  716. ! Width and height of the grid
  717. ! Ddd*graph_edit.gridWidth:    16
  718. ! Ddd*graph_edit.gridHeight:    16
  719. Ddd*graph_edit.GridSize:    16
  720.  
  721.  
  722. ! Source View Defaults
  723.  
  724. ! Do we wish to find complete words only?
  725. Ddd*findWordsOnly:        on
  726.  
  727. ! Do we wish case-sensitive search?
  728. Ddd*findCaseSensitive:        on
  729.  
  730. ! Do we wish to show machine code? (Makes DDD run somewhat slower)
  731. Ddd*disassemble: off
  732.  
  733. ! How many bytes of the current function should we disassemble? (0
  734. ! means disassemble entire function; default in DDD 2.2 and earlier)
  735. Ddd*maxDisassemble: 256
  736.  
  737. ! Do we wish to display glyphs? (Makes DDD run somewhat slower)
  738. Ddd*displayGlyphs: on
  739.  
  740. ! What is the maximum number of glyphs at one time?
  741. Ddd*maxGlyphs: 10
  742.  
  743. ! The time (in ms) to wait before updating glyph positions while scrolling
  744. Ddd*glyphUpdateDelay: 5
  745.  
  746. ! Shall we cache glyph images?  (Reported to fail with Motif 2.1 on XFree86)
  747. ! Ddd*cacheGlyphImages: on
  748.  
  749. ! Do we wish to display line numbers? (Default in DDD 2.1.1 and earlier)
  750. Ddd*displayLineNumbers: off
  751.  
  752. ! Do we wish to cache source files in memory?
  753. Ddd*cacheSourceFiles: on
  754.  
  755. ! Do we wish to cache machine code in memory?
  756. Ddd*cacheMachineCode: on
  757.  
  758. ! Do we wish to refer to sources using the full path name?
  759. Ddd*useSourcePath: off
  760.  
  761. ! Do we wish to save history on exit?
  762. Ddd*saveHistoryOnExit: on
  763.  
  764. ! Do we wish to show all registers, instead of only integer registers?
  765. Ddd*allRegisters: off
  766.  
  767. ! Tips (aka ballon help or bubble help) are small windows that pop up
  768. ! when moving the pointer over some item.  Instructive for DDD
  769. ! novices, but maybe annoying for DDD experts.
  770.  
  771. ! Do we want tips on buttons, telling us their meaning?
  772. Ddd*buttonTips: on
  773.  
  774. ! Do we want tips on variables in the source code, telling us their value?
  775. Ddd*valueTips: on
  776.  
  777.  
  778. ! The same info as in tips may also be shown in the status line (`docs').
  779. ! This is less annoying, but may slow down DDD a bit.
  780. ! Do we want docs on buttons, telling us their meaning?
  781. Ddd*buttonDocs: on
  782.  
  783. ! Do we want docs on variables in the source code, telling us their value?
  784. Ddd*valueDocs: on
  785.  
  786.  
  787. ! Delays for showing tips and docs
  788.  
  789. ! Time (in ms) to spend before raising a button or value tip.
  790. Ddd*buttonTipDelay: 750
  791. Ddd*valueTipDelay:  750
  792.  
  793. ! Time (in ms) to spend before showing a button or value doc.
  794. Ddd*buttonDocDelay: 100
  795. Ddd*valueDocDelay:  100
  796.  
  797. ! Time (in ms) to spend before clearing the value doc.
  798. Ddd*clearDocDelay: 1000
  799.  
  800. ! Time (in ms) to spend before clearing a button or value tip.
  801. Ddd*clearTipDelay:   50
  802.  
  803. ! Time (in ms) to spend before a push button menu pops up
  804. Ddd*pushMenuPopupTime: 400
  805.  
  806.  
  807.  
  808. ! Popdown history
  809.  
  810. ! The maximum number of items in pop-down histories.  0 means `unlimited'.
  811. Ddd*popdownHistorySize: 0
  812.  
  813. ! Shall pop-down histories be sorted?
  814. ! on: sort alphabetically
  815. ! off: don't sort; least-recently-used comes first
  816. Ddd*sortPopdownHistory: on
  817.  
  818.  
  819. ! Status line
  820.  
  821. ! Should the status line be placed at the bottom?
  822. Ddd*statusAtBottom: on
  823.  
  824. ! Number of status messages to be kept in status history
  825. Ddd*statusHistorySize: 20
  826.  
  827. ! Do we want to see the debugger status (blinking while busy)?
  828. Ddd*blinkWhileBusy: on
  829.  
  830. ! Blink rate (in ms) of the busy LED - the LED showing that the inferior
  831. ! debugger is busy.  A value of 0 prevents the busy LED from blinking.
  832. Ddd*busyBlinkRate: 500
  833.  
  834.  
  835. ! Maximum lengths
  836.  
  837. ! The maximum length of a data display title (in characters)
  838. ! Longer names are replaced by `..'; `foo->bar->blue' becomes `foo->..->blue'.
  839. Ddd*maxDisplayTitleLength: 20
  840.  
  841. ! The maximum length of an expression in the source popup.
  842. Ddd*maxPopupExprLength: 20
  843.  
  844. ! The maximum length of a value tip.
  845. Ddd*maxValueTipLength: 60
  846.  
  847. ! The maximum length of a value doc.
  848. Ddd*maxValueDocLength: 80
  849.  
  850.  
  851. ! Undo and Redo
  852. ! How many actions should we be able to undo?  (0: none, <0: unlimited).
  853. Ddd*maxUndoDepth: -1
  854.  
  855. ! How many bytes can the undo buffer grow? (<0: unlimited)
  856. Ddd*maxUndoSize: 2000000
  857.  
  858. ! Focus Policy
  859. ! POINTER means point-and-type, EXPLICIT means click-and-type.
  860. Ddd*keyboardFocusPolicy: POINTER
  861.  
  862. ! Warnings
  863. ! Do we wish to suppress X warnings?
  864. Ddd*suppressWarnings: off
  865.  
  866. ! Do we wish to warn if multiple DDD instances are running?
  867. Ddd*warnIfLocked: off
  868.  
  869. ! Options file checking.
  870. ! Check for changes to the options file (typically, `~/.ddd/init')
  871. ! every N seconds.
  872. Ddd*checkOptions: 30
  873.  
  874.  
  875. ! Grab checking.
  876.  
  877. ! Shall DDD check for grabbed (frozen) mouse pointers
  878. ! when interrupting a modal X application?
  879. Ddd*checkGrabs: on
  880.  
  881. ! The delay to check for grabs after the last GDB prompt.
  882. Ddd*checkGrabDelay: 5000
  883.  
  884. ! The delay to wait for effective action.
  885. Ddd*grabActionDelay:   10000
  886.  
  887. ! The debugger command to execute when the pointer is still grabbed.
  888. Ddd*grabAction:  cont
  889.  
  890.  
  891. ! Fonts.
  892.  
  893. ! The default font to use for labels, etc.
  894. Ddd*defaultFont:       helvetica-bold
  895.  
  896. ! The font to use for help texts.
  897. Ddd*variableWidthFont: helvetica-medium
  898.  
  899. ! The font to use for fixed-width fields, such as the source code.
  900. Ddd*fixedWidthFont:    lucidatypewriter-medium
  901.  
  902. ! The base font size; overrides the point settings as set above.
  903. Ddd*FontSize:          120
  904.  
  905.  
  906. ! A little less highlighting.
  907. Ddd*highlightThickness: 1
  908.  
  909.  
  910. ! Window sizes.
  911. Ddd*graph_edit.height:      100
  912.  
  913. Ddd*source_text_w.columns:  80
  914. Ddd*source_text_w.rows:     31
  915.  
  916. Ddd*code_text_w.columns:    80
  917. Ddd*code_text_w.rows:       4
  918.  
  919. Ddd*gdb_w.columns:          80
  920. Ddd*gdb_w.rows:            5
  921.  
  922.  
  923. ! Menus.
  924.  
  925. ! Enable tear-off pulldown menus
  926. Ddd*menubar*tearOffModel: XmTEAR_OFF_ENABLED
  927.  
  928.  
  929.  
  930. ! Splash screen
  931.  
  932. ! Whether to show the DDD splash screen
  933. Ddd*splashScreen: on
  934.  
  935. ! DDD can display its splash screen in four different ways:
  936. !
  937. !   Color (`c')  - using up to 42 shades of blue. (Nice, but costly.)
  938. !   Grey  (`g')  - using up to 42 shades of grey. (Nice on greyscale displays.)
  939. !   Grey4 (`g4') - using 4 shades of grey.        (A balanced compromise.)
  940. !   Mono  (`m')  - using only black and white.    (On monochrome displays.)
  941. !
  942. ! Use the key given in parentheses as resource value.  Default is `c'.
  943. Ddd*splashScreenColorKey: c
  944.  
  945.  
  946. ! Logos and icons
  947.  
  948. ! Whether to use multi-color icons.  Multi-color icons are not strictly
  949. ! ICCM-compliant, although supported by most window managers.  In case
  950. ! your window manager has trouble with DDD icons, set this to `off'.
  951. Ddd*colorWMIcons: on
  952.  
  953.  
  954. ! Session Defaults
  955.  
  956. ! DDD attempts to preserve breakpoint and display numbers across
  957. ! sessions.  Unfortunately, if they grow too large, startup takes
  958. ! much time due to `dummy' commands inserted in order to push up
  959. ! the debugger's breakpoint and display numbers.  Hence, we impose
  960. ! a limit: Breakpoints or displays with numbers higher than 99 get
  961. ! re-assigned new numbers from 1 on when restoring state.
  962. !
  963. ! Setting these resources to 0 ensures a re-assignment of numbers
  964. ! upon each restart.
  965. Ddd*maxBreakpointNumber: 99
  966. Ddd*maxDisplayNumber:    99
  967.  
  968.  
  969. ! Tips of the day
  970.  
  971. ! Whether to show a tip of the day upon startup
  972. Ddd*startupTips: on
  973.  
  974. ! Which tip to start with.  This is usually overridden by `~/.ddd/tips'.
  975. Ddd*startupTipCount: 1
  976.  
  977.  
  978. !-----------------------------------------------------------------------------
  979. ! Colors
  980. !-----------------------------------------------------------------------------
  981.  
  982. ! Rationale for color usage:
  983. !
  984. ! * BACKGROUND_COLOR (grey) is the default DDD background color, because 
  985. !   this works well with all possible color schemes.  It also gives 
  986. !   DDD a professional look.
  987. !
  988. ! * STOP_COLOR (red4) is used for all objects associated with
  989. !   stopping the debugged program (red traffic light).  This applies
  990. !   to breakpoints (when activated) as well as everything associated
  991. !   with signal handling (interrupt button, signal arrow).
  992. !
  993. ! * RUN_COLOR (DarkGreen) is used for all objects associated
  994. !   with running the debugged program (green traffic light).  This applies
  995. !   to the current execution position as well as to the run button, but
  996. !   also to the `GDB busy' indicator (meaning that the program is running.)
  997. !
  998. ! * DATA_COLOR (blue4) is used for objects associated with references
  999. !   (blue is the default color for links in popular WWW browswers).  This
  1000. !   applies to pointers and edges in the data display.
  1001.  
  1002. Ddd*foreground:               FOREGROUND_COLOR
  1003. Ddd*background:               BACKGROUND_COLOR
  1004. Ddd*XmText.background:           TEXT_BACKGROUND_COLOR
  1005. Ddd*XmTextField.background:       TEXT_BACKGROUND_COLOR
  1006. Ddd*GraphEdit.background:       TEXT_BACKGROUND_COLOR
  1007. Ddd*XmList.background:           TEXT_BACKGROUND_COLOR
  1008. Ddd*graph_edit_panner.background:  BACKGROUND_COLOR
  1009. Ddd*graph_edit_panner.foreground:  BACKGROUND_COLOR
  1010. Ddd*graph_edit_panner.shadowColor: FOREGROUND_COLOR
  1011.  
  1012. ! Red, green and blue buttons.
  1013. Ddd*break.foreground:           STOP_COLOR
  1014. Ddd*quit.foreground:           STOP_COLOR
  1015. Ddd*send.foreground:           STOP_COLOR
  1016. Ddd*run.foreground:           RUN_COLOR
  1017. Ddd*run_again.foreground:       RUN_COLOR
  1018. ! Ddd*dereference.foreground:       DATA_COLOR
  1019.  
  1020. ! Highlight special dialogs
  1021. Ddd*maintenance.foreground:       STOP_COLOR
  1022. Ddd*fatal_dialog*foreground:       STOP_COLOR
  1023. Ddd*terminated_dialog*foreground:  STOP_COLOR
  1024. Ddd*exited_dialog*foreground:      STOP_COLOR
  1025. Ddd*no_debugger_dialog*foreground: STOP_COLOR
  1026.  
  1027. ! Glyph colors
  1028. Ddd*plain_arrow.foreground:  RUN_COLOR
  1029. Ddd*grey_arrow.foreground:   RUN_COLOR
  1030. Ddd*past_arrow.foreground:   RUN_COLOR
  1031. Ddd*signal_arrow.foreground: STOP_COLOR
  1032.  
  1033. Ddd*plain_stop.foreground:   STOP_COLOR
  1034. Ddd*plain_cond.foreground:   STOP_COLOR
  1035. Ddd*plain_temp.foreground:   STOP_COLOR
  1036.  
  1037. Ddd*grey_stop.foreground:    DISABLED_COLOR
  1038. Ddd*grey_cond.foreground:    DISABLED_COLOR
  1039. Ddd*grey_temp.foreground:    DISABLED_COLOR
  1040.  
  1041. ! Note: In Motif 1.2 and later, colors of dragged glyphs 
  1042. ! (drag_...) are copied from the drag source.
  1043. Ddd*drag_arrow.foreground:   RUN_COLOR
  1044. Ddd*drag_stop.foreground:    STOP_COLOR
  1045. Ddd*drag_cond.foreground:    STOP_COLOR
  1046. Ddd*drag_temp.foreground:    STOP_COLOR
  1047.  
  1048. ! Graph colors
  1049. Ddd*graph_edit.nodeColor:    FOREGROUND_COLOR
  1050. Ddd*graph_edit.nodePrintColor:    FOREGROUND_COLOR
  1051. Ddd*graph_edit.edgeColor:    DATA_COLOR
  1052. Ddd*graph_edit.edgePrintColor:    DATA_COLOR
  1053. Ddd*graph_edit.selectColor:    FOREGROUND_COLOR
  1054. Ddd*graph_edit.gridColor:    FOREGROUND_COLOR
  1055. Ddd*graph_edit.frameColor:    DISABLED_COLOR
  1056. Ddd*graph_edit.outlineColor:    DISABLED_COLOR
  1057.  
  1058. ! For colors of nodes in the data display, see below.
  1059.  
  1060.  
  1061. !-----------------------------------------------------------------------------
  1062. ! Bitmaps
  1063. !-----------------------------------------------------------------------------
  1064.  
  1065. ! These bitmap names are predefined by DDD.  Feel free to use others.
  1066. ! Note: if `cacheGlyphImages' is set, these bitmap names are ignored.
  1067.  
  1068. Ddd*plain_arrow.labelPixmap:    plain_arrow
  1069. Ddd*grey_arrow.labelPixmap:    grey_arrow
  1070. Ddd*past_arrow.labelPixmap:    past_arrow
  1071. Ddd*temp_arrow.labelPixmap:    temp_arrow
  1072. Ddd*signal_arrow.labelPixmap:    signal_arrow
  1073.  
  1074. Ddd*plain_stop.labelPixmap:    plain_stop
  1075. Ddd*plain_cond.labelPixmap:    plain_cond
  1076. Ddd*plain_temp.labelPixmap:    plain_temp
  1077.  
  1078. Ddd*drag_stop.labelPixmap:    drag_stop
  1079. Ddd*drag_cond.labelPixmap:    drag_cond
  1080. Ddd*drag_temp.labelPixmap:    drag_temp
  1081.  
  1082. Ddd*grey_stop.labelPixmap:    grey_stop
  1083. Ddd*grey_cond.labelPixmap:    grey_cond
  1084. Ddd*grey_temp.labelPixmap:    grey_temp
  1085.  
  1086.  
  1087. !-----------------------------------------------------------------------------
  1088. ! Data display fonts and colors
  1089. !-----------------------------------------------------------------------------
  1090.  
  1091. ! The value of the `vslDefs' resource are appended to the builtin VSL library.
  1092. ! The general pattern to replace a function definition FUNCTION with a new
  1093. ! definition NEW_DEF is:
  1094. !
  1095. ! #pragma replace FUNCTION
  1096. ! FUNCTION(ARGS...) = NEW_DEF;
  1097. !
  1098. ! The following settings may be useful:
  1099. ! - color(BOX, FOREGROUND, BACKGROUND) sets the FOREGROUND and BACKGROUND
  1100. !   colors of BOX.
  1101. ! - stdfontfamily() is the font family used: one of
  1102. !   family_times(), family_courier(), family_helvetica(), 
  1103. !   family_new_century(), family_typewriter().
  1104. ! - stdfontsize() is the font size in pixels.
  1105. !   0 means to use stdfontpoints() instead.
  1106. ! - stdfontpoints() is the font size in 1/10 points.
  1107. !   0 means to use stdfontsize() instead.
  1108. ! - stdfontweight() is the weight used: one of
  1109. !   weight_medium(), weight_bold().
  1110. !
  1111. ! Here is an example which you can copy to `~/.ddd/init' and customize:
  1112. !
  1113. ! Ddd*vslDefs: \
  1114. ! #pragma replace display_color   \n\
  1115. ! #pragma replace title_color       \n\
  1116. ! #pragma replace disabled_color  \n\
  1117. ! #pragma replace simple_color       \n\
  1118. ! #pragma replace pointer_color   \n\
  1119. ! #pragma replace struct_color       \n\
  1120. ! #pragma replace array_color       \n\
  1121. ! #pragma replace reference_color \n\
  1122. ! \n\
  1123. ! display_color(box)   = color(box, "black", "white");    \n\
  1124. ! title_color(box)     = color(box, "black");        \n\
  1125. ! disabled_color(box)  = color(box, "white", "grey50");    \n\
  1126. ! simple_color(box)    = color(box, "black");        \n\
  1127. ! pointer_color(box)   = color(box, "blue4");        \n\
  1128. ! struct_color(box)    = color(box, "black");        \n\
  1129. ! array_color(box)     = color(box, "blue4");        \n\
  1130. ! reference_color(box) = color(box, "blue4");        \n\
  1131. ! \n\
  1132. ! #pragma replace stdfontfamily\n\
  1133. ! #pragma replace stdfontsize    \n\
  1134. ! #pragma replace stdfontpoints\n\
  1135. ! #pragma replace stdfontweight\n\
  1136. ! stdfontfamily() = family_typewriter();\n\
  1137. ! stdfontsize()   = 0;    \n\
  1138. ! stdfontpoints() = 90;    \n\
  1139. ! stdfontweight() = weight_medium();
  1140.  
  1141. ! See the file `ddd.vsl' for further definitions to override here.
  1142.  
  1143.  
  1144. !-----------------------------------------------------------------------------
  1145. ! Keyboard translations
  1146. !-----------------------------------------------------------------------------
  1147.  
  1148. ! `Doesn't all this crap just make you want to hurl?'
  1149. ! -- JAMIE ZAWINSKI <jwz@netscape.com>, in the Netscape app-defaults file
  1150.  
  1151. Ddd*defaultVirtualBindings: \
  1152. osfBackSpace:    <Key>BackSpace\n\
  1153. osfCancel:    <Key>Escape\n\
  1154. osfRight:     <Key>Right\n\
  1155. osfLeft:    <Key>Left\n\
  1156. osfUp:        <Key>Up\n\
  1157. osfHelp:    <Key>HELP_KEY\n\
  1158. osfDown:    <Key>Down\n\
  1159. osfPageUp:    <Key>Prior\n\
  1160. osfPageDown:    <Key>Next\n\
  1161. osfBeginLine:    <Key>Home\n\
  1162. osfEndLine:    <Key>End\n
  1163.  
  1164. dnl These command shotcuts were used in DDD 3.0,
  1165. dnl before being bound to function keys.
  1166. define(SHORTCUTS,[\
  1167. Ctrl<Key>E:         gdb-command(run)\n\
  1168. Shift Ctrl<Key>K:       gdb-command(kill)\n\
  1169. Ctrl<Key>bracketleft:   gdb-command(until)\n\
  1170. Ctrl<Key>bracketright:  gdb-command(finish)\n\
  1171. ~Shift Ctrl<Key>I:      gdb-command(step)\n\
  1172. Shift Ctrl<Key>I:       gdb-command(stepi)\n\
  1173. ~Shift Ctrl<Key>J:      gdb-command(next)\n\
  1174. Shift Ctrl<Key>J:       gdb-command(nexti)\n\
  1175. ~Shift Ctrl<Key>T:      gdb-command(cont)\n\
  1176. Shift Ctrl<Key>T:       gdb-command(signal 0)\n])dnl
  1177.  
  1178. ! The Debugger Console uses an EMACS-like editing style.
  1179. ! `R7' and `R13' are generated by the developer's SUNs for `Home' and `End'
  1180. Ddd*gdb_w.@TRANSLATIONS@: #override\n\
  1181. SHORTCUTS \
  1182. <Btn3Down>:        gdb-popup-menu()            \n\
  1183. ~Ctrl ~Shift<Btn1Up>:    source-set-arg() extend-end() \n\
  1184. ~Shift Ctrl<Key>A:    ddd-select-all()        \n\
  1185. Shift Ctrl<Key>A:    select-all()                \n\
  1186. Ctrl<Key>B:        gdb-isearch-prev()            \n\
  1187. Ctrl<Key>C:        gdb-control(^C)            \n\
  1188. Ctrl<Key>D:        gdb-delete-or-control(^D)   \n\
  1189. Ctrl<Key>F:        gdb-isearch-next()             \n\
  1190. Ctrl<Key>G:        gdb-control(^C)            \n\
  1191. <Key>Break:        gdb-interrupt()            \n\
  1192. Ctrl<Key>H:        delete-previous-character() \n\
  1193. ~Shift Ctrl<Key>K:    delete-to-end-of-line()        \n\
  1194. Ctrl<Key>N:        gdb-next-history()        \n\
  1195. Ctrl<Key>P:        gdb-previous-history()        \n\
  1196. Ctrl<Key>U:         gdb-set-line("")        \n\
  1197. Ctrl<Key>V:        next-page()            \n\
  1198. Meta<Key>V:        previous-page()            \n\
  1199. Ctrl<Key>W:        delete-previous-word()        \n\
  1200. Ctrl<Key>osfBackSpace:    delete-previous-word()        \n\
  1201. Ctrl<Key>Y:        unkill()            \n\
  1202. Ctrl<Key>backslash:    gdb-control(^\\)        \n\
  1203. Ctrl<Key>R:        gdb-isearch-prev()          \n\
  1204. Ctrl<Key>S:        gdb-isearch-next()          \n\
  1205. ~Shift<Key>osfPageUp:    previous-page()            \n\
  1206. ~Shift<Key>osfPageDown:    next-page()                \n\
  1207. ~Shift<Key>Prior:    previous-page()            \n\
  1208. ~Shift<Key>Next:    next-page()                \n\
  1209. Shift<Key>osfPageUp:    previous-page(extend)        \n\
  1210. Shift<Key>osfPageDown:    next-page(extend)           \n\
  1211. Shift<Key>Prior:    previous-page(extend)        \n\
  1212. Shift<Key>Next:        next-page(extend)        \n\
  1213. ~Ctrl Shift<Key>Delete:  cut-clipboard()            \n\
  1214. ~Shift Ctrl<Key>Insert:  copy-clipboard()           \n\
  1215. ~Ctrl Shift<Key>Insert:  paste-clipboard()          \n\
  1216. ~Ctrl ~Shift<Key>Insert: toggle-overstrike()        \n\
  1217. ~Ctrl ~Shift ~Meta<Key>Escape:        gdb-interrupt()         \n\
  1218. ~Ctrl ~Shift ~Meta<Key>osfCancel:    gdb-interrupt()         \n\
  1219. ~Ctrl ~Shift ~Meta<Key>osfUp:        gdb-previous-history()    \n\
  1220. ~Ctrl ~Shift ~Meta<Key>osfDown:        gdb-next-history()    \n\
  1221. ~Ctrl ~Shift ~Meta<Key>osfLeft:        gdb-backward-character()\n\
  1222. ~Ctrl ~Shift ~Meta<Key>osfRight:    gdb-forward-character()    \n\
  1223. ~Ctrl ~Shift ~Meta<Key>osfBeginLine:    gdb-beginning-of-line()    \n\
  1224. ~Ctrl ~Shift ~Meta<Key>osfEndLine:    gdb-end-of-line()    \n\
  1225. ~Ctrl ~Shift ~Meta<Key>osfBeginData:    gdb-beginning-of-line()    \n\
  1226. ~Ctrl ~Shift ~Meta<Key>osfEndData:    gdb-end-of-line()    \n\
  1227. ~Ctrl ~Shift ~Meta<Key>Home:        gdb-beginning-of-line()    \n\
  1228. ~Ctrl ~Shift ~Meta<Key>End:        gdb-end-of-line()    \n\
  1229. ~Ctrl ~Shift ~Meta<Key>R7:        gdb-beginning-of-line()    \n\
  1230. ~Ctrl ~Shift ~Meta<Key>R13:        gdb-end-of-line()    \n\
  1231. ~Ctrl ~Shift ~Meta<Key>Tab:        gdb-complete-command()    \n
  1232.  
  1233. dnl Basic translations for all other texts and text fields
  1234. define(EMACS_TRANSLATIONS, [SHORTCUTS \
  1235. ~Shift Ctrl<Key>A:    ddd-select-all()        \n\
  1236. Shift Ctrl<Key>A:    select-all()                \n\
  1237. Ctrl<Key>B:        gdb-backward-character()    \n\
  1238. Ctrl<Key>D:        delete-next-character()     \n\
  1239. Ctrl<Key>F:        gdb-forward-character()        \n\
  1240. Ctrl<Key>G:        gdb-control(^C)            \n\
  1241. <Key>Break:        gdb-interrupt()            \n\
  1242. Ctrl<Key>H:        delete-previous-character() \n\
  1243. ~Shift Ctrl<Key>K:    delete-to-end-of-line()        \n\
  1244. Ctrl<Key>U:         beginning-of-line()        \
  1245.             delete-to-end-of-line()        \n\
  1246. Ctrl<Key>W:        delete-previous-word()        \n\
  1247. Ctrl<Key>osfBackSpace:    delete-previous-word()        \n\
  1248. ~Shift <Key>R7:        beginning-of-line()        \n\
  1249. ~Shift <Key>R13:    end-of-line()            \n\
  1250. ~Shift <Key>Home:    beginning-of-line()        \n\
  1251. ~Shift <Key>End:    end-of-line()            \n\
  1252. <Key>Escape:            gdb-interrupt()             \n\
  1253. <Key>osfCancel:         gdb-interrupt()             \n\
  1254. ~Ctrl ~Shift<Key>osfBeginLine: beginning-of-line()  \n\
  1255. ~Ctrl ~Shift<Key>osfEndLine:   end-of-line()        \n\
  1256. ~Ctrl ~Shift<Key>osfBeginData: beginning-of-line()  \n\
  1257. ~Ctrl ~Shift<Key>osfEndData:   end-of-line()        \n\
  1258. ~Ctrl Shift<Key>Delete:  cut-clipboard()            \n\
  1259. ~Shift Ctrl<Key>Insert:  copy-clipboard()           \n\
  1260. ~Ctrl Shift<Key>Insert:  paste-clipboard()          \n\
  1261. ~Ctrl ~Shift<Key>Insert: toggle-overstrike()        \n])dnl
  1262. dnl
  1263. dnl Emacs + TAB completion.
  1264. define(COMPLETE_TRANSLATIONS, [EMACS_TRANSLATIONS \
  1265. ~Shift <Key>Tab:    gdb-complete-tab($1)        \n])dnl
  1266. dnl
  1267. dnl Wheel mouse translations.  In XFree86, moving the wheel up sends 
  1268. dnl fake button4 events and button5 ones on down motions.
  1269. dnl See `http://www.inria.fr/koala/colas/mouse-wheel-scroll/' for a discussion.
  1270. define(WHEEL_TRANSLATIONS,[\
  1271. ~Shift Ctrl<Btn4Down>,<Btn4Up>:        previous-page()\n\
  1272. ~Ctrl Shift<Btn4Down>,<Btn4Up>:        previous-line()\n\
  1273. ~Shift ~Ctrl<Btn4Down>,<Btn4Up>:    previous-line()\
  1274.                     previous-line()\
  1275.                     previous-line()\
  1276.                     previous-line()\
  1277.                     previous-line()\n\
  1278. ~Shift Ctrl<Btn5Down>,<Btn5Up>:        next-page()\n\
  1279. ~Ctrl Shift<Btn5Down>,<Btn5Up>:        next-line()\n\
  1280. ~Shift ~Ctrl<Btn5Down>,<Btn5Up>:    next-line()\
  1281.                     next-line()\
  1282.                     next-line()\
  1283.                     next-line()\
  1284.                     next-line()\n])dnl
  1285. dnl
  1286. dnl
  1287. dnl Emacs + extra pageup/pagedown and newline capabilities + wheel
  1288. define(TEXT_TRANSLATIONS, [EMACS_TRANSLATIONS WHEEL_TRANSLATIONS \
  1289. Ctrl<Key>M:        newline()                   \n\
  1290. Ctrl<Key>N:        gdb-next-history()        \n\
  1291. Ctrl<Key>P:        gdb-previous-history()      \n\
  1292. Meta<Key>V:        previous-page()            \n\
  1293. Ctrl<Key>V:        next-page()            \n\
  1294. ~Shift <Key>Prior:    previous-page()            \n\
  1295. ~Shift <Key>Next:    next-page()                \n\
  1296. Shift<Key>osfPageUp:    previous-page(extend)        \n\
  1297. Shift<Key>osfPageDown:    next-page(extend)           \n\
  1298. Shift<Key>Prior:    previous-page(extend)        \n\
  1299. Shift<Key>Next:        next-page(extend)        \n])dnl
  1300. dnl
  1301. dnl Emacs + pageup/pagedown + TAB completion.
  1302. define(COMPLETE_TEXT_TRANSLATIONS, [TEXT_TRANSLATIONS] [\
  1303. ~Shift <Key>Tab:    gdb-complete-tab($1)        \n])dnl
  1304. dnl
  1305. dnl In dialogs, we can always use KDE Cut/Copy/Paste bindings.
  1306. define(CLIPBOARD_TRANSLATIONS, [\
  1307. ~Shift Ctrl<Key>X:      cut-clipboard()             \n\
  1308. ~Shift Ctrl<Key>C:      copy-clipboard()            \n\
  1309. ~Shift Ctrl<Key>V:      paste-clipboard()           \n])dnl
  1310.  
  1311. ! Have some of these in argument fields as well
  1312.  
  1313. Ddd*XmText.@TRANSLATIONS@:      \
  1314. #override\n COMPLETE_TEXT_TRANSLATIONS(print)
  1315.  
  1316. Ddd*XmTextField.@TRANSLATIONS@: \
  1317. #override\n COMPLETE_TRANSLATIONS(print)
  1318.  
  1319. ! In breakpoint dialogs, use a `break' completion
  1320. Ddd*new_breakpoint_dialog*XmTextField.@TRANSLATIONS@: \
  1321. #override\n COMPLETE_TRANSLATIONS(break) CLIPBOARD_TRANSLATIONS
  1322.  
  1323. ! In watchpoint dialogs, use a `print' completion
  1324. Ddd*new_watchpoint_dialog*XmTextField.@TRANSLATIONS@: \
  1325. #override\n COMPLETE_TRANSLATIONS(print) CLIPBOARD_TRANSLATIONS
  1326.  
  1327.  
  1328. ! In file dialogs, use a `file' completion
  1329. Ddd*XmFileSelectionBox*XmTextField.@TRANSLATIONS@: \
  1330. #override\n COMPLETE_TRANSLATIONS(file) CLIPBOARD_TRANSLATIONS
  1331.  
  1332.  
  1333. ! In `print', `make', and `cd' dialogs, use a `file' completion, too.
  1334. Ddd*print_popup*XmTextField.@TRANSLATIONS@:        \
  1335. #override\n COMPLETE_TRANSLATIONS(file) CLIPBOARD_TRANSLATIONS
  1336.  
  1337. Ddd*make_dialog*XmTextField.@TRANSLATIONS@:        \
  1338. #override\n COMPLETE_TRANSLATIONS(file) CLIPBOARD_TRANSLATIONS
  1339.  
  1340. Ddd*cd_dialog*XmTextField.@TRANSLATIONS@:          \
  1341. #override\n COMPLETE_TRANSLATIONS(file) CLIPBOARD_TRANSLATIONS
  1342.  
  1343. ! In selection boxes, use `shell' completion.
  1344. Ddd*XmSelectionBox*XmTextField.@TRANSLATIONS@:     \
  1345. #override\n COMPLETE_TRANSLATIONS(shell) CLIPBOARD_TRANSLATIONS
  1346. Ddd*XmDialogShell*XmTextField.@TRANSLATIONS@:     \
  1347. #override\n COMPLETE_TRANSLATIONS(shell) CLIPBOARD_TRANSLATIONS
  1348.  
  1349. ! In the button editor, we have no completion.
  1350. Ddd*edit_buttons*XmText.@TRANSLATIONS@:           \
  1351. #override\n TEXT_TRANSLATIONS CLIPBOARD_TRANSLATIONS
  1352.  
  1353. ! In command definitions, we have command completion.
  1354. Ddd*breakpoint_properties*XmTextField.@TRANSLATIONS@: \
  1355. #override\n COMPLETE_TRANSLATIONS(print) CLIPBOARD_TRANSLATIONS
  1356.  
  1357. Ddd*define_command*XmTextField.@TRANSLATIONS@:        \
  1358. #override\n COMPLETE_TRANSLATIONS(" ") CLIPBOARD_TRANSLATIONS
  1359.  
  1360.  
  1361.  
  1362. ! The source window is especially tuned for word selection.
  1363. define(SOURCE_TRANSLATIONS,[\
  1364. <Btn3Down>:        source-popup-menu()         \n\
  1365. ~Shift<Btn1Down>:    source-start-select-word()  \n\
  1366. ~Shift<Btn1Up>:        source-end-select-word() source-double-click() \n\
  1367. ~Shift Ctrl<Key>A:    ddd-select-all()        \n\
  1368. Shift Ctrl<Key>A:    select-all()                \n\
  1369. Ctrl<Key>B:        gdb-isearch-prev()            \n\
  1370. Ctrl<Key>C:             gdb-control(^C)             \n\
  1371. Ctrl<Key>F:        gdb-isearch-next()        \n\
  1372. Ctrl<Key>G:             gdb-control(^C)             \n\
  1373. Ctrl<Key>N:        gdb-next-history()        \n\
  1374. Ctrl<Key>P:        gdb-previous-history()      \n\
  1375. Ctrl<Key>R:        gdb-isearch-prev()          \n\
  1376. Ctrl<Key>S:        gdb-isearch-next()          \n\
  1377. Ctrl<Key>V:        next-page()            \
  1378.             source-update-glyphs()        \n\
  1379. Meta<Key>V:        previous-page()            \
  1380.             source-update-glyphs()        \n\
  1381. ~Ctrl Shift<Key>Delete:  cut-clipboard()            \n\
  1382. ~Shift Ctrl<Key>Insert:  copy-clipboard()           \n\
  1383. ~Ctrl Shift<Key>Insert:  paste-clipboard()          \n\
  1384. ~Ctrl ~Shift<Key>Insert: toggle-overstrike()        \n\
  1385. ~Shift <Key>R7:        beginning-of-line()        \n\
  1386. ~Shift <Key>R13:    end-of-line()            \n\
  1387. ~Shift <Key>Tab:    PrimitiveNextTabGroup()        \n\
  1388. ~Shift <Key>osfPageUp:    previous-page()            \
  1389.             source-update-glyphs()        \n\
  1390. ~Shift <Key>osfPageDown: next-page()            \
  1391.             source-update-glyphs()        \n\
  1392. Shift<Key>osfPageUp:    previous-page(extend)        \
  1393.             source-update-glyphs()        \n\
  1394. Shift<Key>osfPageDown:    next-page(extend)        \
  1395.             source-update-glyphs()        \n\
  1396. ~Shift <Key>Prior:    previous-page()            \
  1397.             source-update-glyphs()        \n\
  1398. ~Shift <Key>Next:    next-page()            \
  1399.             source-update-glyphs()        \n\
  1400. Shift<Key>Prior:    previous-page(extend)        \
  1401.             source-update-glyphs()        \n\
  1402. Shift<Key>Next:        next-page(extend)        \
  1403.             source-update-glyphs()        \n\
  1404. ~Shift <Key>Home:    beginning-of-line()        \n\
  1405. ~Shift <Key>End:    end-of-line()            \n])dnl
  1406.  
  1407. ! Have all characters be processed by the GDB console.
  1408. ! If you know of a better way than by using such huge translation tables,
  1409. ! please let me know.
  1410. define(GDB_TRANSLATIONS,[\
  1411. ~Meta<Key>osfBackSpace:             gdb-process(delete-previous-character)\n\
  1412. ~Ctrl ~Meta<Key>BackSpace:         gdb-process(delete-previous-character)\n\
  1413. ~Meta<Key>Tab:                 gdb-process(process-tab)\n\
  1414. ~Ctrl ~Meta<Key>Return:             gdb-process(process-return)\n\
  1415. ~Ctrl ~Meta<Key>Linefeed:         gdb-process(process-return)\n\
  1416. ~Ctrl ~Meta<Key>Escape:             gdb-interrupt()\n\
  1417. ~Meta<Key>osfCancel:             gdb-interrupt()\n\
  1418. ~Meta<Key>Delete:             gdb-process(delete-next-character)\n\
  1419. ~Ctrl ~Meta<Key>space:             gdb-process()\n\
  1420. ~Ctrl ~Meta<Key>exclam:             gdb-process()\n\
  1421. ~Ctrl ~Meta<Key>quotedbl:         gdb-process()\n\
  1422. ~Ctrl ~Meta<Key>numbersign:         gdb-process()\n\
  1423. ~Ctrl ~Meta<Key>dollar:             gdb-process()\n\
  1424. ~Ctrl ~Meta<Key>percent:         gdb-process()\n\
  1425. ~Ctrl ~Meta<Key>ampersand:         gdb-process()\n\
  1426. ~Ctrl ~Meta<Key>apostrophe:         gdb-process()\n\
  1427. ~Ctrl ~Meta<Key>parenleft:         gdb-process()\n\
  1428. ~Ctrl ~Meta<Key>parenright:         gdb-process()\n\
  1429. ~Ctrl ~Meta<Key>asterisk:         gdb-process()\n\
  1430. ~Ctrl ~Meta<Key>plus:             gdb-process()\n\
  1431. ~Ctrl ~Meta<Key>comma:             gdb-process()\n\
  1432. ~Ctrl ~Meta<Key>minus:             gdb-process()\n\
  1433. ~Ctrl ~Meta<Key>period:             gdb-process()\n\
  1434. ~Ctrl ~Meta<Key>slash:             gdb-process()\n\
  1435. ~Ctrl ~Meta<Key>0:             gdb-process()\n\
  1436. ~Ctrl ~Meta<Key>1:             gdb-process()\n\
  1437. ~Ctrl ~Meta<Key>2:             gdb-process()\n\
  1438. ~Ctrl ~Meta<Key>3:             gdb-process()\n\
  1439. ~Ctrl ~Meta<Key>4:             gdb-process()\n\
  1440. ~Ctrl ~Meta<Key>5:             gdb-process()\n\
  1441. ~Ctrl ~Meta<Key>6:             gdb-process()\n\
  1442. ~Ctrl ~Meta<Key>7:             gdb-process()\n\
  1443. ~Ctrl ~Meta<Key>8:             gdb-process()\n\
  1444. ~Ctrl ~Meta<Key>9:             gdb-process()\n\
  1445. ~Ctrl ~Meta<Key>colon:             gdb-process()\n\
  1446. ~Ctrl ~Meta<Key>semicolon:         gdb-process()\n\
  1447. ~Ctrl ~Meta<Key>less:             gdb-process()\n\
  1448. ~Ctrl ~Meta<Key>equal:             gdb-process()\n\
  1449. ~Ctrl ~Meta<Key>greater:         gdb-process()\n\
  1450. ~Ctrl ~Meta<Key>question:         gdb-process()\n\
  1451. ~Ctrl ~Meta<Key>at:             gdb-process()\n\
  1452. ~Ctrl ~Meta<Key>A:             gdb-process()\n\
  1453. ~Ctrl ~Meta<Key>B:             gdb-process()\n\
  1454. ~Ctrl ~Meta<Key>C:             gdb-process()\n\
  1455. ~Ctrl ~Meta<Key>D:             gdb-process()\n\
  1456. ~Ctrl ~Meta<Key>E:             gdb-process()\n\
  1457. ~Ctrl ~Meta<Key>F:             gdb-process()\n\
  1458. ~Ctrl ~Meta<Key>G:             gdb-process()\n\
  1459. ~Ctrl ~Meta<Key>H:             gdb-process()\n\
  1460. ~Ctrl ~Meta<Key>I:             gdb-process()\n\
  1461. ~Ctrl ~Meta<Key>J:             gdb-process()\n\
  1462. ~Ctrl ~Meta<Key>K:             gdb-process()\n\
  1463. ~Ctrl ~Meta<Key>L:             gdb-process()\n\
  1464. ~Ctrl ~Meta<Key>M:             gdb-process()\n\
  1465. ~Ctrl ~Meta<Key>N:             gdb-process()\n\
  1466. ~Ctrl ~Meta<Key>O:             gdb-process()\n\
  1467. ~Ctrl ~Meta<Key>P:             gdb-process()\n\
  1468. ~Ctrl ~Meta<Key>Q:             gdb-process()\n\
  1469. ~Ctrl ~Meta<Key>R:             gdb-process()\n\
  1470. ~Ctrl ~Meta<Key>S:             gdb-process()\n\
  1471. ~Ctrl ~Meta<Key>T:             gdb-process()\n\
  1472. ~Ctrl ~Meta<Key>U:             gdb-process()\n\
  1473. ~Ctrl ~Meta<Key>V:             gdb-process()\n\
  1474. ~Ctrl ~Meta<Key>W:             gdb-process()\n\
  1475. ~Ctrl ~Meta<Key>X:             gdb-process()\n\
  1476. ~Ctrl ~Meta<Key>Y:             gdb-process()\n\
  1477. ~Ctrl ~Meta<Key>Z:             gdb-process()\n\
  1478. ~Ctrl ~Meta<Key>bracketleft:         gdb-process()\n\
  1479. ~Ctrl ~Meta<Key>backslash:         gdb-process()\n\
  1480. ~Ctrl ~Meta<Key>bracketright:         gdb-process()\n\
  1481. ~Ctrl ~Meta<Key>asciicircum:         gdb-process()\n\
  1482. ~Ctrl ~Meta<Key>underscore:         gdb-process()\n\
  1483. ~Ctrl ~Meta<Key>grave:             gdb-process()\n\
  1484. ~Ctrl ~Meta<Key>a:             gdb-process()\n\
  1485. ~Ctrl ~Meta<Key>b:             gdb-process()\n\
  1486. ~Ctrl ~Meta<Key>c:             gdb-process()\n\
  1487. ~Ctrl ~Meta<Key>d:             gdb-process()\n\
  1488. ~Ctrl ~Meta<Key>e:             gdb-process()\n\
  1489. ~Ctrl ~Meta<Key>f:             gdb-process()\n\
  1490. ~Ctrl ~Meta<Key>g:             gdb-process()\n\
  1491. ~Ctrl ~Meta<Key>h:             gdb-process()\n\
  1492. ~Ctrl ~Meta<Key>i:             gdb-process()\n\
  1493. ~Ctrl ~Meta<Key>j:             gdb-process()\n\
  1494. ~Ctrl ~Meta<Key>k:             gdb-process()\n\
  1495. ~Ctrl ~Meta<Key>l:             gdb-process()\n\
  1496. ~Ctrl ~Meta<Key>m:             gdb-process()\n\
  1497. ~Ctrl ~Meta<Key>n:             gdb-process()\n\
  1498. ~Ctrl ~Meta<Key>o:             gdb-process()\n\
  1499. ~Ctrl ~Meta<Key>p:             gdb-process()\n\
  1500. ~Ctrl ~Meta<Key>q:             gdb-process()\n\
  1501. ~Ctrl ~Meta<Key>r:             gdb-process()\n\
  1502. ~Ctrl ~Meta<Key>s:             gdb-process()\n\
  1503. ~Ctrl ~Meta<Key>t:             gdb-process()\n\
  1504. ~Ctrl ~Meta<Key>u:             gdb-process()\n\
  1505. ~Ctrl ~Meta<Key>v:             gdb-process()\n\
  1506. ~Ctrl ~Meta<Key>w:             gdb-process()\n\
  1507. ~Ctrl ~Meta<Key>x:             gdb-process()\n\
  1508. ~Ctrl ~Meta<Key>y:             gdb-process()\n\
  1509. ~Ctrl ~Meta<Key>z:             gdb-process()\n\
  1510. ~Ctrl ~Meta<Key>braceleft:         gdb-process()\n\
  1511. ~Ctrl ~Meta<Key>bar:             gdb-process()\n\
  1512. ~Ctrl ~Meta<Key>braceright:         gdb-process()\n\
  1513. ~Ctrl ~Meta<Key>asciitilde:         gdb-process()\n\
  1514. ~Ctrl ~Meta ~Shift<Key>KP_0:         gdb-process()\n\
  1515. ~Ctrl ~Meta ~Shift<Key>KP_1:         gdb-process()\n\
  1516. ~Ctrl ~Meta ~Shift<Key>KP_2:         gdb-process()\n\
  1517. ~Ctrl ~Meta ~Shift<Key>KP_3:         gdb-process()\n\
  1518. ~Ctrl ~Meta ~Shift<Key>KP_4:         gdb-process()\n\
  1519. ~Ctrl ~Meta ~Shift<Key>KP_5:         gdb-process()\n\
  1520. ~Ctrl ~Meta ~Shift<Key>KP_6:         gdb-process()\n\
  1521. ~Ctrl ~Meta ~Shift<Key>KP_7:         gdb-process()\n\
  1522. ~Ctrl ~Meta ~Shift<Key>KP_8:         gdb-process()\n\
  1523. ~Ctrl ~Meta ~Shift<Key>KP_9:         gdb-process()\n\
  1524. ~Ctrl ~Meta<Key>KP_Space:         gdb-process()\n\
  1525. ~Ctrl ~Meta<Key>KP_Tab:             gdb-process()\n\
  1526. ~Ctrl ~Meta<Key>KP_Enter:         gdb-process()\n\
  1527. ~Ctrl ~Meta<Key>KP_Equal:         gdb-process()\n\
  1528. ~Ctrl ~Meta<Key>KP_Multiply:         gdb-process()\n\
  1529. ~Ctrl ~Meta<Key>KP_Add:             gdb-process()\n\
  1530. ~Ctrl ~Meta<Key>KP_Separator:         gdb-process()\n\
  1531. ~Ctrl ~Meta<Key>KP_Subtract:         gdb-process()\n\
  1532. ~Ctrl ~Meta<Key>KP_Decimal:         gdb-process()\n\
  1533. ~Ctrl ~Meta<Key>KP_Divide:         gdb-process()\n\
  1534. ~Meta Ctrl<Key>C:             gdb-process()\n\
  1535. ~Meta Ctrl<Key>D:             gdb-process(process-delete)\n\
  1536. ~Meta Ctrl<Key>G:             gdb-process()\n\
  1537. ~Meta Ctrl ~Shift<Key>K:         gdb-process(delete-to-end-of-line)\n\
  1538. ~Meta Ctrl<Key>W:             gdb-process(delete-previous-word)\n\
  1539. ~Meta Ctrl<Key>U:             gdb-process()\n])dnl
  1540.  
  1541. Ddd*source_text_w.@TRANSLATIONS@: \
  1542. #override\n SOURCE_TRANSLATIONS GDB_TRANSLATIONS TEXT_TRANSLATIONS
  1543. Ddd*code_text_w.@TRANSLATIONS@:   \
  1544. #override\n SOURCE_TRANSLATIONS GDB_TRANSLATIONS TEXT_TRANSLATIONS
  1545.  
  1546. ! Realize glyph drag and drop as well as glyph menu popups
  1547. define(GLYPH_TRANSLATIONS,[\
  1548. <Btn1Down>:      ArmAndActivate() source-drag-glyph() \n\
  1549. <Btn1Motion>:       source-follow-glyph()   \n\
  1550. ~Shift <Btn1Up>:  source-drop-glyph(move) \n\
  1551. Shift <Btn1Up>:   source-drop-glyph(copy) \n\
  1552. <Btn2Down>:      source-drag-glyph()      \n\
  1553. <Btn2Motion>:       source-follow-glyph()   \n\
  1554. ~Shift <Btn2Up>:  source-drop-glyph(move) \n\
  1555. Shift <Btn2Up>:   source-drop-glyph(copy) \n\
  1556. <Btn3Down>:      source-popup-menu()     \n])dnl
  1557.  
  1558. dnl This uses too much space:
  1559. dnl Ddd*source_form_w.XmPushButton.@TRANSLATIONS@: \
  1560. dnl #override\n GLYPH_TRANSLATIONS GDB_TRANSLATIONS
  1561. dnl Ddd*code_form_w.XmPushButton.@TRANSLATIONS@:   \
  1562. dnl #override\n GLYPH_TRANSLATIONS GDB_TRANSLATIONS
  1563. dnl
  1564. dnl Use this instead:
  1565. Ddd*source_form_w.XmPushButton.@TRANSLATIONS@: #override\n GLYPH_TRANSLATIONS
  1566. Ddd*code_form_w.XmPushButton.@TRANSLATIONS@:   #override\n GLYPH_TRANSLATIONS
  1567.  
  1568. ! This defines the popup menus in the data window.
  1569. define(GRAPH_TRANSLATIONS,[\
  1570. ~Shift<Btn1Down>: graph-select-or-move()\n\
  1571. Shift<Btn1Down>:  graph-toggle-or-move()\n\
  1572. <Btn2Down>:      graph-toggle-or-move()\n\
  1573. <Btn3Down>:      graph-select() graph-popup-menu()\n])dnl
  1574.  
  1575. Ddd*graph_edit.@TRANSLATIONS@: #override\n GRAPH_TRANSLATIONS GDB_TRANSLATIONS
  1576.  
  1577. dnl The following would forward all keyboard events to the debugger console,
  1578. dnl but it does not work for Motif 1.1
  1579. dnl Ddd*translations: \
  1580. dnl #augment\n
  1581. dnl GDB_TRANSLATIONS
  1582. dnl 
  1583. dnl An alternative would be to define translations for all labels 
  1584. dnl and several buttons.  The following might work:
  1585. dnl define(BUTTON_TRANSLATIONS,[\
  1586. dnl ~Ctrl<Btn1Down>:    Arm()\n\
  1587. dnl ~Ctrl<Btn1Up>:        Activate() Disarm()\n])dnl
  1588. dnl
  1589. dnl Ddd*tool_shell*XmPushButton.@TRANSLATIONS@: \
  1590. dnl #augment\n BUTTON_TRANSLATIONS GDB_TRANSLATIONS
  1591. dnl Ddd*toolbar*XmPushButton.@TRANSLATIONS@: \
  1592. dnl #augment\n BUTTON_TRANSLATIONS GDB_TRANSLATIONS
  1593. dnl Ddd*source.buttons*XmPushButton.@TRANSLATIONS@: \
  1594. dnl #augment\n BUTTON_TRANSLATIONS GDB_TRANSLATIONS
  1595. dnl
  1596. dnl Ddd*XmLabel.@TRANSLATIONS@: \
  1597. dnl #augment\n\
  1598. dnl GDB_TRANSLATIONS
  1599.  
  1600.  
  1601. !-----------------------------------------------------------------------------
  1602. ! Combo Boxes
  1603. !-----------------------------------------------------------------------------
  1604.  
  1605. ! The default number of visible items in a combo box
  1606. Ddd*XmComboBox*visibleItemCount:    10
  1607. Ddd*comboBoxShell*visibleItemCount: 10
  1608.  
  1609. ! In dialogs, have less items
  1610. Ddd*XmSelectionBox*XmComboBox*visibleItemCount:    5
  1611. Ddd*XmSelectionBox*comboBoxShell*visibleItemCount: 5
  1612.  
  1613. ! Have somewhat lighter combo box arrows
  1614. Ddd*XmComboBox.arrowSize:  15
  1615. Ddd*comboBoxArrow.width:   12
  1616.  
  1617.  
  1618. !-----------------------------------------------------------------------------
  1619. ! Titles
  1620. !-----------------------------------------------------------------------------
  1621.  
  1622. ! Generic title
  1623. Ddd*title:                DDD Window
  1624.  
  1625. ! Main Window
  1626. Ddd.title:                DDD: The Data Display Debugger
  1627. Ddd.iconName:                DDD
  1628.  
  1629. ! Separate windows
  1630. Ddd*command_shell.title:        DDD: Debugger Console
  1631. Ddd*command_shell.iconName:        DDD: Console
  1632.  
  1633. Ddd*source_view_shell.title:        DDD: Program Source
  1634. Ddd*source_view_shell.iconName:        DDD: Source
  1635.  
  1636. Ddd*data_disp_shell.title:        DDD: Program Data
  1637. Ddd*data_disp_shell.iconName:        DDD: Data
  1638.  
  1639. ! Command tool
  1640. Ddd*tool_shell.title:            DDD
  1641. Ddd*tool_shell.iconName:        DDD: Command Tool
  1642.  
  1643. ! Default for everything else
  1644. Ddd*title:                DDD Dialog
  1645. Ddd*iconName:                DDD Dialog
  1646.  
  1647.  
  1648.  
  1649. !-----------------------------------------------------------------------------
  1650. ! MWM Decorations
  1651. !-----------------------------------------------------------------------------
  1652.  
  1653. ! Don't place resize handles on dialogs
  1654. Ddd*XmDialogShell.mwmDecorations: 26
  1655.  
  1656. ! Exception: the manual and license browsers.
  1657. Ddd*manual_help_popup.mwmDecorations: 1
  1658. Ddd*license_popup.mwmDecorations:     1
  1659. Ddd*news_popup.mwmDecorations:        1
  1660.  
  1661.  
  1662. !-----------------------------------------------------------------------------
  1663. ! Help
  1664. !-----------------------------------------------------------------------------
  1665.  
  1666. ! Make help button a little wider
  1667. Ddd*helpLabelString: \ \ \ Help\ \ \ 
  1668.  
  1669. ! Set this to `on' to view widget names in help texts.
  1670. Ddd*helpShowTitle: off
  1671.  
  1672. ! Help is never acknowledged, always closed.
  1673. Ddd*help.okLabelString:     Close
  1674. Ddd*license.okLabelString:     Close
  1675. Ddd*news.okLabelString:     Close
  1676. Ddd*manual_help.okLabelString:     Close
  1677. Ddd*tip_dialog.okLabelString:     Close
  1678.  
  1679. ! Titles
  1680. Ddd*help_popup.title:           DDD Help
  1681. Ddd*manual_help.title:        DDD Reference
  1682. Ddd*manual_help.iconName:     DDD Reference
  1683. Ddd*license.title:            DDD License
  1684. Ddd*license.iconName:         DDD License
  1685. Ddd*news.title:               DDD News
  1686. Ddd*news.iconName:             DDD News
  1687.  
  1688. ! Icons
  1689. Ddd*help_popup.help.symbolPixmap: ddd
  1690.  
  1691. ! Help on help.
  1692. Ddd*help_popup.help*helpString: \
  1693. @rm Welcome to DDD Help\!\n\
  1694. \n\
  1695. To get help about an item, just point on it and press KEY_HELP.\n\
  1696. The item's functionality will be explained here.\n\
  1697. \n\
  1698. To find out what you can do next, press KEY(Ctrl+HELP_KEY).  Depending on\n\
  1699. the current DDD state, you will be given some general advice.\n\
  1700. \n\
  1701. Have fun with DDD!
  1702.  
  1703.  
  1704. ! The official announcement.
  1705. ! Build information (like `ddd --configuration') is appended to this text.
  1706. Ddd*helpOnVersionString:    \
  1707. @llogo DDD@logo: \
  1708. The @llogo D@logo ata @llogo D@logo isplay @llogo D@logo ebugger\n\
  1709. @rm by Dorothea L\374tkehaus and Andreas Zeller.\n\n
  1710.  
  1711. ! The default Help Text.
  1712. Ddd*helpString:    \
  1713. @rm This item has no function, or is not documented.
  1714.  
  1715. ! Some trival help
  1716. Ddd*XmScrollBar.helpString: \
  1717. WIDGET(Scroll Bar)\n\
  1718. \n\
  1719. Click or hold BUTTON(1) on an arrow button\n\
  1720. to scroll the window in the arrow direction.\n\
  1721. \n\
  1722. Drag the slider with BUTTON(1) to select the\n\
  1723. visible part of the window.
  1724. ! Ddd*XmScrollBar.tipString: \
  1725. ! @rm Scroll window
  1726.  
  1727. Ddd*XmSash.helpString: \
  1728. WIDGET(Paned Window Sash)\n\
  1729. \n\
  1730. Drag the sash with BUTTON(1) to resize window parts.
  1731. Ddd*XmSash.tipString: \
  1732. @rm Resize window
  1733.  
  1734. Ddd*Separator.helpString: \
  1735. WIDGET(Paned Window Sash)\n\
  1736. \n\
  1737. Drag the sash with BUTTON(1) to resize window parts.
  1738. Ddd*Separator.tipString: \
  1739. @rm Resize window
  1740.  
  1741. Ddd*separator.helpString: \
  1742. WIDGET(Paned Window Sash)\n\
  1743. \n\
  1744. Drag the sash with BUTTON(1) to resize window parts.
  1745. Ddd*separator.tipString: \
  1746. @rm Resize window
  1747.  
  1748. Ddd*arg_label.helpString: \
  1749. WIDGET(Argument Prompt)\n\
  1750. \n\
  1751. Enter the argument LBL(()) on the right.\n\
  1752. Click on LBL(():) to clear the argument LBL(()).
  1753.  
  1754. Ddd*arg_label.tipString: \
  1755. @rm Clear argument LBL(())
  1756.  
  1757. Ddd*arg_label.documentationString: \
  1758. @rm Click to clear the argument LBL(()).
  1759.  
  1760.  
  1761. !-----------------------------------------------------------------------------
  1762. ! Traversal
  1763. !-----------------------------------------------------------------------------
  1764.  
  1765. Ddd*arg_label.traversalOn:        off
  1766. Ddd*status_form*traversalOn:        off
  1767. Ddd*XmSash.traversalOn:            off
  1768.  
  1769.  
  1770. !-----------------------------------------------------------------------------
  1771. ! DDD manual
  1772. !-----------------------------------------------------------------------------
  1773.  
  1774. Ddd*manual_help*title.labelString:    DDD Reference
  1775. Ddd*manual_help*title.alignment:    XmALIGNMENT_BEGINNING
  1776.  
  1777. Ddd*help_area.allowResize:        on
  1778.  
  1779. Ddd*manual_help*index.selectionPolicy:    XmSINGLE_SELECT
  1780. Ddd*manual_help*index.visibleItemCount:    5
  1781.  
  1782. Ddd*manual_help*text.rows:        25
  1783. Ddd*manual_help*text.wordWrap:        on
  1784. Ddd*manual_help*text.scrollHorizontal:    off
  1785.  
  1786. Ddd*manual_help*source.labelString:         Reference
  1787. Ddd*manual_help*source.mnemonic:            R
  1788.  
  1789. Ddd*sourceMenu*viewIndex.labelString:          Index
  1790. Ddd*sourceMenu*viewIndex.mnemonic:             I
  1791. Ddd*sourceMenu*viewIndex.accelerator:        Meta<Key>1
  1792. Ddd*sourceMenu*viewIndex.acceleratorText:    Alt+1
  1793. Ddd*sourceMenu*viewIndex.documentationString:\
  1794. @rm Toggle display of manual index
  1795.  
  1796. Ddd*help_area*findBackward.labelString:        LBL_FIND_BACKWARD
  1797. Ddd*help_area*findBackward.labelType:              XmPIXMAP
  1798. Ddd*help_area*findBackward.labelPixmap:            find_backward
  1799. Ddd*help_area*findBackward.labelInsensitivePixmap: find_backward-xx
  1800. Ddd*help_area*findBackward.armPixmap:              find_backward-arm
  1801. Ddd*help_area*findBackward.highlightPixmap:        find_backward-hi
  1802.  
  1803. Ddd*help_area*findBackward.tipString:      \
  1804. @rm Find previous LBL(()) in text
  1805. Ddd*help_area*findBackward.documentationString:    \
  1806. @rm Search the previous occurrence of LBL(()) in the text
  1807.  
  1808. Ddd*help_area*findForward.labelString:        LBL_FIND_FORWARD
  1809. Ddd*help_area*findForward.labelType:              XmPIXMAP
  1810. Ddd*help_area*findForward.labelPixmap:            find_forward
  1811. Ddd*help_area*findForward.labelInsensitivePixmap: find_forward-xx
  1812. Ddd*help_area*findForward.armPixmap:              find_forward-arm
  1813. Ddd*help_area*findForward.highlightPixmap:        find_forward-hi
  1814.  
  1815. Ddd*help_area*findForward.tipString:      \
  1816. @rm Find next LBL(()) in text
  1817. Ddd*help_area*findForward.documentationString:    \
  1818. @rm Search the next occurrence of LBL(()) in the text
  1819.  
  1820. Ddd*manual_help*helpString: \
  1821. WIDGET([DDD] Manual Browser)\n\
  1822. \n\
  1823. To view a specific section, select its title from the index at the top.\n\
  1824. \n\
  1825. To find a string in the manual, enter it in the LBL(()) argument field \
  1826. and press KEY_RETURN.\n\
  1827. Click on LBL_FIND_BACKWARD to search the next occurrence of LBL(()).\n\
  1828. Click on LBL_FIND_FORWARD to search the previous occurrence of LBL(()).
  1829.  
  1830.  
  1831. !-----------------------------------------------------------------------------
  1832. ! DDD license and news
  1833. !-----------------------------------------------------------------------------
  1834.  
  1835. Ddd*license*form.borderWidth:        0
  1836.  
  1837. Ddd*license*title.labelString:          DDD License
  1838. Ddd*license*title.alignment:            XmALIGNMENT_BEGINNING
  1839.  
  1840. Ddd*license*source.labelString:         License
  1841. Ddd*license*source.mnemonic:            L
  1842.  
  1843. Ddd*license*text.rows:                  25
  1844. Ddd*license*text.wordWrap:            on
  1845. Ddd*license*text.scrollHorizontal:        off
  1846.  
  1847. Ddd*license*helpString: \
  1848. WIDGET([DDD] License)\n\
  1849. \n\
  1850. The DDD License, a GNU General Public License, describes the terms\n\
  1851. and conditions for copying, distributing and modifying DDD.\n\
  1852. \n\
  1853. To find a string in the license, enter it in the LBL(()) argument field \
  1854. and press KEY_RETURN.\n\
  1855. Click on LBL_FIND_BACKWARD to search the next occurrence of LBL(()).\n\
  1856. Click on LBL_FIND_FORWARD to search the previous occurrence of LBL(()).\n\
  1857. \n\
  1858. Please see section 11, TEXT(NO WARRANTY), for the various kinds of warranty\n\
  1859. you do not have.
  1860.  
  1861.  
  1862. Ddd*news*form.borderWidth:        0
  1863.  
  1864. Ddd*news*title.labelString:          DDD News
  1865. Ddd*news*title.alignment:            XmALIGNMENT_BEGINNING
  1866.  
  1867. Ddd*news*source.labelString:         News
  1868. Ddd*news*source.mnemonic:            N
  1869.  
  1870. Ddd*news*text.rows:                  25
  1871. Ddd*news*text.wordWrap:                on
  1872. Ddd*news*text.scrollHorizontal:        off
  1873.  
  1874. Ddd*news*helpString: \
  1875. WIDGET([DDD] News)\n\
  1876. \n\
  1877. What's new in this DDD release relative to previous releases.\n\
  1878. \n\
  1879. To find a string in the text, enter it in the LBL(()) argument field \
  1880. and press KEY_RETURN.\n\
  1881. Click on LBL_FIND_BACKWARD to search the next occurrence of LBL(()).\n\
  1882. Click on LBL_FIND_FORWARD to search the previous occurrence of LBL(()).
  1883.  
  1884.  
  1885.  
  1886. !-----------------------------------------------------------------------------
  1887. ! Button tips
  1888. !-----------------------------------------------------------------------------
  1889.  
  1890. ! These colors are taken from Netscape.  The basic idea is that you might
  1891. ! have a Netscape already running, so we won't use up another color cell.
  1892.  
  1893. Ddd*tipLabel.background:  TIP_COLOR
  1894. Ddd*tipLabel.foreground:  FOREGROUND_COLOR
  1895. Ddd*tipRow.background:    FOREGROUND_COLOR
  1896. Ddd*tipShell.borderColor: FOREGROUND_COLOR
  1897. Ddd*tipShell.borderWidth: 1
  1898.  
  1899.  
  1900. !-----------------------------------------------------------------------------
  1901. ! Menu Bar
  1902. !-----------------------------------------------------------------------------
  1903.  
  1904. Ddd*menubar.helpString:        \
  1905. WIDGET(Menu Bar)\n\
  1906. \n\
  1907. DESC(File, [select files and exit DDD])\n\
  1908. DESC(Edit, [cut, copy, and paste text, and change DDD options])\n\
  1909. DESC(View, [view DDD windows])\n\
  1910. DESC(Program, [run the debugged program])\n\
  1911. DESC(Commands, [view command history])\n\
  1912. DESC(Status, [show program status (backtrace, registers, threads)])\n\
  1913. DESC(Source, [edit breakpoints and lookup previous positions])\n\
  1914. DESC(Data, [edit displays])\n\
  1915. DESC(Help, [on-line help and version information])
  1916.  
  1917. Ddd*menubar.marginWidth:     0
  1918. Ddd*menubar.marginHeight:    1
  1919. ! Ddd*menubar.shadowThickness: 1
  1920.  
  1921. ! File menu
  1922. Ddd*menubar.file.labelString:        File
  1923. Ddd*menubar.file*documentationString:    \
  1924. @rm Open program and source files
  1925. Ddd*menubar.file.mnemonic:        F
  1926.  
  1927. define(FILE_HELP, [\
  1928. WIDGET(File Menu)\n\
  1929. \n\
  1930. DESC(Open Program..., [open the program to be debugged])\n\
  1931. DESC(Open Recent, [open a recently used program])\n\
  1932. DESC(Open Core Dump..., [open a core dump])\n\
  1933. DESC(Open Source..., [open a source file])\n\
  1934. \n\
  1935. DESC(Open Session..., [open a DDD debugging session])\n\
  1936. DESC(Save Session As..., [save current debugging session])\n\
  1937. \n\
  1938. DESC(Attach to Process..., [attach to a process outside of DDD])\n\
  1939. DESC(Detach Process, [detach a process previously attached])\n\
  1940. \n\
  1941. DESC(Print Graph..., [print the data display graph])\n\
  1942. DESC(Change Directory..., [change current directory])\n\
  1943. DESC(Make..., [run the make program])\n\
  1944. \n\
  1945. DESC(Close, [close this window])\n\
  1946. DESC(Restart, [restart DDD])\n\
  1947. DESC(Exit, [exit DDD])
  1948. ])dnl
  1949.  
  1950. Ddd*menubar.file*helpString: FILE_HELP
  1951. Ddd*fileMenu*helpString:     FILE_HELP
  1952. Ddd*fileMenu*tearOffTitle:   File
  1953.  
  1954. Ddd*menubar*fileMenu.open_file.labelString: Open Program...
  1955. Ddd*menubar*fileMenu.open_file.mnemonic:    O
  1956. Ddd*menubar*fileMenu.open_file.accelerator:      ~Shift Ctrl<Key>O
  1957. Ddd*menubar*fileMenu.open_file.acceleratorText:  Ctrl+O
  1958. Ddd*menubar*fileMenu.open_file.documentationString:   \
  1959. @rm Open a program to be debugged
  1960.  
  1961. Ddd*menubar*fileMenu.open_class.labelString: Open Class...
  1962. Ddd*menubar*fileMenu.open_class.mnemonic:    O
  1963. Ddd*menubar*fileMenu.open_class.accelerator:      ~Shift Ctrl<Key>O
  1964. Ddd*menubar*fileMenu.open_class.acceleratorText:  Ctrl+O
  1965. Ddd*menubar*fileMenu.open_class.documentationString:   \
  1966. @rm Open a class to be debugged
  1967.  
  1968. Ddd*menubar*fileMenu.recent.labelString: Open Recent
  1969. Ddd*menubar*fileMenu.recent.mnemonic:    R
  1970. Ddd*menubar*fileMenu.recent.documentationString:   \
  1971. @rm Reopen a program to be debugged
  1972.  
  1973. Ddd*menubar*fileMenu.open_core.labelString: Open Core Dump...
  1974. Ddd*menubar*fileMenu.open_core.mnemonic:    D
  1975. Ddd*menubar*fileMenu.open_core.documentationString:   \
  1976. @rm Open a file as core dump for examining memory and registers
  1977.  
  1978. Ddd*menubar*fileMenu.open_source.labelString: Open Source...
  1979. Ddd*menubar*fileMenu.open_source.mnemonic:    S
  1980. Ddd*menubar*fileMenu.open_source.documentationString:   \
  1981. @rm Open a source file in the source window
  1982.  
  1983. Ddd*menubar*fileMenu.open_session.labelString:            Open Session...
  1984. Ddd*menubar*fileMenu.open_session.mnemonic:            n
  1985. Ddd*menubar*fileMenu.open_session.accelerator:          ~Shift Ctrl<Key>N
  1986. Ddd*menubar*fileMenu.open_session.acceleratorText:      Ctrl+N
  1987. Ddd*menubar*fileMenu.open_session.documentationString:  \
  1988. @rm Restore a previously saved DDD session
  1989.  
  1990. Ddd*menubar*fileMenu.save_session.labelString:            Save Session As...
  1991. Ddd*menubar*fileMenu.save_session.accelerator:          ~Shift Ctrl<Key>S
  1992. Ddd*menubar*fileMenu.save_session.acceleratorText:      Ctrl+S
  1993. Ddd*menubar*fileMenu.save_session.mnemonic:            v
  1994. Ddd*menubar*fileMenu.save_session.documentationString:  \
  1995. @rm Save this DDD session for resuming later
  1996.  
  1997. Ddd*menubar*fileMenu.attach.labelString: Attach to Process...
  1998. Ddd*menubar*fileMenu.attach.mnemonic:    A
  1999. Ddd*menubar*fileMenu.attach.documentationString:   \
  2000. @rm Attach to a process outside of DDD
  2001.  
  2002. Ddd*menubar*fileMenu.detach.labelString:       Detach Process
  2003. Ddd*menubar*fileMenu.detach.mnemonic:           t
  2004. Ddd*menubar*fileMenu.detach.documentationString:
  2005.  
  2006. Ddd*menubar*fileMenu.print.labelString:         Print Graph...
  2007. Ddd*menubar*fileMenu.print.mnemonic:         P
  2008. Ddd*menubar*fileMenu.print.accelerator:         ~Shift Ctrl<Key>P
  2009. Ddd*menubar*fileMenu.print.acceleratorText:     Ctrl+P
  2010. Ddd*menubar*fileMenu.print.documentationString:   \
  2011. @rm Print the contents of the data display
  2012.  
  2013. Ddd*menubar*fileMenu.printAgain.labelString:         Print Again
  2014. Ddd*menubar*fileMenu.printAgain.mnemonic:         g
  2015. Ddd*menubar*fileMenu.printAgain.documentationString:   \
  2016. @rm Print the contents of the data display, using previous settings
  2017.  
  2018. Ddd*menubar*fileMenu.cd.labelString:     Change Directory...
  2019. Ddd*menubar*fileMenu.cd.mnemonic:     i
  2020. Ddd*menubar*fileMenu.cd.documentationString:  \
  2021. @rm Change the current directory
  2022.  
  2023. Ddd*menubar*fileMenu.make.labelString:     Make...
  2024. Ddd*menubar*fileMenu.make.mnemonic:     M
  2025. Ddd*menubar*fileMenu.make.accelerator:      ~Shift Ctrl<Key>M
  2026. Ddd*menubar*fileMenu.make.acceleratorText:  Ctrl+M
  2027. Ddd*menubar*fileMenu.make.documentationString:  \
  2028. @rm Run the make program
  2029.  
  2030. Ddd*menubar*fileMenu.makeAgain.labelString:     Make Again
  2031. Ddd*menubar*fileMenu.makeAgain.mnemonic:     i
  2032. Ddd*menubar*fileMenu.makeAgain.accelerator:      Shift Ctrl<Key>M
  2033. Ddd*menubar*fileMenu.makeAgain.acceleratorText:  Shift+Ctrl+M
  2034. Ddd*menubar*fileMenu.makeAgain.documentationString:  \
  2035. @rm Run the make program with the most recently given arguments
  2036.  
  2037. Ddd*menubar*fileMenu.close.labelString:     Close
  2038. Ddd*menubar*fileMenu.close.mnemonic:     C
  2039. Ddd*menubar*fileMenu.close.accelerator:      ~Shift Ctrl<Key>W
  2040. Ddd*menubar*fileMenu.close.acceleratorText:  Ctrl+W
  2041. Ddd*menubar*fileMenu.close.documentationString:   \
  2042. @rm Close this window
  2043.  
  2044. Ddd*menubar*fileMenu.restart.labelString: Restart
  2045. Ddd*menubar*fileMenu.restart.mnemonic:     e
  2046. Ddd*menubar*fileMenu.restart.accelerator:      Shift Ctrl<Key>Q
  2047. ! Ddd*menubar*fileMenu.restart.acceleratorText:  Shift+Ctrl+Q
  2048. Ddd*menubar*fileMenu.restart.documentationString:   \
  2049. @rm Close all windows and restart DDD from scratch
  2050.  
  2051. Ddd*menubar*fileMenu.exit.labelString:     Exit
  2052. Ddd*menubar*fileMenu.exit.mnemonic:     x
  2053. Ddd*menubar*fileMenu.exit.accelerator:        ~Shift Ctrl<Key>Q
  2054. Ddd*menubar*fileMenu.exit.acceleratorText:  Ctrl+Q
  2055. Ddd*menubar*fileMenu.exit.documentationString:   \
  2056. @rm Close all windows and exit DDD
  2057.  
  2058.  
  2059. ! Recent menu
  2060. Ddd*menubar*recentMenu.r1.mnemonic: 1
  2061. Ddd*menubar*recentMenu.r2.mnemonic: 2
  2062. Ddd*menubar*recentMenu.r3.mnemonic: 3
  2063. Ddd*menubar*recentMenu.r4.mnemonic: 4
  2064. Ddd*menubar*recentMenu.r5.mnemonic: 5
  2065. Ddd*menubar*recentMenu.r6.mnemonic: 6
  2066. Ddd*menubar*recentMenu.r7.mnemonic: 7
  2067. Ddd*menubar*recentMenu.r8.mnemonic: 8
  2068. Ddd*menubar*recentMenu.r9.mnemonic: 9
  2069.  
  2070. ! Get the file names dynamically
  2071. Ddd*menubar*recentMenu*documentationString: 
  2072.  
  2073. ! Don't auto-raise this one
  2074. Ddd*menubar*popup_recentMenu*autoRaiseMenu: off
  2075.  
  2076.  
  2077. ! Edit menu
  2078. Ddd*menubar.edit.labelString:        Edit
  2079. Ddd*menubar.edit.mnemonic:        E
  2080. Ddd*menubar.edit*documentationString:    \
  2081. @rm Cut, copy, paste from and to the clipboard
  2082.  
  2083. define(EDIT_HELP, [\
  2084. WIDGET(Edit Menu)\n\
  2085. \n\
  2086. DESC(Undo, [undo last action])\n\
  2087. DESC(Redo, [redo next action])\n\
  2088. \n\
  2089. DESC(Cut, [remove the selected text to the clipboard])\n\
  2090. DESC(Copy, [copy the selected text to the clipboard\n\
  2091.     without removing the original])\n\
  2092. DESC(Paste, [paste the clipboard contents into the text])\n\
  2093. DESC(Clear, [clear argument fields and @GDB@ command line])\n\
  2094. DESC(Delete, [delete the selected text])\n\
  2095. DESC(Select All, [select the entire text])\n\
  2096. \n\
  2097. DESC(Preferences..., [invokes a panel for setting DDD options])\n\
  2098. DESC(@GDB@ Settings..., [invokes a panel for setting @GDB@ options])\n\
  2099. \n\
  2100. DESC(Save Options, [saves options, preferences, and @GDB@ settings\n\
  2101.     for the next DDD invocation.])
  2102. ])dnl
  2103.  
  2104. Ddd*menubar.edit*helpString: EDIT_HELP
  2105. Ddd*editMenu*helpString:     EDIT_HELP
  2106. Ddd*editMenu*tearOffTitle:   Edit
  2107.  
  2108. Ddd*editMenu.undo.labelString:                Undo
  2109. Ddd*editMenu.undo.mnemonic:                U
  2110. Ddd*editMenu.undo.accelerator:                Ctrl<Key>Z
  2111. Ddd*editMenu.undo.acceleratorText:            Ctrl+Z
  2112. Ddd*editMenu.undo.documentationString: \
  2113. @rm Undo last action
  2114.  
  2115. Ddd*editMenu.redo.labelString:                Redo
  2116. Ddd*editMenu.redo.mnemonic:                R
  2117. Ddd*editMenu.redo.accelerator:                Ctrl<Key>Y
  2118. Ddd*editMenu.redo.acceleratorText:            Ctrl+Y
  2119. Ddd*editMenu.redo.documentationString: \
  2120. @rm Redo next action
  2121.  
  2122. ! Have standard Motif bindings
  2123. ! Ddd*editMenu.cut.accelerator:        Shift<Key>Delete
  2124. ! Ddd*editMenu.cut.acceleratorText:    Shift+Del
  2125. ! Ddd*editMenu.copy.accelerator:      Ctrl<Key>Insert
  2126. ! Ddd*editMenu.copy.acceleratorText:    Ctrl+Ins
  2127. ! Ddd*editMenu.paste.accelerator:      Shift<Key>Insert
  2128. ! Ddd*editMenu.paste.acceleratorText:    Shift+Ins
  2129.  
  2130. ! Alternative, KDE-like bindings
  2131. ! Ddd*editMenu.cut.accelerator:                ~Shift Ctrl<Key>X
  2132. ! Ddd*editMenu.cut.acceleratorText:            Ctrl+X
  2133. ! Ddd*editMenu.copy.accelerator:            ~Shift Ctrl<Key>C
  2134. ! Ddd*editMenu.copy.acceleratorText:            Ctrl+C
  2135. ! Ddd*editMenu.paste.accelerator:            ~Shift Ctrl<Key>V
  2136. ! Ddd*editMenu.paste.acceleratorText:            Ctrl+V
  2137.  
  2138.  
  2139. Ddd*editMenu.cut.labelString:                Cut
  2140. Ddd*editMenu.cut.mnemonic:                t
  2141. Ddd*editMenu.cut.documentationString: \
  2142. @rm Cut the selection and put it on the clipboard
  2143.  
  2144. Ddd*editMenu.copy.labelString:                Copy
  2145. Ddd*editMenu.copy.mnemonic:                C
  2146. Ddd*editMenu.copy.documentationString: \
  2147. @rm Copy the selection and put it on the clipboard
  2148.  
  2149. Ddd*editMenu.paste.labelString:                Paste
  2150. Ddd*editMenu.paste.mnemonic:                P
  2151. Ddd*editMenu.paste.documentationString: \
  2152. @rm Paste clipboard contents
  2153.  
  2154. Ddd*editMenu.clearAll.labelString:            Clear
  2155. Ddd*editMenu.clearAll.mnemonic:                l
  2156. Ddd*editMenu.clearAll.documentationString: \
  2157. @rm Clear the selection, all arguments, and the @GDB@ command line
  2158. Ddd*editMenu.clearAll.acceleratorText:            Ctrl+U
  2159.  
  2160. Ddd*editMenu.delete.labelString:            Delete
  2161. Ddd*editMenu.delete.mnemonic:                D
  2162. Ddd*editMenu.delete.documentationString: \
  2163. @rm Delete current selection
  2164.  
  2165. Ddd*editMenu.selectAll.labelString:            Select All
  2166. Ddd*editMenu.selectAll.mnemonic:            A
  2167. Ddd*editMenu.selectAll.acceleratorText:            Ctrl+A
  2168. Ddd*editMenu.selectAll.documentationString: \
  2169. @rm Select all items
  2170.  
  2171. Ddd*editMenu.preferences.labelString:            Preferences...
  2172. Ddd*editMenu.preferences.mnemonic:            e
  2173. Ddd*editMenu.preferences.documentationString:\
  2174. @rm Modify the DDD configuration
  2175.  
  2176. ! Note: The debugger name will be prepended to this label:
  2177. Ddd*editMenu.settings.labelString:            Settings...
  2178. Ddd*editMenu.settings.mnemonic:                S
  2179. Ddd*editMenu.settings.documentationString:\
  2180. @rm Modify the @GDB@ configuration
  2181.  
  2182. Ddd*editMenu.saveOptions.labelString:            Save Options
  2183. Ddd*editMenu.saveOptions.mnemonic:            O
  2184. Ddd*editMenu.saveOptions.documentationString:\
  2185. @rm Save preferences and settings for the next DDD invocation
  2186.  
  2187.  
  2188. ! View menu (for single-window DDD)
  2189. Ddd*menubar.views.labelString:        View
  2190. Ddd*menubar.views.mnemonic:        V
  2191. Ddd*menubar.view*documentationString:    \
  2192. @rm Open and close DDD windows
  2193.  
  2194. define(VIEWS_HELP, [\
  2195. WIDGET(View Menu)\n\
  2196. \n\
  2197. DESC(Command Tool..., [open and recenter the command tool])\n\
  2198. DESC(Execution Window..., [open the execution window])\n\
  2199. \n\
  2200. DESC(@GDB@ Console, [toggle display of debugger console])\n\
  2201. DESC(Source Window, [toggle display of program source])\n\
  2202. DESC(Data Window, [toggle display of program data])\n\
  2203. DESC(Machine Code Window, [toggle display of assembler code])
  2204. ])dnl
  2205.  
  2206. Ddd*menubar.views.helpString:    VIEWS_HELP
  2207. Ddd*viewsMenu*helpString:    VIEWS_HELP
  2208. Ddd*viewsMenu*tearOffTitle:     View
  2209.  
  2210. Ddd*viewsMenu.tool.labelString:            Command Tool...
  2211. Ddd*viewsMenu.tool.mnemonic:            T
  2212. Ddd*viewsMenu.tool.acceleratorText:        Alt+8
  2213. Ddd*viewsMenu.tool.accelerator:            Meta<Key>8
  2214. Ddd*viewsMenu.tool.documentationString: \
  2215. @rm Open the command tool and move it to its original position
  2216.  
  2217. Ddd*viewsMenu.exec.labelString:            Execution Window...
  2218. Ddd*viewsMenu.exec.mnemonic:            x
  2219. Ddd*viewsMenu.exec.acceleratorText:        Alt+9
  2220. Ddd*viewsMenu.exec.accelerator:            Meta<Key>9
  2221. Ddd*viewsMenu.exec.documentationString: \
  2222. @rm Open the program execution window
  2223.  
  2224. Ddd*viewsMenu.console.labelString:        @GDB@ Console
  2225. Ddd*viewsMenu.console.mnemonic:            C
  2226. Ddd*viewsMenu.console.acceleratorText:        Alt+1
  2227. Ddd*viewsMenu.console.accelerator:        Meta<Key>1
  2228. Ddd*viewsMenu.console.documentationString: \
  2229. @rm Toggle showing the @GDB@ console
  2230.  
  2231. Ddd*viewsMenu.source.labelString:        Source Window
  2232. Ddd*viewsMenu.source.mnemonic:            S
  2233. Ddd*viewsMenu.source.acceleratorText:        Alt+2
  2234. Ddd*viewsMenu.source.accelerator:        Meta<Key>2
  2235. Ddd*viewsMenu.source.documentationString: \
  2236. @rm Toggle showing the source window
  2237.  
  2238. Ddd*viewsMenu.data.labelString:            Data Window
  2239. Ddd*viewsMenu.data.mnemonic:            D
  2240. Ddd*viewsMenu.data.acceleratorText:        Alt+3
  2241. Ddd*viewsMenu.data.accelerator:            Meta<Key>3
  2242. Ddd*viewsMenu.data.documentationString: \
  2243. @rm Toggle showing the data window
  2244.  
  2245. Ddd*viewsMenu.code.labelString:            Machine Code Window
  2246. Ddd*viewsMenu.code.mnemonic:            M
  2247. Ddd*viewsMenu.code.acceleratorText:        Alt+4
  2248. Ddd*viewsMenu.code.accelerator:            Meta<Key>4
  2249. Ddd*viewsMenu.code.documentationString: \
  2250. @rm Toggle showing the machine code window
  2251.  
  2252.  
  2253. ! View menu (for multi-window DDD)
  2254. Ddd*menubar.view.labelString:        View
  2255. Ddd*menubar.view.mnemonic:        V
  2256. Ddd*menubar.view*documentationString:    \
  2257. @rm Open DDD windows
  2258.  
  2259. define(VIEW_HELP, [\
  2260. \
  2261. WIDGET(View Menu)\n\
  2262. \n\
  2263. DESC(Command Tool..., [open and recenter the command tool])\n\
  2264. DESC(Execution Window..., [open the execution window])\n\
  2265. \n\
  2266. DESC(@GDB@ Console..., [open the debugger console window])\n\
  2267. DESC(Source Window..., [open the program source window])\n\
  2268. DESC(Data Window..., [open the program data window])
  2269. ])dnl
  2270.  
  2271. Ddd*menubar.view.helpString:    VIEW_HELP
  2272. Ddd*viewMenu*helpString:    VIEW_HELP
  2273. Ddd*viewMenu*tearOffTitle:      View
  2274.  
  2275. Ddd*viewMenu.tool.labelString:            Command Tool...
  2276. Ddd*viewMenu.tool.mnemonic:            T
  2277. Ddd*viewMenu.tool.acceleratorText:        Alt+8
  2278. Ddd*viewMenu.tool.accelerator:            Meta<Key>8
  2279. Ddd*viewMenu.tool.documentationString: \
  2280. @rm Open the command tool and move it to its original position
  2281.  
  2282. Ddd*viewMenu.exec.labelString:            Execution Window...
  2283. Ddd*viewMenu.exec.mnemonic:            x
  2284. Ddd*viewMenu.exec.acceleratorText:        Alt+9
  2285. Ddd*viewMenu.exec.accelerator:            Meta<Key>9
  2286. Ddd*viewMenu.exec.documentationString: \
  2287. @rm Open the program execution window
  2288.  
  2289. Ddd*viewMenu.console.labelString:        @GDB@ Console...
  2290. Ddd*viewMenu.console.mnemonic:            C
  2291. Ddd*viewMenu.console.acceleratorText:        Alt+1
  2292. Ddd*viewMenu.console.accelerator:        Meta<Key>1
  2293. Ddd*viewMenu.console.documentationString: \
  2294. @rm Open the @GDB@ console
  2295.  
  2296. Ddd*viewMenu.source.labelString:        Source Window...
  2297. Ddd*viewMenu.source.mnemonic:            S
  2298. Ddd*viewMenu.source.acceleratorText:        Alt+2
  2299. Ddd*viewMenu.source.accelerator:        Meta<Key>2
  2300. Ddd*viewMenu.source.documentationString: \
  2301. @rm Open the source window
  2302.  
  2303. Ddd*viewMenu.data.labelString:            Data Window...
  2304. Ddd*viewMenu.data.mnemonic:            D
  2305. Ddd*viewMenu.data.acceleratorText:        Alt+3
  2306. Ddd*viewMenu.data.accelerator:            Meta<Key>3
  2307. Ddd*viewMenu.data.documentationString: \
  2308. @rm Open the data window
  2309.  
  2310.  
  2311. ! Program menu
  2312. Ddd*menubar.program.labelString:        Program
  2313. Ddd*menubar.program.mnemonic:            P
  2314. Ddd*menubar.program*documentationString:    \
  2315. @rm Control the execution of the debugged program
  2316.  
  2317. define(PROGRAM_HELP, [\
  2318. \
  2319. WIDGET(Program Menu)\n\
  2320. \n\
  2321. DESC(Run..., [start the debugged program])\n\
  2322. DESC(Run Again, [run with current arguments])\n\
  2323. \n\
  2324. ITEM If LBL(Run in Execution Window) is set, \
  2325. the program is run in a separate\n\
  2326.     terminal window; useful for programs using terminal I/O.  Otherwise,\n\
  2327.     the program is run in the @GDB@ console window.\n\
  2328.     This change takes effect the next time the program is run.\n\
  2329. \n\
  2330. DESC(Step, [step program until it reaches a different source line])\n\
  2331. DESC(Step Instruction, [step exactly one machine instruction])\n\
  2332. DESC(Next, [step program, but proceed through subroutine calls])\n\
  2333. DESC(Next Instruction, [step instruction, \
  2334. but proceed through subroutine calls])\n\
  2335. DESC(Until, [execute until program reaches a line after the current])\n\
  2336. DESC(Finish, [execute until function returns])\n\
  2337. \n\
  2338. DESC(Continue, [continue program after signal or breakpoint])\n\
  2339. DESC(Continue Without Signal, [continue, but don't give a signal])\n\
  2340. \n\
  2341. DESC(Kill, [kill execution of program being debugged])\n\
  2342. DESC(Interrupt, [interrupt program (or current @GDB@ command)])\n\
  2343. DESC(Abort, [abort program (or current @GDB@ command)])
  2344. ])dnl
  2345.  
  2346. Ddd*menubar.program*helpString:    PROGRAM_HELP
  2347. Ddd*programMenu*helpString:    PROGRAM_HELP
  2348. Ddd*programMenu*tearOffTitle:   Program
  2349.  
  2350. Ddd*menubar*programMenu.run.labelString:       Run...
  2351. Ddd*menubar*programMenu.run.mnemonic:           R
  2352. Ddd*menubar*programMenu.run.accelerator:       <Key>F2
  2353. Ddd*menubar*programMenu.run.acceleratorText:       F2
  2354. Ddd*menubar*programMenu.run.documentationString: \
  2355. @rm Start debugged program.  You may specify arguments to give it.
  2356.  
  2357. Ddd*menubar*programMenu.run_again.labelString:       Run Again
  2358. Ddd*menubar*programMenu.run_again.mnemonic:       A
  2359. Ddd*menubar*programMenu.run_again.accelerator:       <Key>F3
  2360. Ddd*menubar*programMenu.run_again.acceleratorText: F3
  2361. Ddd*menubar*programMenu.run_again.documentationString: \
  2362. @rm Restart debugged program, using the previous arguments.
  2363.  
  2364. Ddd*menubar*programMenu.separateExecWindow.labelString:    Run in Execution Window
  2365. Ddd*menubar*programMenu.separateExecWindow.mnemonic:    E
  2366. Ddd*menubar*programMenu.separateExecWindow.documentationString:\
  2367. @rm Toggle execution of debugged program in separate window
  2368.  
  2369. Ddd*menubar*programMenu.step.labelString:       Step
  2370. Ddd*menubar*programMenu.step.mnemonic:           S
  2371. Ddd*menubar*programMenu.step.accelerator:       ~Shift<Key>F5
  2372. Ddd*menubar*programMenu.step.acceleratorText:       F5
  2373. Ddd*menubar*programMenu.step.documentationString:
  2374.  
  2375. Ddd*menubar*programMenu.stepi.labelString:       Step Instruction
  2376. Ddd*menubar*programMenu.stepi.mnemonic:           I
  2377. Ddd*menubar*programMenu.stepi.accelerator:       Shift<Key>F5
  2378. Ddd*menubar*programMenu.stepi.acceleratorText:       Shift+F5
  2379. Ddd*menubar*programMenu.stepi.documentationString:
  2380.  
  2381. Ddd*menubar*programMenu.next.labelString:       Next
  2382. Ddd*menubar*programMenu.next.mnemonic:           N
  2383. Ddd*menubar*programMenu.next.accelerator:       ~Shift<Key>F6
  2384. Ddd*menubar*programMenu.next.acceleratorText:       F6
  2385. Ddd*menubar*programMenu.next.documentationString:
  2386.  
  2387. Ddd*menubar*programMenu.nexti.labelString:       Next Instruction
  2388. Ddd*menubar*programMenu.nexti.mnemonic:           x
  2389. Ddd*menubar*programMenu.nexti.accelerator:       Shift<Key>F6
  2390. Ddd*menubar*programMenu.nexti.acceleratorText:       Shift+F6
  2391. Ddd*menubar*programMenu.nexti.documentationString:
  2392.  
  2393. Ddd*menubar*programMenu.until.labelString:       Until
  2394. Ddd*menubar*programMenu.until.mnemonic:              U
  2395. Ddd*menubar*programMenu.until.accelerator:       <Key>F7
  2396. Ddd*menubar*programMenu.until.acceleratorText:       F7
  2397. Ddd*menubar*programMenu.until.documentationString:
  2398.  
  2399. Ddd*menubar*programMenu.finish.labelString:       Finish
  2400. Ddd*menubar*programMenu.finish.mnemonic:       F
  2401. Ddd*menubar*programMenu.finish.accelerator:       <Key>F8
  2402. Ddd*menubar*programMenu.finish.acceleratorText:       F8
  2403. Ddd*menubar*programMenu.finish.documentationString:
  2404.  
  2405. Ddd*menubar*programMenu.cont.labelString:       Continue
  2406. Ddd*menubar*programMenu.cont.mnemonic:           C
  2407. Ddd*menubar*programMenu.cont.accelerator:       ~Shift<Key>F9
  2408. Ddd*menubar*programMenu.cont.acceleratorText:       F9
  2409. Ddd*menubar*programMenu.cont.documentationString:
  2410.  
  2411. Ddd*menubar*programMenu.signal0.labelString:       Continue Without Signal
  2412. Ddd*menubar*programMenu.signal0.mnemonic:          t
  2413. Ddd*menubar*programMenu.signal0.accelerator:       Shift<Key>F9
  2414. Ddd*menubar*programMenu.signal0.acceleratorText:   Shift+F9
  2415. Ddd*menubar*programMenu.signal0.documentationString: \
  2416. @rm Continue program without giving it a signal.
  2417.  
  2418. Ddd*menubar*programMenu.kill.labelString:       Kill
  2419. Ddd*menubar*programMenu.kill.mnemonic:           K
  2420. Ddd*menubar*programMenu.kill.accelerator:       <Key>F4
  2421. Ddd*menubar*programMenu.kill.acceleratorText:       F4
  2422. Ddd*menubar*programMenu.kill.documentationString:
  2423.  
  2424. Ddd*menubar*programMenu.break.labelString:       Interrupt
  2425. Ddd*menubar*programMenu.break.mnemonic:           p
  2426. ! Ddd*menubar*programMenu.break.accelerator:       <Key>Escape
  2427. Ddd*menubar*programMenu.break.acceleratorText:       Esc
  2428. Ddd*menubar*programMenu.break.documentationString: \
  2429. @rm Interrupt program (or current @GDB@ command)
  2430.  
  2431. Ddd*menubar*programMenu.quit.labelString:       Abort
  2432. Ddd*menubar*programMenu.quit.mnemonic:           b
  2433. Ddd*menubar*programMenu.quit.accelerator:       Ctrl<Key>\\ 
  2434. Ddd*menubar*programMenu.quit.acceleratorText:       Ctrl+\\ 
  2435. Ddd*menubar*programMenu.quit.documentationString: \
  2436. @rm Abort program (or current @GDB@ command)
  2437.  
  2438.  
  2439. ! Commands
  2440. Ddd*menubar.commands.labelString:    Commands
  2441. Ddd*menubar.commands.mnemonic:        C
  2442. Ddd*menubar.commands*documentationString: \
  2443. @rm Enter and modify @GDB@ commands
  2444.  
  2445. define(COMMANDS_HELP, [\
  2446. \
  2447. WIDGET(Commands Menu)\n\
  2448. \n\
  2449. DESC(Command History..., [show all previous commands])\n\
  2450. \n\
  2451. DESC(Previous, [show the previous command])\n\
  2452. DESC(Next, [show the next command])\n\
  2453. \n\
  2454. DESC(Search Previous, [do incremental search forward])\n\
  2455. DESC(Search Next, [do incremental search backward])\n\
  2456. DESC(Quit Search, [quit incremental search])\n\
  2457. \n\
  2458. DESC(Complete, [complete the current command])\n\
  2459. DESC(Apply, [execute the current command])\n\
  2460. \n\
  2461. DESC(Clear Line, [clear @GDB@ command line])\n\
  2462. DESC(Clear Window, [clear all before last @GDB@ prompt])\n\
  2463. \n\
  2464. DESC(Define Command..., [define @GDB@ command])\n\
  2465. DESC(Edit Buttons..., [edit command buttons])
  2466. ])dnl
  2467.  
  2468. Ddd*menubar.commands*helpString:    COMMANDS_HELP
  2469. Ddd*commandsMenu*helpString:        COMMANDS_HELP
  2470. Ddd*commandsMenu*tearOffTitle:          Commands
  2471.  
  2472. Ddd*commandsMenu.history.labelString:            Command History...
  2473. Ddd*commandsMenu.history.mnemonic:            H
  2474. Ddd*commandsMenu.history.documentationString: \
  2475. @rm Show previous commands
  2476.  
  2477. Ddd*commandsMenu.prev.labelString:            Previous
  2478. Ddd*commandsMenu.prev.mnemonic:                P
  2479. ! Ddd*commandsMenu.prev.accelerator:            Ctrl<Key>P
  2480. Ddd*commandsMenu.prev.acceleratorText:            Up
  2481. Ddd*commandsMenu.prev.documentationString: \
  2482. @rm Get previous command
  2483.  
  2484. Ddd*commandsMenu.next.labelString:            Next
  2485. Ddd*commandsMenu.next.mnemonic:                N
  2486. ! Ddd*commandsMenu.next.accelerator:            Ctrl<Key>N
  2487. Ddd*commandsMenu.next.acceleratorText:          Down
  2488. Ddd*commandsMenu.next.documentationString: \
  2489. @rm Get next command
  2490.  
  2491. Ddd*commandsMenu.complete.labelString:            Complete
  2492. Ddd*commandsMenu.complete.mnemonic:            C
  2493. ! Ddd*commandsMenu.complete.accelerator:    ~Ctrl ~Shift ~Meta<Key>Tab
  2494. ! Ddd*commandsMenu.complete.accelerator:    Ctrl<Key>I
  2495. Ddd*commandsMenu.complete.acceleratorText:    Tab
  2496. Ddd*commandsMenu.complete.documentationString: \
  2497. @rm Complete current command
  2498.  
  2499. Ddd*commandsMenu.apply.labelString:            Apply
  2500. Ddd*commandsMenu.apply.mnemonic:            A
  2501. ! Ddd*commandsMenu.apply.accelerator:            ~Ctrl ~Shift ~Meta<Key>Return
  2502. Ddd*commandsMenu.apply.acceleratorText:         Return
  2503. Ddd*commandsMenu.apply.documentationString: \
  2504. @rm Execute current command
  2505.  
  2506. Ddd*commandsMenu.isearch_prev.labelString:    Find Backward
  2507. Ddd*commandsMenu.isearch_prev.mnemonic:            B
  2508. ! Ddd*commandsMenu.isearch_prev.accelerator:    Ctrl<Key>B
  2509. Ddd*commandsMenu.isearch_prev.acceleratorText:  Ctrl+B
  2510. Ddd*commandsMenu.isearch_prev.documentationString: \
  2511. @rm Do incremental search backward in command history
  2512.  
  2513. Ddd*commandsMenu.isearch_next.labelString:    Find Forward
  2514. Ddd*commandsMenu.isearch_next.mnemonic:            F
  2515. ! Ddd*commandsMenu.isearch_next.accelerator:    Ctrl<Key>F
  2516. Ddd*commandsMenu.isearch_next.acceleratorText:  Ctrl+F
  2517. Ddd*commandsMenu.isearch_next.documentationString: \
  2518. @rm Do incremental search forward in command history
  2519.  
  2520. Ddd*commandsMenu.isearch_exit.labelString:    Quit Search
  2521. Ddd*commandsMenu.isearch_exit.mnemonic:            Q
  2522. Ddd*commandsMenu.isearch_exit.acceleratorText:  Esc
  2523. Ddd*commandsMenu.isearch_exit.documentationString: \
  2524. @rm Quit incremental search
  2525.  
  2526. Ddd*commandsMenu.clear_line.labelString:        Clear Line
  2527. Ddd*commandsMenu.clear_line.mnemonic:            L
  2528. ! *commandsMenu.clear_line.accelerator:            ~Shift ~Meta Ctrl<Key>U
  2529. Ddd*commandsMenu.clear_line.acceleratorText:    Ctrl+U
  2530. Ddd*commandsMenu.clear_line.documentationString: \
  2531. @rm Clear @GDB@ command line
  2532.  
  2533. Ddd*commandsMenu.clear_window.labelString:      Clear Window
  2534. Ddd*commandsMenu.clear_window.mnemonic:            W
  2535. Ddd*commandsMenu.clear_window.accelerator:      ~Meta Shift Ctrl<Key>U
  2536. Ddd*commandsMenu.clear_window.acceleratorText:  Shift+Ctrl+U
  2537. Ddd*commandsMenu.clear_window.documentationString: \
  2538. @rm Clear all before last @GDB@ prompt
  2539.  
  2540. Ddd*commandsMenu.define.labelString:        Define Command...
  2541. Ddd*commandsMenu.define.mnemonic:            D
  2542. Ddd*commandsMenu.define.documentationString: \
  2543. @rm Define @GDB@ command
  2544.  
  2545. Ddd*commandsMenu.buttons.labelString:            Edit Buttons...
  2546. Ddd*commandsMenu.buttons.mnemonic:            u
  2547. Ddd*commandsMenu.buttons.documentationString: \
  2548. @rm Edit command buttons
  2549.  
  2550.  
  2551. ! Status
  2552. Ddd*menubar.stack.labelString:        Status
  2553. Ddd*menubar.stack.mnemonic:        t
  2554. Ddd*menubar.stack*documentationString:  \
  2555. @rm Show the current program state
  2556.  
  2557. define(STACK_HELP, [\
  2558. \
  2559. WIDGET(Status Menu)\n\
  2560. \n\
  2561. DESC(Backtrace..., [give a summary of how your program got where it is])\n\
  2562. DESC(Registers..., [show current processor registers])\n\
  2563. DESC(Threads..., [show current program threads])\n\
  2564. DESC(Signals..., [show current signal handling])\n\
  2565. \n\
  2566. DESC(Up, [show the function that called the current one])\n\
  2567. DESC(Down, [show the function that was called by the current one])
  2568. ])dnl
  2569.  
  2570. Ddd*menubar.stack.helpString:    STACK_HELP
  2571. Ddd*stackMenu*helpString:    STACK_HELP
  2572. Ddd*stackMenu*tearOffTitle:     Status
  2573.  
  2574. Ddd*stackMenu.stack.labelString:    Backtrace...
  2575. Ddd*stackMenu.stack.mnemonic:        B
  2576. Ddd*stackMenu.stack.documentationString: \
  2577. @rm Give a summary of how the debugged program got where it is
  2578.  
  2579. Ddd*stackMenu.registers.labelString:    Registers...
  2580. Ddd*stackMenu.registers.mnemonic:    R
  2581. Ddd*stackMenu.registers.documentationString: \
  2582. @rm Show registers and their contents
  2583.  
  2584. Ddd*stackMenu.threads.labelString:    Threads...
  2585. Ddd*stackMenu.threads.mnemonic:        T
  2586. Ddd*stackMenu.threads.documentationString: \
  2587. @rm Show and select current program threads
  2588.  
  2589. Ddd*stackMenu.signals.labelString:    Signals...
  2590. Ddd*stackMenu.signals.mnemonic:        S
  2591. Ddd*stackMenu.signals.documentationString: \
  2592. @rm Show and edit current signal handling
  2593.  
  2594. Ddd*stackMenu.up.labelString:        Up
  2595. Ddd*stackMenu.up.mnemonic:        U
  2596. Ddd*stackMenu.up.accelerator:        Ctrl<Key>Up
  2597. Ddd*stackMenu.up.acceleratorText:    Ctrl+Up
  2598. Ddd*stackMenu.up.documentationString: \
  2599. @rm Show the function that called the current one
  2600.  
  2601. Ddd*stackMenu.down.labelString:        Down
  2602. Ddd*stackMenu.down.mnemonic:        D
  2603. Ddd*stackMenu.down.accelerator:        Ctrl<Key>Down
  2604. Ddd*stackMenu.down.acceleratorText:    Ctrl+Down
  2605. Ddd*stackMenu.down.documentationString: \
  2606. @rm Show the function that was called by the current one
  2607.  
  2608.  
  2609.  
  2610. ! Source menu
  2611. Ddd*menubar.source.labelString:        Source
  2612. Ddd*menubar.source.mnemonic:        S
  2613. Ddd*menubar.source*documentationString: \
  2614. @rm Set and edit breakpoints in source files
  2615.  
  2616. define(SOURCE_HELP, [\
  2617. \
  2618. WIDGET(Source Menu)\n\
  2619. \n\
  2620. DESC(Edit Breakpoints..., [set, view, and edit breakpoints])\n\
  2621. \n\
  2622. DESC(Lookup (), [lookup LBL(()) in the source])\n\
  2623. DESC(LBL_FIND_FORWARD, [find next occurrence of LBL(())])\n\
  2624. DESC(LBL_FIND_BACKWARD, [find previous occurrence of LBL(())])\n\
  2625. \n\
  2626. ITEM LBL(Find Words Only) enables finding complete words only.\n\
  2627.     If unset, arbitrary occurrences are found.\n\
  2628. ITEM LBL(Find Case Sensitive) enables case-sensitive search.\n\
  2629.     If unset, occurrences are found regardless of case.\n\
  2630. \n\
  2631. DESC(Display Line Numbers, [enable numbered source lines])\n\
  2632. DESC(Display Machine Code, [enable disassembling of the current function])\n\
  2633. \n\
  2634. DESC(Edit Source..., [invoke text editor for current source])\n\
  2635. DESC(Reload Source , [reload current source file])])dnl
  2636.  
  2637. Ddd*menubar.source.helpString:    SOURCE_HELP
  2638. Ddd*sourceMenu.helpString:    SOURCE_HELP
  2639.  
  2640. Ddd*sourceMenu.breakpoints.labelString:        Edit Breakpoints...
  2641. Ddd*sourceMenu.breakpoints.mnemonic:        d
  2642. Ddd*sourceMenu.breakpoints.documentationString: \
  2643. @rm Set, view, and edit breakpoints
  2644.  
  2645. Ddd*sourceMenu.lookup.labelString:            Lookup ()
  2646. Ddd*sourceMenu.lookup.mnemonic:            L
  2647. Ddd*sourceMenu.lookup.accelerator:        Ctrl<Key>slash
  2648. Ddd*sourceMenu.lookup.acceleratorText:        Ctrl+/
  2649. Ddd*sourceMenu.lookup.documentationString:\
  2650. @rm Lookup LBL(()) in the source
  2651.  
  2652. Ddd*sourceMenu.findForward.labelString:            LBL_FIND_FORWARD
  2653. ! Ddd*sourceMenu.findForward.mnemonic:        >
  2654. Ddd*sourceMenu.findForward.accelerator:        Ctrl<Key>period
  2655. Ddd*sourceMenu.findForward.acceleratorText:    Ctrl+.
  2656. Ddd*sourceMenu.findForward.documentationString:\
  2657. @rm Search the next occurrence of LBL(())
  2658.  
  2659. Ddd*sourceMenu.findBackward.labelString:    LBL_FIND_BACKWARD
  2660. ! Ddd*sourceMenu.findBackward.mnemonic:        <
  2661. Ddd*sourceMenu.findBackward.accelerator:    Ctrl<Key>comma
  2662. Ddd*sourceMenu.findBackward.acceleratorText:    Ctrl+,
  2663. Ddd*sourceMenu.findBackward.documentationString:\
  2664. @rm Search the previous occurrence of LBL(())
  2665.  
  2666. Ddd*sourceMenu.findWordsOnly.labelString:    Find Words Only
  2667. Ddd*sourceMenu.findWordsOnly.mnemonic:        W
  2668. Ddd*sourceMenu.findWordsOnly.accelerator:    Meta<Key>W
  2669. Ddd*sourceMenu.findWordsOnly.acceleratorText:    Alt+W
  2670. Ddd*sourceMenu.findWordsOnly.documentationString:\
  2671. @rm Switch between finding complete words and finding arbitrary occurrences
  2672.  
  2673. Ddd*sourceMenu.findCaseSensitive.labelString:    Find Case Sensitive
  2674. Ddd*sourceMenu.findCaseSensitive.mnemonic:    i
  2675. Ddd*sourceMenu.findCaseSensitive.accelerator:    Meta<Key>I
  2676. Ddd*sourceMenu.findCaseSensitive.acceleratorText: Alt+I
  2677. Ddd*sourceMenu.findCaseSensitive.documentationString:\
  2678. @rm Toggle case-sensitive search
  2679.  
  2680. Ddd*sourceMenu.disassemble.labelString:        Display Machine Code
  2681. Ddd*sourceMenu.disassemble.mnemonic:        M
  2682. Ddd*sourceMenu.disassemble.accelerator:        Meta<Key>4
  2683. Ddd*sourceMenu.disassemble.acceleratorText:    Alt+4
  2684. Ddd*sourceMenu.disassemble.documentationString:\
  2685. @rm Toggle display of machine code window
  2686.  
  2687. Ddd*sourceMenu.lineNumbers.labelString:        Display Line Numbers
  2688. Ddd*sourceMenu.lineNumbers.mnemonic:        N
  2689. Ddd*sourceMenu.lineNumbers.accelerator:        Meta<Key>N
  2690. Ddd*sourceMenu.lineNumbers.acceleratorText:    Alt+N
  2691. Ddd*sourceMenu.lineNumbers.documentationString:\
  2692. @rm Toggle displaying source line numbers
  2693.  
  2694. Ddd*sourceMenu.edit.labelString:    Edit Source...
  2695. Ddd*sourceMenu.edit.mnemonic:        E
  2696. Ddd*sourceMenu.edit.accelerator:    ~Meta Shift Ctrl<Key>V
  2697. Ddd*sourceMenu.edit.acceleratorText:    Shift+Ctrl+V
  2698. Ddd*sourceMenu.edit.documentationString: \
  2699. @rm Invoke text editor for the current source
  2700.  
  2701. Ddd*sourceMenu.reload.labelString:    Reload Source
  2702. Ddd*sourceMenu.reload.mnemonic:        R
  2703. Ddd*sourceMenu.reload.accelerator:    ~Meta Shift Ctrl<Key>L
  2704. Ddd*sourceMenu.reload.acceleratorText:    Shift+Ctrl+L
  2705. Ddd*sourceMenu.reload.documentationString: \
  2706. @rm Reload current source file
  2707.  
  2708.  
  2709. ! Data menu
  2710. Ddd*menubar.data.labelString:        Data
  2711. Ddd*menubar.data.mnemonic:        D
  2712. Ddd*menubar.data*documentationString:   \
  2713. @rm Create and modify data displays
  2714.  
  2715. define(DATA_HELP, [\
  2716. \
  2717. WIDGET(Data Menu)\n\
  2718. \n\
  2719. DESC(Edit Displays..., [select, enable and delete displays])\n\
  2720. DESC(Edit Watchpoints..., [set, view, and edit watchpoints])\n\
  2721. DESC(Examine Memory..., [examine memory in any of several formats])\n\
  2722. \n\
  2723. DESC(Print (),   [print LBL(()) in @GDB@ console])\n\
  2724. DESC(Display (), [display LBL(()) in data window])\n\
  2725. \n\
  2726. DESC(Detect Aliases, [toggle alias detection])\n\
  2727. \n\
  2728. DESC(Display Local Variables, [show current local variables])\n\
  2729. DESC(Display Arguments, [show current argument variables])\n\
  2730. DESC(More Status Displays..., [show other things about the \
  2731. debugged program])\n\
  2732. \n\
  2733. DESC(Align on Grid, [align all displays on the next grid point])\n\
  2734. DESC(Rotate Graph, [rotate the graph clockwise by 90 degrees])\n\
  2735. DESC(Layout Graph, [layout the graph])\n\
  2736. \n\
  2737. DESC(Select All, [select all displays])\n\
  2738. DESC(Refresh, [update all displays])
  2739. ])dnl
  2740.  
  2741. Ddd*menubar.data*helpString:    DATA_HELP
  2742. Ddd*dataMenu*helpString:    DATA_HELP
  2743. Ddd*dataMenu*tearOffTitle:      Data
  2744.  
  2745. Ddd*dataMenu.displays.labelString:    Edit Displays...
  2746. Ddd*dataMenu.displays.mnemonic:        E
  2747. Ddd*dataMenu.displays.documentationString: \
  2748. @rm Select, enable and delete displays
  2749.  
  2750. Ddd*dataMenu.watchpoints.labelString:    Edit Watchpoints...
  2751. Ddd*dataMenu.watchpoints.mnemonic:    W
  2752. Ddd*dataMenu.watchpoints.documentationString: \
  2753. @rm Set, view, and edit watchpoints
  2754.  
  2755. Ddd*dataMenu.examine.labelString:    Examine Memory...
  2756. Ddd*dataMenu.examine.mnemonic:        x
  2757. Ddd*dataMenu.examine.documentationString: \
  2758. @rm Examine memory in any of several formats
  2759.  
  2760. Ddd*dataMenu.print.labelString:        Print ()
  2761. Ddd*dataMenu.print.mnemonic:        P
  2762. Ddd*dataMenu.print.accelerator:        Ctrl<Key>equal
  2763. Ddd*dataMenu.print.acceleratorText:    Ctrl+=
  2764. Ddd*dataMenu.print.documentationString: \
  2765. @rm Print the argument LBL(()) in the @GDB@ console
  2766.  
  2767. Ddd*dataMenu.display.labelString:    Display ()
  2768. Ddd*dataMenu.display.mnemonic:        D
  2769. Ddd*dataMenu.display.accelerator:    Ctrl<Key>minus
  2770. Ddd*dataMenu.display.acceleratorText:    Ctrl+-
  2771. Ddd*dataMenu.display.documentationString: \
  2772. @rm Display the argument LBL(()) in the data window
  2773.  
  2774. Ddd*dataMenu.detectAliases.labelString:    Detect Aliases
  2775. Ddd*dataMenu.detectAliases.mnemonic:    A
  2776. Ddd*dataMenu.detectAliases.accelerator:    Meta<Key>A
  2777. Ddd*dataMenu.detectAliases.acceleratorText: Alt+A
  2778. Ddd*dataMenu.detectAliases.documentationString:    \
  2779. @rm Detect aliases (shared data structures)
  2780.  
  2781. ! This item is visible in GDB only.
  2782. Ddd*dataMenu.info locals.labelString:    Display Local Variables
  2783. Ddd*dataMenu.info locals.mnemonic:    L
  2784. Ddd*dataMenu.info locals.accelerator:    Meta<Key>L
  2785. Ddd*dataMenu.info locals.acceleratorText: Alt+L
  2786. Ddd*dataMenu.info locals.documentationString: \
  2787. @rm Display the local variables of the current stack frame
  2788.  
  2789. ! This item is visible in GDB only.
  2790. Ddd*dataMenu.info args.labelString:    Display Arguments
  2791. Ddd*dataMenu.info args.mnemonic:    u
  2792. Ddd*dataMenu.info args.accelerator:    Meta<Key>U
  2793. Ddd*dataMenu.info args.acceleratorText: Alt+U
  2794. Ddd*dataMenu.info args.documentationString: \
  2795. @rm Display the argument variables of the current stack frame
  2796.  
  2797. ! This item is visible in DBX only.
  2798. Ddd*dataMenu.dump.labelString:        Display Local Variables
  2799. Ddd*dataMenu.dump.mnemonic:        L
  2800. Ddd*dataMenu.dump.accelerator:        Meta<Key>L
  2801. Ddd*dataMenu.dump.acceleratorText:    Alt+L
  2802. Ddd*dataMenu.dump.documentationString: \
  2803. @rm Display all local variables of the current stack frame
  2804.  
  2805. ! This item is visible in XDB only.
  2806. Ddd*dataMenu.l.labelString:        Display Local Variables
  2807. Ddd*dataMenu.l.mnemonic:        L
  2808. Ddd*dataMenu.l.accelerator:        Meta<Key>L
  2809. Ddd*dataMenu.l.acceleratorText:        Alt+L
  2810. Ddd*dataMenu.l.documentationString: \
  2811. @rm Display all local variables of the current stack frame
  2812.  
  2813. ! This item is visible in JDB only.
  2814. Ddd*dataMenu.locals.labelString:    Display Local Variables
  2815. Ddd*dataMenu.locals.mnemonic:        L
  2816. Ddd*dataMenu.locals.accelerator:    Meta<Key>L
  2817. Ddd*dataMenu.locals.acceleratorText:    Alt+L
  2818. Ddd*dataMenu.locals.documentationString: \
  2819. @rm Display all local variables of the current stack frame
  2820.  
  2821. Ddd*dataMenu.infos.labelString:        More Status Displays...
  2822. Ddd*dataMenu.infos.mnemonic:        M
  2823. Ddd*dataMenu.infos.documentationString: \
  2824. @rm Show various things about the program being debugged
  2825.  
  2826. Ddd*dataMenu.align.labelString:        Align on Grid
  2827. Ddd*dataMenu.align.mnemonic:        G
  2828. Ddd*dataMenu.align.accelerator:        Meta<Key>G
  2829. Ddd*dataMenu.align.acceleratorText:    Alt+G
  2830. Ddd*dataMenu.align.documentationString:    \
  2831. @rm Align all displays on the next grid point
  2832.  
  2833. Ddd*dataMenu.rotate.labelString:    Rotate Graph
  2834. Ddd*dataMenu.rotate.mnemonic:        R
  2835. Ddd*dataMenu.rotate.accelerator:    Meta<Key>R
  2836. Ddd*dataMenu.rotate.acceleratorText:    Alt+R
  2837. Ddd*dataMenu.rotate.documentationString:    \
  2838. @rm Rotate the graph clockwise by 90 degrees
  2839.  
  2840. Ddd*dataMenu.layout.labelString:    Layout Graph
  2841. Ddd*dataMenu.layout.mnemonic:        y
  2842. Ddd*dataMenu.layout.accelerator:    Meta<Key>Y
  2843. Ddd*dataMenu.layout.acceleratorText:    Alt+Y
  2844. Ddd*dataMenu.layout.documentationString:    \
  2845. @rm Layout the graph
  2846.  
  2847. Ddd*dataMenu.selectAll.labelString:    Select All
  2848. Ddd*dataMenu.selectAll.mnemonic:    S
  2849. ! Ddd*dataMenu.selectAll.accelerator:    Ctrl<Key>A
  2850. Ddd*dataMenu.selectAll.acceleratorText:    Ctrl+A
  2851. Ddd*dataMenu.selectAll.documentationString:    \
  2852. @rm Select all displays
  2853.  
  2854. Ddd*dataMenu.refresh.labelString:    Refresh
  2855. Ddd*dataMenu.refresh.mnemonic:        f
  2856. Ddd*dataMenu.refresh.accelerator:    ~Shift ~Meta Ctrl<Key>L
  2857. Ddd*dataMenu.refresh.acceleratorText:    Ctrl+L
  2858. Ddd*dataMenu.refresh.documentationString:    \
  2859. @rm Redraw all displays, using current values
  2860.  
  2861.  
  2862.  
  2863. ! Maintenance menu
  2864. Ddd*menubar.maintenance.labelString:    Maintenance
  2865. Ddd*menubar.maintenance.mnemonic:    M
  2866. Ddd*menubar.maintenance*documentationString:   \
  2867. @rm Debug DDD
  2868.  
  2869. define(MAINTENANCE_HELP, [\
  2870. \
  2871. WIDGET(Maintenance Menu)\n\
  2872. \n\
  2873. This menu is for DDD maintenance only.\n\
  2874. It becomes active when DDD gets a fatal signal.\n\
  2875. \n\
  2876. DESC(Debug [[[[DDD]]]]..., [invoke a debugger on this DDD instance])\n\
  2877. DESC(Dump Core, [dump core now])\n\
  2878. DESC(Tic Tac Toe..., [play Tic Tac Toe against DDD])\n\
  2879. \n\
  2880. DESC(When [[[[DDD]]]] Crashes, [what to do when DDD crashes])\n\
  2881. \n\
  2882. DESC(Remove Menu, [remove this menu])
  2883. ])dnl
  2884.  
  2885. Ddd*menubar.maintenance*helpString: MAINTENANCE_HELP
  2886. Ddd*maintenanceMenu*helpString:     MAINTENANCE_HELP
  2887. Ddd*maintenanceMenu*tearOffTitle:   Maintenance
  2888.  
  2889. Ddd*maintenanceMenu.debug.labelString:        Debug DDD...
  2890. Ddd*maintenanceMenu.debug.mnemonic:        D
  2891. Ddd*maintenanceMenu.debug.accelerator:        ~Shift ~Ctrl<Key>F12
  2892. Ddd*maintenanceMenu.debug.acceleratorText:    F12
  2893. Ddd*maintenanceMenu.debug.documentationString:    \
  2894. @rm Invoke a debugger on this DDD instance
  2895.  
  2896. Ddd*maintenanceMenu.dumpCore.labelString:    Dump Core Now
  2897. Ddd*maintenanceMenu.dumpCore.mnemonic:        C
  2898. Ddd*maintenanceMenu.dumpCore.documentationString:    \
  2899. @rm Make DDD dump core now
  2900.  
  2901. Ddd*maintenanceMenu.tictactoe.labelString:    Tic Tac Toe...
  2902. Ddd*maintenanceMenu.tictactoe.mnemonic:        T
  2903. Ddd*maintenanceMenu.tictactoe.documentationString:    \
  2904. @rm Play Tic Tac Toe against DDD
  2905.  
  2906. Ddd*maintenanceMenu.crash.labelString:        When DDD Crashes
  2907. Ddd*maintenanceMenu.crash.mnemonic:        W
  2908. Ddd*maintenanceMenu.crash.documentationString:    \
  2909. @rm What to do when DDD crashes
  2910.  
  2911. Ddd*maintenanceMenu.remove.labelString:         Remove Menu
  2912. Ddd*maintenanceMenu.remove.mnemonic:        R
  2913. Ddd*maintenanceMenu.remove.documentationString:    \
  2914. @rm Remove this menu
  2915.  
  2916.  
  2917. define(CRASH_HELP, [\
  2918. \
  2919. WIDGET(Crash Menu)\n\
  2920. \n\
  2921. When DDD crashes...\n\
  2922. DESC(Debug [[[[DDD]]]], [invoke a debugger])\n\
  2923. DESC(Dump Core, [dump core])\n\
  2924. DESC(Do Nothing, [neither invoke a debugger nor debug DDD])
  2925. ])dnl
  2926.  
  2927. Ddd*crashMenu*helpString:                 CRASH_HELP
  2928. Ddd*crashMenu*tearOffTitle:               When DDD Crashes
  2929.  
  2930. Ddd*crashMenu.debug.labelString:        Debug DDD
  2931. Ddd*crashMenu.debug.mnemonic:            D
  2932. Ddd*crashMenu.debug.documentationString:    \
  2933. @rm Invoke debugger on DDD when it crashes
  2934.  
  2935. Ddd*crashMenu.dumpCore.labelString:        Dump Core
  2936. Ddd*crashMenu.dumpCore.mnemonic:        C
  2937. Ddd*crashMenu.dumpCore.documentationString:    \
  2938. @rm Dump core when DDD crashes
  2939.  
  2940. Ddd*crashMenu.nothing.labelString:        Do Nothing
  2941. Ddd*crashMenu.nothing.mnemonic:            N
  2942. Ddd*crashMenu.nothing.documentationString:    \
  2943. @rm Neither invoke a debugger nor dump core
  2944.  
  2945.  
  2946. ! Help menu
  2947. Ddd*menubar.help.labelString:        Help
  2948. Ddd*menubar.help.mnemonic:        H
  2949. Ddd*menubar.help*documentationString:   \
  2950. @rm Get more information
  2951.  
  2952. define(HELP_HELP, [\
  2953. \
  2954. WIDGET(Help Menu)\n\
  2955. \n\
  2956. DESC(Overview, [help on how to use the help facility])\n\
  2957. \n\
  2958. DESC(On Item...,   [give help on the current item])\n\
  2959. DESC(On Window..., [help on the application itself])\n\
  2960. \n\
  2961. DESC(What Now?..., [give help on what to do now])\n\
  2962. DESC(Tip of the Day..., [give a useful tip on DDD usage])\n\
  2963. \n\
  2964. DESC([[[[DDD]]]] Reference..., [the DDD on-line manual])\n\
  2965. DESC([[[[DDD]]]] News..., [what's new in DDD])\n\
  2966. DESC(@GDB@ Reference..., [the @GDB@ on-line manual])\n\
  2967. \n\
  2968. DESC([[[[DDD]]]] License..., [copying, distributing, and modifying DDD])\n\
  2969. DESC([[[[DDD]]]] WWW Page..., [the DDD WWW page])\n\
  2970. \n\
  2971. DESC(About [[[[DDD]]]]..., [some general information about DDD])
  2972. ])dnl
  2973.  
  2974. Ddd*menubar.help*helpString: HELP_HELP
  2975. Ddd*helpMenu*helpString:     HELP_HELP
  2976. Ddd*helpMenu*tearOffTitle:   Help
  2977.  
  2978. Ddd*helpMenu.onHelp.labelString:        Overview...
  2979. Ddd*helpMenu.onHelp.mnemonic:            v
  2980. Ddd*helpMenu.onHelp.documentationString:    \
  2981. @rm How to use the help facility
  2982.  
  2983. Ddd*helpMenu.onItem.labelString:        On Item...
  2984. Ddd*helpMenu.onItem.mnemonic:            O
  2985. Ddd*helpMenu.onItem.accelerator:        ~Shift ~Ctrl<Key>HELP_KEY
  2986. ! *helpMenu.onItem.accelerator:                <Key>osfHelp
  2987.  
  2988. ! In fact, both HELP_KEY and Shift+HELP_KEY invoke help on item.
  2989. ! However, if we press HELP_KEY, we get immediate help, while
  2990. ! Shift+HELP_KEY will get `on context' help, where an item must be
  2991. ! selected first.  Since `on context' help is also what we get
  2992. ! when `on item' is selected via the menu, display the `alternate'
  2993. ! accelerator instead.
  2994. Ddd*helpMenu.onItem.acceleratorText:            Shift+HELP_KEY
  2995. Ddd*helpMenu.onItem.documentationString:    \
  2996. @rm Get help on the current item
  2997.  
  2998. Ddd*helpMenu.onWindow.labelString:        On Window...
  2999. Ddd*helpMenu.onWindow.mnemonic:            W
  3000. Ddd*helpMenu.onWindow.documentationString:    \
  3001. @rm Information about the current window
  3002.  
  3003. ! To make Shift+HELP_KEY work even on widgets that have no help callback
  3004. ! installed, we use this accelerator to invoke `on window' help.  `on window'
  3005. ! help will detect that Shift is pressed and call `on context' help instead.
  3006. Ddd*helpMenu.onWindow.accelerator:        Shift ~Ctrl<Key>HELP_KEY
  3007.  
  3008.  
  3009. Ddd*helpMenu.whatNext.labelString:        What Now?...
  3010. Ddd*helpMenu.whatNext.mnemonic:            N
  3011. Ddd*helpMenu.whatNext.accelerator:        ~Shift Ctrl<Key>HELP_KEY
  3012. Ddd*helpMenu.whatNext.acceleratorText:        Ctrl+HELP_KEY
  3013. Ddd*helpMenu.whatNext.documentationString:    \
  3014. @rm Explain the current situation and suggest what to do next
  3015.  
  3016. Ddd*helpMenu.tipOfTheDay.labelString:        Tip of the Day...
  3017. Ddd*helpMenu.tipOfTheDay.mnemonic:        T
  3018. Ddd*helpMenu.tipOfTheDay.documentationString:    \
  3019. @rm Give a useful tip on DDD usage
  3020.  
  3021. Ddd*helpMenu.dddManual.labelString:        DDD Reference...
  3022. Ddd*helpMenu.dddManual.mnemonic:        R
  3023. Ddd*helpMenu.dddManual.documentationString:    \
  3024. @rm The DDD reference manual
  3025.  
  3026. Ddd*helpMenu.news.labelString:            DDD News...
  3027. Ddd*helpMenu.news.mnemonic:            e
  3028. Ddd*helpMenu.news.documentationString:        \
  3029. @rm What's new in this DDD version
  3030.  
  3031. Ddd*helpMenu.gdbManual.labelString:        @GDB@ Reference...
  3032. Ddd*helpMenu.gdbManual.mnemonic:        B
  3033. Ddd*helpMenu.gdbManual.documentationString:    \
  3034. @rm The @GDB@ reference manual
  3035.  
  3036. Ddd*helpMenu.license.labelString:        DDD License...
  3037. Ddd*helpMenu.license.mnemonic:            L
  3038. Ddd*helpMenu.license.documentationString:    \
  3039. @rm Terms and conditions for copying, distributing, and modifying DDD
  3040.  
  3041. Ddd*helpMenu.www.labelString:            DDD WWW Page...
  3042. Ddd*helpMenu.www.mnemonic:            P
  3043. Ddd*helpMenu.www.documentationString:    \
  3044. @rm Invoke a WWW browser with up-to-date DDD information
  3045.  
  3046. Ddd*helpMenu.onVersion.labelString:        About DDD...
  3047. Ddd*helpMenu.onVersion.mnemonic:        A
  3048. Ddd*helpMenu.onVersion.documentationString:    \
  3049. @rm General information about this DDD version
  3050.  
  3051.  
  3052. !-----------------------------------------------------------------------------
  3053. ! Command Tool Layout
  3054. !-----------------------------------------------------------------------------
  3055.  
  3056. ! The number of rows in the command tool.
  3057. Ddd*tool_buttons.fractionBase:            90
  3058.  
  3059. ! The positions are set up according to the following scheme:
  3060. !    0 45 90    Each line has its individual number.
  3061. !  0 +--+--+    `topPosition' refers to the line above the button;
  3062. !    |  |  |    `bottomPosition' is the line below.  Likewise,
  3063. ! 10 +--+--+    `leftPosition' is the line at the left, and
  3064. !    |  |  |    `rightPosition' is the line to the right.  For instance,
  3065. ! 20 +--+--+    the line above the `break' button
  3066. !    |  |  |    is line 1 (topPosition), the line below is line 2
  3067. ! 30 +--+--+    (bottomPosition), the line to the left is line 0
  3068. !    |  |  |    (leftPosition), and the line to the right is line 8
  3069. ! 40 +--+--+    (rightPosition).
  3070. !    |  |  |    
  3071. ! 50 +--+--+    To replace a button by another command, change the
  3072. !    |  |  |    `toolButtons' resource, above, and insert appropriate
  3073. ! 60 +--+--+    resource values for the new button, specifying its
  3074. !    |  |  |    location.
  3075. ! 70 +--+--+    
  3076. !    |  |  |    
  3077. ! 80 +--+--+    
  3078. !    |  |  |    
  3079. ! 90 +--+--+    
  3080.  
  3081. Ddd*tool_buttons.run.topPosition:        0
  3082. Ddd*tool_buttons.run.bottomPosition:        10
  3083. Ddd*tool_buttons.run.leftPosition:        0
  3084. Ddd*tool_buttons.run.rightPosition:        90
  3085.  
  3086. Ddd*tool_buttons.break.topPosition:        10
  3087. Ddd*tool_buttons.break.bottomPosition:        20
  3088. Ddd*tool_buttons.break.leftPosition:        0
  3089. Ddd*tool_buttons.break.rightPosition:        90
  3090.  
  3091. Ddd*tool_buttons.step.topPosition:        20
  3092. Ddd*tool_buttons.step.bottomPosition:        30
  3093. Ddd*tool_buttons.step.leftPosition:        0
  3094. Ddd*tool_buttons.step.rightPosition:        45
  3095.  
  3096. Ddd*tool_buttons.stepi.topPosition:        20
  3097. Ddd*tool_buttons.stepi.bottomPosition:        30
  3098. Ddd*tool_buttons.stepi.leftPosition:        45
  3099. Ddd*tool_buttons.stepi.rightPosition:        90
  3100.  
  3101. Ddd*tool_buttons.next.topPosition:        30
  3102. Ddd*tool_buttons.next.bottomPosition:        40
  3103. Ddd*tool_buttons.next.leftPosition:        0
  3104. Ddd*tool_buttons.next.rightPosition:        45
  3105.  
  3106. Ddd*tool_buttons.nexti.topPosition:        30
  3107. Ddd*tool_buttons.nexti.bottomPosition:        40
  3108. Ddd*tool_buttons.nexti.leftPosition:        45
  3109. Ddd*tool_buttons.nexti.rightPosition:        90
  3110.  
  3111. Ddd*tool_buttons.until.topPosition:        40
  3112. Ddd*tool_buttons.until.bottomPosition:        50
  3113. Ddd*tool_buttons.until.leftPosition:        0
  3114. Ddd*tool_buttons.until.rightPosition:        45
  3115.  
  3116. Ddd*tool_buttons.finish.topPosition:        40
  3117. Ddd*tool_buttons.finish.bottomPosition:        50
  3118. Ddd*tool_buttons.finish.leftPosition:        45
  3119. Ddd*tool_buttons.finish.rightPosition:        90
  3120.  
  3121. Ddd*tool_buttons.cont.topPosition:        50
  3122. Ddd*tool_buttons.cont.bottomPosition:        60
  3123. Ddd*tool_buttons.cont.leftPosition:        0
  3124. Ddd*tool_buttons.cont.rightPosition:        45
  3125.  
  3126. Ddd*tool_buttons.kill.topPosition:        50
  3127. Ddd*tool_buttons.kill.bottomPosition:        60
  3128. Ddd*tool_buttons.kill.leftPosition:        45
  3129. Ddd*tool_buttons.kill.rightPosition:        90
  3130.  
  3131. Ddd*tool_buttons.up.topPosition:        60
  3132. Ddd*tool_buttons.up.bottomPosition:        70
  3133. Ddd*tool_buttons.up.leftPosition:        0
  3134. Ddd*tool_buttons.up.rightPosition:        45
  3135.  
  3136. Ddd*tool_buttons.down.topPosition:        60
  3137. Ddd*tool_buttons.down.bottomPosition:        70
  3138. Ddd*tool_buttons.down.leftPosition:        45
  3139. Ddd*tool_buttons.down.rightPosition:        90
  3140.  
  3141. Ddd*tool_buttons.Undo.topPosition:        70
  3142. Ddd*tool_buttons.Undo.bottomPosition:        80
  3143. Ddd*tool_buttons.Undo.leftPosition:        0
  3144. Ddd*tool_buttons.Undo.rightPosition:        45
  3145.  
  3146. Ddd*tool_buttons.Redo.topPosition:        70
  3147. Ddd*tool_buttons.Redo.bottomPosition:        80
  3148. Ddd*tool_buttons.Redo.leftPosition:        45
  3149. Ddd*tool_buttons.Redo.rightPosition:        90
  3150.  
  3151. Ddd*tool_buttons.Edit.topPosition:        80
  3152. Ddd*tool_buttons.Edit.bottomPosition:        90
  3153. Ddd*tool_buttons.Edit.leftPosition:        0
  3154. Ddd*tool_buttons.Edit.rightPosition:        45
  3155.  
  3156. Ddd*tool_buttons.Make.topPosition:        80
  3157. Ddd*tool_buttons.Make.bottomPosition:        90
  3158. Ddd*tool_buttons.Make.leftPosition:        45
  3159. Ddd*tool_buttons.Make.rightPosition:        90
  3160.  
  3161. ! Command tool button placement.  Don't change this.
  3162. Ddd*tool_buttons*topAttachment:            XmATTACH_POSITION
  3163. Ddd*tool_buttons*bottomAttachment:        XmATTACH_POSITION
  3164. Ddd*tool_buttons*leftAttachment:        XmATTACH_POSITION
  3165. Ddd*tool_buttons*rightAttachment:        XmATTACH_POSITION
  3166.  
  3167. ! Make command tool and tool bar buttons a little lighter
  3168. Ddd*tool_buttons*shadowThickness:        1
  3169. Ddd*source_buttons*shadowThickness:        1
  3170. Ddd*console_buttons*shadowThickness:        1
  3171. Ddd*data_buttons*shadowThickness:        1
  3172. Ddd*command_toolbar*shadowThickness:        1
  3173. Ddd*toolbar.?.shadowThickness:            1
  3174.  
  3175.  
  3176. !-----------------------------------------------------------------------------
  3177. ! Preferences
  3178. !-----------------------------------------------------------------------------
  3179.  
  3180. ! Ddd*preferences.okLabelString:         Close
  3181. Ddd*preferences.cancelLabelString:        Reset
  3182. Ddd*preferences_popup.title:            DDD Preferences
  3183.  
  3184. Ddd*preferences*buttons.orientation:         XmHORIZONTAL
  3185. Ddd*preferences*buttons.borderWidth:          0
  3186. Ddd*preferences*buttons.marginWidth:          0
  3187. Ddd*preferences*buttons.marginHeight:        0
  3188. Ddd*preferences*buttons.entryAlignment:        XmALIGNMENT_CENTER
  3189. Ddd*preferences*buttons*indicatorOn:        off
  3190. Ddd*preferences*buttons*shadowThickness:    2
  3191. Ddd*preferences*buttons*alignment:        XmALIGNMENT_CENTER
  3192. Ddd*preferences*panel*XmRowColumn.marginHeight: 0
  3193. Ddd*preferences*packing:                      XmPACK_TIGHT
  3194.  
  3195. Ddd*preferences*buttons*general.labelString:    \ \ \ General\ \ \ 
  3196. Ddd*preferences*buttons*source.labelString:    Source
  3197. Ddd*preferences*buttons*data.labelString:    Data
  3198. Ddd*preferences*buttons*startup.labelString:    Startup
  3199. Ddd*preferences*buttons*fonts.labelString:    Fonts
  3200. Ddd*preferences*buttons*helpers.labelString:    Helpers
  3201. Ddd*preferences*buttons*packing:                XmPACK_COLUMN
  3202.  
  3203. Ddd*preferences*general*helpString:    \
  3204. WIDGET(General Preferences)\n\
  3205. \n\
  3206. ITEM When you move the mouse pointer over a button, DDD can give a hint \
  3207. on its usage.\n\
  3208.     SUBITEM Select LBL(as popup tips) if you want the hint to be shown \
  3209. in a popup window.\n\
  3210.     SUBITEM Select LBL(in the status line) if you want the hint to be shown \
  3211. in the status line.\n\
  3212.     You can also select both options, or none at all.\n\
  3213. ITEM When you move the mouse pointer over a variable in the source window,\n\
  3214.     DDD can automatically display the variable value.\n\
  3215.     SUBITEM Select LBL(as popup tips) if you want the value to be shown \
  3216. in a popup window.\n\
  3217.     SUBITEM Select LBL(in the status line) if you want it to be shown \
  3218. in the status line.\n\
  3219.     You can also select both options, or none at all.\n\
  3220. ITEM In DDD, the KEY(Tab) key can complete its arguments.\n\
  3221.     SUBITEM Set LBL(in all windows) if you want completion in all DDD \
  3222. windows.\n\
  3223.     SUBITEM Set LBL(in console only) if you need the KEY(Tab) key to move \
  3224. the focus.\n\
  3225. ITEM If LBL(Iconify all windows at once) is set, all DDD windows are \
  3226. iconified as a group.\n\
  3227.     Otherwise, windows are iconified separately.\n\
  3228. ITEM If LBL(Uniconify when ready) is set, the DDD windows are \
  3229. automatically uniconified\n\
  3230.     when DDD becomes ready (e.g. after reaching a breakpoint).\n\
  3231.     Otherwise, DDD windows remain iconified.\n\
  3232. ITEM If LBL(Suppress X warnings) is set, X warnings are silently ignored.\n\
  3233. ITEM If LBL(Continue automatically...) is set, DDD will continue execution\n\
  3234.     of programs that were interrupted while grabbing the mouse pointer.\n\
  3235. ITEM LBL(Warn if multiple...) enables warnings about multiple DDD instances\n\
  3236.     that share (and may overwrite) preferences and other state files.\n\
  3237. ITEM LBL(Undo Buffer Size) sets the maximum size of the undo buffer.\n\
  3238. \n\
  3239. Use the buttons above to view and change other preferences.\n\
  3240. Click on LBL(Reset) to restore the saved preferences.
  3241.  
  3242.  
  3243. Ddd*preferences*buttonHints.labelString:     \
  3244. Automatic Display of Button Hints
  3245. Ddd*preferences*valueHints.labelString:     \
  3246. Automatic Display of Variable Values
  3247.  
  3248. Ddd*preferences*tips.labelString: as Popup Tips
  3249. Ddd*preferences*docs.labelString: in the Status Line
  3250.  
  3251. Ddd*preferences*tabCompletion.labelString: \
  3252. TAB Key Completes
  3253. Ddd*preferences*inAllWindows.labelString: in All Windows
  3254. Ddd*preferences*inConsole.labelString:    in Console Only
  3255.  
  3256. Ddd*preferences*undoSize.labelString: \
  3257. Undo Buffer Size
  3258. Ddd*preferences*size.text.columns:  5
  3259. Ddd*preferences*kbytes.labelString: kBytes
  3260. Ddd*preferences*clear.labelString:  Clear Undo Buffer
  3261.  
  3262.  
  3263. Ddd*preferences*groupIconify.labelString:    \
  3264. Iconify all Windows at Once
  3265. Ddd*preferences*uniconifyWhenReady.labelString:    \
  3266. Uniconify When Ready
  3267. Ddd*preferences*suppressWarnings.labelString:    \
  3268. Suppress X Warnings
  3269. Ddd*preferences*checkGrabs.labelString:         \
  3270. Continue Automatically when Mouse Pointer is Frozen
  3271. Ddd*preferences*warnIfLocked.labelString:    \
  3272. Warn if Multiple DDD Instances are Running
  3273.  
  3274.  
  3275. Ddd*preferences*source*helpString:    \
  3276. WIDGET(Source Preferences)\n\
  3277. \n\
  3278. ITEM DDD can show the current position and breakpoints\n\
  3279.     SUBITEM LBL(as glyphs), using small images in the text,\n\
  3280.     SUBITEM LBL(as text), using ordinary text characters.\n\
  3281. ITEM The LBL(Tool Buttons) can be placed\n\
  3282.     SUBITEM in the LBL(Command Tool) which can be moved around DDD, or\n\
  3283.     SUBITEM in the LBL(Source Window), as line of buttons.\n\
  3284. ITEM Using DBX, DDD can refer to program sources\n\
  3285.     SUBITEM by LBL(path name), or\n\
  3286.     SUBITEM by LBL(base name), as required by some DBX variants.\n\
  3287. ITEM If LBL(Find words only) is set, only complete words are found.\n\
  3288.     Otherwise, DDD finds arbitrary occurrences.\n\
  3289. ITEM If LBL(Find case sensitive) is set, search is case-sensitive.\n\
  3290.     Otherwise, DDD finds occurrences regardless of case.\n\
  3291. ITEM If LBL(Cache source files) is set, source texts are cached in memory.\n\
  3292.     Otherwise, sources are read from disk upon each source change.\n\
  3293. ITEM If LBL(Cache machine code) is set, disassembled code is cached \
  3294. in memory.\n\
  3295.     Otherwise, code is re-disassembled upon each function change.\n\
  3296. ITEM LBL(Display line numbers) enables numbered source lines.\n\
  3297. ITEM In LBL(Tab Width), you can set the spacing of tab stops.\n\
  3298.     Setting the tab width to 8 sets a tab stop every 8 characters.\n\
  3299. ITEM In LBL(Indentation), you can indent the source and machine code,\n\
  3300.     giving additional room for the breakpoint area.\n\
  3301. \n\
  3302. Use the buttons above to view and change other preferences.\n\
  3303. Click on LBL(Reset) to restore the saved preferences.
  3304.  
  3305. Ddd*preferences*showExecPos.labelString:    Show Position and Breakpoints
  3306. Ddd*preferences*asGlyphs.labelString:        as Glyphs
  3307. Ddd*preferences*asText.labelString:        as Text Characters
  3308.  
  3309. Ddd*preferences*toolButtons.labelString:    Tool buttons location
  3310. Ddd*toolButtonsMenu*commandTool.labelString:    \
  3311. Command Tool
  3312. Ddd*toolButtonsMenu*sourceWindow.labelString:   \
  3313. Source Window\ \ \ \ \ 
  3314.  
  3315. Ddd*preferences*referSources.labelString:    Refer to Program Sources
  3316. Ddd*preferences*byPath.labelString:        by Path Name
  3317. Ddd*preferences*byBase.labelString:        by Base Name
  3318.  
  3319. Ddd*preferences*cache.labelString:            Cache
  3320. Ddd*preferences*cacheSource.labelString:    Source Files
  3321. Ddd*preferences*cacheCode.labelString:        Machine Code
  3322.  
  3323. Ddd*preferences*find.labelString:            Find
  3324. Ddd*preferences*wordsOnly.labelString:        Words Only\ 
  3325. Ddd*preferences*caseSensitive.labelString:    Case Sensitive
  3326.  
  3327. Ddd*preferences*lineNumbers.labelString:    Display Source Line Numbers
  3328.  
  3329. Ddd*preferences*tabWidth.orientation:        XmHORIZONTAL
  3330. Ddd*preferences*tabWidth.minimum:        1
  3331. Ddd*preferences*tabWidth.maximum:        32
  3332. Ddd*preferences*tabWidth.showValue:        on
  3333. Ddd*preferences*tabWidth.titleString:        \
  3334. Tab Width\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 
  3335.  
  3336. Ddd*preferences*sourceIndent.orientation:    XmHORIZONTAL
  3337. Ddd*preferences*sourceIndent.minimum:        0
  3338. Ddd*preferences*sourceIndent.maximum:        16
  3339. Ddd*preferences*sourceIndent.showValue:        on
  3340. Ddd*preferences*sourceIndent.titleString:    \
  3341. Source Indentation\ \ \ \ \ \ \ \ \ \ \ 
  3342.  
  3343. Ddd*preferences*codeIndent.orientation:        XmHORIZONTAL
  3344. Ddd*preferences*codeIndent.minimum:        0
  3345. Ddd*preferences*codeIndent.maximum:        16
  3346. Ddd*preferences*codeIndent.showValue:        on
  3347. Ddd*preferences*codeIndent.titleString:        \
  3348. Machine Code Indentation
  3349.  
  3350.  
  3351. Ddd*preferences*data*helpString:    \
  3352. WIDGET(Data Preferences)\n\
  3353. \n\
  3354. ITEM If LBL(Detect aliases) is set, DDD detects displays with the same\n\
  3355.     physical address and suppresses all aliases except the one that was\n\
  3356.     least recently changed.  Useful for examining shared data structures.\n\
  3357. ITEM If LBL(Cluster data displays) is set, all independent data displays\n\
  3358.     will be merged into one single cluster, saving screen space.\n\
  3359. ITEM If LBL(Display two-dimensional arrays as tables) is set, the elements\n\
  3360.     of two-dimensional arrays are aligned in a table.\n\
  3361.     Otherwise, two-dimensional arrays are displayed as nested linear arrays.\n\
  3362. ITEM LBL(Show edge hints) enables handles for multi-line and arc edges.\n\
  3363. ITEM LBL(Show edge annotations) enables named edges.\n\
  3364. ITEM LBL(Show titles) enables titles of dependent displays.\n\
  3365. ITEM If LBL(Close data window when deleting last display) is set,\n\
  3366.     deleting the last display automatically closes the data window.\n\
  3367. ITEM LBL(Compact layout) enables a compact layout,\n\
  3368.     suitable for homogeneous structures only.\n\
  3369. ITEM LBL(Automatic layout) makes DDD layout the graph after each change.\n\
  3370. ITEM If LBL(Auto-align displays) is set,\n\
  3371.     each display is aligned on the nearest grid point.\n\
  3372. ITEM In LBL(Grid size), you can change the spacing of grid points.\n\
  3373.     A spacing of 0 disables the grid.\n\
  3374. \n\
  3375. Use the buttons above to view and change other preferences.\n\
  3376. Click on LBL(Reset) to restore the saved preferences.
  3377.  
  3378. Ddd*preferences*detectAliases.labelString:    \
  3379. Detect Aliases (shared data structures)
  3380. Ddd*preferences*clusterDisplays.labelString:    \
  3381. Cluster Data Displays
  3382. Ddd*preferences*align2dArrays.labelString:    \
  3383. Display Two-Dimensional Arrays as Tables
  3384. Ddd*preferences*snapToGrid.labelString:            \
  3385. Auto-Align Displays on Nearest Grid Point
  3386. Ddd*preferences*show.labelString:            \
  3387. Show
  3388. Ddd*preferences*hints.labelString:            \
  3389. Edge Hints
  3390. Ddd*preferences*annotations.labelString:    \
  3391. Edge Annotations
  3392. Ddd*preferences*dependentTitles.labelString:    \
  3393. Titles of Dependent Displays
  3394. Ddd*preferences*autoClose.labelString:            \
  3395. Close Data Window when Deleting last Display
  3396.  
  3397. Ddd*preferences*layout.labelString:            \
  3398. Layout
  3399. Ddd*preferences*auto.labelString:            \
  3400. Automatic
  3401. Ddd*preferences*compact.labelString:            \
  3402. Compact
  3403.  
  3404. Ddd*preferences*gridSize.orientation:        XmHORIZONTAL
  3405. Ddd*preferences*gridSize.minimum:        0
  3406. Ddd*preferences*gridSize.maximum:        64
  3407. Ddd*preferences*gridSize.showValue:        on
  3408. Ddd*preferences*gridSize.titleString:        Grid Size
  3409.  
  3410. Ddd*preferences*startup*helpString:   \
  3411. WIDGET(Startup Preferences)\n\
  3412. \n\
  3413. These preferences are effective only after a restart.\n\
  3414. \n\
  3415. ITEM LBL(Window Layout) sets the window layout.\n\
  3416.     SUBITEM LBL(Stacked Windows) means to use one top-level window\n\
  3417.         where source, data, and the @GDB@ console are stacked.\n\
  3418.     SUBITEM LBL(Separate Windows) means to use a separate top-level window\n\
  3419.         for each of source, data, and the @GDB@ console.\n\
  3420. ITEM The LBL(Ctrl+C) and LBL(Ctrl+A) keys can be bound to different actions.\n\
  3421. ITEM The LBL(Tool Bar) can appear as follows:\n\
  3422.     SUBITEM LBL(Images) shows a small symbol for each action, and/or\n\
  3423.     SUBITEM LBL(Captions) shows the action name below the image.\n\
  3424.     If neither LBL(Images) nor LBL(Captions) is set, \
  3425. buttons have ordinary labels.\n\
  3426.     SUBITEM LBL(Flat) enables the button border only when entered.\n\
  3427.     SUBITEM LBL(Color) enables colored button images.\n\
  3428.     SUBITEM LBL(Bottom) places the tool bar at the bottom of the window.\n\
  3429.     This can only be done with separate windows or ordinary labels.\n\
  3430. ITEM LBL(Keyboard Focus) sets the keyboard focus policy.\n\
  3431.     SUBITEM LBL(Click to Type) means that you must click on a window\n\
  3432.         to direct the keyboard focus to it.\n\
  3433.     SUBITEM LBL(Point to Type) means that pointing to the window suffices.\n\
  3434. ITEM LBL(Data Scrolling) sets the data window scrolling mode.\n\
  3435.     SUBITEM LBL(Panner) means to use a two-dimensional scrollbar\n\
  3436.         (not available in all DDD configurations).\n\
  3437.     SUBITEM LBL(Scrollbars) means to use two scrollbars.\n\
  3438. ITEM LBL(Debugger Type) sets the type of the inferior debugger.\n\
  3439.     If LBL(Determine Automatically...) is set, the inferior debugger is set\n\
  3440.     dependent on the arguments given to DDD.\n\
  3441. ITEM LBL(Show Splash Screen) sets whether DDD shows its splash screen.\n\
  3442. ITEM LBL(Show Tip of the Day) sets whether DDD shows its tip of the day.\n\
  3443. \n\
  3444. Use the buttons above to view and change other preferences.\n\
  3445. Click on LBL(Reset) to restore the saved preferences.
  3446.  
  3447. Ddd*preferences*startup*adjustMargin:        off
  3448.  
  3449. Ddd*preferences*windows.labelString:        Window Layout
  3450. Ddd*windowsMenu*attached.labelString:        Stacked Windows
  3451. Ddd*windowsMenu*separate.labelString:        Separate Windows
  3452.  
  3453. Ddd*preferences*cutCopyPaste.labelString:    Ctrl+C is
  3454. Ddd*cutCopyPasteMenu*kde.labelString:        Copy
  3455. Ddd*cutCopyPasteMenu*motif.labelString:        Interrupt
  3456.  
  3457. Ddd*preferences*selectAll.labelString:        Ctrl+A is
  3458. Ddd*selectAllMenu*kde.labelString:        Select All
  3459. Ddd*selectAllMenu*motif.labelString:        Beginning of Line
  3460.  
  3461. Ddd*preferences*buttons.labelString:        Tool Bar Appearance
  3462. Ddd*buttonsMenu*images.labelString:        Images
  3463. Ddd*buttonsMenu*captions.labelString:        Captions
  3464. Ddd*buttonsMenu*flat.labelString:        Flat
  3465. Ddd*buttonsMenu*color.labelString:        Color
  3466. Ddd*buttonsMenu*color.toggleMode:        XmTOGGLE_INDETERMINATE
  3467. Ddd*buttonsMenu*bottom.labelString:        Bottom
  3468.  
  3469. Ddd*preferences*keyboardFocus.labelString:    Keyboard Focus
  3470. Ddd*keyboardFocusMenu*explicit.labelString:    Click to Type
  3471. Ddd*keyboardFocusMenu*pointer.labelString:    Point to Type
  3472.  
  3473. Ddd*preferences*dataScrolling.labelString:    Data Scrolling
  3474. Ddd*dataScrollingMenu*panner.labelString:    Panner
  3475. Ddd*dataScrollingMenu*scrollbars.labelString:    Scrollbars
  3476.  
  3477. Ddd*preferences*autoDebugger.labelString:    Debugger Type
  3478. Ddd*preferences*automatic.labelString:        \
  3479. Determine Automatically from Arguments
  3480. Ddd*preferences*debugger.labelString:        
  3481. Ddd*debuggerMenu*gdb.labelString:        GDB
  3482. Ddd*debuggerMenu*dbx.labelString:        DBX
  3483. Ddd*debuggerMenu*xdb.labelString:        XDB
  3484. Ddd*debuggerMenu*jdb.labelString:        JDB
  3485. Ddd*debuggerMenu*pydb.labelString:        PYDB
  3486. Ddd*debuggerMenu*perl.labelString:        Perl
  3487. Ddd*debuggerMenu.numColumns:                      1
  3488.  
  3489. Ddd*preferences*startupWindows.labelString:     Startup Windows
  3490. Ddd*preferences*splashScreen.labelString:    DDD Splash Screen
  3491. Ddd*preferences*startupTips.labelString:    Tip of the Day
  3492.  
  3493.  
  3494. Ddd*preferences*fonts*helpString: \
  3495. WIDGET([DDD] fonts)\n\
  3496. \n\
  3497. ITEM LBL(Default Font) is the font used for DDD labels and buttons.\n\
  3498. ITEM LBL(Variable Width) is the font used for messages (such as this one).\n\
  3499. ITEM LBL(Fixed Width) is the font used for program code and text fields.\n\
  3500. \n\
  3501. To change a font, enter its name and size (in 1/10 points).\n\
  3502. A pair VAR(family)-VAR(weight) as font name is sufficient.\n\
  3503. \n\
  3504. Using LBL(Browse), you can select fonts using the CODE(xfontsel)\n\
  3505. font selection program.\n\
  3506. Click on LBL(select) to select the chosen font.\n\
  3507. Wildcard entries (SAMP(*)) will be ignored.\n\
  3508. \n\
  3509. Use the buttons above to view and change other preferences.\n\
  3510. Click on LBL(Reset) to restore the saved preferences.
  3511.  
  3512.  
  3513. Ddd*preferences*fonts*default.labelString:     Default Font
  3514. Ddd*preferences*fonts*variableWidth.labelString: Variable Width
  3515. Ddd*preferences*fonts*fixedWidth.labelString:     Fixed Width
  3516.  
  3517. Ddd*preferences*fonts*name.text.columns:     30
  3518. Ddd*preferences*fonts*size.label.labelString:     Size
  3519. Ddd*preferences*fonts*size.text.columns:     3
  3520. Ddd*preferences*fonts*browse.labelString:     Browse...
  3521.  
  3522.  
  3523. Ddd*preferences*helpers*helpString: \
  3524. WIDGET([DDD] Helpers)\n\
  3525. \n\
  3526. Helpers are external applications used by DDD.\n\
  3527. \n\
  3528. ITEM LBL(Edit Sources) invokes an X editor for the current source file.\n\
  3529.     SAMP(@ FILE@ ) is replaced by the current file name.\n\
  3530.     SAMP(@ LINE@ ) is replaced by the current line.\n\
  3531.     Example: SAMP(nedit @ FILE@ )\n\
  3532. ITEM LBL(Get Core File) is a command to get a core file \
  3533. from a running process.\n\
  3534.     SAMP(@ FILE@ ) is replaced by the base name of the target core file.\n\
  3535.     SAMP(@ PID@ ) is replaced by the process ID.\n\
  3536.     The output must be written to SAMP(@ FILE@ .@ PID@ ).\n\
  3537.     Example: SAMP(gcore -o @ FILE@  @ PID@ )\n\
  3538.     Leave this empty if you have no SAMP(gcore) or similar command.\n\
  3539. ITEM LBL(List Processes) is a command to get a list of processes.\n\
  3540.     Example: SAMP(ps)\n\
  3541. ITEM LBL(Execution Window) is a command to start a terminal emulator.\n\
  3542.     To this command, DDD appends bourne shell commands to be executed\n\
  3543.     within the execution window.\n\
  3544.     Example: SAMP(@XTERM@ -e /bin/sh -c)\n\
  3545. ITEM LBL(Uncompress) is an uncompression command.\n\
  3546.     The command reads from standard input and writes to standard output.\n\
  3547.     Example: SAMP(gunzip -c)\n\
  3548. ITEM LBL(Web Browser) invokes a WWW browser.\n\
  3549.     SAMP(@ URL@ ) is replaced by the URL to be shown.\n\
  3550.     Example: SAMP(netscape @ URL@ )\n\
  3551. ITEM LBL(Plot) invokes a Gnuplot program for plotting data.\n\
  3552.     Example: SAMP(gnuplot)\n\
  3553. ITEM LBL(Plot Window) indicates the type of plot window to use.\n\
  3554.     SUBITEM The LBL(builtin) DDD window uses fewer resources.\n\
  3555.     SUBITEM The LBL(external) Gnuplot window is much faster, but\n\
  3556.         does not work with all window managers.\n\
  3557. \n\
  3558. Use the buttons above to view and change other preferences.\n\
  3559. Click on LBL(Reset) to restore the saved preferences.
  3560.  
  3561. Ddd*preferences*edit*labelString:        Edit Sources
  3562. Ddd*preferences*get_core*labelString:        Get Core File
  3563. Ddd*preferences*ps*labelString:            List Processes
  3564. Ddd*preferences*term*labelString:        Execution Window
  3565. Ddd*preferences*uncompress*labelString:        Uncompress
  3566. Ddd*preferences*www*labelString:        Web Browser
  3567. Ddd*preferences*plot*labelString:        Plot
  3568. Ddd*preferences*plot_window*labelString:    Plot Window
  3569. Ddd*preferences*extern*labelString:        External
  3570. Ddd*preferences*builtin*labelString:        Builtin
  3571. Ddd*preferences*text.columns:            47
  3572.  
  3573.  
  3574.  
  3575. !-----------------------------------------------------------------------------
  3576. ! Settings
  3577. !-----------------------------------------------------------------------------
  3578.  
  3579. Ddd*settings_popup.title: DDD: Debugger Settings
  3580. ! Ddd*settings.okLabelString: Close
  3581. Ddd*settings.cancelLabelString: Reset
  3582. Ddd*settings.textAccelerators:
  3583.  
  3584. Ddd*settings*help.labelString:        ?
  3585. Ddd*settings*XmTextField.columns:    10
  3586. Ddd*settings*XmTextField.marginHeight:    3
  3587.  
  3588. ! Settings for special fields
  3589. Ddd*settings*dir.columns:        36
  3590. Ddd*settings*path.columns:       36
  3591. Ddd*settings*use.columns:        50
  3592. Ddd*settings*v8.labelString:     SPARC V8
  3593. Ddd*settings*v9.labelString:     SPARC V9
  3594. Ddd*settings*v9sgi.labelString:  SPARC V9 with Special Graphics Instructions
  3595. Ddd*settings*parent.labelString: stay with parent
  3596. Ddd*settings*child.labelString:  follow child
  3597. Ddd*settings*both.labelString:   follow both
  3598. Ddd*settings*ask.labelString:    ask for an option
  3599. Ddd*settings*stdio.labelString:  Standard I/O
  3600. Ddd*settings*pty.labelString:    PTY
  3601.  
  3602. Ddd*settings*help.tipString:\
  3603. @rm Get help on this setting
  3604.  
  3605. ! An empty help string means that the help text for this command
  3606. ! is to be requested from GDB (via the GDB `help' command).
  3607. Ddd*settings*scroll*helpString:
  3608.  
  3609. ! The panel itself has a help button, too.
  3610. Ddd*settings*helpString: \
  3611. WIDGET(@GDB@ Settings)\n\
  3612. \n\
  3613. All settings (except source and object paths) can be saved\n\
  3614. using LBL(Edit, Save Options).\n\
  3615. \n\
  3616. Click on LBL(?) near an item to get further information.\n\
  3617. In a text field, press the KEY_RETURN key to commit the changes.\n\
  3618. \n\
  3619. Click on LBL(Reset) to restore the saved settings.\n\
  3620. Click on LBL(OK) to close this window.
  3621.  
  3622.  
  3623. !-----------------------------------------------------------------------------
  3624. ! Status displays
  3625. !-----------------------------------------------------------------------------
  3626.  
  3627. ! Ddd*infos.okLabelString: Close
  3628. Ddd*infos.cancelLabelString: Reset
  3629. Ddd*infos_popup.title: DDD: Status Displays
  3630.  
  3631. Ddd*infos*help.labelString:            ?
  3632. Ddd*infos*help.tipString:\
  3633. @rm Get help on this status display
  3634.  
  3635. ! An empty help string means that the help text for this command
  3636. ! is to be requested from GDB (via the GDB `help' command).
  3637. Ddd*infos*scroll*helpString:
  3638.  
  3639. ! The panel itself has a help button, too.
  3640. Ddd*infos*helpString: \
  3641. WIDGET(Status Displays)\n\
  3642. \n\
  3643. A EMPH(status display) shows things about the program being debugged\n\
  3644. in the data window.  Please pick your choice from the list.\n\
  3645. \n\
  3646. Click on LBL(?) near an item to get further information.\n\
  3647. \n\
  3648. Click on LBL(Reset) to delete all status displays.\n\
  3649. Click on LBL(OK) to close this window.
  3650.  
  3651.  
  3652.  
  3653. !-----------------------------------------------------------------------------
  3654. ! Signals
  3655. !-----------------------------------------------------------------------------
  3656.  
  3657. ! Ddd*signals.okLabelString: Close
  3658. Ddd*signals.cancelLabelString: Reset
  3659. Ddd*signals_popup.title: DDD: Signal Handling
  3660.  
  3661. Ddd*signals*send.labelString:       Send
  3662. Ddd*signals*send.rightOffset:       5
  3663. Ddd*signals*send.tipString: \
  3664. @rm Continue execution with this signal
  3665.  
  3666. Ddd*signals*help.labelString:       ?
  3667. Ddd*signals*help.tipString: \
  3668. @rm Get help on this signal
  3669.  
  3670. ! Help for `All signals'
  3671. Ddd*signals*all*helpString: \
  3672. WIDGET(All Signals)\n\
  3673. \n\
  3674. Use these settings to modify all signals at once - expect those\n\
  3675. used by the debugger, typically SIGTRAP and SIGINT.
  3676.  
  3677. ! The panel itself has a help button, too.
  3678. Ddd*signals*helpString: \
  3679. WIDGET(Signal Handling)\n\
  3680. \n\
  3681. This panel controls how signals are handled by @GDB@.\n\
  3682. \n\
  3683. DESC(Stop, [interrupt program if this signal happens (implies LBL(Print))])\n\
  3684. DESC(Print, [print a message in the @GDB@ console if this signal happens])\n\
  3685. DESC(Pass, [let program see this signal; otherwise program doesn't know])\n\
  3686. DESC(Send, [continue program execution with this signal])\n\
  3687. \n\
  3688. Use LBL(All Signals) to modify all signals at once.\n\
  3689. Click on LBL(?) to get further information on the specific signal.\n\
  3690. \n\
  3691. Click on LBL(Reset) to restore the original settings.\n\
  3692. Click on LBL(OK) to close this window.
  3693.  
  3694.  
  3695. !-----------------------------------------------------------------------------
  3696. ! Button Editor and Shortcut Editor
  3697. !-----------------------------------------------------------------------------
  3698.  
  3699. Ddd*edit_buttons_popup.title: DDD: Button Editor
  3700. ! Ddd*edit_buttons.okLabelString: Close
  3701. Ddd*edit_buttons.cancelLabelString: Reset
  3702.  
  3703. Ddd*edit_buttons*buttons.entryAlignment:    XmALIGNMENT_CENTER
  3704. Ddd*edit_buttons*buttons*indicatorOn:        off
  3705. Ddd*edit_buttons*buttons*shadowThickness:    2
  3706. Ddd*edit_buttons*buttons*alignment:        XmALIGNMENT_CENTER
  3707.  
  3708. Ddd*edit_buttons*console.labelString:        Console Buttons
  3709. Ddd*edit_buttons*source.labelString:        Source Buttons
  3710. Ddd*edit_buttons*data.labelString:        Data Buttons
  3711. Ddd*edit_buttons*shortcuts.labelString:        Shortcuts
  3712.  
  3713. Ddd*edit_buttons*text.rows:             12
  3714. Ddd*edit_buttons*text.wordWrap:                on
  3715. Ddd*edit_buttons*text.scrollHorizontal:        off
  3716.  
  3717. Ddd*edit_buttons*verify.labelString:         Enable supported buttons only
  3718.  
  3719. Ddd*edit_buttons*helpString: \
  3720. WIDGET(Button Editor)\n\
  3721. \n\
  3722. Each line specifies a user-defined button, in the format\n\
  3723. \n\
  3724.     VAR(command)\ \ \ \ CODE(//) VAR(label)\n\
  3725. \n\
  3726. If SAMP(// VAR(label)) is omitted, VAR(command) is used as label.\n\
  3727. \n\
  3728. The following strings have a special meaning in VAR(command):\n\
  3729. \n\
  3730. ITEM SAMP(()) is replaced by the current argument field.\n\
  3731.     Example: SAMP(print *(()) // Print *())\n\
  3732. ITEM SAMP(^VAR(character)) causes VAR(command) to issue \
  3733. KEY(Ctrl+VAR(character)).\n\
  3734.     Example: SAMP(Interrupt^C)\n\
  3735. ITEM SAMP(...) at the end keeps VAR(command) from issuing a newline.\n\
  3736.     Example: SAMP(help ...)\n\
  3737. \n\
  3738. If LBL(Enable supported buttons only) is set, DDD enables a button\n\
  3739. if and only if its command is supported by the inferior debugger.\n\
  3740. \n\
  3741. Click on LBL(OK) to apply the changes and close this window.\n\
  3742. Use LBL(Edit, Save Options) to save all button specifications.
  3743.  
  3744. Ddd*edit_buttons*shortcuts*helpString: \
  3745. WIDGET(Shortcut Editor)\n\
  3746. \n\
  3747. Each line specifies a display shortcut, in the format\n\
  3748. \n\
  3749.     VAR(expression)\ \ \ \ CODE(//) VAR(label)\n\
  3750. \n\
  3751. If SAMP(// VAR(label)) is omitted, LBL(Display VAR(expression)) \
  3752. is used as label.\n\
  3753. In VAR(expression), SAMP(()) is replaced by the current argument field.\n\
  3754. \n\
  3755. Useful shortcuts include:\n\
  3756. \n\
  3757. ITEM Data conversions.  SAMP(/x ()) converts to hex.\n\
  3758. ITEM Type casts.  SAMP((char *)()) casts to a string.\n\
  3759. ITEM Member access.  SAMP(().str( )) invokes the CODE(str()) method.\n\
  3760.     (We use SAMP(( )) instead of SAMP(()) to prevent argument substitution.)\n\
  3761. ITEM Pointer chains.  SAMP(*(().next)) shows what the CODE(next) \
  3762. member points at.\n\
  3763. \n\
  3764. Click on LBL(OK) to apply the changes and close this window.\n\
  3765. Use LBL(Edit, Save Options) to save all shortcuts.
  3766.  
  3767.  
  3768.  
  3769.  
  3770. !-----------------------------------------------------------------------------
  3771. ! Splash screen
  3772. !-----------------------------------------------------------------------------
  3773.  
  3774. Ddd*splash_shell.splash.background:            white
  3775. Ddd*splash_shell.splash.foreground:            black
  3776.  
  3777.  
  3778.  
  3779. !-----------------------------------------------------------------------------
  3780. ! Scrolled and paned windows
  3781. !-----------------------------------------------------------------------------
  3782.  
  3783. Ddd*XmPanedWindow.marginWidth:        2
  3784. Ddd*XmPanedWindow.marginHeight:        2
  3785. Ddd*XmPanedWindow.shadowThickness:    0
  3786. Ddd*XmPanedWindow.spacing:        4
  3787. ! Ddd*XmText.marginWidth:        0
  3788. ! Ddd*XmText.marginHeight:        0
  3789. ! Ddd*XmText.shadowThickness:        1
  3790.  
  3791.  
  3792.  
  3793. !-----------------------------------------------------------------------------
  3794. ! Graph Editor
  3795. !-----------------------------------------------------------------------------
  3796.  
  3797. Ddd*graph_edit_panner.backgroundPixmap:    25_foreground
  3798. Ddd*graph_edit_panner.defaultScale:    10
  3799. Ddd*graph_edit_panner.@TRANSLATIONS@: \
  3800. #override\n\
  3801. <Btn1Down>:       ddd-get-focus() start()\n\
  3802. <Btn2Down>:       ddd-get-focus() abort()\n\
  3803. <Key>osfLeft:       page(-.5p, +0)\n\
  3804. <Key>osfRight:       page(+.5p, +0)\n\
  3805. <Key>osfUp:       page(+0, -.5p)\n\
  3806. <Key>osfDown:       page(+0, +.5p)\n\
  3807. <Key>osfBeginLine: page(0,0)\n\
  3808. <Key>osfBackSpace: page(-1p, -1p)\n\
  3809. <Key>osfDelete:       page(-1p, -1p)\n\
  3810. Shift<Key>Tab:       ddd-prev-tab-group()\n\
  3811. <Key>Tab:       ddd-next-tab-group()\n
  3812.  
  3813. Ddd*graph_edit.highlightOnEnter:    On
  3814. Ddd*graph_edit.navigationType:        TAB_GROUP
  3815.  
  3816. ! Set this to have a crosshair cursor
  3817. ! Ddd*graph_edit.defaultCursor:        crosshair
  3818.  
  3819. define(GRAPH_EDIT_HELP,[\
  3820. WIDGET(Data Window)\n\
  3821. \n\
  3822. The data window shows the data displays of the debugged program.\n\
  3823. \n\
  3824. STRONG(Selecting displays)\n\
  3825. ITEM Using BUTTON(1), click on a display \
  3826. to select it.\n\
  3827. ITEM Double-click on a display title to select all connected displays.\n\
  3828. ITEM Double-click on the background to select all displays.\n\
  3829. ITEM Drag on the background to select several displays.\n\
  3830. \n\
  3831. Using BUTTON(2) (or KEY(Shift) + BUTTON(1)) instead\n\
  3832. EMPH(toggles) the selection rather than setting it.\n\
  3833. \n\
  3834. STRONG(Moving displays)\n\
  3835. ITEM Using BUTTON(1), drag on a display to move\n\
  3836.     all selected displays.\n\
  3837. \n\
  3838. STRONG(Modifying displays)\n\
  3839. ITEM Using BUTTON(1), double-click on a value for details.\n\
  3840. ITEM Using BUTTON(3), click on some display to modify it.\n\
  3841. ITEM Using KEY(Shift) + BUTTON(3), select modifications from\n\
  3842.     a shortcut menu.\n\
  3843. \n\
  3844. STRONG(Creating displays)\n\
  3845. ITEM Using BUTTON(1), double-click on a pointer to dereference it.\n\
  3846. ITEM Using BUTTON(3), click on the background\n\
  3847.     to create new displays via a popup menu.
  3848. ])dnl
  3849.  
  3850. Ddd*graph_edit.helpString:    GRAPH_EDIT_HELP
  3851. Ddd*data_disp_shell.helpString:    GRAPH_EDIT_HELP
  3852.  
  3853. Ddd*graph_edit_panner.helpString:    \
  3854. WIDGET(Panner)\n\
  3855. \n\
  3856. Drag the slider with BUTTON(1) to scroll the data window.
  3857. Ddd*graph_edit_panner.tipString:    \
  3858. @rm Scroll data window
  3859.  
  3860.  
  3861. !-----------------------------------------------------------------------------
  3862. ! Graph Popup Menus
  3863. !-----------------------------------------------------------------------------
  3864.  
  3865. Ddd*graph_popup.selectAll.labelString:    Select All
  3866. Ddd*graph_popup.selectAll.documentationString: \
  3867. @rm Select all displays
  3868.  
  3869. Ddd*graph_popup.refresh.labelString:    Refresh
  3870. Ddd*graph_popup.refresh.documentationString: \
  3871. @rm Redraw all displays
  3872.  
  3873. Ddd*graph_popup.new.labelString:    New Display...
  3874. Ddd*graph_popup.new.documentationString: \
  3875. @rm Create a new display at the selected position
  3876.  
  3877. Ddd*node_popup.dereference.labelString:    Display *
  3878. Ddd*node_popup.dereference.documentationString: \
  3879. @rm Dereference the selected display
  3880.  
  3881. Ddd*node_popup.new.labelString:        New Display
  3882. Ddd*node_popup.new.documentationString: \
  3883. @rm Create a new display dependent on the selected display
  3884.  
  3885. Ddd*node_popup.detail.labelString:    Show Detail
  3886. Ddd*node_popup.detail.documentationString: \
  3887. @rm Show/Hide details of the selected display
  3888.  
  3889. Ddd*node_popup.rotate.labelString:    Rotate
  3890. Ddd*node_popup.rotate.documentationString: \
  3891. @rm Rotate the selected display
  3892.  
  3893. Ddd*node_popup.set.labelString:        Set Value...
  3894. Ddd*node_popup.set.documentationString: \
  3895. @rm Change the selected display value
  3896.  
  3897. Ddd*node_popup.delete.labelString:    Undisplay
  3898. Ddd*node_popup.delete.documentationString: \
  3899. @rm Delete the selected display
  3900.  
  3901. Ddd*newMenu.other.labelString:        Other...
  3902. Ddd*newMenu.other.documentationString: \
  3903. @rm Modify the selected display expression to create a new display
  3904.  
  3905. Ddd*newMenu.edit.labelString:        Edit Menu...
  3906. Ddd*newMenu.edit.documentationString: \
  3907. @rm Edit this menu
  3908.  
  3909. Ddd*shortcut_popup.other.labelString:    Other...
  3910. Ddd*shortcut_popup.other.documentationString: \
  3911. @rm Modify the selected display expression to create a new display
  3912.  
  3913. Ddd*shortcut_popup.edit.labelString:    Edit Menu...
  3914. Ddd*shortcut_popup.edit.documentationString: \
  3915. @rm Edit this menu
  3916.  
  3917. ! Compute all other documentation strings as needed
  3918. Ddd*newMenu*documentationString:
  3919. Ddd*shortcut_popup*documentationString:
  3920.  
  3921.  
  3922.  
  3923.  
  3924. !-----------------------------------------------------------------------------
  3925. ! Tool Bar argument
  3926. !-----------------------------------------------------------------------------
  3927.  
  3928. Ddd*arg_label.labelString:    ():
  3929.  
  3930. Ddd*arg.value:            main
  3931. Ddd*arg*Text.value:        main
  3932.  
  3933. Ddd*arg.helpString:    \
  3934. WIDGET(Argument)\n\
  3935. \n\
  3936. This is the argument LBL(()) for the command buttons on the right.\n\
  3937. \n\
  3938. Edit LBL(()) using the usual editing functions.\n\
  3939. Set LBL(()) by selecting items from the source window or the data window.\n\
  3940. Clear LBL(()) by clicking on the prompt LBL(():).
  3941.  
  3942.  
  3943.  
  3944. !-----------------------------------------------------------------------------
  3945. ! Common Tool Bar
  3946. !-----------------------------------------------------------------------------
  3947.  
  3948. Ddd*toolbar*helpString: \
  3949. WIDGET(Tool Bar)\n\
  3950. \n\
  3951. Set the argument LBL(()) for the command buttons on the right.\n\
  3952. \n\
  3953. To get help on a command button, just point on it and press KEY_HELP.\n\
  3954. The item's functionality will be explained here.
  3955.  
  3956.  
  3957. ! All other values from the graph and source tool bar, below, apply here, too.
  3958.  
  3959.  
  3960. !-----------------------------------------------------------------------------
  3961. ! Graph Tool Bar
  3962. !-----------------------------------------------------------------------------
  3963.  
  3964. ! Ddd*graph_toolbar*helpString: \
  3965. ! @rm Commands related to the data window.
  3966.  
  3967. Ddd*toolbar*dereference.labelString:     Display *()
  3968. Ddd*toolbar*plot.labelString:             Plot ()
  3969. Ddd*toolbar*history.labelString:    Plot history of ()
  3970. Ddd*toolbar*detail.labelString:        Show ()
  3971. Ddd*toolbar*show_more.labelString:       Show More ()
  3972. Ddd*toolbar*show_just.labelString:       Show Just ()
  3973. Ddd*toolbar*show_detail.labelString:     Show All ()
  3974. Ddd*toolbar*hide_detail.labelString:     Hide ()
  3975. Ddd*toolbar*rotate.labelString:        Rotate ()
  3976. Ddd*toolbar*rotateAll.labelString:    Rotate All ()
  3977. Ddd*toolbar*new.labelString:        Display ()
  3978. Ddd*toolbar*new2.labelString:            Display ()
  3979. Ddd*toolbar*dereference2.labelString:    Display *()
  3980. Ddd*toolbar*delete2.labelString:    Undisplay ()
  3981. Ddd*toolbar*set.labelString:        Set ()
  3982. Ddd*toolbar*delete.labelString:        Undisplay ()
  3983. Ddd*toolbar*cluster.labelString:    Cluster ()
  3984.  
  3985. Ddd*toolbar*dereference.labelPixmap:         dispref
  3986. Ddd*toolbar*dereference.labelInsensitivePixmap:    dispref-xx
  3987. Ddd*toolbar*dereference.armPixmap:        dispref-arm
  3988. Ddd*toolbar*dereference.highlightPixmap:    dispref-hi
  3989.  
  3990. Ddd*toolbar*plot.labelPixmap:             plot
  3991. Ddd*toolbar*plot.labelInsensitivePixmap:    plot-xx
  3992. Ddd*toolbar*plot.armPixmap:            plot-arm
  3993. Ddd*toolbar*plot.highlightPixmap:        plot-hi
  3994.  
  3995. Ddd*toolbar*detail.labelPixmap:            show
  3996. Ddd*toolbar*detail.labelInsensitivePixmap:    show-xx
  3997. Ddd*toolbar*detail.armPixmap:            show-arm
  3998. Ddd*toolbar*detail.highlightPixmap:        show-hi
  3999.  
  4000. Ddd*toolbar*rotate.labelPixmap:            rotate
  4001. Ddd*toolbar*rotate.labelInsensitivePixmap:    rotate-xx
  4002. Ddd*toolbar*rotate.armPixmap:            rotate-arm
  4003. Ddd*toolbar*rotate.highlightPixmap:        rotate-hi
  4004.  
  4005. Ddd*toolbar*new.labelPixmap:            display
  4006. Ddd*toolbar*new.labelInsensitivePixmap:        display-xx
  4007. Ddd*toolbar*new.armPixmap:            display-arm
  4008. Ddd*toolbar*new.highlightPixmap:        display-hi
  4009.  
  4010. Ddd*toolbar*set.labelPixmap:            set
  4011. Ddd*toolbar*set.labelInsensitivePixmap:        set-xx
  4012. Ddd*toolbar*set.armPixmap:            set-arm
  4013. Ddd*toolbar*set.highlightPixmap:        set-hi
  4014.  
  4015. Ddd*toolbar*delete.labelPixmap:            undisplay
  4016. Ddd*toolbar*delete.labelInsensitivePixmap:    undisplay-xx
  4017. Ddd*toolbar*delete.armPixmap:            undisplay-arm
  4018. Ddd*toolbar*delete.highlightPixmap:        undisplay-hi
  4019.  
  4020. define(ANNOUNCE_PULLDOWN,[\
  4021. Pulldown menu functions (press and hold BUTTON(1)):\
  4022. ])dnl
  4023.  
  4024. define(MORE_PULLDOWN,[(hold for menu)])dnl
  4025.  
  4026. define(NEW_DISPLAY_MENU_HELP, [\
  4027. DESC(Shortcut 1, [User-defined shortcut 1])\n\
  4028. DESC(Shortcut 2, [User-defined shortcut 2]) ...\n\
  4029. DESC(Other..., [Enter new shortcut])\n\
  4030. DESC(Edit..., [Edit shortcuts])
  4031. ])dnl
  4032.  
  4033. Ddd*toolbar*new.helpString:\
  4034. LBL(Display () / Display *())\n\
  4035. \n\
  4036. Display or dereference the argument LBL(()) in the data window.\n\
  4037. \n\
  4038. ANNOUNCE_PULLDOWN\n\
  4039. NEW_DISPLAY_MENU_HELP
  4040. Ddd*newMenu*helpString: NEW_DISPLAY_MENU_HELP
  4041.  
  4042. Ddd*toolbar*new.tipString:\
  4043. @rm Display LBL(())
  4044. Ddd*toolbar*new.documentationString:\
  4045. @rm Display the argument LBL(()) in the data window \
  4046. MORE_PULLDOWN()
  4047.  
  4048. Ddd*toolbar*new2.documentationString:\
  4049. @rm Display the argument LBL(()) in the data window.
  4050.  
  4051. Ddd*toolbar*dereference.helpString:\
  4052. LBL(Display *())\n\
  4053. \n\
  4054. Dereference the selected display.
  4055. Ddd*toolbar*dereference.tipString:\
  4056. @rm Dereference LBL(())
  4057. Ddd*toolbar*dereference.documentationString:\
  4058. @rm Display the dereferenced argument LBL(()) in the data window.
  4059.  
  4060. Ddd*toolbar*dereference2.documentationString:\
  4061. @rm Display the dereferenced argument LBL(()) in the data window.
  4062.  
  4063. Ddd*toolbar*plot.helpString:\
  4064. LBL(Plot ())\n\
  4065. \n\
  4066. Plot the argument LBL(()).\n\
  4067. \n\
  4068. ANNOUNCE_PULLDOWN\n\
  4069. DESC(Plot History, [Plot previous and current values of LBL(())])
  4070.  
  4071. Ddd*toolbar*plot.tipString:\
  4072. @rm Plot LBL(())
  4073. Ddd*toolbar*plot.documentationString:\
  4074. @rm Plot the argument LBL(())
  4075. Ddd*toolbar*history.documentationString:\
  4076. @rm Plot the value history of LBL(()), as recorded at previous stops
  4077.  
  4078.  
  4079. define(DETAIL_HELP, [\
  4080. DESC(Show More, [Show more details])\n\
  4081. DESC(Show Just, [Show details, excluding substructures])\n\
  4082. DESC(Show All, [Show all details, including substructures])\n\
  4083. DESC(Hide, [Hide Details])
  4084. ])dnl
  4085.  
  4086. Ddd*toolbar*detail.helpString:    \
  4087. LBL(Show ()) / LBL(Hide ())\n\
  4088. \n\
  4089. Show/Hide details of the selected displays.\n\
  4090. \n\
  4091. ANNOUNCE_PULLDOWN\n\
  4092. DETAIL_HELP
  4093.  
  4094. Ddd*detailMenu*helpString:    DETAIL_HELP
  4095.  
  4096. Ddd*toolbar*detail.tipString:    \
  4097. @rm Show/Hide selected details
  4098. Ddd*toolbar*detail.documentationString: \
  4099. @rm Show/Hide details of the selected displays MORE_PULLDOWN()
  4100.  
  4101. Ddd*toolbar*show_more.documentationString: \
  4102. @rm Show more details of the selected displays
  4103. Ddd*toolbar*show_just.documentationString: \
  4104. @rm Show details of the selected displays, hiding substructures
  4105. Ddd*toolbar*show_detail.documentationString: \
  4106. @rm Show all details of the selected displays, including substructures
  4107. Ddd*toolbar*hide_detail.documentationString: \
  4108. @rm Hide details of the selected displays
  4109.  
  4110. define(ROTATE_HELP, [\
  4111. DESC(Rotate All, [Rotate substructures too])
  4112. ])dnl
  4113.  
  4114. Ddd*toolbar*rotate.helpString:    \
  4115. LBL(Rotate ())\n\
  4116. \n\
  4117. Rotate the selected displays.\n\
  4118. \n\
  4119. ANNOUNCE_PULLDOWN\n\
  4120. ROTATE_HELP
  4121.  
  4122. Ddd*rotateMenu*helpString:    ROTATE_HELP
  4123.  
  4124. Ddd*toolbar*rotate.tipString:    \
  4125. @rm Rotate selected displays
  4126. Ddd*toolbar*rotate.documentationString: \
  4127. @rm Rotate the selected displays MORE_PULLDOWN()
  4128. Ddd*toolbar*rotateAll.documentationString: \
  4129. @rm Rotate the selected displays, including substructures
  4130.  
  4131. Ddd*toolbar*set.helpString:    \
  4132. LBL(Set ())\n\
  4133. \n\
  4134. Change the value of the argument LBL(()).
  4135. Ddd*toolbar*set.tipString:    \
  4136. @rm Set the value of LBL(())
  4137. Ddd*toolbar*set.documentationString:    \
  4138. @rm Change the value of the argument LBL(())
  4139.  
  4140. Ddd*toolbar*delete.helpString:    \
  4141. LBL(Undisplay ())\n\
  4142. \n\
  4143. Delete the selected displays.\n\
  4144. \n\
  4145. ANNOUNCE_PULLDOWN\n\
  4146. DESC(Cluster (), [Merge selected displays into one single cluster])\n\
  4147. DESC(Uncluster (), [Break cluster into individual displays])
  4148.  
  4149. Ddd*toolbar*delete.tipString:    \
  4150. @rm Undisplay LBL(())
  4151. Ddd*toolbar*delete.documentationString:    \
  4152. @rm Delete the selected displays
  4153.  
  4154.  
  4155. !-----------------------------------------------------------------------------
  4156. ! Source Tool Bar
  4157. !-----------------------------------------------------------------------------
  4158.  
  4159. Ddd*toolbar*lookup.labelString:        Lookup ()
  4160. Ddd*toolbar*breakAt.labelString:    Break at ()
  4161. Ddd*toolbar*breakAt2.labelString:    Set Breakpoint at ()
  4162. Ddd*toolbar*clearAt2.labelString:    Clear Breakpoint at ()
  4163. Ddd*toolbar*tempBreakAt.labelString:    Set Temporary Breakpoint at ()
  4164. Ddd*toolbar*regexBreakAt.labelString:    Set Breakpoints at Regexp ()
  4165. Ddd*toolbar*contUntil.labelString:    Continue Until ()
  4166. Ddd*toolbar*enableBreak.labelString:    Enable Breakpoint at ()
  4167. Ddd*toolbar*enableWatch.labelString:    Enable Watchpoint at ()
  4168. Ddd*toolbar*breakProperties.labelString: Breakpoint Properties...
  4169. Ddd*toolbar*watchProperties.labelString: Watchpoint Properties...
  4170. Ddd*toolbar*setPC.labelString:        Set Execution Position to ()
  4171. Ddd*toolbar*watch.labelString:        Unwatch ()
  4172. Ddd*toolbar*cwatch.labelString:        Set Watchpoint on ()
  4173. Ddd*toolbar*rwatch.labelString:        Set Read Watchpoint on ()
  4174. Ddd*toolbar*awatch.labelString:        Set Access Watchpoint on ()
  4175. Ddd*toolbar*unwatch.labelString:    Delete Watchpoint on ()
  4176. Ddd*toolbar*print.labelString:        Print ()
  4177. Ddd*toolbar*printRef.labelString:    Print *()
  4178. Ddd*toolbar*whatis.labelString:        Whatis ()
  4179. Ddd*toolbar*examine.labelString:    Examine ()...
  4180. Ddd*toolbar*display.labelString:    Display ()
  4181. Ddd*toolbar*dispRef.labelString:    Display *()
  4182. Ddd*toolbar*find.labelString:        LBL_FIND_FORWARD
  4183. Ddd*toolbar*findBackward.labelString:    LBL_FIND_BACKWARD
  4184. Ddd*toolbar*findForward.labelString:    LBL_FIND_FORWARD
  4185.  
  4186. Ddd*toolbar*lookup.labelPixmap:            lookup
  4187. Ddd*toolbar*lookup.labelInsensitivePixmap:    lookup-xx
  4188. Ddd*toolbar*lookup.armPixmap:            lookup-arm
  4189. Ddd*toolbar*lookup.highlightPixmap:        lookup-hi
  4190.  
  4191. Ddd*toolbar*breakAt.labelPixmap:        break_at
  4192. Ddd*toolbar*breakAt.labelInsensitivePixmap:     break_at-xx
  4193. Ddd*toolbar*breakAt.armPixmap:             break_at-arm
  4194. Ddd*toolbar*breakAt.highlightPixmap:        break_at-hi
  4195.  
  4196. Ddd*toolbar*watch.labelPixmap:             watch
  4197. Ddd*toolbar*watch.labelInsensitivePixmap:     watch-xx
  4198. Ddd*toolbar*watch.armPixmap:             watch-arm
  4199. Ddd*toolbar*watch.highlightPixmap:        watch-hi
  4200.  
  4201. Ddd*toolbar*print.labelPixmap:             print
  4202. Ddd*toolbar*print.labelInsensitivePixmap:     print-xx
  4203. Ddd*toolbar*print.armPixmap:             print-arm
  4204. Ddd*toolbar*print.highlightPixmap:        print-hi
  4205.  
  4206. Ddd*toolbar*display.labelPixmap:        display
  4207. Ddd*toolbar*display.labelInsensitivePixmap:     display-xx
  4208. Ddd*toolbar*display.armPixmap:             display-arm
  4209. Ddd*toolbar*display.highlightPixmap:        display-hi
  4210.  
  4211. Ddd*toolbar*dispRef.labelPixmap:        dispref
  4212. Ddd*toolbar*dispRef.labelInsensitivePixmap:     dispref-xx
  4213. Ddd*toolbar*dispRef.armPixmap:             dispref-arm
  4214. Ddd*toolbar*dispRef.highlightPixmap:        dispref-hi
  4215.  
  4216. Ddd*toolbar*find.labelPixmap:             find_forward
  4217. Ddd*toolbar*find.labelInsensitivePixmap:     find_forward-xx
  4218. Ddd*toolbar*find.armPixmap:             find_forward-arm
  4219. Ddd*toolbar*find.highlightPixmap:        find_forward-hi
  4220.  
  4221. Ddd*toolbar*lookup.helpString:    \
  4222. LBL(Lookup ())\n\
  4223. \n\
  4224. Lookup a line, file, function, variable, or breakpoint in the source.\n\
  4225. ITEM If the argument LBL(()) is empty, \
  4226. lookup the current execution position\n\
  4227.     (or cursor position, if there is no current execution position).\n\
  4228. ITEM If LBL(()) contains a number, \
  4229. lookup that line number in the current source.\n\
  4230. ITEM If LBL(()) contains SAMP(VAR(filename):VAR(line)), lookup \
  4231. line number VAR(line)\n\
  4232.     in the source file VAR(filename).\n\
  4233. ITEM If LBL(()) contains SAMP([#]VAR(number)), lookup breakpoint \
  4234. VAR(number).\n\
  4235. ITEM If LBL(()) contains an address, lookup that address.\n\
  4236. ITEM If LBL(()) contains a function or variable name, lookup \
  4237. the definition\n\
  4238.     of that function or variable.
  4239.  
  4240. Ddd*toolbar*lookup.tipString:    \
  4241. @rm Lookup LBL(()) in the source
  4242. Ddd*toolbar*lookup.documentationString:    \
  4243. @rm Lookup a line, file, function, variable or breakpoint in the source
  4244.  
  4245. define(BREAK_HELP, [\
  4246. DESC(Set Temporary Breakpoint at (), [set temporary breakpoint])\n\
  4247. DESC(Set Breakpoints at Regexp (), \
  4248. [break at all functions matching LBL(())])\n\
  4249. DESC(Continue Until (), [set temporary breakpoint and resume execution])\n\
  4250. DESC(Enable / Disable Breakpoint at (), [enable or disable breakpoint])\n\
  4251. DESC(Breakpoint Properties..., [set properties of breakpoint at LBL(())])\n\
  4252. DESC(Set Execution Position to (), [move execution position])
  4253. ])dnl
  4254.  
  4255. Ddd*toolbar*breakAt.helpString:    \
  4256. LBL(Break at ()) / LBL(Clear at ())\n\
  4257. \n\
  4258. Set or delete a breakpoint at the argument LBL(()).\n\
  4259. \n\
  4260. ANNOUNCE_PULLDOWN\n\
  4261. BREAK_HELP
  4262.  
  4263. Ddd*breakAtMenu*helpString:    BREAK_HELP
  4264.  
  4265. Ddd*toolbar*breakAt.tipString:    \
  4266. @rm Set/Delete breakpoint at LBL(())
  4267. Ddd*toolbar*breakAt.documentationString:    \
  4268. @rm Set or delete a breakpoint at the argument LBL(()) MORE_PULLDOWN()
  4269.  
  4270. Ddd*toolbar*tempBreakAt.documentationString: \
  4271. @rm Set a temporary breakpoint at the argument LBL(())
  4272. Ddd*toolbar*regexBreakAt.documentationString: \
  4273. @rm Set breakpoints on all functions matching the regular expression in LBL(())
  4274. Ddd*toolbar*contUntil.documentationString: \
  4275. @rm Set a temporary breakpoint at LBL(()) and resume execution
  4276. Ddd*toolbar*enableBreak.documentationString: \
  4277. @rm Enable or disable the breakpoint at the argument LBL(())
  4278. Ddd*toolbar*enableWatch.documentationString: \
  4279. @rm Enable or disable the watchpoint on the argument LBL(())
  4280. Ddd*toolbar*breakProperties.documentationString: \
  4281. @rm Edit the properties of the breakpoint at the argument LBL(())
  4282. Ddd*toolbar*watchProperties.documentationString: \
  4283. @rm Edit the properties of the watchpoint on the argument LBL(())
  4284. Ddd*toolbar*setPC.documentationString: \
  4285. @rm Set the current execution position to LBL(())
  4286.  
  4287. define(PRINT_HELP, [\
  4288. DESC(Print *(), [print dereferenced argument])\n\
  4289. DESC(Whatis (), [print type of argument])\n\
  4290. DESC(Examine (), [examine memory starting at argument])
  4291. ])dnl
  4292.  
  4293. Ddd*toolbar*print.helpString:    \
  4294. LBL(Print ())\n\
  4295. \n\
  4296. Print the argument LBL(()) in the @GDB@ console.\n\
  4297. \n\
  4298. ANNOUNCE_PULLDOWN\n\
  4299. PRINT_HELP
  4300. Ddd*printMenu*helpString:    PRINT_HELP
  4301.  
  4302. Ddd*toolbar*print.tipString:    \
  4303. @rm Print LBL(()) in the debugger console
  4304. Ddd*toolbar*print.documentationString:    \
  4305. @rm Print the argument LBL(()) in the @GDB@ console MORE_PULLDOWN()
  4306. Ddd*toolbar*printRef.documentationString:    \
  4307. @rm Print the dereferenced argument LBL(()) in the @GDB@ console
  4308. Ddd*toolbar*whatis.documentationString:    \
  4309. @rm Print the type of the argument LBL(()) in the @GDB@ console
  4310. Ddd*toolbar*examine.documentationString:    \
  4311. @rm Examine memory starting at LBL(())
  4312.  
  4313. define(DISPLAY_HELP, [\
  4314. DESC(Display *(), [display dereferenced argument])
  4315. ])dnl
  4316.  
  4317. Ddd*toolbar*display.helpString:    \
  4318. LBL(Display ())\n\
  4319. \n\
  4320. Display the argument LBL(()) in the data window.\n\
  4321. \n\
  4322. ANNOUNCE_PULLDOWN\n\
  4323. DISPLAY_HELP
  4324. Ddd*displayMenu*helpString:    DISPLAY_HELP
  4325.  
  4326.  
  4327. Ddd*toolbar*display.tipString:    \
  4328. @rm Display LBL(()) in the data window
  4329. Ddd*toolbar*display.documentationString:    \
  4330. @rm Display the argument LBL(()) in the data window MORE_PULLDOWN()
  4331. Ddd*toolbar*dispRef.documentationString:    \
  4332. @rm Display the dereferenced argument LBL(()) in the data window
  4333.  
  4334. define(WATCH_HELP, [\
  4335. DESC(Watchpoint Properties..., [set properties of watchpoint on LBL(())])\n\
  4336. DESC(Set watchpoint on (), [stop whenever LBL(()) changes; same as LBL(Watch())])\n\
  4337. DESC(Set read watchpoint on (), [stop whenever LBL(()) is read])\n\
  4338. DESC(Set access watchpoint on (), [stop whenever LBL(()) is either read or written])\n\
  4339. \n\
  4340. Unless you have special hardware support, watchpoints slow down the\n\
  4341. debugged program by about two orders of magnitude.
  4342. ])dnl
  4343.  
  4344. Ddd*toolbar*watch.helpString:    \
  4345. LBL(Watch ()) / LBL(Unwatch())\n\
  4346. \n\
  4347. Stop whenever the value of LBL(()) changes.\n\
  4348. \n\
  4349. LBL(Watch ()) sets a EMPH(watchpoint) on LBL(()) - a special breakpoint that\n\
  4350. stops your program whenever the value of LBL(()) changes.\n\
  4351. LBL(Unwatch()) deletes the EMPH(watchpoint) associated with LBL(()).\n\
  4352. \n\
  4353. To see all watchpoints, select LBL(Data, Edit Watchpoints).\n\
  4354. \n\
  4355. ANNOUNCE_PULLDOWN\n\
  4356. WATCH_HELP
  4357. Ddd*watchMenu*helpString:    WATCH_HELP
  4358.  
  4359. Ddd*toolbar*watch.tipString:    \
  4360. @rm Stop whenever LBL(()) changes
  4361. Ddd*toolbar*watch.documentationString:    \
  4362. @rm Stop whenever the value of LBL(()) changes MORE_PULLDOWN()
  4363. Ddd*toolbar*cwatch.documentationString:    \
  4364. @rm Stop whenever the value of LBL(()) changes
  4365. Ddd*toolbar*rwatch.documentationString:    \
  4366. @rm Stop whenever LBL(()) is read (requires hardware support)
  4367. Ddd*toolbar*awatch.documentationString:    \
  4368. @rm Stop whenever LBL(()) is either read or written (requires hardware support)
  4369.  
  4370. define(FIND_HELP, [\
  4371. DESC(LBL_FIND_BACKWARD, [find backwards])\n\
  4372. DESC(LBL_FIND_FORWARD, [find forwards])
  4373. ])dnl
  4374.  
  4375. Ddd*toolbar*find.helpString:    \
  4376. LBL(LBL_FIND_BACKWARD / LBL_FIND_FORWARD)\n\
  4377. \n\
  4378. Search an occurrence of LBL(()) in the current source text.\n\
  4379. \n\
  4380. See LBL(Edit, Preferences, Source) for search settings.\n\
  4381. \n\
  4382. ANNOUNCE_PULLDOWN\n\
  4383. FIND_HELP
  4384. Ddd*findMenu*helpString:    FIND_HELP
  4385.  
  4386. Ddd*toolbar*find.tipString:    \
  4387. @rm Find LBL(()) in source
  4388. Ddd*toolbar*find.documentationString:    \
  4389. @rm Search LBL(()) in the current source MORE_PULLDOWN()
  4390. Ddd*toolbar*findBackward.documentationString:    \
  4391. @rm Search the previous occurrence of LBL(()) in the source
  4392. Ddd*toolbar*findForward.documentationString:    \
  4393. @rm Search the next occurrence of LBL(()) in the source
  4394.  
  4395.  
  4396. !-----------------------------------------------------------------------------
  4397. ! Status line
  4398. !-----------------------------------------------------------------------------
  4399.  
  4400. Ddd*status_form*helpString: \
  4401. WIDGET(Status Line)\n\
  4402. \n\
  4403. The status line shows the last @GDB@ message as well as short DDD messages.\n\
  4404. To view tthe most recent messages, just click on the status line.\n\
  4405. \n\
  4406. The @GDB@ status indicator on the right side blinks while @GDB@ is busy.\n\
  4407. You can disable it by clicking on the indicator.
  4408.  
  4409. Ddd*status_form*borderWidth:        0
  4410. Ddd*status_form*marginWidth:        0
  4411. Ddd*status_form*marginHeight:        0
  4412. Ddd*status_form*marginTop:        0
  4413. Ddd*status_form*marginBottom:        0
  4414. Ddd*status_form*spacing:        0
  4415. Ddd*status_form*highlightThickness:     0
  4416.  
  4417. Ddd*status_form.arrow.tipString: \
  4418. @rm Show recent messages
  4419. Ddd*status_form.arrow.documentationString: \n\n
  4420.  
  4421. Ddd*status_form.status.alignment:    XmALIGNMENT_BEGINNING
  4422. Ddd*status_form.status.leftOffset:    5
  4423. Ddd*status_form.status.rightOffset:    5
  4424. Ddd*status_form.status.labelString:    Ready.
  4425. Ddd*status_form.status.fillOnArm:    off
  4426.  
  4427. Ddd*status_form.led.highlightThickness: 0
  4428. Ddd*status_form.led.labelString:
  4429. Ddd*status_form.led.visibleWhenOff:    off
  4430. Ddd*status_form.led.selectColor:    RUN_COLOR
  4431. Ddd*status_form.led.tipString:    \
  4432. @rm @GDB@ status
  4433. Ddd*status_form.led.documentationString: \
  4434. @rm @GDB@ status indicator: blinks while @GDB@ is busy \
  4435. (click to disable or enable)
  4436.  
  4437. Ddd*status_lines.marginWidth:        0
  4438. Ddd*status_lines.marginHeight:        0
  4439. Ddd*status_lines.borderWidth:        0
  4440. Ddd*status_lines.spacing:        0
  4441.  
  4442. Ddd*status_history.row.background:    Black
  4443.  
  4444.  
  4445. !-----------------------------------------------------------------------------
  4446. ! Source View
  4447. !-----------------------------------------------------------------------------
  4448.  
  4449. Ddd*source_text_w.scrollHorizontal:    off
  4450. Ddd*source_text_w.wordWrap:        on
  4451.  
  4452. Ddd*code_text_w.scrollHorizontal:    off
  4453. Ddd*code_text_w.wordWrap:        on
  4454.  
  4455. Ddd*source_text_w.helpString:    \
  4456. WIDGET(Source Text Window)\n\
  4457. \n\
  4458. The source text window shows the source text of the debugged program.\n\
  4459. \n\
  4460. STRONG(Breakpoint area)\n\
  4461. On the left of the source code, line numbers and breakpoints are shown.\n\
  4462. ITEM A plain stop sign or TEXT([#]VAR(n)[#]) indicates \
  4463. an enabled breakpoint.\n\
  4464. ITEM A grey stop sign or TEXT([_]VAR(n)[_]) indicates \
  4465. a disabled breakpoint.\n\
  4466. ITEM The next executed line is indicated by an arrow or TEXT(>).\n\
  4467. \n\
  4468. Click BUTTON(1) to select positions.\n\
  4469. Click BUTTON(3) to set and modify breakpoints.\n\
  4470. \n\
  4471. STRONG(Source text area)\n\
  4472. On the right side, the source code is shown.\n\
  4473. \n\
  4474. Click BUTTON(1) to select words.\n\
  4475. Drag with BUTTON(1) to extend your selection.\n\
  4476. Click BUTTON(3) to show values and lookup places.\n\
  4477. \n\
  4478. To view a specific source, use the LBL(Lookup ()) button below.
  4479.  
  4480. Ddd*code_text_w.helpString:    \
  4481. WIDGET(Machine Code Window)\n\
  4482. \n\
  4483. The machine code window shows the machine code of the debugged program.\n\
  4484. \n\
  4485. STRONG(Breakpoint area)\n\
  4486. On the left of the machine code, addresses and breakpoints are shown.\n\
  4487. ITEM A plain stop sign or TEXT([#]VAR(n)[#]) indicates \
  4488. an enabled breakpoint.\n\
  4489. ITEM A grey stop sign or TEXT([_]VAR(n)[_]) indicates \
  4490. a disabled breakpoint.\n\
  4491. ITEM The next executed location is indicated by an arrow or TEXT(>).\n\
  4492. \n\
  4493. Click BUTTON(1) to select addresses.\n\
  4494. Click BUTTON(3) to set and modify breakpoints.\n\
  4495. \n\
  4496. STRONG(Machine code area)\n\
  4497. On the right side, the machine code instructions are shown.\n\
  4498. \n\
  4499. Click BUTTON(1) to select words.\n\
  4500. Drag with BUTTON(1) to extend your selection.\n\
  4501. Click BUTTON(3) to show values and lookup places.\n\
  4502. \n\
  4503. To disassemble a specific function or address,\n\
  4504. use the LBL(Lookup ()) button below.
  4505.  
  4506. Ddd*source_view_shell.helpString:    \
  4507. WIDGET(Source Window)\n\
  4508. \n\
  4509. The source window displays the source and machine code of the \
  4510. debugged program.\n\
  4511. \n\
  4512. The upper area shows the source code.\n\
  4513. The lower area shows the machine code.\n\
  4514. \n\
  4515. Use LBL(Help, On Item) to get\n\
  4516. detailed help on each of these areas.
  4517.  
  4518.  
  4519. !-----------------------------------------------------------------------------
  4520. ! Source Popup Menus
  4521. !-----------------------------------------------------------------------------
  4522.  
  4523. Ddd*line_popup.set.labelString:            Set Breakpoint
  4524. Ddd*line_popup.set.documentationString:    \
  4525. @rm Set a breakpoint at the selected position
  4526.  
  4527. Ddd*line_popup.set_temp.labelString:        Set Temporary Breakpoint
  4528. Ddd*line_popup.set_temp.documentationString:    \
  4529. @rm Set a temporary breakpoint which will be deleted when hit
  4530.  
  4531. Ddd*line_popup.temp_n_cont.labelString:        Continue Until Here
  4532. Ddd*line_popup.temp_n_cont.documentationString:    \
  4533. @rm Set a temporary breakpoint and resume execution
  4534.  
  4535. Ddd*line_popup.set_pc.labelString:        Set Execution Position
  4536. Ddd*line_popup.set_pc.documentationString:    \
  4537. @rm Set the current execution position to the selected position
  4538.  
  4539. Ddd*bp_popup.disable.labelString:        Disable Breakpoint
  4540. Ddd*bp_popup.disable.documentationString:    \
  4541. @rm Disable the selected breakpoint
  4542.  
  4543. Ddd*bp_popup.properties.labelString:        Properties...
  4544. Ddd*bp_popup.properties.documentationString:    \
  4545. @rm Edit the properties of the selected breakpoint
  4546.  
  4547. Ddd*bp_popup.delete.labelString:        Delete Breakpoint
  4548. Ddd*bp_popup.delete.documentationString:    \
  4549. @rm Delete the selected breakpoint
  4550.  
  4551. Ddd*bp_popup.set_pc.labelString:        Set Execution Position
  4552. Ddd*bp_popup.set_pc.documentationString:    \
  4553. @rm Set the current execution position to the selected position
  4554.  
  4555. Ddd*text_popup.print.documentationString: \
  4556. @rm Print the value of the selected item in the @GDB@ console
  4557.  
  4558. Ddd*text_popup.disp.documentationString: \
  4559. @rm Display the selected item in the data window
  4560.  
  4561. Ddd*text_popup.watch.documentationString: \
  4562. @rm Stop execution whenever the selected item changes
  4563.  
  4564. Ddd*text_popup.printRef.documentationString: \
  4565. @rm Print the dereferenced value of the selected item in the @GDB@ console
  4566.  
  4567. Ddd*text_popup.dispRef.documentationString: \
  4568. @rm Display the dereferenced item in the data window
  4569.  
  4570. Ddd*text_popup.watchRef.documentationString: \
  4571. @rm Stop execution whenever the dereferenced item changes
  4572.  
  4573. Ddd*text_popup.whatis.documentationString: \
  4574. @rm Print the type of the selected item in the @GDB@ console
  4575.  
  4576. Ddd*text_popup.lookup.documentationString: \
  4577. @rm Lookup definition of the selected item
  4578.  
  4579. Ddd*text_popup.breakAt.documentationString: \
  4580. @rm Set a breakpoint at the selected function
  4581.  
  4582. Ddd*text_popup.clearAt.documentationString: \
  4583. @rm Delete a breakpoint at the selected function
  4584.  
  4585.  
  4586. !-----------------------------------------------------------------------------
  4587. ! Source and Code Glyphs
  4588. !-----------------------------------------------------------------------------
  4589.  
  4590. Ddd*source_form_w.XmPushButton.shadowThickness:       0
  4591. Ddd*source_form_w.XmPushButton.highlightThickness: 0
  4592. Ddd*source_form_w.XmPushButton.marginHeight:       0
  4593. Ddd*source_form_w.XmPushButton.marginWidth:       0
  4594. Ddd*source_form_w.XmPushButton.borderWidth:       0
  4595.  
  4596. Ddd*code_form_w.XmPushButton.shadowThickness:       0
  4597. Ddd*code_form_w.XmPushButton.highlightThickness:   0
  4598. Ddd*code_form_w.XmPushButton.marginHeight:       0
  4599. Ddd*code_form_w.XmPushButton.marginWidth:       0
  4600. Ddd*code_form_w.XmPushButton.borderWidth:       0
  4601.  
  4602. ! Plain arrows
  4603. Ddd*source_form_w.plain_arrow*helpString: \
  4604. STRONG(Current Execution Position)\n\
  4605. The plain arrow shows the current execution position in the lowest frame.\n\
  4606. \n\
  4607. To change the execution position, drag it with BUTTON(1).
  4608. Ddd*source_form_w.plain_arrow*tipString: \
  4609. @rm Current execution position
  4610. Ddd*source_form_w.plain_arrow*documentationString: \
  4611. @rm Current execution position (drag to change)
  4612.  
  4613. Ddd*code_form_w.plain_arrow*helpString: \
  4614. STRONG(Current Program Counter)\n\
  4615. The plain arrow shows the current program counter in the lowest frame.\n\
  4616. \n\
  4617. To change the program counter, drag it with BUTTON(1).
  4618. Ddd*code_form_w.plain_arrow*tipString: \
  4619. @rm Current program counter
  4620. Ddd*code_form_w.plain_arrow*documentationString: \
  4621. @rm Current program counter (drag to change)
  4622.  
  4623. ! Grey arrows
  4624. Ddd*source_form_w.grey_arrow*helpString: \
  4625. STRONG(Last Execution Position)\n\
  4626. The grey arrow shows the last execution position in the current frame.
  4627. Ddd*source_form_w.grey_arrow*tipString: \
  4628. @rm Last execution position in current frame
  4629.  
  4630. Ddd*code_form_w.grey_arrow*helpString: \
  4631. STRONG(Last Program Counter)\n\
  4632. The grey arrow shows the last program counter in the current frame.
  4633. Ddd*code_form_w.grey_arrow*tipString: \
  4634. @rm Last program counter in current frame
  4635.  
  4636. ! Dashed arrows
  4637. Ddd*source_form_w.past_arrow*helpString: \
  4638. STRONG(Earlier Execution Position)\n\
  4639. The dashed arrow shows an earlier execution position.
  4640. Ddd*source_form_w.past_arrow*tipString: \
  4641. @rm Earlier execution position
  4642.  
  4643. Ddd*code_form_w.past_arrow*helpString: \
  4644. STRONG(Earlier Program Counter)\n\
  4645. The dashed arrow shows an earlier program counter.
  4646. Ddd*code_form_w.past_arrow*tipString: \
  4647. @rm Earlier program counter
  4648.  
  4649. ! Signal arrows
  4650. Ddd*source_form_w.signal_arrow*helpString: \
  4651. STRONG(Current Execution Position (signaled))\n\
  4652. The lightning arrow shows the current execution position after being\n\
  4653. stopped by a signal.\n\
  4654. \n\
  4655. To change the execution position, drag it with BUTTON(1).
  4656. Ddd*source_form_w.signal_arrow*tipString: \
  4657. @rm Current execution position (stopped by signal)
  4658.  
  4659. Ddd*code_form_w.signal_arrow*helpString: \
  4660. STRONG(Current Program Counter (signaled))\n\
  4661. The lightning arrow shows the current program counter after being\n\
  4662. stopped by a signal.\n\
  4663. \n\
  4664. To change the program counter, drag it with BUTTON(1).
  4665. Ddd*code_form_w.signal_arrow*tipString: \
  4666. @rm Current program counter (stopped by signal)
  4667.  
  4668. ! Breakpoints
  4669. define(BREAKPOINT_HELP, [\n\
  4670. To change the breakpoint properties, press BUTTON(3).\n\
  4671. To move it to another location, drag it using BUTTON(1).\n\
  4672. To copy it to another location, drag it using KEY(Shift)+BUTTON(1).])
  4673.  
  4674. Ddd*plain_stop.helpString: \
  4675. STRONG(Breakpoint (enabled))\n\
  4676. The debugged program will stop when reaching this location.\n\
  4677. BREAKPOINT_HELP
  4678. Ddd*plain_stop.tipString: 
  4679. Ddd*plain_stop.documentationString: 
  4680.  
  4681. Ddd*grey_stop.helpString: \
  4682. STRONG(Breakpoint (disabled))\n\
  4683. A disabled breakpoint has no effect until reenabled.\n\
  4684. BREAKPOINT_HELP
  4685. Ddd*grey_stop.tipString: 
  4686. Ddd*grey_stop.documentationString: 
  4687.  
  4688. Ddd*plain_cond.helpString: \
  4689. STRONG(Conditional breakpoint (enabled))\n\
  4690. The debugged program will stop when reaching this location\n\
  4691. if the associated condition is true.\n\
  4692. BREAKPOINT_HELP
  4693. Ddd*plain_cond.tipString: 
  4694. Ddd*plain_cond.documentationString: 
  4695.  
  4696. Ddd*grey_cond.helpString: \
  4697. STRONG(Conditional breakpoint (disabled))\n\
  4698. A disabled breakpoint has no effect until reenabled.\n\
  4699. BREAKPOINT_HELP
  4700. Ddd*grey_cond.tipString: 
  4701. Ddd*grey_cond.documentationString: 
  4702.  
  4703. Ddd*plain_temp.helpString: \
  4704. STRONG(Temporary breakpoint (enabled))\n\
  4705. The debugged program will stop when reaching this location.\n\
  4706. The breakpoint will be deleted when hit.\n\
  4707. BREAKPOINT_HELP
  4708. Ddd*plain_temp.tipString: 
  4709. Ddd*plain_temp.documentationString: 
  4710.  
  4711. Ddd*grey_temp.helpString: \
  4712. STRONG(Temporary breakpoint (disabled))\n\
  4713. A disabled breakpoint has no effect until reenabled.\n\
  4714. BREAKPOINT_HELP
  4715. Ddd*grey_temp.tipString: 
  4716. Ddd*grey_temp.documentationString: 
  4717.  
  4718.  
  4719.  
  4720. !-----------------------------------------------------------------------------
  4721. ! Main Window
  4722. !-----------------------------------------------------------------------------
  4723.  
  4724. define(MAIN_WINDOW_HELP, [\
  4725. WIDGET([DDD] Main Window)\n\
  4726. \n\
  4727. The main window consists of the following areas:\n\
  4728. \n\
  4729. ITEM At the top, the EMPH(Data Window) shows the data displays\n\
  4730.     of the debugged program.\n\
  4731. ITEM In the center, the EMPH(Source Text Window) shows the \
  4732. currently\n\
  4733.     executed source code.\n\
  4734. ITEM Optionally, there may be a EMPH(Machine Code Window) below\n\
  4735.     which shows the current machine code.\n\
  4736. ITEM At the bottom, the EMPH(@GDB@ Console) allows for \
  4737. interaction\n\
  4738.     with @GDB@ and the debugged program.\n\
  4739. \n\
  4740. Use LBL(Help, On Item) to get detailed \
  4741. help on any of these areas.])dnl
  4742.  
  4743. Ddd.helpString:                MAIN_WINDOW_HELP
  4744. Ddd.main_window.helpString: MAIN_WINDOW_HELP
  4745.  
  4746.  
  4747.  
  4748. !-----------------------------------------------------------------------------
  4749. ! Debugger Console
  4750. !-----------------------------------------------------------------------------
  4751.  
  4752. Ddd*gdb_w.value: \
  4753. DDD @VERSION@ (@host@), by Dorothea L\374tkehaus and Andreas Zeller.\n\
  4754. Copyright \251 1998 Technische Universit\344t Braunschweig, Germany.\n
  4755.  
  4756. Ddd*gdb_w.editable:            on
  4757. Ddd*gdb_w.allowResize:            on
  4758. Ddd*gdb_w.editMode:            XmMULTI_LINE_EDIT
  4759. Ddd*gdb_w.scrollHorizontal:        off
  4760. Ddd*gdb_w.wordWrap:            on
  4761. Ddd*gdb_w.autoShowCursorPosition:    on
  4762. Ddd*gdb_w.cursorPositionVisible:    on
  4763.  
  4764. define(CONSOLE_HELP,[\
  4765. WIDGET(@GDB@ Console)\n\
  4766. \n\
  4767. The @GDB@ console shows the @GDB@ input and output\n\
  4768. as well as the input and output of the debugged program.\n\
  4769. \n\
  4770. You can enter @GDB@ commands here.\n\
  4771. \n\
  4772. To get a list of @GDB@ commands, enter KBD(help) at the @GDB@ prompt.\n\
  4773. See the LBL(Commands) menu for the most important editing commands.
  4774. ])dnl
  4775.  
  4776. Ddd*gdb_w.helpString:        CONSOLE_HELP
  4777. Ddd*command_shell.helpString:    CONSOLE_HELP
  4778.  
  4779.  
  4780. !-----------------------------------------------------------------------------
  4781. ! Console Popup Menu
  4782. !-----------------------------------------------------------------------------
  4783.  
  4784. Ddd*gdb_popup.clear_line.labelString:        Clear Line
  4785. Ddd*gdb_popup.clear_line.documentationString:    \
  4786. @rm Clear @GDB@ command line
  4787.  
  4788. Ddd*gdb_popup.clear_window.labelString:        Clear Window
  4789. Ddd*gdb_popup.clear_window.documentationString:    \
  4790. @rm Clear all before last @GDB@ prompt
  4791.  
  4792.  
  4793. !-----------------------------------------------------------------------------
  4794. ! Command Tool
  4795. !-----------------------------------------------------------------------------
  4796.  
  4797. ! The command tool is frequently moved around on top of other windows.
  4798. ! Hence, avoid extra redisplays.
  4799. Ddd*tool_shell*saveUnder: on
  4800.  
  4801. Ddd*tool_shell.helpString:        \
  4802. WIDGET(Command Tool)\n\
  4803. \n\
  4804. By clicking on one of the buttons, \
  4805. the corresponding command is sent to @GDB@.\n\
  4806. Press KEY_HELP on a button to get a short command description.
  4807.  
  4808. Ddd*tool_buttons.helpString:\
  4809. WIDGET(Command Tool)\n\
  4810. \n\
  4811. By clicking on one of the buttons, \
  4812. the corresponding command is sent to @GDB@.\n\
  4813. Press KEY_HELP on a button to get a short command description.
  4814.  
  4815.  
  4816. !-----------------------------------------------------------------------------
  4817. ! Plots
  4818. !-----------------------------------------------------------------------------
  4819.  
  4820. define(PLOT_WINDOW_HELP, [\
  4821. WIDGET(Plot Window)\n\
  4822. \n\
  4823. This window shows a plot of numerical arrays and/or scalars\n\
  4824. of the debugged program.\n\
  4825. \n\
  4826. In a 2-D plot, a point at X/Y shows the value Y at the array index X.\n\
  4827. In a 3-D plot, a point at X/Y/Z shows the value Z at the array index X/Y.\n\
  4828. Scalars are shown as lines and can be rotated using the LBL(Rotate ()) button.\n\
  4829. \n\
  4830. You can modify the plot appearance via the options in the menu bar.\n\
  4831. LBL(File, Command) gives you direct access to the Gnuplot program.\n\
  4832. \n\
  4833. Use LBL(File, Close) to close this window.
  4834. ])dnl
  4835.  
  4836. Ddd*plot.helpString:            PLOT_WINDOW_HELP
  4837. Ddd*plot*swallower.helpString:  PLOT_WINDOW_HELP
  4838. Ddd*plot*area.helpString:       PLOT_WINDOW_HELP
  4839.  
  4840. Ddd*plot*replot.labelString:    Refresh Plot
  4841. Ddd*plot*replot.mnemonic:       R
  4842. Ddd*plot*replot.accelerator:    ~Shift ~Meta Ctrl<Key>L
  4843. Ddd*plot*replot.acceleratorText: Ctrl+L
  4844. Ddd*plot*replot.documentationString:   \
  4845. @rm Refresh plot, using current values
  4846.  
  4847. Ddd*plot*command.labelString:    Command...
  4848. Ddd*plot*command.mnemonic:       o
  4849. Ddd*plot*command.documentationString:   \
  4850. @rm Enter plotting command
  4851.  
  4852. Ddd*plot*export.labelString:    Save Data As...
  4853. Ddd*plot*export.mnemonic:       S
  4854. Ddd*plot*export.accelerator:    ~Shift ~Meta Ctrl<Key>S
  4855. Ddd*plot*export.acceleratorText: Ctrl+S
  4856. Ddd*plot*export.documentationString:   \
  4857. @rm Write plotted data to file
  4858.  
  4859. Ddd*plot*print.labelString:     Print Plot...
  4860. Ddd*plot*print.mnemonic:        P
  4861. Ddd*plot*print.documentationString:   \
  4862. @rm Print the current plot
  4863.  
  4864. Ddd*plot*menubar.helpString:        \
  4865. WIDGET(Menu Bar)\n\
  4866. \n\
  4867. DESC(File, [print plot and close this window])\n\
  4868. DESC(Edit, [cut, copy, and paste text])\n\
  4869. DESC(View, [set plot options])\n\
  4870. DESC(Plot, [set plot style])\n\
  4871. DESC(Scale, [set scale style])\n\
  4872. DESC(Contour, [set contour style])\n\
  4873. DESC(Help, [on-line help and version information])
  4874.  
  4875. Ddd*menubar.plotView.labelString:      View
  4876. Ddd*menubar.plotView.mnemonic:         V
  4877. Ddd*menubar.plotView.documentationString:         \
  4878. @rm Set plot options
  4879.  
  4880. define(PLOT_VIEW_HELP, [\
  4881. WIDGET(View Menu)\n\
  4882. \n\
  4883. DESC(Border, [display border])\n\
  4884. DESC(Time, [display time of plot])\n\
  4885. \n\
  4886. DESC(Grid, [display grid])\n\
  4887. DESC(X Zero Axis, [display X zero axis])\n\
  4888. DESC(Y Zero Axis, [display Y zero axis])
  4889. ])dnl
  4890.  
  4891. Ddd*menubar.plotView.helpString: PLOT_VIEW_HELP
  4892. Ddd*plotViewMenu*helpString:     PLOT_VIEW_HELP
  4893. Ddd*plotViewMenu*tearOffTitle:   View
  4894.  
  4895. Ddd*plotViewMenu.border.labelString:    Border
  4896. Ddd*plotViewMenu.border.mnemonic:    B
  4897. Ddd*plotViewMenu.border.documentationString:    \
  4898. @rm Toggle border
  4899.  
  4900. Ddd*plotViewMenu.grid.labelString:    Grid
  4901. Ddd*plotViewMenu.grid.mnemonic:        G
  4902. Ddd*plotViewMenu.grid.documentationString:    \
  4903. @rm Toggle grid
  4904.  
  4905. Ddd*plotViewMenu.time.labelString:    Time
  4906. Ddd*plotViewMenu.time.mnemonic:          T
  4907. Ddd*plotViewMenu.time.documentationString:    \
  4908. @rm Toggle plot time
  4909.  
  4910. Ddd*plotViewMenu.xzeroaxis.labelString:    X Zero Axis
  4911. Ddd*plotViewMenu.xzeroaxis.mnemonic:    X
  4912. Ddd*plotViewMenu.xzeroaxis.documentationString:    \
  4913. @rm Toggle X zero axis
  4914.  
  4915. Ddd*plotViewMenu.yzeroaxis.labelString:    Y Zero Axis
  4916. Ddd*plotViewMenu.yzeroaxis.mnemonic:    Y
  4917. Ddd*plotViewMenu.yzeroaxis.documentationString:    \
  4918. @rm Toggle Y zero axis
  4919.  
  4920.  
  4921.  
  4922. Ddd*menubar.plot.labelString:          Plot
  4923. Ddd*menubar.plot.mnemonic:             P
  4924. Ddd*menubar.plot.documentationString:   \
  4925. @rm Set plotting style
  4926.  
  4927. define(PLOT_HELP, [\
  4928. \
  4929. WIDGET(Plot Menu)\n\
  4930. \n\
  4931. DESC(Points, [display a small symbol at each point])\n\
  4932. DESC(Lines, [connect adjacent points with lines])\n\
  4933. DESC(3-D Lines, [remove hidden lines, creating a 3-D effect])\n\
  4934. DESC(Points and Lines, [do both Points and Lines])\n\
  4935. DESC(Impulses, [draw a vertical line from the base to each point])\n\
  4936. DESC(Dots, [plot a tiny dot at each point])\n\
  4937. DESC(Steps, [connect adjacent points with two line segments])\n\
  4938. DESC(Boxes, [draw a vertical box from the x axis to each point])
  4939. ])dnl
  4940.  
  4941. Ddd*menubar.plot.helpString:    PLOT_HELP
  4942. Ddd*plotMenu*helpString:    PLOT_HELP
  4943. Ddd*plotMenu*tearOffTitle:    Plot
  4944.  
  4945. Ddd*plotMenu.points.labelString:    Points
  4946. Ddd*plotMenu.points.mnemonic:        P
  4947. Ddd*plotMenu.points.documentationString:    \
  4948. @rm Display a small symbol at each point
  4949.  
  4950. Ddd*plotMenu.lines.labelString:          Lines
  4951. Ddd*plotMenu.lines.mnemonic:        L
  4952. Ddd*plotMenu.lines.documentationString:    \
  4953. @rm Connect adjacent points with lines
  4954.  
  4955. Ddd*plotMenu.lines3d.labelString:    3-D Lines
  4956. Ddd*plotMenu.lines3d.mnemonic:        3
  4957. Ddd*plotMenu.lines3d.documentationString:    \
  4958. @rm Remove hidden lines, creating a 3-D effect
  4959.  
  4960. Ddd*plotMenu.linespoints.labelString:    Points and Lines
  4961. Ddd*plotMenu.linespoints.mnemonic:    a
  4962. Ddd*plotMenu.linespoints.documentationString:    \
  4963. @rm Do both Points and Lines
  4964.  
  4965. Ddd*plotMenu.linespoints3d.labelString:    Points and 3-D Lines
  4966. Ddd*plotMenu.linespoints3d.mnemonic:    t
  4967. Ddd*plotMenu.linespoints3d.documentationString:    \
  4968. @rm Do both Points and 3-D Lines
  4969.  
  4970. Ddd*plotMenu.impulses.labelString:    Impulses
  4971. Ddd*plotMenu.impulses.mnemonic:        I
  4972. Ddd*plotMenu.impulses.documentationString:    \
  4973. @rm Draw a vertical line from the base to each point
  4974.  
  4975. Ddd*plotMenu.dots.labelString:        Dots
  4976. Ddd*plotMenu.dots.mnemonic:        D
  4977. Ddd*plotMenu.dots.documentationString:    \
  4978. @rm Plot a tiny dot at each point
  4979.  
  4980. Ddd*plotMenu.steps2d.labelString:    Steps
  4981. Ddd*plotMenu.steps2d.mnemonic:        S
  4982. Ddd*plotMenu.steps2d.documentationString:    \
  4983. @rm Connect adjacent points with two line segments
  4984.  
  4985. Ddd*plotMenu.boxes2d.labelString:    Boxes
  4986. Ddd*plotMenu.boxes2d.mnemonic:        B
  4987. Ddd*plotMenu.boxes2d.documentationString:    \
  4988. @rm Draw a vertical box from the x axis to each point
  4989.  
  4990.  
  4991. Ddd*menubar.scale.labelString:      Scale
  4992. Ddd*menubar.scale.mnemonic:         S
  4993. Ddd*menubar.scale.documentationString:   \
  4994. @rm Set scale style
  4995.  
  4996. define(SCALE_HELP, [\
  4997. WIDGET(Scale Menu)\n\
  4998. \n\
  4999. DESC(Logarithmic, [toggle logarithmic scaling])\n\
  5000. \n\
  5001. DESC(X Tics, [display tics on X scale])\n\
  5002. DESC(Y Tics, [display tics on Y scale])\n\
  5003. DESC(Z Tics, [display tics on Z scale])
  5004. ])dnl
  5005.  
  5006. Ddd*menubar.scale.helpString: SCALE_HELP
  5007. Ddd*scaleMenu*helpString:     SCALE_HELP
  5008. Ddd*scaleMenu*tearOffTitle:   Scale
  5009.  
  5010. Ddd*scaleMenu.logscale.labelString:    Logarithmic
  5011. Ddd*scaleMenu.logscale.mnemonic:    L
  5012. Ddd*scaleMenu.logscale.documentationString:    \
  5013. @rm Toggle logarithmic scaling
  5014.  
  5015. Ddd*scaleMenu.xtics.labelString:    X Tics
  5016. Ddd*scaleMenu.xtics.mnemonic:        X
  5017. Ddd*scaleMenu.xtics.documentationString:    \
  5018. @rm Toggle tics on X scale
  5019.  
  5020. Ddd*scaleMenu.ytics.labelString:    Y Tics
  5021. Ddd*scaleMenu.ytics.mnemonic:        Y
  5022. Ddd*scaleMenu.ytics.documentationString:    \
  5023. @rm Toggle tics on Y scale
  5024.  
  5025. Ddd*scaleMenu.ztics.labelString:    Z Tics
  5026. Ddd*scaleMenu.ztics.mnemonic:        Z
  5027. Ddd*scaleMenu.ztics.documentationString:    \
  5028. @rm Toggle tics on Z scale
  5029.  
  5030.  
  5031. Ddd*menubar.contour.labelString:      Contour
  5032. Ddd*menubar.contour.mnemonic:         C
  5033. Ddd*menubar.contour.documentationString:   \
  5034. @rm Set contour style
  5035.  
  5036. define(CONTOUR_HELP, [\
  5037. WIDGET(Contour Menu)\n\
  5038. \n\
  5039. DESC(Base, [draw contour on base])\n\
  5040. DESC(Surface, [draw contour on surface])
  5041. ])dnl
  5042.  
  5043. Ddd*menubar.contour.helpString: CONTOUR_HELP
  5044. Ddd*contourMenu*helpString:     CONTOUR_HELP
  5045. Ddd*contourMenu*tearOffTitle:   Contour
  5046.  
  5047. Ddd*contourMenu.base.labelString:    Base
  5048. Ddd*contourMenu.base.mnemonic:        B
  5049. Ddd*contourMenu.base.documentationString:    \
  5050. @rm Draw contour on base
  5051.  
  5052. Ddd*contourMenu.surface.labelString:    Surface
  5053. Ddd*contourMenu.surface.mnemonic:    S
  5054. Ddd*contourMenu.surface.documentationString:    \
  5055. @rm Draw contour on surface
  5056.  
  5057.  
  5058. Ddd*plot_command_dialog_popup.title:        DDD: Plot Command
  5059. Ddd*plot_command_dialog.cancelLabelString:    Close
  5060. Ddd*plot_command.promptString:            gnuplot>
  5061. Ddd*plot_command_dialog*helpString:     \
  5062. WIDGET(Plot Command)\n\
  5063. \n\
  5064. You can now enter a Gnuplot command at the SAMP(gnuplot>) prompt.\n\
  5065. The plot will automatically be refreshed after execution.\n\
  5066. \n\
  5067. See the Gnuplot documentation for useful commands.
  5068.  
  5069.  
  5070. ! The default Gnuplot window is 640x540 pixels wide.
  5071. Ddd*plot*area.width:        640
  5072. Ddd*plot*area.height:       450
  5073. Ddd*plot*area.background:   TEXT_BACKGROUND_COLOR
  5074.  
  5075. ! Ideally, these values would come from the swallowed window.
  5076. ! Unfortunately, LessTif has problems with these, so we set them explicitly.
  5077. Ddd*plot*swallower.width:        640
  5078. Ddd*plot*swallower.height:       450
  5079. Ddd*plot*swallower.background:   TEXT_BACKGROUND_COLOR
  5080.  
  5081. Ddd*plot*XmScrollBar.borderWidth:        0
  5082. Ddd*plot*XmScrollBar.highlightThickness:        0
  5083.  
  5084.  
  5085. !-----------------------------------------------------------------------------
  5086. ! Debugger Buttons
  5087. !-----------------------------------------------------------------------------
  5088.  
  5089. Ddd*source_buttons.helpString:\
  5090. WIDGET(Command Area)\n\
  5091. \n\
  5092. By clicking on one of the buttons, \
  5093. the corresponding command is sent to @GDB@.\n\
  5094. Press KEY_HELP on a button to get a short command description.
  5095.  
  5096. Ddd*command_buttons.helpString:\
  5097. WIDGET(Command Area)\n\
  5098. \n\
  5099. By clicking on one of the buttons, \
  5100. the corresponding command is sent to @GDB@.\n\
  5101. Press KEY_HELP on a button to get a short command description.
  5102.  
  5103. Ddd*data_buttons.helpString:\
  5104. WIDGET(Command Area)\n\
  5105. \n\
  5106. By clicking on one of the buttons, \
  5107. the corresponding command is sent to @GDB@.\n\
  5108. Press KEY_HELP on a button to get a short command description.
  5109.  
  5110. ! An empty help string means that the help text for this button
  5111. ! is to be requested from GDB (via the GDB `help' command).
  5112. Ddd*source_buttons*XmPushButton.helpString:
  5113. Ddd*console_buttons*XmPushButton.helpString:
  5114. Ddd*data_buttons*XmPushButton.helpString:
  5115. Ddd*tool_buttons*XmPushButton.helpString:
  5116. Ddd*command_toolbar*XmPushButton.helpString:
  5117.  
  5118. ! Same applies for button tips.
  5119. Ddd*source_buttons*XmPushButton.tipString:
  5120. Ddd*console_buttons*XmPushButton.tipString:
  5121. Ddd*data_buttons*XmPushButton.tipString:
  5122. Ddd*tool_buttons*XmPushButton.tipString:
  5123. Ddd*command_toolbar*XmPushButton.tipString:
  5124.  
  5125. ! Special spacing
  5126. Ddd*source_buttons.spacing:        0
  5127. Ddd*console_buttons.spacing:        0
  5128. Ddd*data_buttons.spacing:        0
  5129. Ddd*source_buttons.packing:        XmPACK_TIGHT
  5130. Ddd*console_buttons.packing:        XmPACK_TIGHT
  5131. Ddd*data_buttons.packing:        XmPACK_TIGHT
  5132. Ddd*source_buttons.entryAlignment:  XmALIGNMENT_CENTER
  5133. Ddd*console_buttons.entryAlignment: XmALIGNMENT_CENTER
  5134. Ddd*data_buttons.entryAlignment:    XmALIGNMENT_CENTER
  5135. Ddd*source_buttons*alignment:        XmALIGNMENT_CENTER
  5136. Ddd*console_buttons*alignment:        XmALIGNMENT_CENTER
  5137. Ddd*data_buttons*alignment:        XmALIGNMENT_CENTER
  5138.  
  5139. Ddd*source_buttons.marginWidth:     0
  5140. Ddd*source_buttons.marginHeight:    0
  5141. Ddd*console_buttons.marginWidth:    0
  5142. Ddd*console_buttons.marginHeight:   0
  5143. Ddd*data_buttons.marginWidth:       0
  5144. Ddd*data_buttons.marginHeight:      0
  5145.  
  5146. ! Some buttons have a special meaning; 
  5147. ! so we must provide help on ourselves.
  5148. Ddd*?*break.helpString: \
  5149. LBL(Interrupt)\n\
  5150. \n\
  5151. Interrupt the debugged process (or current @GDB@ command).\n\
  5152. (Equivalent to KEY(Esc)).
  5153. Ddd*source_buttons*break.tipString: \
  5154. @rm Interrupt debugged program
  5155. Ddd*data_buttons*break.tipString: \
  5156. @rm Interrupt debugged program
  5157. Ddd*console_buttons*break.tipString: \
  5158. @rm Interrupt debugged program
  5159. Ddd*tool_buttons*break.tipString: \
  5160. @rm Interrupt debugged program
  5161. Ddd*command_toolbar*break.tipString: \
  5162. @rm Interrupt debugged program
  5163. Ddd*?*break.documentationString: \
  5164. @rm Interrupt the debugged process (or current @GDB@ command)
  5165.  
  5166. Ddd*?*Yes.helpString:    \
  5167. LBL(Yes)\n\
  5168. \n\
  5169. Confirm the @GDB@ question.
  5170. Ddd*?*Yes.tipString: \
  5171. @rm Just say yes
  5172.  
  5173. Ddd*?*No.helpString:    \
  5174. LBL(No)\n\
  5175. \n\
  5176. Do EMPH(not) confirm the @GDB@ question.
  5177. Ddd*?*No.tipString: \
  5178. @rm Just say no
  5179.  
  5180. Ddd*?*Complete.helpString:    \
  5181. LBL(Complete)\n\
  5182. \n\
  5183. Complete the current debugging command.  (Equivalent to KEY(TAB)).
  5184. Ddd*?*Complete.tipString: \
  5185. @rm Complete current command
  5186.  
  5187. Ddd*?*Clear.helpString:    \
  5188. LBL(Clear)\n\
  5189. \n\
  5190. Clear the current debugging command.  (Equivalent to KEY(Ctrl+U)).
  5191. Ddd*?*Clear.tipString: \
  5192. @rm Clear current command
  5193.  
  5194. Ddd*?*Prev.helpString:    \
  5195. LBL(Prev)\n\
  5196. \n\
  5197. Get the previous debugging command \
  5198. (Equivalent to KEY(Up)).
  5199. Ddd*?*Prev.tipString: \
  5200. @rm Get previous command
  5201.  
  5202. Ddd*?*Next.helpString:    \
  5203. LBL(Next)\n\
  5204. \n\
  5205. Get the next debugging command \
  5206. (Equivalent to KEY(Down)).
  5207. Ddd*?*Next.tipString: \
  5208. @rm Get next command
  5209.  
  5210. Ddd*?*Apply.helpString:    \
  5211. LBL(Apply)\n\
  5212. \n\
  5213. Execute the current debugging command.  (Equivalent to KEY_RETURN).
  5214. Ddd*?*Apply.tipString: \
  5215. @rm Execute current command
  5216.  
  5217. Ddd*?*Undo.helpString:    \
  5218. LBL(Undo)\n\
  5219. \n\
  5220. Undo last command.  Almost all commands can be undone this way.\n\
  5221. \n\
  5222. As a special exception, if the last command affected the state of the\n\
  5223. debuggee, DDD does EMPH(not) restore the previous program state.\n\
  5224. Instead, DDD goes into EMPH(historic mode) showing you all it remembers\n\
  5225. about this state.
  5226. Ddd*?*Undo.tipString: 
  5227.  
  5228. Ddd*?*Redo.helpString:    \
  5229. LBL(Redo)\n\
  5230. \n\
  5231. Redo next command.  Every command undone can be redone this way.
  5232. Ddd*?*Redo.tipString: 
  5233.  
  5234. Ddd*?*Edit.helpString:    \
  5235. LBL(Edit)\n\
  5236. \n\
  5237. Invoke an editor for the current source file.
  5238. Ddd*?*Edit.tipString: \
  5239. @rm Edit source file
  5240. Ddd*?*Edit.documentationString: \
  5241. @rm Invoke text editor for the current source
  5242.  
  5243. Ddd*?*Make.helpString:    \
  5244. LBL(Make)\n\
  5245. \n\
  5246. Run the make program with the most recently given arguments.
  5247. Ddd*?*Make.tipString: \
  5248. @rm Run the make program
  5249. Ddd*?*Make.documentationString: \
  5250. @rm Run the make program with the most recently given arguments.
  5251.  
  5252. Ddd*?*Reload.helpString:    \
  5253. LBL(Reload)\n\
  5254. \n\
  5255. Reload the source from file.
  5256. Ddd*?*Reload.tipString: \
  5257. @rm Reload source file
  5258. Ddd*?*Reload.documentationString: \
  5259. @rm Reload current source file
  5260.  
  5261.  
  5262.  
  5263.  
  5264. !-----------------------------------------------------------------------------
  5265. ! Print Dialog
  5266. !-----------------------------------------------------------------------------
  5267.  
  5268. Ddd*print_popup.title: DDD: Print
  5269. Ddd*print.okLabelString: Print
  5270.  
  5271. Ddd*print*to.labelString:              Print To
  5272. Ddd*print*toMenu.printer.labelString:           \
  5273. \ \ \ \ \ \ \ \ \ \ \ Printer\ \ \ \ \ \ \ \ \ \ \ 
  5274. Ddd*print*toMenu.file.labelString:              File
  5275.  
  5276. Ddd*print*toMenu.?.indicatorOn:               off
  5277. Ddd*print*toMenu.?.shadowThickness:           2
  5278. Ddd*print*toMenu.entryAlignment:           XmALIGNMENT_CENTER
  5279.  
  5280. Ddd*print*command.label.labelString:          Print Command
  5281. Ddd*print*command.text.columns:                    40
  5282.  
  5283. Ddd*print*name.labelString:                    File Name
  5284. Ddd*print*name.text.columns:                    29
  5285. Ddd*print*name.text.value:                    ddd()graph.ps
  5286.  
  5287. Ddd*print*browse.labelString:                    Browse...
  5288.  
  5289. Ddd*print*type.labelString:                    File Type
  5290. Ddd*print*postscript.labelString:          PostScript
  5291. Ddd*print*xfig.labelString:              FIG
  5292.  
  5293. Ddd*print*what.labelString:                    Print
  5294. Ddd*print*displays.labelString:              Displays
  5295. Ddd*print*plots.labelString:              Plots
  5296. Ddd*print*selected.labelString:              Selected Only
  5297. Ddd*print*color.labelString:              Color
  5298.  
  5299. Ddd*print*orientation.labelString:            Orientation
  5300. Ddd*print*portrait.labelString:              Portrait
  5301. Ddd*print*landscape.labelString:          Landscape
  5302.  
  5303. Ddd*print*size.labelString:                    Paper Size
  5304. Ddd*print*sizeMenu.orientation:                    XmVERTICAL
  5305. Ddd*print*sizeMenu.numColumns:                    3
  5306. Ddd*print*a4.labelString:              A4 (210mm TIMES 297mm)
  5307. Ddd*print*a3.labelString:              A3 (297mm TIMES 420mm)
  5308. Ddd*print*letter.labelString:              Letter (8ONE_HALF" TIMES 11")
  5309. Ddd*print*legal.labelString:              Legal (8ONE_HALF" TIMES 14")
  5310. Ddd*print*executive.labelString:          Executive (7ONE_HALF" TIMES 10")
  5311. Ddd*print*custom.labelString:              Other...
  5312.  
  5313. Ddd*print*helpString: \
  5314. @rm You can print on a POSTSCRIPT printer or print to a file.\n\
  5315. Enter the print command or the file name in the appropriate fields.\n\
  5316. \n\
  5317. Files can be created in the following formats:\n\
  5318. DESC(PostScript, POSTSCRIPT format)\n\
  5319. DESC(FIG, [FIG format (for the CODE(xfig) program)])\n\
  5320. \n\
  5321. Select LBL(Print Displays) to print displays.\n\
  5322. Select LBL(Print Plots) to print the current plots.\n\
  5323. \n\
  5324. To print selected items only, select LBL(Selected Only).\n\
  5325. For POSTSCRIPT format only, you can also specify orientation and paper size.\n\
  5326. \n\
  5327. To print, click on LBL(Print).
  5328.  
  5329. Ddd*paper_size_dialog_popup.title:          DDD: Paper Size
  5330. Ddd*paper_size_dialog.selectionLabelString:     Paper size
  5331. Ddd*paper_size_dialog.textAccelerators:
  5332. Ddd*paper_size_dialog*helpString: \
  5333. @rm Please enter the paper size in the format \
  5334. KBD(VAR(width) CODE(x) VAR(height)).\n\
  5335. \n\
  5336. Examples:\n\
  5337. KBD(42cm x 59.4cm) DASH A2 paper\n\
  5338. KBD(7.5in x 10in) DASH Executive paper\n\
  5339. \n\
  5340. Supported units for VAR(width) and VAR(height) include:\n\
  5341. KBD(pt) (points), KBD(in) (inches),\n\
  5342. KBD(mm) (millimeters), KBD(cm) (centimeters).
  5343.  
  5344. Ddd*browse_print_popup.title:       DDD: Print to File
  5345. Ddd*browse_print.selectionLabelString: Print to File
  5346. Ddd*browse_print*helpString:       \
  5347. @rm You can select the file to print to.\n\
  5348. \n\
  5349. Click on LBL(OK) to set the file name.\n\
  5350. Click on LBL(Filter) to apply the given filter.
  5351.  
  5352.  
  5353.  
  5354. !-----------------------------------------------------------------------------
  5355. ! File Selection Dialogs
  5356. !-----------------------------------------------------------------------------
  5357.  
  5358. Ddd*exec_files_popup.title:           DDD: Open Program
  5359. Ddd*exec_files.okLabelString:       Open
  5360. Ddd*exec_files.selectionLabelString: Program
  5361. Ddd*exec_files*helpString:       \
  5362. WIDGET(Open Program)\n\
  5363. \n\
  5364. The dialog shows executable files in the current directory.\n\
  5365. Enter the name of the program to be debugged in the argument field.\n\
  5366. \n\
  5367. The program is read for its symbols, for getting the contents\
  5368.  of pure memory,\n\
  5369. and it is the program executed when you use the KBD(run) command.\n\
  5370. If the program file cannot be found as specified,\
  5371.  your execution directory path\n\
  5372. (CODE($PATH)) is searched for a command of that name.\n\
  5373. No argument means to have no executable file and no symbols.\n\
  5374. \n\
  5375. Click on LBL(Open) to open the selected file.\n\
  5376. Click on LBL(Filter) to apply the given filter.
  5377.  
  5378. Ddd*core_files_popup.title:           DDD: Open Core Dump
  5379. Ddd*core_files.okLabelString:       Open
  5380. Ddd*core_files.selectionLabelString: Core Dump
  5381. Ddd*core_files*helpString:       \
  5382. WIDGET(Open Core Dump)\n\
  5383. \n\
  5384. The dialog shows core dumps in the current directory.\n\
  5385. Enter the name of a core dump in the argument field.\n\
  5386. \n\
  5387. The core dump is used for examining memory and registers.\n\
  5388. No argument means to have no core file.\n\
  5389. \n\
  5390. Before using LBL(Open Core), you should use LBL(File, Open Program)\n\
  5391. to specify the program causing the core dump, and to load its symbol table.\n\
  5392. \n\
  5393. Click on LBL(Open) to open the selected core dump.\n\
  5394. Click on LBL(Filter) to apply the given filter.
  5395.  
  5396. Ddd*source_files_popup.title:           DDD: Open Source
  5397. Ddd*source_files.okLabelString:       Open
  5398. Ddd*source_files.selectionLabelString: Source File
  5399. Ddd*source_files*helpString:    \
  5400. WIDGET(Open Source)\n\
  5401. \n\
  5402. The dialog shows source files in the current directory.\n\
  5403. Enter the name of a source file in the argument field.\n\
  5404. \n\
  5405. The source file is shown in the source window and may be used\n\
  5406. for setting or clearing breakpoints.\n\
  5407. \n\
  5408. Before using LBL(Open Source), you should use LBL(File, Open Program)\n\
  5409. to specify the executable program, and to load its symbol table.\n\
  5410. \n\
  5411. Click on LBL(Open) to open the selected source file.\n\
  5412. Click on LBL(Filter) to apply the given filter.
  5413.  
  5414. Ddd*processes_popup.title: DDD: Attach to Process
  5415. Ddd*processes.listLabelString:    Processes
  5416. Ddd*processes.selectionPolicy:    XmSINGLE_SELECT
  5417.  
  5418. Ddd*processes.okLabelString:    Attach
  5419. Ddd*processes.applyLabelString:    Update
  5420.  
  5421. Ddd*processes*helpString:    \
  5422. WIDGET(Attach to Process)\n\
  5423. \n\
  5424. The dialog shows the currently running processes.\n\
  5425. Select a running process of the program to be debugged.\n\
  5426. \n\
  5427. An attached process is stopped by DDD. You can examine and modify an\n\
  5428. attached process with all the DDD commands that are ordinarily available\n\
  5429. when you start processes with LBL(Run). You can insert breakpoints; you \n\
  5430. can step and continue; you can modify storage.  If you would rather the\n\
  5431. process continue running, you may use the LBL(Continue) command after\n\
  5432. attaching DDD to the process.\n\
  5433. \n\
  5434. When you have finished debugging the attached process, you can use\n\
  5435. LBL(Detach Process) to release it from DDD control.  Detaching \
  5436. the process\n\
  5437. continues its execution.\n\
  5438. \n\
  5439. Before using LBL(Attach), you should use LBL(File, Open Program)\n\
  5440. to specify the program running in the process, and to load its symbol table.\n\
  5441. \n\
  5442. Click on LBL(Attach) to attach to the selected process.\n\
  5443. Click on LBL(Update) to update the list of processes.
  5444.  
  5445.  
  5446. Ddd*classes_popup.title:         DDD: Open Class
  5447. Ddd*classes.listLabelString:        Classes
  5448. Ddd*classes.selectionLabelString:     Open Class
  5449. Ddd*classes*selectionPolicy:        XmSINGLE_SELECT
  5450. Ddd*classes*okLabelString:         Open
  5451. Ddd*classes*applyLabelString:         Update
  5452. Ddd*classes*helpString:    \
  5453. WIDGET(Open Class)\n\
  5454. \n\
  5455. The dialog shows the currently accessible Java classes.\n\
  5456. Please select a class to be debugged.\n\
  5457. \n\
  5458. These classes all have corresponding CODE(.java) sources in the class path.\n\
  5459. To search for other classes, select LBL(Edit, JDB Settings)\n\
  5460. and add their directories to the class path.\n\
  5461. \n\
  5462. Click on LBL(Open) to open the selected class.\n\
  5463. Click on LBL(Update) to scan the class path once more.
  5464.  
  5465.  
  5466. Ddd*sources_popup.title:         DDD: Open Source
  5467. Ddd*sources.listLabelString:        Sources
  5468. Ddd*sources.selectionLabelString:     Open Source
  5469. Ddd*sources*label.labelString:        Filter
  5470. Ddd*sources*selectionPolicy:        XmSINGLE_SELECT
  5471. Ddd*sources*okLabelString:         Open
  5472. Ddd*sources*lookup.labelString:        Lookup
  5473. Ddd*sources*applyLabelString:         Filter
  5474. Ddd*sources*helpString:    \
  5475. WIDGET(Open Source)\n\
  5476. \n\
  5477. The dialog shows the currently accessible source files of your program.\n\
  5478. Please select a source to be opened.\n\
  5479. \n\
  5480. Source files from shared libraries are only shown after the library\n\
  5481. has been loaded into @GDB@.  To load a shared library, run your program\n\
  5482. or use the @GDB@ SAMP(share) command.\n\
  5483. \n\
  5484. To search for other sources, select LBL(Edit, @GDB@ Settings)\n\
  5485. and add their directories to the source path.\n\
  5486. \n\
  5487. Click on LBL(Open) to open the selected source and close this window.\n\
  5488. Click on LBL(Lookup) to lookup the selected source.\n\
  5489. Click on LBL(Filter) to apply the given filter.
  5490.  
  5491.  
  5492. Ddd*sessions_to_open_popup.title:         DDD: Open Session
  5493. Ddd*sessions_to_open.listLabelString:        Sessions
  5494. Ddd*sessions_to_open.selectionLabelString:     Open Session
  5495. Ddd*sessions_to_open*selectionPolicy:        XmSINGLE_SELECT
  5496. Ddd*sessions_to_open*okLabelString:         Open
  5497. Ddd*sessions_to_open*applyLabelString:         Delete
  5498. Ddd*sessions_to_open*helpString:    \
  5499. WIDGET(Open Session)\n\
  5500. \n\
  5501. The dialog shows your DDD sessions.\n\
  5502. Enter the name of a DDD session in the argument field.\n\
  5503. \n\
  5504. A DDD session records the state of a debugging session,\n\
  5505. such that you can exit debugging sessions and resume later.\n\
  5506. \n\
  5507. Click on LBL(Open) to open the selected session.\n\
  5508. Click on LBL(Delete) to delete the selected session.
  5509.  
  5510.  
  5511. Ddd*sessions_to_save_popup.title:         DDD: Save Session
  5512. Ddd*sessions_to_save.listLabelString:        Sessions
  5513. Ddd*sessions_to_save.selectionLabelString:     Save Session
  5514. Ddd*sessions_to_save*selectionPolicy:        XmSINGLE_SELECT
  5515. Ddd*sessions_to_save*okLabelString:         Save
  5516. Ddd*sessions_to_save*applyLabelString:         Delete
  5517. Ddd*sessions_to_save*dump.labelString:        Include Core Dump
  5518. Ddd*sessions_to_save*dump.alignment:        XmALIGNMENT_BEGINNING
  5519. Ddd*sessions_to_save*method.labelString:    via
  5520. Ddd*sessions_to_save*kill.labelString:        Killing the Debuggee
  5521. Ddd*sessions_to_save*ptrace.labelString:    The ptrace() call
  5522. Ddd*sessions_to_save*gcore.labelString:        The `gcore' Command
  5523.  
  5524. Ddd*sessions_to_save*helpString:    \
  5525. WIDGET(Save Session)\n\
  5526. \n\
  5527. The dialog shows your DDD sessions.\n\
  5528. Enter the name of a DDD session in the argument field.\n\
  5529. \n\
  5530. A DDD session records the state of a debugging session,\n\
  5531. such that you can exit debugging sessions and resume later.\n\
  5532. \n\
  5533. If LBL(Include Core Dump) is set, DDD includes a core dump of the\n\
  5534. program being debugged.  This allows DDD to restore memory\n\
  5535. contents and data displays when restoring the session.\n\
  5536. \n\
  5537. DDD provides up to three ways to get a core dump:\n\
  5538. DESC([Killing the Debuggee], [kill the debugged program.])\n\
  5539.     Works fine, but loses the current process.\n\
  5540. DESC([The `gcore' Command], [an external program to get a core\n\
  5541.     file from a running process.])\n\
  5542.     The process may continue for a few steps after the `gcore'\n\
  5543.     command is done.\n\
  5544. DESC([The ptrace() call], [a system call to get a core file])\n\
  5545.     Safe, but may result in a hanging GDB.\n\
  5546. \n\
  5547. Click on LBL(Save) to save the current DDD session.\n\
  5548. Click on LBL(Delete) to delete the selected session.
  5549.  
  5550.  
  5551. Ddd*export_data_popup.title:       DDD: Save Plot Data
  5552. Ddd*export_data.okLabelString:       Save
  5553. Ddd*export_data.selectionLabelString: Data File
  5554. Ddd*export_data*helpString:       \
  5555. @rm You can save the plot data in a file.\n\
  5556. Enter the file name in the argument field.\n\
  5557. \n\
  5558. Click on LBL(Save) to save the plot data.\n\
  5559. Click on LBL(Filter) to apply the given filter.
  5560.  
  5561.  
  5562. !-----------------------------------------------------------------------------
  5563. ! Breakpoint Editor
  5564. !-----------------------------------------------------------------------------
  5565.  
  5566. Ddd*edit_breakpoins_dialog_popup.title: DDD: Breakpoint and Watchpoint Editor
  5567. Ddd*edit_breakpoints_dialog.listLabelString: Breakpoints and Watchpoints
  5568. Ddd*edit_breakpoints_dialog*buttons.orientation: XmHORIZONTAL
  5569. Ddd*edit_breakpoints_dialog.okLabelString:     Close
  5570.  
  5571. Ddd*edit_breakpoints_dialog*buttons*labelType:  XmPIXMAP
  5572. Ddd*edit_breakpoints_dialog.childPlacement:  XmPLACE_TOP
  5573.  
  5574. Ddd*edit_breakpoints_dialog*helpString:         \
  5575. WIDGET(Breakpoint and Watchpoint Editor)\n\
  5576. \n\
  5577. DESC(Props..., [set or modify an item's properties])\n\
  5578. DESC(Lookup, [lookup selected item])\n\
  5579. DESC(Print, [print value of selected breakpoint])\n\
  5580. DESC(Break..., [create a new breakpoint])\n\
  5581. DESC(Watch..., [create a new watchpoint])\n\
  5582. DESC(Enable, [enable all selected items])\n\
  5583. DESC(Disable, [disable all selected items])\n\
  5584. DESC(Delete, [delete all selected items])\n\
  5585. \n\
  5586. Use KEY(Ctrl)+BUTTON(1) to toggle selections.
  5587.  
  5588. Ddd*edit_breakpoints_dialog*new_bp.labelString:               New Breakpoint...
  5589. Ddd*edit_breakpoints_dialog*new_bp.labelPixmap:               new_break
  5590. Ddd*edit_breakpoints_dialog*new_bp.labelInsensitivePixmap: new_break-xx
  5591. Ddd*edit_breakpoints_dialog*new_bp.armPixmap:              new_break-arm
  5592. Ddd*edit_breakpoints_dialog*new_bp.highlightPixmap:        new_break-hi
  5593.  
  5594. Ddd*edit_breakpoints_dialog*new_bp.tipString:     \
  5595. @rm Set new breakpoint
  5596. Ddd*edit_breakpoints_dialog*new_bp.documentationString: \
  5597. @rm Set breakpoint at specified line or function
  5598.  
  5599. Ddd*edit_breakpoints_dialog*new_wp.labelString:          New Watchpoint...
  5600. Ddd*edit_breakpoints_dialog*new_wp.labelPixmap:               new_watch
  5601. Ddd*edit_breakpoints_dialog*new_wp.labelInsensitivePixmap: new_watch-xx
  5602. Ddd*edit_breakpoints_dialog*new_wp.armPixmap:              new_watch-arm
  5603. Ddd*edit_breakpoints_dialog*new_wp.highlightPixmap:        new_watch-hi
  5604.  
  5605. Ddd*edit_breakpoints_dialog*new_wp.tipString:     \
  5606. @rm Set new watchpoint
  5607. Ddd*edit_breakpoints_dialog*new_wp.documentationString: \
  5608. @rm Set watchpoint on specified variable
  5609.  
  5610. Ddd*edit_breakpoints_dialog*lookup.labelString:           Lookup
  5611. Ddd*edit_breakpoints_dialog*lookup.labelPixmap:               lookup
  5612. Ddd*edit_breakpoints_dialog*lookup.labelInsensitivePixmap: lookup-xx
  5613. Ddd*edit_breakpoints_dialog*lookup.armPixmap:              lookup-arm
  5614. Ddd*edit_breakpoints_dialog*lookup.highlightPixmap:        lookup-hi
  5615.  
  5616. Ddd*edit_breakpoints_dialog*lookup.tipString:     \
  5617. @rm Lookup selected item
  5618. Ddd*edit_breakpoints_dialog*lookup.documentationString: \
  5619. @rm Lookup selected item in the source
  5620.  
  5621. Ddd*edit_breakpoints_dialog*print.labelString:           Print
  5622. Ddd*edit_breakpoints_dialog*print.labelPixmap:              print
  5623. Ddd*edit_breakpoints_dialog*print.labelInsensitivePixmap: print-xx
  5624. Ddd*edit_breakpoints_dialog*print.armPixmap:              print-arm
  5625. Ddd*edit_breakpoints_dialog*print.highlightPixmap:        print-hi
  5626.  
  5627. Ddd*edit_breakpoints_dialog*print.tipString:     \
  5628. @rm Print watched expression
  5629. Ddd*edit_breakpoints_dialog*print.documentationString: \
  5630. @rm Print value of watched expression in the @GDB@ console
  5631.  
  5632. Ddd*edit_breakpoints_dialog*enable.labelString:           Enable
  5633. Ddd*edit_breakpoints_dialog*enable.labelPixmap:               enable
  5634. Ddd*edit_breakpoints_dialog*enable.labelInsensitivePixmap: enable-xx
  5635. Ddd*edit_breakpoints_dialog*enable.armPixmap:              enable-arm
  5636. Ddd*edit_breakpoints_dialog*enable.highlightPixmap:        enable-hi
  5637.  
  5638. Ddd*edit_breakpoints_dialog*enable.tipString:     \
  5639. @rm Enable selected items
  5640. Ddd*edit_breakpoints_dialog*enable.documentationString: \
  5641. @rm Enable the selected items
  5642.  
  5643. Ddd*edit_breakpoints_dialog*disable.labelString:       Disable
  5644. Ddd*edit_breakpoints_dialog*disable.labelPixmap:        disable
  5645. Ddd*edit_breakpoints_dialog*disable.labelInsensitivePixmap: disable-xx
  5646. Ddd*edit_breakpoints_dialog*disable.armPixmap:              disable-arm
  5647. Ddd*edit_breakpoints_dialog*disable.highlightPixmap:        disable-hi
  5648.  
  5649. Ddd*edit_breakpoints_dialog*disable.tipString:     \
  5650. @rm Disable selected items
  5651. Ddd*edit_breakpoints_dialog*disable.documentationString: \
  5652. @rm Disable the selected items
  5653.  
  5654. Ddd*edit_breakpoints_dialog*properties.labelString:     Properties...
  5655. Ddd*edit_breakpoints_dialog*properties.labelPixmap:           properties
  5656. Ddd*edit_breakpoints_dialog*properties.labelInsensitivePixmap: properties-xx
  5657. Ddd*edit_breakpoints_dialog*properties.armPixmap:              properties-arm
  5658. Ddd*edit_breakpoints_dialog*properties.highlightPixmap:        properties-hi
  5659.  
  5660. Ddd*edit_breakpoints_dialog*properties.tipString:     \
  5661. @rm Edit properties
  5662. Ddd*edit_breakpoints_dialog*properties.documentationString:     \
  5663. @rm Specify the properties of the selected items
  5664.  
  5665. Ddd*edit_breakpoints_dialog*delete.labelString:           Delete
  5666. Ddd*edit_breakpoints_dialog*delete.labelPixmap:               delete
  5667. Ddd*edit_breakpoints_dialog*delete.labelInsensitivePixmap: delete-xx
  5668. Ddd*edit_breakpoints_dialog*delete.armPixmap:              delete-arm
  5669. Ddd*edit_breakpoints_dialog*delete.highlightPixmap:        delete-hi
  5670.  
  5671. Ddd*edit_breakpoints_dialog*delete.tipString:     \
  5672. @rm Delete selected items
  5673. Ddd*edit_breakpoints_dialog*delete.documentationString:     \
  5674. @rm Delete the selected items
  5675.  
  5676.  
  5677.  
  5678. !-----------------------------------------------------------------------------
  5679. ! New Breakpoint, New Watchpoint dialogs
  5680. !-----------------------------------------------------------------------------
  5681.  
  5682. Ddd*new_breakpoint_dialog_popup.title: DDD: New Breakpoint
  5683. Ddd*new_breakpoint_dialog*label.labelString: Set Breakpoint at
  5684. Ddd*new_breakpoint_dialog.okLabelString: Set
  5685. Ddd*new_breakpoint_dialog.textAccelerators:
  5686.  
  5687. Ddd*new_breakpoint_dialog*helpString:    \
  5688. \
  5689. @rm You can now enter a breakpoint you want to set.\n\
  5690. Enter its name in the argument field.\n\
  5691. \n\
  5692. The argument may be a EMPH(line number), a EMPH(function name),\
  5693.  or KBD(*) and an address.\n\
  5694. If a EMPH(line number) is specified, break at start of code for that line.\n\
  5695. If a EMPH(function name) is specified, break at start of code\
  5696.  for that function.\n\
  5697. If an EMPH(address) is specified, break at that exact address.\n\
  5698. Without argument, use current execution address of selected stack frame.\n\
  5699. This is useful for breaking on return to a stack frame.\n\
  5700. \n\
  5701. Multiple breakpoints at one place are permitted, and useful if conditional.\n\
  5702. \n\
  5703. Click on LBL(Set) to set the specified breakpoint.
  5704.  
  5705.  
  5706. Ddd*new_watchpoint_dialog_popup.title: DDD: New Watchpoint
  5707. Ddd*new_watchpoint_dialog*set.labelString:    Set
  5708. Ddd*new_watchpoint_dialog*cwatch.labelString:    Watchpoint
  5709. Ddd*new_watchpoint_dialog*rwatch.labelString:    Read Watchpoint
  5710. Ddd*new_watchpoint_dialog*awatch.labelString:    Access Watchpoint
  5711. Ddd*new_watchpoint_dialog*on.labelString:    on
  5712. Ddd*new_watchpoint_dialog.okLabelString: Set
  5713. Ddd*new_watchpoint_dialog.textAccelerators:
  5714.  
  5715. Ddd*new_watchpoint_dialog*helpString:    \
  5716. @rm You can now enter a variable whose value you want to watch.\n\
  5717. Enter its name in the argument field.\n\
  5718. \n\
  5719. DESC(Set Watchpoint, [stop whenever the variable value changes])\n\
  5720. DESC(Set Read Watchpoint, [stop whenever the variable is read])\n\
  5721. DESC(Set Access Watchpoint, \
  5722. [stop whenever the variable is either read or written])\n\
  5723. \n\
  5724. Click on LBL(Set) to set the specified watchpoint.
  5725.  
  5726.  
  5727.  
  5728. !-----------------------------------------------------------------------------
  5729. ! Breakpoint Properties
  5730. !-----------------------------------------------------------------------------
  5731.  
  5732. Ddd*breakpoint_properties_popup.title:    DDD: Properties
  5733.  
  5734. Ddd*breakpoint_properties.okLabelString:            Close
  5735.  
  5736. Ddd*breakpoint_properties*title.labelString:        Breakpoint
  5737. Ddd*breakpoint_properties*titleMenu.marginWidth:    0
  5738. Ddd*breakpoint_properties*titleMenu.marginWidth:    0
  5739. Ddd*breakpoint_properties*titlePanel.marginWidth:    0
  5740. Ddd*breakpoint_properties*titlePanel.marginHeight:    0
  5741.  
  5742. Ddd*breakpoint_properties*enabled.labelString:        Enabled
  5743. Ddd*breakpoint_properties*temporary.labelString:    Temporary
  5744.  
  5745. Ddd*breakpoint_properties*lookup.labelType:        XmPIXMAP
  5746. Ddd*breakpoint_properties*lookup.labelString:        Lookup
  5747. Ddd*breakpoint_properties*lookup.labelPixmap:             lookup
  5748. Ddd*breakpoint_properties*lookup.labelInsensitivePixmap: lookup-xx
  5749. Ddd*breakpoint_properties*lookup.armPixmap:              lookup-arm
  5750. Ddd*breakpoint_properties*lookup.highlightPixmap:        lookup-hi
  5751. Ddd*breakpoint_properties*lookup.tipString:             \
  5752. @rm Lookup breakpoint
  5753.  
  5754. Ddd*breakpoint_properties*print.labelType:        XmPIXMAP
  5755. Ddd*breakpoint_properties*print.labelString:        Print
  5756. Ddd*breakpoint_properties*print.labelPixmap:            print
  5757. Ddd*breakpoint_properties*print.labelInsensitivePixmap: print-xx
  5758. Ddd*breakpoint_properties*print.armPixmap:              print-arm
  5759. Ddd*breakpoint_properties*print.highlightPixmap:     print-hi
  5760. Ddd*breakpoint_properties*print.tipString:             \
  5761. @rm Print watchpoint value
  5762.  
  5763. Ddd*breakpoint_properties*enable.labelType:        XmPIXMAP
  5764. Ddd*breakpoint_properties*enable.labelString:        Enable
  5765. Ddd*breakpoint_properties*enable.labelPixmap:             enable
  5766. Ddd*breakpoint_properties*enable.labelInsensitivePixmap: enable-xx
  5767. Ddd*breakpoint_properties*enable.armPixmap:              enable-arm
  5768. Ddd*breakpoint_properties*enable.highlightPixmap:     enable-hi
  5769. Ddd*breakpoint_properties*enable.tipString:             \
  5770. @rm Enable breakpoint
  5771.  
  5772. Ddd*breakpoint_properties*disable.labelType:        XmPIXMAP
  5773. Ddd*breakpoint_properties*disable.labelString:        Disable
  5774. Ddd*breakpoint_properties*disable.labelPixmap:              disable
  5775. Ddd*breakpoint_properties*disable.labelInsensitivePixmap: disable-xx
  5776. Ddd*breakpoint_properties*disable.armPixmap:              disable-arm
  5777. Ddd*breakpoint_properties*disable.highlightPixmap:        disable-hi
  5778. Ddd*breakpoint_properties*disable.tipString:             \
  5779. @rm Disable breakpoint
  5780.  
  5781. Ddd*breakpoint_properties*temporary.labelType:        XmPIXMAP
  5782. Ddd*breakpoint_properties*temporary.labelString:    Temp 
  5783. Ddd*breakpoint_properties*temporary.labelPixmap:        maketemp
  5784. Ddd*breakpoint_properties*temporary.labelInsensitivePixmap: maketemp-xx
  5785. Ddd*breakpoint_properties*temporary.armPixmap:              maketemp-arm
  5786. Ddd*breakpoint_properties*temporary.highlightPixmap:        maketemp-hi
  5787. Ddd*breakpoint_properties*temporary.tipString:           \
  5788. @rm Make breakpoint temporary
  5789. Ddd*breakpoint_properties*temporary.documentationString:           \
  5790. @rm Make breakpoint temporary, such that it will be deleted when hit
  5791.  
  5792. Ddd*breakpoint_properties*delete.labelType:        XmPIXMAP
  5793. Ddd*breakpoint_properties*delete.labelString:        Delete
  5794. Ddd*breakpoint_properties*delete.labelPixmap:             delete
  5795. Ddd*breakpoint_properties*delete.labelInsensitivePixmap: delete-xx
  5796. Ddd*breakpoint_properties*delete.armPixmap:              delete-arm
  5797. Ddd*breakpoint_properties*delete.highlightPixmap:        delete-hi
  5798. Ddd*breakpoint_properties*delete.tipString:           \
  5799. @rm Delete breakpoint
  5800.  
  5801. Ddd*breakpoint_properties*condition.label.labelString:    Condition
  5802. Ddd*breakpoint_properties*condition*text*columns:       30
  5803.  
  5804. Ddd*breakpoint_properties*ignore.label.labelString:    Ignore Count
  5805. Ddd*breakpoint_properties*ignore*text.columns:          4
  5806. Ddd*breakpoint_properties*ignore*text.maximumValue:    9999
  5807.  
  5808. Ddd*breakpoint_properties*spinBoxChildType:        XmNUMERIC
  5809. Ddd*breakpoint_properties*arrowLayout:                XmARROWS_END
  5810. Ddd*breakpoint_properties*spin.marginWidth:        0
  5811. Ddd*breakpoint_properties*spin.marginHeight:        0
  5812.  
  5813. Ddd*breakpoint_properties*commands.labelString:        Commands
  5814.  
  5815. Ddd*breakpoint_properties*commandsMenu.packing:        XmPACK_COLUMN
  5816. Ddd*breakpoint_properties*commandsMenu.entryAlignment:    XmALIGNMENT_CENTER
  5817. Ddd*breakpoint_properties*record.labelString:        \ \ \ Record\ \ \ 
  5818. Ddd*breakpoint_properties*end.labelString:        End
  5819. Ddd*breakpoint_properties*edit.labelString:        Edit @small>>
  5820.  
  5821. Ddd*breakpoint_properties*record.tipString: \
  5822. @rm Record breakpoint commands
  5823. Ddd*breakpoint_properties*record.documentationString: \
  5824. @rm Record commands to be executed when breakpoint is hit
  5825.  
  5826. Ddd*breakpoint_properties*end.tipString: \
  5827. @rm End recording
  5828. Ddd*breakpoint_properties*end.documentationString: \
  5829. @rm End command recording
  5830.  
  5831. Ddd*breakpoint_properties*edit.tipString: \
  5832. @rm Edit breakpoint commands
  5833.  
  5834.  
  5835. Ddd*breakpoint_properties*text.columns:                40
  5836. Ddd*breakpoint_properties*scrollBarDisplayPolicy:      XmAS_NEEDED
  5837.  
  5838. Ddd*breakpoint_properties*helpString:        \
  5839. @rm WIDGET(Breakpoint Properties)\n\
  5840. \n\
  5841. DESC(Lookup, [lookup the breakpoint.])\n\
  5842. DESC(Print, [print the value of the watched expression.])\n\
  5843. DESC(Enable, [enable the breakpoint.])\n\
  5844. DESC(Disable, [disable the breakpoint.])\n\
  5845. DESC(Temp, [make the breakpoint temporary.])\n\
  5846. DESC(Delete, [delete the breakpoint.])\n\
  5847. \n\
  5848. DESC(Condition, [specify a breakpoint condition])\n\
  5849.     The breakpoint breaks only if the condition evaluates to non-zero.\n\
  5850. DESC(Ignore Count, [set an ignore count VAR(count)])\n\
  5851.     The next VAR(count) hits of the breakpoint will be ignored.\n\
  5852. DESC(Commands, [record and edit @GDB@ command sequences])\n\
  5853.     These commands will be executed when the breakpoint is hit.\n\
  5854.     To record a command sequence, follow these steps:\n\
  5855.     SUBITEM Click on LBL(Record) to begin the recording.\n\
  5856.     SUBITEM Now interact with DDD.\n\
  5857.        The recorded @GDB@ commands are shown in the @GDB@ console.\n\
  5858.     SUBITEM Click on LBL(End) to stop the recording.\n\
  5859.     SUBITEM Use LBL(Edit @small>>) to edit the recorded commands.\n\
  5860. \n\
  5861. Click on LBL(Close) to close this window.
  5862.  
  5863.  
  5864.  
  5865. !-----------------------------------------------------------------------------
  5866. ! Define Command
  5867. !-----------------------------------------------------------------------------
  5868.  
  5869. Ddd*define_command_popup.title:            DDD: Define Command
  5870.  
  5871. ! Ddd*define_command.okLabelString:            Close
  5872.  
  5873. Ddd*define_command*name.labelString:        Command
  5874. Ddd*define_command*name*text*columns:           25
  5875.  
  5876. Ddd*define_command*arg.labelString:        ()
  5877. Ddd*define_command*arg*indicatorOn:        off
  5878. Ddd*define_command*arg*shadowThickness:        2
  5879.  
  5880. Ddd*define_command*arg.tipString: \
  5881. @rm Toggle symbolic argument
  5882. Ddd*define_command*arg.documentationString: \
  5883. @rm When enabled, use LBL(()) as symbolic argument
  5884.  
  5885. Ddd*define_command*commands.labelString:    Definition
  5886. Ddd*define_command*commandsMenu.packing:    XmPACK_COLUMN
  5887. Ddd*define_command*commandsMenu.entryAlignment:    XmALIGNMENT_CENTER
  5888.  
  5889. Ddd*define_command*record.labelString:        \ \ \ Record\ \ \ 
  5890. Ddd*define_command*end.labelString:        End
  5891. Ddd*define_command*edit.labelString:        Edit @small>>
  5892.  
  5893. Ddd*define_command*record.tipString: \
  5894. @rm Record command definition
  5895. Ddd*define_command*record.documentationString: \
  5896. @rm Record command definition
  5897.  
  5898. Ddd*define_command*end.tipString: \
  5899. @rm End recording
  5900. Ddd*define_command*end.documentationString: \
  5901. @rm End command recording
  5902.  
  5903. Ddd*define_command*edit.tipString: \
  5904. @rm Edit command definition
  5905.  
  5906. Ddd*define_command*text.columns:         40
  5907. Ddd*define_command*scrollBarDisplayPolicy:     XmAS_NEEDED
  5908.  
  5909. Ddd*define_command*button.labelString:        Button
  5910. Ddd*define_command*console.labelString:        Console
  5911. Ddd*define_command*source.labelString:        Source
  5912. Ddd*define_command*data.labelString:        Data
  5913.  
  5914. Ddd*define_command*helpString:        \
  5915. @rm WIDGET(Define Command)\n\
  5916. \n\
  5917. DESC(Command, [the name of the @GDB@ command being defined])\n\
  5918. DESC(Definition, [record and edit the command definition])\n\
  5919. DESC(Button, [assign a button to this command])\n\
  5920. \n\
  5921. To define a @GDB@ command, follow these steps:\n\
  5922. ITEM Enter the command name in the LBL(Command) field.\n\
  5923. ITEM Click on LBL(Record) to begin the recording.\n\
  5924. ITEM Now interact with DDD.\n\
  5925.    The recorded @GDB@ commands are shown in the @GDB@ console.\n\
  5926. ITEM Click on LBL(End) to stop the recording.\n\
  5927. ITEM Use LBL(Edit @small>>) to edit the command definition.\n\
  5928. ITEM Use LBL(Button) to place the new command on a button.\n\
  5929. \n\
  5930. To define a command with argument, enable the LBL(()) toggle.\n\
  5931. This will make the command use LBL(()) as symbolic argument.\n\
  5932. \n\
  5933. Click on LBL(Apply) to apply the new command.\n\
  5934. Click on LBL(OK) to close this window.
  5935.  
  5936.  
  5937. !-----------------------------------------------------------------------------
  5938. ! Show Backtrace
  5939. !-----------------------------------------------------------------------------
  5940.  
  5941. Ddd*stack_dialog_popup.title:          DDD: Backtrace
  5942. Ddd*stack_dialog.listLabelString:      Backtrace
  5943. Ddd*stack_dialog.okLabelString:          Up
  5944. Ddd*stack_dialog.applyLabelString:      Down
  5945. Ddd*stack_dialog.cancelLabelString:      Close
  5946. Ddd*stack_dialog*visibleItemCount:      10
  5947.  
  5948. Ddd*stack_dialog*helpString:      \
  5949. WIDGET(Backtrace)\n\
  5950. \n\
  5951. The backtrace is a summary of how your program got where it is.\n\
  5952. It shows one line per stack frame, for many frames, starting with\n\
  5953. the initial calling function (usually CODE(main())), the function\n\
  5954. called by CODE(main()), the function called by this function and\n\
  5955. so on down the stack, down to the currently executing frame.\n\
  5956. \n\
  5957. You can make a specific frame the current one by selecting it\n\
  5958. in this window.  You can also move around by pressing \
  5959. LBL(Up) or LBL(Down).
  5960.  
  5961.  
  5962. !-----------------------------------------------------------------------------
  5963. ! Registers
  5964. !-----------------------------------------------------------------------------
  5965.  
  5966. Ddd*register_dialog_popup.title:         DDD: Registers
  5967. Ddd*register_dialog.listLabelString:         Registers
  5968. Ddd*register_dialog.okLabelString:         Close
  5969. Ddd*register_dialog.listVisibleItemCount:    12
  5970.  
  5971. Ddd*register_dialog*box.orientation: XmHORIZONTAL
  5972. Ddd*register_dialog*box.marginHeight: 0
  5973. Ddd*register_dialog*box.marginWidth:  0
  5974.  
  5975. Ddd*register_dialog*all_registers.labelString: All registers
  5976. Ddd*register_dialog*int_registers.labelString: Integer registers
  5977.  
  5978. Ddd*register_dialog*helpString:         \
  5979. WIDGET(Machine Registers)\n\
  5980. \n\
  5981. Select any register to have its name copied to the argument LBL(()).\n\
  5982. \n\
  5983. If LBL(Integer registers) is set, integer registers are shown.\n\
  5984. If LBL(All registers) is set, all registers are shown.
  5985.  
  5986.  
  5987. !-----------------------------------------------------------------------------
  5988. ! Threads
  5989. !-----------------------------------------------------------------------------
  5990.  
  5991. Ddd*thread_dialog_popup.title:                  DDD: Threads
  5992. Ddd*thread_dialog.listLabelString:         Threads
  5993. Ddd*thread_dialog.cancelLabelString:         Close
  5994. Ddd*thread_dialog.okLabelString:         Suspend
  5995. Ddd*thread_dialog.applyLabelString:         Resume
  5996. Ddd*thread_dialog.listVisibleItemCount:      10
  5997.  
  5998. Ddd*thread_dialog*box.orientation:  XmHORIZONTAL
  5999. Ddd*thread_dialog*box.marginHeight: 0
  6000. Ddd*thread_dialog*box.marginWidth:  0
  6001.  
  6002. Ddd*thread_dialog*helpString:         \
  6003. WIDGET(Execution Threads)\n\
  6004. \n\
  6005. The current thread is highlighted.\n\
  6006. All debugging commands show information from the perspective\n\
  6007. of the current thread.\n\
  6008. \n\
  6009. Select any thread to make it the current thread.\n\
  6010. \n\
  6011. In JDB, you can also\n\
  6012. ITEM select a threadgroup to switch between viewing all threads\n\
  6013.     and the threads of the selected threadgroup.\n\
  6014. ITEM click on LBL(Suspend) to suspend execution of the selected threads.\n\
  6015. ITEM click on LBL(Resume) to resume execution of the selected threads.
  6016.  
  6017.  
  6018. !-----------------------------------------------------------------------------
  6019. ! Command History
  6020. !-----------------------------------------------------------------------------
  6021.  
  6022. Ddd*history_dialog_popup.title:            DDD: Command History
  6023. Ddd*history_dialog.listLabelString:        Command History
  6024. Ddd*history_dialog*visibleItemCount:        10
  6025.  
  6026. Ddd*history_dialog*helpString:        \
  6027. WIDGET(Command History)\n\
  6028. \n\
  6029. DDD keeps track of the commands you type during your debugging\n\
  6030. sessions, so that you can be certain of precisely what happened.\n\
  6031. Use this window to manage the DDD command history facility.\n\
  6032. \n\
  6033. Select a specific command to have it copied at the @GDB@ prompt.\n\
  6034. Click on LBL(Apply) to execute the current command.
  6035.  
  6036.  
  6037. !-----------------------------------------------------------------------------
  6038. ! Display Editor
  6039. !-----------------------------------------------------------------------------
  6040.  
  6041. Ddd*edit_displays_dialog_popup.title: DDD: Display Editor
  6042. Ddd*edit_displays_dialog*listLabelString: Displays
  6043. Ddd*edit_displays_dialog*buttons.orientation: XmHORIZONTAL
  6044. Ddd*edit_displays_dialog.okLabelString:          Close
  6045.  
  6046. Ddd*edit_displays_dialog.childPlacement:  XmPLACE_TOP
  6047. Ddd*edit_displays_dialog*buttons*labelType:  XmPIXMAP
  6048.  
  6049.  
  6050. Ddd*edit_displays_dialog*helpString:      \
  6051. WIDGET(Display Editor)\n\
  6052. \n\
  6053. Columns:\n\
  6054. DESC(Num, [the display number])\n\
  6055. DESC(Expression, [the display expression])\n\
  6056. DESC(State, [the display state (enabled, disabled, alias, or deferred)])\n\
  6057. DESC(Scope, [the scope in which the display was created])\n\
  6058. DESC(Address, [the location of the display expression in memory])\n\
  6059. \n\
  6060. Buttons:\n\
  6061. DESC(Display..., [create a new display])\n\
  6062. DESC(Disp *, [dereference the selected display])\n\
  6063. DESC(Show, [show the details of all selected displays])\n\
  6064. DESC(Hide, [hide the details of all selected displays])\n\
  6065. DESC(Set, [change a value in the selected display])\n\
  6066. DESC(Undisp, [delete all selected displays])\n\
  6067. \n\
  6068. Use KEY(Ctrl)+BUTTON(1) to toggle selections.
  6069.  
  6070.  
  6071.  
  6072. Ddd*edit_displays_dialog*new.labelString:        New...
  6073. Ddd*edit_displays_dialog*new.labelPixmap:        new_display
  6074. Ddd*edit_displays_dialog*new.labelInsensitivePixmap:    new_display-xx
  6075. Ddd*edit_displays_dialog*new.armPixmap:            new_display-arm
  6076. Ddd*edit_displays_dialog*new.highlightPixmap:        new_display-hi
  6077.  
  6078. Ddd*edit_displays_dialog*new.tipString:  \
  6079. @rm Create new display
  6080. Ddd*edit_displays_dialog*new.documentationString:  \
  6081. @rm Create new data display (possibly depending on the selected data display)
  6082.  
  6083. Ddd*edit_displays_dialog*dereference.labelString:   Display *
  6084. Ddd*edit_displays_dialog*dereference.labelPixmap:        dispref
  6085. Ddd*edit_displays_dialog*dereference.labelInsensitivePixmap:    dispref-xx
  6086. Ddd*edit_displays_dialog*dereference.armPixmap:            dispref-arm
  6087. Ddd*edit_displays_dialog*dereference.highlightPixmap:        dispref-hi
  6088.  
  6089. Ddd*edit_displays_dialog*dereference.tipString:  \
  6090. @rm Dereference selected display
  6091. Ddd*edit_displays_dialog*dereference.documentationString: \
  6092. @rm Dereference the selected data display
  6093.  
  6094. Ddd*edit_displays_dialog*show_detail.labelString:   Show Detail
  6095. Ddd*edit_displays_dialog*show_detail.labelPixmap:        show
  6096. Ddd*edit_displays_dialog*show_detail.labelInsensitivePixmap:    show-xx
  6097. Ddd*edit_displays_dialog*show_detail.armPixmap:            show-arm
  6098. Ddd*edit_displays_dialog*show_detail.highlightPixmap:        show-hi
  6099.  
  6100. Ddd*edit_displays_dialog*show_detail.tipString:  \
  6101. @rm Show selected details
  6102. Ddd*edit_displays_dialog*show_detail.documentationString: \
  6103. @rm Show detail on the selected data displays
  6104.  
  6105. Ddd*edit_displays_dialog*hide_detail.labelString:   Hide Detail
  6106. Ddd*edit_displays_dialog*hide_detail.labelPixmap:        hide
  6107. Ddd*edit_displays_dialog*hide_detail.labelInsensitivePixmap:    hide-xx
  6108. Ddd*edit_displays_dialog*hide_detail.armPixmap:            hide-arm
  6109. Ddd*edit_displays_dialog*hide_detail.highlightPixmap:        hide-hi
  6110.  
  6111. Ddd*edit_displays_dialog*hide_detail.tipString:  \
  6112. @rm Hide selected details
  6113. Ddd*edit_displays_dialog*hide_detail.documentationString: \
  6114. @rm Hide detail on the selected data displays
  6115.  
  6116. Ddd*edit_displays_dialog*set.labelString:        Set Value
  6117. Ddd*edit_displays_dialog*set.labelPixmap:        set
  6118. Ddd*edit_displays_dialog*set.labelInsensitivePixmap:    set-xx
  6119. Ddd*edit_displays_dialog*set.armPixmap:            set-arm
  6120. Ddd*edit_displays_dialog*set.highlightPixmap:        set-hi
  6121.  
  6122. Ddd*edit_displays_dialog*set.tipString:  \
  6123. @rm Set display value
  6124. Ddd*edit_displays_dialog*set.documentationString: \
  6125. @rm Change a value in the selected data display
  6126.  
  6127. Ddd*edit_displays_dialog*delete.labelString:        Undisplay
  6128. Ddd*edit_displays_dialog*delete.labelPixmap:        undisplay
  6129. Ddd*edit_displays_dialog*delete.labelInsensitivePixmap:    undisplay-xx
  6130. Ddd*edit_displays_dialog*delete.armPixmap:        undisplay-arm
  6131. Ddd*edit_displays_dialog*delete.highlightPixmap:    undisplay-hi
  6132.  
  6133. Ddd*edit_displays_dialog*delete.tipString:  \
  6134. @rm Delete selected displays
  6135. Ddd*edit_displays_dialog*delete.documentationString:  \
  6136. @rm Delete the selected data displays
  6137.  
  6138.  
  6139. !-----------------------------------------------------------------------------
  6140. ! New Display
  6141. !-----------------------------------------------------------------------------
  6142.  
  6143. define(NEW_DISPLAY_HELP,
  6144. [@rm You can now enter an expression in the argument field.\n\
  6145. The value of the expression is displayed each time the program stops.\n\
  6146. \n\
  6147. Variables accessible are those of the lexical environment of the current\n\
  6148. stack frame, plus all those whose scope is global or an entire file.\n\
  6149. \n\
  6150. If LBL(Include in `Display ()' Menu) is set, the new display expression\n\
  6151. becomes an item in the LBL(Display ()) menu.])dnl
  6152.  
  6153. Ddd*new_display_dialog_popup.title:                 DDD: New Display
  6154. Ddd*new_display_dialog.okLabelString:              Display
  6155. Ddd*new_display_dialog*label.labelString:           Display Expression
  6156. Ddd*new_display_dialog*shortcut.labelString:          Include in 
  6157. Ddd*new_display_dialog*display.labelType:          XmPIXMAP
  6158. Ddd*new_display_dialog*display.labelString:          `Display ()'
  6159. Ddd*new_display_dialog*display.labelPixmap:          display
  6160. Ddd*new_display_dialog*menu.labelString:          menu
  6161. Ddd*new_display_dialog*helpString:               NEW_DISPLAY_HELP
  6162.  
  6163. Ddd*dependent_display_dialog_popup.title:          DDD: New Dependent Display
  6164. Ddd*dependent_display_dialog.okLabelString:        Display
  6165. Ddd*dependent_display_dialog*label.labelString:    Display Expression
  6166. Ddd*dependent_display_dialog*shortcut.labelString: Include in 
  6167. Ddd*dependent_display_dialog*display.labelType:    XmPIXMAP
  6168. Ddd*dependent_display_dialog*display.labelString:  `Display ()'
  6169. Ddd*dependent_display_dialog*display.labelPixmap:  display
  6170. Ddd*dependent_display_dialog*menu.labelString:     menu
  6171. Ddd*dependent_display_dialog*helpString:        NEW_DISPLAY_HELP\n\
  6172. \n\
  6173. The new display will be made dependent on the currently selected display.
  6174.  
  6175.  
  6176. !-----------------------------------------------------------------------------
  6177. ! Examine Memory
  6178. !-----------------------------------------------------------------------------
  6179.  
  6180. Ddd*examine_dialog_popup.title:    DDD: Examine Memory
  6181.  
  6182. Ddd*examine_dialog*examine.label.labelString:    Examine
  6183. Ddd*examine_dialog*examine*text.columns:    4
  6184. Ddd*examine_dialog*examine*text.maximumValue:    9999
  6185. Ddd*examine_dialog*examine*text.minimumValue:    1
  6186.  
  6187. Ddd*examine_dialog*spinBoxChildType:        XmNUMERIC
  6188. Ddd*examine_dialog*arrowLayout:                XmARROWS_END
  6189. Ddd*examine_dialog*spin.marginWidth:        0
  6190. Ddd*examine_dialog*spin.marginHeight:        0
  6191.  
  6192. Ddd*examine_dialog*o.labelString:    octal
  6193. Ddd*examine_dialog*x.labelString:    hex
  6194. Ddd*examine_dialog*d.labelString:    decimal
  6195. Ddd*examine_dialog*u.labelString:    unsigned
  6196. Ddd*examine_dialog*t.labelString:    binary
  6197. Ddd*examine_dialog*f.labelString:    float
  6198. Ddd*examine_dialog*a.labelString:    address
  6199. Ddd*examine_dialog*i.labelString:    instruction
  6200. Ddd*examine_dialog*c.labelString:    char
  6201. Ddd*examine_dialog*C.labelString:    wide char
  6202. Ddd*examine_dialog*s.labelString:    string
  6203. Ddd*examine_dialog*W.labelString:    wide string
  6204.  
  6205. Ddd*examine_dialog*b.labelString:    bytes
  6206. Ddd*examine_dialog*h.labelString:    halfwords (2)
  6207. Ddd*examine_dialog*w.labelString:    words (4)
  6208. Ddd*examine_dialog*g.labelString:    giants (8)
  6209. Ddd*examine_dialog*G.labelString:    longs (16)
  6210.  
  6211. Ddd*examine_dialog*address.label.labelString: from
  6212.  
  6213. Ddd*examine_dialog.okLabelString:    Print
  6214. Ddd*examine_dialog.applyLabelString:    Display
  6215. Ddd*examine_dialog.cancelLabelString:    Close
  6216.  
  6217. Ddd*examine_dialog*helpString:    \
  6218. @rm You can examine memory in any of several formats,\n\
  6219. independently of your program's data types.\n\
  6220. \n\
  6221. You can select the number of items to examine, the format,\n\
  6222. and the starting address.\n\
  6223. \n\
  6224. Click on LBL(Print) to print the items in the debugger console.\n\
  6225. Click on LBL(Display) to display the items in the data window.\n\
  6226. Click on LBL(Close) to close this window.
  6227.  
  6228.  
  6229.  
  6230.  
  6231. !-----------------------------------------------------------------------------
  6232. ! Run, make, and CD dialogs
  6233. !-----------------------------------------------------------------------------
  6234.  
  6235. Ddd*run_dialog_popup.title: DDD: Run Program
  6236. Ddd*run_dialog.listLabelString:        Arguments
  6237. Ddd*run_dialog.selectionLabelString:    Run with Arguments
  6238. Ddd*run_dialog.okLabelString:        Run
  6239.  
  6240. Ddd*run_dialog*selectionPolicy:        XmSINGLE_SELECT
  6241.  
  6242. Ddd*run_dialog*helpString:    \
  6243. @rm You can now run the debugged program.\n\
  6244. \n\
  6245. DDD keeps track of the arguments you gave to the debugged program,\n\
  6246. such that you can re-use them at a later time.\n\
  6247. Select specific arguments to have them copied to the argument prompt.\n\
  6248. \n\
  6249. Click on LBL(Run) to start the debugged program with the selected arguments.
  6250.  
  6251.  
  6252. Ddd*make_dialog_popup.title: DDD: Make
  6253. Ddd*make_dialog.listLabelString:    Targets
  6254. Ddd*make_dialog.selectionLabelString:    Make Target
  6255. Ddd*make_dialog.okLabelString:        Make
  6256.  
  6257. Ddd*make_dialog*selectionPolicy:    XmSINGLE_SELECT
  6258.  
  6259. Ddd*make_dialog*helpString:    \
  6260. @rm You can now start the make program.\n\
  6261. \n\
  6262. DDD keeps track of the arguments you gave to the make program,\n\
  6263. such that you can re-use them at a later time.\n\
  6264. Select specific arguments to have them copied to the argument prompt.\n\
  6265. \n\
  6266. Click on LBL(Make) to start the make program with the selected arguments.
  6267.  
  6268.  
  6269. Ddd*cd_dialog_popup.title: DDD: Change Directory
  6270. Ddd*cd_dialog.listLabelString:    Directories
  6271. Ddd*cd_dialog.selectionLabelString:    Change Directory To
  6272. Ddd*cd_dialog.okLabelString:        Change Dir
  6273.  
  6274. Ddd*cd_dialog*selectionPolicy:    XmSINGLE_SELECT
  6275.  
  6276. Ddd*cd_dialog*helpString:    \
  6277. @rm You can now change the current directory.\n\
  6278. \n\
  6279. DDD keeps track of the directories you gave to the cd command,\n\
  6280. such that you can re-use them at a later time.\n\
  6281. Select specific directories to have them copied to the argument prompt.\n\
  6282. \n\
  6283. Click on LBL(Change Dir) to change the current directory.
  6284.  
  6285.  
  6286. !-----------------------------------------------------------------------------
  6287. ! Tic Tac Toe
  6288. !-----------------------------------------------------------------------------
  6289.  
  6290. Ddd*tictactoe_popup.title: Tic Tac Toe
  6291. Ddd*tictactoe.okLabelString: New Game
  6292. Ddd*tictactoe*field.foreground: grey60
  6293. Ddd*tictactoe*helpString: \
  6294. WIDGET(Tic Tac Toe)\n\
  6295. \n\
  6296. Try to get three stop signs in a row.
  6297.  
  6298.  
  6299. !-----------------------------------------------------------------------------
  6300. ! Other Dialogs
  6301. !-----------------------------------------------------------------------------
  6302.  
  6303. Ddd*busy_dialog_popup.title: DDD: Debugger Busy
  6304. Ddd*busy_dialog.messageString:        \
  6305. @rm @GDB@ is busy!
  6306. Ddd*busy_dialog*helpString:    \
  6307. @rm @GDB@ is busy on some debugger action.\n\
  6308. \n\
  6309. You may wish to wait until the @GDB@ prompt appears,\n\
  6310. or interrupt the current debugging command by selecting\n\
  6311. LBL(Program, Interrupt) (or typing KEY(Esc)).\n\
  6312. \n\
  6313. If @GDB@ is busy running your debugged program, interrupting\n\
  6314. @GDB@ means to interrupt program execution, such that you can\n\
  6315. examine the current program state.\n\
  6316. \n\
  6317. If @GDB@ is busy recording commands, simply enter KBD(end) 
  6318. at the @GDB@ prompt.
  6319.  
  6320. Ddd*quit_dialog_popup.title: DDD: Debugger Still Busy
  6321. ! Ddd*quit_dialog.messageString:     \
  6322. ! @rm @GDB@ is still busy.  Exit anyway (and kill it)?
  6323. Ddd*quit_dialog*okLabelString:         Yes
  6324. Ddd*quit_dialog*cancelLabelString:   No
  6325. Ddd*quit_dialog*defaultButtonType:   XmDIALOG_OK_BUTTON
  6326. Ddd*quit_dialog*helpString:    \
  6327. @rm @GDB@ is busy and does not react to the KBD(quit) command.\n\
  6328. The debugged program may be still running.\n\
  6329. \n\
  6330. Before killing a running @GDB@, you should try to interrupt it\n\
  6331. (by selecting LBL(Program, Interrupt)).
  6332.  
  6333. Ddd*shutdown_dialog_popup.title: DDD: Program Running
  6334. ! Ddd*shutdown_dialog.messageString:     \
  6335. ! @rm The program is running.  Shutdown anyway (and kill it)?
  6336. Ddd*shutdown_dialog*okLabelString:         Yes
  6337. Ddd*shutdown_dialog*cancelLabelString:   No
  6338. Ddd*shutdown_dialog*defaultButtonType:   XmDIALOG_OK_BUTTON
  6339. Ddd*shutdown_dialog*helpString:    \
  6340. @rm Your program is still running.\n\
  6341. \n\
  6342. Shutting down DDD now will kill your program.\n\
  6343. Please confirm that this is what you want.
  6344.  
  6345. Ddd*terminated_dialog_popup.title: DDD: Debugger Terminated
  6346. ! Ddd*terminated_dialog.messageString:   \
  6347. ! @rm @GDB@ terminated abnormally.
  6348. Ddd*terminated_dialog*okLabelString:       Restart
  6349. Ddd*terminated_dialog*cancelLabelString:   Exit
  6350. Ddd*terminated_dialog*helpString:    \
  6351. @rm @GDB@ terminated abnormally.  Without @GDB@, DDD cannot run.\n\
  6352. \n\
  6353. Click on LBL(Restart) to restart @GDB@.\n\
  6354. Click on LBL(Exit) to exit DDD.
  6355.  
  6356. Ddd*exited_dialog_popup.title: DDD: Debugger Exited
  6357. ! Ddd*exited_dialog.messageString:   \
  6358. ! @rm @GDB@ exited.
  6359. Ddd*exited_dialog*okLabelString:    Restart
  6360. Ddd*exited_dialog*cancelLabelString:    Exit
  6361. Ddd*exited_dialog*helpString:    \
  6362. @rm @GDB@ has exited.  Without @GDB@, DDD cannot run.\n\
  6363. \n\
  6364. Click on LBL(Restart) to restart @GDB@.\n\
  6365. Click on LBL(Exit) to exit DDD.
  6366.  
  6367. Ddd*done_dialog_popup.title: DDD: Program Exited
  6368. ! Ddd*done_dialog.messageString:   \
  6369. ! @rm Your program exited.
  6370. Ddd*done_dialog*okLabelString:        Restart
  6371. Ddd*done_dialog*cancelLabelString:    Exit
  6372. Ddd*done_dialog*helpString:    \
  6373. @rm Your program has exited, and so did @GDB@.\n\
  6374. \n\
  6375. Click on LBL(Restart) to restart @GDB@.\n\
  6376. Click on LBL(Exit) to exit DDD.
  6377.  
  6378. Ddd*no_debugger_dialog_popup.title: DDD: No Debugger
  6379. ! Ddd*no_debugger_dialog.messageString:   \
  6380. ! @rm @GDB@ could not be started.
  6381. Ddd*no_debugger_dialog*okLabelString:       Exit
  6382. Ddd*no_debugger_dialog*helpString:    \
  6383. @rm @GDB@ could not be started.\n\
  6384. \n\
  6385. DDD needs some inferior debugger to run.\n\
  6386. You may wish to examine the diagnostic messages before exiting DDD.\n\
  6387. \n\
  6388. Here are some hints that may help you out:\n\
  6389. ITEM If DDD looked for the wrong inferior debugger, re-invoke DDD,\n\
  6390.     but use SAMP(--auto) to have DDD infer the correct inferior debugger.\n\
  6391. ITEM If @GDB@ is the correct inferior debugger, but could not be found,\n\
  6392.     re-invoke DDD, but use the SAMP(--debugger VAR(path)) option to specify\n\
  6393.     the full @GDB@ path VAR(path).\n\
  6394. ITEM If you started DDD without arguments, re-invoke DDD,\n\
  6395.     but give it an executable as argument.  XDB and some DBX versions\n\
  6396.     require being invoked with an executable.\n\
  6397. ITEM DDD passes all unknown options to @GDB@.  If @GDB@ choked on\n\
  6398.     some options intended for DDD, use the DDD SAMP(--help) option to\n\
  6399.     get a list of valid DDD options.\n\
  6400. ITEM If @GDB@ could not be invoked due to some communication failure,\n\
  6401.     try changing the SAMP(.blockTTYInput) resource.\n\
  6402. For details on options and resources, see the DDD manual: select\n\
  6403. LBL(Help, [[[[DDD]]]] Reference) \
  6404. or invoke DDD with the SAMP(--manual) option.\n\
  6405. \n\
  6406. Click on LBL(Exit) to exit DDD.
  6407.  
  6408. Ddd*no_plotter_dialog_popup.title: DDD: No Plot
  6409. ! Ddd*no_plotter_dialog.messageString:   \
  6410. ! @rm Gnuplot could not be started.
  6411. Ddd*no_plotter_dialog*helpString:    \
  6412. @rm The Gnuplot program could not be started.\n\
  6413. \n\
  6414. DDD requires the Gnuplot program to create plots.\n\
  6415. Please install Gnuplot (available from any GNU site)\n\
  6416. or enter its path in LBL(Edit, Preferences, Helpers, Plot).
  6417.  
  6418. Ddd*fatal_dialog_popup.title: DDD: Oops
  6419. Ddd*fatal_dialog.messageString:      \
  6420. @rm Internal error
  6421. Ddd*fatal_dialog*okLabelString:           Restart
  6422. Ddd*fatal_dialog*debug.labelString:    Debug
  6423. Ddd*fatal_dialog*exit.labelString:     Exit
  6424. Ddd*fatal_dialog*cancelLabelString:    Ignore
  6425. Ddd*fatal_dialog*helpString: \
  6426. @rm Oops!  You have found a bug in DDD.\n\
  6427. You should better restart DDD now; DDD may fail again soon.\n\
  6428. \n\
  6429. If you can reproduce this bug, please send a bug report\n\
  6430. to EMAIL([ddd]-bugs@ ips.cs.tu-bs.de), giving a subject like\n\
  6431. \n\
  6432.     DDD @VERSION@ (@host@) gets @CAUSE@\n\
  6433. \n\
  6434. To enable us to fix the bug, you should include the following information:\n\
  6435. ITEM What you were doing to get this message.  Report all the facts.\n\
  6436. ITEM The FILE(~/.[ddd]/log) file as generated by this session.\n\
  6437. Please read also the section ``Reporting Bugs'' in the DDD manual.\n\
  6438. \n\
  6439. Thanks in advance for your support.\n\
  6440. \n\
  6441. Click on LBL(Restart) to restart DDD from scratch.\n\
  6442. Click on LBL(Exit) to exit DDD.\n\
  6443. Click on LBL(Ignore) to resume your current DDD session.
  6444.  
  6445.  
  6446. Ddd*yn_dialog_popup.title: DDD: Debugger Question
  6447. Ddd*yn_dialog*okLabelString:       Yes
  6448. Ddd*yn_dialog*cancelLabelString:   No
  6449. Ddd*yn_dialog*defaultButtonType:   XmDIALOG_OK_BUTTON
  6450. Ddd*yn_dialog*helpString:    \
  6451. WIDGET(@GDB@ Question)\n\
  6452. \n\
  6453. Click on LBL(Yes) or LBL(No), or enter KBD(yes) or KBD(no) \
  6454. in the @GDB@ console.\n\
  6455. For more details, consult the @GDB@ documentation.
  6456.  
  6457. Ddd*gdb_message_dialog_popup.title: DDD: Debugger Message
  6458. Ddd*gdb_message_dialog*helpString:    \
  6459. WIDGET(@GDB@ Message)\n\
  6460. \n\
  6461. For details on this @GDB@ message, consult the @GDB@ documentation.
  6462.  
  6463. Ddd*gdb_selection_dialog_popup.title: DDD: Selection
  6464. Ddd*gdb_selection_dialog*listLabelString:  Selection
  6465. Ddd*gdb_selection_dialog*helpString:    \
  6466. WIDGET(@GDB@ Selection Menu)\n\
  6467. \n\
  6468. Please select an item from the list and click on LBL(OK).\n\
  6469. For more details, consult the @GDB@ documentation.
  6470.  
  6471. Ddd*confirm_overwrite_dialog_popup.title: DDD: File Exists
  6472. Ddd*confirm_overwrite_dialog*messageString:      \
  6473. @rm Overwrite existing file?
  6474. Ddd*confirm_overwrite_dialog*okLabelString:      Yes
  6475. Ddd*confirm_overwrite_dialog*cancelLabelString:      No
  6476. Ddd*confirm_overwrite_dialog*defaultButtonType: XmDIALOG_OK_BUTTON
  6477. Ddd*confirm_overwrite_dialog*helpString:    \
  6478. @rm The file already exists.\n\
  6479. Click on LBL(Yes) to overwrite the existing file.
  6480.  
  6481. Ddd*restart_dialog_popup.title: DDD: Restart
  6482. Ddd*restart_dialog.messageString:     \
  6483. @rm DDD startup preferences were modified.\n\
  6484. Restart DDD to see their effect?
  6485. Ddd*restart_dialog*okLabelString:    Yes
  6486. Ddd*restart_dialog*cancelLabelString:   No
  6487. Ddd*restart_dialog*defaultButtonType:   XmDIALOG_OK_BUTTON
  6488. Ddd*restart_dialog*helpString:    \
  6489. @rm You have changed some DDD startup preferences.\n\
  6490. \n\
  6491. To make your changes take effect, you can\n\
  6492. ITEM EMPH(Save Options), affecting all future DDD sessions.\n\
  6493. ITEM EMPH(Restart [DDD]), affecting the restarted DDD session only.\n\
  6494. \n\
  6495. To see your changes take effect, click on LBL(Yes) to restart DDD.\n\
  6496. Otherwise, click on LBL(No) and be sure to save your changes\n\
  6497. using LBL(Edit, Save Options).
  6498.  
  6499. Ddd*set_dialog_popup.title: DDD: Set Value
  6500. Ddd*set_dialog.textAccelerators:
  6501. Ddd*set_dialog*helpString:    \
  6502. @rm You can now change the value of the variable in LBL(()).\n\
  6503. If you want to keep it unchanged, click on LBL(Cancel).
  6504.  
  6505. Ddd*kill_to_save_dialog_popup.title: DDD: Save Session
  6506. Ddd*kill_to_save_dialog.messageString: \
  6507. @rm Kill the program being debugged?
  6508. Ddd*kill_to_save_dialog.okLabelString:     Yes
  6509. Ddd*kill_to_save_dialog.cancelLabelString: No
  6510. Ddd*kill_to_save_dialog*helpString: \
  6511. @rm In order to restore the current memory contents and the\n\
  6512. current execution position, DDD requires a core dump.\n\
  6513. Unfortunately, DDD must kill the program for that.\n\
  6514. \n\
  6515. To kill your program and save memory contents, click on LBL(Yes).\n\
  6516. To cancel saving the session, click on LBL(No).
  6517.  
  6518. Ddd*confirm_restart_dialog_popup.title: DDD: Restart Session
  6519. Ddd*confirm_restart_dialog.messageString: \
  6520. @rm The program is running.  Restart anyway (and kill it)?
  6521. Ddd*confirm_restart_dialog.okLabelString:     Yes
  6522. Ddd*confirm_restart_dialog.cancelLabelString: No
  6523. Ddd*confirm_restart_dialog*helpString: \
  6524. WIDGET(@GDB@ Message)\n\
  6525. \n\
  6526. For details on this @GDB@ message, consult the @GDB@ documentation.
  6527.  
  6528. Ddd*data_not_saved_dialog_popup.title: DDD: Save Session
  6529. Ddd*data_not_saved_dialog.messageString: \
  6530. @rm Without a core dump, the current execution position\n\
  6531. and memory contents will not be saved.  Proceed anyway?
  6532. Ddd*data_not_saved_dialog.okLabelString:     Yes
  6533. Ddd*data_not_saved_dialog.cancelLabelString: No
  6534. Ddd*data_not_saved_dialog*helpString: \
  6535. @rm In order to restore the current execution position and memory contents,\n\
  6536. DDD requires a core dump of the debugged program.\n\
  6537. \n\
  6538. Without a core dump,\n\
  6539. ITEM The current execution position and memory contents will be lost.\n\
  6540.     The debugged program must be restarted when restoring the session.\n\
  6541. ITEM The current data displays will be deferred.\n\
  6542.     When restoring the session and running the program, they will be created\n\
  6543.     as soon as their current scope is reached.\n\
  6544. \n\
  6545. To save the entire state without a core dump, click on LBL(Yes).\n\
  6546. To cancel saving the session, click on LBL(No).
  6547.  
  6548. define(OPTIONS_CHANGED_HELP, 
  6549. [@rm The options file has changed on disk.\n\
  6550. \n\
  6551. This typically happens when\n\
  6552. ITEM options were saved from another DDD instance, or\n\
  6553. ITEM the options file has been edited using a text editor.\n])
  6554.  
  6555. Ddd*reload_options_dialog_popup.title: DDD: Reload Options
  6556. Ddd*reload_options_dialog.messageString: \
  6557. @rm Options have changed on disk.  Reload them?
  6558. Ddd*reload_options_dialog*helpString: \
  6559. OPTIONS_CHANGED_HELP\n\
  6560. To load the changed options file into this DDD instance, click on LBL(OK).\n\
  6561. To ignore the changed options file, click on LBL(Cancel).\n\
  6562. \n\
  6563. Use LBL(File, Save Session) to save the current options in a session.
  6564.  
  6565.  
  6566. Ddd*overwrite_options_dialog_popup.title: DDD: Overwrite Options
  6567. Ddd*overwrite_options_dialog.messageString: \
  6568. @rm Options have changed on disk.  Overwrite them?
  6569. Ddd*overwrite_options_dialog*helpString: \
  6570. OPTIONS_CHANGED_HELP\n\
  6571. To overwrite the changed options file, click on LBL(OK).\n\
  6572. To cancel saving options, click on LBL(Cancel).\n\
  6573. \n\
  6574. Use LBL(File, Save Session) to save the current options in a session.
  6575.  
  6576.  
  6577. Ddd*lock_dialog_popup.title: DDD: There can be only one
  6578. Ddd*lock_dialog*helpString:    \
  6579. @rm Another DDD is running, sharing state with this DDD instance.\n\
  6580. \n\
  6581. To resume execution of this DDD, click on LBL(Continue).\n\
  6582. To kill the other DDD instance, click on LBL(Kill).\n\
  6583. Otherwise, click on LBL(Exit).\n\
  6584. \n\
  6585. You can disable this warning by disabling\n\
  6586. LBL(Edit, Preferences, General, Warn if multiple DDD instances are running).
  6587. Ddd*lock_dialog.okLabelString:        Continue
  6588. Ddd*lock_dialog*kill.labelString:    Kill
  6589. Ddd*lock_dialog.cancelLabelString:     Exit
  6590.  
  6591.  
  6592. Ddd*launch_tty_dialog_popup.title: DDD: Starting Execution Window
  6593. Ddd*launch_tty_dialog.messageString:        \
  6594. @rm Starting Execution Window...
  6595.  
  6596. Ddd*launch_plot_dialog_popup.title: DDD: Starting Plot
  6597.  
  6598.  
  6599. !-----------------------------------------------------------------------------
  6600. ! Messages
  6601. !-----------------------------------------------------------------------------
  6602.  
  6603. ! If we have an old app-defaults file installed, we may see an old
  6604. ! version of this warning.  Gee, app-defaults files are just plain stupid.
  6605. Ddd*bad_version_warning_popup.title: DDD: Version Mismatch
  6606. Ddd*bad_version_warning*helpString:    \
  6607. @rm This DDD version does not match the version of the\n\
  6608. app-defaults file FILE([Ddd]) or your FILE(~/.[ddd]/init) file.\n\
  6609. \n\
  6610. ITEM If the app-defaults file FILE([Ddd]) is out of date, DDD may not work as \
  6611. expected.\n\
  6612.     For instance, this message (being specified in an app-defaults file) may \
  6613. be\n\
  6614.     out of date.  Please install a recent app-defaults file, or better yet,\n\
  6615.     remove it: DDD works perfectly without app-defaults file.  Instead, use \
  6616. a\n\
  6617.     personal FILE(~/.[ddd]/init) file to customize DDD.\n\
  6618. \n\
  6619. ITEM If your personal FILE(~/.[ddd]/init) file or some session \
  6620. FILE(init) file is out of date,\n\
  6621.     use LBL(Edit, Save Options) to update it.
  6622.  
  6623. Ddd*class_error_popup.title: DDD: No Class
  6624. Ddd*class_error*helpString:    \
  6625. @rm The given class could not be loaded.\n\
  6626. Please check the @GDB@ search path via LBL(Edit, @GDB@ settings).
  6627.  
  6628. Ddd*source_file_error_popup.title: DDD: No Source
  6629. Ddd*source_file_error*helpString:    \
  6630. @rm The given source file could not be loaded.\n\
  6631. Please check the @GDB@ search path via LBL(Edit, @GDB@ settings).
  6632.  
  6633. Ddd*remote_file_error_popup.title: DDD: No Remote Source
  6634. Ddd*remote_file_error*helpString:    \
  6635. @rm The given source file could not be loaded from the remote host.\n\
  6636. Please check the @GDB@ search path via LBL(Edit, @GDB@ settings).
  6637.  
  6638. Ddd*source_file_from_gdb_warning_popup.title: DDD: Source From Debugger
  6639. Ddd*source_file_from_gdb_warning*helpString:    \
  6640. @rm The given source file could not be loaded directly.\n\
  6641. Instead, the source was obtained from @GDB@ via the KBD(list) command.\n\
  6642. Please proceed as usual.
  6643.  
  6644. Ddd*source_trunc_error_popup.title: DDD: Source Truncated
  6645. Ddd*source_trunc_error*helpString:    \
  6646. @rm The given source file could not be loaded entirely;\n\
  6647. the file size has changed during loading.\n\
  6648. Please try again as soon as the source file contents are stable.
  6649.  
  6650. Ddd*source_empty_warning_popup.title: DDD: Empty Source
  6651. Ddd*source_empty_warning*helpString:    \
  6652. @rm The given source file contains no data.\n\
  6653. This is very unusual for source files.\n\
  6654. Please verify the file name and try again.
  6655.  
  6656. Ddd*source_binary_warning_popup.title: DDD: Binary Source
  6657. Ddd*source_binary_warning*helpString:    \
  6658. @rm The given source file contains NUL characters. \n\
  6659. You probably loaded a binary file instead of a source file.\n\
  6660. Please verify the file name and try again.
  6661.  
  6662. Ddd*source_find_error_popup.title: DDD: Not Found
  6663. Ddd*source_find_error*helpString:    \
  6664. @rm The given key LBL(()) can not be found in the source text.\n\
  6665. Please try an alternate key or change the search settings\n\
  6666. via LBL(Edit, Preferences, Source).
  6667.  
  6668. Ddd*manual_find_error_popup.title: DDD: Not Found
  6669. Ddd*manual_find_error*helpString:    \
  6670. @rm The given search key LBL(()) can not be found in the on-line manual.\n\
  6671. Please use an alternate key and tru again.
  6672.  
  6673. Ddd*no_source_error_popup.title: DDD: No Source
  6674. Ddd*no_source_error*helpString:    \
  6675. @rm There is no current source text in which to search.\n\
  6676. Please open a program first, using LBL(File, Open Program).
  6677.  
  6678. Ddd*no_source_edit_error_popup.title: DDD: No Source
  6679. Ddd*no_source_edit_error*helpString:    \
  6680. @rm There is no current source text to edit.\n\
  6681. Please open a program first, using LBL(File, Open Program).
  6682.  
  6683. Ddd*no_such_line_error_popup.title: DDD: No such line
  6684. Ddd*no_such_line_error*helpString:    \
  6685. @rm There is no such line in the current source text.\n\
  6686. Please try another line number.
  6687.  
  6688. Ddd*no_such_breakpoint_error_popup.title: DDD: No Such Breakpoint
  6689. Ddd*no_such_breakpoint_error*helpString:    \
  6690. @rm There is no such breakpoint in the current program.\n\
  6691. Please verify the breakpoint number.
  6692.  
  6693. Ddd*no_completion_error_popup.title: DDD: No Completion
  6694. Ddd*no_completion_error*helpString:    \
  6695. @rm @GDB@ does not support command and argument completion.\n\
  6696. \n\
  6697. Command completion requires the GDB KBD(complete) command,\n\
  6698. which is present in GDB 4.13 and later.\n\
  6699. \n\
  6700. To use command completion, upgrade to a recent @GDB@ version.
  6701.  
  6702.  
  6703. Ddd*no_program_popup.title: DDD: No Program
  6704. Ddd*no_program*helpString: \
  6705. @rm You have not opened any program yet.  @GDB@ needs a debuggee\n\
  6706. to access core dumps, source files, or attaching to processes.\n\
  6707. \n\
  6708. You can ignore this warning and proceed, but @GDB@ may be unable\n\
  6709. to display symbolic values and determine locations.\n\
  6710. \n\
  6711. To open a program, use LBL(File, Open Program).
  6712.  
  6713.  
  6714. Ddd*print_empty_graph_error_popup.title: DDD: Nothing to Print
  6715. Ddd*print_empty_graph_error*helpString:    \
  6716. @rm There is nothing to print.\n\
  6717. The printing has been cancelled.\n\
  6718. \n\
  6719. Please print again as soon as there is some data to print.
  6720.  
  6721. Ddd*print_failed_error_popup.title: DDD: Printing Failed
  6722. Ddd*print_failed_error*helpString:    \
  6723. @rm The file holding the graph picture could not be written.\n\
  6724. The printing has been cancelled.\n\
  6725. \n\
  6726. Please try another file name and try again.
  6727.  
  6728. Ddd*export_failed_error_popup.title: DDD: Export Failed
  6729. Ddd*export_failed_error*helpString:    \
  6730. @rm The file holding the plot data could not be written.\n\
  6731. The export has been cancelled.\n\
  6732. \n\
  6733. Please try another file name and try again.
  6734.  
  6735. Ddd*unknown_plot_term_type_error: DDD: Unknown Plot Terminal Type
  6736. Ddd*unknown_plot_term_type_error*helpString:    \
  6737. @rm DDD does not know the plot terminal type specified in the\n\
  6738. SAMP(.plotTermType) resource.\n\
  6739. Possible SAMP(.plotTermType) values include SAMP(xlib) and SAMP(x11).\n\
  6740. \n\
  6741. Please set up the SAMP(.plotTermType) resource\n\
  6742. in your FILE(~/.[ddd]/init) file and try again.
  6743.  
  6744. Ddd*tty_exec_error_popup.title: DDD: No Execution Window
  6745. Ddd*tty_exec_error*helpString:    \
  6746. @rm The terminal emulator for the execution window\n\
  6747. could not be invoked.  The debugged process will\n\
  6748. execute in the @GDB@ console instead.\n\
  6749. \n\
  6750. Please verify the contents of the\n\
  6751. LBL(Edit, Preferences, Helpers, Execution Window)\n\
  6752. setting and make sure that the given\n\
  6753. terminal program is within your executable path.
  6754.  
  6755. Ddd*tty_command_error_popup.title: DDD: TTY Failed
  6756. Ddd*tty_command_error*helpString:    \
  6757. @rm DDD sent a KBD(tty) command to @GDB@ in order to redirect\n\
  6758. input/output of the debugged process to the execution window.\n\
  6759. This command failed.\n\
  6760. \n\
  6761. DDD will now redirect the process I/O explicitly.  This means that\n\
  6762. the command window remains the controlling terminal.\n\
  6763. \n\
  6764. You can tell DDD to not use the KBD(tty) command, but to use explicit\n\
  6765. redirection instead, using shell redirection operators.\n\
  6766. To do so, include a line\n\
  6767. \n\
  6768. CODE([Ddd]*useTTYCommand: off)\n\
  6769. \n\
  6770. in your FILE(~/.[ddd]/init) file and restart DDD.
  6771.  
  6772. Ddd*tty_type_error_popup.title: DDD: Term Failed
  6773. Ddd*tty_type_error*helpString:    \
  6774. @rm DDD could not set the TERM environment variable\n\
  6775. to the type of the execution window.  This means that\n\
  6776. your program will execute with a terminal type\n\
  6777. set to SAMP(dumb) instead of SAMP(@XTERM@).\n\
  6778. Please see FILE(~/.[ddd]/log) for further diagnostics.
  6779.  
  6780. Ddd*history_save_error_popup.title: DDD: Save History Failed
  6781. Ddd*history_save_error*helpString:    \
  6782. @rm The command history could not be saved.\n\
  6783. Please verify whether FILE(~/.[ddd]/history) is writable and try again.
  6784.  
  6785. Ddd*options_save_error_popup.title: DDD: Save Options Failed
  6786. Ddd*options_save_error*helpString:    \
  6787. @rm The DDD options could not be saved.\n\
  6788. Please verify whether FILE(~/.[ddd]/init) is writable and try again.
  6789.  
  6790. define(COULD_NOT_BE_UNCOMPRESSED,
  6791. [could not be uncompressed.\n\
  6792. \n\
  6793. Please verify the contents of the\n\
  6794. LBL(Edit, Preferences, Helpers, Uncompress)\n\
  6795. setting and make sure that the given\n\
  6796. uncompressing program is within your executable path.])dnl
  6797.  
  6798. Ddd*no_license_error_popup.title: DDD: No License
  6799. Ddd*no_license_error*helpString:    \
  6800. @rm The DDD license COULD_NOT_BE_UNCOMPRESSED
  6801.  
  6802. Ddd*no_news_error_popup.title: DDD: No news is good news
  6803. Ddd*no_news_error*helpString:    \
  6804. @rm The DDD news COULD_NOT_BE_UNCOMPRESSED
  6805.  
  6806. Ddd*no_ddd_manual_error_popup.title: DDD: No Manual
  6807. Ddd*no_ddd_manual_error*helpString:    \
  6808. @rm The DDD manual COULD_NOT_BE_UNCOMPRESSED
  6809.  
  6810. Ddd*no_ddd_man_page_error_popup.title: DDD: No Manual
  6811. Ddd*no_ddd_man_page_error*helpString:    \
  6812. @rm It seems the DDD manual page is not installed.\n\
  6813. Please install the DDD manual page and try again.
  6814.  
  6815. Ddd*startup_warning_popup.title: DDD: New Startup Required
  6816. Ddd*startup_warning*helpString: \
  6817. @rm This setting cannot be changed while DDD is running.\n\
  6818. Please save options and restart DDD to see the effects.
  6819.  
  6820. Ddd*grab_warning_popup.title: DDD: Pointer Frozen
  6821. Ddd*grab_warning*helpString: \
  6822. @rm DDD has detected a frozen (grabbed) mouse pointer.\n\
  6823. \n\
  6824. This may be because @GDB@ has interrupted the debuggee\n\
  6825. while it was grabbing the mouse pointer.\n\
  6826. If DDD remains in this state, further interaction will\n\
  6827. probably be impossible.
  6828.  
  6829. Ddd*no_display_number_warning_popup.title: DDD: No Display Number
  6830. Ddd*no_display_number_warning*helpString: \
  6831. @rm DDD could not determine the number of the new display\n\
  6832. as assigned by @GDB@.  DDD will use a default number instead.
  6833.  
  6834. Ddd*invalid_range_error_popup.title: DDD: Invalid Range
  6835. Ddd*invalid_range_error*helpString: \
  6836. @rm The displays to be created have an invalid range VAR(x)..VAR(y).\n\
  6837. The range must be where VAR(x)..VAR(y) with VAR(x) < VAR(y).\n\
  6838. Please verify the range and try again.
  6839.  
  6840. Ddd*expired_warning_popup.title: DDD: DDD Expired
  6841. Ddd*expired_warning*helpString: \
  6842. @rm DDD @VERSION@ has been superseded by a newer DDD version.\n\
  6843. DDD @VERSION@ should no longer be used.\n\
  6844. \n\
  6845. Please upgrade to a recent DDD version.\n\
  6846. For details, see the LBL(Help, [[[[DDD]]]] WWW Page).
  6847.  
  6848. Ddd*core_missing_warning_popup.title: DDD: Core Missing
  6849. Ddd*core_missing_warning*helpString: \
  6850. @rm DDD could not get a core dump of the debugged program.\n\
  6851. This means that the current memory contents and execution position\n\
  6852. will be lost when restoring the session.\n\
  6853. \n\
  6854. Please verify the settings in\n\
  6855. LBL(Edit, Preferences, Helpers, Get Core File);\n\
  6856. try again without helper if appropriate.\n\
  6857. \n\
  6858. Also be sure that you have not disabled core dumps\n\
  6859. (hint: look for SAMP(limit) and SAMP(ulimit) commands \
  6860. in your shell startup file)
  6861.  
  6862. Ddd*program_name_missing_warning_popup.title: DDD: Program Name Missing
  6863. Ddd*program_name_missing_warning*helpString: \
  6864. @rm DDD could not determine the name of the current debuggee.\n\
  6865. Please try again when @GDB@ is ready.
  6866.  
  6867. Ddd*breakpoint_missing_warning_popup.title: DDD: Breakpoints Missing
  6868. Ddd*breakpoint_missing_warning*helpString: \
  6869. @rm DDD could not save the current breakpoint state.\n\
  6870. Please try again when @GDB@ is ready.
  6871.  
  6872. Ddd*displays_missing_warning_popup.title: DDD: Data Displays Missing
  6873. Ddd*displays_missing_warning*helpString: \
  6874. @rm DDD could not save the entire data display state.\n\
  6875. Please try again when @GDB@ is ready.
  6876.  
  6877. Ddd*no_sessions_error_popup.title: DDD: No Sessions
  6878. Ddd*no_sessions_error*helpString: \
  6879. @rm DDD could not access the session repository.\n\
  6880. Please verify whether the FILE(~/.[ddd]/sessions/) is accessible.
  6881.  
  6882. Ddd*delete_session_error_popup.title: DDD: Delete Session Failed
  6883. Ddd*delete_session_error*helpString: \
  6884. @rm DDD could not entirely remove the session directory from the repository.\n\
  6885. Please verify whether the FILE(~/.[ddd]/sessions/) is writable.
  6886.  
  6887. Ddd*too_many_shortcuts_warning_popup.title: DDD: Too many Shortcuts
  6888. Ddd*too_many_shortcuts_warning*helpString:    \
  6889. @rm DDD has not enough room for all display shortcuts and will\n\
  6890. only display the most recently created shortcuts.\n\
  6891. Please edit the list of display shortcuts, using LBL(Display, Edit Menu).
  6892.  
  6893. Ddd*gdb_io_error_popup.title: DDD: I/O Error
  6894. Ddd*gdb_io_error*helpString: \
  6895. @rm The communication between @GDB@ and DDD does not work correctly.\n\
  6896. This is probably due to a bad DDD configuration.\n\
  6897. \n\
  6898. DDD cannot work around this problem, so you may not be able to continue.\n\
  6899. Restart DDD and try again.
  6900.  
  6901. Ddd*gdb_io_warning_popup.title: DDD: I/O Warning
  6902. Ddd*gdb_io_warning*helpString: \
  6903. @rm The communication between @GDB@ and DDD does not work correctly.\n\
  6904. This is probably due to a bad DDD configuration.\n\
  6905. \n\
  6906. DDD can work around this problem, so you may continue working.
  6907.  
  6908. Ddd*out_of_glyphs_warning_popup.title: DDD: Out of Glyphs
  6909. Ddd*out_of_glyphs_warning*helpString: \
  6910. @rm DDD can only display a limited amount of breakpoint symbols at one time.\n\
  6911. The other breakpoints are still maintained, but not visible right now.\n\
  6912. \n\
  6913. To increase the maximum number VAR(N) of displayed breakpoint symbols, \
  6914. include a line\n\
  6915. \n\
  6916. CODE([Ddd]*maxGlyphs: VAR(N))\n\
  6917. \n\
  6918. in your FILE(~/.[ddd]/init) file and restart DDD.
  6919.  
  6920.  
  6921. !-----------------------------------------------------------------------------
  6922. ! Hints on specific DDD states (`What now')
  6923. !-----------------------------------------------------------------------------
  6924.  
  6925. Ddd*no_program.helpString: \
  6926. @rm You have not opened any program yet.  @GDB@ needs a debuggee\n\
  6927. to access core dumps, source files, or attaching to processes.\n\
  6928. \n\
  6929. To open a program, use LBL(File, Open Program).
  6930.  
  6931. define(NO_SOURCE_HELP,
  6932. [ITEM In order to debug a program effectively, you need to generate\n\
  6933.     debugging information when you compile it.  Without debugging \
  6934. information,\n\
  6935.     @GDB@ will be unable to locate the source code.  To request debugging\n\
  6936.     information, specify the SAMP(-g) option when you run the compiler.\n\
  6937. ITEM You may need to tell @GDB@ where the source code files are.\n\
  6938.     Invoke LBL(Edit, @GDB@ Settings) and look for appropriate entries.\n\
  6939. ITEM Using GDB, you can continue at machine code level \
  6940. by enabling the\n\
  6941.     Machine Code Window.  Use LBL(Source, Display Machine Code).])dnl
  6942.  
  6943. Ddd*no_source_and_no_code.helpString: \
  6944. @rm @GDB@ cannot find the source code of your program.\n\
  6945. \n\
  6946. Here are some hints that may help you out:\n\
  6947. NO_SOURCE_HELP
  6948.  
  6949. Ddd*recording.helpString: \
  6950. @rm @GDB@ is recording commands.\n\
  6951. \n\
  6952. While recording, commands are not executed; instead, \
  6953. @GDB@ EMPH(records) them\n\
  6954. for execution when a breakpoint is reached or for user-defined commands.\n\
  6955. \n\
  6956. ITEM To end the recording, click on LBL(End) \
  6957. or enter KBD(end) at the @GDB@ prompt.\n\
  6958. ITEM To cancel the recording, select LBL(Program, Interrupt) \
  6959. or press KEY(Esc).
  6960.  
  6961. Ddd*busy.helpString: \
  6962. @rm @GDB@ is busy on some debugger action.\n\
  6963. \n\
  6964. You may\n\
  6965. ITEM wish to wait until the @GDB@ prompt appears, or\n\
  6966. ITEM interrupt the current debugging command by selecting\n\
  6967.     LBL(Program, Interrupt) (or typing KEY(Esc)).
  6968.  
  6969. Ddd*running.helpString: \
  6970. @rm @GDB@ is executing the debugged program.\n\
  6971. \n\
  6972. You may\n\
  6973. ITEM interact with the program until a breakpoint is reached, or\n\
  6974. ITEM interrupt program execution by selecting\n\
  6975.     LBL(Program, Interrupt) (or typing KEY(Esc)).
  6976.  
  6977. Ddd*program_not_running.helpString: \
  6978. @rm Your program is not running.\n\
  6979. \n\
  6980. You may now choose between the following:\n\
  6981. ITEM Start the program, using LBL(Program, Run). \
  6982. You may wish to \n\
  6983.     set some breakpoints beforehand, using LBL(Break at ()) and \n\
  6984.     LBL(Source, Edit Breakpoints).\n\
  6985.     To find specific functions, use LBL(Lookup ()).\n\
  6986. ITEM If your program is already running outside of DDD, you can\n\
  6987.     attach to its running process, using LBL(File, Attach to Process).\n\
  6988. ITEM If some previous invocation of your program has failed, and\n\
  6989.     you want to know why, use LBL(File, Open Core Dump) to open\n\
  6990.     its core dump.
  6991.  
  6992. Ddd*item_selected.helpString: \
  6993. @rm You have selected some item from the program source code.\n\
  6994. \n\
  6995. ITEM To look up further occurences in the source code, use LBL_FIND_BACKWARD\n\
  6996.     and LBL_FIND_FORWARD.  \
  6997. LBL(Lookup ()) leads you to the item's definition.\n\
  6998. ITEM To display the value, use LBL(Print ()) (for simple values)\n\
  6999.     and LBL(Display ()) (for complex values and dynamic displays).
  7000.  
  7001. Ddd*display_selected.helpString: \
  7002. @rm You have selected some data display.\n\
  7003. \n\
  7004. ITEM To examine further members of this data structure,\n\
  7005.      use LBL(New Display ()) and LBL(Display *()).\n\
  7006. ITEM To modify the appearance of the selected display,\n\
  7007.      use LBL(Hide ()) and LBL(Rotate ()).\n\
  7008. ITEM To view numerical data as a plot, use LBL(Plot ()).\n\
  7009. ITEM To change the value of the selected display, use LBL(Set ()).\n\
  7010. ITEM To delete the selected displays, use LBL(Delete ()).\n\
  7011. ITEM Use LBL(Data, Edit Displays) for further editing.
  7012.  
  7013. Ddd*command_entered.helpString: \
  7014. @rm You have entered some command at the @GDB@ prompt.\n\
  7015. \n\
  7016. ITEM To execute the current command, press KEY_RETURN.\n\
  7017. ITEM To complete the current word, use KEY(TAB).\n\
  7018. ITEM To move through the command history, use KEY(Up) and KEY(Down).\n\
  7019. ITEM To clear the current line, use KEY(Ctrl+U).\n\
  7020. ITEM For further options, see the LBL(Commands) menu.
  7021.  
  7022. Ddd*code_but_no_source.helpString: \
  7023. @rm Your program @PROGRAM_STATE@,\n\
  7024. and there is no source code for the current execution position.\n\
  7025. \n\
  7026. Here are some hints that may help you out:\n\
  7027. ITEM Use LBL(Status, Up) to step out of libraries \
  7028. and to enter your own functions.\n\
  7029. NO_SOURCE_HELP
  7030.  
  7031. define(STOPPED_HELP,
  7032. [ITEM To find out how you got here, use LBL(Status, Backtrace).\n\
  7033. ITEM To examine a variable value, select it first (click on an \
  7034. occurrence).\n\
  7035.     Then use LBL(Print ()) (simple values) or LBL(Display ()) \
  7036. (complex values).\n\
  7037.     Press BUTTON(3) on the variable name for a shortcut.\n\
  7038. ITEM You can display all local variables at once using\n\
  7039.     LBL(Data, Display Local Variables).\n\
  7040. ITEM To set and clear further breakpoints, use \
  7041. LBL(Source, Edit Breakpoints).\n\
  7042.     Press BUTTON(3) on a location or breakpoint to get a shortcut.])dnl
  7043.  
  7044. Ddd*stopped_at_passed_signal.helpString: \
  7045. @rm Your program @PROGRAM_STATE@.\n\
  7046. \n\
  7047. STOPPED_HELP\n\
  7048. \n\
  7049. When resuming execution, the @SIGNAL_DESCRIPTION@ signal\n\
  7050. will be passed to the program.\n\
  7051. ITEM To continue execution without giving a @SIGNAL@ signal,\n\
  7052.     use LBL(Commands, Continue Without Signal).\n\
  7053. ITEM To see or change the current signal handling, use LBL(Status, Signals).
  7054.  
  7055. Ddd*stopped_at_ignored_signal.helpString: \
  7056. @rm Your program @PROGRAM_STATE@.\n\
  7057. \n\
  7058. STOPPED_HELP\n\
  7059. \n\
  7060. When resuming execution, the @SIGNAL_DESCRIPTION@ signal \
  7061. will EMPH(not) be passed to the program.\n\
  7062. ITEM To pass this signal to the program, \
  7063. use the @GDB@ command KBD(signal @SIGNAL@).\n\
  7064. ITEM To see or change the current signal handling, use LBL(Status, Signals).
  7065.  
  7066. Ddd*stopped.helpString: \
  7067. @rm Your program @PROGRAM_STATE@.\n\
  7068. \n\
  7069. STOPPED_HELP\n\
  7070. ITEM Use the functions of the LBL(Program) menu to resume execution\n\
  7071.     and step through your program.
  7072.  
  7073. Ddd*showing_earlier_state.helpString: \
  7074. @rm DDD is showing an earlier state of your program.\n\
  7075. \n\
  7076. This happens when you undo a command affecting the program state.\n\
  7077. DDD cannot restore the earlier program state.  Instead, DDD goes into\n\
  7078. EMPH(historic mode) showing you all it remembers about this state.\n\
  7079. \n\
  7080. Most normal DDD commands that would query further information\n\
  7081. are disabled in historic mode.  However, you can examine\n\
  7082. the current execution position, or the active displays.\n\
  7083. \n\
  7084. ITEM To revert to the current program state, use LBL(Edit, Redo).\n\
  7085. ITEM To view even earlier states of your program, use LBL(Edit, Undo).
  7086.  
  7087.  
  7088. !-----------------------------------------------------------------------------
  7089. ! Startup tips
  7090. !-----------------------------------------------------------------------------
  7091.  
  7092. Ddd*tip_dialog_popup.title:         DDD Tip of the Day
  7093. Ddd*tip_dialog*helpString:    \
  7094. @rm This is the DDD tip of the day.
  7095. Ddd*tip_dialog.cancelLabelString:    Prev Tip
  7096. Ddd*tip_dialog.helpLabelString:        Next Tip
  7097. Ddd*tip_dialog.symbolPixmap:         ddd
  7098.  
  7099. dnl Tips will be appended here.
  7100.