Contents


Preface
Guide to Desktop Framework Concepts
CommonPoint information set
Getting started
Taxonomy
Developer guides
Usage and tools guidelines
Application documentation
Documented sample programs and sample code
Installation and late-breaking information
Typographical conventions
Reading notation diagrams
Basic Document framework concepts
Basic documents
Elements of document management
Cycle of document management
Document session
Document session responsibilities
Document registry
Functors and commands: accessing and changing document data
Functors
Commands
Command state machine
Characteristics of commands
Semantics of commands
Do
Incremental Do
DoEnd
Undo
Command bindings
Storing information
Filing vs. streaming
Filing in a document
Saving data
Layering of the storage classes
Ownership of storage mechanisms
Accessing storage mechanism and storage bins
Handling exceptions
Classes that define a document
Document classes
Classes derived from TAbstractDocument
Process control classes within the document family
Storage classes
TStore class family
TStorageMechanism class family
TStorageBin class family
Command classes
Place classes
Presentation classes
Input system
General event mechanisms
Creating and deleting input devices
How input devices work
The structure of an event
How an event is sent
Surrogate event senders
How events are created
Event distribution policies
Receiving events
Writing your own event receiver
Mixin classes
MEventTarget
MEventDistributor
MSimpleEventTarget and TSimpleEventDistributor
MEventReceiver
Mouse Events
MouseEventHandler
Using MMouseEventHandler
Tracking multiple clicks
Determining a mouse event's position
Getting global or relative coordinates
Detecting mouse motion
Detecting entry and exit to a view
Keyboard Events
Handling input from the keyboard
Determining the state of modifier keys
Distributing keyboard events
Interactors
Gestures
TInteractors and input devices
Deriving a subclass
Activation and deactivation of TInteractors
Event receiver handles
Event receiver surrogates
TInteractors and mouse and keyboard events
Interactors and keyboard event distribution
Tracking mouse exits and entries with TInteractors
Tracking continuous mouse motion with TInteractors
Notification framework
Notification concepts
Key actors in notification
Senders and receivers
A typical example
Optimizing using batched notification
Senders can share a notifier implementation
Synchronous versus asynchronous notification
Remote notification
Primary notification classes
Notifier classes
Connection classes
Interest classes
Notification classes
Using simple notification
Writing the sender
Writing the receiver
Sending custom notifications
Custom notification
Sender declares its use of the notification and issues it appropriately
Receiver utilizes the extra information
Creating batched notifications
Sender brackets notifications
Receiver customizes for batching
Using custom interests
TShape identifies a portion of the data
Deriving TShapeInterest
TShapeList exports the protocol and notifies appropriately
TSpecialShapeView responds to notifications on a single shape
Notification across task boundaries
Notification classes for notification across tasks
Sample remote notification setup
View System concepts
Views and the View System
Views
View hierarchies
The View System
View roots
Single-threaded concurrency model
Requests, request queues, and request handlers
Handling user input
Mouse events
Keyboard events
Drawing
Drawing and Refreshing
Drawing by invalidation
View layout
Bounds and allocated area
Managing multiple threads
GUI Application framework concepts
Windows and frames
Window groups
Controls
Control bounds and color
Visual states
Control layout
Control labelling
Control states
Control interactors
Momentary controls
Boolean controls
Boolean control groups
Floating-point controls
Text entry controls
List controls
Spin buttons
Drop down text controls
Scrolling support
Scrolling coordinator
Scrolling requests
Scroll bars
Menus
Menu controls
Submenus
Pop-up menus
Action framework
Action control states
Drag and Drop framework
Drag source
Drop acceptor
Drag and drop items
Layout Views
Dialog Support
Label View, Labels, and Decorations
Labels
Presentation and Compound Document framework concepts
Compound documents
Document components
Document components as containers
Separation of data
Models
Presenter states
Embedding a component
Embedding data-- both foreign and native
Models in detail
Types of models
Types of data within a model
Storing data from a model
Editing data in a model
Integrating document components with documents
Objects for managing and presenting data
Embedding and presentation structures
Embedding a model
Adding a model to the embedding hierarchy
Persistence of objects
Concurrency and hierarchical locking
Persistence of lock
Using selections
Selection creation and deletion
Types of specification
Accessing component data
Granularity of selection
Selections and concurrency
Mixins and command suites
Using commands with selections
MDataExchanger mixin
Data exchange command suite
Two types of data exchange
Examples of data exchange
Anchor markers and links
Anchor markers
Operations on anchor markers
Anchor marker creation and deletion
Types of anchor markers
Links
Link creation
Link deletion
Operations on links
Commands on links
Types of links
Directionality of links
Errors on links
Document sharing--synchronous collaboration
Publishing a collaboration
Joining a collaboration
Adding support for collaboration
Notifications and interests
Information flow
Order of events
Types of notifications
Time stamps and models
Attributes and styles
Creation and deletion
Attribute and style availability
Base classes
Saving data
Where should data reside?
Streaming and filing data
Making streaming work
How does the operational mechanism work?
Crash recovery
Deleting the command log
Recovering from a crash
Data storage
Storing the model and presenter state pair
Class structure of the Compound Document framework
Document classes
Command and selection classes
Data classes
Storage classes
Knowledge flow between the major class families
Printing services
Quick start
Printing class summary
Printing concepts
Pages
Folios
Page iterators
Paginated page folios
Tiled page folios
Compound page folios
Printers
Using printers
Matching printers
Page descriptions
Print job descriptions
Printing process
Preprocessing
Page composition
Page compositors
Resolving page description mismatches
Scaling
Tiling
Clipping
Centering
Matching dissimilar pages
Getting information about a printer
Creating a print job description
Creating a default job description
Creating a custom job description
Printing a range of pages
Using a page compositor to add adornments to a folio
Setting page characteristics
Setting the physical page size
Setting the printable rectangle
Setting the active rectangle
Setting page orientation
Setting the print media
Using compound page folios
How to tell if a document is being printed
Working with the print channel
Workspace developer tools
Integrating a new data type with the Workspace
Create classes for your data type
Start the CommonPoint application system
Start the Workspace
Create a new document
Set the Workspace icon for the new document
Make stationery from your document
Verify that the Workspace displays the correct icons
Creating icons for documents and stationery
Designing icons
Displaying icons
Implementing drag and drop for Workspace entities
Implementing a drag source
Deriving a document scrap item source for a Workspace entity
Overriding CopyAvailableTypesof Document
Overriding CreateItemOfDocument MatchingDescription
Supporting streaming and dynamic casting
Attaching a TDocumentScrap- ItemSource to a Workspace entity
Removing a scrap item source from a Workspace entity
Viewing the current drag sources
Implementing a drop acceptor
Deriving a document scrap item acceptor for a Workspace entity
Overriding ChoosePreferredType ForDocument
Overriding AcceptScrapItem ForDocument
Supporting streaming and dynamic casting
Attaching a scrap item acceptor to a Workspace entity
Removing a drop acceptor from a Workspace entity
Viewing the current drop acceptors
Providing keyboard modifiers for drag and drop operations

[Contents] [Previous] [Next]
Click the icon to mail questions or corrections about this material to Taligent personnel.
Copyright©1995 Taligent,Inc. All rights reserved.

Generated with WebMaker