-;;; idlw-toolbar.el --- A debugging toolbar for IDLWAVE
-;; Copyright (c) 1999 Carsten Dominik
-;; Copyright (c) 1999, 2000 Free Software Foundation
+;;; idlw-toolbar.el --- a debugging toolbar for IDLWAVE
+;; Copyright (c) 1999, 2000, 2001,2002 Free Software Foundation
-;; Author: Carsten Dominik <dominik@strw.leidenuniv.nl>
-;; Version: 4.2
-;; Date: $Date: 2000/06/06 10:40:52 $
+;; Author: Carsten Dominik <dominik@astro.uva.nl>
+;; Maintainer: J.D. Smith <jdsmith@as.arizona.edu>
+;; Version: 5.5
;; Keywords: processes
;; This file is part of GNU Emacs.
;; This file implements a debugging toolbar for IDLWAVE. It requires
;; Emacs or XEmacs with toolbar and xpm support.
+;; New versions of IDLWAVE, documentation, and more information
+;; available from:
+;; http://idlwave.org
+
\f
;;; Code:
"/* XPM */
static char * file[] = {
\"28 28 2 1\",
-\" c #C8C8C8C8C8C8 s backgroundToolBarColor\",
+\" c None s backgroundToolBarColor\",
\". c #000000000000\",
\" \",
\" \",
"/* XPM */
static char * file[] = {
\"28 28 3 1\",
-\" c #C8C8C8C8C8C8 s backgroundToolBarColor\",
+\" c None s backgroundToolBarColor\",
\". c #000000000000\",
\"R c #FFFF00000000\",
\" \",
"/* XPM */
static char * file[] = {
\"28 28 3 1\",
-\" c #C8C8C8C8C8C8 s backgroundToolBarColor\",
+\" c None s backgroundToolBarColor\",
\". c #000000000000\",
\"R c #FFFF00000000\",
\" \",
\" \"};")
"The Stop At icon.")
-(defvar idlwave-toolbar-stop-in-icon
- (idlwave-toolbar-make-button
- "/* XPM */
-static char * file[] = {
-\"28 28 4 1\",
-\" c #C8C8C8C8C8C8 s backgroundToolBarColor\",
-\"_ c #FFFFFFFFFFFF\",
-\". c #000000000000\",
-\"R c #FFFF00000000\",
-\" \",
-\" \",
-\" \",
-\" \",
-\" ........ \",
-\" .RRRRRRRR. \",
-\" .RRRRRRRRRR. \",
-\" .RRRRRRRRRRRR. \",
-\" .RRR___RR___RRR. \",
-\" .RRRR__RRRR__RRRR. \",
-\" .RRRRR__RRRR__RRRRR. \",
-\" .RRRRR__RRRR__RRRRR. \",
-\" .RRRRR__RRRR__RRRRR. \",
-\" .RRRR__RRRRRR__RRRR. \",
-\" .RRRRR__RRRR__RRRRR. \",
-\" .RRRRR__RRRR__RRRRR. \",
-\" .RRRRR__RRRR__RRRRR. \",
-\" .RRRRR__RRRR__RRRRR. \",
-\" .RRRR___RR___RRRR. \",
-\" .RRRRRRRRRRRRRR. \",
-\" .RRRRRRRRRRRR. \",
-\" .RRRRRRRRRR. \",
-\" .RRRRRRRR. \",
-\" ........ \",
-\" \",
-\" \",
-\" \",
-\" \"};")
- "The Stop in icon.")
-
(defvar idlwave-toolbar-clear-at-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"28 28 3 1\",
-\" c #C8C8C8C8C8C8 s backgroundToolBarColor\",
+\" c None s backgroundToolBarColor\",
\". c #000000000000\",
\"R c #FFFF00000000\",
\" \",
"/* XPM */
static char * file[] = {
\"28 28 4 1\",
-\" c #C8C8C8C8C8C8 s backgroundToolBarColor\",
+\" c None s backgroundToolBarColor\",
\". c #000000000000\",
\"X c #FFFFFFFFFFFF\",
\"R c #FFFF00000000\",
\" \"};")
"The Clear-All icon.")
+(defvar idlwave-toolbar-stop-beginning-icon
+ (idlwave-toolbar-make-button
+ "/* XPM */
+static char * file[] = {
+\"28 28 4 1\",
+\" c None s backgroundToolBarColor\",
+\". c #000000000000\",
+\"X c #FFFF00000000\",
+\"_ c #FFFFFFFFFFFF\",
+\" \",
+\" \",
+\" \",
+\" \",
+\" ........ \",
+\" .XXXXXXXX. \",
+\" .XXXXXXXXXX. \",
+\" .XXXXXXXXXXXX. \",
+\" .XX..XXXXXXXXXX. \",
+\" .XX.XX.X______XXX. \",
+\" .XXX.XX.X______XXXX. \",
+\" .XXXX..XXXXXXXXXXXX. \",
+\" .XXXXXXXXXX____XXXX. \",
+\" .XXXXXXXXXX____XXXX. \",
+\" .XXXXXXXXXXXXXXXXXX. \",
+\" .XXXXXXXXXX____XXXX. \",
+\" .XXXXXXXXXX____XXXX. \",
+\" .XXXXXXXXXXXXXXXXXX. \",
+\" .XXXXXXXXX____XXX. \",
+\" .XXXXXXXX____XX. \",
+\" .XXXXXXXXXXXX. \",
+\" .XXXXXXXXXX. \",
+\" .XXXXXXXX. \",
+\" ........ \",
+\" \",
+\" \",
+\" \",
+\" \"};")
+ "The Stop at Beginning icon.")
+
+(defvar idlwave-toolbar-stop-in-icon
+ (idlwave-toolbar-make-button
+ "/* XPM */
+static char * file[] = {
+\"28 28 4 1\",
+\" c None s backgroundToolBarColor\",
+\"_ c #FFFFFFFFFFFF\",
+\". c #000000000000\",
+\"R c #FFFF00000000\",
+\" \",
+\" \",
+\" \",
+\" \",
+\" ........ \",
+\" .RRRRRRRR. \",
+\" .RRRRRRRRRR. \",
+\" .RRRRRRRRRRRR. \",
+\" .RRR___RR___RRR. \",
+\" .RRRR__RRRR__RRRR. \",
+\" .RRRRR__RRRR__RRRRR. \",
+\" .RRRRR__RRRR__RRRRR. \",
+\" .RRRRR__RRRR__RRRRR. \",
+\" .RRRR__RRRRRR__RRRR. \",
+\" .RRRRR__RRRR__RRRRR. \",
+\" .RRRRR__RRRR__RRRRR. \",
+\" .RRRRR__RRRR__RRRRR. \",
+\" .RRRRR__RRRR__RRRRR. \",
+\" .RRRR___RR___RRRR. \",
+\" .RRRRRRRRRRRRRR. \",
+\" .RRRRRRRRRRRR. \",
+\" .RRRRRRRRRR. \",
+\" .RRRRRRRR. \",
+\" ........ \",
+\" \",
+\" \",
+\" \",
+\" \"};")
+ "The Stop in icon.")
+
(defvar idlwave-toolbar-edit-cmd-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"28 28 2 1\",
-\" c #C8C8C8C8C8C8 s backgroundToolBarColor\",
+\" c None s backgroundToolBarColor\",
\". c #000000000000\",
\" \",
\" \",
"/* XPM */
static char * file[] = {
\"28 28 3 1\",
-\" c #C8C8C8C8C8C8 s backgroundToolBarColor\",
+\" c None s backgroundToolBarColor\",
\". s FgColor c #000000000000\",
\"G c #0000BBBB0000\",
\" \",
"/* XPM */
static char * file[] = {
\"28 28 3 1\",
-\" c #C8C8C8C8C8C8 s backgroundToolBarColor\",
+\" c None s backgroundToolBarColor\",
\". s FgColor c #000000000000\",
\"G c #0000BBBB0000\",
\" \",
"/* XPM */
static char * file[] = {
\"28 28 4 1\",
-\" c #C8C8C8C8C8C8 s backgroundToolBarColor\",
+\" c None s backgroundToolBarColor\",
\". c #000000000000\",
\"G c #0000BBBB0000\",
\"R c #FFFF00000000\",
"/* XPM */
static char * file[] = {
\"28 28 3 1\",
-\" c #C8C8C8C8C8C8 s backgroundToolBarColor\",
+\" c None s backgroundToolBarColor\",
\". c #000000000000\",
\"G c #0000BBBB0000\",
\" \",
"/* XPM */
static char * file[] = {
\"28 28 3 1\",
-\" c #C8C8C8C8C8C8 s backgroundToolBarColor\",
+\" c None s backgroundToolBarColor\",
\". c #000000000000\",
\"G c #0000BBBB0000\",
\" \",
"/* XPM */
static char * file[] = {
\"28 28 3 1\",
-\" c #C8C8C8C8C8C8 s backgroundToolBarColor\",
+\" c None s backgroundToolBarColor\",
\". c #000000000000\",
\"G c #0000BBBB0000\",
\" \",
"/* XPM */
static char * file[] = {
\"28 28 2 1\",
-\" c #C8C8C8C8C8C8 s backgroundToolBarColor\",
+\" c None s backgroundToolBarColor\",
\". c #000000000000\",
\" \",
\" \",
"/* XPM */
static char * file[] = {
\"28 28 5 1\",
-\" c #C8C8C8C8C8C8 s backgroundToolBarColor\",
+\" c None s backgroundToolBarColor\",
\". s FgColor c #000000000000\",
\"_ c #FFFFFFFFFFFF\",
\"G c #0000BBBB0000\",
"/* XPM */
static char * file[] = {
\"28 28 5 1\",
-\" c #C8C8C8C8C8C8 s backgroundToolBarColor\",
+\" c None s backgroundToolBarColor\",
\". s FgColor c #000000000000\",
\"_ c #FFFFFFFFFFFF\",
\"G c #0000BBBB0000\",
"/* XPM */
static char * file[] = {
\"28 28 3 1\",
-\" c #C8C8C8C8C8C8 s backgroundToolBarColor\",
+\" c None s backgroundToolBarColor\",
\"G c #0000BBBB0000\",
\". c #000000000000\",
\" \",
\" \"};")
"The Reset icon.")
+(defvar idlwave-toolbar-electric-debug-icon
+ (idlwave-toolbar-make-button
+ "/* XPM */
+static char * file[] = {
+\"28 28 8 1\",
+\" c None s backgroundToolBarColor\",
+\". c #CFC854\",
+\"+ c #EEDB0E\",
+\"@ c #D2C739\",
+\"# c #A39C54\",
+\"$ c #CDC020\",
+\"% c #020202\",
+\"& c #D60E36\",
+\" \",
+\" \",
+\" .. \",
+\" +++++@ \",
+\" ++++++ \",
+\" +++++@ \",
+\" +++++ \",
+\" #++++@ \",
+\" $+++@ %% %% \",
+\" ++++++$ % % \",
+\" #+++++$ % % \",
+\" #++$# %%% \",
+\" #+++ %%%%%%% \",
+\" .++ %%%%%%%%%%% \",
+\" ++$$ %%%%%%%%%%% \",
+\" .+@# &&%%%%%%%&& \",
+\" .++++# &&&&&%%%&&&&& \",
+\" +++++$ &&%%&&&&&%%&& \",
+\" $+++$ &&%%&&&&&%%&& \",
+\" $++@ &&&&&&%&&&&&& \",
+\" $+@ &&&&&&%&&&&&& \",
+\" @+ &&%%&&&&&%%&& \",
+\" ++. &%%&&%&&%%& \",
+\" +. &&&&%%%&&&& \",
+\" .+ &&%%%%%&& \",
+\" ++ %%%%%%% \",
+\" . %%% \",
+\" \"};")
+ "The electric debug icon.")
+
(defvar idlwave-toolbar
'(
[idlwave-toolbar-compile-icon
idlwave-shell-break-here
(eq major-mode 'idlwave-mode)
"Set Breakpoint at selected position"]
- [idlwave-toolbar-stop-in-icon
- idlwave-shell-break-in
- t
- "Stop in Function with name near at point"]
[idlwave-toolbar-clear-at-icon
idlwave-shell-clear-current-bp
t
idlwave-shell-clear-all-bp
t
"Clear all Breakpoints"]
+ [idlwave-toolbar-stop-beginning-icon
+ idlwave-shell-break-this-module
+ (eq major-mode 'idlwave-mode)
+ "Stop at beginning of enclosing Routine"]
+ [idlwave-toolbar-stop-in-icon
+ idlwave-shell-break-in
+ t
+ "Stop in Routine with name near point"]
[idlwave-toolbar-edit-cmd-icon
idlwave-shell-edit-default-command-line
t
idlwave-shell-reset
t
"Reset IDL (RETALL & CLOSE,/ALL and more)"]
+ [idlwave-toolbar-electric-debug-icon
+ idlwave-shell-electric-debug-mode
+ (eq major-mode 'idlwave-mode)
+ "Toggle Electric Debug Mode"]
))
;; When the shell exits, arrange to remove the special toolbar everywhere.
(mapcar (lambda (x)
(let* ((icon (aref x 0))
(func (aref x 1))
- ;;(show (aref x 2))
+ (show (aref x 2))
(help (aref x 3))
(key (vector 'tool-bar func))
(def (list 'menu-item
"a"
func
:image (symbol-value icon)
+ :visible show
:help help)))
(define-key idlwave-mode-map key def)
(define-key idlwave-shell-mode-map key def)))
(provide 'idlw-toolbar)
(provide 'idlwave-toolbar)
+;; arch-tag: ec9a3717-c44c-4716-9bda-cdacbe5ddb62
;;; idlw-toolbar.el ends here
-
-