1: ================================================================================
2:
3: Smalltalk defineClass: #MyFirstModel
4: superclass: #{UI.ApplicationModel}
5: indexedType: #none
6: private: false
7: instanceVariableNames: 'rectangles '
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 controllerAt: #displayView)
40: ifNotNil: [:aController | aController processKeyboardEvent: event]].
41: super postBuildWith: aBuilder
42:
43: ------------------------------------------------------------
44:
45: MyFirstModel method for 'accessing'
46:
47: rectangles
48:
49: rectangles ifNil: [rectangles := OrderedCollection new].
50: ^rectangles
51:
52: ================================================================================
53:
54: Smalltalk.MyFirstModel class
55: instanceVariableNames: ''
56:
57: ================================================================================
58:
59: MyFirstModel class method for 'examples'
60:
61: example1
62: "MyFirstModel example1."
63:
64: | aModel |
65: aModel := MyFirstModel new.
66: aModel open.
67: ^aModel
68:
69: ------------------------------------------------------------
70:
71: MyFirstModel class method for 'examples'
72:
73: example2
74: "MyFirstModel example2."
75:
76: | aModel |
77: aModel := MyFirstModel new.
78: aModel addRectangle: (10 @ 10 extent: 100 @ 50).
79: aModel addRectangle: (200 @ 200 extent: 100 @ 50).
80: aModel addRectangle: (350 @ 250 extent: 100 @ 50).
81: aModel open.
82: ^aModel
83:
84: ------------------------------------------------------------
85:
86: MyFirstModel class method for 'resources'
87:
88: menuBar
89: "Tools.MenuEditor new openOnClass: self andSelector: #menuBar"
90:
91: <resource: #menu>
92: ^#(#{UI.Menu} #(
93: #(#{UI.MenuItem}
94: #rawLabel: 'ファイル'
95: #submenu: #(#{UI.Menu} #(
96: #(#{UI.MenuItem}
97: #rawLabel: '終了'
98: #value: #closeRequest ) ) #(1 ) nil ) )
99: #(#{UI.MenuItem}
100: #rawLabel: 'その他'
101: #submenu: #(#{UI.Menu} #(
102: #(#{UI.MenuItem}
103: #rawLabel: '検査'
104: #value: #inspect ) ) #(1 ) nil ) ) ) #(2 ) nil ) decodeAsLiteralArray
105:
106: ------------------------------------------------------------
107:
108: MyFirstModel class method for 'interface specs'
109:
110: windowSpec
111: "Tools.UIPainter new openOnClass: self andSelector: #windowSpec"
112:
113: <resource: #canvas>
114: ^#(#{UI.FullSpec}
115: #window:
116: #(#{UI.WindowSpec}
117: #label: '初めてのアプリケーション'
118: #min: #(#{Core.Point} 200 150 )
119: #max: #(#{Core.Point} 0 0 )
120: #bounds: #(#{Graphics.Rectangle} 1080 570 1480 870 )
121: #flags: 4
122: #menu: #menuBar )
123: #component:
124: #(#{UI.SpecCollection}
125: #collection: #(
126: #(#{UI.ArbitraryComponentSpec}
127: #layout: #(#{Graphics.LayoutFrame} 2 0 2 0 -2 1 -2 1 )
128: #name: #displayView
129: #flags: 11
130: #component: #displayView ) ) ) )
131:
132: ================================================================================
This document was generated by KSU.TextDoclet on 2012/09/14 at 09:27:11.