[squeak-dev] The Trunk: Morphic-mt.1030.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Nov 6 09:01:38 UTC 2015


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

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

Name: Morphic-mt.1030
Author: mt
Time: 6 November 2015, 10:01:00.074 am
UUID: f7fad4f9-b91a-4345-8d10-88e34bb03951
Ancestors: Morphic-mt.1029

First attempt to document the halo concept. Please revise.

=============== Diff against Morphic-mt.1029 ===============

Item was changed:
  Morph subclass: #SimpleHaloMorph
  	instanceVariableNames: 'target positionOffset'
  	classVariableNames: ''
  	poolDictionaries: ''
  	category: 'Morphic-Widgets'!
  
+ !SimpleHaloMorph commentStamp: 'mt 11/6/2015 09:59' prior: 0!
+ This is a simple base class for halos in the system. It represents the minimal interface used to implement custom halo morphs. 
+ 
+ It provides:
+ 
+ - event handling code to invoke and transfer a halo when clicking the meta-button (blue)
+ - move the halo's target (morph) when click-hold-drag the meta-button
+ - one close button as a minimal handle (see #addHandles)
+ 
+ In general, the halo concept consists of one dedicated user interaction (meta-button click) to invoke an additional, interactive view (the halo) for any morph. This interactive view is itself a morph that can have submorphs (e.g. buttons or text fields) to enrich the target morph. Besides button-based interactions (e.g. resize, move, duplicate, etc.), this could also be used to show other, even domain-specific, information.
+ 
+ Use the halo concept to provide means to explore and modify interactive, graphical elements in Squeak and your application. You can benefit from this concept without wasting additional screen space. In non-Squeak applications, the meta-key (typically the mouse-wheel button) is often without real functionality for the user. There, it makes scrolling more convenient---at best. In Squeak, you can easily take advantage of this button click. 
+ 
+ Notice that direct user input is very limited. Many keyboard shortcuts (such as [ctrl]+[c]) are already pre-defined and should not be remapped for your domain-specific applications to avoid user confusion. Key chords (such as [ctrl]+[alt]+[v], [a] from Visual Studio) have to be learned with great effort. 
+ 
+ The left mouse click (red) selects something.
+ The right mouse click (yellow) invokes a context menu.
+ Only the middle click, the meta-key, the blue button, is unused in many environments.
+ 
+ This is where the halo concept comes in.
+ 
+ [For two- or single-button mice, the meta-key can be simulated.]!
- !SimpleHaloMorph commentStamp: 'mt 11/5/2015 09:52' prior: 0!
- This is a simple base class for halos in the system. It represents the minimal interface used to implement custom halo morphs.!



More information about the Squeak-dev mailing list