[squeak-dev] The Inbox: Morphic-tcj.2000.mcz

Tim Johnson digit at sonic.net
Fri Jun 10 00:18:01 UTC 2022


Hi Marcel,

OK.  Please feel free to delete from inbox.

Thanks for your attention to this.

Tim


> On Jun 9, 2022, at 1:57 AM, Marcel Taeumel <marcel.taeumel at hpi.de> wrote:
> 
> Hi Tim --
> 
> -100 for replacing "self activate" with "self submorphsDo: [:morph | morph unlock]"
> 
> I took quite some effort to make that active/inactive window stuff maintainable. We should not obfuscate the code again this way. Yet, I hear your concern that some configurations struggle with Morphic window drag. We have to find a solution that is better than exposing unmaintainable implementation details again.
> 
> Best,
> Marcel
>> Am 06.06.2022 08:27:31 schrieb commits at source.squeak.org <commits at source.squeak.org>:
>> 
>> A new version of Morphic was added to project The Inbox:
>> http://source.squeak.org/inbox/Morphic-tcj.2000.mcz
>> 
>> ==================== Summary ====================
>> 
>> Name: Morphic-tcj.2000
>> Author: tcj
>> Time: 5 June 2022, 11:27:16.56143 pm
>> UUID: c9b2a85f-cde3-453b-9cb9-898c3420bc07
>> Ancestors: Morphic-mt.1999
>> 
>> Optimize dragging into SystemWindows by not performing a complete 'activate' on mouse enter (which includes waking up the model and redrawing all submorphs & text). Also, fix typo in another method comment.
>> 
>> =============== Diff against Morphic-mt.1999 ===============
>> 
>> Item was changed:
>> ----- Method: SystemWindow>>mouseEnterDragging: (in category 'events') -----
>> mouseEnterDragging: evt
>> "unlock children for drop operations"
>> 
>> self flag: #performance. "mt: There may be no need to change appearance if no widget wants the drop."
>> self isActive ifTrue: [self lookFocused].
>> 
>> (self isActive not and: [evt hand hasSubmorphs]) ifTrue: [
>> + self submorphsDo: [:morph | morph unlock]. "unlock contents for drop"
>> - self activate. "unlock contents for drop"
>> evt hand addMouseListener: self. "for drop completion on submorph"
>> ].!
>> 
>> Item was changed:
>> ----- Method: SystemWindow>>startDragFromLabel: (in category 'events') -----
>> startDragFromLabel: evt
>> + "When label events are active, we need to pass dragging to the window explicitly.
>> - "When label events are active, we need to pass dragging to the window explicitely
>> The window only recognizes a drag with an offset of more than 3 pixels"
>> 
>> self isSticky ifTrue: [^ self].
>> self fastFramingOn 
>> ifTrue: [self doFastFrameDrag: evt cursorPoint]
>> ifFalse: [
>> self hasDropShadow: false.
>> evt hand grabMorph: self topRendererOrSelf]
>> !
>> 
>> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20220609/bb3061bc/attachment.html>


More information about the Squeak-dev mailing list