home *** CD-ROM | disk | FTP | other *** search
- "---------------------------------------------------"
- " Menu Class implements control of Amiga Menus "
- " except for actually displaying it, which is in the"
- " Window class. "
- "---------------------------------------------------"
-
- Class Menu :Glyph
- !
- nextMenu leftEdge topEdge width height flags menuName firstItem
- !
- [
- getStartPoint
- leftEdge <- <primitive 182 2 0 0 menuName>.
- topEdge <- <primitive 182 2 1 0 menuName>.
- ^ leftEdge @ topEdge
- |
- getMenuSize
- width <- <primitive 182 2 2 0 menuName>.
- height <- <primitive 182 2 3 0 menuName>.
- ^ width @ height
- |
- setStartPoint: newPoint ! x y !
- x <- newPoint x.
- y <- newPoint y.
- <primitive 182 3 0 x 0 menuName>.
- <primitive 182 3 1 y 0 menuName>.
- leftEdge <- x.
- topEdge <- y
- |
- setMenuSize: sizePoint ! w h !
- w <- sizePoint x.
- h <- sizePoint y.
- <primitive 182 3 2 w 0 menuName>.
- <primitive 182 3 3 h 0 menuName>.
- width <- w.
- height <- h
- |
- remove
- <primitive 182 0 0 menuName>
- |
- registerTo: windowTitle
- <primitive 182 4 windowTitle menuName>
- |
- getFlags
- ^ flags <- <primitive 182 2 4 0 menuName>
- |
- setFlags: newFlags
- <primitive 182 3 4 newFlags 0 menuName>.
- flags <- newFlags
- |
- getNextMenu
- ^ nextMenu <- <primitive 182 2 8 0 menuName>
- |
- setNextMenu: newNextMenu
- <primitive 182 3 8 newNextMenu 0 menuName>.
- nextMenu <- newNextMenu
- |
- getFirstItem
- ^ firstItem <- <primitive 182 2 9 0 menuName>
- |
- setFirstItem: newFirstItem
- <primitive 182 3 9 newFirstItem 0 menuName>.
- firstItem <- newFirstItem
- |
- getMenuName
- ^ menuName <- <primitive 182 2 13 0 menuName>
- |
- setMenuName: newMenuName
- <primitive 182 3 13 newMenuName 0 menuName>.
- menuName <- newMenuName
- |
- new: newMenuName
- <primitive 182 1 0 newMenuName>.
- menuName <- newMenuName.
- ^ self
- ]
-
- Class MenuItem :Menu
- !
- nextItem leftEdge topEdge width height flags mutualExclude
- itemFill selectFill command subItem nextSelect itemName
- !
- [
- remove
- <primitive 182 0 1 itemName>
- |
- registerTo: windowTitle
- <primitive 182 4 windowTitle itemName>
- |
- getStartPoint
- leftEdge <- <primitive 182 2 0 1 itemName>.
- topEdge <- <primitive 182 2 1 1 itemName>.
- ^ leftEdge @ topEdge
- |
- getItemSize
- width <- <primitive 182 2 2 1 itemName>.
- height <- <primitive 182 2 3 1 itemName>.
- ^ width @ height
- |
- setStartPoint: newPoint ! x y !
- x <- newPoint x.
- y <- newPoint y.
- <primitive 182 3 0 x 1 itemName>.
- <primitive 182 3 1 y 1 itemName>.
- leftEdge <- x.
- topEdge <- y
- |
- setItemSize: sizePoint ! w h !
- w <- sizePoint x.
- h <- sizePoint y.
- <primitive 182 3 2 w 1 itemName>.
- <primitive 182 3 3 h 1 itemName>.
- width <- w.
- height <- h
- |
- getFlags
- ^ flags <- <primitive 182 2 4 1 itemName>
- |
- setFlags: newFlags
- <primitive 182 3 4 newFlags 1 itemName>.
- flags <- newFlags
- |
- getMutualExclude
- ^ mutualExclude <- <primitive 182 2 5 1 itemName>
- |
- setMutualExclude: newMutualExclude
- <primitive 182 3 5 newMutualExclude 1 itemName>.
- mutualExclude <- newMutualExclude
- |
- getCommand
- ^ command <- <primitive 182 2 6 1 itemName>
- |
- setCommand: newCommand
- <primitive 182 3 6 newCommand 1 itemName>.
- command <- newCommand
- |
- getNextItem
- ^ nextItem <- <primitive 182 2 7 1 itemName>
- |
- setNextItem: newNextItem
- <primitive 182 3 7 newNextItem 1 itemName>.
- nextItem <- newNextItem
- |
- getItemFill
- ^ itemFill <- <primitive 182 2 10 1 itemName>
- |
- setItemFill: newItemFill
- <primitive 182 3 10 newItemFill 1 itemName>.
- itemFill <- newItemFill
- |
- getSelectFill
- ^ selectFill <- <primitive 182 2 11 1 itemName>
- |
- setSelectFill: newSelectFill
- <primitive 182 3 11 newSelectFill 1 itemName>.
- selectFill <- newSelectFill
- |
- getSubItem
- ^ subItem <- <primitive 182 2 12 1 itemName>
- |
- setSubItem: newSubItem
- <primitive 182 3 12 newSubItem 1 itemName>.
- subItem <- newSubItem
- |
- new: newItemName
- <primitive 182 1 1 newItemName>.
- itemName <- newItemName.
- ^ self
- ]
-
- Class SubItem :MenuItem
- !
- nextItem leftEdge topEdge width height flags mutualExclude
- itemFill selectFill command nextSelect subItemName
- !
- [
- remove
- <primitive 182 0 2 subItemName>
- |
- registerTo: windowTitle
- <primitive 182 4 windowTitle subItemName>
- |
- getStartPoint
- leftEdge <- <primitive 182 2 0 2 subItemName>.
- topEdge <- <primitive 182 2 1 2 subItemName>.
- ^ leftEdge @ topEdge
- |
- getSubSize
- width <- <primitive 182 2 2 2 subItemName>.
- height <- <primitive 182 2 3 2 subItemName>.
- ^ width @ height
- |
- setStartPoint: newPoint ! x y !
- x <- newPoint x.
- y <- newPoint y.
- <primitive 182 3 0 x 2 subItemName>.
- <primitive 182 3 1 y 2 subItemName>.
- leftEdge <- x.
- topEdge <- y
- |
- setSubSize: sizePoint ! w h !
- w <- sizePoint x.
- h <- sizePoint y.
- <primitive 182 3 2 w 2 subItemName>.
- <primitive 182 3 3 h 2 subItemName>.
- width <- w.
- height <- h
- |
- getFlags
- ^ flags <- <primitive 182 2 4 2 subItemName>
- |
- setFlags: newFlags
- <primitive 182 3 4 newFlags 2 subItemName>.
- flags <- newFlags
- |
- getMutualExclude
- ^ mutualExclude <- <primitive 182 2 5 2 subItemName>
- |
- setMutualExclude: newMutualExclude
- <primitive 182 3 5 newMutualExclude 2 subItemName>.
- mutualExclude <- newMutualExclude
- |
- getCommand
- ^ command <- <primitive 182 2 6 2 subItemName>
- |
- setCommand: newCommand
- <primitive 182 3 6 newCommand 2 subItemName>.
- command <- newCommand
- |
- getNextItem
- ^ nextItem <- <primitive 182 2 7 2 subItemName>
- |
- setNextItem: newNextItem
- <primitive 182 3 7 newNextItem 2 subItemName>.
- nextItem <- newNextItem
- |
- getItemFill
- ^ itemFill <- <primitive 182 2 10 2 subItemName>
- |
- setItemFill: newItemFill
- <primitive 182 3 10 newItemFill 2 subItemName>.
- itemFill <- newItemFill
- |
- getSelectFill
- ^ selectFill <- <primitive 182 2 11 2 subItemName>
- |
- setSelectFill: newSelectFill
- <primitive 182 3 11 newSelectFill 2 subItemName>.
- selectFill <- newSelectFill
- |
- new: newSubItemName
- <primitive 182 1 2 newSubItemName>.
- subItemName <- newSubItemName.
- ^ self
- ]
-