#UI_ENHANCEMENT by cg
class: EditField
changed:
#keyPress:x:y:
#preferredExtent
#resizeOrScroll
do not resize on meta keys;
do not limit the pref-extent to half the screen
--- a/EditField.st Tue Mar 14 20:29:15 2017 +0100
+++ b/EditField.st Wed Mar 15 19:37:36 2017 +0100
@@ -1764,11 +1764,13 @@
key == #EndOfText ifTrue:[
super keyPress:#EndOfLine x:x y:y.
].
-
- self resizeOrScroll.
+
+ key isCharacter ifTrue:[
+ self resizeOrScroll.
+ ].
"Modified: / 02-05-1996 / 17:24:16 / stefan"
- "Modified: / 17-01-2011 / 11:26:08 / cg"
+ "Modified: / 15-03-2017 / 19:35:45 / cg"
!
keyboardZoom:larger
@@ -1796,10 +1798,10 @@
should (& can) we resize ?
"
xCol := (self xOfCol:cursorCol inVisibleLine:cursorLine) - viewOrigin x.
- (xCol > (width * (5/6))) ifTrue:[
+ (xCol > (width - 150 "* (5/6)")) ifTrue:[
self changedPreferredBounds:nil
] ifFalse:[
- newWidth < (width * (1/6)) ifTrue:[
+ newWidth < (width * (2/6)) ifTrue:[
self changedPreferredBounds:nil
]
].
@@ -1831,7 +1833,7 @@
]
].
- "Modified: 6.3.1997 / 16:13:59 / cg"
+ "Modified: / 15-03-2017 / 19:22:56 / cg"
!
sizeChanged:how
@@ -2287,15 +2289,16 @@
w := ((f widthOf:string) * 1.5) rounded.
w := w + margin + margin.
].
- w := w min:(device width // 2).
+ "/ never more than the screen width, minus some
+ w := w min:(device width - 200 " // 2").
"/ h := f maxHeight + (f maxDescent * 2) + (margin * 2).
h := fontHeight + topMargin + (margin * 2).
^ w rounded @ h rounded
- "Modified: / 6.9.1995 / 19:24:06 / claus"
- "Modified: / 21.5.1998 / 02:13:35 / cg"
+ "Modified: / 06-09-1995 / 19:24:06 / claus"
+ "Modified: / 15-03-2017 / 19:31:54 / cg"
!
specClass