diff options
| author | David Aspinall | 2001-09-03 21:34:54 +0000 |
|---|---|---|
| committer | David Aspinall | 2001-09-03 21:34:54 +0000 |
| commit | 2cab60a0c0d886c9260ec69485ba4c1af4afa6e2 (patch) | |
| tree | d131d41b271a13fb9acb8b2fafaeaad9413265b3 | |
| parent | 061347349e4495e663b08e2b1631a83ab5b1c1e7 (diff) | |
Generalise context menu for other spans; grey out show/hide when unavailable.
| -rw-r--r-- | generic/pg-user.el | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/generic/pg-user.el b/generic/pg-user.el index 158ce9c8..acf74e54 100644 --- a/generic/pg-user.el +++ b/generic/pg-user.el @@ -712,15 +712,24 @@ last use time, to discourage saving these into the users database." (while (setq cspan (span-property span 'controlspan)) (setq span cspan)) (let* - ((idiom (symbol-name (span-property span 'idiom))) - (portname (span-property span 'name))) - (popup-menu (pg-create-in-span-context-menu span idiom portname))))) + ((idiom (span-property span 'idiom)) + (idiomnm (if idiom (symbol-name idiom))) + (portname (span-property span 'name))) + (popup-menu (pg-create-in-span-context-menu span idiomnm portname))))) (defun pg-create-in-span-context-menu (span idiom name) + "Create the dynamic context-sensitive menu for a span." + ;; FIXME: performance here, consider caching in the span itself? + ;; (or maybe larger menu spans which are associated with a menu). + ;; FIXME: treat proof and non-proof regions alike, could add + ;; visibility controls for non-proof regions also, redesigning + ;; idiom notion. (append - (list (concat (if idiom (upcase-initials idiom)) (if name (concat ": " name)))) + (list (pg-span-name span)) (list (vector - "Show/hide" (list 'pg-toggle-element-visibility idiom name) idiom)) + "Show/hide" + (if idiom (list 'pg-toggle-element-visibility idiom name) idiom) + (not (not idiom)))) (list (vector "Copy" (list 'pg-copy-span-contents span) t)) (if (featurep 'proof-depends) |
