Object <- FixedList <- ObjectList <- AttributeStepList |
|
|
EditAttribute EditAttributeFromOrigin EditAttributeThenDestroyTarget StopEditingAttribute SwitchToStepList SwitchingStepLists |
|
AttributeWindow |
| Field | Type | |
|---|---|---|
| AttributeStepList: | attributeWindow: | AttributeWindow |
instance AttributeStepList tag; attributeWindow: nilObject; end instance;
Define Class AttributeStepList; inherits from ObjectList; field attributeWindow: AttributeWindow, weak, getter, setter; // used by AttributeWindow attribute operation EditAttribute(target: Object; redrawObject: Viewable; position: Dot), noFail; // call to show attribute window with these steps; // target is object being editted; redrawObject is (optional) object to be dirtied // when changes are accepted; position is spout position for window operation EditAttributeThenDestroyTarget(target: Object; redrawObject: Viewable; position: Dot), noFail; // first calls EditAttribute with same parameters // then calls AddDestroyableTarget on iAttributeStepListChain with <target> operation EditAttributeFromOrigin(target: Object; redrawObject: Viewable; fromObject: Viewable), safe, noFail; // call to show attribute window with these steps; // target is object being editted; redrawObject is (optional) object to be dirtied // when changes are accepted; spout position of window is origin of fromObject intrinsic StopEditingAttribute(stepList: AttributeStepList); // calls disappear on any on-screen attribute window using these steps // if <stepList> is nilObject, calls disappear on any on-screen attribute windows // override rarely operation SwitchToStepList(oldList: AttributeStepList; target: Object): AttributeWindow; // if new list uses different window than old list, position new window's spout // to match self, start processing the new step list, and return the new window; // otherwise set the target and return self; useful for Prev/NextStepList intrinsic SwitchingStepLists(): Boolean; // returns true if called while switching to another list // can be used to distinguish whether a window is closing because // steps are over or just because its switching to a different window attribute AttributeWindow: AttributeWindow; // window to display this list of steps in end class;