for VisualWorks 7.8 / 7.7 / 7.6 with Jun793
データが2次元に並んで表のようになったアプリケーション「データシート」を作成します。ガジェット(ウィジェット)としてテーブルを用いる練習になります。
|
どうぞ次のプログラムを実行してください。作成のための準備が整います。
| aCollection | (aCollection := OrderedCollection new) add: #url: -> 'http://www.cc.kyoto-su.ac.jp/~atsushi/Programs/VisualWorks/DataSheet/DataSheet.st'; add: #comment: -> 'Copyright 2008-2012 KSU (Kyoto Sangyo University). All Rights Reserved.'; add: #bundle: -> #KSU; add: #package: -> 'KSU-Template'; add: #nameSpace: -> #KSU; add: #category: -> 'KSU-Template'; add: #class: -> #{KSU.DataSheet}; add: #protocol: -> #examples; add: #selector: -> #example1; add: #execute: -> [#{KSU.DataSheet} value example1]; yourself. JunSystem perform: ((aCollection collect: [:each | each key]) inject: String new into: [:selector :key | selector , key]) asSymbol withArguments: (aCollection collect: [:each | each value]) asArray
|
インターフェースビルダ(GUI Canvas)やメニューエディタ(Menu Editor)などを用いて、すべてこしらえると…
|
約350行のプログラミング(このドックレット出力を見ながら)、おきばりやしとくれやす!
また、入力フィールドを不可視にしたり、セルのクリックで可視にしたり、少々の拡張を施したプログラムも参考にしていただけると助かります。
| aCollection | (aCollection := OrderedCollection new) add: #url: -> 'http://www.cc.kyoto-su.ac.jp/~atsushi/Programs/VisualWorks/DataSheet/EnhanceDataSheet.st'; add: #comment: -> 'Copyright 2008-2012 KSU (Kyoto Sangyo University). All Rights Reserved.'; add: #bundle: -> #KSU; add: #package: -> 'KSU-Template'; add: #nameSpace: -> #KSU; add: #category: -> 'KSU-Template'; add: #class: -> #{KSU.DataSheet}; add: #protocol: -> #examples; add: #selector: -> #example1; add: #execute: -> [#{KSU.EnhanceDataSheet} value example1]; yourself. JunSystem perform: ((aCollection collect: [:each | each key]) inject: String new into: [:selector :key | selector , key]) asSymbol withArguments: (aCollection collect: [:each | each value]) asArray
for VisualWorks 7.8 / 7.7 / 7.6 with Jun793