Commit graph

68 commits

Author SHA1 Message Date
richard
2199bd736c Minor bugfixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3737 72102866-910b-0410-8b05-ffd578937521
1999-02-17 12:22:46 +00:00
richard
c33366d4d0 Optimisation
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3716 72102866-910b-0410-8b05-ffd578937521
1999-02-16 06:02:15 +00:00
richard
bd715ecc15 Misc tidying.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3698 72102866-910b-0410-8b05-ffd578937521
1999-02-12 21:43:18 +00:00
richard
eddafd66d5 Minor tidyup for window flushing
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3695 72102866-910b-0410-8b05-ffd578937521
1999-02-12 17:00:59 +00:00
richard
2592ded0de Rewrote display methods to conform to spec.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3693 72102866-910b-0410-8b05-ffd578937521
1999-02-12 13:39:44 +00:00
richard
2ed735e51e Code tidyup
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3677 72102866-910b-0410-8b05-ffd578937521
1999-02-09 12:59:44 +00:00
richard
2f023a657a More drawing fixes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3666 72102866-910b-0410-8b05-ffd578937521
1999-02-05 20:30:50 +00:00
richard
710675c693 Update to fix coordinate conversion between views.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3585 72102866-910b-0410-8b05-ffd578937521
1999-01-22 20:28:12 +00:00
richard
d4f4617d09 Tidied view hierarchy management methods
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3584 72102866-910b-0410-8b05-ffd578937521
1999-01-21 18:12:45 +00:00
richard
9ddd4532b3 Several minor bugfixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3576 72102866-910b-0410-8b05-ffd578937521
1999-01-19 10:55:24 +00:00
far
c869e4f009 * NSWindow.m acceptsFirstResponder implement.
* NSView.m: removeFromSuperview remove view from responder chain.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3476 72102866-910b-0410-8b05-ffd578937521
1998-12-16 22:33:40 +00:00
far
9a51e11c67 minor tweak to NSView
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3455 72102866-910b-0410-8b05-ffd578937521
1998-12-14 10:28:51 +00:00
far
22040ec62b * NSWindow.m renmae captureMouse: to _captureMouse: (designate as non OS),
various methods add fieldEditor support.
	* GSContext.m/GSContext.h revert to previous code as solution discussed
	with Adam Fedor regarding backends had problems I had not forseen.
	* NSBrowserCell.h/.m specify text subcell as an NSCell, eliminate image
	cell, copyWithZone: optimize and eliminate use of ASSIGN (fixes serious
	dealloc bug), highlight: eliminate method (fixes dup display bug).
	* NSButtonCell.m copyWithZone: optimize and eliminate use of ASSIGN
	* NSStringDrawing.h/.m remove unimplemented draw methods from Category
	(these are backend specific, can't be defined twice and are already
	implemented in xraw).
	* NSApplication.h redefine initialize_gnustep_backend () per Adam's
	redefinition in the backend.
	* Functions.m/.h remove initialize_gnustep_backend()
 	* NSCell.m preliminary implementation of fieldEditor mechanism,
	copyWithZone: optimize and eliminate use of ASSIGN
	* NSControl.m rename cell class global to _NSCONTROL_CELL_CLASS
	* NSMatrix.m implement NSControl's updateCell: to prevent unecessary
	matrix drawing if possible.
	* NSView.m -resizeWithOldSuperviewSize reverted code to my own once more
	(fewer lines and no if/else logic), changed code to use view frame instead
	of bounds per 3.3/4.2 docs, optimize to avoid floating point math and scale
	adjustment unless view has been scaled.
	* NSScrollView.m define as externs various PS* functions for use in
	drawing, polish drawing, move all backend code to front.
	* Tools/dummy.m define dummy PS* functions employed in gui.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3454 72102866-910b-0410-8b05-ffd578937521
