[operations] [attributes] [fields] [template] [definition]
[implementation] [documentation]
To use the search tool you need to use a browser which supports JAVA (c)

[next] [prev] [superclass] [next peer] [prev peer] [subclass] [index] [hierarchy]

DrawerStack

inherits from StackOfCards

... <- FixedList <- ObjectList <- DenseObjectList <- StackOfCards <- DrawerStack



Operations

Get list of all operations

AddFolder
AddFolderAt
CreateNewFolder
DestroySystemStorageContents
EachStorageObject
FileInContainer
InstallInto
StorageInstallIndexical


Attributes

Get list of all attributes

Dense
Image
Name
StackScene


Fields

Field Type
StackOfCards: protoCard: Card
canWrap: Boolean
canDelete: Boolean
containsNewItems: Boolean
disableCardTracking: Boolean
stackScene: StackScene
DrawerStack: folderTray: FolderTray


Instance template

instance DrawerStack tag;
      protoCard: nilObject;
        canWrap: false;
      canDelete: false;
containsNewItems: false;
disableCardTracking: false;
     stackScene: nilObject;
     folderTray: nilObject;
end instance;

Class definition

Define Class DrawerStack;
    inherits from StackOfCards;

    field folderTray: FolderTray, weak;

    attribute Image: Image, readOnly;
    
    operation AddFolder(): Folder;
        // calls AddFolderAt with index of first empty slot;
    operation AddFolderAt(index: Unsigned): Folder;
        // creates new folder at specified index from proto card;
        // new folder will be unnamed; caller should provide a name
        // or ask user to do so
    operation CreateNewFolder(): Folder;
        // makes a copy of the protofolder near the stack and makes it deletable
        
    overrides Dense;
        // returns false so cleaning won't collapse holes before "Other" folder
    
    operation FileInContainer(objectToBeFiled: Object; moveFlag: Boolean; subContainer: Object): Object;
    overrides DestroySystemStorageContents, InstallInto;
    overrides StackScene, EachStorageObject, StorageInstallIndexical;
    overrides SetName;
end class;