comparison lisp/scrollbar.el @ 209:41ff10fd062f r20-4b3

Import from CVS: tag r20-4b3
author cvs
date Mon, 13 Aug 2007 10:04:58 +0200
parents
children 6330739388db
comparison
equal deleted inserted replaced
208:f427b8ec4379 209:41ff10fd062f
1 ;;; scrollbar.el --- Scrollbar support for XEmacs
2
3 ;; Copyright (C) 1995, 1997 Free Software Foundation, Inc.
4
5 ;; Maintainer: XEmacs Development Team
6 ;; Keywords: internal, extensions, dumped
7
8 ;; This file is part of XEmacs.
9
10 ;; XEmacs is free software; you can redistribute it and/or modify it
11 ;; under the terms of the GNU General Public License as published by
12 ;; the Free Software Foundation; either version 2, or (at your option)
13 ;; any later version.
14
15 ;; XEmacs is distributed in the hope that it will be useful, but
16 ;; WITHOUT ANY WARRANTY; without even the implied warranty of
17 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 ;; General Public License for more details.
19
20 ;; You should have received a copy of the GNU General Public License
21 ;; along with XEmacs; see the file COPYING. If not, write to the
22 ;; Free Software Foundation, 59 Temple Place - Suite 330,
23 ;; Boston, MA 02111-1307, USA.
24
25 ;;; Synched up with: Not in FSF. (Completely divergent from FSF scroll-bar.el)
26
27 ;;; Commentary:
28
29 ;; This file is dumped with XEmacs (when scrollbar support is compiled in).
30
31 ;;; Code:
32
33 (defun init-scrollbar-from-resources (locale)
34 (when (and (featurep 'x)
35 (or (eq locale 'global)
36 (eq 'x (device-or-frame-type locale))))
37 (x-init-scrollbar-from-resources locale)))
38
39 ;;
40 ;; vertical scrollbar functions
41 ;;
42
43 ;;; ### Move functions from C into Lisp here!
44
45 ;;
46 ;; horizontal scrollbar functions
47 ;;
48
49 (defun scrollbar-char-left (window)
50 "Function called when the char-left arrow on the scrollbar is clicked.
51 This is the little arrow to the left of the scrollbar. One argument is
52 passed, the scrollbar's window. You can advise this function to
53 change the scrollbar behavior."
54 (when (window-live-p window)
55 (scrollbar-set-hscroll window (- (window-hscroll window) 1))
56 (setq zmacs-region-stays t)
57 nil))
58
59 (defun scrollbar-char-right (window)
60 "Function called when the char-right arrow on the scrollbar is clicked.
61 This is the little arrow to the right of the scrollbar. One argument is
62 passed, the scrollbar's window. You can advise this function to
63 change the scrollbar behavior."
64 (when (window-live-p window)
65 (scrollbar-set-hscroll window (+ (window-hscroll window) 1))
66 (setq zmacs-region-stays t)
67 nil))
68
69 (defun scrollbar-page-left (window)
70 "Function called when the user gives the \"page-left\" scrollbar action.
71 \(The way this is done can vary from scrollbar to scrollbar.\) One argument is
72 passed, the scrollbar's window. You can advise this function to
73 change the scrollbar behavior."
74 (when (window-live-p window)
75 (scrollbar-set-hscroll window (- (window-hscroll window)
76 (- (window-width window) 2)))
77 (setq zmacs-region-stays t)
78 nil))
79
80 (defun scrollbar-page-right (window)
81 "Function called when the user gives the \"page-right\" scrollbar action.
82 \(The way this is done can vary from scrollbar to scrollbar.\) One argument is
83 passed, the scrollbar's window. You can advise this function to
84 change the scrollbar behavior."
85 (when (window-live-p window)
86 (scrollbar-set-hscroll window (+ (window-hscroll window)
87 (- (window-width window) 2)))
88 (setq zmacs-region-stays t)
89 nil))
90
91 (defun scrollbar-to-left (window)
92 "Function called when the user gives the \"to-left\" scrollbar action.
93 \(The way this is done can vary from scrollbar to scrollbar.\). One argument is
94 passed, the scrollbar's window. You can advise this function to
95 change the scrollbar behavior."
96 (when (window-live-p window)
97 (scrollbar-set-hscroll window 0)
98 (setq zmacs-region-stays t)
99 nil))
100
101 (defun scrollbar-to-right (window)
102 "Function called when the user gives the \"to-right\" scrollbar action.
103 \(The way this is done can vary from scrollbar to scrollbar.\). One argument is
104 passed, the scrollbar's window. You can advise this function to
105 change the scrollbar behavior."
106 (when (window-live-p window)
107 (scrollbar-set-hscroll window 'max)
108 (setq zmacs-region-stays t)
109 nil))
110
111 (defun scrollbar-horizontal-drag (data)
112 "Function called when the user drags the horizontal scrollbar thumb.
113 One argument is passed, a cons containing the scrollbar's window and a value
114 representing how many columns the thumb is slid over. You can advise
115 this function to change the scrollbar behavior."
116 (let ((window (car data))
117 (value (cdr data)))
118 (when (and (window-live-p window) (integerp value))
119 (scrollbar-set-hscroll window value)
120 (setq zmacs-region-stays t)
121 nil)))
122
123 ;;; scrollbar.el ends here