LispWorks CAPI User Guide

NextPrevTopIndex

Contents

Preface

1 Introduction to the CAPI

1.1 What is the CAPI?

1.2 The history of the CAPI

1.3 The CAPI model

1.3.1 CAPI Classes

2 Getting Started

2.1 Using the CAPI package

2.2 Creating a window

2.3 Linking code into CAPI elements

3 General Considerations

3.1 The correct thread for CAPI operations

3.2 Properties of the host window system

3.2.1 Using Windows themes

3.2.2 Matching resources

3.2.2.1 Matching resources on GTK+

3.2.2.2 Matching resources on X11/Motif

3.2.2.3 Resources for LispWorks CAPI applications

3.2.2.4 X resources for in-place completion windows

3.2.3 The break gesture

3.3 Using Motif

3.3.1 Using Motif on Linux, FreeBSD and x86/x64 Solaris

3.3.2 Using Motif on Macintosh

3.3.3 Using Motif on SPARC Solaris and HP-UX

4 Creating Common Windows

4.1 Generic properties

4.1.1 Scroll bars

4.1.2 Background and foreground colors

4.1.3 Fonts

4.1.4 Mnemonics

4.1.4.1 Controlling Mnemonics

4.1.4.2 Mnemonics on Microsoft Windows

4.2 Specifying titles

4.2.1 Title panes

4.2.2 Specifying titles directly

4.2.2.1 Window titles

4.2.2.2 Titles for elements

4.3 Displaying and entering text

4.3.1 Display panes

4.3.2 Text input panes

4.3.3 Editor panes

4.4 Stream panes

4.4.1 Collector panes

4.4.2 Interactive streams

4.4.3 Listener panes

4.5 Miscellaneous button elements

4.5.1 Push buttons

4.5.2 Check buttons

4.5.3 Radio buttons

4.5.4 Mnemonics in buttons

4.6 Adding a toolbar to an interface

5 Choices

5.1 Choice classes

5.1.1 Push button panels

5.1.2 Radio button panels

5.1.3 Check button panels

5.1.4 Mnemonics in button panels

5.2 List panels

5.2.1 List interaction

5.2.2 Extended selection

5.2.3 Deselection, retraction, and actions

5.2.4 Selections

5.2.5 Filters

5.3 Graph panes

5.4 Option panes

5.4.1 Option panes with images

5.5 Text input choice

5.6 Menu components

5.7 General properties of choices

5.7.1 Interaction

5.7.2 Selections

5.7.3 Callbacks

6 Laying Out CAPI Panes

6.1 Organizing panes in columns and rows

6.2 Other types of layout

6.2.1 Grid layouts

6.2.2 Simple layouts

6.2.3 Pinboard layouts

6.3 Combining different layouts

6.4 Constraining the size of layouts

6.4.1 Default Constraints

6.4.2 Width and Height Constraints

6.4.3 Constraint Formats

6.4.3.1 Character contraints

6.4.3.2 Changing the constraints

6.4.3.3 String constraints

6.5 Advanced pane layouts

6.5.1 Switchable layouts

6.5.2 Tab layouts

6.5.3 Dividers and separators

6.5.4 Multiple-Document Interface (MDI)

7 Modifying CAPI Windows

7.1 Initialization

7.2 Resizing

7.3 Scrolling

7.3.1 Automatic scrolling

7.4 Swapping panes and layouts

7.5 Setting the data in a pane

7.6 Iconifying and restoring windows

7.7 Destroying

8 Creating Menus

8.1 Creating a menu

8.2 Grouping menu items together

8.3 Creating individual menu items

8.4 The CAPI menu hierarchy

8.5 Mnemonics in menus

8.6 Alternative menu items

8.7 Disabling menu items

8.7.1 Dialogs and disabled menu items

8.8 Menus with images

8.9 Popup menus for panes

9 Defining Interface Classes

9.1 The define-interface macro

9.2 An example interface

9.2.1 How the example works

9.3 Adapting the example

9.3.1 Adding menus

9.4 Connecting an interface to an application

9.5 Controlling the interface title

10 Prompting for Input

10.1 Some simple dialogs

10.2 Prompting for values

10.2.1 Prompting for strings

10.2.2 Prompting for numbers

10.2.3 Prompting for an item in a list

10.2.4 Prompting for files

10.2.5 Prompting for fonts

10.2.6 Prompting for colors

10.2.7 Prompting for Lisp objects

10.3 Window-modal Cocoa dialogs

10.3.1 The :continuation argument

10.3.2 A dialog which is window-modal on Cocoa

10.4 Dialog Owners

10.4.1 The default owner

10.4.2 Specifying the owner

10.5 Creating your own dialogs

10.5.1 Using display-dialog

10.5.2 Using popup-confirmer

10.5.3 Modal and non-modal dialogs

10.6 In-place completion

10.6.1 In-place completion in the LispWorks IDE

10.6.2 Programmatic control of in-place completion

10.6.2.1 Text input panes

10.6.2.2 Editor panes

10.6.2.3 Other CAPI panes

11 Creating Your Own Panes

11.1 Displaying graphics

11.2 Receiving input from the user

11.3 Creating graphical objects

11.3.1 Buffered drawing

11.3.2 The implementation of graph panes

11.3.3 An example pinboard object

12 Graphics Ports

12.1 Introduction

12.1.1 The package

12.1.2 The system

12.1.3 Creating instances

12.2 Features

12.3 Graphics state

12.3.1 Setting the graphics state

12.4 Graphics state transforms

12.4.1 Generalized points

12.4.2 Drawing functions

12.5 Graphics state operation

12.6 Pixmap graphics ports

12.6.1 Relative drawing in pixmap graphics ports

12.7 Portable font descriptions

12.7.1 Font attributes and font descriptions

12.7.2 Fonts

12.8 Working with images

12.8.1 Supported image types

12.8.2 External images

12.8.2.1 Transparency

12.8.2.2 Converting an external image

12.8.3 Registering images

12.8.4 Loading images

12.8.5 Querying image dimensions

12.8.6 Drawing images

12.8.7 Image access

12.8.8 Creating external images from Graphics Ports operations

13 The Color System

13.1 Introduction

13.1.1 Rendering of colors

13.2 Reading the color database

13.3 Color specs

13.4 Color aliases

13.5 Color models

13.6 Loading the color database

13.7 Defining new color models

14 Printing from the CAPI--the Hardcopy API

14.1 Printers

14.1.1 Standard shortcut keys in printer dialogs

14.2 Printer definition files

14.3 PPD files

14.4 Print jobs

14.5 Handling pages--page on demand printing

14.6 Handling pages--page sequential printing

14.7 Printing a page

14.7.1 Establishing a page transform

14.8 Other printing functions

Index

 


LispWorks CAPI User Guide (Unix version) - 22 Dec 2009

NextPrevTopIndex