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]