1998-12-14 09:54:38 +00:00
richard
01ac1e8035 Minor tidying
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3435 72102866-910b-0410-8b05-ffd578937521
1998-12-12 10:03:44 +00:00
richard
5f2f86031b Fixed error in the, deliberately wrong :-) code for rounding view sizes down
to an integer number of points.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3433 72102866-910b-0410-8b05-ffd578937521
1998-12-12 09:53:54 +00:00
richard
67ac649c75 resizeWithOldSuperviewSize: revert to previous code (in order to fix bug
introduced when MaxX or Y is specified but not Min.  Added reliable
code to avoid fractional values.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3431 72102866-910b-0410-8b05-ffd578937521
1998-12-12 06:40:23 +00:00
far
520320cf92 * NSView.m resizeWithOldSuperviewSize: revert to previous code and add bug
fixes from new.  Fixes bugs in new code when MaxX or Y is specified but not
	Min.  Avoids fractional values and fewer lines of code.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3425 72102866-910b-0410-8b05-ffd578937521
1998-12-09 17:49:55 +00:00
richard
3f83e799bc Auto-resize fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3424 72102866-910b-0410-8b05-ffd578937521
1998-12-09 06:42:19 +00:00
far
04cfb58055 * NSScroller.m move backend code into frontend, polish code, remove ifdefs.
* TrackingRectangle.m/.h rename class to GS* prefix (GSTrackingRect).
	* NSView.m resizeWithOldSuperviewSize: floor possibly fractional results.
	displayIfNeededIgnoringOpacity: rewrite to fix obscure bugs in auto
	display.  Minor tweaks in other display methods for same reasons.
	* NSView.h rename invalidatedRectangle to invalidRect.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3421 72102866-910b-0410-8b05-ffd578937521
1998-12-09 01:26:37 +00:00
far
4f3d06e45e * NSView.m resizeWithOldSuperviewSize: fully implement.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3392 72102866-910b-0410-8b05-ffd578937521
1998-12-05 21:27:19 +00:00
far
dba0b61156 * NSView.m resizeSubviewsWithOldSize: check whether view has ever been
rotated (per 4.2 docs).
	* NSStringDrawing.m sizeWithAttributes: fix minor bug introduced while
	optimizing tab calc.
	* NSCell.m: drawInteriorWithFrame: minor optimization


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3379 72102866-910b-0410-8b05-ffd578937521
1998-12-03 21:23:58 +00:00
far
9af04949cd * GSContext.m/.h second rewrite and polish of API.
* NSView.m displayrect add flushWindow at end.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3339 72102866-910b-0410-8b05-ffd578937521
1998-11-27 12:17:37 +00:00
far
2d4079f2cf * move DPSOperators.h to XDPS.
* move GPS headers into a new backend.
	* define GSContext.h/GSContext.m as abstract super for all drawing
		destinations (eliminates the need for DPS, GPS, DGS at the root of
		the AppKit) add appropriate defintion to various classes.
	* NSMatrix.m add abstract backend code from xraw (eliminate backend).
	* NSSlider.m add abstract backend code from xraw (eliminate backend).
	* NSSliderCell.m add abstract backend code from xraw (eliminate backend).
	* NSSplitView.m add abstract backend code from xraw (eliminate backend).
		replace private divider highlight method with NSHighlightRect()
	* NSWindow.m add class method to create backend specific window view.
	* NSTextField.m add abstract backend code from xraw (eliminate backend).
	* NSForm.m add abstract backend code from xraw (eliminate backend).
	* NSFormCell.m add abstract backend code from xraw (eliminate backend).
	* NSColorWell.m add abstract backend code from xraw (eliminate backend).
	* NSButton.m add abstract backend code from xraw (eliminate backend).
	* NSControl.m add abstract backend code from xraw (eliminate backend).
	* NSBox.m add abstract backend code from xraw (eliminate backend).
	* NSBrowser.m add abstract backend code from xraw (eliminate backend).
	* NSBrowserCell.m add abstract backend code from xraw (eliminate backend).


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3321 72102866-910b-0410-8b05-ffd578937521
1998-11-25 17:16:48 +00:00
far
4d2ffb9522 gui changes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3260 72102866-910b-0410-8b05-ffd578937521
1998-11-20 02:14:22 +00:00
far
ccfc67f353 gui changes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3208 72102866-910b-0410-8b05-ffd578937521
1998-11-12 10:49:00 +00:00
far
59daf30d58 * NSMenuItem.h ADDITIONAL_WIDTH increase defined size (fix overlap in Edit)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3169 72102866-910b-0410-8b05-ffd578937521
1998-11-03 21:04:55 +00:00
far
65a0194e32 gui changes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3164 72102866-910b-0410-8b05-ffd578937521
1998-11-02 17:42:23 +00:00
richard
00bc3151f2 pushFocusView: must be given an object.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3134 72102866-910b-0410-8b05-ffd578937521
1998-10-27 16:01:33 +00:00
richard
79758f2570 Implement view stack.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3133 72102866-910b-0410-8b05-ffd578937521
1998-10-27 15:24:42 +00:00
richard
84112aa3fb Threading fix.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3132 72102866-910b-0410-8b05-ffd578937521
1998-10-27 15:06:07 +00:00
far
748f6b3661 * NSApplication.m minor optimiztions.
* NSAttributedString.m sizeWithAttributes: implement tab support.
	* NSStringDrawing.m sizeWithAttributes: implement tab support.
	* NSScroller.m trackScrollButtons: add temporary hack in support of XRAW's
		heavily optimized scrolling machinery.
	* NSScroller.m remove sendAction:to:
	* NSScrolView.m _doScroll: implement scroller update when scrolling via
		buttons
	* NSScrolView.m reflectScrolledClipView comment out setNeedsDisplay as it
		causes display flicker.
	* NSText.m add changes from Daniel B�hringer, set initFrame to default
		values to prevent infinite loop in rebuildLineLayout, minor tweaks
	* NSView.m minor optimiztions.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3071 72102866-910b-0410-8b05-ffd578937521
1998-10-15 12:04:53 +00:00
far
48b8e5aa73 * NSApplication.h added windows_need_update as autodisplay ivar.
* NSApplication.m in init set default for main_menu, windows_need_update.
	* NSApplication.m in run added support for OPENSTEP autodisplay mechanism.
	* NSApplication.m _eventMatchingMask: reformat.
	* NSApplication.m nextEventMatchingMask:untilDate:inMode:dequeue:
		move calls to _flushWindows to XDPS backend.
	* NSApplication.m implemented updateWindows.
	* NSApplication.m implemented setWindowsNeedUpdate:.
	* NSApplication.m setMainMenu: test for menu prior to release.
	* NSActionCell.m removed setState: method.
	* NSActionCell.m copyWithZone: optimized ivar copying.
	* NSButtonCell.m added _init and moved common defaults to this method.
	* NSButtonCell.m initImageCell: and initTextCell: minor optimizations.
	* NSButtonCell.m setAlternateTitle: optimize and use ASSIGN macro.
	* NSButtonCell.m setKeyEquivalent: remove [copy release].
	* NSButtonCell.m setKeyEquivalentFont:size: optimize.
	* NSButtonCell.m copyWithZone: optimized ivar copying where possible.
	* NSCell.m _init removed call to [super init].
	* NSCell.m initTextCell: removed duplicate default initializers.
	* NSCell.m setImage: rewrote to use ASSIGN macro.
	* NSCell.m setDoubleValue: rewrote to use ASSIGN macro.
	* NSCell.m setFloatValue: rewrote to use ASSIGN macro.
	* NSCell.m setIntValue: rewrote to use ASSIGN macro.
	* NSCell.m setStringValue: rewrote to use ASSIGN macro.
	* NSCell.m setFont: rewrote to use ASSIGN macro.
	* NSCell.m setRepresentedObject: rewrote to use ASSIGN macro.
	* NSCell.m copyWithZone: optimized ivar copying where possible.
	* NSClipView.m viewBoundsChanged: minor optimization.
	* NSClipView.m viewFrameChanged: minor optimization.
	* NSClipView.m scaleUnitSquareToSize: minor optimization.
	* NSClipView.m setBoundsOrigin: minor optimization.
	* NSClipView.m setBoundsSize: minor optimization.
	* NSClipView.m setFrameSize: minor optimization.
	* NSClipView.m setFrameOrigin: minor optimization.
	* NSClipView.m setFrame: minor optimization.
	* NSClipView.m translateOriginToPoint: minor optimization.
	* NSMatrix.m eliminate retain/release of selected cell via ASSIGN.
	* NSMatrix.m initWithFrame: remove duplicate setting of selected row and
		column.
	* NSMatrix.m removeColumn: rewrite so that col is removed before new
		selection is attempted (needed because selected cell is not retained).
	* NSMatrix.m removeRow: rewrite so that row is removed before new
		selection is attempted (needed because selected cell is not retained).
	* NSMatrix.m deselectAllCells per OS spec try to select a cell at end
		if empty selection is not allowed.
	* NSMatrix.m deselectSelectedCell set default selected row/col to 0.
	* NSMatrix.m mouseDown: optimize for new drawing behaviour.
	* NSMenu.m setSelectedCell: eliminate use of retain/release of selected
		cell via ASSIGN.
	* NSMenuItem.m copyWithZone: optimized ivar copying where possible.
	* NSMenuItem.m dealloc minor optimization.
	* NSMenuItem.m setTarget: minor optimization.
	* NSScroller.m trackScrollButtons: heavily optimized.
	* NSScroller.m sendAction: reimplemented to use sendAction: per spec also
		optimized.
	* NSText.m implemented init method.
	* NSText.m initWithFrame: fixed initialization of ivars which are released
		to retain.
	* NSText.m dealloc add release of retained ivars.
	* NSView.m dealloc add release of retained ivars.
	* NSView.m displayRect: and _addSubviewForNeedingDisplay reformatted code
		and rewrote comments.
	* NSWindow.m setFrame:display: rewrote for clarity.
	* NSWindow.m implemented update method per OPENSTEP spec.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@2941 72102866-910b-0410-8b05-ffd578937521
1998-08-30 16:06:47 +00:00
far
85583b8e23 * NSView.h added specific values and comments to resize constants enum.
* NSView.m implemented resizeWithOldSuperviewSize (needs work).
	* NSMatrix.m mousedown clarified description comment.
	* NSSavePanel.m integrated source from Daniel B�hringer into premliminary
		implementations provided by Scott Christley.
	* NSSavePanel.h integrated source from Daniel B�hringer into premliminary
		implementations provided by Scott Christley.
	* NSOpenPanel.m integrated source from Daniel B�hringer into premliminary
		implementations provided by Scott Christley.
	* NSOpenPanel.h integrated source from Daniel B�hringer into premliminary
		implementations provided by Scott Christley.
	* NSStringDrawing.h defined NSAttributedString portion of extension.
	* NSAttributedString.h created preliminary implementation of extension.
	* Appkit.h added includes for NSAttributedString and NSStringDrawing.
	* NSPasteboard.h added extern NSRTFDPboardType define.
	* externs.m defined NSRTFDPboardType.
	* NSText.h integrated source from Daniel B�hringer
	* NSTextView.m preliminary implementation from Daniel B�hringer
	* NSTextView.h preliminary implementation from Daniel B�hringer
	* NSSplitView.m in drawRect use NSRectFill()


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@2934 72102866-910b-0410-8b05-ffd578937521
1998-08-19 09:00:26 +00:00
far
05cca82b8e * Source/NSBrowser.m fixed bug where column matrix was getting released
twice in method _performLoadOfColumn.
* NSCell.m:  isOpaque returns whether cell is bezeled per NS docs.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@2835 72102866-910b-0410-8b05-ffd578937521
1998-07-14 17:51:44 +00:00
far
5d589124bb added check for a valid view in NSView's _pathBetweenSubview... method
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@2834 72102866-910b-0410-8b05-ffd578937521
1998-07-12 15:15:36 +00:00
far
98e2fbfa63 change in NSBrowser because oldmatrix was getting released twice
various changes to NSMatrix's mousedown to support double clicks
added field editor instance variable to NSWindow


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@2830 72102866-910b-0410-8b05-ffd578937521
1998-07-10 18:44:18 +00:00
ovidiu
07252e51bb Added suport for model loading.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@2665 72102866-910b-0410-8b05-ffd578937521
1997-12-04 01:58:57 +00:00
scottc
e46ccd1acf Fix some event, runloop and flushing interaction problems.
Add NSWindowView which is a specialized view that handles drawing a
window's decorations and background color.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@2638 72102866-910b-0410-8b05-ffd578937521
1997-11-14 21:32:31 +00:00
scottc
5592d9996b Initial implementation of NSBrowser and NSBrowserCell.
Numerous bug fixes.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@2596 72102866-910b-0410-8b05-ffd578937521
1997-10-31 01:24:08 +00:00
ovidiu
f0fbcf363d Remove the view from its super view's list of views that need display when the view is removed from the views hierarchy.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@2588 72102866-910b-0410-8b05-ffd578937521
1997-10-29 22:17:51 +00:00
ovidiu
9b0ceb4edd Incorporated bug fixes from Benhur Stein.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@2587 72102866-910b-0410-8b05-ffd578937521
1997-10-29 21:56:04 +00:00
ovidiu
1f8f64b47b Makefiles changed to GNUmakefile.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@2577 72102866-910b-0410-8b05-ffd578937521
1997-10-28 20:44:38 +00:00
ovidiu
67deaae2c9 Incorporated Benhur Stein's bug fixes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@2544 72102866-910b-0410-8b05-ffd578937521
1997-10-22 01:47:30 +00:00
ovidiu
0e0e6d0989 Fixed the flushing optimization code. Updated the documentation.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@2540 72102866-910b-0410-8b05-ffd578937521
1997-10-22 00:27:59 +00:00
scottc
a0ccec39d1 Fill out NSBox implementation.
Minor bug fixes.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@2536 72102866-910b-0410-8b05-ffd578937521
1997-10-20 22:01:25 +00:00
ovidiu
27721d4b06 NSSlider implemented. Optimizations in displaying and flushing mechanism. A bunch of memory allocation problems fixed.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@2494 72102866-910b-0410-8b05-ffd578937521
1997-10-09 22:55:31 +00:00
scottc
424b73783b Convert to the GNUstep makefile package.
The config.h files should not be installed with the other
header files; it is only used for compilation, so the source
files should include it not the header files.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@2439 72102866-910b-0410-8b05-ffd578937521
1997-09-23 22:43:24 +00:00
netcrep
98035d75ea Scrolling is now working with the new scalation/rotation code (there are still few bugs...).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@2391 72102866-910b-0410-8b05-ffd578937521
1997-08-22 18:38:38 +00:00
netcrep
4c503153cb Added scaling and rotation support.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@2386 72102866-910b-0410-8b05-ffd578937521
1997-08-18 17:10:23 +00:00
netcrep
e6f636ee30 The first implementation of scroll views.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@2370 72102866-910b-0410-8b05-ffd578937521
1997-08-05 21:50:10 +00:00