[squeak-dev] The Trunk: ToolBuilder-Kernel-mt.65.mcz

commits at source.squeak.org commits at source.squeak.org
Sat Mar 7 11:08:54 UTC 2015


Marcel Taeumel uploaded a new version of ToolBuilder-Kernel to project The Trunk:
http://source.squeak.org/trunk/ToolBuilder-Kernel-mt.65.mcz

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

Name: ToolBuilder-Kernel-mt.65
Author: mt
Time: 7 March 2015, 12:08:48.345 pm
UUID: fe29688a-cb67-3a48-980c-01ae7c7cf4dd
Ancestors: ToolBuilder-Kernel-bf.64

Pluggable tree specs extended with the concepts of columns, simple selections, custom node classes, and parent selections.

Preparation for refactored object explorer.

=============== Diff against ToolBuilder-Kernel-bf.64 ===============

Item was changed:
  PluggableWidgetSpec subclass: #PluggableTreeSpec
+ 	instanceVariableNames: 'roots getSelectedPath setSelected getSelected setSelectedParent getChildren hasChildren label icon unusedVar menu keyPress wantsDrop dropItem dropAccept autoDeselect dragItem nodeClass columns'
- 	instanceVariableNames: 'roots getSelectedPath setSelected getChildren hasChildren label icon unusedVar menu keyPress wantsDrop dropItem dropAccept autoDeselect dragItem'
  	classVariableNames: ''
  	poolDictionaries: ''
  	category: 'ToolBuilder-Kernel'!
  
  !PluggableTreeSpec commentStamp: 'mvdg 3/21/2008 20:59' prior: 0!
  A pluggable tree widget. PluggableTrees are slightly different from lists in such that they ALWAYS store the actual objects and use the label selector to query for the label of the item. PluggableTrees also behave somewhat differently in such that they do not have a "getSelected" message but only a getSelectedPath message. The difference is that getSelectedPath is used to indicate by the model that the tree should select the appropriate path. This allows disambiguation of items. Because of this, implementations of PluggableTrees must always set their internal selection directly, e.g., rather than sending the model a setSelected message and wait for an update of the #getSelected the implementation must set the selection before sending the #setSelected message. If a client doesn't want this, it can always just signal a change of getSelectedPath to revert to whatever is needed.
  
  Instance variables:
  	roots 	<Symbol>	The message to retrieve the roots of the tree.
  	getSelectedPath	<Symbol> The message to retrieve the selected path in the tree.
  	setSelected	<Symbol>	The message to set the selected item in the tree.
  	getChildren	<Symbol>	The message to retrieve the children of an item
  	hasChildren	<Symbol>	The message to query for children of an item
  	label 	<Symbol>	The message to query for the label of an item.
  	icon 	<Symbol>	The message to query for the icon of an item.
  	help 	<Symbol>	The message to query for the help of an item.
  	menu	<Symbol>	The message to query for the tree's menu
  	keyPress	<Symbol>	The message to process a keystroke.
  	wantsDrop	<Symbol>	The message to query whether a drop might be accepted.
  	dropItem	<Symbol>	The message to drop an item.
  	enableDrag <Boolean>	Enable dragging from this tree.
  	autoDeselect	<Boolean>	Whether the tree should allow automatic deselection or not.
  	unusedVar	(unused)	This variable is a placeholder to fix problems with loading packages in 3.10.!

Item was added:
+ ----- Method: PluggableTreeSpec>>columns (in category 'accessing') -----
+ columns
+ 	^ columns!

Item was added:
+ ----- Method: PluggableTreeSpec>>columns: (in category 'accessing') -----
+ columns: columnSpecs
+ 	columns := columnSpecs.!

Item was added:
+ ----- Method: PluggableTreeSpec>>getSelected (in category 'accessing') -----
+ getSelected
+ 	^ getSelected!

Item was added:
+ ----- Method: PluggableTreeSpec>>getSelected: (in category 'accessing') -----
+ getSelected: aSymbol
+ 	"Indicate a single node in the tree. Only works if that node is visible, too. Use #getSelectedPath otherwise."
+ 	
+ 	getSelected := aSymbol.!

Item was added:
+ ----- Method: PluggableTreeSpec>>nodeClass (in category 'accessing') -----
+ nodeClass
+ 	^ nodeClass!

Item was added:
+ ----- Method: PluggableTreeSpec>>nodeClass: (in category 'accessing') -----
+ nodeClass: aListWrapperClass
+ 	nodeClass := aListWrapperClass.!

Item was added:
+ ----- Method: PluggableTreeSpec>>setSelectedParent (in category 'accessing') -----
+ setSelectedParent
+ 	^ setSelectedParent!

Item was added:
+ ----- Method: PluggableTreeSpec>>setSelectedParent: (in category 'accessing') -----
+ setSelectedParent: aSymbol
+ 	setSelectedParent := aSymbol!



More information about the Squeak-dev mailing list