X-Git-Url: https://git.hcoop.net/bpt/emacs.git/blobdiff_plain/6114b889a2aa965ef8849a0042bc7248aea16400..32226619c5e563c384372b566000e5d37d783a61:/lisp/progmodes/idlw-toolbar.el diff --git a/lisp/progmodes/idlw-toolbar.el b/lisp/progmodes/idlw-toolbar.el index 4ec9a1ebfc..9acd86ebc3 100644 --- a/lisp/progmodes/idlw-toolbar.el +++ b/lisp/progmodes/idlw-toolbar.el @@ -1,18 +1,19 @@ ;;; idlw-toolbar.el --- a debugging toolbar for IDLWAVE -;; Copyright (c) 1999, 2000, 2001,2002 Free Software Foundation + +;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +;; Free Software Foundation, Inc. ;; Author: Carsten Dominik ;; Maintainer: J.D. Smith -;; Version: 4.15 -;; Date: $Date: 2003/09/01 15:45:35 $ +;; Version: 6.1_em22 ;; Keywords: processes ;; This file is part of GNU Emacs. -;; GNU Emacs is free software; you can redistribute it and/or modify +;; GNU Emacs is free software: you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) -;; any later version. +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. ;; GNU Emacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -20,9 +21,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. +;; along with GNU Emacs. If not, see . ;;; Commentary: @@ -43,7 +42,10 @@ (toolbar-make-button-list image) (list 'image :type 'xpm :data image))) +(defvar idlwave-toolbar) (defvar default-toolbar) +(defvar idlwave-toolbar-is-possible) + (if (not (or (and (featurep 'xemacs) ; This is XEmacs (featurep 'xpm) ; need xpm (featurep 'toolbar)) ; ... and the toolbar @@ -171,45 +173,6 @@ 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 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-clear-at-icon (idlwave-toolbar-make-button @@ -288,6 +251,84 @@ 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 */ @@ -399,7 +440,7 @@ static char * file[] = { \" \", \" \", \" \"};") - "The Cont icon.") + "The Cont icon.") (defvar idlwave-toolbar-to-here-icon (idlwave-toolbar-make-button @@ -710,6 +751,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 @@ -724,10 +808,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 @@ -736,6 +816,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 @@ -780,6 +868,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. @@ -822,20 +914,21 @@ static char * file[] = { (idlwave-toolbar-add)) (buffer-list))) ;; For Emacs, add the key definitions to the mode maps - (mapcar (lambda (x) - (let* ((icon (aref x 0)) - (func (aref x 1)) - ;;(show (aref x 2)) - (help (aref x 3)) - (key (vector 'tool-bar func)) - (def (list 'menu-item - "a" - func - :image (symbol-value icon) - :help help))) - (define-key idlwave-mode-map key def) - (define-key idlwave-shell-mode-map key def))) - (reverse idlwave-toolbar))) + (mapc (lambda (x) + (let* ((icon (aref x 0)) + (func (aref x 1)) + (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))) + (reverse idlwave-toolbar))) (setq idlwave-toolbar-visible t))) (defun idlwave-toolbar-remove-everywhere () @@ -852,15 +945,15 @@ static char * file[] = { (idlwave-toolbar-remove)) (buffer-list))) ;; For Emacs, remove the key definitions from the mode maps - (mapcar (lambda (x) - (let* (;;(icon (aref x 0)) - (func (aref x 1)) - ;;(show (aref x 2)) - ;;(help (aref x 3)) - (key (vector 'tool-bar func))) - (define-key idlwave-mode-map key nil) - (define-key idlwave-shell-mode-map key nil))) - idlwave-toolbar)) + (mapc (lambda (x) + (let* (;;(icon (aref x 0)) + (func (aref x 1)) + ;;(show (aref x 2)) + ;;(help (aref x 3)) + (key (vector 'tool-bar func))) + (define-key idlwave-mode-map key nil) + (define-key idlwave-shell-mode-map key nil))) + idlwave-toolbar)) (setq idlwave-toolbar-visible nil))) (defun idlwave-toolbar-toggle (&optional force-on) @@ -877,7 +970,5 @@ static char * file[] = { (provide 'idlw-toolbar) (provide 'idlwave-toolbar) +;; arch-tag: ec9a3717-c44c-4716-9bda-cdacbe5ddb62 ;;; idlw-toolbar.el ends here - - -;;; arch-tag: ec9a3717-c44c-4716-9bda-cdacbe5ddb62