The Trunk: Morphic-cmm.1617.mcz

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

The Trunk: Morphic-cmm.1617.mcz

commits-2
Chris Muller uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-cmm.1617.mcz

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

Name: Morphic-cmm.1617
Author: cmm
Time: 10 January 2020, 7:32:31.635312 pm
UUID: ce0033f9-62f5-4c12-9b75-24d613d56c50
Ancestors: Morphic-tpr.1616

- Fix inescapable modal dialog.
- Fix truncation of the first line of PluggableListMorphs when a font larger than the default is used.

=============== Diff against Morphic-tpr.1616 ===============

Item was changed:
  ----- Method: DialogWindow>>getUserResponse (in category 'running') -----
  getUserResponse
 
  | hand world |
  self message ifEmpty: [messageMorph delete]. "Do not waste space."
  self paneMorph submorphs
  ifEmpty: ["Do not waste space and avoid strange button-row wraps."
  self paneMorph delete.
  self buttonRowMorph wrapDirection: #none].
 
  hand := self currentHand.
  world := self currentWorld.
 
  self fullBounds.
  self moveToPreferredPosition.
  self openInWorld: world.
 
  hand showTemporaryCursor: nil. "Since we are out of context, reset the cursor."
 
  hand keyboardFocus in: [:priorKeyboardFocus |
  hand mouseFocus in: [:priorMouseFocus |
  self exclusive ifTrue: [hand newMouseFocus: self].
  hand newKeyboardFocus: self.
 
  [[self isInWorld] whileTrue: [world doOneSubCycle]]
  ifCurtailed: [self cancelDialog].
 
  hand newKeyboardFocus: priorKeyboardFocus.
+ hand releaseMouseFocus]].
- hand newMouseFocus: priorMouseFocus]].
 
  ^ result!

Item was changed:
  ----- Method: PluggableListMorph>>initialize (in category 'initialization') -----
  initialize
-
  listMorph := self createListMorph.
  super initialize.
-
  self scroller
  layoutPolicy: TableLayout new;
  addMorph: listMorph.
+ self
+ minimumWidth: (self font widthOf: $m) * 5 ;
+ minimumHeight: self font height
 
- self minimumWidth: (self font widthOf: $m) * 5.
-
  !

Item was changed:
  ----- Method: ProportionalSplitterMorph>>topBoundary (in category 'queries - geometry') -----
  topBoundary
  "Answer the topmost x position the receiver could be moved to."
 
  | splitter morphs |
  splitter := self splitterAbove.
  morphs := self commonNeighbours: leftOrTop with: splitter.
-
  ^ (splitter
  ifNil: [owner isSystemWindow ifTrue: [owner panelRect top]
  ifFalse: [owner innerBounds top]]
  ifNotNil: [splitter bottom])
  + (self minimumHeightOf: morphs)!


Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Morphic-cmm.1617.mcz

Christoph Thiede

1. Sorry to raise this discussion again, but shouldn't this have rather gone into two separate commits? :-)

2. > - Fix inescapable modal dialog.

Interesting. Can you give an example to reproduce?

3. > (self font widthOf: $m) * 5

Why do we hard-code this magic character here? What's so special about $m?

Best,
Christoph

Von: Squeak-dev <[hidden email]> im Auftrag von [hidden email] <[hidden email]>
Gesendet: Freitag, 17. Januar 2020 03:43:37
An: [hidden email]; [hidden email]
Betreff: [squeak-dev] The Trunk: Morphic-cmm.1617.mcz
 
Chris Muller uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-cmm.1617.mcz

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

Name: Morphic-cmm.1617
Author: cmm
Time: 10 January 2020, 7:32:31.635312 pm
UUID: ce0033f9-62f5-4c12-9b75-24d613d56c50
Ancestors: Morphic-tpr.1616

- Fix inescapable modal dialog.
- Fix truncation of the first line of PluggableListMorphs when a font larger than the default is used.

=============== Diff against Morphic-tpr.1616 ===============

Item was changed:
  ----- Method: DialogWindow>>getUserResponse (in category 'running') -----
  getUserResponse
 
         | hand world |
         self message ifEmpty: [messageMorph delete]. "Do not waste space."
         self paneMorph submorphs
                 ifEmpty: ["Do not waste space and avoid strange button-row wraps."
                         self paneMorph delete.
                         self buttonRowMorph wrapDirection: #none].
        
         hand := self currentHand.
         world := self currentWorld.
 
         self fullBounds.
         self moveToPreferredPosition.
         self openInWorld: world.
        
         hand showTemporaryCursor: nil. "Since we are out of context, reset the cursor."
        
         hand keyboardFocus in: [:priorKeyboardFocus |
                 hand mouseFocus in: [:priorMouseFocus |
                         self exclusive ifTrue: [hand newMouseFocus: self].
                         hand newKeyboardFocus: self.
 
                         [[self isInWorld] whileTrue: [world doOneSubCycle]]
                                 ifCurtailed: [self cancelDialog].
 
                         hand newKeyboardFocus: priorKeyboardFocus.
+                        hand releaseMouseFocus]].
-                        hand newMouseFocus: priorMouseFocus]].
 
         ^ result!

