Commit graph

345 commits

Author SHA1 Message Date
Eric Wasylishen
88be063a41 * Headers/AppKit/NSView.h:
* Source/NSView.m (-resizeWithOldSuperviewSize): Pixel-align
view frame when autoresizing.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33483 72102866-910b-0410-8b05-ffd578937521
2011-07-07 23:16:02 +00:00
Fred Kiefer
a71f6baac8 * Source/NSView.m (-resizeWithOldSuperviewSize): Reimplement to
resize proportionally as Cocoa does.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33482 72102866-910b-0410-8b05-ffd578937521
2011-07-07 22:19:07 +00:00
Fred Kiefer
87c05a3ba1 * Source/GSDragView.m (-init): Set the window background colour to clear.
* Headers/AppKit/NSAffineTransform.h,
* Headers/AppKit/NSView.h,
* Source/NSAffineTransform.m,
* Source/NSPrintOperation.m,
* Source/NSView.m: Use CGFlaot instead of float.
* Tests/gui/NSView/NSView_bounds_scale.m: New test file that currently fails.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33398 72102866-910b-0410-8b05-ffd578937521
2011-06-28 20:59:24 +00:00
Fred Kiefer
52aee6a0ee * Source/NSView.m (-_viewWillMoveToWindow:): Move the invalidation of
the coordinate transformations and the cursor rects before the
window test. Remove calls to coordinate invalidation from other places.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33347 72102866-910b-0410-8b05-ffd578937521
2011-06-19 10:04:24 +00:00
Fred Kiefer
b1a51425e6 * Source/NSView.m (-setBounds:, -setBoundsSize:): Rewrite of this
methods plus a few helpers. We pass now all the frame/bounds test cases.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33343 72102866-910b-0410-8b05-ffd578937521
2011-06-18 22:59:58 +00:00
Eric Wasylishen
1a25ffa41e * Source/NSView.m (-scrollRectToVisible:): Work when the receiver
isn't partially visible in the clip view.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33297 72102866-910b-0410-8b05-ffd578937521
2011-06-14 02:27:35 +00:00
Fred Kiefer
f4a8cab41b * Source/NSView.m (-setSubviews:): New method.
Code by Banlu Kemiyatorn <object@gmail.com>.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33068 72102866-910b-0410-8b05-ffd578937521
2011-05-19 08:19:13 +00:00
Fred Kiefer
6c54fd6be5 Remove most uses of the method [NSView -removeSubview:].
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33047 72102866-910b-0410-8b05-ffd578937521
2011-05-15 14:42:08 +00:00
Eric Wasylishen
5b0bfe8f6e 011-05-07 Eric Wasylishen <ewasylishen@gmail.com>
* Source/NSView.m (-convertPoint:toView:): Correct this
	method; it was applying the transforms backwards :-(


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33001 72102866-910b-0410-8b05-ffd578937521
2011-05-07 21:30:25 +00:00
Eric Wasylishen
b00942ae92 * Source/NSView.m (-updateBoundsMatrix):
Fix a bug where updateBoundsMatrix would refuse to restore a
view's scale to its original value, after a modified bounds rect
had been set.
* Source/NSView.m (-setBounds:, -setBoundsOrigin:, -setBoundsSize:):
Call [self setNeedsDisplay: YES]; at the ends of these methods.
While the Cocoa docs explicitly say that calling these methods
won't mark the view as needing redisplay, this doesn't seem to
be true in practice.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32955 72102866-910b-0410-8b05-ffd578937521
2011-04-30 06:40:14 +00:00
Eric Wasylishen
a5a57fdfdf * Source/NSView.m (-_rebuildCoordinates): Remove assumption that
the window content view's superview's transformation matrix is
the identity matrix.
* Source/NSView.m (-convertPoint..., convertRect..., convertSize...):
Rewrite these methods to remove the same assumption as above, and
also call -_matrixToWindow/-_matrixFromWindow rather than accessing
ivars directly.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32887 72102866-910b-0410-8b05-ffd578937521
2011-04-18 21:02:36 +00:00
Fred Kiefer
a953d2bda0 Release the key value binding as it will be
retained in the binding table.
Leak found by static code analyser.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32484 72102866-910b-0410-8b05-ffd578937521
2011-03-07 13:35:37 +00:00
Fred Kiefer
4abc4ac83b Add the 10.5 coordinate transformation methods.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31755 72102866-910b-0410-8b05-ffd578937521
2010-12-22 17:06:35 +00:00
Jonathan Gillaspie
6198e3aa94 * Source/NSView.m: Added some basic santity checkts that the views
are in windows when converting rectangles.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31583 72102866-910b-0410-8b05-ffd578937521
2010-11-02 20:57:52 +00:00
Fred Kiefer
8d1ae3ab80 * Source/NSView.m (-_viewWillMoveToWindow:): When calling
[-releaseGState] make sure to keep the value of _allocate_gstate.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31409 72102866-910b-0410-8b05-ffd578937521
2010-09-24 18:35:18 +00:00
Fred Kiefer
5ef03d293a Fix bugs found by static code analysis.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31360 72102866-910b-0410-8b05-ffd578937521
2010-09-16 07:57:57 +00:00
Fred Kiefer
a3eb0e0e6e Check if the window and it's gstate exist before undefining the gstate.
Patch by Georg Fleischmann <G.Fleischmann@vhf.de>.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31350 72102866-910b-0410-8b05-ffd578937521
2010-09-15 08:21:32 +00:00
Quentin Mathe
a7ca2b775f Replaced _rFlags.flipped_view use with -isFlipped and deprecated
_rFlagsType.flipped_view.
Still needs some work to automatically invalidate coordinates when the 
flipping changes e.g. between two drawing sessions.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31233 72102866-910b-0410-8b05-ffd578937521
2010-09-03 08:21:52 +00:00
Quentin Mathe
9be1f4da8e Fixed many drawing issues (many ones being related to the flipping).
See bug report #27782

In particular, fixed -[NSImage drawXXX] and -[NSImage composite/dissolveXXX] 
methods to work exactly as Cocoa when the Cairo backend is used.
Added a new draw operator (in addition to composite) to the backend. Cairo is 
the only backend that implements it for now.
Eliminated as many flipping checks as possible.

Warning: Untested with the winlib backend. 
You must update, recompile and install both Back and Gui.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30523 72102866-910b-0410-8b05-ffd578937521
2010-06-01 11:04:36 +00:00
Fred Kiefer
99e273a57d few compiler warning fixes plus a lot of #import replacement.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30448 72102866-910b-0410-8b05-ffd578937521
2010-05-24 10:48:14 +00:00
David Chisnall
c6866f8c8a Lots of small tweaks to make -gui compile without warnings with clang.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30119 72102866-910b-0410-8b05-ffd578937521
2010-04-10 20:33:30 +00:00
Doug Simons
b86e1bf40d Fix problems with next key view chain
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30088 72102866-910b-0410-8b05-ffd578937521
2010-04-05 16:59:51 +00:00
David Chisnall
a9ba2e5e77 Removed all uses of @defs() from -gui, so it now compiles cleanly with the non-fragile ABI. All ivars that must be accessed from other classes are now wrapped in PACKAGE_SCOPE. With clang, this expands to @package, with GCC it expands to @public.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30045 72102866-910b-0410-8b05-ffd578937521
2010-03-27 00:01:03 +00:00
Riccardo Mottola
1f6a5b28c2 removed c99-isms
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30041 72102866-910b-0410-8b05-ffd578937521
2010-03-26 00:10:45 +00:00
Fred Kiefer
9f4fd26405 Change tag to NSInteger.
Patch by Anibal Rindisbacher <anibal784@gmail.com>.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30026 72102866-910b-0410-8b05-ffd578937521
2010-03-23 21:26:24 +00:00
Fred Kiefer
58afda1e08 Small keyed decoing improvements.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29963 72102866-910b-0410-8b05-ffd578937521
2010-03-15 12:55:12 +00:00
Fred Kiefer
a61995b438 Better debug output plus minor improvements.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29959 72102866-910b-0410-8b05-ffd578937521
2010-03-15 10:49:21 +00:00
Fred Kiefer
60c81d02b6 Add two Cocoa debug helper methods.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29924 72102866-910b-0410-8b05-ffd578937521
2010-03-13 15:17:21 +00:00
Doug Simons
9b229c81f5 fix behavior of simple click within selected text; optimize setNeedsDisplayInRect: when called with empty rect
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29914 72102866-910b-0410-8b05-ffd578937521
2010-03-12 22:50:42 +00:00
Fred Kiefer
c05581a005 Fix up teh includes to compile again after latest changes to base. Still
plenty of warnings and the result isn't working at least on 64 bit
machines :-(


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29685 72102866-910b-0410-8b05-ffd578937521
2010-02-20 10:40:44 +00:00
Doug Simons
7868cd6332 Remove subviews AFTER next/previous key views have been cleaned up, in case any subviews were in the view chain
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29529 72102866-910b-0410-8b05-ffd578937521
2010-02-09 22:05:25 +00:00
Eric Wasylishen
156aef2436 * Source/NSView.m (-setHidden:): When hiding a view, we need to
call -setNeedsDisplay:YES on the superview, rather than self


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29417 72102866-910b-0410-8b05-ffd578937521
2010-01-27 08:31:19 +00:00
Eric Wasylishen
27d0e485e3 * Source/NSView.m (-setHidden:): Fix un-hiding of hidden views, loaded
from nib's, with subviews. The subview coordinates just need to be
invalidated when the view is unhidden.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29416 72102866-910b-0410-8b05-ffd578937521
2010-01-27 07:40:54 +00:00
Wolfgang Lux
2ebe9f4335 Fix bug where NSView's -dealloc could break the key view chain.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29081 72102866-910b-0410-8b05-ffd578937521
2009-11-29 14:25:54 +00:00
Fred Kiefer
ec138f065f Two small changes that should make Emacs 23.1 usable with GNUstep.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28643 72102866-910b-0410-8b05-ffd578937521
2009-09-08 22:10:56 +00:00
Richard Frith-MacDonald
452ffee567 Small theme update, plus documentation fixes and tweaks to avoid warnings.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28538 72102866-910b-0410-8b05-ffd578937521
2009-08-25 07:46:37 +00:00
Fred Kiefer
5fd580f117 * Source/NSView.m (-initWithFrame:, -initWithCoder:) Set
_post_frame_changes and _post_bounds_changes to YES by default.
  Patch by Quentin Mathe <qmathe@gmail.com>.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28465 72102866-910b-0410-8b05-ffd578937521
2009-08-15 22:34:13 +00:00
Fred Kiefer
fc5a042401 * Source/NSView.m (-_setNeedsDisplayInRect_real:) Set the window
views as needing display, even when the invalidated rectangle
didn't change.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28382 72102866-910b-0410-8b05-ffd578937521
2009-07-06 14:18:16 +00:00
Gregory John Casamento
cdbc241fc0 * Source/NSSplitView.m: Set subviews to resize when loaded from
the nib. 
	* Source/NSView.m: Partial revert of previous change.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28201 72102866-910b-0410-8b05-ffd578937521
2009-04-10 19:00:20 +00:00
Gregory John Casamento
92efd93b0c Minor correction to previous commit.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28200 72102866-910b-0410-8b05-ffd578937521
2009-04-10 18:30:19 +00:00
Gregory John Casamento
f3df11134c * Source/NSView.m: Autoresize subviews since it is not pulling it
from the nib correctly.  Will come back and fix this issue.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28199 72102866-910b-0410-8b05-ffd578937521
2009-04-10 18:29:22 +00:00
Fred Kiefer
5215126ca7 Fix a differnace to Cocoa and warn about another one.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28135 72102866-910b-0410-8b05-ffd578937521
2009-03-26 22:37:47 +00:00
Fred Kiefer
bc7a00e00b Add parentheses to stop compiler from complaining.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28091 72102866-910b-0410-8b05-ffd578937521
2009-03-18 09:21:51 +00:00
Gregory John Casamento
83e65b773e * Source/NSPrintOperation.m: Correct issues with handling of
rectangle passed back from rectForPage: callback in NSView 
	subclasses.  This rect should override existing calculations 
	when it is passed in.
	* Source/NSView.m: Change to use NSPrintPaperBounds if and only if
	aRect is passed in as a blank rect.  Previously the code was
	using the NSPrintPaperBounds value and ignoring the passed in
	value.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28071 72102866-910b-0410-8b05-ffd578937521
2009-03-12 23:50:23 +00:00
Xavier Glattard
74bcdbdd94 Some improvements and bux fix related to OpenGL
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28032 72102866-910b-0410-8b05-ffd578937521
2009-03-03 20:12:43 +00:00
Richard Frith-MacDonald
d611e97561 Invalidate tracking rects when removed from view.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27734 72102866-910b-0410-8b05-ffd578937521
2009-01-30 14:42:26 +00:00
Richard Frith-MacDonald
ab54f4450e per-window menu setting tweaks.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27686 72102866-910b-0410-8b05-ffd578937521
2009-01-25 13:47:30 +00:00
Gregory John Casamento
69d27431a9 * Source/GSNibLoading.m: Correct issue with setting next key view and
previous key view.
	* Source/NSView.m: Comment out frame/bounds matrix calculation since they
	are done when needed.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27317 72102866-910b-0410-8b05-ffd578937521
2008-12-17 00:36:12 +00:00
Gregory John Casamento
1ecd731b02 * Source/NSView.m: Add back in matrix initialization.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27315 72102866-910b-0410-8b05-ffd578937521
2008-12-16 21:56:47 +00:00
Gregory John Casamento
05bec8c892 * Headers/Additions/GNUstepGUI/GSNibLoading.h: Added new method
nibInstantiateWithCoder: to do the initialization normally done
        in NSView when not in IB/Gorm.
        * Source/GSNibLoading.m: Added implementation of new method and
        also re-wrote part of NSCustomView.
        * Source/NSView.m: Added an NSAssert to assure that no subview
        ever decoded is an NSCustomView.
---
Moved decoding of custom view attributes here so that it can cleanly initialize everything to ensure that the view works properly.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27281 72102866-910b-0410-8b05-ffd578937521
2008-12-12 07:03:48 +00:00