Object <- Viewable <- Stamp <- AttributeStamp <- BooleanAttributeStamp |
|
|
ChangedContainers FindMatchingAttributeStamp RemoveConflicts |
|
ComingValue GoingValue |
| Field | Type | |
|---|---|---|
| Viewable: | superview: | Viewable |
| relativeOrigin: | Dot | |
| contentSize: | Dot | |
| viewFlags: | Flags | |
| labelStyle: | TextStyle | |
| color: | Unsigned | |
| altColor: | Unsigned | |
| shadow: | Shadow | |
| sound: | Playable | |
| Stamp: | image: | Image |
| AttributeStamp: | targetAttribute: | OperationNumber |
| targetClass: | ClassNumber | |
| applyMode: | Unsigned | |
| BooleanAttributeStamp: | comingValue: | Boolean |
| goingValue: | Boolean |
instance BooleanAttributeStamp tag; relativeOrigin: <0.0,0.0>; contentSize: <0.0,0.0>; viewFlags: 0x00000000; labelStyle: nilObject; color: 0; altColor: 0; shadow: nilObject; sound: nilObject; image: nilObject; targetAttribute: nilOperation; targetClass: nilClass; applyMode: 0; comingValue: false; goingValue: false; end instance;
Define Class BooleanAttributeStamp; inherits from AttributeStamp; field comingValue: Boolean, getter, setter; // value to set when stamp is placed field goingValue: Boolean, getter, setter; // value to set when stamp is removed (if no others found) attribute ComingValue: Boolean; attribute GoingValue: Boolean; overrides ChangedContainers; // sets target attribute of new container to comingValue, and of old container to goingValue overrides FindMatchingAttributeStamp; // finds another stamp on a card that matches this one // required to override abstract method overrides RemoveConflicts; // call to hop to trash attribute stamps that conflict with this one // required to override abstract method end class;