Sorry, I will re-think that.
Can you elaborate what broke and what not? I do not understand your
explanation.
- "toggle between two selections"? --- this seems to be a bug you got used
to
- "navigation by filtering"? --- ???
- "interact with model selections"? --- It already destroys the selection to
1.
Best,
Marcel
--
View this message in context: http://forum.world.st/The-Trunk-Morphic-cmm-1120-mcz-tp4890853p4890868.html
Sent from the Squeak - Dev mailing list archive at Nabble.com.
Marcel Taeumel uploaded a new version of MorphicExtras to project The Trunk:
http://source.squeak.org/trunk/MorphicExtras-mt.171.mcz
==================== Summary ====================
Name: MorphicExtras-mt.171
Author: mt
Time: 19 April 2016, 1:06:17.613134 pm
UUID: 5f029570-c24b-9f4b-b371-0f70d4f9fcbb
Ancestors: MorphicExtras-mt.170
Improves usage of #refreshWorld to avoid direct calls to #displayWorldSafely, which requires a check whether the morph in in a world or not.
=============== Diff against MorphicExtras-mt.170 ===============
Item was changed:
----- Method: PaintBoxMorph>>eyedropper:action:cursor:evt: (in category 'actions') -----
eyedropper: aButton action: aSelector cursor: aCursor evt: evt
"Take total control and pick up a color!!!!"
| pt feedbackColor delay |
delay := Delay forMilliseconds: 10.
aButton state: #on.
tool ifNotNil: [tool state: #off].
currentCursor := aCursor.
evt hand showTemporaryCursor: currentCursor
hotSpotOffset: 6 negated @ 4 negated.
"<<<< the form was changed a bit??"
feedbackColor := Display colorAt: Sensor cursorPoint.
colorMemory align: colorMemory bounds topRight
with: colorMemoryThin bounds topRight.
self addMorphFront: colorMemory.
"Full color picker"
[Sensor anyButtonPressed] whileFalse:
[pt := Sensor cursorPoint.
"deal with the fact that 32 bit displays may have garbage in the
alpha bits"
feedbackColor := Display depth = 32
ifTrue:
[Color colorFromPixelValue: ((Display pixelValueAt: pt) bitOr: 16rFF000000)
depth: 32]
ifFalse: [Display colorAt: pt].
"the hand needs to be drawn"
evt hand position: pt.
currentColor ~= feedbackColor ifTrue: [
currentColor := feedbackColor.
self showColor ].
+ self refreshWorld.
- self world displayWorldSafely.
delay wait].
"Now wait for the button to be released."
[Sensor anyButtonPressed] whileTrue:
[ pt := Sensor cursorPoint.
"the hand needs to be drawn"
evt hand position: pt.
+ self refreshWorld.
- self world displayWorldSafely.
delay wait].
evt hand showTemporaryCursor: nil hotSpotOffset: 0 @ 0.
self currentColor: feedbackColor evt: evt.
colorMemory delete.
tool ifNotNil:
[tool state: #on.
currentCursor := tool arguments third].
aButton state: #off
!
Marcel Taeumel uploaded a new version of MorphicExtras to project The Trunk:
http://source.squeak.org/trunk/MorphicExtras-mt.170.mcz
==================== Summary ====================
Name: MorphicExtras-mt.170
Author: mt
Time: 19 April 2016, 12:24:14.689049 pm
UUID: bca00572-fc6d-074f-8275-88d0c221c2d1
Ancestors: MorphicExtras-cmm.169
Improves usage of #refreshWorld to avoid direct calls to #displayWorldSafely, which requires a check whether the morph in in a world or not.
=============== Diff against MorphicExtras-cmm.169 ===============
Item was changed:
----- Method: GrabPatchMorph>>justDroppedInto:event: (in category 'dropping') -----
justDroppedInto: aPasteUpMorph event: anEvent
"This message is sent to a dropped morph after it has been dropped on--and been accepted by--a drop-sensitive morph"
+ super justDroppedInto: aPasteUpMorph event: anEvent.
+
+ aPasteUpMorph isPartsBin ifFalse: [
+ "Do not show this morph in the screenshot."
+ self hide.
+ anEvent hand hide.
+ self refreshWorld.
+
+ [aPasteUpMorph grabDrawingFromScreen: anEvent]
+ ensure: [anEvent hand show]].
+
+ "Just needed for this operation. Remove."
+ self delete.!
- aPasteUpMorph isPartsBin ifFalse:
- [self delete.
- ActiveWorld displayWorldSafely; runStepMethods. "But the HW cursor stays up still ???"
- ^ aPasteUpMorph grabDrawingFromScreen: anEvent].
- ^ super justDroppedInto: aPasteUpMorph event: anEvent!
Item was changed:
----- Method: LassoPatchMorph>>justDroppedInto:event: (in category 'dropping') -----
justDroppedInto: aPasteUpMorph event: anEvent
"This message is sent to a dropped morph after it has been dropped on--and been accepted by--a drop-sensitive morph"
+ super justDroppedInto: aPasteUpMorph event: anEvent.
+
+ aPasteUpMorph isPartsBin ifFalse: [
+ "Do not show this morph in the screenshot."
+ self hide.
+ anEvent hand hide.
+ self refreshWorld.
+
+ [aPasteUpMorph grabLassoFromScreen: anEvent]
+ ensure: [anEvent hand show]].
+
+ "Just needed for this operation. Remove."
+ self delete.!
- aPasteUpMorph isPartsBin ifFalse:
- [self delete.
- ActiveWorld displayWorldSafely; runStepMethods.
- ^ aPasteUpMorph grabLassoFromScreen: anEvent].
- ^ super justDroppedInto: aPasteUpMorph event: anEvent!
Marcel Taeumel uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-mt.1118.mcz
==================== Summary ====================
Name: Morphic-mt.1118
Author: mt
Time: 19 April 2016, 12:19:58.032049 pm
UUID: 1b5b0494-89bc-aa46-a621-403a2aaf6cd3
Ancestors: Morphic-mt.1117
Improves documentation and usage of #refreshWorld to avoid direct calls to #displayWorldSafely, which requires a check whether the morph in in a world or not.
=============== Diff against Morphic-mt.1117 ===============
Item was changed:
----- Method: Morph>>flash (in category 'macpal') -----
flash
| originalColor |
originalColor := self color.
[ self color:
(originalColor
ifNil: [ Color black ]
ifNotNil: [( (originalColor alpha: 1) adjustSaturation: 0.8 brightness: 0) negated ]) ]
ensure:
+ [ self refreshWorld.
- [ self world ifNotNil: [ : w | w displayWorldSafely ].
self color: originalColor ]!
Item was changed:
----- Method: Morph>>refreshWorld (in category 'drawing') -----
refreshWorld
+ "If this morph is in a world, refresh the world. This can be used to immediately redraw a morph after it changed. Note that you should use this call rather sparsely because it bypasses Morphics damage recording mechanism."
+
+ self world ifNotNil: [:w | w displayWorldSafely].!
- | aWorld |
- (aWorld := self world) ifNotNil: [aWorld displayWorldSafely]
- !
Item was changed:
----- Method: PluggableListMorph>>changeModelSelection: (in category 'model access') -----
changeModelSelection: anInteger
" Change the model's selected item index to be anInteger. Enable the pre selection highlight. Step the World forward to let the pre selection highlight take effect. "
self rowAboutToBecomeSelected: (self uiIndexFor: anInteger).
+ self refreshWorld.
- World displayWorldSafely.
setIndexSelector ifNotNil: [
model perform: setIndexSelector with: anInteger ].!
Item was changed:
----- Method: SVColorSelectorMorph>>hideLocation (in category 'as yet unclassified') -----
hideLocation
"Hide the location morph and update the display."
self locationMorph visible: false.
+ self refreshWorld.!
- World displayWorldSafely.!
Item was changed:
----- Method: SVColorSelectorMorph>>showLocation (in category 'as yet unclassified') -----
showLocation
"Show the location morph and update the display."
self locationMorph visible: true.
+ self refreshWorld.!
- World displayWorldSafely.!
I'm sorry Marcel, but I developed the behaviors of
TracingMessagesBrowser with great deliberation and care. If you wish
to make alteratiuons, would you please collaborate with me? As it
stands, this change to my code from Y2002 is very unwelcome and I've
rolled it back. Let's talk.
traceMessages is not something the user is going to be flipping on and
off, so there is no need for a _constant_ indication reminder of which
"mode' they're in. I don't know what you're trying to fix, but I
cannot stand this new clutter. Sorry.
Maybe a different color window is what you want? Even that seems
unnecessary, as the system simply responds appropriately to all
requests for senders and implementors by doing what the user wants for
each scenario. the user doesn't need to "read", in advance, what the
system will do, just not surprise them. Nothing about traceMessages
does.
On Sun, Apr 17, 2016 at 5:00 AM, <commits(a)source.squeak.org> wrote:
> Marcel Taeumel uploaded a new version of Tools to project The Trunk:
> http://source.squeak.org/trunk/Tools-mt.690.mcz
>
> ==================== Summary ====================
>
> Name: Tools-mt.690
> Author: mt
> Time: 17 April 2016, 12:00:40.266542 pm
> UUID: d4a2a77e-d3cf-7c49-8685-096e8f7ff578
> Ancestors: Tools-cmm.689
>
> Make the message trace tools more obvious to avoid applying a wrong user model. Regular message set and traced message set behave differently considering mouse clicks, keyboard shortcuts, etc.
> There is a preference traceMessage to switch between traditional senders/implementors and the traced versions.
>
> =============== Diff against Tools-cmm.689 ===============
>
> Item was changed:
> ----- Method: MessageTrace>>windowLabelAt: (in category 'private accessing') -----
> windowLabelAt: anInteger
>
> | str |
> ^(str := autoSelectStrings at: anInteger)
> ifNil:
> + [ 'Traced Implementors of ',
> - [ 'Implementors of ',
> (self class
> parse: self selection
> toClassAndSelector: [ :class :selector | selector ]) ]
> ifNotNil:
> + [ 'Traced Senders of ', str ]
> - [ 'Senders of ', str ]
> !
>
> Item was changed:
> ----- Method: StandardToolSet class>>browseMessageSet:name:autoSelect: (in category 'browsing') -----
> browseMessageSet: messageList name: title autoSelect: autoSelectString
> "Open a message set or message-trace browser, depending on the #traceMessages setting."
> ^ Preferences traceMessages
> ifTrue:
> [ MessageTrace
> openMessageList: messageList
> + name: 'Traced ', title
> - name: title
> autoSelect: autoSelectString ]
> ifFalse:
> [ MessageSet
> openMessageList: messageList
> name: title
> autoSelect: autoSelectString ]!
>
>