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.