The Trunk: ToolBuilder-Kernel-mt.74.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: ToolBuilder-Kernel-mt.74.mcz

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

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

Name: ToolBuilder-Kernel-mt.74
Author: mt
Time: 11 April 2015, 8:13:18.068 am
UUID: c8bbd2e5-1fdf-6147-8f13-15e4582df4e3
Ancestors: ToolBuilder-Kernel-mt.73

New preference for opening tools. Custom tool builders may consider mouse activity and thus spawn new tools directly under the mouse cursor or attached to it.

Disabled by default.

=============== Diff against ToolBuilder-Kernel-mt.73 ===============

Item was changed:
  Object subclass: #ToolBuilder
  instanceVariableNames: 'parent'
+ classVariableNames: 'OpenToolsAttachedToMouseCursor'
- classVariableNames: ''
  poolDictionaries: ''
  category: 'ToolBuilder-Kernel'!
 
  !ToolBuilder commentStamp: '<historical>' prior: 0!
  I am a tool builder, that is an object which knows how to create concrete widgets from abstract specifications. Those specifications are used by tools which want to be able to function in diverse user interface paradigms, such as MVC, Morphic, Tweak, wxWidgets etc.
 
  The following five specs must be supported by all implementations:
  * PluggableButton
  * PluggableList
  * PluggableText
  * PluggablePanel
  * PluggableWindow
 
  The following specs are optional:
  * PluggableTree: If not supported, the tool builder must answer nil when asked for a pluggableTreeSpec. Substitution will require client support so clients must be aware that some tool builders may not support trees (MVC for example, or Seaside). See examples in FileListPlus or TestRunnerPlus.
  * PluggableMultiSelectionList: If multi-selection lists are not supported, tool builder will silently support regular single selection lists.
  * PluggableInputField: Intended as a HINT for the builder that this widget will be used as a single line input field. Unless explicitly supported it will be automatically substituted by PluggableText.
  * PluggableActionButton: Intended as a HINT for the builder that this widget will be used as push (action) button. Unless explicitly supported it will be automatically substituted by PluggableButton.
  * PluggableRadioButton: Intended as a HINT for the builder that this widget will be used as radio button. Unless explicitly supported it will be automatically substituted by PluggableButton.
  * PluggableCheckBox: Intended as a HINT for the builder that this widget will be used as check box. Unless explicitly supported it will be automatically substituted by PluggableButton.
  !

Item was added:
+ ----- Method: ToolBuilder class>>openToolsAttachedToMouseCursor (in category 'preferences') -----
+ openToolsAttachedToMouseCursor
+
+ <preference: 'Open Tools Attached to Mouse Cursor'
+ categoryList: #(Tools mouse)
+ description: 'If enabled, new tool windows will be attached to the mouse cursor to be positioned on screen with an additional click. Only, if a mouse event triggered that tool.'
+ type: #Boolean>
+ ^ OpenToolsAttachedToMouseCursor ifNil: [false]!

Item was added:
+ ----- Method: ToolBuilder class>>openToolsAttachedToMouseCursor: (in category 'preferences') -----
+ openToolsAttachedToMouseCursor: aBoolean
+
+ OpenToolsAttachedToMouseCursor := aBoolean.!