Commit graph

305 commits

Author SHA1 Message Date
Gregory John Casamento
ecea8da743 Migrate NSFileWraper to base. 2019-09-10 09:55:07 -04:00
Fred Kiefer
a33b4c5073 * Source/GSLayoutManager.m (-usedRectForTextContainer:): Add extra
line rect when needed.
	* Source/NSTextView.m (sizeToFit): Don't add extra line rect, as
	it is now already included.
	* Source/NSStringDrawing.m (cache_lookup): Remove hack for empty string.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@40346 72102866-910b-0410-8b05-ffd578937521
2017-02-17 19:44:25 +00:00
Fred Kiefer
ff61d4c642 2015-09-13 Fred Kiefer <FredKiefer@gmx.de>
* Source/NSTextView.m: Invalidate insertion point timer in
        dealloc.
        * Source/NSToolbarItem.m: Check for drawing rect within bounds
        before drawing toolbar item.
        Patch by Marcian Lytwyn <gna@advcsi.com>.

2015-09-10  Doug Simons <doug.simons@testplant.com> and Paul Landers
<paul.landers@testplant.com>

        * Source/NSLayoutManager.m: Fix a bug that would try to adjust
        the length of the selected range to a negative number, leading
        to an exception and eventual crashes.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@38986 72102866-910b-0410-8b05-ffd578937521