Item was changed:
  ----- Method: PluggableListMorph>>initialize (in category 'initialization') -----
  initialize
-
         listMorph := self createListMorph.
         super initialize.
-
         self scroller
                 layoutPolicy: TableLayout new;
                 addMorph: listMorph.   
+        self
+                minimumWidth: (self font widthOf: $m) * 5 ;
+                minimumHeight: self font height
        
-        self minimumWidth: (self font widthOf: $m) * 5.
-       
         !

Item was changed:
  ----- Method: ProportionalSplitterMorph>>topBoundary (in category 'queries - geometry') -----
  topBoundary
         "Answer the topmost x position the receiver could be moved to."
 
         | splitter morphs |
         splitter := self splitterAbove.
         morphs := self commonNeighbours: leftOrTop with: splitter.
-       
         ^ (splitter
                 ifNil: [owner isSystemWindow ifTrue: [owner panelRect top]
                                 ifFalse: [owner innerBounds top]]
                 ifNotNil: [splitter bottom])
                 + (self minimumHeightOf: morphs)!




Carpe Squeak!
Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Morphic-cmm.1617.mcz

Nicolas Cellier


Le ven. 17 janv. 2020 à 13:44, Thiede, Christoph <[hidden email]> a écrit :

1. Sorry to raise this discussion again, but shouldn't this have rather gone into two separate commits? :-)

2. > - Fix inescapable modal dialog.

Interesting. Can you give an example to reproduce?

3. > (self font widthOf: $m) * 5

Why do we hard-code this magic character here? What's so special about $m?

m is one of wider latin character in most typesettings.
It is used as a width reference in TeX / LaTeX for example.

Best,
Christoph

Von: Squeak-dev <[hidden email]> im Auftrag von [hidden email] <[hidden email]>
Gesendet: Freitag, 17. Januar 2020 03:43:37
An: [hidden email]; [hidden email]
Betreff: [squeak-dev] The Trunk: Morphic-cmm.1617.mcz
 
Chris Muller uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-cmm.1617.mcz

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

Name: Morphic-cmm.1617
Author: cmm
Time: 10 January 2020, 7:32:31.635312 pm
UUID: ce0033f9-62f5-4c12-9b75-24d613d56c50
Ancestors: Morphic-tpr.1616

- Fix inescapable modal dialog.
- Fix truncation of the first line of PluggableListMorphs when a font larger than the default is used.

=============== Diff against Morphic-tpr.1616 ===============

Item was changed:
  ----- Method: DialogWindow>>getUserResponse (in category 'running') -----
  getUserResponse
 
         | hand world |
         self message ifEmpty: [messageMorph delete]. "Do not waste space."
         self paneMorph submorphs
                 ifEmpty: ["Do not waste space and avoid strange button-row wraps."
                         self paneMorph delete.
                         self buttonRowMorph wrapDirection: #none].
        
         hand := self currentHand.
         world := self currentWorld.
 
         self fullBounds.
         self moveToPreferredPosition.
         self openInWorld: world.
        
         hand showTemporaryCursor: nil. "Since we are out of context, reset the cursor."
        
         hand keyboardFocus in: [:priorKeyboardFocus |
                 hand mouseFocus in: [:priorMouseFocus |
                         self exclusive ifTrue: [hand newMouseFocus: self].
                         hand newKeyboardFocus: self.
 
                         [[self isInWorld] whileTrue: [world doOneSubCycle]]
                                 ifCurtailed: [self cancelDialog].
 
                         hand newKeyboardFocus: priorKeyboardFocus.
+                        hand releaseMouseFocus]].
-                        hand newMouseFocus: priorMouseFocus]].
 
         ^ result!

Item was changed:
  ----- Method: PluggableListMorph>>initialize (in category 'initialization') -----
  initialize
-
         listMorph := self createListMorph.
         super initialize.
-
         self scroller
                 layoutPolicy: TableLayout new;
                 addMorph: listMorph.   
+        self
+                minimumWidth: (self font widthOf: $m) * 5 ;
+                minimumHeight: self font height
        
-        self minimumWidth: (self font widthOf: $m) * 5.
-       
         !

Item was changed:
  ----- Method: ProportionalSplitterMorph>>topBoundary (in category 'queries - geometry') -----
  topBoundary
         "Answer the topmost x position the receiver could be moved to."
 
         | splitter morphs |
         splitter := self splitterAbove.
         morphs := self commonNeighbours: leftOrTop with: splitter.
-       
         ^ (splitter
                 ifNil: [owner isSystemWindow ifTrue: [owner panelRect top]
                                 ifFalse: [owner innerBounds top]]
                 ifNotNil: [splitter bottom])
                 + (self minimumHeightOf: morphs)!