;;; -*- Mode:LISP; Package:TV; Base:10 -*- (DEFMETHOD (BOX-LABEL-MIXIN :AFTER :DRAW-LABEL) (SPEC LEFT TOP RIGHT BOTTOM) SPEC (AND LABEL-BOX-P (SHEET-FORCE-ACCESS (SELF) (PREPARE-SHEET (SELF) ; All these seem to do is make the label-bottom stick out through any ; borders the screen might have, by forcing use of the outside rather ; than the inside diameter. Compare TV:ERASE-LABEL, which respects ; borders correctly yet doesn't seem to make anybody malfunction. JCM. ; (IF (>= RIGHT (SHEET-INSIDE-RIGHT)) (SETQ RIGHT WIDTH)) ; (IF (<= LEFT (SHEET-INSIDE-LEFT)) (SETQ LEFT 0)) (OR (>= BOTTOM (SHEET-INSIDE-BOTTOM)) (%DRAW-RECTANGLE (- RIGHT LEFT) 1 LEFT (1- BOTTOM) CHAR-ALUF SELF)) (OR (<= TOP (SHEET-INSIDE-TOP)) (%DRAW-RECTANGLE (- RIGHT LEFT) 1 LEFT (1- TOP) CHAR-ALUF SELF)))))) ;(DEFUN ERASE-LABEL (&REST IGNORE) ; (DECLARE (:SELF-FLAVOR ESSENTIAL-LABEL-MIXIN)) ; (AND LABEL ; (SHEET-FORCE-ACCESS (SELF) ; (MULTIPLE-VALUE-BIND (LEFT TOP RIGHT BOTTOM) ; (COMPUTE-LABEL-POSITION) ; (PREPARE-SHEET (SELF) ; (%DRAW-RECTANGLE (- RIGHT LEFT) (- BOTTOM TOP) LEFT TOP ERASE-ALUF SELF)))))) (DEFMETHOD (ESSENTIAL-WINDOW :BEFORE :MOUSE-SELECT) (&REST IGNORE) ;; Snarfing input from the selected window before the new one is selected made ;; characters typed after a new mouse selection go to the old window. KHS 1/7/85. ; (WITHOUT-INTERRUPTS ; (AND SELECTED-WINDOW ; (SETQ BUF (SEND SELECTED-WINDOW ':IO-BUFFER)) ; (KBD-SNARF-INPUT BUF)))) ; (zwei:event "ENTER :BEFORE :MOUSE-SELECT") (UNLESS (NULL SELECTED-WINDOW) (SEND SELECTED-WINDOW :IO-BUFFER)) ; (zwei:event "EXIT :BEFORE :MOUSE-SELECT") ) (defmethod (TV:ESSENTIAL-WINDOW :AFTER :MOUSE-SELECT) (&rest ignore) ; (zwei:event "ENTER :AFTER :MOUSE-SELECT") (cond ((and (typep self 'zwei:zmacs-frame) (typep (send self :selection-substitute) 'zwei:zmacs-window-pane) (boundp 'zwei:*dired-constraint-frame*) (typep (send self :superior) 'zwei:dired-display-frame)) (zwei:mouse-select-dired self)) ((and (boundp 'zwei:*dired-constraint-frame*) ;;; Prevents action on mini-buffer selection (typep self 'zwei:dired-constraint-frame))) ((typep self 'zwei:gateway-constraint-frame) (zwei:mouse-select-gateway self)) (t (zwei:mouse-select-standard self))) ; (zwei:event "EXIT :AFTER MOUSE-SELECT") ) ;;; *DIRED-DEBUG-PANE* won't instantiate unless this exists. It seems to have ;;; gotten lost out of the window system somehow. (defmethod (tv:scroll-stuff-on-off-mixin :adjustable-size-p) (&rest ignore))