Object <- FixedList <- ObjectList <- AttributeStepList <- AccountInfoStepList |
|
|
PromptForAccountInfo StopEditing |
|
AccountName AccountName HiddenPassword HiddenPassword Password Password PromptForPassword PromptForPassword |
| Field | Type | |
|---|---|---|
| AttributeStepList: | attributeWindow: | AttributeWindow |
| AccountInfoStepList: | accountInfoTarget: | HasAccountInfo |
| announcement: | Announcement | |
| promptSemaphore: | Semaphore |
instance AccountInfoStepList tag; attributeWindow: nilObject; accountInfoTarget: nilObject; announcement: nilObject; promptSemaphore: nilObject; end instance;
Define Class AccountInfoStepList; inherits from AttributeStepList; inherits from EditAttributeClient; inherits interface from HasAccountInfo; field accountInfoTarget: HasAccountInfo, weak; field announcement: Announcement, weak; field promptSemaphore: Semaphore; operation PromptForAccountInfo(target: HasAccountInfo; announcement: Announcement; timeout: Unsigned); overrides StopEditing; // releases prompt semaphore & redisplays announcement // passes these through to the target object overrides AccountName, SetAccountName; overrides Password, SetPassword; overrides HiddenPassword, SetHiddenPassword; overrides PromptForPassword, SetPromptForPassword; end class;