[squeak-dev] Documentation idea

Rodney Polkinghorne rpolkinghorne at groupwise.swin.edu.au
Mon Jul 4 06:31:09 UTC 2011


I've been studying the Morphic classes, and today I had an idea on how
to document them.  See the following changeset.  Here's an example of
how it might be used:

SystemWindow collaborators do:
	[:each | HierarchyBrowserWindow
		onClass: each
		selector: nil]

This is obviously just a start.  If I expand the notes, do you think
it would be useful to distribute them?  If so, what would be a good
way to package them?

As a first milestone, I'd like this documentation to be self-hosting.
I.e., given the CRC cards for an image, a programmer of normal
intelligence and determination could extend the image with a morph
that displayed the cards.

Rodney


Change set follows:

'From Cuis 3.3 of 2 June 2011 [latest update: #1024] on 4 July 2011 at
4:14:56 pm'!

!LayoutMorph class methodsFor: 'documentation' stamp: 'resp 7/4/2011 16:02'!
collaborators
	^Set
		with: SystemWindow
		with: MorphExtension
		with: LayoutMorph! !

!LayoutMorph class methodsFor: 'documentation' stamp: 'resp 7/4/2011 16:13'!
responsibilities
	"Lay out my submorphs in a row or column"
	
	^self error: 'Documentation only'! !


!ScrollBar class methodsFor: 'documentation' stamp: 'resp 7/4/2011 15:27'!
collaborators
	^Set
		with: ScrollPane
		with: ScrollbarButton
		with: EventHandler! !

!ScrollBar class methodsFor: 'documentation' stamp: 'resp 7/4/2011 15:32'!
responsibilities
	"Display a scroll bar"
	"Handle my slider being dragged"
	"Ask my model to adjust itself when the user adjusts me"

	^self error: 'Documentation only'! !


!SystemWindow class methodsFor: 'documentation' stamp: 'resp 7/4/2011 14:06'!
collaborators
	^Set
		with: WindowEdgeAdjustingMorph
		with: LayoutMorph! !

!SystemWindow class methodsFor: 'documentation' stamp: 'resp 7/4/2011 14:18'!
responsibilities
	"Remember and display the window's title"
	"Construct the window's control buttons"
	"Construct  WindowEdgeResizingMorphs"
	"Lay out the mophs I construct"
	
	^self error: 'Documentation only'! !


!TextModelMorph class methodsFor: 'documentation' stamp: 'resp 7/4/2011 14:23'!
collaborators
	^Set
		with: TextModel
		with: TransformMorph
		with: ScrollBar! !

!TextModelMorph class methodsFor: 'documentation' stamp: 'resp 7/4/2011 14:25'!
responsibilities
	"Display a pane of externally stored text"
	
	^self error: 'Documentation only'! !


!TransformMorph class methodsFor: 'documentation' stamp: 'resp 7/4/2011 14:28'!
collaborators
	^Set new! !

!TransformMorph class methodsFor: 'documentation' stamp: 'resp 7/4/2011 14:31'!
responsibilities
	"Remember how coordinates relative to a pane correspond to world coordinates"
	"Display the pane in the world"
	
	^self error: 'Documentation only'! !


!WindowEdgeAdjustingMorph class methodsFor: 'documentation' stamp:
'resp 7/4/2011 14:54'!
collaborators
	^Set
		with: SystemWindow! !

!WindowEdgeAdjustingMorph class methodsFor: 'documentation' stamp:
'resp 7/4/2011 14:52'!
responsibilities
	"Associate resizing cursors with my owner's edges"
	"When I'm dragged, ask my owner to adjust its bounds"
	
	^self error: 'Documentation only'! !



More information about the Squeak-dev mailing list