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