* Source/NSCell.m (-setUpFieldEditorAttributes:): Clear the
text object's string.
* Source/NSControl.m (-setDoubleValue:, -setFloatValue:)
(-setIntValue:, -setStringValue:, -setObjectValue:): If the receiver
was being edited when the method was called, make it the first
responder after changing the value.
(-abortEditing): Don't clear the text object's string.
* Source/NSMatrix.m (-abortEditing): Don't clear the text object's
string.
* Source/NSTableView.m (-abortEditing): Ditto.
* Source/NSTextField.m (-abortEditing): Ditto.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@20580 72102866-910b-0410-8b05-ffd578937521
* Source/NSCell.m (-_setupTextWithFrame:inView:editor:): Reduce the
maximum size. Explicitly set the size of the text view, and make it
not resizable.
* Source/NSLayoutManager.m (-rectArrayForGlyphRange:
withinSelectedGlyphRange:inTextContainer:rectCount:): Fix check for
whether the starting index is inside a line frag rect.
* Source/NSTextView.m (-sizeToFit): Don't increase the size if we
have no inset.
(-updateInsertionPointStateAndRestartTimer:): Force the insertion
point rect to be inside the text view.
(-scrollRangeToVisible:): If we are a non-rich-text field editor,
adjust the scrolling to make the auto-scrolling more useful.
Fixes bug #9279.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@20340 72102866-910b-0410-8b05-ffd578937521
* Headers/AppKit/NSCell.h (-_sendsActionOn:): New method.
* Source/NSCell.m (-_sendsActionOn:): Implement it.
* Source/NSTextFieldCell.m (-initTextCell:): Change _action_mask to a
key press.
* Source/NSTableView.m (-mouseDown:): Use _sendsActionOn: to only modify the object value and send the event to the cell if the cell works on
mouse events. (Fixes#9609).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@20046 72102866-910b-0410-8b05-ffd578937521
of isContinuous to insure backward compatiblity of archives.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16215 72102866-910b-0410-8b05-ffd578937521
[setControlSize:], [controlTint], [setControlTint:] and
[highlightColorWithFrame:inView:]. Rewrote [isContinuous],
[setContinuous:] and [trackMouse:...untilMouseUp:] to work via the
_action_mask.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16202 72102866-910b-0410-8b05-ffd578937521
In all [XXXValue] methods try to get the value from the objectValue
first and use [stringValue] instead of accessing the contents directly.
Removed AUTORELEASE calls from [attributedStringValue] and similar
places.
In [cellSize] use [attributedStringValue] to get the string to size.
In [drawInteriorWithFrame:inView:] use [attributedStringValue] to
get the string to draw. This make the method [_drawText:inFrame:]
obsolete for this class, but subclasses still use it.
New method [_setupTextWithFrame:inView:editor:] with the common
text view setup from [editWithFrame:inView:editor:delegate:event:]
and [selectWithFrame:inView:editor:delegate:start:length:].
Calls to [setFont:] and [setAlignment:] switch the cell to NSTextCellType.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@14952 72102866-910b-0410-8b05-ffd578937521
Retain the decoded background color.
* Source/NSTextView.m :
multiple location: don't ignore textContainer's inset
([NSTextView -initWithCoder:])
([NSTextView -encodeWithCoder:])
Encode caret color, textContainer's size and whether the
textContainer has widthTracksTextView or heightTracksTextView set.
([NSTextView -sizeToFit]) Change width (height) only if
is_horizontally_resizable (is_vertically_resizable).
([NSTextView -scrollRangeToVisible:]) scrolls to the first char of
the range.
([NSTextView -invalidateTextContainerOrigin]): Don't ignore inset,
set the origin so that the justification is preserved even if the
textContainer's width is larger that the textview's width.
([NSTextView -updateInsertionPointStateAndRestartTimer:]):
update and place the insertion point properly.
([NSTextView -moveDown:]) & ([NSTextView -moveUp:]):
Don't ignore inset. Make insertion point visible.
* Source/NSTextField.m ([NSTextField -acceptsFirstResponder:]):
responds NO if the editing is still in progrss.
* Source/NSLayoutManager.m
([NSLayoutManager -drawBackgroundForGlyphRange:atPoint:]):
Don't ignore textContainer's inset.
* Source/GSSimpleLayoutManager.m
Replaced [-drawLinesInLineRange:] with [-drawLinesInLineRange:atPoint:].
Replaced [-drawSelectionAsRangeNoCaret:] with
[-drawSelectionAsRangeNoCaret:atPoint:].
Those replacements make it easier to take inset into account.
([-lineFragmentUsedRectForGlyphAtIndex:effectiveRange:])
([-locationForGlyphAtIndex:])
([-boundingRectForGlyphRange:inTextContainer:])
([-rectForCharacterIndex:])
([-setNeedsDisplayForLineRange:inTextContainer:]):
Various fixes.
([-textStorage:edited:range:changeInLength:invalidatedRange:])
Update insertion point if needed (useful when alignment changes).
([-rebuildForRange:delta:inTextContainer:]):
Update layout mechanism.
* Source/NSCell.m
([NSCell -highlight:withFrame:inView:]):
Ask the control to draw the background if we are not opaque.
([NSCell -editWithFrame:inView:editor:delegate:event:]):
([NSCell -selectWithFrame:inView:editor:delegate:start:length:]):
([NSCell -endEditing:]):
instantiate (and remove) the textview so that it can be scrolled.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@14429 72102866-910b-0410-8b05-ffd578937521