Index

A
Abstract class 33
ACEKit 50
Adaptec 1542 ensemble 230
Adorners 114
afx_msg 143
Andrew system 176
Application framework 76
Application programming interface (API) 47
AppStudio 139, 145, 146, 147
AppTizard 139, 145
Automatic layout 157

B
Behaviors 9, 114
Bottleneck 164
Bottleneck interface 164, 176
Box 200
Built-in types 159

C
C++ 154
Call graph 14
Callback 19
Canvas 198
Capital gain analysis application 137, 145
Capital gain analysis application, dynamic aspects 150
Categorization hierarchy 29
CCapitalDoc 145, 147
CCaptialView 145, 146
CDialog 147-149
CDocument 141, 145
CEont 146
Change notification 157, 161
Change propagation 130, 132
CInitParamsDlg 148
Class 10
Class attribute 10
ClassWizard 139, 144-147, 149
Client 221
Clipboard 161
CMDIFrameWnd 145
CObject 140
CollectionView 152
Command classes 174
Command handling 125-129
Component 4G
Composite object 165
Configuration recorder 224
Constructor function 12
Container classes 162
Container hierarchy 28
Converter architecture 178
Converter framework 157, 172,178
Coordinate conversion anomalies 213
CPen 146
CSampleView 143
CView 141, 143, 145
CWinApp 141-143, 145
CWnd 152

D
Data model architecture 46
Data model architecture, communication protocol 51
Data wrappers 45
DECLARE_MESSAGE_MAP 144
DeepClone 160
Defining new glyphs 208
Dependency mechanism 131, 132
Design issues 150
Destructor function 12
Disk on SCSI ensemble 229
Disk Service Protocol 229
Display 198
Display a message 201
Document opening 122
DoFieldValueUpdate 53
Domain-specific 35
DoModal 148
Double buffering 157, 166, 175
DreamGrader 66, 68
Dynamic binding 18
Dynamic loading and linking 160, 161

E
Encapsulated data 9
Encapsulated PostScript (EPSF) 172
Encapsulation 4, 5
Ensemble 222
Enumeration of objects 29
Environment abstraction layer 180
eqn 167
ET++ 80, 151, 154
ET++,
      applications 187
      exploration environment 162
ET++Draw 156
ET++Write 176, 177
Event handling model 207
Eventloop 112, 115, 141
Event-driven applications 141
Events 115
Exploration environment 159, 187
Extension 23

F
Factory methods 170
Framework design 112, 113
Functional decomposition 15

G
Garnet 49
Generators 36
Geometry composition 196
glyph 196-217
glyph,
      character 196
      composition model 199
      define new primitive 208
      define two appearances 210
      event handling model 207
      example of use, 200, 201
      display a message 201
      sensitive to mouse clicks 208
      line 196
      overlay 200
      redrawing 212
glyph subclass,
      Canvas 210
      Background 202
      Border 202
      Character 202-204
      Discretionary 205, 206
      HRule 204
      Label 202
      LRBox 200, 202
      LRComposition 204
      MonoGlyph 208
      Stencil 204
      TBBox 200, 206
      TBComposition 205
      TEXCompositor 206
      VGlue 204, 206
Graphic resource management 180
Graphic system 180
Graphical interface 195
GraphView 152
GUI 141

H
Handlers 198
has-a 27
Hierarchical composition 167
Hybrid OOP 8

I
I/O 159
IconEdit l 17
Inheritance 21, 22
InitInstance 141
Input handling 180
InputHandler 207
Inspect click 184
Inspector 184
Instance variables 9
Instantiation 12
Interactors 196
Interapplication communication 180
Interface tools 195
InterViews 195, 202
InterViews,
      classes 196
      defining new components 207
      implementing graphics 212
      simple application 202
Invalidation 130, 132, 165
I/O service 224
is-a 27
IsKindOf 140
Iterators 35, 163, 176
Iterators,
      robust 163
      classes 36

K
Kits (object factories) 198

L
Lightweight objects 196

M
MacApp 80, 111-]36, 151, 154
Macintosh 111-114,119,121,130, 157, 167, 182, 192
Mass Storage framework 230
MDI 145
MDI, AppWizard 145
Megaprogramming 7
Member functions 5, 9
Member variables 9
Menu 128
Message 8
Message-passing 14
Metainformation 140, 158
Methods 5, 9
MFC 137, 152
MFC,
      class inheritance
      relationships 139
      class naming convention 140
      data structure classes 141
      direct-manipulation 151
      event handling 138
      event handling 143
      features 137
      macros 140, 152
      maps 141
      menu and dialog handling 146
      message formatting 144
      MVC concept 141
      relational databases 138
      starting the event loop 142
      undoable commands 151
      viewing a document's data 145
MFC classes,
      CDate 139
      CDocument 140
      CObArray 139
      CObList 139
      CString 140
      CView 140
      CWinApp 140
      CWnd 140
Microsoft's Foundation Class Library,
      See MFC 137
MiniCalculator 98, 99
MiniDraw 97, 99
Mix-in class 167
Model of interaction 35
Module 9
Motif 157
Motif toolkit 155
Mouse tracking 133, 135
Multiple Document Interface, MDI 143
Multiple inheritance 167
MVC 38-43, 141, 145, 161, 173
MVC,
      paradigm 75
      update 40
