1
0
mirror of synced 2026-01-12 00:42:56 +00:00
Interlisp.medley/rooms/TOUCHY-BUTTONS.TEDIT
2020-12-13 17:54:28 -07:00

10 lines
4.0 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

ROOMS USERS' TOUCHY-BUTTONS
2
4
1
TOUCHY BUTTONS
1
4
By: Ramana Rao (Rao.pa)
Uses: Rooms
This document last edited on January 22, 88.
INTRODUCTION
This Rooms Users Package provides a number of "touchy" buttons i.e. buttons that visually depend on the state of the world and change the state of the world when touched. Right now I provide three types of touchy buttons: includer, toggler, and once-only. You can make a touchy button by calling rooms::make-<touchy-type>. I will take suggestions for any others that people think may be useful since I'm trying to abstract the touchy technology.
BUTTON CONSTRUCTORS
(ROOMS::MAKE-INCLUDER ROOM-NAME) [Function]
Includers allow you to conveniently mixin or mixout rooms. For example, you can have "Notecards-Mixin" and "Programming-Mixin" Rooms and have includer buttons in your personal "Pockets." Then you can include these functionality traits whenever you need them no matter the room.
(ROOMS::MAKE-TOGGLER VARIABLE-NAME) [Function]
Toggle buttons allow you to toggle boolean variables. This should obviously be generalized to something that allows you to select or circulate through value settings.
(ROOMS::MAKE-ONCE-ONLY FORM INITIAL-TEXT FINAL-TEXT) [Function]
A once-only button evaluates a form exactly once in a sysout and then displays that it is exhausted. For Example:
(ROOMS::MAKE-ONCE-ONLY (IL:PROMPTPRINT "Hello, World") "Fire..." "Exhausted")
(LIST ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "") STARTINGPAGE# 8) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL)))))2<01><01>2<01><01>,<01>,<00><00>8,<00><00>8H<01><01> PAGEHEADING RUNNINGHEADMODERN TERMINAL
 HELVETICA
MODERN
MODERN
MODERN MODERNMODERN
  HRULE.GETFNMODERN
 HRULE.GETFNMODERN
 HRULE.GETFNMODERN
 HRULE.GETFNMODERN  HRULE.GETFNMODERN  , <01> 


<00>
sN<05>Cz<43>