ぐる式 (貳) より引っ越し作業中.未完.

2007年7月22日日曜日

Squeak: Pier #3 小人閑居為不全, PRPierControlPanel of Bygone Days

Kernel Manager の Persistency コントロールは無意味だった orz

PRImagePersistency のプロセス.

process	(Delay forDuration: self duration)		wait.	process := nil.	self snapshot

こいつをブロックに入れて蹴り出している.

	self isRunning		ifTrue: [ ^ self ].	process := [ self process ]		forkAt: 30 named: 'pier'

ちゃんと読めば判るとおり,こいつは実行後に自決するんである.じゃ,こいつを起こすのは誰?

PRCommand>>execute	"Execute the command of the receiver. To implement your action in the code of 	one of my subclasses. Never override this message, but instead have a look at 	the different template methods (==#doValidate==, ==#doExecute==, ==#doAnswer==) 	available in the events protocol."	self assert: self context command == self.	self isView		ifTrue: [ self shouldNotImplement ].	self timestamp: TimeStamp now.	self kernel persistency		execute: self.	self doAnswer'

クラス階層は以下のとおり.

            PRCommand #('timestamp' 'context' 'answer' 'checked')                PRAddCommand #('name' 'type' 'link')                PRChangeEnvironment #('environment')                PRComponentSettings #('settings')                PREditCommand #('fields')                PRLocationCommand #('name' 'target')                    PRCopyCommand #()                    PRMoveCommand #()                PRRemoveCommand #()                PRViewCommand #()                PUChangeSecurity #('with' 'all' 'hidden' 'operator' 'permissions')                    PUChangeGroup #('group')                    PUChangeOther #()                    PUChangeOwner #('owner')                PUChangeUser #('ancestor')                    NRPUChangePassword #('username' 'password1' 'password2' 'user')                    PULogin #('username' 'password' 'user')                    PULogout #()

つまり,昨日の Kernel Manager のうち, Persistency に関するものは意味がねぇってこった orz.

PRPierControlPanel

以下はもう配布してないと思うけど, Seaside + Magma +Pier の Squeak3.9-RC2-7064-SMP と呼ばれていたブライトン・パッケージ (Brighton... an image of pier 1.0.5 alpha++.) の /seaside/pier/ の PRPierControlPanel.

  • Seside Seside DispatchBrowserPier ControlPanel

今の Pier にはもうこのクラスはないが, WADispatcherEditorPlugin subclass: #PRPierControlPanel となっている.スーパー・クラス自体はあるし, canBeRoottrue を返して クラスの initialize 時 に WADispatcherEditor addPlugin: self するようにしとけば表示されるっぽい.お〜.

0 件のコメント:

コメントを投稿