The Trunk: ToolBuilder-Morphic-ct.370.mcz

[email protected] Sun, 5 Jul 2026 22:32:51 0000
Newsgroups gmane.comp.lang.smalltalk.squeak.general
Message-ID <[email protected]>
Christoph Thiede uploaded a new version of ToolBuilder-Morphic to project The Trunk:
http://source.squeak.org/trunk/ToolBuilder-Morphic-ct.370.mcz

==================== Summary ====================

Name: ToolBuilder-Morphic-ct.370
Author: ct
Time: 6 July 2026, 12:32:50.710935 am
UUID: 2420cc8a-3a4d-4d32-b8bd-c9e2b1fcb0d7
Ancestors: ToolBuilder-Morphic-ct.369

Documents that morphic trees (as the single widget type in Morphic/MVC) do not yet support the new help blocks.

=============== Diff against ToolBuilder-Morphic-ct.369 ===============

Item was changed:
  ----- Method: MorphicToolBuilder>>buildPluggableTree: (in category 'widgets required') -----
  buildPluggableTree: aSpec
  	| widget |
  	widget := self treeClass new.
  	self register: widget id: aSpec name.
  
  	widget getLabelSelector: aSpec label.
  	widget getIconSelector: aSpec icon.
  
  	widget model: aSpec model.
  	widget nodeClass: aSpec nodeClass.
  
  	widget getRootsSelector: aSpec roots.
  	widget getChildrenSelector: aSpec getChildren.
  	widget hasChildrenSelector: aSpec hasChildren.
  
  	aSpec autoExpand isSymbol
  		ifTrue: [widget autoExpandSelector: aSpec autoExpand]
  		ifFalse: [widget autoExpand: aSpec autoExpand].
  	widget autoExpand ifTrue: [widget update: aSpec roots].
  	
  	widget filterMode: aSpec filterMode.
  	widget searchMode: aSpec searchMode.
  
  	widget getSelectedPathSelector: aSpec getSelectedPath.
  	widget setSelectedPathSelector: aSpec setSelectedPath.
  	widget getSelectedSelector: aSpec getSelected.
  	widget setSelectedSelector: aSpec setSelected.
  
  	widget setSelectedParentSelector: aSpec setSelectedParent.
  
+ 	aSpec help ifNotNil:
+ 		[aSpec help isSymbol ifFalse: [self halt: 'ct: Support for help blocks in morphic trees is not yet implemented. You can provide a selector instead.']].
  	widget getHelpSelector: aSpec help.
  	widget getMenuSelector: aSpec menu.
  
  	widget keystrokeActionSelector: aSpec keyPress.
  	widget autoDeselect: aSpec autoDeselect.
  	widget doubleClickSelector: aSpec doubleClick.
  	
  	widget dropItemSelector: aSpec dropItem.
  	widget wantsDropSelector: aSpec dropAccept.
  	widget dragItemSelector: aSpec dragItem.
  	widget dragStartedSelector: aSpec dragStarted.
  	widget dragTypeSelector: aSpec dragType.
  	
  	widget columns: aSpec columns.
  	
  	"Override default scroll bar policies if needed. Widget will use preference values otherwise."
  	aSpec hScrollBarPolicy ifNotNil: [:policy |
  		policy caseOf: {
  			[#always] -> [widget alwaysShowHScrollBar].
  			[#never] -> [widget hideHScrollBarIndefinitely].
  			[#whenNeeded] -> [widget showHScrollBarOnlyWhenNeeded]. } ].
  	aSpec vScrollBarPolicy ifNotNil: [:policy |
  		policy caseOf: {
  			[#always] -> [widget alwaysShowVScrollBar].
  			[#never] -> [widget hideVScrollBarIndefinitely].
  			[#whenNeeded] -> [widget showVScrollBarOnlyWhenNeeded]. } ].	
  	
  	self setFrame: aSpec frame in: widget.
  	self setLayoutHintsFor: widget spec: aSpec.
  	
  	parent ifNotNil:[self add: widget to: parent].
  "	panes ifNotNil:[
  		aSpec roots ifNotNil:[panes add: aSpec roots].
  	].	"
  	^widget!

Squeak-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]