MVC-based object-oriented application framework 75

N
NCR53C94 ensemble 230
Notification 186

O
Objects 4, 9, 10
Object dependency 58
Object linking and embedding (OLE) 139
Object serialization 140
Object structure browser 186
Object-oriented design 3
Object-oriented programming 3,9,13
Objex 70, 71, 76, 79, 80
Objex,
      application framework class hierarchy 77
      framework 70, 71, 79
      library 71
      reuse 105
Objex-by-Design 71, 74-76, 89
ON WM_LBUTTONDOWN 144
OnDraw 145, 146
OnInitialParameters 147, 148
OnLButtonDown 143
Open Database Connectivity (ODBC) 138
Options cluster 58
Override 23

P
Parameterized types 162
Patterns 33
PBM 157, 172
Personal query system 82
Petri network class,
      PNAppleMenu 91
      PNDialog 91
      PNDocument 91
      PNEditMenu 91
      PNFileMenu 91
      PNPalette 91
      PNPlaceDialog 91
      PNToolsMenu 91
      PNWindow 91
Petri network class hierarchy,
      PNArc 92, 95
      PNI nitTrans it ion 94
      PNInputArc 95
      PNOutputArc 95
      PNPlace 92
      PNQuitTransition 95
      PNRegularTransition 94
      PNTransition 92
Petri network editor 70, 71, 87, 89
Petri network editor, limitations 106
Petri network graphics class hierarchy,
      PNArrowLine 96
      PNGraphicsView 96
      PNIcon 95
      PNLabel 96
      PNRect 96
      PNTwoLines 96
Petri network objects 95
Petri network places, modal and
       modeless 79, 80
Petri network representation, internal
       and external 88
Petri networks transitions 79
PICT 157
Polymorphic methods 14
Polymorphism 18, 34
PostScript 157, 182, 210
Presentations 170
Procedures 8
Program skeleton 155

Q
QuickDraw 121

R
Rendering transformed images in X11 215
Rendering transformed text in X11 216
Reuse 7
Reuse of Objex 106
RezDez 70, 77
Rich Text Building Block 174
RTF 157, 172, 178
Runtime type information 161

S
Scroller 152
SCSI 228
SCSI ID 228
SCSI kernel engine framework 229
SCSI server framework 230
SDI 145
SDK 151, 152
SDK, callback style 143
Session 198
Sharable objects 196
Simple dialog box 200
Single Document Interface, SL)I 143
Small Computer System Interface, See SCSI
Smalltalk 161, 162, 173
Sniff 188
Software crisis 5
Splitter 152
State 9
Stencil/paint 182
Subclass 21
SunWindows 182, 192
Superclass 21
SwapsManager 188
Syntax checks 88

T
Table Builder 45, 62
Table Builder,
      Cell Options Window 63
      DreamGrader 66
      Field Options Window 65
      Record Options Window 64
      Sample Table 66
TableOptions object 58
TableView 47, 48, 50, 58, 59
TableView classes,
      AddFieldChange 54
      AddObjectChange
      AddObjectUpdate
      CellsView 58
      DoAddFieldUpdate 54
      DoSelectionUpdate 53
      RemoveFieldChange 54
      RemoveSbjectUpdate 55
      SelectionChanged 53
      TableOptions 58
      TCellsView 57, 62
      TColumnsView 57
      TDataModel 55
      TEntryView 57
      TOptionsBarView 59
      TOptionsCluster 60
      TOptionsView 60
      TOptionTableView 61
      TOurTextGridView 56
      TRowsView 57
      TStdEableOptionsView 61
      TTableModel 55
      TTableView 56
      TTextGridView 56
      TView 55
TableView framework 45
TableView implementation 55
TApplication 115, 119, 120
Target chain 127, 128
TCommand 115, 116, 125, 133
TCommandHandler 126
TDocument 115, 116
TEX document preparation system 199
Text views 202-206
TFile 122
TFileBasedDocument 122, 123
TGridView 56
TIconBitmap 120, 121, 126
TIconDrawCommand 135
TIconEditApplication 118
TIconEditCommand 128
TIconEditDocument 118, 120-132
TIconEditView 118-120, 127-130, 132
TIconPasteCommand 129
TIconView 121
TIFF 157, 172
TInvertCommand 126, 128_130
Tool boxes 155
Toolkit layer 158
Toolkits 195
TreeView 152
troff 167
TScroller 119
TSCSlKernelEngine class 233
TTracker 116, 133
TView 115, 116, 130
TWindow 116

U
Undo 126, 129
Undoable commands 173
Unit handle object 231
UNIX 154, 167
UpdateAllViews 146
User interface classes 89
User interface development system (UIDS) 74
User interface development tools
User interface toolkits 74

V
Views 45, 114, 119, 121, 130
Views,
      components 46
      hierarchy 114, 120, 127
      system 159, 164
      updating 130
ViewBuilder Data Model Architecture 51
ViewEdit 49, 120
Virtual function 33
Visual C++ 137, 139, 145, 152
Visual programming 76
VObject 152

W
Widgets 196
Window management 180
Windows 114, 137, 198
Windows Software Development Kit (SDK) 143
Wrappers 201

X
X11 WindowSystem 182, 192, 195
X11, transparent rendering 213
XPM 172

Z
Zoomer 152