[Seaside] Tree of Seaside classes

Romain Robbes rrobbes at info.unicaen.fr
Thu Sep 16 16:22:18 CEST 2004


It seems that some of Codecrawler's windows that were still open where 
the cause of the
problem. Try this image :

http://users.info.unicaen.fr/~rrobbes/seaside/ccseaside2.tgz


Then you have to click on the CodeCrawler button in the launcher,
and select one view in the "apply view" menu.
The best to start is the "System Complexity View".
(IIRC The width of the rectangle is the number of attributes, the 
height the number of methods,
and the color the number of lines of code)
To view a particular class, select it, and go in the "Spawn view" menu.
Then select the "Named Class Blueprint view".

Tell me if there are still problems.

Romain


On Sep 16, 2004, at 4:01 PM, Damien Cassou wrote:

> Romain Robbes a écrit :
>> Hi all,
>> I took the time to set up a visualworks image with moose, codecrawler 
>> and seaside loaded as a moose model,
>> so that you (or anyone else ...) can use it to understand Seaside 
>> better.
>> Just download and untar the following image :
>> http://users.info.unicaen.fr/~rrobbes/seaside/
>> Here you might find some doc on Codecrawler, or at least links to 
>> publications.
>> http://scgwiki.iam.unibe.ch:8080/CodeCrawler/1
>> Note that you still have to register to download visualworks :
>> http://smalltalk.cincom.com/downloads/index.ssp?content=visualworks
>
> Thanks for your help, but your image generates hundreds (thousands ?) 
> dialogs which tells : "unhandled exception nil". I've joined the stack 
> given by the "Copy Stack button".
>
> Damien
>
> Unhandled exception: nil
> ScreenGraphicsContext(GraphicsContext)>>paint:
> DoubleBufferingWindowDisplayPolicy>>displayDamageList:in:
> ApplicationWindow(ScheduledWindow)>>displayDamageEvent:
> ApplicationWindow(ScheduledWindow)>>checkForEvents
> optimized [] in [] in WindowManager>>repairDamagesExcept:
> OrderedCollection>>do:
> optimized [] in WindowManager>>repairDamagesExcept:
> BlockClosure>>on:do:
> WindowManager>>repairDamagesExcept:
> WindowManager>>repairDamages
> WindowManager>>processNextEvent
> optimized [] in [] in WindowManager>>newProcess
> BlockClosure>>on:do:
> optimized [] in WindowManager>>newProcess
> BlockClosure>>on:do:
> optimized [] in Process class>>forBlock:priority:
>
> ----------------------------------------------------------------------
> ScreenGraphicsContext(GraphicsContext)>>paint:
> Receiver:
> 	a ScreenGraphicsContext
> Instance Variables:
> 	medium = a Pixmap
> 	clipOriginX = 2
> 	clipOriginY = 122
> 	clipWidth = 996
> 	clipHeight = 552
> 	lineWidth = 1
> 	capStyle = 1
> 	joinStyle = 1
> 	deviceFont = a GraphicsHandle(135335968)
> 	devicePaint = 0
> 	offsetX = 0
> 	offsetY = 0
> 	phaseX = 0
> 	phaseY = 0
> 	scaleX = 1
> 	scaleY = 1
> 	font = a XFont
> 	paint = ColorValue black
> 	paintPolicy = a PaintPolicy
> 	fontPolicy = a FontPolicy
> 	clientData = nil
> 	paintPreferences = nil
> Arguments:
> 	t1 = a DevicePaint
> Context PC = 16
>
> ----------------------------------------------------------------------
> DoubleBufferingWindowDisplayPolicy>>displayDamageList:in:
> Receiver:
> 	a DoubleBufferingWindowDisplayPolicy
> Instance Variables:
> 	pixmap = a Pixmap
> Arguments:
> 	t1 = an Array[2]
> 	t2 = an ApplicationWindow 27263012
> Temporaries:
> 	t3 = 2 at 122 corner: 998 at 674
> 	t4 = a Pixmap
> 	t5 = a ScreenGraphicsContext
> 	t6 = nil
> 	t7 = nil
> Context PC = 29
>
> ----------------------------------------------------------------------
> ApplicationWindow(ScheduledWindow)>>displayDamageEvent:
> Receiver:
> 	an ApplicationWindow
> Instance Variables:
> 	handle = a GraphicsHandle(27263012)
> 	width = 1000
> 	height = 700
> 	background = a DevicePaint
> 	inputOrigin = 12 at 44
> 	creationOrigin = 12 at 44
> 	sensor = an EventSensor
> 	iconic = false
> 	windowType = #normal
> 	effectiveWindowType = nil
> 	statusLineHeight = 0
> 	allowsStatusLine = true
> 	mapped = true
> 	eventHandlers = nil
> 	windowManager = a WindowManager
> 	label = 'CodeCrawler - System Complexity View'
> 	icon = an Icon
> 	minimumSize = 640 at 480
> 	maximumSize = 1600 at 1200
> 	component = a ReComposingComposite
> 	lookPreferences = nil
> 	paintPreferences = nil
> 	edgeDecorationPolicy = a MacOSXBorderDecorationPolicy
> 	widgetPolicy = a MacOSXWidgetPolicy
> 	controller = an ApplicationStandardSystemController
> 	model = a CodeCrawler.CodeCrawler
> 	damageRepairPolicy = a DoubleBufferingWindowDisplayPolicy
> 	masterWindow = nil
> 	keyboardProcessor = a KeyboardProcessor
> 	application = nil
> 	sendWindowEvents = nil
> 	receiveWindowEvents = nil
> 	windowEventBlock = nil
> 	damageRepairIsLazy = true
> 	activationNotification = true
> 	isEventDriven = nil
> 	toolbarVisible = true
> 	dropTarget = nil
> 	dragDropInProgress = nil
> 	dragDropTracker = nil
> Arguments:
> 	t1 = an Array[2]
> Context PC = 7
>
> ----------------------------------------------------------------------
> ApplicationWindow(ScheduledWindow)>>checkForEvents
> Receiver:
> 	an ApplicationWindow
> Instance Variables:
> 	handle = a GraphicsHandle(27263012)
> 	width = 1000
> 	height = 700
> 	background = a DevicePaint
> 	inputOrigin = 12 at 44
> 	creationOrigin = 12 at 44
> 	sensor = an EventSensor
> 	iconic = false
> 	windowType = #normal
> 	effectiveWindowType = nil
> 	statusLineHeight = 0
> 	allowsStatusLine = true
> 	mapped = true
> 	eventHandlers = nil
> 	windowManager = a WindowManager
> 	label = 'CodeCrawler - System Complexity View'
> 	icon = an Icon
> 	minimumSize = 640 at 480
> 	maximumSize = 1600 at 1200
> 	component = a ReComposingComposite
> 	lookPreferences = nil
> 	paintPreferences = nil
> 	edgeDecorationPolicy = a MacOSXBorderDecorationPolicy
> 	widgetPolicy = a MacOSXWidgetPolicy
> 	controller = an ApplicationStandardSystemController
> 	model = a CodeCrawler.CodeCrawler
> 	damageRepairPolicy = a DoubleBufferingWindowDisplayPolicy
> 	masterWindow = nil
> 	keyboardProcessor = a KeyboardProcessor
> 	application = nil
> 	sendWindowEvents = nil
> 	receiveWindowEvents = nil
> 	windowEventBlock = nil
> 	damageRepairIsLazy = true
> 	activationNotification = true
> 	isEventDriven = nil
> 	toolbarVisible = true
> 	dropTarget = nil
> 	dragDropInProgress = nil
> 	dragDropTracker = nil
> Temporaries:
> 	t1 = an Array[2]
> Context PC = 33
>
> ----------------------------------------------------------------------
> optimized [] in [] in WindowManager>>repairDamagesExcept:
> Receiver:
> 	an UndefinedObject
> Arguments:
> 	t2 = an ApplicationWindow 27263012
> Temporaries:
> 	.t1 = nil
> Context PC = 10
>
> ----------------------------------------------------------------------
> OrderedCollection>>do:
> Receiver:
> 	an OrderedCollection
> Instance Variables:
> 	firstIndex = 1
> 	lastIndex = 2
> Arguments:
> 	t1 = BlockClosure [] in [] in WindowManager>>repairDamagesExcept:
> Temporaries:
> 	t2 = 2
> 	t3 = 2
> Context PC = 17
>
> ----------------------------------------------------------------------
> optimized [] in WindowManager>>repairDamagesExcept:
> Receiver:
> 	an UndefinedObject
> Temporaries:
> 	.self = a WindowManager
> 	.t1 = nil
> Context PC = 13
>
> ----------------------------------------------------------------------
> BlockClosure>>on:do:
> Receiver:
> 	a BlockClosure
> Instance Variables:
> 	method = CompiledBlock [] in WindowManager>>repairDamagesExcept:
> 	outerContext = nil
> 	copiedValues = an Array[2]
> Arguments:
> 	t1 = ClosedWindowNotification
> 	t2 = BlockClosure [] in WindowManager>>repairDamagesExcept:
> Context PC = 18
>
> ----------------------------------------------------------------------
> WindowManager>>repairDamagesExcept:
> Receiver:
> 	a WindowManager
> Instance Variables:
> 	windows = an OrderedCollection[2]
> 	activeController = an ApplicationStandardSystemController
> 	interruptLock = false
> 	outstandingMetaOrDamage = false
> 	modalWindowChain = nil
> 	openInProgress = false
> 	eventQueue = an EventQueue
> 	baseProcess = a Process in Semaphore>>wait
> 	dontFilterEvents = true
> Arguments:
> 	t1 = nil
> Context PC = 16
>
> ----------------------------------------------------------------------
> WindowManager>>repairDamages
> Receiver:
> 	a WindowManager
> Instance Variables:
> 	windows = an OrderedCollection[2]
> 	activeController = an ApplicationStandardSystemController
> 	interruptLock = false
> 	outstandingMetaOrDamage = false
> 	modalWindowChain = nil
> 	openInProgress = false
> 	eventQueue = an EventQueue
> 	baseProcess = a Process in Semaphore>>wait
> 	dontFilterEvents = true
> Context PC = 5
>
> ----------------------------------------------------------------------
> WindowManager>>processNextEvent
> Receiver:
> 	a WindowManager
> Instance Variables:
> 	windows = an OrderedCollection[2]
> 	activeController = an ApplicationStandardSystemController
> 	interruptLock = false
> 	outstandingMetaOrDamage = false
> 	modalWindowChain = nil
> 	openInProgress = false
> 	eventQueue = an EventQueue
> 	baseProcess = a Process in Semaphore>>wait
> 	dontFilterEvents = true
> Temporaries:
> 	t1 = a WindowExitEvent
> Context PC = 15
>
> ----------------------------------------------------------------------
> optimized [] in [] in WindowManager>>newProcess
> Receiver:
> 	an UndefinedObject
> Temporaries:
> 	.self = a WindowManager
> Context PC = 13
>
> ----------------------------------------------------------------------
> BlockClosure>>on:do:
> Receiver:
> 	a BlockClosure
> Instance Variables:
> 	method = CompiledBlock [] in [] in WindowManager>>newProcess
> 	outerContext = nil
> 	copiedValues = a WindowManager
> Arguments:
> 	t1 = TerminateException
> 	t2 = BlockClosure [] in [] in WindowManager>>newProcess
> Context PC = 18
>
> ----------------------------------------------------------------------
> optimized [] in WindowManager>>newProcess
> Receiver:
> 	an UndefinedObject
> Temporaries:
> 	.self = a WindowManager
> Context PC = 15
>
> ----------------------------------------------------------------------
> BlockClosure>>on:do:
> Receiver:
> 	a BlockClosure
> Instance Variables:
> 	method = CompiledBlock [] in WindowManager>>newProcess
> 	outerContext = nil
> 	copiedValues = a WindowManager
> Arguments:
> 	t1 = TerminateException
> 	t2 = BlockClosure [] in [] in Process class>>forBlock:priority:
> Context PC = 18
>
> ----------------------------------------------------------------------
> optimized [] in Process class>>forBlock:priority:
> Receiver:
> 	an UndefinedObject
> Temporaries:
> 	.t1 = BlockClosure [] in WindowManager>>newProcess
> Context PC = 9
> _______________________________________________
> Seaside mailing list
> Seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/listinfo/seaside
>



More information about the Seaside mailing list