Below is a partial inheritance hierarchy for ET++. The classes shown are the ones
involved most fundamentally in event handling, invalidating/redrawing, and
the iconedit sample application, with a few additional classes thrown in
for context.
Object: Root of inheritance
- System: Operating system abstraction for portability
- UnixSystem: Unix operating system support
- WindowSystem: Windowing system abstraction for portability
- SunWinSystem: SunWindows support
- XWinSystem: XWindows support
- Port: Drawing device abstraction
- WindowPort: Window abstraction for drawing portability
- SunWindowPort: SunWindow drawing support
- XWindowPort: XWindows drawing support
- PrintPort: Printing abstraction for printer portability
- MacPictPrinter: Macintosh PICT creation support
- Postscript: Postscript printer support
- Command: A command object
- ImageCommand: Abstract command class for iconedit
- BitMover: Moves bitmap section in iconedit
- RectCommand: Draws rectangle in iconedit
- EvtHandler: Event handling code
- VObject: Root of visible object hierarchy
- CompositeVObject: Composite pattern for recursive VObject
- Button: A standard button widget
- Scroller: A widget to scroll a VObject
- Matte: A layout object
- Box: A layout box
- HBox: A horizontal layout box
- VBox: A vertical layout box
- Expander: A layout box to expand bounds
- ImageItem: A bitmap object
- View: A view of a document's data
- IconView: View of icon in iconedit
- Clipper: Rectangular graphical clipping object
- Manager: Manages a Window
- Application: An application, managing documents
- iconedit: The iconedit application
- Document: A document containing some data
- IconDocument: Document for iconedit
- Ink: An ink used for drawing
- RGBColor: An RGB-defined colored ink
- Bitmap: An bitmap-based tiled pattern ink