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.