>From 0a961f441f2ffb626c35cd0cd86c576e998c7ae1 Mon Sep 17 00:00:00 2001 From: Morgan Veyret Date: Mon, 23 Feb 2009 19:26:25 +0100 Subject: [PATCH 07/14] Another fix for scrolling. Now regex search and all the other stuff should work fine. --- menu.lisp | 14 +++++++------- 1 files changed, 7 insertions(+), 7 deletions(-) diff --git a/menu.lisp b/menu.lisp index 4fc69b4..c114de9 100644 --- a/menu.lisp +++ b/menu.lisp @@ -89,19 +89,21 @@ on current view and new selection." ((< (menu-state-selected menu) (menu-state-view-start menu)) (progn (setf (menu-state-view-start menu) - (- (menu-state-view-start menu) + (- (menu-state-selected menu) *menu-scrolling-step*)) (setf (menu-state-view-end menu) - (- (menu-state-view-end menu) + (- (+ (menu-state-selected menu) + *menu-maximum-height*) *menu-scrolling-step*)))) ((>= (menu-state-selected menu) (menu-state-view-end menu)) (progn (setf (menu-state-view-start menu) - (+ (menu-state-view-start menu) + (+ (- (menu-state-selected menu) + *menu-maximum-height*) *menu-scrolling-step*)) (setf (menu-state-view-end menu) - (+ (menu-state-view-end menu) - *menu-scrolling-step*)))))))) + (+ (menu-state-selected menu) + *menu-scrolling-step*)))))))) (defun menu-up (menu) (setf *current-menu-input* "") @@ -184,8 +186,6 @@ backspace or F9), return it otherwise return nil" (bound-check-menu menu) (return)))))) -;; TODO: The maximum lines-number should be customizable or at least based on -;; TODO: screen height (defun select-from-menu (screen table &optional prompt (initial-selection 0)) "Prompt the user to select from a menu on SCREEN. TABLE can be -- 1.7.4