I've just posted Morphic-cmm.372, which introduces
AlternatePluggableListMorphOfMany. (Be sure to also get Tools-cmm.200). Those concerned with Squeak being familiar to new-users may appreciate this; it is basically the same as the standard PluggableListMorphOfMany, but allowing range-selections via Shift+clicking. Also, swipe-selecting does not miss interim selections (e.g., in the middle of the swipe). Now, I have not changed any existing users of PluggableListMorphOfMany to use AlternatePluggableListMorphOfMany, but there is a demonstration of it by enabling on the preference, "traceMessages" in the Preferences. This will utilize a MessageTrace instead of a MessageSet when browsing senders/implementors. If we like it, we can convert some or all of the legacy PluggableListMorphOfMany's to the new one and then rename it. Or if there is a need for both then both or, if we don't like it, of course, it can easily be deleted.. - Chris |
Looking for senders or implementors after setting the pref yields in
an error for me right now MorphicToolBuilder(Object)>>doesNotUnderstand: #pluggableAlternateMultiSelectionListSpec Receiver: a MorphicToolBuilder Arguments and temporary variables: aMessage: pluggableAlternateMultiSelectionListSpec exception: MessageNotUnderstood: MorphicToolBuilder>>pluggableAlternateMultiSel...etc... resumeValue: nil Receiver's instance variables: parent: nil widgets: nil panes: nil parentMenu: nil MessageTrace>>buildMessageListWith: Receiver: a MessageTrace Arguments and temporary variables: builder: a MorphicToolBuilder listSpec: nil Receiver's instance variables: dependents: nil contents: '' currentCompiledMethod: nil contentsSymbol: nil systemOrganizer: ('Kernel-Chronology' ChronologyConstants Date DateAndTime Dura...etc... classOrganizer: nil metaClassOrganizer: nil systemCategoryListIndex: 0 classListIndex: 0 messageCategoryListIndex: 0 messageListIndex: 1 editSelection: #none metaClassIndicated: false messageList: an OrderedCollection(a MethodReference Class >> hasMethods a Metho...etc... autoSelectString: 'hasMethods' growable: nil autoSelectStrings: an OrderedCollection('hasMethods' 'hasMethods' 'hasMethods' ...etc... messageSelections: an OrderedCollection(true false false false false false fals...etc... anchorIndex: nil [] in MessageTrace(MessageSet)>>buildWith: Receiver: a MessageTrace Arguments and temporary variables: <<error during printing> Receiver's instance variables: dependents: nil contents: '' currentCompiledMethod: nil contentsSymbol: nil systemOrganizer: ('Kernel-Chronology' ChronologyConstants Date DateAndTime Dura...etc... classOrganizer: nil metaClassOrganizer: nil systemCategoryListIndex: 0 classListIndex: 0 messageCategoryListIndex: 0 messageListIndex: 1 editSelection: #none metaClassIndicated: false messageList: an OrderedCollection(a MethodReference Class >> hasMethods a Metho...etc... autoSelectString: 'hasMethods' growable: nil autoSelectStrings: an OrderedCollection('hasMethods' 'hasMethods' 'hasMethods' ...etc... messageSelections: an OrderedCollection(true false false false false false fals...etc... anchorIndex: nil [] in MessageTrace(StringHolder)>>buildWindowWith:specs: Receiver: a MessageTrace Arguments and temporary variables: <<error during printing> Receiver's instance variables: dependents: nil contents: '' currentCompiledMethod: nil contentsSymbol: nil systemOrganizer: ('Kernel-Chronology' ChronologyConstants Date DateAndTime Dura...etc... classOrganizer: nil metaClassOrganizer: nil systemCategoryListIndex: 0 classListIndex: 0 messageCategoryListIndex: 0 messageListIndex: 1 editSelection: #none metaClassIndicated: false messageList: an OrderedCollection(a MethodReference Class >> hasMethods a Metho...etc... autoSelectString: 'hasMethods' growable: nil autoSelectStrings: an OrderedCollection('hasMethods' 'hasMethods' 'hasMethods' ...etc... messageSelections: an OrderedCollection(true false false false false false fals...etc... anchorIndex: nil --- The full stack --- MorphicToolBuilder(Object)>>doesNotUnderstand: #pluggableAlternateMultiSelectionListSpec MessageTrace>>buildMessageListWith: [] in MessageTrace(MessageSet)>>buildWith: [] in MessageTrace(StringHolder)>>buildWindowWith:specs: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Array(SequenceableCollection)>>do: MessageTrace(StringHolder)>>buildWindowWith:specs: MessageTrace(MessageSet)>>buildWith: MorphicToolBuilder(ToolBuilder)>>build: MorphicToolBuilder>>open: MorphicToolBuilder>>open:label: ToolBuilder class>>open:label: MessageTrace class(MessageSet class)>>openMessageList:name:autoSelect: StandardToolSet class>>browseMessageSet:name:autoSelect: ToolSet class>>browseMessageSet:name:autoSelect: SystemNavigation>>browseMessageList:name:autoSelect: SystemNavigation>>browseAllCallsOn: SmalltalkEditor(TextEditor)>>sendersOfIt ...etc... On Wed, Mar 3, 2010 at 22:24, Chris Muller <[hidden email]> wrote: > I've just posted Morphic-cmm.372, which introduces > AlternatePluggableListMorphOfMany. (Be sure to also get > Tools-cmm.200). Those concerned with Squeak being familiar to > new-users may appreciate this; it is basically the same as the > standard PluggableListMorphOfMany, but allowing range-selections via > Shift+clicking. Also, swipe-selecting does not miss interim > selections (e.g., in the middle of the swipe). > > Now, I have not changed any existing users of PluggableListMorphOfMany > to use AlternatePluggableListMorphOfMany, but there is a demonstration > of it by enabling on the preference, "traceMessages" in the > Preferences. This will utilize a MessageTrace instead of a MessageSet > when browsing senders/implementors. > > If we like it, we can convert some or all of the legacy > PluggableListMorphOfMany's to the new one and then rename it. Or if > there is a need for both then both or, if we don't like it, of course, > it can easily be deleted.. > > - Chris > > |
Ok, I guess I was too quick
On Wed, Mar 3, 2010 at 22:34, Alexander Lazarević <[hidden email]> wrote: > Looking for senders or implementors after setting the pref yields in > an error for me right now > > MorphicToolBuilder(Object)>>doesNotUnderstand: > #pluggableAlternateMultiSelectionListSpec > Receiver: a MorphicToolBuilder > Arguments and temporary variables: > aMessage: pluggableAlternateMultiSelectionListSpec > exception: MessageNotUnderstood: > MorphicToolBuilder>>pluggableAlternateMultiSel...etc... > resumeValue: nil > Receiver's instance variables: > parent: nil > widgets: nil > panes: nil > parentMenu: nil > > MessageTrace>>buildMessageListWith: > Receiver: a MessageTrace > Arguments and temporary variables: > builder: a MorphicToolBuilder > listSpec: nil > Receiver's instance variables: > dependents: nil > contents: '' > currentCompiledMethod: nil > contentsSymbol: nil > systemOrganizer: ('Kernel-Chronology' ChronologyConstants Date > DateAndTime Dura...etc... > classOrganizer: nil > metaClassOrganizer: nil > systemCategoryListIndex: 0 > classListIndex: 0 > messageCategoryListIndex: 0 > messageListIndex: 1 > editSelection: #none > metaClassIndicated: false > messageList: an OrderedCollection(a MethodReference Class >> > hasMethods a Metho...etc... > autoSelectString: 'hasMethods' > growable: nil > autoSelectStrings: an OrderedCollection('hasMethods' 'hasMethods' > 'hasMethods' ...etc... > messageSelections: an OrderedCollection(true false false false > false false fals...etc... > anchorIndex: nil > > [] in MessageTrace(MessageSet)>>buildWith: > Receiver: a MessageTrace > Arguments and temporary variables: > <<error during printing> > Receiver's instance variables: > dependents: nil > contents: '' > currentCompiledMethod: nil > contentsSymbol: nil > systemOrganizer: ('Kernel-Chronology' ChronologyConstants Date > DateAndTime Dura...etc... > classOrganizer: nil > metaClassOrganizer: nil > systemCategoryListIndex: 0 > classListIndex: 0 > messageCategoryListIndex: 0 > messageListIndex: 1 > editSelection: #none > metaClassIndicated: false > messageList: an OrderedCollection(a MethodReference Class >> > hasMethods a Metho...etc... > autoSelectString: 'hasMethods' > growable: nil > autoSelectStrings: an OrderedCollection('hasMethods' 'hasMethods' > 'hasMethods' ...etc... > messageSelections: an OrderedCollection(true false false false > false false fals...etc... > anchorIndex: nil > > [] in MessageTrace(StringHolder)>>buildWindowWith:specs: > Receiver: a MessageTrace > Arguments and temporary variables: > <<error during printing> > Receiver's instance variables: > dependents: nil > contents: '' > currentCompiledMethod: nil > contentsSymbol: nil > systemOrganizer: ('Kernel-Chronology' ChronologyConstants Date > DateAndTime Dura...etc... > classOrganizer: nil > metaClassOrganizer: nil > systemCategoryListIndex: 0 > classListIndex: 0 > messageCategoryListIndex: 0 > messageListIndex: 1 > editSelection: #none > metaClassIndicated: false > messageList: an OrderedCollection(a MethodReference Class >> > hasMethods a Metho...etc... > autoSelectString: 'hasMethods' > growable: nil > autoSelectStrings: an OrderedCollection('hasMethods' 'hasMethods' > 'hasMethods' ...etc... > messageSelections: an OrderedCollection(true false false false > false false fals...etc... > anchorIndex: nil > > > --- The full stack --- > MorphicToolBuilder(Object)>>doesNotUnderstand: > #pluggableAlternateMultiSelectionListSpec > MessageTrace>>buildMessageListWith: > [] in MessageTrace(MessageSet)>>buildWith: > [] in MessageTrace(StringHolder)>>buildWindowWith:specs: > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > Array(SequenceableCollection)>>do: > MessageTrace(StringHolder)>>buildWindowWith:specs: > MessageTrace(MessageSet)>>buildWith: > MorphicToolBuilder(ToolBuilder)>>build: > MorphicToolBuilder>>open: > MorphicToolBuilder>>open:label: > ToolBuilder class>>open:label: > MessageTrace class(MessageSet class)>>openMessageList:name:autoSelect: > StandardToolSet class>>browseMessageSet:name:autoSelect: > ToolSet class>>browseMessageSet:name:autoSelect: > SystemNavigation>>browseMessageList:name:autoSelect: > SystemNavigation>>browseAllCallsOn: > SmalltalkEditor(TextEditor)>>sendersOfIt > ...etc... > > > On Wed, Mar 3, 2010 at 22:24, Chris Muller <[hidden email]> wrote: >> I've just posted Morphic-cmm.372, which introduces >> AlternatePluggableListMorphOfMany. (Be sure to also get >> Tools-cmm.200). Those concerned with Squeak being familiar to >> new-users may appreciate this; it is basically the same as the >> standard PluggableListMorphOfMany, but allowing range-selections via >> Shift+clicking. Also, swipe-selecting does not miss interim >> selections (e.g., in the middle of the swipe). >> >> Now, I have not changed any existing users of PluggableListMorphOfMany >> to use AlternatePluggableListMorphOfMany, but there is a demonstration >> of it by enabling on the preference, "traceMessages" in the >> Preferences. This will utilize a MessageTrace instead of a MessageSet >> when browsing senders/implementors. >> >> If we like it, we can convert some or all of the legacy >> PluggableListMorphOfMany's to the new one and then rename it. Or if >> there is a need for both then both or, if we don't like it, of course, >> it can easily be deleted.. >> >> - Chris >> >> > |
In reply to this post by Chris Muller-3
On 03.03.2010, at 22:24, Chris Muller wrote:
> > I've just posted Morphic-cmm.372, which introduces > AlternatePluggableListMorphOfMany. (Be sure to also get > Tools-cmm.200). Those concerned with Squeak being familiar to > new-users may appreciate this; it is basically the same as the > standard PluggableListMorphOfMany, but allowing range-selections via > Shift+clicking. Also, swipe-selecting does not miss interim > selections (e.g., in the middle of the swipe). > > Now, I have not changed any existing users of PluggableListMorphOfMany > to use AlternatePluggableListMorphOfMany, but there is a demonstration > of it by enabling on the preference, "traceMessages" in the > Preferences. This will utilize a MessageTrace instead of a MessageSet > when browsing senders/implementors. > > If we like it, we can convert some or all of the legacy > PluggableListMorphOfMany's to the new one and then rename it. Or if > there is a need for both then both or, if we don't like it, of course, > it can easily be deleted.. What's the downside? It sounds like it has only obvious improvements, so why not just patch PluggableListMorphOfMany rather than introducing an alternate class? - Bert - |
Besides just trying to be conservative, I think there is one
show-stopper for universal replacement. In the old widget, invididual selections could be toggled by merely clicking on them. In this widget, you are supposed to use Shift modifier to range-select, and Control modifier for individual toggling. Unfortunately, Control wants to put up the halos. I don't know whether this is the only way for Mac folks to obtain the halos or not.. But you can imagine, for example, in recovering a crashed image from the changes-file can be a long and tedious process, you almost always need to do individual selections, and probably without having to hold control down.. - Chris On Thu, Mar 4, 2010 at 4:03 AM, Bert Freudenberg <[hidden email]> wrote: > On 03.03.2010, at 22:24, Chris Muller wrote: >> >> I've just posted Morphic-cmm.372, which introduces >> AlternatePluggableListMorphOfMany. (Be sure to also get >> Tools-cmm.200). Those concerned with Squeak being familiar to >> new-users may appreciate this; it is basically the same as the >> standard PluggableListMorphOfMany, but allowing range-selections via >> Shift+clicking. Also, swipe-selecting does not miss interim >> selections (e.g., in the middle of the swipe). >> >> Now, I have not changed any existing users of PluggableListMorphOfMany >> to use AlternatePluggableListMorphOfMany, but there is a demonstration >> of it by enabling on the preference, "traceMessages" in the >> Preferences. This will utilize a MessageTrace instead of a MessageSet >> when browsing senders/implementors. >> >> If we like it, we can convert some or all of the legacy >> PluggableListMorphOfMany's to the new one and then rename it. Or if >> there is a need for both then both or, if we don't like it, of course, >> it can easily be deleted.. > > What's the downside? It sounds like it has only obvious improvements, so why not just patch PluggableListMorphOfMany rather than introducing an alternate class? > > - Bert - > > > > |
Free forum by Nabble | Edit this page |