Mechanism |
Look in the implementation of... |
Notes about the mechanism | |
Actions | Handling actions from the main view | TChatView::HandleViewAction of Taligent Chat | |
Caucus framework | Launching a new caucus | TChatHandler::JoinChat of Taligent Chat | |
Creating a read thread | TChatHandler::JoinChat of Taligent Chat | ||
Creating new caucus member | TChatHandler::JoinChat of Taligent Chat | ||
Sending a caucus message |
TChatHandler::JoinChat TChatHandler::LeaveChat TChatHandler::SendChatMsg of Taligent Chat |
Sends message to other discussion members. | |
Receiving a caucus message | TChatHandler::HandleReceivedData of Taligent Chat | Incoming messages are appended to the output window pane. | |
Collections | Using a raw array | TVolumeDrawer::SetVolumeInformation of Stock Browser | |
Looking up a value in a dictionary | TPickerModel::AdoptStock of Stock Browser | ||
Iterating over a dictionary |
TPickerModel::CopyNames TPickerModel::CopyContentsFrom of Stock Browser |
||
Copying key-value pair objects | TPickerModel::CopyContentsFrom of Stock Browser | ||
Generalized collection copying | THypertextScrapItem::THypertextScrapItem of WebRunner Sample | ||
Adding to a collection | MFeedbacker::AdoptFeedback of Taligent Selection Tool | ||
Removing from a collection | MFeedbacker::OrphanFeedback of Taligent Selection Tool | ||
Replacing an item in a collection | MFeedbacker::ReplaceFeedback of Taligent Selection Tool | ||
Iterating through a collection's contents | MFeedbacker::DrawFeedback of Taligent Selection Tool | ||
Color | Getting a color |
TPriceDrawer::TPriceDrawer TViewerContentView::DrawContents TPickerView::DrawContents of Stock Browser |
|
Commands | Making your command undoable |
TSetGraphConstructorCommand:: TSetGraphConstructorCommand of Stock Browser |
|
Using a command binding | TWebLinkView::MouseDown of WebRunner Sample | ||
Communications | Establishing a service | TStockDispatcher::LaunchStockServer of Stock Browser | |
Registering RPC requests | TStockDispatcher::TStockDispatcher of Stock Browser | ||
Beginning RPC requests |
TStockCaller::CopyAllStocks TStockCaller::CopyAvailableNames TStockCaller::CopyStock TStockCaller::CopyStockData of Stock Browser |
||
Sending RPC requests |
TStockCaller::CopyAllStocks TStockCaller::CopyAvailableNames TStockCaller::CopyStock TStockCaller::CopyStockData of Stock Browser |
||
Ending RPC requests |
TStockCaller::CopyAllStocks TStockCaller::CopyAvailableNames TStockCaller::CopyStock TStockCaller::CopyStockData of Stock Browser |
||
Dispatching control to a remote dispatcher | TStockDispatcher::LaunchStockServer of Stock Browser | ||
Creating a local service reference | TStockDispatcher::CreateLocalServiceReference of Stock Browser | ||
Creating a network service reference | TStockDispatcher::CreateNetworkServiceReference of Stock Browser | ||
Handling RPC requests |
TStockDispatcher::CopyAllStockStub TStockDispatcher::CopyAllAvailableNamesStub TStockDispatcher::CopyStockStub TStockDispatcher::CopyStockDataStub of Stock Browser |
||
Compound document | Copying the current model selection | TCurrentSelectionTarget::TCurrentSelectionTarget of Taligent Selection Tool | |
Setting the current model selection | TCurrentSelectionTarget::AdoptSelection of Taligent Selection Tool | ||
Cursor tools | Creating a tool target | TRandSelector::MouseDown of Taligent Selection Tool | |
Creating a TToolNegotiator |
TDOMDocumentComponentView:: HandleAfterConnectionToViewRoot of Taligent Selection Tool |
||
Destroying a TToolNegotiator |
TDOMDocumentComponentView:: HandleBeforeDisconnectionFromViewRoot of Taligent Selection Tool |
||
Dispatching events to a cursor tool |
TDOMDocumentComponentView:: DispatchEvent of Taligent Selection Tool |
||
Data translation | Importing data using TImportForeignDataQuery | TURL::Follow of WebRunner Sample | Shows type negotiation and actual translation. |
Translation of foreign data to scrap item | TGIFTranslator::CreateScrapItem of WebRunner Sample | ||
Installation script for global translator | GIFtranslator.txt of WebRunner Sample | Text file declaring which translators support which data types. | |
Dialogs | Creating and adding a dialog to the presentation | TChatView::HandleJoinAction of Taligent Chat |
Uses TGUIPresenter:: AdoptDialogController |
Removing a dialog from the presentation | TChatView::HandleLeave of Taligent Chat |
Uses TGUIPresenter:: OrphanDialogController |
|
Creating a dialog view | TChatGUIDialogController::HandleCreateDialogView of Taligent Chat | Grabs view for archive. | |
Setting up default cancel and accept buttons | TChatGUIDialogController::HandleCreateDialogView of Taligent Chat | ||
Handling open of dialog | TChatGUIDialogController::HandleOpen of Taligent Chat | Sets the value from the model data. | |
Handling accept action | TChatGUIDialogController::HandleAccept of Taligent Chat | Attempts the actual join. | |
Handling cancel of dialog | TChatGUIDialogController::HandleCancel of Taligent Chat | ||
Document components | Creating a document component |
TWebModel::FollowURL TWebLink::CreateWebLinkComponent of WebRunner Sample |
|
Components using Presentation Framework |
TWebModel::FollowURL TWebLink::CreateWebLinkComponent of WebRunner Sample |
||
Document programming | Invalidating a view | TGraphView::ReconstructGraph of Stock Browser | |
Supporting data exchange |
TPickerSelection::HandleReplaceData TPickerSelection::HandleOrphanData TPickerSelection::HandleCopyData TPickerSelection::HandleCopyDataInto of Stock Browser |
Enables cut, copy, paste, and embedding. | |
Supporting undo and redo |
TSetGraphConstructorCommand::HandleDoBegin TSetGraphConstructorCommand::HandleUndo TSetGraphConstructorCommand::HandleRedo of Stock Browser |
||
Adding your own command to a menu | TViewerPresenter::CreateViewSubMenuItem of Stock Browser | ||
Using dynamic casting |
TViewerPresenterState::LookupForWriting TViewerPresenterState::LookupForReading of Stock Browser |
||
Instantiating Document Component Stationery templates | PickerStationery.C of Stock Browser | ||
Creating and opening a document | TWebModel::OpenWebDocument of WebRunner Sample | ||
Creating a presenter state interest |
TViewerPresenterState::GetNewGraphConstructor- Interest of Stock Browser |
||
Creating a TModelPointerTo <AModelType> for reading |
TViewerContentView::CreateSelectionFromPoint of Stock Browser | ||
Limiting TModelPointerTo locking scope | TWebLinkView::MouseDown of WebRunner Sample | Shows multiple locking to prevent deadlocks. | |
Drag and drop | Initiating a drag | TGraphicDocumentView::MouseDown of WebRunner Sample | Creates drag item, graphic, and interactor. |
Accepting a scrap item | TGraphicDocumentView::AcceptDrop of WebRunner Sample | ||
Moving a dragged item | TDragSelector::MouseMoved of Taligent Selection Tool | ||
Performing a drop | TDragSelector::MouseUp of Taligent Selection Tool | ||
Providing drop acceptance feedback | MAutoDropAcceptor::DragItemMoved of Taligent Selection Tool | ||
Accepting dropped data |
MAutoDropAcceptor::ChoosePreferredType MAutoDropAcceptor::AcceptDrop of Taligent Selection Tool |
||
File system | Using mapped files | TStockServer::AddStockData of Stock Browser | |
General Taligent programming | Creating a collection | TStockGraphConstructor::Do of Stock Browser | |
Using an iterator | TPickerModel::AdoptStocks of Stock Browser | ||
Using a deleter | TStockDispatcher::CopyAllStocksStub of Stock Browser | Destroys temporary heap-allocated objects when it exits scope. | |
Allocating space for a static data member |
TStandardGraph::kDefaultAxisLengths TStandardGraph::kDefaultXAxisRange TStandardGraph::kDefaultYAxisRange of Stock Browser |
||
Geometries | Checking intersection and containment | TPickerView::GetDisplaysHit of Stock Browser | |
Graphics | Drawing a point | TPriceDrawer::DrawIntoGraph of Stock Browser | |
Drawing text |
TLabelDrawer::DrawIntoGraph TViewerContentView::DrawContents of Stock Browser |
||
Calculating rectangular bounds | TPriceDrawer::GetBounds of Stock Browser | This approach uses TGRect::ExtendTo. | |
Linking a matrix to a port |
TStandardGraph::Draw TTitleDrawer::DrawIntoGraph of Stock Browser |
||
Applying a matrix to a graphic | TBarDrawer::DrawIntoGraph of Stock Browser | ||
Using graf bundles |
TPriceDrawer::TPriceDrawer TPickerView::DrawContents TViewerContentView::DrawContents of Stock Browser |
||
Using graf matrices | TPriceDrawer::DrawIntoGraph of Stock Browser | ||
Drawing into a modifiable image | TGraphView::ReconstructGraph of Stock Browser | ||
Allocating an offscreen buffer and getting its port | TSimulationLevel::Restart of Concurrent Actors | ||
Copying an offscreen buffer to the screen | TSimulationView::HandleRefreshNeeded of Concurrent Actors | ||
Moving a shared graphic |
TExplodingActor::Draw TShip::Draw of Concurrent Actors |
When you share a graphic, you don't want to modify it every time you move it. This mechanism actually moves the coordinate system, not the graphic. | |
Getting bounds of a graphic | MFeedbacker::ReplaceFeedback of Taligent Selection Tool | ||
Transforming a point | TInsertionTarget::SetInsertionPoint of Taligent Selection Tool | ||
Creating a graphic group | TBoundsFeedbackStyle::DoCreateFeedback of Taligent Selection Tool | ||
Creating a transparent graphic | THighlightFeedbackStyle::DoCreateFeedback of Taligent Selection Tool | ||
Input | Receiving keypress events | TSimulationView::HandleActivate of Concurrent Actors | Tells the Input system you want to receive keypresses. |
Stopping receipt of keypress events | TSimulationView::HandleDeactivate of Concurrent Actors | Tells the Input system you don't want to receive keypresses. | |
Preventing component activation | TWebLinkView::MouseDown of WebRunner Sample | ||
Processing keypress events |
TSimulationLevel::KeyDown TSimulationLevel::KeyUp of Concurrent Actors |
Extracts characters for the keypresses and compares them to known codes. | |
Creating a sub-interactor | TSelectionToolInteractor::MouseDown of Taligent Selection Tool | ||
Dispatching events to a sub-interator | TSelectionToolInteractor::DispatchEvent of Taligent Selection Tool | ||
International utilities | Using calendar and dates |
TStockServer::AddStockData TMonthlySummaryPriceGraphConstructor::HandleDoBegin TMonthlySummaryVolumeGraphConstructor:: HandleDoBegin of Stock Browser |
|
Reading integers from text | TStockServer::AddStockData of Stock Browser | ||
Reading floating point numbers from text | TStockServer::AddStockData of Stock Browser | ||
Kernel | Starting a thread | TBoundThreadProgram::Start of Concurrent Actors | Starts a Taligent TThreadProgram. |
Stopping a thread | TBoundThreadProgram::Terminate of Concurrent Actors | Stops a Taligent TThreadProgram. | |
Waiting on a monitor condition | TPrimPCQueue::PAdd of Concurrent Actors | Waiting on a complicated condition--such as waiting for a queue to be empty--requires more than patience. | |
Acquiring a lock | MFeedbacker::AdoptFeedback of Taligent Selection Tool | ||
Line layout | Manipulating text displays |
TViewerContentView::DrawContents TViewerContentView::HandleAfterConnectionTo- ViewRoot TViewerContentView::CreateSelectionFromPoint TPickerView::CacheDisplaysAndUpdate of Stock Browser |
|
Memory | Using a memory surrogate | TStockServer::AddStockData of Stock Browser | |
Menus/Presentation framework | Creating a menu |
TViewerPresenter::HandleMenuActivate TViewPresenter::CreateViewSubMenuItem of Stock Browser |
|
Putting a menu in the menu palette | TViewerPresenter::HandleMenuActivate of Stock Browser | ||
Removing a menu from the menu palette | TViewerPresenter::HandleMenuDeactivate of Stock Browser | ||
Putting a command object in a menu | TViewerPresenter::CreateViewSubMenu of Stock Browser | ||
Notification | Connecting to a model for notification |
TViewerContentView::HandleAfterConnectionTo- ViewRoot of Stock Browser TUniverseThread::TUniverseThread TUniverseThread::Watch TAbstractActor::CreateUniverseAffectInterest of Concurrent Actors |
For context on the Notification framework, see Application Frameworks. |
Sending a notification |
TChatHandler::HandleReceivedData of Taligent Chat
TAbstractActor::SelfDestruct of Concurrent Actors
TPickerSelection::HandleReplaceData TSetGraphConstructorCommand::HandleDoBegin of Stock Browser |
||
Disconnecting from notification |
MChatView::HandleBeforeDisconnectionFromView- Root of Taligent Chat TUniverThread::TUniverseThread of Concurrent Actors TViewerContentView::HandleBeforeDisconnection- FromViewRoot of Stock Browser |
||
Setting a notification receiver |
TViewerContentView::HandleAfterConnectionTo- ViewRoot of Stock Browser |
||
Setting a request-based member function connection's request processor |
TViewerContentView::HandleAfterConnectionTo- ViewRoot of Stock Browser |
||
Setting up a request- based connection |
MChatHandler::HandleAfterConnectionToViewRoot of Taligent Chat |
Sets up a connection for any new incoming message notification. Uses request-based connection to ensure single threaded concurrency model in views. |
|
Creating an interest | MChatHandler::GetNewChatMessageInterest of Taligent Chat TGraphView::GetReadyInterest of Stock Browser | ||
Receiving and handling a notification | TChatHandler::HandleNewChatMessage of Taligent Chat TChatHandler::HandleModelChanged of Taligent Chat TUniverseThread::HandleNote of Concurrent Actors |
Sets up connections defining routines that are called when a notification is caught. |
|
Numerics | Using Numerics functions (power, floor, ceiling, log10) | TStockGraphConstructor::AdjustRange of Stock Browser | |
Generating random numbers |
TViewerStationery::CreateDefaultStockData TViewerStationery::GetRandomLong of Stock Browser |
||
Persistent storage |
Retrieving data from a disk dictionary |
TStockServer::CopyStockData of Stock Browser | |
Using a disk dictionary iterator | TStockServer::CopyAvailableNames of Stock Browser | ||
Creating a disk dictionary | TStockServer::AddStockData of Stock Browser | ||
Opening a TDiskDictionary read-only | TStockServer::CreateOpenDiskDictionary of Stock Browser | ||
Presentation Framework | Creating and executing a command | TChatGUIDialogController::HandleAccept of Taligent Chat | If join is successful, fire off a command to change the model. |
Getting model for writing | TChangeChatInfoCommand::HandleDoBegin of Taligent Chat | ||
Handling a current selection change |
TViewerContentView::HandleCurrentSelection- Changed of Stock Browser |
||
Push buttons | Showing/hiding buttons |
TChatView::HandleModelChanged TChatView::LeaveChat of Taligent Chat |
The buttons change after a successful join which changes the model and triggers a notification that the model has changed. |
Scrolling | Scrolling a particular portion of a view to be visible | TChatView::AppendOutputText of Taligent Chat | Appends the last text so that it is visible. |
Creating a scrolling view | TViewerContentView::TViewerContentView of Stock Browser | ||
Setting the background color of a scrolling view |
TViewerContentView::TViewerContentView TEmptyPickerPresenter::HandleCreateMainView of Stock Browser |
||
Setting the view to scroll in a scrolling view |
TViewerContentView::AdoptGraphView TEmptyPickerPresenter::HandleCreateMainView of Stock Browser |
||
Shutdown services | Writing a simple shutdown handler |
TStockServerShutdownHandler:: CompleteShutdown of Stock Browser |
|
Registering a shutdown handler with the Shutdown services | TStockDispatcher::LaunchStockServer of Stock Browser | ||
Simple text | Attaching text menu to SimpleTextView | TChatPresenter::HandleCreateExtendedMenus of Taligent Chat | This menu enables users to format input text. |
Appending text to a simple text view | TChatView::AppendOutputText of Taligent Chat | Called when a new message arrives. | |
Deleting text from simple text view | TChatView::AppendOutputText of Taligent Chat | Delete the oldest text from the top of the view. | |
Supporting data exchange | Creating an available types list | TPickerSelection::CreateAvailableTypesList of Stock Browser | |
System services | Using TMultipleRootLocator | TStockServer::CreateOrOpenDiskDictionary of Stock Browser | |
Text controls | Setting text in text control |
TChatView::HandleModelChanged TChatView::LeaveChat of Taligent Chat |
Update the currently joined text. |
Text editing | Replacing text | TWebModel::AcceptHypertextScrap of WebRunner Sample | |
Embedding components into embedder text | TWebModel::AcceptModelScrap of WebRunner Sample | ||
Creating scrolling text view | TWebPresenter::HandleCreateMainView of WebRunner Sample | Uses custom text view and standard scrolling view. | |
View layout | Resizing/positioning after user changes document window size | TChatView::HandleAllocatedAreaChanged of Taligent Chat | Uses SetAllocatedArea and SetAllocatedAreaInParent for each subview. |
Changing the size of a view | TPickerView::CacheDisplaysAndUpdate of Stock Browser | ||
Handling an allocated area change | TViewerContentView::HandleAllocatedAreaChanged of Stock Browser | ||
Views | Drawing directly to your view's grafport without waiting for the View system to call DrawContents |
TViewerContentView::HandleModelOrPresenter- StateChanged of Stock Browser |
|
Invalidating part of a view | MFeedbacker::HandleFeedbackChanged of Taligent Selection Tool | ||
Converting between view and global coordinates | TSelectionToolTarget::TSelectionToolTarget of Taligent Selection Tool | ||
Creating a graphic transform | TSelectionToolTarget::TSelectionToolTarget of Taligent Selection Tool |