2015-09-13 21:36:40 +00:00
Fred Kiefer
221a51e14e Clean up last change.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@38875 72102866-910b-0410-8b05-ffd578937521
2015-08-12 21:16:37 +00:00
Fred Kiefer
a3ca885ec8 * Source/NSTextView.m: Rewrite
writeSelectionToPasteboard:... methods.
        Based on patch by Adam Fox <adam.fox@testplant.com>


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@38871 72102866-910b-0410-8b05-ffd578937521
2015-08-11 21:46:11 +00:00
Fred Kiefer
a8f35bbb94 * Source/NSTextView.m: Fix bizarre behavior with undo/redo
actions carrying across between different fields with the
        fieldEditor.
        Patch by Doug Simons <doug.simons@testplant.com>


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@38288 72102866-910b-0410-8b05-ffd578937521
2015-01-11 21:53:19 +00:00
Fred Kiefer
6b0a46b215 * Source/NSTextView.m: Protect usages of sharedSpellChecker with
nil tests.
  Patch by Eric Wasylishen <ewasylishen@gmail.com>


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@38283 72102866-910b-0410-8b05-ffd578937521
2015-01-08 20:36:40 +00:00
Fred Kiefer
cbc00992bf * Source/NSTextView.m (-insertText:): Ignore nil argument.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37694 72102866-910b-0410-8b05-ffd578937521
2014-02-18 20:38:31 +00:00
Wolfgang Lux
1549ee2fa9 Pass nil argument to selector called by NSTextView -doCommandBySelector:
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37633 72102866-910b-0410-8b05-ffd578937521
2014-01-24 09:07:31 +00:00
Riccardo Mottola
d472adfbb1 * Source/NSTextView.m (-mouseDown:): Use container origin for attachment cells.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37283 72102866-910b-0410-8b05-ffd578937521
2013-10-26 15:50:02 +00:00
Germán Arias
70b54d1f0d Add autocomplete in NSTextView.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@36733 72102866-910b-0410-8b05-ffd578937521
2013-06-19 18:40:28 +00:00
Fred Kiefer
28ff5825aa Add the timers for NSModalPanelRunLoopMode as well.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@36187 72102866-910b-0410-8b05-ffd578937521
2013-02-22 11:28:06 +00:00
Fred Kiefer
941afdac86 Fix compiler warnings reported by
Sebastian Reitenbach <sebastia@l00-bugdead-prods.de>


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@36165 72102866-910b-0410-8b05-ffd578937521
2013-02-18 20:29:10 +00:00
Fred Kiefer
7ef53c8232 More CGFloat, NSUInteger and NSInteger changes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@36153 72102866-910b-0410-8b05-ffd578937521
2013-02-16 21:37:29 +00:00
David Chisnall
4850a9feac Fix all current compiler warnings on FreeBSD/x86-64.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@36038 72102866-910b-0410-8b05-ffd578937521
2013-01-30 09:48:54 +00:00
Fred Kiefer
0f3af93a92 Reworked version of patches by Marcian Lytwyn
<marcian.lytwyn@advcsi.com>


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@35899 72102866-910b-0410-8b05-ffd578937521
2012-12-16 22:51:23 +00:00
Wolfgang Lux
1dd7be22f7 Update text storage directly when undoing text changes in a NSTextView
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@35175 72102866-910b-0410-8b05-ffd578937521
2012-06-02 22:31:54 +00:00
Fred Kiefer
2d2026e7fc Revert last change and replace with something a little bit better. The
whole ruler handling will need some deeper inspection.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34636 72102866-910b-0410-8b05-ffd578937521
2012-01-26 09:25:29 +00:00
Doug Simons
3e7c9bceef Call setClientView: before calling setMarkers: to fix a problem when a textView's text is set or changed when the textView is not the first responder, such as at windowControllerDidLoadNib: time.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34633 72102866-910b-0410-8b05-ffd578937521
2012-01-25 23:28:51 +00:00
Wolfgang Lux
cc31ecbeda Change the default text container inset for NSTextView to (0,0) to
reduce blank space around text.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34367 72102866-910b-0410-8b05-ffd578937521
2011-12-29 22:16:50 +00:00
Wolfgang Lux
0da1b1f034 Adjust the minimum and maximum sizes of a NSTextView to ensure that
the minimum size is not greater than the current size and the maximum
size is not smaller than the current size.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34362 72102866-910b-0410-8b05-ffd578937521
2011-12-29 16:48:17 +00:00
Fred Kiefer
e740f7b0cc * Source/NSTextView.m (-setFieldEditor:): Use different values for
both cases.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34347 72102866-910b-0410-8b05-ffd578937521
2011-12-22 22:00:42 +00:00
Eric Wasylishen
e395fe88d7 * Source/NSPrinter.m:
* Source/NSPrintOperation.m:
* Source/NSPageLayout.m:
* Source/NSPrintInfo.m:
* Headers/AppKit/NSPrintInfo.h: Migrate printing code to CGFloat
or double.
* Source/NSTextView.m: Rewrite -adjustPageHeightNew🔝bottom:limit:


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34288 72102866-910b-0410-8b05-ffd578937521
2011-12-15 06:51:02 +00:00
Wolfgang Lux
6365fa5127 Reinstate Fred's change with the additional correction to the string
drawing code he proposed on the mailing list.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34241 72102866-910b-0410-8b05-ffd578937521
2011-12-02 21:36:58 +00:00
Eric Wasylishen
f218a41010 * Source/NSTextView.m
(-_scheduleTextCheckingInVisibleRectIfNeeded): Check for
nil before sending -rectValue to avoid crash


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34238 72102866-910b-0410-8b05-ffd578937521
2011-12-02 05:10:54 +00:00
Gregory John Casamento
14d5d889be revert change by fred.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34230 72102866-910b-0410-8b05-ffd578937521
2011-11-30 15:43:04 +00:00
Fred Kiefer
865c22357b * Source/NSTextView.m (-buildUpTextNetwork:): Move setting the
default line framgent padding from here ...
* Source/NSTextContainer.m (-initWithContainerSize:): ... to here.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34227 72102866-910b-0410-8b05-ffd578937521
2011-11-28 17:20:45 +00:00
Gregory John Casamento
e9aaaf4b61 Changes to correct bug#34919. NSTextView should now correctly show the padding set in the lineFragmentPadding attribute of NSTextContainer.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34222 72102866-910b-0410-8b05-ffd578937521
2011-11-28 02:37:58 +00:00
Eric Wasylishen
26567e31d8 * Source/NSColorPanel.m: Always send action and colorChanged: when
the color changes. NSColorPanel is always "continuous" for now...
to support -isContinuous == NO, we need to augment the API between
the color panel and the pickers so they can send a message when
the mouse is released.
* Source/NSTextView.m: Change typing attributes in response to
colorChanged:


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34105 72102866-910b-0410-8b05-ffd578937521
2011-11-01 20:31:24 +00:00
Fred Kiefer
8240c3bb55 * Source/NSTextView.m(currentVersion, -encodeWithCoder:,
-initWithCoder:): Archive missing attributes in non-keyed
mode. This required updating the NSTextView version to 4.
Should fix bug #33884.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33962 72102866-910b-0410-8b05-ffd578937521
2011-10-11 08:21:13 +00:00
Eric Wasylishen
d919131abb * Source/NSTextView.m (-view:stringForToolTip:point:userData:):
Ensure this returns an NSString, even if NSToolTipAttributeName
is set to something else (it calls -description on the value).


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33597 72102866-910b-0410-8b05-ffd578937521
2011-07-21 04:56:02 +00:00
Eric Wasylishen
de89388c7f * Source/NSTextView.m: Use respectFraction: YES when deciding whether
to do a word selection upon a right click


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33441 72102866-910b-0410-8b05-ffd578937521
2011-07-03 20:53:44 +00:00
Eric Wasylishen
04342f72c6 * Source/NSTextView.m (-_updateState:): Invalidate cursor rects
so the cursor rects over links, for example, are updated when
text is edited.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33434 72102866-910b-0410-8b05-ffd578937521
2011-07-03 04:45:29 +00:00
Eric Wasylishen
91159aa357 * Source/NSTextView.m (-scrollRangeToVisible:): Fix to support scrolling
to the empty range at the end of a document (i.e. {[string length], 0}).
This fixes the scrolling when you repeatedly hit RETURN in TextEdit to
create new pages (in wrap to page mode).


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33351 72102866-910b-0410-8b05-ffd578937521
2011-06-19 17:52:05 +00:00
Eric Wasylishen
f2f4ab4076 * Source/NSTextView.m (-scrollRangeToVisible:): Work with ranges
outside the receiver (in a situation with multiple NSTextView's
connected to a layout manager)


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33298 72102866-910b-0410-8b05-ffd578937521
2011-06-14 02:32:55 +00:00
Fred Kiefer
783d3d3ae8 Add methods -_becomeRulerClient and -_resignRulerClient to set self as the
ruler client and to resign from that. These get called when self becomes 
first responder or resigns from first responder.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33287 72102866-910b-0410-8b05-ffd578937521
2011-06-12 22:43:08 +00:00
Fred Kiefer
c744492fee Add a few key value bindings.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33277 72102866-910b-0410-8b05-ffd578937521
2011-06-11 12:01:59 +00:00
Eric Wasylishen
d199cb565e * Source/NSTextView.m: Use pointing hand cursor for links
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33043 72102866-910b-0410-8b05-ffd578937521
2011-05-15 06:55:33 +00:00
Eric Wasylishen
7e17fa5ca5 * Source/NSTextView.m: Use IBeam cursor if selectable
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33041 72102866-910b-0410-8b05-ffd578937521
2011-05-15 05:03:14 +00:00
Eric Wasylishen
a3fe4dcbec * Source/NSTextView.m (-mouseDown:):
Add support for making selections with the mouse which span multiple
text views
* Source/NSTextView.m (-setSelectedRange:affinity:stillSelecting:):
Replace the complex display invalidation code with two calls to
-[NSLayoutManager invalidateDisplayForCharacterRange:], which will
take care to invalidate all necessary text views.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32953 72102866-910b-0410-8b05-ffd578937521
2011-04-30 04:49:51 +00:00
Eric Wasylishen
e4458742a1 * Source/NSTextView.m (-setTypingAttributes:) Guard against
nil layout manager


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32952 72102866-910b-0410-8b05-ffd578937521
2011-04-30 04:30:45 +00:00
Eric Wasylishen
ea58698be4 * Source/NSTextView.m (-selectionRangeForProposedRange:granularity:):
Remove a special case which caused this method to refuse to
expand a range {[string length], 0}.
This was why the align left/center/right menu items didn't work
in Ink when the insertion point was at the end of a document.
The behaviour should match OS X now.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32935 72102866-910b-0410-8b05-ffd578937521
2011-04-27 09:19:53 +00:00
Eric Wasylishen
9db8881062 * Source/NSTextView.m (-setRulersVisible:): Create a horizontal ruler on
the scroll view if needed - this seems to be the OS X behaviour.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32932 72102866-910b-0410-8b05-ffd578937521
2011-04-27 04:00:33 +00:00
Riccardo Mottola
cd82d143a3 remove c99-ism
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32725 72102866-910b-0410-8b05-ffd578937521
2011-03-28 14:38:17 +00:00
Eric Wasylishen
fb20ec1095 * Source/NSTextView.m: Add a message in the context menu
if there are no spelling suggestions


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32581 72102866-910b-0410-8b05-ffd578937521
2011-03-14 19:44:58 +00:00
Eric Wasylishen
6af7d4f8b0 NSTextView.m: Attempt to add pagination support so lines aren't cut in half when printing
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32566 72102866-910b-0410-8b05-ffd578937521
2011-03-14 09:04:08 +00:00
Eric Wasylishen
5d165e7db8 tweaks to last commit
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32562 72102866-910b-0410-8b05-ffd578937521
2011-03-14 04:57:02 +00:00
Eric Wasylishen
2d713e6cca * Source/NSLayoutManager.m: Clear temporary attributes
on the modified range when informed of a change in the text
storage
* Source/NSTextView.m: Add a context menu with spelling
suggestions and cut/copy/paste


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32561 72102866-910b-0410-8b05-ffd578937521
2011-03-14 04:19:32 +00:00
Eric Wasylishen
b460081f8c NSTextView continuous spell checking
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32534 72102866-910b-0410-8b05-ffd578937521
2011-03-12 07:45:14 +00:00
David Chisnall
a278bc778a Rename HUGE -> GSHUGE to remove conflict with standard library #define.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32352 72102866-910b-0410-8b05-ffd578937521
2011-02-24 13:29:18 +00:00