1: ================================================================================
2:
3: Smalltalk.KSU defineClass: #SmalltalkRun
4: superclass: #{UI.ApplicationModel}
5: indexedType: #none
6: private: false
7: instanceVariableNames: 'codeTextHolder '
8: classInstanceVariableNames: ''
9: imports: ''
10: category: 'KSU-Template'
11:
12: ================================================================================
13:
14: KSU.SmalltalkRun method for 'aspects'
15:
16: codeTextHolder
17:
18: codeTextHolder
19: ifNil: [codeTextHolder := '"以下にSmalltalkのメッセージ式を書き、上部の実行ボタンを押してください。"\\3 + 4' withCRs asValue].
20: ^codeTextHolder
21:
22: ------------------------------------------------------------
23:
24: KSU.SmalltalkRun method for 'initialize-release'
25:
26: initialize
27:
28: super initialize.
29: codeTextHolder := nil.
30: ^self
31:
32: ------------------------------------------------------------
33:
34: KSU.SmalltalkRun method for 'actions'
35:
36: smalltalkRun
37:
38: self builder
39: ifNotNil:
40: [:aBuilder |
41: (aBuilder componentAt: #codeTextHolder)
42: ifNotNil:
43: [:aWrapper |
44: | aView aController |
45: aView := aWrapper widget.
46: aController := aView controller.
47: aController hasRangeSelection
48: ifTrue:
49: [aController printIt.
50: aView displaySelection: true]
51: ifFalse: [Dialog warn: '実行するためのメッセージ式を選択してください。']]]
52:
53: ================================================================================
54:
55: KSU.SmalltalkRun class
56: instanceVariableNames: ''
57:
58: ================================================================================
59:
60: KSU.SmalltalkRun class method for 'resources'
61:
62: codeTextMenu
63: "Tools.MenuEditor new openOnClass: self andSelector: #codeTextMenu"
64:
65: <resource: #menu>
66: ^#(#{UI.Menu} #(
67: #(#{UI.MenuItem}
68: #rawLabel: '登録'
69: #value: #accept )
70: #(#{UI.MenuItem}
71: #rawLabel: '整形'
72: #value: #formatSelection )
73: #(#{UI.MenuItem}
74: #rawLabel: '実行'
75: #value: #printIt )
76: #(#{UI.MenuItem}
77: #rawLabel: '検査'
78: #value: #inspectIt )
79: #(#{UI.MenuItem}
80: #rawLabel: 'カット'
81: #value: #cut )
82: #(#{UI.MenuItem}
83: #rawLabel: 'コピー'
84: #value: #copySelection )
85: #(#{UI.MenuItem}
86: #rawLabel: 'ペースト'
87: #value: #paste ) ) #(2 2 3 ) nil ) decodeAsLiteralArray
88:
89: ------------------------------------------------------------
90:
91: KSU.SmalltalkRun class method for 'examples'
92:
93: example1
94: "KSU.SmalltalkRun example1."
95:
96: | anApplication |
97: anApplication := KSU.SmalltalkRun new.
98: anApplication open.
99: ^anApplication
100:
101: ------------------------------------------------------------
102:
103: KSU.SmalltalkRun class method for 'resources'
104:
105: menuBar
106: "Tools.MenuEditor new openOnClass: self andSelector: #menuBar"
107:
108: <resource: #menu>
109: ^#(#{UI.Menu} #(
110: #(#{UI.MenuItem}
111: #rawLabel: 'ファイル'
112: #submenu: #(#{UI.Menu} #(
113: #(#{UI.MenuItem}
114: #rawLabel: '実行'
115: #value: #smalltalkRun )
116: #(#{UI.MenuItem}
117: #rawLabel: '終了'
118: #value: #closeRequest ) ) #(1 1 ) nil ) ) ) #(1 ) nil ) decodeAsLiteralArray
119:
120: ------------------------------------------------------------
121:
122: KSU.SmalltalkRun class method for 'resources'
123:
124: runIcon
125: "Tools.UIMaskEditor new openOnClass: self andSelector: #runIcon"
126:
127: <resource: #image>
128: ^CachedImage on: (Image extent: 16@16 depth: 1 bitsPerPixel: 1 palette: CoveragePalette monoMaskPalette usingBits: #[1 192 0 0 3 224 0 0 3 224 0 0 3 192 0 0 1 128 0 0 31 224 0 0 15 252 0 0 7 156 0 0 3 128 0 0 17 128 0 0 59 240 0 0 127 240 0 0 39 48 0 0 2 48 0 0 0 60 0 0 0 60 0 0])
129:
130: ------------------------------------------------------------
131:
132: KSU.SmalltalkRun class method for 'resources'
133:
134: toolBar
135: "Tools.MenuEditor new openOnClass: self andSelector: #toolBar"
136:
137: <resource: #menu>
138: ^#(#{UI.Menu} #(
139: #(#{UI.MenuItem}
140: #rawLabel: '実行'
141: #value: #smalltalkRun
142: #labelImage: #(#{UI.ResourceRetriever} #{KSU.SmalltalkRun} #runIcon ) ) ) #(1 ) nil ) decodeAsLiteralArray
143:
144: ------------------------------------------------------------
145:
146: KSU.SmalltalkRun class method for 'interface specs'
147:
148: windowSpec
149: "Tools.UIPainter new openOnClass: self andSelector: #windowSpec"
150:
151: <resource: #canvas>
152: ^#(#{UI.FullSpec}
153: #window:
154: #(#{UI.WindowSpec}
155: #label: 'スモールトーク実行'
156: #min: #(#{Core.Point} 300 200 )
157: #max: #(#{Core.Point} 0 0 )
158: #bounds: #(#{Graphics.Rectangle} 1079 650 1679 950 )
159: #flags: 4
160: #menu: #menuBar
161: #toolBar: #toolBar )
162: #component:
163: #(#{UI.SpecCollection}
164: #collection: #(
165: #(#{UI.TextEditorSpec}
166: #layout: #(#{Graphics.LayoutFrame} 1 0 1 0 -1 1 -1 1 )
167: #name: #codeTextHolder
168: #model: #codeTextHolder
169: #menu: #codeTextMenu
170: #tabRequiresControl: true ) ) ) )
171:
172: ================================================================================
This document was generated by KSU.TextDoclet on 2012/11/10 at 14:15:41.