comparison lisp/hyperbole/hui-menu.el @ 0:376386a54a3c r19-14

Import from CVS: tag r19-14
author cvs
date Mon, 13 Aug 2007 08:45:50 +0200
parents
children 4103f0995bd7
comparison
equal deleted inserted replaced
-1:000000000000 0:376386a54a3c
1 ;;!emacs
2 ;;
3 ;; FILE: hui-menu.el
4 ;; SUMMARY: InfoDock/Emacs menubar menu of Hyperbole commands.
5 ;; USAGE: GNU Emacs Lisp Library
6 ;; KEYWORDS: hypermedia, mouse
7 ;;
8 ;; AUTHOR: Bob Weiner
9 ;; ORG: Motorola, Inc., PPG
10 ;;
11 ;; ORIG-DATE: 28-Oct-94 at 10:59:44
12 ;; LAST-MOD: 26-Oct-95 at 23:10:38 by Bob Weiner
13 ;;
14 ;; Copyright (C) 1994-1995 Free Software Foundation, Inc.
15 ;;
16 ;; This file is part of Hyperbole.
17 ;;
18 ;; DESCRIPTION:
19 ;; DESCRIP-END.
20
21 ;;; ************************************************************************
22 ;;; Other required Elisp libraries
23 ;;; ************************************************************************
24
25 (require 'wrolo-menu)
26
27 ;;; ************************************************************************
28 ;;; Public functions
29 ;;; ************************************************************************
30
31 ;; Add Hyperbole menu to menubar.
32 (defun hyperbole-menubar-menu ()
33 "Add the Hyperbole menu to the global menubar."
34 (if hyperb:emacs19-p (require 'lmenu))
35 (if (and (boundp 'current-menubar)
36 (or hyperb:emacs19-p current-menubar)
37 (not (car (find-menu-item current-menubar '("Hyperbole")))))
38 (let ((add-before (if (and (boundp 'infodock-menubar-type)
39 (eq infodock-menubar-type 'menubar-infodock))
40 "Key" nil)))
41 (if (fboundp 'add-submenu)
42 (add-submenu nil infodock-hyperbole-menu add-before)
43 (add-menu nil (car infodock-hyperbole-menu)
44 (cdr infodock-hyperbole-menu) add-before)))))
45
46 ;;; ************************************************************************
47 ;;; Public variables
48 ;;; ************************************************************************
49
50 ;;; Don't change this name; doing so will break the way InfoDock
51 ;;; initializes the Hyperbole menu.
52 (defconst infodock-hyperbole-menu
53 (delq nil
54 (list
55 "Hyperbole"
56 '["Browse-Manual" (id-info "(hyperbole.info)Top") t]
57 "----"
58 '["Activate-Button-at-Point" hui:hbut-act t]
59 '["Back-to-Prior-Location" (hhist:remove current-prefix-arg) t]
60 '("Button-File"
61 ["Manual" (id-info "(hyperbole.info)Button Files") t]
62 "----"
63 ["Edit-Per-Directory-File" (find-file hbmap:filename) t]
64 ["Edit-Personal-File" (find-file
65 (expand-file-name
66 hbmap:filename hbmap:dir-user)) t]
67 )
68 '("Documentation"
69 ["Manual" (id-info "(hyperbole.info)Top") t]
70 "----"
71 ["Copyright" (id-info "(hyperbole.info)Top") t]
72 ["Demonstration" (find-file-read-only
73 (expand-file-name "DEMO" hyperb:dir)) t]
74 ["Manifest" (find-file-read-only
75 (expand-file-name "MANIFEST" hyperb:dir)) t]
76 ["Glossary" (id-info "(hyperbole.info)Glossary") t]
77 ["Mail-Lists" (id-info "(hyperbole.info)Mail Lists") t]
78 ["New-Features" (progn
79 (hact 'link-to-regexp-match
80 "\\*[ \t]+What's New" 2
81 (expand-file-name "README" hyperb:dir))
82 (setq buffer-read-only nil)
83 (toggle-read-only)) t]
84 ["Smart-Key-Summary" (id-browse-file (hypb:mouse-help-file)) t]
85 )
86 '("Explicit-Button"
87 ["Manual" (id-info "(hyperbole.info)Explicit Buttons") t]
88 "----"
89 ["Activate-at-Point" hui:hbut-act t]
90 ["Create" hui:ebut-create t]
91 ["Delete" hui:ebut-delete t]
92 ["Edit" hui:ebut-modify t]
93 ("Help"
94 ["Manual" (id-info "(hyperbole.info)Location") t]
95 "----"
96 ["Buffer-Buttons" (hui:hbut-report -1) t]
97 ["Current-Button" (hui:hbut-report) t]
98 ["Ordered-Buttons" (hui:hbut-report 1) t]
99 )
100 ["Modify" hui:ebut-modify t]
101 ["Rename" hui:ebut-rename t]
102 ["Search" hui:ebut-search t]
103 )
104 '("Global-Button"
105 ["Manual" (id-info "(hyperbole.info)Global Buttons") t]
106 "----"
107 ["Activate" gbut:act t]
108 ["Create" hui:gbut-create t]
109 ["Edit" hui:gbut-modify t]
110 ["Help" gbut:help t]
111 ["Modify" hui:gbut-modify t]
112 )
113 '("Implicit-Button"
114 ["Manual" (id-info "(hyperbole.info)Implicit Buttons") t]
115 "----"
116 ["Activate-at-Point" hui:hbut-act t]
117 ["Delete-Type" (hui:htype-delete 'ibtypes) t]
118 ["Help" hui:hbut-help t]
119 ["Types" (hui:htype-help 'ibtypes 'no-sort) t]
120 )
121 '("Mail-Lists"
122 ["Manual" (id-info "(hyperbole.info)Suggestion or Bug Reporting")
123 t]
124 "----"
125 ["Change-Hyperbole-Address"
126 (hmail:compose "hyperbole-request@hub.ucsb.edu"
127 '(hact 'hyp-request)) t]
128 ["Change-Hyperbole-Announce-Address"
129 (hmail:compose "hyperbole-request@hub.ucsb.edu"
130 '(hact 'hyp-request)) t]
131 ["Mail-to-Hyperbole-List"
132 (hmail:compose "hyperbole@hub.ucsb.edu" '(hact 'hyp-config)) t]
133 )
134 (if hyperb:kotl-p
135 '("Outline"
136 ["Manual" (id-info "(hyperbole.info)Outliner") t]
137 ["Example" (find-file-read-only
138 (expand-file-name
139 "EXAMPLE.kotl" (concat hyperb:dir "kotl/")))
140 t]
141 "----"
142 ["Create-File" kfile:find t]
143 ["View-File" kfile:view t]
144 "----"
145 ["Collapse-Tree" (progn (kotl-mode:is-p)
146 (kotl-mode:hide-tree
147 (kcell-view:label))) t]
148 ["Create-Link" klink:create t]
149 ["Expand-All-Trees" kotl-mode:show-all t]
150 ["Expand-Tree" (progn (kotl-mode:is-p)
151 (kotl-mode:show-tree
152 (kcell-view:label))) t]
153 ["Show-Top-Level-Only" kotl-mode:hide-body t]
154 ))
155 infodock-wrolo-menu
156 '("Types"
157 ["Action-Types-Manual"
158 (id-info "(hyperbole.info)Action Types") t]
159 ["Implicit-Button-Types-Manual"
160 (id-info "(hyperbole.info)Implicit Buttons") t]
161 "----"
162 ["Action-Types" (hui:htype-help 'actypes) t]
163 ["Implicit-Button-Types" (hui:htype-help 'ibtypes 'no-sort) t]
164 )
165 '("Window-Configuration"
166 ["Manual" (id-info "(hyperbole.info)Window Configurations") t]
167 "----"
168 ["Name-Configuration" wconfig-add-by-name t]
169 ["Delete-Name" wconfig-delete-by-name t]
170 ["Restore-Name" wconfig-restore-by-name t]
171 "----"
172 ["Pop-from-Ring" wconfig-delete-pop t]
173 ["Save-to-Ring" wconfig-ring-save t]
174 ["Yank-from-Ring" wconfig-yank-pop t]
175 )
176 '["Quit" (progn
177 ;; Delete Hyperbole menu item from all menubars.
178 (mapcar
179 (function
180 (lambda (buf)
181 (set-buffer buf)
182 (if (assoc "Hyperbole" current-menubar)
183 (delete-menu-item '("Hyperbole")))))
184 (buffer-list))
185 ;;
186 ;; Remove Hyperbole button comment from future
187 ;; outgoing mail.
188 (if (boundp 'smail:comment)
189 (setq smail:comment "")))
190 t]
191 )))
192
193 ;;; ************************************************************************
194 ;;; Private variables
195 ;;; ************************************************************************
196
197 (provide 'hui-menu)