Smalltalk(Squeak/VisualWorks/etc.)総合スレ
■ このスレッドは過去ログ倉庫に格納されています
0036デフォルトの名無しさん
NGNGTextSqkProjectLinkのサブクラス(TextWkspWikiLinkとでもしま
しょうか(笑))を作って、actOnClickFor:を定義(オーバーライド)
します。メソッドとしてはとりあえず
actOnClickFor: anObject
| wikiWorkspaces |
wikiWorkspaces _ SystemWindow windowsIn: ActiveWorld satisfying: [ :w |
(w model isKindOf: Workspace) and: [
w label = url]].
wikiWorkspaces size = 0 ifTrue: [
Workspace new openAsMorphLabel: url. ^true].
wikiWorkspaces first activate.
^ true
てなぐあいでいかがでしょうか。動作テストするにはこれをParagraphEditor>>#changeEmphasis:のURLリンク作成あたりに置
き換える(具体的にはindex = 6 ifTrue: [attribute _ TextLink new.
のTextLinkをTextWkspWikiLinkに置き換える)とよろしかと。機能
的にこんなイメージでよければあとは重複しているalt-9あたりに割り
当てるべく作り込めばよいでしょう(alt-9はalt-shift-マイナスと
一緒です)。ただ、この仕様だとワークスペースのタイトルを変えた
りするとリンクが切れてしまうので、本格的なWiki(多くのWikiは
Wikiページのタイトル変更を許していないので仕様的にはSwiki)仕立
てにするには、ワークスペースのサブクラスをしたてるか、最終的
にはきちんとそれ用のオブジェクトを設計したほうがよいと思います。
■ このスレッドは過去ログ倉庫に格納されています