1: ================================================================================ 2: 3: Smalltalk defineClass: #MyFirstModel 4: superclass: #{UI.ApplicationModel} 5: indexedType: #none 6: private: false 7: instanceVariableNames: 'rectangles selection ' 8: classInstanceVariableNames: '' 9: imports: '' 10: category: '' 11: 12: ================================================================================ 13: 14: MyFirstModel method for 'adding' 15: 16: addRectangle: aRectangle 17: 18: self rectangles add: aRectangle 19: 20: ------------------------------------------------------------ 21: 22: MyFirstModel method for 'interface opening' 23: 24: displayView 25: 26: | aView | 27: aView := MyFirstView model: self. 28: aView controller: MyFirstController new. 29: ^aView 30: 31: ------------------------------------------------------------ 32: 33: MyFirstModel method for 'interface opening' 34: 35: postBuildWith: aBuilder 36: 37: aBuilder keyboardProcessor keyboardHook: 38: [:event :controller | 39: (self dependents 40: detect: [:aView | (aView isKindOf: MyFirstView) and: [aView topComponent isActive]] 41: ifNone: [nil]) ifNotNil: [:aView | aView controller processKeyboardEvent: event]]. 42: super postBuildWith: aBuilder 43: 44: ------------------------------------------------------------ 45: 46: MyFirstModel method for 'accessing' 47: 48: rectangles 49: 50: rectangles ifNil: [rectangles := OrderedCollection new]. 51: ^rectangles 52: 53: ------------------------------------------------------------ 54: 55: MyFirstModel method for 'selecting' 56: 57: selection 58: 59: ^selection 60: 61: ------------------------------------------------------------ 62: 63: MyFirstModel method for 'selecting' 64: 65: selection: anIndex 66: 67: selection := anIndex. 68: self changed 69: 70: ================================================================================ 71: 72: Smalltalk.MyFirstModel class 73: instanceVariableNames: '' 74: 75: ================================================================================ 76: 77: MyFirstModel class method for 'examples' 78: 79: example1 80: "MyFirstModel example1." 81: 82: | aModel | 83: aModel := MyFirstModel new. 84: aModel open. 85: ^aModel 86: 87: ------------------------------------------------------------ 88: 89: MyFirstModel class method for 'examples' 90: 91: example2 92: "MyFirstModel example2." 93: 94: | aModel | 95: aModel := MyFirstModel new. 96: aModel addRectangle: (10 @ 10 extent: 100 @ 50). 97: aModel addRectangle: (200 @ 200 extent: 100 @ 50). 98: aModel addRectangle: (350 @ 250 extent: 100 @ 50). 99: aModel open. 100: ^aModel 101: 102: ------------------------------------------------------------ 103: 104: MyFirstModel class method for 'examples' 105: 106: example3 107: "MyFirstModel example3." 108: 109: | aModel | 110: aModel := MyFirstModel new. 111: aModel addRectangle: (10 @ 10 extent: 100 @ 50). 112: aModel addRectangle: (200 @ 200 extent: 100 @ 50). 113: aModel addRectangle: (350 @ 250 extent: 100 @ 50). 114: 3 timesRepeat: [aModel open]. 115: ^aModel 116: 117: ------------------------------------------------------------ 118: 119: MyFirstModel class method for 'resources' 120: 121: menuBar 122: "Tools.MenuEditor new openOnClass: self andSelector: #menuBar" 123: 124: <resource: #menu> 125: ^#(#{UI.Menu} #( 126: #(#{UI.MenuItem} 127: #rawLabel: 'ファイル' 128: #submenu: #(#{UI.Menu} #( 129: #(#{UI.MenuItem} 130: #rawLabel: '終了' 131: #value: #closeRequest ) ) #(1 ) nil ) ) 132: #(#{UI.MenuItem} 133: #rawLabel: 'その他' 134: #submenu: #(#{UI.Menu} #( 135: #(#{UI.MenuItem} 136: #rawLabel: '検査' 137: #value: #inspect ) ) #(1 ) nil ) ) ) #(2 ) nil ) decodeAsLiteralArray 138: 139: ------------------------------------------------------------ 140: 141: MyFirstModel class method for 'interface specs' 142: 143: windowSpec 144: "Tools.UIPainter new openOnClass: self andSelector: #windowSpec" 145: 146: <resource: #canvas> 147: ^#(#{UI.FullSpec} 148: #window: 149: #(#{UI.WindowSpec} 150: #label: '初めてのアプリケーション' 151: #min: #(#{Core.Point} 200 150 ) 152: #max: #(#{Core.Point} 0 0 ) 153: #bounds: #(#{Graphics.Rectangle} 1080 570 1480 870 ) 154: #flags: 4 155: #menu: #menuBar ) 156: #component: 157: #(#{UI.SpecCollection} 158: #collection: #( 159: #(#{UI.ArbitraryComponentSpec} 160: #layout: #(#{Graphics.LayoutFrame} 2 0 2 0 -2 1 -2 1 ) 161: #name: #displayView 162: #flags: 11 163: #component: #displayView ) ) ) ) 164: 165: ================================================================================
This document was generated by KSU.TextDoclet on 2012/09/19 at 23:48:21.