funfunfun26
ボタンを作ってみよ〜!!!
今度はボタンを作ってみることにしましょうかね。
■クラスを作る
SimpleButtonMorphを親にしまして新しくクラスを定義いたしましょう。
--------------------------------------------
SimpleButtonMorph subclass: #TestMorph17
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'MyMorph'
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )
■インスタンスをだしてみる
確認の為Workspaceに下記のコードを書いてドゥーイット。
--------------------------------------------
TestMorph17 new openInWorld
--------------------------------------------
Alt + d ( Cmd + d )
Missing File (/zoo/uploads/image1.jpg)
何の設定もしていないボタンなので押してもハイライトするだけでする。
■メソッドを追加ですな
初期設定をしましょうかいなっと。
ボタンに表示するラベルは「BEEP」
ボタンの色は黄色
ボタンのスタイルは「raised」
「target:」っていうのはメッセージを送る相手、今回は自分自身ね。
「actionSelector:」ってのは送るメッセージ(メソッド)ね。
「actWhen」はいつ実行するかだとおもうです。
--------------------------------------------
initialize
super initialize.
self label: ' BEEP '.
self color: Color yellow.
self borderColor: #raised.
self target: self.
self actionSelector: #beep.
self actWhen: #buttonUp.
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )
--------------------------------------------
TestMorph17 new openInWorld
--------------------------------------------
Alt + d ( Cmd + d )
クリックするとビープ音がなります。
いろいろ試してみると良いです。
--------------------------------------------
自分を削除する
self target: self.
self actionSelector: #delete.
--------------------------------------------
■ラウンチャボタンを作る
こんどはツールのランチャボタンをつくってみるです。
SimpleButtonMorphを親にしまして新しくクラスを定義いたしましょう。
--------------------------------------------
SimpleButtonMorph subclass: #TestMorph18
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'MyMorph'
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )
■メソッドを追加ですな
初期設定をしましょうかいなっと。
「target」は「Browser」
「actionSelector」は「#launchPartVia:label:」
「arguments」は「#prototypicalToolWindow #Browser」
--------------------------------------------
initialize
super initialize.
self label: ' BROWSER '.
self color: Color red.
self borderColor: #raised.
self target: Browser.
self actionSelector: #launchPartVia:label:.
self arguments: #(#prototypicalToolWindow #Browser).
self actWhen: #buttonUp.
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )
--------------------------------------------
TestMorph17 new openInWorld
--------------------------------------------
Alt + d ( Cmd + d )
ボタンをクリックするとブラウザがたちあがります。
いろいろ試してみてください。
--------------------------------------------
ワークスペースを出す
self target: Workspace
self actionSelector: #launchPartVia:label:
self arguments: #(#prototypicalToolWindow #Workspace)
トランススクリプトを出す
self target: TranscriptStream
self actionSelector: #launchPartVia:label:
self arguments: #(#openMorphicTranscript #Transcript)
ファイルリストを出す
self target: FileList
self actionSelector: #launchPartVia:label:
self arguments: #(#prototypicalToolWindow #'File List')
チェンジソーターを出す
self target: ChangeSorter
self actionSelector: #launchPartVia:label:
self arguments: #(#prototypicalToolWindow #'Change Set')
--------------------------------------------
▲PREV ------ ● TOP ● ------ NEXT▼
■ MEMO ■
Sunday, 29 February 2004, 10:22:03 pm
Window類はちょっと特殊ですな。ラウンチャボタンでtargetとかactionSelectorはどこみればいいかけっこうまよったです。で「Tools」フラップの各ツールのアイコンのハロをだして、デバッグハロで「inspect morph」を選択。出てきたインスペクタの左上のペインを見るとあるある・・・targetとactionSelector、argumentsが。--thoru
Links to this Page
- FunFunFunMorphic last edited on 25 March 2004 at 5:25:44 am by tk0005-202x210x196x109.ap-TK.usen.ad.jp
- funfunfun25 last edited on 17 June 2007 at 7:10:54 am by localhost.localdomain
- funfunfun27 last edited on 18 June 2007 at 5:47:41 am by localhost.localdomain