Contents
- Preface
-
- The samples
-
- What to expect
with version B
-
- The code and documentation
-
- How the chapters are organized
-
- Reading notation diagrams
-
- Class architecture diagrams
-
- Interaction diagrams
-
- Taligent Chat
-
- High-level architecture
-
- Model subsystem
-
- Design notes
-
- Changing
persistent data
-
- Streaming
relevant data
-
- Model changes
-
- Supporting
mutable data
-
- Protocol subsystem
-
- Design notes
-
- Separating the
handler from its clients
-
- The model owns TChatHandler
-
- Processing a
message
-
- Simplified interface
-
- Announcing a
new member
-
- Semaphores
and locks
-
- Interface subsystem
-
- Design notes
-
- MChatView and MChatHandler
-
- Actions handled by
the view
-
- Buttons are tied
to actions
-
- Resizing windows
-
- Interesting mechanisms
-
- Bringing up a dialog
-
- Joining a caucus
-
- Receiving a
caucus message
-
- Extensions
-
- Extending the
Chat protocol
-
- Providing multiple
views
-
- Changing the user interface
-
- Making the Taligent
Chat discussion
persist
-
- Implementing Undo
-
- Removing delay
on sending
-
- Removing delay
on receiving
-
- Concurrent Actors
-
- High-level architecture
-
- Universe subsystem
-
- Design notes
-
- Destroying objects
through a thread
-
- No thread priorities
-
- Minimal protocol
for TAbstractActor
-
- Game subsystem
-
- Design notes
-
- Multiple asteroid
classes
-
- Adding levels
of difficulty
-
- Interface subsystem
-
- Design notes
-
- Choosing a
program framework
-
- Choosing
presentation classes
-
- Choosing an
off-screen buffer
-
- Movement subsystem
-
- Design notes
-
- Using a single
mover thread
-
- Avoiding deadlocks in
the mover thread
-
- Keeping time
-
- The mover thread doesn't own movable objects
-
- Refresh subsystem
-
- Design notes
-
- Avoiding refresh
overkill
-
- Two-phase refresh
-
- Avoiding deadlocks
in the refresh thread
-
- No back-to-front
ordering necessary
-
- The refresh thread
doesn't own
refreshing objects
-
- Collision subsystem
-
- Design notes
-
- Avoiding a separate
thread for collision
-
- Using notification
-
- Dynamic typing
-
- Local utility classes
-
- Design notes
-
- Separating the
thread from its state
-
- Creating a type-safe
queue
-
- Interesting mechanisms
-
- Destroying actors cleanly
-
- Queuing an actor
for deletion
-
- Deleting queued actors
-
- Pausing the mover
and refresh threads
-
- Locking the thread,
not the data
-
- Refreshing the screen
-
- Sending refresh notification
-
- Updating the view
from the buffer
-
- Extensions
-
- Interesting play
-
- Efficient screen
updating
-
- Refresh times
-
- Movement times
-
- Collision behaviors
-
- Stock Browser
-
- High-level architecture
-
- Stock Server subsystem
-
- Design notes
-
- To stream or
not to stream
-
- It's better to
be abstract
-
- RPC services versus Message Streams
-
- Stock Picker subsystem
-
- Design notes
-
- Access to stock data
-
- Support for
drag and drop
-
- Look-up by name
-
- Stock Viewer subsystem
-
- Design notes
-
- Supporting multiple
views
-
- Support for drag and
drop functionality
-
- Graphics subsystem
-
- Design notes
-
- An extensible
design
-
- MGraphic versus
TView
-
- Common Classes
-
- Interesting mechanisms
-
- Graphing a Stock
-
- Choosing an item from the View menu
-
- Reconstructing
a graph
-
- Extensions
-
- Providing additional stock information
-
- Graphing more
than one stock
-
- Adding and
modifying graphs
-
- Providing a
"live" server
-
- Simplified
stock data
-
- WebRunner Sample
-
- High-level architecture
-
- Web Document subsystem
-
- Design notes
-
- Editable text with embedded components
-
- HandleModelChanged
-
- TWebModel persistence
-
- Data Access subsystem
-
- Design notes
-
- Accommodating CERN
-
- Encapsulated C library
-
- TScrapItem
-
- Translation subsystem
-
- Design Notes
-
- Global translators
-
- Web Link subsystem
-
- Design notes
-
- Context-sensitive components
-
- TWebLink isn't a model
-
- Command subsystem
-
- Design notes
-
- Capturing Mosaic functionality
-
- Operating on an entire model selection
-
- Graphic Document subsystem
-
- Design notes
-
- Component reusability
-
- Non-model drag and drop
-
- Interesting mechanisms
-
- Activating a
hypertext link
-
- Acquiring the
viewer's reference
-
- In-place opening
-
- Out-of-place opening
-
- Extensions
-
- Supporting varying
media types
-
- Reusing link and image document components
-
- Implementing additional HTML protocol
-
- Other common
browser features
-
- Taligent Selection Tool
-
- High-level architecture
-
- Mapping subsystem
-
- Design notes
-
- Coordinating geometries
-
- Single view for MSelectionMapping
-
- Feedback subsystem
-
- Design notes
-
- Feedback view
-
- Target subsystem
-
- Design Notes
-
- Downsizing
-
- Coordinating coordinates
-
- Tool subsystem
-
- Design notes
-
- Interactors
-
- Convenience subsystem
-
- Interesting mechanisms
-
- Providing drop acceptance feedback
-
- Supporting a selection
-
- Dragging a selection
-
- Extensions
-
- Make selecting undoable
-
- Make dropping undoable
-
- Make TDOMDocument-ComponentView a behavior
-
- Mechanism Grab Bag
-
[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