CLIM 2.0 User's Guide


Copyright and Trademarks
Preface
About the User's Guide
Notational Conventions
Chapter 1 - Using CLIM
1.1 - Conceptual Overview
1.2 - Highlights of Tools and Techniques
1.3 - How CLIM Helps You Achieve a Portable User Interface
1.4 - What Is CLIM?
1.4.1 - The Core of CLIM
1.4.1.1 - Application Frames
1.4.1.2 - Panes
1.4.1.3 - Sheets
1.4.1.4 - Enabling Input and Output
1.4.1.5 - Graphics
1.4.1.6 - Text
1.4.1.7 - Events
1.4.1.8 - Mediums
1.4.2 - CLIM Facilities
1.4.2.1 - Look and Feel
1.4.2.2 - Controlling Look and Feel
1.4.2.3 - Streams
1.4.2.4 - Extended Input and Output
1.4.2.5 - Presentations
1.4.2.6 - Command Loop
1.4.3 - Summary
1.5 - Testing Code Examples in Liquid CLIM
Chapter 2 - Drawing Graphics
2.1 - Conceptual Overview of Drawing Graphics
2.1.1 - Drawing Functions and Options
2.1.2 - The Drawing Plane
2.1.3 - Coordinates
2.1.4 - Mediums, Sheets, and Streams
2.2 - Examples of Using CLIM Drawing Functions
2.3 - CLIM Drawing Functions
2.3.1 - Arguments
2.3.2 - Compound Drawing Functions
2.3.3 - Patterns and Stencils
2.3.4 - Pixmaps
2.4 - Graphics Protocols
2.4.1 - Arguments
2.4.2 - General Behavior of Drawing Functions
2.4.3 - Medium-Specific Drawing Functions
2.5 - General Geometric Objects in CLIM
2.5.1 - Regions in CLIM
2.5.1.1 - Region Predicates in CLIM
2.5.1.2 - Composition of CLIM Regions
2.5.2 - CLIM Point Objects
2.5.3 - Polygons and Polylines in CLIM
2.5.3.1 - Constructors for CLIM Polygons and Polylines
2.5.3.2 - Accessors for CLIM Polygons and Polylines
2.5.4 - Lines in CLIM
2.5.5 - Rectangles in CLIM
2.5.6 - Ellipses and Elliptical Arcs in CLIM
2.5.6.1 - Constructor Functions for Ellipses and Elliptical Arcs in CLIM
2.5.6.2 - Accessors for CLIM Elliptical Objects
2.5.7 - Bounding Rectangles
2.5.7.1 - The Bounding Rectangle Protocol
2.5.7.2 - Bounding Rectangle Convenience Functions
Chapter 3 - The CLIM Drawing Environment
3.1 - CLIM Mediums
3.2 - Using CLIM Drawing Options
3.2.1 - Set of CLIM Drawing Options
3.2.2 - Using the :filled Option
3.3 - CLIM Line Styles
3.4 - Transformations in CLIM
3.5 - The Transformations Used by CLIM
3.5.1 - CLIM Transformation Constructors
3.5.2 - CLIM Transformation Protocol
3.5.3 - CLIM Transformation Predicates
3.5.4 - CLIM Transformation Functions
3.5.5 - Applying CLIM Transformations
Chapter 4 - Text Styles
4.1 - Conceptual Overview of Text Styles
4.2 - CLIM Text Style Objects
4.3 - CLIM Text Style Functions
4.4 - Text Style Binding Forms
4.5 - Controlling Text Style Mappings
Chapter 5 - Drawing in Color
5.1 - Conceptual Overview of Drawing With Color
5.1.1 - Color Objects
5.1.2 - Rendering
5.2 - CLIM Operators for Drawing in Color
5.3 - Predefined Color Names in LispWorks CLIM
5.4 - Predefined Color Names in Liquid CLIM
5.5 - Indirect Inks
5.6 - Flipping Ink
5.7 - Examples of Simple Drawing Effects
5.7.1 - Using Flipping Ink
Chapter 6 - Presentation Types
6.1 - Conceptual Overview of CLIM Presentation Types
6.1.1 - User Interaction With Application Objects
6.1.2 - Presentations and Presentation Types
6.1.3 - Output With Its Semantics Attached
6.1.4 - Input Context
6.1.5 - Inheritance
6.1.6 - Presentation Translators
6.1.7 - What the Application Programmer Does
6.2 - How to Specify a CLIM Presentation Type
6.3 - Using CLIM Presentation Types for Output
6.3.1 - CLOS Operators
6.3.2 - Additional Functions for Operating on Presentations in CLIM
6.4 - Using CLIM Presentation Types for Input
6.5 - Predefined Presentation Types
6.5.1 - Basic Presentation Types
6.5.2 - Numeric Presentation Types
6.5.3 - Character and String Presentation Types
6.5.4 - Pathname Presentation Types
6.5.5 - One-Of and Some-Of Presentation Types
6.5.6 - Sequence Presentation Types
6.5.7 - Constructor Presentation Types
6.5.8 - Compound Presentation Types
6.5.9 - Command and Form Presentation Types
6.6 - Functions That Operate on CLIM Presentation Types
Chapter 7 - Defining a New Presentation Type
7.1 - Conceptual Overview of Defining a New Presentation Type
7.1.1 - CLIM Presentation Type Inheritance
7.1.2 - Defining an Accept for a Structure With Several Fields
7.2 - CLIM Operators for Defining New Presentation Types
7.2.1 - Presentation Methods in CLIM
7.2.2 - CLIM Operators for Defining Presentation Type Abbreviations
7.3 - Using Views With CLIM Presentation Types
7.4 - Advanced Topics
Chapter 8 - Presentation Translators in CLIM
8.1 - Conceptual Overview of Presentation Translators
8.2 - Applicability of CLIM Presentation Translators
8.2.1 - Input Contexts in CLIM
8.2.2 - Nested Presentations in CLIM
8.3 - Pointer Gestures in CLIM
8.4 - CLIM Operators for Defining Presentation Translators
8.5 - Examples of Defining Presentation Translators in CLIM
8.5.1 - Defining a Translation from Floating Point Number to Integer
8.5.2 - Defining a Presentation-to-Command Translator
8.5.3 - Defining Presentation Translators for the Blank Area
8.5.4 - Defining a Presentation Action
8.6 - Advanced Topics
Chapter 9 - Defining Application Frames
9.1 - Conceptual Overview of CLIM Application Frames
9.2 - Defining CLIM Application Frames
9.2.1 - The Application Frame Protocol
9.2.2 - Using the :pane Option
9.2.3 - Using the :panes and :layouts Options
9.2.4 - Example of the :pane Option to define-application-frame
9.2.5 - Examples of the :panes and :layout Options to define-application-frame
9.2.6 - Using an :accept-values Pane in a CLIM Application Frame
9.3 - Initializing CLIM Application Frames
9.4 - Accessing Slots and Components of CLIM Application Frames
9.5 - Running a CLIM Application
9.6 - Exiting a CLIM Application
9.7 - Examples of CLIM Application Frames
9.7.1 - Defining a CLIM Application Frame
9.7.2 - Constructing a Function as Part of Running an Application
9.8 - Application Frame Operators and Accessors
9.8.1 - CLIM Application Frame Accessors
9.8.2 - Operators for Running CLIM Applications
9.9 - Frame Managers
9.9.1 - Finding Frame Managers
9.9.2 - Frame Manager Operators
9.10 - Advanced Topics
Chapter 10 - Panes and Gadgets
10.1 - Panes
10.1.1 - Basic Pane Construction
10.1.2 - Pane Initialization Options
10.1.3 - Pane Properties
10.2 - Layout Panes
10.2.1 - Layout Pane Options
10.2.2 - Layout Pane Classes
10.2.3 - Composite Pane Generic Functions
10.2.4 - The Layout Protocol
10.3 - Extended Stream Panes
10.3.1 - Extended Stream Pane Options
10.3.2 - Extended Stream Pane Classes
10.3.3 - Making CLIM Extended Stream Panes
10.4 - Defining A New Pane Type: Leaf Panes
10.5 - Gadgets
10.5.1 - Abstract Gadgets
10.5.1.1 - Using Gadgets
10.5.1.2 - Implementing Gadgets
10.5.2 - Basic Gadget Classes
10.5.3 - Abstract Gadget Classes
10.5.3.1 - The Label Gadget
10.5.3.2 - The List-Pane and Option-Pane Gadgets
10.5.3.3 - The Menu-Button Gadget
10.5.3.4 - The Push-Button Gadget
10.5.3.5 - The Radio-Box and Check-Box Gadgets
10.5.3.6 - The Scroll-Bar Gadget
10.5.3.7 - The Slider Gadget
10.5.3.8 - The Text-Field and Text-Editor Gadgets
10.5.3.9 - The Toggle-Button Gadget
10.5.4 - Integrating Gadgets and Output Records
Chapter 11 - Commands
11.1 - Introduction to CLIM Commands
11.2 - Defining Commands the Easy Way
11.2.1 - Command Names and Command Line Names
11.2.2 - The Command-Defining Macro
11.3 - Command Objects
11.4 - CLIM Command Tables
11.5 - CLIM Predefined Command Tables
11.6 - Conditions Relating to CLIM Command Tables
11.7 - Styles of Interaction Supported by CLIM
11.8 - Command-Related Presentation Types
11.9 - The CLIM Command Processor
11.10 - Advanced Topics
11.10.1 - CLIM Command Tables
11.10.2 - CLIM Command Menu Interaction Style
11.10.3 - Mouse Interaction Via Presentation Translators
11.10.4 - CLIM Command Line Interaction Style
11.10.5 - CLIM Keystroke Interaction Style
11.10.6 - The CLIM Command Processor
Chapter 12 - Menus and Dialogs
12.1 - Conceptual Overview of Menus and Dialogs
12.2 - CLIM Menu Operators
12.3 - CLIM Dialog Operators
12.4 - Examples of Menus and Dialogs in CLIM
12.4.1 - Using accepting-values
12.4.2 - Using accept-values-command-button
12.4.3 - Using :resynchronize-every-pass in accepting-values
12.4.4 - Using the third value from accept in accepting-values
12.4.5 - Using menu-choose
12.4.6 - Using menu-choose-from-drawer
Chapter 13 - Extended Stream Output Facilities
13.1 - Basic Output Streams
13.2 - Extended Output Streams
13.3 - The Text Cursor
13.3.1 - The Text Cursor Protocol
13.3.2 - The Stream Text Cursor Protocol
13.4 - Text
13.4.1 - The Text Protocol
13.4.2 - Mixing Text and Graphics
13.4.3 - Wrapping Text Lines
13.5 - Attracting the User's Attention
13.6 - Buffering Output
13.7 - CLIM Window Stream Pane Functions
Chapter 14 - Output Recording and Redisplay
14.1 - Conceptual Overview of Output Recording
14.2 - CLIM Operators for Output Recording
14.2.1 - The Basic Output Record Protocol
14.2.2 - The Output Record "Database" Protocol
14.2.3 - Types of Output Records
14.2.3.1 - Standard Output Record Classes
14.2.3.2 - Graphics Displayed Output Records
14.2.3.3 - Text Displayed Output Records
14.2.3.4 - Top-Level Output Records
14.2.4 - Output Recording Streams
14.2.4.1 - The Output Recording Stream Protocol
14.2.4.2 - Graphics Output Recording
14.2.4.3 - Text Output Recording
14.2.4.4 - Output Recording Utilities
14.3 - Conceptual Overview of Incremental Redisplay
14.4 - CLIM Operators for Incremental Redisplay
14.5 - Using updating-output
14.6 - Example of Incremental Redisplay in CLIM
Chapter 15 - Extended Stream Input Facilities
15.1 - Basic Input Streams
15.2 - Extended Input Streams
15.2.1 - The Extended Input Stream Protocol
15.2.2 - Extended Input Stream Conditions
15.3 - Gestures and Gesture Names
15.4 - The Pointer Protocol
15.5 - Pointer Tracking
Chapter 16 - Input Editing and Completion Facilities
16.1 - Input Editing
16.1.1 - Operators for Input Editing
16.1.2 - Input Editor Commands
16.2 - Activation and Delimiter Gestures
16.3 - Signalling Errors Inside accept Methods
16.4 - Reading and Writing Tokens
16.5 - Completion
16.6 - Using with-accept-help: some examples
16.7 - Advanced Topics
Chapter 17 - Formatted Output
17.1 - Formatting Tables in CLIM
17.1.1 - Conceptual Overview of Formatting Tables
17.1.2 - CLIM Operators for Formatting Tables
17.1.3 - Examples of Formatting Tables
17.1.3.1 - Formatting a Table From a List
17.1.3.2 - Formatting a Table Representing a Calendar Month
17.1.3.3 - Formatting a Table With Regular Graphic Elements
17.1.3.4 - Formatting a Table With Irregular Graphics in the Cells
17.1.3.5 - Formatting a Table of a Sequence of Items
17.2 - Formatting Graphs in CLIM
17.2.1 - Conceptual Overview of Formatting Graphs
17.2.2 - CLIM Operators for Graph Formatting
17.2.3 - Examples of CLIM Graph Formatting
17.3 - Formatting Text in CLIM
17.4 - Bordered Output in CLIM
17.5 - Advanced Topics
17.5.1 - The Table Formatting Protocol
17.5.1.1 - The Row and Column Formatting Protocol
17.5.1.2 - The Cell Formatting Protocol
17.5.2 - The Item List Formatting Protocol
17.5.3 - The Graph Formatting Protocol
Chapter 18 - Sheets
18.1 - Overview of Window Facilities
18.1.1 - Properties of Sheets
18.1.2 - Sheet Protocols
18.2 - Basic Sheet Classes
18.3 - Relationships Between Sheets
18.3.1 - Sheet Relationship Functions
18.3.2 - Sheet Genealogy Classes
18.4 - Sheet Geometry
18.4.1 - Sheet Geometry Functions
18.4.2 - Sheet Geometry Classes
18.5 - Sheet Protocols: Input
18.5.1 - Input Protocol Functions
18.5.2 - Input Protocol Classes
18.6 - Standard Device Events
18.7 - Sheet Protocols: Output
18.7.1 - Mediums and Output Properties
18.7.2 - Output Protocol Functions
18.7.3 - Output Protocol Classes
18.7.4 - Associating a Medium With a Sheet
18.8 - Repaint Protocol
18.8.1 - Repaint Protocol Functions
18.8.2 - Repaint Protocol Classes
18.9 - Sheet Notification Protocol
18.9.1 - Relationship to Window System Change Notifications
18.9.2 - Sheet Geometry Notifications
Chapter 19 - Ports, Grafts, and Mirrored Sheets
19.1 - Introduction
19.2 - Ports
19.3 - Grafts
19.4 - Mirrors and Mirrored Sheets
19.4.1 - Mirror Functions
19.4.2 - Internal Interfaces for Native Coordinates
Appendix A - Glossary
Appendix B - Implementation Specifics
B.1 - Setting Up Your Packages to Use CLIM
B.2 - CLIM Packages
B.3 - Liquid CLIM Specifics
Appendix C - The CLIM-SYS Package
C.1 - Resources
C.2 - Multi-Processing
C.3 - Locks
C.4 - Multiple-Value Setf
Appendix D - LispWorks CLIM and CAPI
Appendix E - Liquid CLIM and Motif
Appendix F - Common Lisp Streams
F.1 - Stream Classes
F.2 - Basic Stream Functions
F.3 - Character Input
F.4 - Character Output
F.5 - Binary Streams
F.6 - Hardcopy Streams in CLIM
Appendix G - Windows
G.1 - Window Stream Operations in CLIM
G.1.1 - Clearing and Refreshing the Drawing Plane
G.1.2 - The Viewport and Scrolling
G.1.3 - Viewport and Scrolling Operators
G.2 - Functions for Operating on Windows Directly
Index

CLIM 2.0 User's Guide - OCT 1998

Generated with Harlequin WebMaker