From ccffcaffcbaebb6b66ba7df463f595b0dd1d1deb Mon Sep 17 00:00:00 2001 From: garland <garland> Date: Tue, 9 Mar 1993 13:14:00 +0000 Subject: [PATCH] Added support for deleting all active inspection panes. --- interface/interface.lisp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/interface/interface.lisp b/interface/interface.lisp index 2ba88701b..2a1d772bf 100644 --- a/interface/interface.lisp +++ b/interface/interface.lisp @@ -317,6 +317,7 @@ (defconstant *history-size* 25) (defvar *inspector-history*) +(defvar *current-inspector-objects* nil) (defstruct (inspector-history (:print-function print-inspector-history) @@ -359,6 +360,7 @@ (with-busy-cursor (pane) (text-set-string widget "") (display-inspector-pane object) + (push object *current-inspector-objects*) (inspector-add-history-item object))) (error (e) (interface-error (format nil "~a" e) (xti:widget-user-data widget)))))) @@ -371,6 +373,7 @@ (with-busy-cursor (pane) (update-display widget) (display-inspector-pane object) + (push object *current-inspector-objects*) (list-deselect-pos widget pos)))) @@ -397,6 +400,12 @@ (defvar *file-list* nil) +(defun close-all-callback (widget call-data) + (declare (ignore widget call-data)) + (dolist (object *current-inspector-objects*) + (destroy-interface-pane object)) + (setf *current-inspector-objects* nil)) + (defun file-selection-callback (widget call-data) (declare (ignore widget)) (let ((string (compound-string-get-ltor @@ -581,6 +590,7 @@ #'compile-file) (manage-child fsel))) "-----" + ("Close Inspection Panes" ,#'close-all-callback) ("Close Control Panel" ,#'popdown-callback ,pane) ("Quit Lisp" ,#'(lambda (w c pane) (declare (ignore w c)) -- GitLab