X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/ba4c05aa6e23909b7df4021003280f4a5a2ad0f6..ad96a7efde9759ef7046173e73f3f439a2f1ff58:/lisp/progmodes/idlw-toolbar.el diff --git a/lisp/progmodes/idlw-toolbar.el b/lisp/progmodes/idlw-toolbar.el index 8ae95d772b..48d1a24a09 100644 --- a/lisp/progmodes/idlw-toolbar.el +++ b/lisp/progmodes/idlw-toolbar.el @@ -1,9 +1,9 @@ -;;; idlw-toolbar.el --- A debugging toolbar for IDLWAVE -;; 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 -;; Version: 4.7 -;; Date: $Date: 2000/12/11 12:44:44 $ +;; Author: Carsten Dominik +;; Maintainer: J.D. Smith +;; Version: 5.5 ;; Keywords: processes ;; This file is part of GNU Emacs. @@ -28,6 +28,10 @@ ;; 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 + ;;; Code: @@ -58,7 +62,7 @@ "/* XPM */ static char * file[] = { \"28 28 2 1\", -\" c #C8C8C8C8C8C8 s backgroundToolBarColor\", +\" c None s backgroundToolBarColor\", \". c #000000000000\", \" \", \" \", @@ -95,7 +99,7 @@ static char * file[] = { "/* XPM */ static char * file[] = { \"28 28 3 1\", -\" c #C8C8C8C8C8C8 s backgroundToolBarColor\", +\" c None s backgroundToolBarColor\", \". c #000000000000\", \"R c #FFFF00000000\", \" \", @@ -133,7 +137,7 @@ static char * file[] = { "/* XPM */ static char * file[] = { \"28 28 3 1\", -\" c #C8C8C8C8C8C8 s backgroundToolBarColor\", +\" c None s backgroundToolBarColor\", \". c #000000000000\", \"R c #FFFF00000000\", \" \", @@ -166,52 +170,13 @@ static char * file[] = { \" \"};") "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\", \" \", @@ -249,7 +214,7 @@ static char * file[] = { "/* XPM */ static char * file[] = { \"28 28 4 1\", -\" c #C8C8C8C8C8C8 s backgroundToolBarColor\", +\" c None s backgroundToolBarColor\", \". c #000000000000\", \"X c #FFFFFFFFFFFF\", \"R c #FFFF00000000\", @@ -283,12 +248,90 @@ static char * file[] = { \" \"};") "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\", \" \", \" \", @@ -325,7 +368,7 @@ static char * file[] = { "/* XPM */ static char * file[] = { \"28 28 3 1\", -\" c #C8C8C8C8C8C8 s backgroundToolBarColor\", +\" c None s backgroundToolBarColor\", \". s FgColor c #000000000000\", \"G c #0000BBBB0000\", \" \", @@ -363,7 +406,7 @@ static char * file[] = { "/* XPM */ static char * file[] = { \"28 28 3 1\", -\" c #C8C8C8C8C8C8 s backgroundToolBarColor\", +\" c None s backgroundToolBarColor\", \". s FgColor c #000000000000\", \"G c #0000BBBB0000\", \" \", @@ -401,7 +444,7 @@ static char * file[] = { "/* XPM */ static char * file[] = { \"28 28 4 1\", -\" c #C8C8C8C8C8C8 s backgroundToolBarColor\", +\" c None s backgroundToolBarColor\", \". c #000000000000\", \"G c #0000BBBB0000\", \"R c #FFFF00000000\", @@ -440,7 +483,7 @@ static char * file[] = { "/* XPM */ static char * file[] = { \"28 28 3 1\", -\" c #C8C8C8C8C8C8 s backgroundToolBarColor\", +\" c None s backgroundToolBarColor\", \". c #000000000000\", \"G c #0000BBBB0000\", \" \", @@ -478,7 +521,7 @@ static char * file[] = { "/* XPM */ static char * file[] = { \"28 28 3 1\", -\" c #C8C8C8C8C8C8 s backgroundToolBarColor\", +\" c None s backgroundToolBarColor\", \". c #000000000000\", \"G c #0000BBBB0000\", \" \", @@ -516,7 +559,7 @@ static char * file[] = { "/* XPM */ static char * file[] = { \"28 28 3 1\", -\" c #C8C8C8C8C8C8 s backgroundToolBarColor\", +\" c None s backgroundToolBarColor\", \". c #000000000000\", \"G c #0000BBBB0000\", \" \", @@ -555,7 +598,7 @@ static char * file[] = { "/* XPM */ static char * file[] = { \"28 28 2 1\", -\" c #C8C8C8C8C8C8 s backgroundToolBarColor\", +\" c None s backgroundToolBarColor\", \". c #000000000000\", \" \", \" \", @@ -592,7 +635,7 @@ static char * file[] = { "/* 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\", @@ -632,7 +675,7 @@ static char * file[] = { "/* 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\", @@ -672,7 +715,7 @@ static char * file[] = { "/* XPM */ static char * file[] = { \"28 28 3 1\", -\" c #C8C8C8C8C8C8 s backgroundToolBarColor\", +\" c None s backgroundToolBarColor\", \"G c #0000BBBB0000\", \". c #000000000000\", \" \", @@ -705,6 +748,49 @@ static char * file[] = { \" \"};") "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 @@ -719,10 +805,6 @@ static char * file[] = { 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 @@ -731,6 +813,14 @@ static char * file[] = { 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 @@ -775,6 +865,10 @@ static char * file[] = { 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. @@ -820,13 +914,14 @@ static char * file[] = { (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))) @@ -872,6 +967,5 @@ static char * file[] = { (provide 'idlw-toolbar) (provide 'idlwave-toolbar) +;; arch-tag: ec9a3717-c44c-4716-9bda-cdacbe5ddb62 ;;; idlw-toolbar.el ends here - -