Sat Jan 27 11:33:35 2001 Nicola Pero * Source/NSColorWell.m ([-acceptsFirstMouse:]): Added. 2001-01-27 Richard Frith-Macdonald * Tools/gpbs.m: Cope better with nil pasteboard owners. Fri Jan 26 22:36:21 2001 Nicola Pero * Source/NSBrowser.m (NSBR_VOFFSET): Changed from 3 to 2. ([-titleHeight]): Return 21. * Source/NSFontPanel.m (_setFloatValue): New function to avoid displaying .00000 for floats. ([-browser:selectRow:inColumn:]), ([-setPanelFont:isMultiple:]): Use it. ([-_initWithoutGModel]): Completely rewritten sizes; fixed autoresizing masks; use a GSBrowserTitleCell to draw the size column title; added trick to make splitview sizes right; set min size. ([-browser:titleOfColumn:]), ([-browser:numberOfRowsInColumn:]), ([-browser:selectRow:inColumn:]): Tiny speed up. ([splitView:constrainMinCoordinate:maxCoordinate:ofSubviewAt:]): New method. * Source/NSSplitView.m ([-initWithFrame:]): Set _autoresizes_subviews to NO. ([-isFlipped]): Return YES as per spec. ([-adjustSubviews]), ([-drawRect:]), ([-mouseDown:]): Updated for flipped coordinates. ([-drawDividerInRect:]): Fixed bug in drawing dimple with flipped coordinates. 2001-01-26 Richard Frith-Macdonald * Source/NSLayoutManager.m: when doing conversions between glyph and character indices, support the index immediately beyond the end of the glyphs/characters without raising an exception. 2001-01-22 Richard Frith-Macdonald * Source/NSLayoutManager.m: loads of glyph changes - added some implementation notes. Implemented gaps in the glyphs stream. I think all glyph methods are implemented now (probably). Really needs someone elses eye casting over it, to try to catch any obvious bugs. 2001-01-20 Fred Kiefer * Source/NSBezierPath.m Corrected some bugs. Opimized the concret subclass to use a GSIArray. Sun Jan 21 14:10:52 2001 Nicola Pero * Source/NSClipView.m ([-setBoundsOrigin:]): Rewritten/fixed scrolling so that it only copies from visible bits. Sat Jan 20 23:38:03 2001 Nicola Pero Patches by Alexander Malmberg , modified: * Source/NSMenu.m ([NSMenuWindowTitleView -titleHeight]): New method. ([NSMenu -initWithTitle:]): Use the new method to compute menu title height. ([NSMenu -sizeToFit]): Idem. * Source/NSMenuView.m ([+menuBarHeight]): Compute from the font height. ([-initWithFrame:]): Compute cellSize from the font size. 2001-01-20 Fred Kiefer * Headers/gnustep/gui/NSBezierPath.h Added missing methods and changed the ivars. * Source/NSBezierPath.m Almost complete rewrite. The abstract class implements now most of the methods leaving only 9 methods to the concrete class. (And the hit test should also go into the abstract class) Simplified and corrected most methods. * Source/NSAffineTransform.m [transformBezierPath:] autorelease the returned object. 2001-01-20 Richard Frith-Macdonald * Source/NSLayoutManager.m: Reorganize and tidy up glyph code in preparation for handling gaps in the glyh stream. Fri Jan 19 17:22:24 2001 Nicola Pero * GNUmakefile: Added RPM_DISABLE_RELOCATABLE and PACKAGE_NEEDS_CONFIGURE. * gnustep-gui.spec.in, gnustep-gui-debug.spec.in: New files. * gnustep-gui.spec: Removed. Wed Jan 17 19:51:57 2001 Nicola Pero * Source/NSTableHeaderView.m ([-mouseDown:]): Fixed bug in resizing (patch by Pierre-Yves Rivaille slightly modified). Tue Jan 16 12:01:28 2001 Nicola Pero * Source/NSApplication.m (_NSAppKitUncaughtExceptionHandler): Fixed logging exception when no graphics context exist. Tue Jan 16 11:54:30 2001 Nicola Pero * Source/NSAffineTransform.m ([-takeMatrixFromTransform:]): New method to get quickly the matrix from another transform. * Headers/gnustep/gui/NSAffineTransform.h: Added corresponding declaration. * Source/NSView.m ([-_rebuildCoordinates]): Use it to spare a couple of method calls per invocation. * Source/NSBrowser.m ([-pathToColumn:]): Bug fix - stop computing path as soon as a column with no selected cells in it is found. * Headers/gnustep/gui/NSClipView.h: Added ivar to cache whether we are opaque or not. * Source/NSClipView.m ([-isOpaque]): Returne cached info. ([-setDrawsBackground:]), ([-setBackgroundColor:]): Update opaque cache info. * Source/NSClipView.m ([-setDocumentView:]): As a safety check, update _rFlags.flipped_view before setting the bounds. ([-setBoundsOrigin:]): Use [self documentVisibleRect] to get the document view area to be redrawn when redrawing everything. * Source/NSScrollView.m ([-tile]): Removed reflectScrolledClipView call in excess. * Source/NSView.m ([-_rebuildCoordinates]): Use _frame.height, not _bounds.height when flipping coordinates. * Source/NSView.m: Cache the default notification center for the whole class. * Source/NSView.m ([-resizeWithOldSuperviewSize:]): Bug fix - removed hackish code which manually attempted to `restore' bounds after setFrame: updated them. This fixes the rubbish drawn when resizing a textview inside a scrollview - a bug which escaped debugging attempts for more than one year I think. I am glad it's fixed now. Tue Jan 16 11:47:58 2001 Nicola Pero * Source/NSMenu.m ([NSMenuWindowTitleView -drawRect:]): Fixed bug - exposed rect being confused with bounds (patch by Malmberg ). 2001-01-15 Richard Frith-Macdonald * Headers/gnustep/gui/NSLayoutManager.h: New _endCharIndex ivar to keep track of last char converted to glyph. * Source/NSLayoutManager.m: More glyph handling code implemented. Sat Jan 13 22:16:45 2001 Nicola Pero * Source/GSSimpleLayoutManager.m ([-glyphIndexForPoint: inTextContainer:fractionOfDistanceThroughGlyph:]): Check that fraction pointer is non NULL before using it. * Source/GSSimpleLayoutManager.m ([-_charIndexForInsertionPointMovingFromY:bestX:up: textContainer:]): New method implemented. * Headers/gnustep/gui/NSLayoutManager.h: Added it. * Source/NSLayoutManger.m: Added it with void implementation. * Headers/gnustep/gui/NSTextView.h: New insertion point ivar which stores the insertion point rectangle. Ivar for stable cursor up/down changed to a float. * Source/NSTextView.m: Use everywhere the new ivar for the insertion point rect rather than computing it each time; use everywhere [_textStorage length] rather than [self textLength]. * Source/NSTextView.m ([-alignment]): Simplified for non rich text. * Source/NSTextView.m ([-updateInsertionPointStateAndRestartTimer:]): Implemented. ([-setSelectedRange:affinity:stillSelecting:]): Invoke [-updateInsertionPointStateAndRestartTimer:]. ([-insertText:insertString]), ([-deleteBackward:]), ([-deleteForward:]), ([-moveLeft:]), ([-moveRight:]): Removed code to remember position of cursor; now it is done automatically by [-updateInsertionPointStateAndRestartTimer:]. ([-moveDown:]), ([-moveUp:]): Fixed - rewritten to use the new private NSLayoutManager code. ([-rectForCharacterIndex:]), ([-rectForInsertionPointAtIndex:]): Removed. 2001-01-13 Richard Frith-Macdonald * Source/GSTextStorage.m: Fixed bug initialising from an empty attributed string, and fixed bug replacing characters in range, when an attribute range location is the same s the location of the replaced characters. Sat Jan 13 12:24:55 2001 Nicola Pero * Source/NSApplication.m (_NSAppKitUncaughtExceptionHandler): Attempt at making the meaning of the panel more clear for end users by adding the word `Error' to the message title. 2001-01-12 Fred Kiefer * Tools/Functions.m Undid last change and removed Function GSWSetMatrix(). Thu Jan 11 22:09:57 2001 Nicola Pero * Source/NSTextView.m ([-deleteBackward:]), ([-deleteForward:]): Completely rewritten. ([-deleteRange:backspace:]): Removed. ([-delete:]): wrap [-deleteForward:]. 2001-01-11 Richard Frith-Macdonald * Headers/gnustep/gui/NSLayoutManager.h: Remove some unused ivars. * Source/NSLayoutManager.m: Initial hacks for glyph management - should have no effect on execution so far. Wed Jan 10 21:19:23 2001 Nicola Pero * Source/NSApplication.m ([+initialize]): Save the default exception handler before setting a new one. (_NSAppKitUncaughtExceptionHandler): Reset the exception handler to the default exception handler during execution, to prevent very annoying recursive calls. Wed Jan 10 19:42:22 2001 Nicola Pero * Source/GSTextStorage.m ([-length]): Added for speed. * Source/GSTextStorage.m: Prefixed ivars with underscore. Tue Jan 9 11:24:32 2001 Nicola Pero * Tools/Functions.m: Include AppKit/DPSOperators.h so it compiles again. 2001-01-08 Richard Frith-Macdonald * Source/NSApplication.m: exception handler - check that graphics context exists and if it doesn't, simply log an error rather than trying to rujn an alert panel. 2001-01-08 Fred Kiefer * Source/NSColor.m In [supportMaxColorSpaces] corrected converions from RGB to HSB. * Source/NSFontPanel.m [_initWithoutGModel] make the size label non-selectable. * Headers/gnustep/gui/GSWraps.h: Removed function GSWSetMatrix(). 2001-01-08 Fred Kiefer * Headers/gnustep/gui/NSAffineTransform.h: * Source/NSAffineTransform.m Added new GS methods [concatenateWithMatrix:] and [deltaPointInMatrixSpace:] to avoid the creation of a new NSAffineTransform in the backend. * Source/NSScroller.m [setTarget:] don't retain target to avoid retain cycle in NSScrollView. [initWithCoder:] release target after decoding. * Source/NSColorWell.m In [dealloc] call [deactivate] for active colour wells. * Source/NSColorPanel.m Better interaction with the current colour picker. [setTarget:] don't retain target. In [sharedColorPanel] the picker mode is used only to create the panel, not each time the panel is shown. Show the alpha value multiplied by 100. * Source/NSPageLayout.m * Source/NSPrintOperation.m Small improvements. Sun Jan 7 03:28:14 2001 Nicola Pero * Source/GSSimpleLayoutManager.m ([-textStorage:edited:range:changeInLength:invalidatedRange:]), ([-invalidateLayoutForCharacterRange:isSoft:actualCharacterRange:]): Invoke [NSTextView -invalidateTextContainerOrigin]. * Source/NSLayoutManager.m ([-textContainerChangedTextView:]): Implemented. * Source/NSTextContainer.m ([-setTextView:]): Call [NSLayoutManager -textContainerChangedTextView:] if appropriate; do not remove frame change notifications for the old text view. * Source/NSTextView.m ([-initWithFrame:textContainer:]): Set min size to zero; do not modify existing text container flags; removed unused call to sizeToFit. ([-setHorizontallyResizable:]), ([-setVerticallyResizable:]): Removed most code. ([-setConstrainedFrameSize:]): Implemented. ([-sizeToFit]): Rewritten completely to use [-setConstrainedFrameSize:]. ([-setTextContainer:]): Do not set the text container size. ([-invalidateTextContainerOrigin]): Implemented. ([-setFieldEditor:]): Set non horizontally nor vertically resizable. 2001-01-03 Richard Frith-Macdonald * Source/NSFont.m: Minor optimisations - caching class and defaults. Copy font name rather than just retaining - to ensure that it's not a mutable string that gets changed. Ensure that fonts are encoded as the base class. * Source/NSTextView.m: ([-setTypingAttributes:]) update font panel and ruler ([-readSelectionFromPasteboard:type:]) update typing attributes. ([-updateFontPanel]) use font info from typing attributes. 2000-12-28 Fred Kiefer * Headers/gnustep/gui/NSButtonCell.h: Corrected definition of NSBezelStyle. * Source/NSButtonCell.m Simplified mask definition in [drawInteriorWithFrame:inView:] and [cellSize]. * Headers/gnustep/gui/NSColor.h: Prefixed all ivars with underscores, removed unneded ivars and added some missing methods and types. * Headers/gnustep/gui/NSColorPrivate.h: Removed * Source/GNUmakefile: Removed reference of NSColorPrivate.h * Source/externs.m Added notifiaction string from NSColor.m * Source/NSColor.m Added missing methods, restructured all the private methods, so there are no changing methods left. Made systemColorWithName() a function and optimized system color retrival. 2000-12-27 Richard Frith-Macdonald * Source/NSAttributedString.m: ([-doubleClickAtIndex:]), Fixed infinite loop. Added code to cope with double click on the space between words. * Source/GSSimpleLayoutManager.m: Implemented ([-glyphIndexForPoint:inTextContainer:fractionOfDistanceThroughGlyph:]) * Source/NSTextView.m: ([-selectionRangeForProposedRange:granularity]) Re-implemented word selection using ([-doubleClickAtIndex:]) ([-mouseDown:]) creatre proposed range for selection by merging old selection range with new location. Modified ([-characterIndexForPoint:]) to take into account where the character/glyph was clicked on. 2000-12-24 Fred Kiefer * Headers/gnustep/gui/NSButton.h: Added some missing methods. * Headers/gnustep/gui/NSButtonCell.h: Added some missing methods and some ivars. * Source/NSButton.m Delegate all the new methods to the cell. Replaced all calls to [display] with [setNeedsDisplay:] excuding those in [setState:] and [setNextState:]. Removed the initXXX methods, as they were doublicated code from super. * Source/NSButtonCell.m Dummy implementation for new methods. 2000-12-24 Fred Kiefer * Headers/gnustep/gui/NSImageRep.h: * Headers/gnustep/gui/NSBitmapImageRep.h: Added some missing methods. * Source/NSImage.m Implemented [initWithBitmapHandle:], [initWithIconHandle:] and [initWithContentsOfURL:]. [copyWithZone:] dont copy cached image reps. Allways use [self representations], so that the representation is loaded if needed. * Source/NSImageRep.m Implemented [imageRepWithContentsOfURL:] and [imageRepsWithContentsOfURL:]. In [imageRepsWithContentsOfFile:] get all possible reps. * Source/NSBitmapImageRep.m Dummy implementation for new methods. * Headers/gnustep/gui/NSControl.h: Added some missing methods. * Source/NSControl.m Implemented [refusesFirstResponder] and [setRefusesFirstResponder:]. Changed [setEnabled:], [setAlignment:], [setFont:] and all [setXXValue:] methods to conform to the spec. Removed the [copyWithZone:] method. * Headers/gnustep/gui/NSBox.h: Added some missing methods. * Source/NSBox.m Implemented [setTitleWithMnemonic:]. * Headers/gnustep/gui/NSApplication.h: Added ivar _default_context to store the graphic context used for events, which is not switched while printing. * Source/NSApplication.m Use the _default_context for all events and in dealloc. 2000-12-23 Fred Kiefer * Headers/gnustep/gui/NSImage.h: Prefixed all ivars with underscores, made fileName an ivar of NSImage and added some missing methods. * Headers/gnustep/gui/NSImageRep.h: * Headers/gnustep/gui/NSCachedImageRep.h: * Headers/gnustep/gui/NSBitmapImageRep.h: * Headers/gnustep/gui/NSCustomImageRep.h: Prefixed all ivars with underscores. * Source/NSImage.m Adopted to changes in header file. General cleanup. Removed obsolete backend declarations. Move ivar fileName from GSRepDate to NSImage, as it is used only once. This simplifies [_useFromFile:] and [_loadImageFilenames]. Implemented [compositeToPoint:fromRect:operation:] and [dissolveToPoint:fromRect:fraction:] by calling the corresponding function. Now the operator given to this methods is really used! * Source/NSImageRep.m * Source/NSCustomImageRep.m Adopted to changes in header file. * Source/NSCachedImageRep.m Adopted to changes in header file. Removed methods [drawAtPoint:] and [drawInRect:] so that the super implementation gets used. In method [initWithSize:depth:separate:alpha:] store alpha and bitspersample. * Source/NSBitmapImageRep.m Adopted to changes in header file. Moved code from [TIFFRepresentation] to [TIFFRepresentationUsingCompression:factor:] and call this. * Source/NSCell.m In [drawInteriorWithFrame:inView:] use NSCompositeSourceOver as the operator for imag composition not NSCompositeCopy. This replacement may be necessary in other parts of the GUI as well!!!! Sat Dec 23 15:43:24 2000 Nicola Pero * Source/NSTextView.m ([-setSelectedRange:affinity: stillSelecting:]): Rewritten setting typing attributes for insertion point. ([-updateFontPanel]): Rewritten case of insertion point. ([-alignment]), ([-insertText:insertString]): Access typing attributes to avoid copying the dictionary. 2000-12-23 Richard Frith-Macdonald * Source/NSAttributedString.m: ([-doubleClickAtIndex:]), ([-lineBreakBeforeIndex:withinRange:]), ([-nextWordFromIndex:forward:]) cope with apostrophes and hyphens within words. Fri Dec 22 21:40:58 2000 Nicola Pero * Headers/gnustep/gui/NSTextView.h: Added ivar to store the original selected range. * Source/NSTextView.m ([-initWithFrame:textContainer:]): Init original selected range. ([-setSelectedRange:affinity:stillSelecting:]): Rewritten, implemented delegate notifications etc. ([-mouseDown:]): Use setSelectedRange:affinity:stillSelecting: rather than setSelectedRange:, to produce delegate notifications etc. ([-setDelegate:]): Check if delegate reponds to textView:willChangeSelectionFromCharacterRange:toCharacterRange:. Fri Dec 22 20:05:13 2000 Nicola Pero * Source/NSTextView.m ([-setSelectedRange:]): Simply wrap [-setSelectedRange:affinity:stillSelecting:]; all code moved there. ([-mouseDown:]): Implemented shift click. Fri Dec 22 19:20:00 2000 Nicola Pero * Source/externs.m: Added NSOldSelectedCharacterRange. * Headers/gnustep/gui/NSTextView.h: Remove ivar for selection affinity; added ivar related to delegate. * Source/NSTextView.m ([-resignFirstResponder]): Rewritten deleting insertion point; do not flush the window. ([-drawRect:]): Don't flush the window when drawing insertion point. ([-drawInsertionPointInRect:color:turnedOn:]): Don't flush the window. ([-drawInsertionPointAtIndex:color:turnedOn:]): Removed. Code moved to the new method ([-rectForInsertionPointAtIndex:]). ([-selectionAffinity]): Return NSSelectionAffinityDownstream. Thu Dec 21 19:46:45 2000 Nicola Pero * Headers/gnustep/gui/NSWindow.h: New ivar _futureFirstResponder. * Source/NSWindow.m ([-makeFirstResponder:]): Set ivar _futureFirstResponder. ([-_futureFirstResponder]): New method. * Headers/gnustep/gui/NSLayoutManager.h: Added ivars for synchronization of textviews. Added ivar to mark when editing has began in the group of associated textviews. * Source/NSTextView.m: Use the synchronization ivars in the layout manager instead of the static ones used before. * Source/NSLayoutManager.m ([-addTextContainer:]), ([-insertTextContainer:atIndex:]), ([-removeTextContainerAtIndex:]): Set ivars for cache; call _updateMultipleTextViews for all our textviews. ([-layoutManagerOwnsFirstResponderInWindow:]): Implemented. * Source/NSTextView.m ([-_updateMultipleTextViews]), ([-setDelegate:]): Cache if delegate responds to shouldChangeTextInRange:replacementString:. ([-shouldChangeTextInRange:replacementString:]): Implemented. ([-resignFirstResponder]): Implemented check for multiple textviews using the new _futureFirstResponder: private API in NSWindow; clear editing flag. ([-becomeFirstResponder:]): Do not ask the delegate or post notifications. ([-mouseDown:]): No need to attempt to make us first responder - the window does it for us. * Source/NSCell.m ([-acceptsFirstResponder]): Access ivar refuses first responder. * Source/NSButton.m ([-acceptsFirstResponder]): Accept first responder iff we are enabled; key equivalents play no role here. Thu Dec 21 00:19:54 2000 Nicola Pero * Source/NSTextView.m ([-scrollRangeToVisible:]): Bug fix: use range argument, not selected range. * Source/NSTextView.m: Access some ivars directly. Wed Dec 20 19:39:21 2000 Nicola Pero * Source/NSText.m, Source/NSTextView.m: Most code from NSText was merged into NSTextView. * Source/NSText.h, Source/NSTextView.h: Moved many ivars from NSText to NSTextView. Wed Dec 20 15:23:22 2000 Nicola Pero * Source/NSText.m ([-setDelegate:]): Simplified. * Source/NSTextView.m ([-setDelegate:]), ([-_updateMultipleTextViews]): Set up NSText notifications too. Wed Dec 20 00:38:54 2000 Nicola Pero * Source/NSText.m ([-insertNewline:sender]): Do not call [+newlineString]. ([-didChangeText]), ([+newlineString]): Removed. ([-selectedRange]), ([-setSelectedRange:]): Moved to NSTextView.m; merged the two ([-setSelectedRange:]). Tue Dec 19 21:13:50 2000 Nicola Pero Committed first code for sharing attributes between NSTextViews with the same layout manager. Non tested yet - and not complete. * Headers/gnustep/gui/NSTextView.h: Added a flag to keep track of the case multiple text views. Added an ivar to cache the firstTextView object to use in notifications. * Source/NSTextView.m: ([-_updateMultipleTextViews]), ([-_syncTextViewsByCalling:withFlag:]): New methods. ([-replaceTextContainer:]), ([-setTextContainer:]): Call _updateMultipleTextViews:. ([-setEditable:]), ([-setRichText:]), ([-setImportsGraphics:]), ([-setSelectable:]), ([-setUsesFontPanel:]), ([-setFieldEditor:]), ([-setUsesRuler:]), ([-setRulerVisible:]): Rewritten to share attributes - if needed - with the other NSTextViews. ([-didChangeText]): Post the firstTextView as notif object if needed. ([-setDelegate:]): Rewritten completely to share the delegate if needed. * Source/NSTextView.m ([-string]): Moved from NSText.m. Tue Dec 19 17:53:35 2000 Nicola Pero * Headers/gnustep/gui/NSTextView.h: Moved some flags from NSText.h. * Source/NSTextView.m: Updated for the change in flag name. * Source/NSText.m ([-initWithCoder:]), ([-encodeWithCoder:]): Code for the flags moved to NSTextView.m. ([-initWithFrame:]), ([-textContainerInset]), ([-textContainerOrigin]), ([-textContainer]), ([-setTextContainer:]): Removed. ([-initWithFrame:textContainer:]): Code moved to NSTextView.m. * Source/NSTextView.m ([-backgroundColor]), ([-setBackgroundColor:]), ([-setDrawsBackground:]), ([-drawsBackground]), ([-isEditable]), ([-isSelectable]), ([-isFieldEditor]), ([-usesFontPanel]), ([-isRichText]), ([-importsGraphics]), ([-isRulerVisible]): Removed. Tue Dec 19 00:43:17 2000 Nicola Pero * Source/NSText.m: Made an abstract class always allocating instances of the NSTextView subclass. * Source/NSTextView.m ([-initWithFrame:]), ([-dealloc]), ([-initWithCoder:]), ([-buildUpTextNetwork:]), ([-replaceCharactersInRange:withString:]): Began to move code from superclass. 2000-11-18 Richard Frith-Macdonald * Source/GSTextStorage.m: ([-setAttributes:range:]) fix for the case where we set the same attributes in a range as already exist in a range that overlaps the start of the one we give. 2000-12-17 Georg Fleischmann * Source/NSView.m ([NSView -setFrameSize:]): scale bounds, if necessary * Source/NSView.m ([NSView -scaleUnitSquareSize:]): scale from bounds instead of frame (like OpenStep) Sun Dec 17 14:32:11 2000 Nicola Pero * Source/NSCell.m ([-_nonAutoreleasedTypingAttributes]): New method replacing ([-_typingAttributes]), to reduce the number of concurrent typing dictionaries allocated. ([-attributedStringValue]), ([-_sizeText:]), ([-_drawText:inFrame:]): Updated for the new method. Sat Dec 16 22:45:32 2000 Nicola Pero * Source/NSLayoutManager.m ([GSTextContainerLayoutInfo -dealloc]): Release the text container. ([NSLayoutManager -setTextStorage:]): Do not retain the text storage. * Source/NSTextContainer.m ([-dealloc]): Implemented. ([-setLayoutManager:]): Do not retain the layout manager. * Headers/gnustep/gui/NSText.h: Added flags owns_text_network and is_in_dealloc. * Source/NSText.m ([NSText -initWithFrame:]): Release self to break the retain cycle. ([NSText -dealloc]): Manage the very special case in which we own the text network. ([-encodeWithCoder:]): Do not encode the other text classes. ([-initWithCoder:]): Always build up the text network; added release self as in [-initWithFrame:]. ([-setTextContainer:]): Do not retain the text objects. ([-buildUpTextNetwork:]): Rewritten. * Source/NSTextView.m ([-replaceTextContainer:]): Do not retain the text container. 2000-12-16 Fred Kiefer * Headers/gnustep/gui/NSApplication.h: Prefixed all ivars with underscores, removed unneeded ivars and added some missing methods. * Source/NSApplication.m Adopted to changes in header file. [initialize] Cache the notification center and the NSAutoreleasePool class for the whole file. [finishLaunching] set the image before starting the icon view. Recognize file to open with flag @"NSOpen" beside @"GSFilePath". [dealloc] now also destoys the graphic context. [stop:] now stops the run loop, which may be restarted (but this will still reload the NIB file!). [setApplicationIconImage:] check if the _app_icon_window is there before setting its image. [orderFrontDataLinkPanel:] and [orderFrontHelpPanel:] moved the error message into the corresponding files. [terminate:] now directly stops the program with exit(0). Also did some general cleanup of code. * Source/NSDataLinkPanel.m * Source/NSHelpPanel.m Moved the "not implemented yet" Panel to the shared instance method of those two classes. Sat Dec 16 16:36:03 2000 Nicola Pero * Headers/gnustep/gui/NSCell.h: Modified ivars to reduce memory consumption. String attributes are now stored in a font ivar, three bits for alignment and wraps, and a bit to tell us if _contents is a simple string or an attributed string. Removed _typingAttributes. * Source/NSCell ([-initImageCell:]), ([-initTextCell:]), ([-dealloc]), ([-copyWithZone:]), ([-encodeWithCoder:]), ([-initWithCoder:]), ([-alignment]), ([-setAlignment:]), ([-font]), ([-setFont:]), ([-wraps]), ([-setWraps:]), ([-setUpFieldEditorAttribute:]): Updated for the new ivars. ([-doubleValue]), ([-intValue]), ([-floatValue]), ([-stringValue]), ([-mnemonic]), ([-cellSize]), ([-drawInteriorWithFrame:]), ([-editWithFrame:inView:editor:delegate:event]): Updated for the case when we keep an attributed string in _contents. ([-setObjectValue:]), ([-setStringValue:]), ([-setType:]): Set the _cell.contents_is_attributed_string flag. ([-setAttributedStringValue:]), ([-attributedStringValue]): Rewritten. ([-_typingAttributes]): Create from attributes stored in the cell. ([-_drawAttributedText:inFrame:]): New method. ([-_drawText:inFrame:]): Modified to avoid recomputing the dictionary. * Source/NSFormCell.m ([-cellSize]): Paranoia set of flag for attributed string to NO in tweaked case of computing size with no contents. * Source/NSCell.m ([-isEntryAcceptable:]): Call the formatter's [-getObjectValue:forString:errorDescription:] rather than [-isPartialStringValid:newEditingString:errorDescription:]. * Source/NSFormCell.m ([-copyWithZone:]): Implemented (from a suggestion by Georg Fleischmann). Fri Dec 15 21:40:49 2000 Nicola Pero * Headers/gnustep/gui/NSTextStorage.h: Prefixed all ivars with underscores. * Source/NSTextStorage.m: Updated for ivar name change. ([-processEditing]): Fixed invalidated range passed to NSLayoutManagers. Wed Dec 13 16:02:24 2000 Nicola Pero * Source/NSAttributedString.m: Optimizations: cache class pointers; replaced static functions wordBreakCSet (), wordCSet () and attachmentString () with static cached constants. ([-initWithPath:documentAttributes:]): Fixed little memory leak. Wed Dec 13 03:51:40 2000 Nicola Pero * Source/NSText.m ([-setAlignment:range:]): Fixed memory leak. Tue Dec 12 23:50:04 2000 Nicola Pero * Headers/gnustep/gui/NSParagraphStyle.h: Prefixed all ivars with underscores. * Source/NSParagraphStyle.m: Updated for ivar name change. Tue Dec 12 21:07:56 2000 Nicola Pero * Source/NSMenuItemCell.m ([-drawInteriorWithFrame:inView:]), ([-drawWithFrame:inView:]): Bug fix: do nothing in deferred windows. Tue Dec 12 19:18:08 2000 Nicola Pero * Source/NSButtonCell.m ([-copyWithZone:]): Do not deep-copy ivars, only retain them if not nil. * Source/NSCell.m ([-copyWithZone:]): Do not deep-copy ivars. * Source/NSTextFieldCell.m ([-copyWithZone:]): Do not deep-copy ivars. * Source/NSFormCell.m ([-initTextCell:]): Left align text. * Source/NSTextField.m ([-selectText:]): Bug fix for the recent change in [NSActionCell -stringValue]. * Source/NSMatrix.m ([-selectTextAtRow:column:]): Idem. 2000-12-07 Fred Kiefer * Headers/gnustep/gui/NSCell.h: Remove float formating ivars, as they were never used. * Headers/gnustep/gui/NSActionCell.h: Removed all methods, as they are defined for super class. * Headers/gnustep/gui/NSAffineTransform.h: Added NSCoding Protocol and moved extension methods into seperate interface. * Source/NSCell.m Moved the initialisation of the _typingAttributes from the init method to its first use. * Source/NSActionCell.m Remove initialisation and copy method, as this were mere super calls. Added getter methods with validation. * Source/NSAffineTransform.m Added coding methods. 2000-12-07 Fred Kiefer * Headers/gnustep/gui/NSCell.h: Added missing ivars and rearranged them all. * Headers/gnustep/gui/NSPopupButtonCell.h: Remove now unneeded ivar _menu. * Headers/gnustep/gui/NSImageCell.h: Moved typedefinitions to here from NSImageView.h * Headers/gnustep/gui/NSImageView.h: Removed type definitions. * Source/NSCell.m Implemented a load of missing methods and adopted all subclasses to this changes. (Including copying and coding) This breaks archived cells! * Source/NSActionCell.m * Source/NSBrowser.m * Source/NSBrowserCell.m * Source/NSButtonCell.m * Source/NSComboBoxCell.m * Source/NSFormCell.m * Source/NSImageCell.m * Source/NSMenuItemCell.m * Source/NSPopupButtonCell.m * Source/NSTableHeaderCell.m * Source/NSTextFieldCell.m Adopted to changes in NSCell. * Source/NSFont.m Made all predefined fonts redefinable and removed #ifdef. * Source/NSHelpManager.m [contextHelpForKey:] replaced nil by NULL to avoid compiler warning. * Source/NSParagraphStyle.m Removed super calls from coding methods to avoid compiler warning. Wed Dec 6 19:37:33 2000 Georg Fleischmann * Source/NSTabView.m ([NSTabView -drawRect:]): using aRect (bounds) instead of rect to draw Thu Nov 23 11:18:27 2000 Nicola Pero * Documentation/gsdoc/NSView.gsdoc: Documented drawRect:. * Documentation/gsdoc/NSView.html: Regenerated. Thu Nov 23 10:50:48 2000 Nicola Pero * Documentation/gsdoc/Introduction.gsdoc: Removed email tag which was causing gsdoc tool to abort. * Documentation/gsdoc/NSTableColumn.gsdoc: Added complete documentation about NSTableColumn. * Documentation/gsdoc/Introduction.html: Regenerated. * Documentation/gsdoc/NSTableColumn.html: Idem. Thu Nov 23 09:47:21 2000 Georg Fleischmann * Source/NSTabViewItem.m ([NSTabViewItem -setView:]): TEST_RELEASE() removed, since ASSIGN() manages retain/release. 2000-11-21 Fred Kiefer * Headers/gnustep/gui/NSPrintOperation.h: * Source/NSPrintOperation.m: Split up in three classes added primitiv printing in file * Source/NSPageLayout.m: Added more graphical elements, any functionality is still missing. * Source/GSInfoPanel.m: Use system fonts, not explicit names. Tue Nov 14 23:45:56 2000 Adam Fedor * Source/NSScrollView.m (reflectScrolledClipView:): Check for contentView before getting frame. 2000-11-13 Fred Kiefer * Headers/gnustep/gui/NSPrintInfo.h: Added NSCopying protocol. * Source/NSPrintInfo.m: Added method [copyWithZone:]. * Source/NSView.m: Implemented [print:], [fax:], [dataWithEPSInsideRect:] and [writeEPSInsideRect:toPasteboard:]. * Source/NSWindow.m: Implemented [print:], [fax:], [dataWithEPSInsideRect:]. * Headers/gnustep/gui/NSPrintOperation.h: Added ivars and PDF operations. * Source/NSPrintOperation.m: Started implementation of printing. 2000-11-13 Richard Frith-Macdonald * Source/GSTextStorage.m: partial rewrite to cache/unique dictionaries and to coalesce adjacent regions of string with the same attributes when setting attributes. 2000-11-12 Fred Kiefer * Headers/gnustep/gui/IMLoading.h: * Model/IMLoading.m: Removed NSBundle extension methods. * Source/NSApplication.m: [finishLaunching] removed uneeded call to loadGModel:owner: as this gets done in loadNibNamed:owner:. * Source/NSBundleAdditions.m: [loadNibNamed:owner:] removed unused local variable file. 2000-11-12 Fred Kiefer * Source/GSSimpleLayoutManager.m: Renamed the ivars of _GNULineLayoutInfo to correspond to those of GSLineLayoutInfo. Call a few more abstract methods. Added AutoreleasePool in [rebuildForRange:delta:inTextContainer:] to free up memory. Thu Nov 9 09:49:07 2000 Nicola Pero * Source/GSInfoPanel.m ([GSInfoPanel -initWithDictionary:]): Use Helvetica-Bold rather than Helvetica-BoldOblique for titles. 2000-11-06 Adam Fedor * Documentation: Move tmpl.texi files to texi and update GNUmakefile 2000-11-06 Fred Kiefer * Source/GSSimpleLayoutManager.m: Get the fragmentRect used for layout from the text container * Source/NSText.m: In [setVerticallyResizable:] and [setHorizontallyResizable:] set the size of the text conatainer. Mon Nov 6 17:02:27 2000 Nicola Pero * Documentation/GNUmakefile, Documentation/gsdoc/GNUmakefile: Install the documentation in the appropriate subdirectories of Documentation/Developers/Gui. 2000-11-05 Adam Fedor * Source/NSScreen.m (+mainScreen): Make the mainScreen a shared instance. * Source/NSClipView.m (-setBoundsOrigin:): If our documentView is focused, translate the PS context to the new bounds. 2000-11-05 Fred Kiefer * Headers/gnustep/gui/NSClipView.h: * Headers/gnustep/gui/NSScrollView.h: Added method to set backgound drawing. * Model/GMAppKit.m: Store new ivar for NSClipView * Source/NSScrollView.m: Hand on background drawing to content view. In [setContentView:] call setDocumentView:. * Source/NSClipView.m: Added dealloc method. Implemented [drawsBackground] and [setDrawsBackground:]. In [setDocumentView:] get the background drawing from the document view. [drawRect:] and [isOpaque] check the background drawing. Corrected [constrainScrollPoint:] to respect the documentFrame origin. Implemented [autoscroll:] * Source/NSTextContainer.m: In [setWidthTracksTextView:] and [setHeightTracksTextView:] make sure that the view post changes and that notifications are only send once. * Source/NSText.m: Moved all sizeToFit calls after text changes to the layout manager. * Source/GSSimpleLayoutManager.m: Call size to fit on view after layout changes. 2000-10-24 Fred Kiefer * Source/GSSimpleLayoutManager.m: Removed some 300 lines * Source/NSLayoutManager.m: Added simple glyph cahracter mapping methods * Source/NSText.m: Set the TextConatainer to track its view again. But switch this of if the view is scrollable. 2000-10-31 Richard Frith-Macdonald * Source/GSServicesManager.m: Use new GSObjCClass() function from NSObjCRuntime.h * Source/GSTextStorage.m: Avoid static variable initialisation with @selector() as it doesn't work with Apple runtime. * Source/NSAttributedString.m: ditto * Source/NSMatrix.m: ditto * Source/NSStringDrawing.m: ditto * Source/NSView.m: ditto * Source/NSWindow.m: ditto 2000-10-24 Fred Kiefer * Source/GSSimpleLayoutManager.m: _GNULineLayoutInfo has new ivar usedRect. Simplified the code a bit. * Source/NSText.m: [buildUpTextNetwork:] The text container no longer tracks its view by default. [initWithFrame:textContainer:] the view is no longer resizable by default. * Source/NSTextContainer.m: [setContainerSize:] only informs layout manager if really changed. * Source/Parser/attributedStringConsumer.m Use NSASCIIStringEncoding instead of NSLatin1StringEncoding for RTF 2000-10-21 Michael Hanni * Source/NSTabView.m: ([-dealloc:]) updated. ([-removeTabViewItem:]) updated to not crash when a tabViewItem which had been the selected tab is dealloc'ed. * Source/NSTabViewItem.m: ([-dealloc:]) implemented. 2000-10-20 Richard Frith-Macdonald * Source/NSClipView.m: ([-viewFrameChanged:]) fix test for when to redraw entire area becaause document view is smaller than clipview. Suggested by benhur@inf.UFSM.br 2000-10-19 Michael Hanni * Source/NSTabView.m: a few bugfixes. * Source/NSTabViewItem.m: fixed a few memory leaks. 2000-10-17 Fred Kiefer * Headers/gnustep/gui/NSPageLayout.h: Added some ivars * Headers/gnustep/gui/NSPrintInfo.h: Prefixed ivar with underscore. * Source/NSPrintInfo.m: Change references to ivar info to _info. [initPrintInfoDefaults] now works if there is no PrinterAdmin resource. * Source/NSPageLayout.m: Some basic implementation * Source/NSApplication.m: [runPageLayout:] use real panel. 2000-10-15 Adam Fedor * Source/NSWindow.m (-orderWindow:relativeTo:): Set visible flag immediately. _didDeminiaturize: New method. (-sendEvent:): Handle GSAppKitWindowMiniaturize an GSAppKitWindowFocusIn events. 2000-10-12 Fred Kiefer * Source/Parser/attributedStringConsumer.m Improved the memory handling in diverse methods. Fri Oct 13 16:50:23 2000 Nicola Pero * Tools/GNUmakefile: Include GNUmakefile.local.service if present. Fri Oct 13 10:48:05 2000 Nicola Pero * Source/GSSimpleLayoutManager.m: Prefixed ivar lineLayoutInformation with underscore to keep the gui to compile. 2000-10-12 Fred Kiefer * Headers/gnustep/gui/NSLayoutManager.h: Added some missing methods and move comments to .m file. Other clean ups. * Headers/gnustep/gui/NSDocumentFrameworkPrivate.h: Removed unneeded method _removeDocument. * Source/NSDocument.m: In [close] use removeDocument instead of _removeDocument. [initWithContentsOfFile:ofType:] call [self init] instead of [super init]. * Source/NSDocumentController.m: Use explicit Private interface. * Source/NSLayoutManager.m: Added comments from .h file. Return a GSSimpleLayoutManager from [allocWithZone]. Removed all compiler warnings. * Source/NSText.m: Use NSLayoutManager instead of GSSimpleLayoutManager. * Source/NSStringDrawing.m: Started reorganising the code. Wed Oct 11 10:51:56 2000 Nicola Pero * Source/NSApplication.m ([-run]), ([-runModalSession:]): Reverted last changes in autorelease pool code. In particular, switched back to creating and releasing an autorelease pool at each loop for modal sessions. 2000-10-09 Richard Frith-Macdonald * Source/GSTextStorage.m: ([-setAttributes:range:]): Fixed obscure bug - use ASSIGNCOPY rather than ASSIGN to prevent mutable dictionaries being placed in attributed string. 2000-10-09 Fred Kiefer * Source/GSTextStorage.m: (_setup()): corrected a problem from the last change Removed obsolete super calls in GSTextInfo coding methods. * Source/NSAttributedString.m: Small correction in [fixParagraphStyleAttributeInRange] 2000-10-08 Richard Frith-Macdonald * Source/GSTextStorage.m: Removed some dependencies on private classes of base library. 2000-10-02 Fred Kiefer * Source/NSWindow.m: ([_initBackendWindow]): always redisplay _wv ([setFrame:display:]): set the frame of _wv directly if deferred. These changes make the save panel usable again. * Source/NSStringDrawing.m: Convert glyphs to font encoding in drawRun(). Removed unused code. 2000-10-01 Fred Kiefer * Header/gnustep/gui/NSText.h: Moved ivar _textContainer from NSTextView to here. * Header/gnustep/gui/NSTextView.h: Removed ivar _textContainer. Added some delegate messages. Two new NSTextView like methods for text container handling. * Source/NSText.m: Moved the text container handling from NSTextView to here and corrected it. * Source/NSTextView.m: Use text container implementation from super class. * Source/NSLayoutManager.m: Implemented [firstTextView]. * Source/GSSimpleLayoutManager.h: Removed additional method [setFirstTextView] * Source/GSSimpleLayoutManager.m: Switched to use the text container for size information. Implemented [textContainerChangedGeometry]. * Source/NSTextContainer.m: In [setTextView] let the text view send frame changed notifications. Check text view in [_textViewFrameChanged:]. Don't add observer if text view is nil in [setHeightTracksTextView:] and [setWidthTracksTextView:] * Source/NSView.m: In [display] check if the _visibleRect is still valid. 2000-09-28 Adam Fedor * Source/NSGraphicsContext.m (-_addDragTypes:toWindow:): Change to take window object, since window number may not exist for deferred win. (-_removeDragTypes:fromWindow:):Likewise. (-_dragTypesForWindow:): Likewise. * Source/NSView.m: Change calling of above methods. * Source/NSWindow.m (-_initBackendWindow:): Reset the drag types if the window was deferred. Also reset title, min/max size, etc. (-setTitle:): Set only if we have a windowNum (-setMinimumSize:): Likewise. (-setMaximumSize:): Likewise. 2000-09-27 Adam Fedor * Implementation of deferred windows (with the help of mirko.viviani@rccr.cremona.it) * Source/NSClipView.m (-setBoundsOrigin:): Make sure window is not deferred before attempting to draw. * Source/NSMenu.m (-init): Defer window. * Source/NSView.m (-lockFocusInRect:): Don't lock if window is deferred. (-unlockFocus): Likewise. * Source/NSWindow.m (_initBackendWindow:): New method. (-initWithContentRect:styleMask:backing:defer:screen:): Use it if not deferring. (-orderWindow:relativeTo:): Create window if deferred. * Source/tiff.m (NSTiffRead): For PHOTOMETRIC_PALETTE, don't free colormap tables, they are owned by libtiff. 2000-09-26 Lyndon Tremblay * Source/NSMenu.m ([NSMenu -itemWithTitle:]): Use -isEqualToString: instead of -isEqual: ([NSMenu -performKeyEquivalent:]): Likewise. ([NSMenu -performActionForItemAtIndex:]): Use NSApp instead of sharedApplication. ([NSMenu -display]): Avoids calling NSMakePoint() ([NSMenu -displayTransient]): Cache contentView. ([NSMenu -closeTransient]): Likewise. * Source/NSApplication.m ([NSAppIconView -mouseDown:]): Use NSApp instead of [NSApplication sharedApplication]. ([NSApplication -init]): Avoid variables getting set twice. ([NSApplication -sendEvent:]): Cache NSEvent type. * Source/NSMenu.m ([NSMenu -initWithTitle:]): Also removed a bunch of message calls. Also removed variables getting set twice. ([NSMenu -insertItemWithTitle:action:keyEquivalent:atIndex:]): Message cleanup. * Source/NSApplication.m ([NSApplication +initialize]): Override Foundation's uncaught exception handler. ([NSApplication -init]): Save a few objc message calls. ([NSApplication -run]): Likewise. Also cache [NSDate distantFuture]. Also using GC macros. ([NSApplication -runModalSession:]): Also save message calls, and GC support. Also eliminates creating an ARP each loop, only once. * Headers/AppKit/NSPanel.h (NSAlert*): #defines to comply with MacOS X [apparently]. * Source/NSApplication.m (_NSAppKitUncaughtExceptionHandler): Added to show unhandled exceptions to the user in a cleaner way, providing an option to ignore or debug [future use]. Tue Sep 26 09:36:07 2000 Nicola Pero * NSControl.m ([-copyWithZone:]): Fixed memory problem (found by Frederic De Jaeger). 2000-09-22 Lyndon Tremblay * Source/NSBundleAdditions.m ([+loadNibFile:externalNameTable:withZone:]): access NSOwner from infoDict only when necessary, notify of loading nib. * Model/GMAppKit.m: Removed silly emacs C++ mode tag. * Model/IMLoading.m: Likewise. 2000-09-19 Richard Frith-Macdonald * Source/GSTextStorage.m: ([-string]) fix to return autoreleased copy rather than internal data - pointed out by Fred. * Source/NSText.m: ([-string]) don't copy 2000-09-13 Fred Kiefer * Source/GSSimpleLayoutManager.m: * Source/GSSimpleLayoutManager.h: New file extracted from NSText.m. This class is now a subclass of NSLayoutManager and uses a similar interface. * Source/GNUmakefile: Include new file GSSimpleLayoutManager.m * Header/gnustep/gui/NSText.h: Two new NSTextView like methods. * Source/NSText.m: Removed GSSimpleLayoutManager code and use new interface to it. * Source/NSTextView.m: [initWithFrame:] switch of the creation of a NSLayoutManager. 2000-09-16 Adam Fedor * Headers/gnustep/gui/NSWindowController.h: Add copyright notice. Protect with #ifdef's. 2000-09-14 Mirko Viviani * Source/NSPanel.m ([GSAlertPanel -initWithContentRect:styleMask:backing:defer:screen:]): set alternate return image. * Source/NSOpenPanel.m ([NSOpenPanel -controlTextDidEndEditing:]): removed. * Source/NSSavePanel.m ([NSSavePanel -controlTextDidEndEditing:]): repost currentEvent. ([NSSavePanel -_initWithoutGModel]): removed form cell action, set _okButton image. ([NSSavePanel -_performReturn:]): removed. * Images/common_retH.tiff: new file. * Images/GNUmakefile (IMAGE_FILES): update. Thu Sep 14 14:01:10 2000 Nicola Pero * Source/NSMatrix.m ([-textDidBeginEditing:]), ([-textDidChange:]), ([-textDidEndEditing:]): : Fixed memory leak. 2000-09-13 Mirko Viviani * Source/NSBrowser.m ([NSBrowser -_performLoadOfColumn:]): fixed intercell space values. * Source/NSText.m ([NSText -keyDown:]): removed forward for illegal text field events. * Source/NSSavePanel.m ([NSSavePanel -controlTextDidEndEditing:]): implemented for text field movement. ([NSSavePanel -_performReturn:]): new private method. ([NSSavePanel -_initWithoutGModel]): set form cell action to _performReturn: * Source/NSOpenPanel.m ([NSOpenPanel -controlTextDidEndEditing:]): call super. ([NSOpenPanel -_selectCellName:]):, ([NSOpenPanel -controlTextDidChange:]): enable okButton if there is text in the text field. ([NSOpenPanel -ok:]): returns if nothing selected. * Tools/gpbs.m ([PasteboardEntry -lostOwnership]): removed workaround. 2000-09-13 Fred Kiefer * Source/GSFontInfo.m: [encodingForRegistry:encoding:] added more encodings Tue Sep 12 22:53:22 2000 Nicola Pero * Model/GMAppKit.m ([NSMenuItem -initWithModelUnarchiver:]): Updated, fixed code for the recent changes in NSMenu, NSMenuItem. ([NSMenu -initWithModelUnarchiver:]): Idem. 2000-09-11 Mirko Viviani * Source/NSText.m ([NSText -moveLeft:sender]): deselect text that starts at the beginning of the line. 2000-09-11 Mirko Viviani * Source/NSBrowser.m ([NSBrowser -_performLoadOfColumn:]): set intercell spacing to 0. * Source/NSMatrix.m ([NSMatrix -mouseDown:]): in NSRadioModeMatrix deselect the previous selected cell only if the cell is valid. 2000-09-10 Mirko Viviani * Tools/gpbs.m ([PasteboardEntry -lostOwnership]): workaround to avoid core dump due to NSConnection bug. * Source/NSWindow.m ([NSWindow -keyDown:]): discard and do not perform key equivalent for null character events. Triggered return key for default button cell. ([NSWindow -defaultButtonCell]), ([NSWindow -setDefaultButtonCell:]), ([NSWindow -disableKeyEquivalentForDefaultButtonCell]), ([NSWindow -enableKeyEquivalentForDefaultButtonCell]): implemented. ([NSWindow -dealloc]): release _defaultButtonCell * Headers/AppKit/NSWindow.h: added ivar and flag. * Source/NSOpenPanel.m ([NSOpenPanel -controlTextDidEndEditing:]), ([NSOpenPanel -controlTextDidChange:]), ([NSOpenPanel -ok:]): implemented keyboard navigation. ([NSOpenPanel -runModalForDirectory:file:types:]): do not allow branch selection if can't choose directories. ([NSOpenPanel -_selectTextInColumn:]), ([NSOpenPanel -_selectCellName:]): new private methods. ([NSOpenPanel -filenames]): change for choose dirs. * Source/NSText.m ([NSText -keyDown:]): forwards text field illegal events to the next responder. * Source/NSBrowser.m ([NSBrowser -moveUp:]), ([NSBrowser -moveDown:]), ([NSBrowser -moveLeft:]), ([NSBrowser -moveRight:]), ([NSBrowser -keyDown:]): implemented keyboard navigation ([NSBrowser -selectedCell]), ([NSBrowser -selectedCells]), ([NSBrowser -columnOfMatrix:]), ([NSBrowser -selectedColumn]): changed return value from NSNotFound to -1 to conforms to NSMatrix ([NSBrowser -doClick:]): fix for new return values, added support for multiple and branch selection. ([NSBrowser -setLastColumn:]): mark column titles need display ([NSBrowser -_getTitleOfColumn:]): fix for multiple selection. * Source/NSCell.m ([NSCell -setState:]): bug fix: set value to NSOnState if someone try to set NSMixedState in a two state cell. ([NSCell -performClick:]): do not perform click if the cell is disabled. * Source/NSMatrix.m ([NSMatrix -_privateFrame:mode:numberOfRows:numberOfColumns:]), ([NSMatrix -deselectAllCells]), ([NSMatrix -deselectSelectedCell]), ([NSMatrix -selectAll:]): bug fix: set _selectRow and _selectColumn to -1 when no cells are selected ([NSMatrix -performKeyEquivalent:]): saves _selectedRow and _selectedColumn. ([NSMatrix -getRow:column:ofCell:]): check for null values for row and column. ([NSMatrix -selectCellAtRow:column:]): deselect the current selection only in NSRadioModeMatrix mode. ([NSMatrix -mouseDown:]): use the new code also for NSRadioModeMatrix and fix for this mode. * Source/NSSavePanel.m ([NSSavePanel -selectCellWithString:]): select text of the cell and enable okButton. ([NSSavePanel -controlTextDidChange:]): implemented. ([NSSavePanel -controlTextDidEndEditing:]): removed. ([NSSavePanel -browser:createRowsForColumn:inMatrix:]): follows symbolic links. ([NSSavePanel -_initWithoutGModel]): set browser doubleAction to performClick: of the _okButton. Set _okButton as default window button. Disable _okButton. ([NSSavePanel -browser:selectCellWithString:inColumn:]), ([NSSavePanel -selectText:]), ([NSSavePanel -keyDown:]): implemented keyboard navigation. ([NSSavePanel -runModalForDirectory:file:]): enable _okButton if filename is valid. ([NSSavePanel -_selectTextInColumn:]), ([NSSavePanel -_selectText:]), ([NSSavePanel -_selectCellName:]): new private methods. Sun Sep 10 23:33:55 2000 Nicola Pero * Source/NSTextView.m ([-initWithFrame:textContainer:]): Fixed the setting of the text view as the text container's text view (patch prepared in cooperation with Georg Fleischman ). Sun Sep 10 23:07:45 2000 Nicola Pero * Source/NSMatrix.m ([-initWithCoder:]), ([-encodeWithCoder:]): Implemented. Sun Sep 10 16:49:50 2000 Nicola Pero * Headers/gnustep/gui/NSMatrix.h: Prefixed all ivars with underscore. * Source/NSMatrix.m: Updated for change in ivars. * Source/NSForm.m ([-calcSize]): Idem. Sun Sep 10 16:17:36 2000 Nicola Pero * Source/NSTableColumn.m ([-initWithIdentifier:]): Made column editable by default. * Source/NSTableHeaderView.m ([-mouseDown:]): Do not start resizing if the column is not resizable. * Source/NSTableView.m ([-mouseDown:]): Do not start editing if the column is not editable. Fri Sep 8 18:42:10 2000 Nicola Pero * Source/NSWindow.m ([-setFrame:display:]): Call [-constrainFrameRect:toScreen:] before resizing. ([-constrainFrameRect:toScreen:]): Rewritten to be compliant with specs. ([-initWithContentRect:styleMask:backing:defer:screen:]): Do not set maximum size as the size of the screen. 2000-09-08 Richard Frith-Macdonald * Source/NSMenu.m: ([-setSupermenu:]) don't retain supermenu. * Source/NSMenuItem.m: ([-setSubmenu:]) set target and action for handling submenu, and set supermenu for submenu. ([-setMenu:]) if item has a submenu, set supermenu for submenu of item, and set target to be the new menu, so clicking on this item will raise the submenu. 2000-09-08 Fred Kiefer * Source/NSText.m: Changed varius places to make more consistent. Thu Sep 7 21:46:33 2000 Nicola Pero * Source/NSTableColumn.m ([-setWidth:]): Post the old width in the notification user info. * Source/NSTableView.m ([-mouseDown:]): Fixed clicking on the table with shift pressed when multiple selection is not allowed. ([-_selectColumn:modifiers:]): Idem for clicks on the table header view. ([-removeTableColumn:]): Rearrange selection if needed. ([-moveColumn:toColumn:]): Implemented. ([-sizeLastColumnToFit]): Allow shrinking last column if needed. Thu Sep 7 17:47:46 2000 Nicola Pero * Source/NSStringDrawing.m ([NSAttributedString -drawInRect:]): Use NSRectClip as a temporary workaround for the fact that the string is to be drawn only inside rect. Thu Sep 7 17:01:58 2000 Nicola Pero * Headers/gnustep/gui/NSTableHeaderView.h: Added ivar for resized column. * Source/NSTableHeaderView.m ([-setTableView:]): Initialize resized column ivar. ([-resizedColumn:]): Implemented. ([-mouseDown:]): Implemented resizing of columns. * Headers/gnustep/gui/NSTableView.h: Added ivar for allowing column resizing. * Source/NSTableView.m ([-allowsColumnResizing]), ([-setAllowsColumnResizing:]): Implemented. ([-initWithFrame:]): Allow column resizing by default. ([-_userResizedTableColumn:leftWidth:rightWidth:]): New private method. Thu Sep 7 14:56:47 2000 Nicola Pero * Source/NSSplitView.m ([-mouseDown:]): Removed periodic events. Do not ask window to track mouse moved events. Only accept left mouse dragged and left mouse up events during dragging. Thu Sep 7 02:56:25 2000 Nicola Pero * Source/NSApplication.m ([-_windowWillClose:notification]): Use NSDebugLog instead of NSLog to log asking to delegate whether to terminate app. Wed Sep 6 16:44:30 2000 Nicola Pero * Source/NSBrowser.m: Cache scrollerWidth in the whole class; removed empty view from NSBrowserColumn. ([-_unloadFromColumn:]): Use nil instead of empty view. ([-setDelegate:]): Do not retain delegate. ([-pathToColumn:]): Fixed memory leak. Wed Sep 6 14:51:36 2000 Nicola Pero * Model/GMAppKit.m ([NSWindow -initWithModelUnarchiver:]): Updated code for the new NSWindow ivars. Tue Sep 5 23:13:21 2000 Nicola Pero * Source/NSControl.m ([-objectValue]), ([-takeObjectValueFrom:]), ([-setObjectValue:]): Implemented. * Headers/gnustep/gui/NSControl.h: Added declarations of the new methods. Tue Sep 5 18:52:57 2000 Nicola Pero * Headers/gnustep/gui/NSWindow.h, Source/NSWindow.m: Prefixed all ivars with underscores. * Source/NSApplication.m ([NSIconWindow -_initDefaults]): Updated for change in NSWindow's ivars. * Source/NSMenu.m ([NSMenuWindow -_initDefaults]), ([NSMenuWindow -moveToPoint:]): Idem. * Source/NSView.m ([-lockFocusInRect:]), ([-unlockFocusNeedsFlush:]): Idem. Tue Sep 5 17:55:17 2000 Nicola Pero * Source/NSTextContainer.m ([-setHeightTracksTextView:]), ([-setWidthTracksTextView:]): Register for notifications if we need. ([-setTextView:]): Only remove us from notifications regarding the old text view; register for notifications only if we need. ([-_textViewFrameChanged:]): Don't track height if we only need to track width and vice versa. Tue Sep 5 03:04:41 2000 Nicola Pero * Source/NSApplication.m ([-terminate:]): Post NSApplicationWillTerminateNotification. ([-setDelegate:]): Register the delegate for NSApplicationWillTerminateNotification. Tue Sep 5 00:31:50 2000 Nicola Pero * Source/NSClipView.m ([-encodeWithCoder:]), ([-initWithCoder:]): Implemented. * Source/NSScroller.m ([-encodeWithCoder:]), ([-initWithCoder:]): Implemented. * Source/NSScrollView.m ([-initWithCoder:]): Fixed typos; support headerview, cornerview; tile after decoding. 2000-09-03 Fred Kiefer * Headers/gnustep/gui/NSTypesetter.h: New file. * Source/NSSimpleHorizontalTypesetter.m: As above. Added some basic implementation. * Source/NSTextView.m Use more implementation from super to make this class temporary working Mon Sep 4 03:53:06 2000 Nicola Pero * Source/NSButton.m ([-keyDown:]): Updated for fix in generation of key events in the backend. * Source/NSMatrix.m ([-keyDown:]): Idem. * Source/NSResponder.m ([-interpretKeyEvents:]): Idem. * Source/NSWindow.m ([-keyDown:]): Idem. 2000-09-03 Fred Kiefer * Source/GSFontInfo.m: [weightForString:] added "black" * Source/NSAttributesString.m: Corrected bug in [nextWordFromIndex:forward:] Sun Sep 3 21:20:25 2000 Nicola Pero * Source/NSSliderCell.m ([-init]): Create titleCell. ([-drawKnob]), ([-drawKnob:]): Access control_view ivar. Sun Sep 3 20:57:32 2000 Nicola Pero * Source/NSBrowser.m ([-drawRect:]): Simplifications; do not lock focus before drawing scroller border. * Source/NSScroller.m Cache scrollBarColor. ([-drawRect:]): Only redraw the interested parts using a little cache. ([-drawKnobSlot]): Cache rect. ([-setFrameSize:]), ([-setFrame:]), ([-setArrowsPosition:]), ([-setEnabled:]): Invalidate little cache. * Headers/gnustep/gui/NSScroller.h: Added ivar for caching rects. * Source/NSSlider.m (_floatValueForMousePoint): New inline function replacing [-_floatValueForMousePointknobRect:]. ([-trackKnob:knobRect:]), ([-mouseDown:]): Use the new inline function. ([-trackKnob:knobRect:]): Tiny caching. ([-mouseDown:]): Use flag for flipped. * Source/NSTableView.m ([-drawRect:]): Only fill background in rect argument. * Source/NSBrowser.m ([-_performLoadOfColumn:]): Release matrix sooner. * Source/NSCell.m ([-dealloc]): Use NSDeallocateObject. * Source/NSSavePanel.m ([-browser:createRowsForColumn:inMatrix:]): Use an autorelease pool; avoid creating the column if it is void. * Source/NSTableHeaderCell.m ([-drawWithFrame:inView:]): Fixed typo: self, not super. 2000-09-02 Fred Kiefer * Source/GSFontInfo.m: Added missing RETAINs. * Source/NSBrowser.m * Source/NSFontPanel.m * Source/NSLayoutManager.m * Source/NSMenu.m * Source/NSMenuItemCell.m * Source/NSMenuView.m * Source/NSPanel.m * Source/NSStringDrawing.m * Source/NSTableHeaderCell.m * Source/NSTabView.m * Source/NSText.m: Changed system fonts of size 12 to 0. This will use Nicolas font cache and keep font sizes consistent when changed. 2000-09-01 Fred Kiefer * Headers/gnustep/gui/GSFontInfo.h: * Source/GSFontInfo.m: Added class methods [weightForString:], [stringForWeight:] and [encodingForRegistry:encoding:] to be used in subclasses. Sat Sep 2 01:34:19 2000 Nicola Pero * Source/NSFont.m ([+boldSystemFontOfSize:]), ([+systemFontOfSize:]), ([+userFixedPitchFontOfSize:]), ([+userFontOfSize:]): Cache font of size 0. (setNSFont): Mark caches as needing to be recomputed. Fri Sep 1 22:34:55 2000 Nicola Pero * Source/NSBrowser.m ([-_performLoadOfColumn:]): Fixed memory leak. Fri Sep 1 13:02:45 2000 Nicola Pero * Source/NSTableView.m ([-textDidEndEditing:]): Implemented Tab, Shift+Tab. ([-_editPreviousEditableCellBeforeRow:column:]), ([-_editPreviousEditableCellBeforeRow:column:]): New private methods. (_isCellSelectable): New private inline function. Fri Sep 1 12:01:36 2000 Georg Fleischmann * Source/NSTabView.m ([-drawRect:]): Redraw using bounds instead of rect. Fri Sep 1 00:56:05 2000 Nicola Pero * Source/NSColorPanel.m ([+dragColor:withEvent:fromView:]): Fixed event coordinate. 2000-08-31 Fred Kiefer * Headers/gnustep/gui/NSFont.h: Removed method -widths, as this is no longer needed. * Headers/gnustep/gui/GSFontInfo.h: Removed ivar and method widths. Changed ivar weigth to type int and added ivars traits and mostCompatibleStringEncoding. * Source/NSFont.m: Removed method -widths * Source/GSFontInfo.m: Removed method -widths. Changed [weigth], [mostCompatibleStringEncoding] and [traits] to return the ivars. Set those in [init] to the default values. Thu Aug 31 00:30:15 2000 Nicola Pero * Source/NSSavePanel.m ([-_initWithoutGModel]): Fixed setting of min size. ([-_getOriginalSize]): Fixed getting content size. ([-setAccessoryView:]): Updated, fixed. Wed Aug 30 19:36:19 2000 Nicola Pero * Source/NSForm.m ([-insertEntry:atIndex:]): Moved some code to ([putCell:atRow:column:]). ([-putCell:atRow:column:]): New method. (patch prepared in cooperation with Georg Fleischmann ) Wed Aug 30 13:07:06 2000 Nicola Pero * Headers/gnustep/gui/NSMatrix.h: Added ivar for key cell; added declaration of ([-setKeyCell:]). * Source/NSMatrix.m ([-keyCell]), ([-setKeyCell:]): Implemented. ([-selectText:]): Select keyCell if appropriate. ([-keyDown:]): Select text if the key is enter. Wed Aug 30 12:07:46 2000 Nicola Pero * Source/NSSavePanel.m ([-_initWithoutGModel]): Set browser's double action and target so that double clicking on an entry opens it. Tue Aug 29 20:07:23 2000 Nicola Pero Implemented object value and formatter support in NSCell and controls. * Headers/gnustep/gui/NSCell.h: Added ivars for formatter, object value and a new flag to cache whether the cell has a valid object value or not. * Source/NSCell.m ([-dealloc]), ([-copyWithZone:]): Added object value and formatter. ([-setFormatter:]), ([-formatter]): Implemented. ([-setIntValue:]), ([-setFloatValue:]), ([-setDoubleValue:]): Rewritten, updated. ([-setObjectValue:]): Rewritten, updated. ([-hasValidObjectValue]), ([-objectValue]): Implemented. ([-editWithFrame:inView:editor:delegate:event:]): Use string provided by formatter. ([-encodeWithCoder:]): Added formatter, object value. ([-initWithCoder:): Added formatter, object value; recompute has_valid_object_value flag. * Headers/gnustep/gui/NSControl.h: Added declaration of methods implemented by the delegate for validation using a formatter. * Source/NSTextField.m ([-validateEditing]): Added validation using NSFormatter. ([-textShouldEndEditing:]): Added validation of object value. ([-textDidChange:]): Skeleton and some code for validation while typing. * Source/NSMatrix.m ([-validateEditing]), ([-textShouldEndEditing:]), ([-textDidChange:]): Same changes as in Source/NSTextField.m. * Source/NSTableView.m ([-validateEditing]), ([-textShouldEndEditing:]): Idem. * Source/NSMatrix.m ([-drawCell:]): Implemented. * Source/NSMatrix.m, Source/NSTextField: Cache the default notification center for the whole class. * Source/NSTableView.m ([-mouseDown:]): Double clicking starts editing only if row is selected. 2000-08-26 Georg Fleischmann * gui/Source/NSApplication.m ([-NSApplication run]): Don't update menu for NSPeriodic and NSMouseMoved events. 2000-08-27 Fred Kiefer * Source/NSFontPanel.m: Changed to tags for all subviews to prepare for the switch to gmodel. ([-panelConvertFont:]): corrected to not return nil. * Header/gnustep/gui/NSFontPanel.h: Removed ivars for subviews. * Source/NSFontManager.m ([-convertWeight:ofFont:]): Better conversion. * Source/NSView.m: ([-viewWithTag:]): Corrected bug in optimisation for first sub-level. * Header/gnustep/gui/NSLayoutManager.h * Source/NSLayoutManager.m: Started cleanup of code. * Source/NSTextStorage.c ([-edited:range:changeInLength:]), ([-processEditing]): Corrected reported range. Sun Aug 27 19:11:59 2000 Nicola Pero * Source/NSTableView.m ([-initWithFrame:]): Bug fix in initialization of selecting/editing ivars. Sat Aug 26 22:55:55 2000 Nicola Pero * Source/NSText.m: Cache the default notification center for the whole class. Sat Aug 26 19:25:17 2000 Nicola Pero Implemented selection of rows and columns in NSTableView: * Headers/gnustep/gui/NSTableView.h: Added ivars for selection of rows and columns. * Source/NSTableView.m ([-initWithFrame:]): Initialize the selection ivars. ([-dealloc]): Release the selected row and column arrays. ([-setAllowsMultipleSelection:]), ([-allowsMultipleSelection]), ([-setAllowsEmptySelection:]), ([-allowsEmptySelection]), ([-setAllowsColumnSelection]), ([-allowsColumnSelection]), ([-numberOfSelectedColumns]), ([-numberOfSelectedRows]), ([-selectedRow]), ([-selectedColumn]), ([-isColumnSelected:]), ([-isRowSelected:]), ([-selectedColumnEnumerator]), ([-selectedRowEnumerator]): ([-selectRow:byExtendingSelection:]), ([-selectColumn:byExtendingSelection:]), ([-deselectColumn:]), ([-deselectRow:]), ([-deselectAll:sender]), ([-selectAll:]), ([-highlightSelectionInClipRect:]): Implemented. ([-mouseDown:]): Manage selection. ([-drawRect:]): Draw selection. (_deselectRowsInRange), (_selectionChange), (_selectRowsInRange), (_insertNumberInSelectionArray): New internal functions. ([-_selectColumn:modifiers:]): New method; ([-_setSelectingColumns:]): New internal method. * Source/NSTableHeaderView.m ([-mouseDown:]): Implemented simple selection of columns; some code for dragging. * Source/NSTableView.m: Cache the default notification center for the whole class. ([-isOpaque]): Added method. 2000-08-25 Adam Fedor * GMAppKit.m ([NSTextView -encodeWithModelArchiver:]): Test if object responds to allowsUndo. 2000-08-25 Fred Kiefer * Source/Parser/RTFProducer.m ([-runStringForString:attributes:paragraphStart:]): Improved output of bold/italic formating. * Source/Parser/rtfScanner.c Corrected function gethex(). 2000-08-19 Georg Fleischmann * gui/Source/NSView.m ([NSView -removeSubview:]): check if any superview of the first responder is the view to be removed 2000-08-15 Georg Fleischmann * gui/Source/NSText.m ([NSText -sizeToFit:]): 'else' removed to allow resize of height and width (scanRange()): line 1032: +1 to avoid infinite loop for single character line 1011, 1047: '>' instead of '>=' Thu Aug 17 08:51:45 2000 Adam Fedor * Headers/gnustep/gui/NSLayoutManager.h: Add hyphenation prototypes (patch from Jeff Teunissen ). 2000-08-07 Adam Fedor * Merge 0.6.6 branch into main. 2000-08-03 Richard Frith-Macdonald * Headers/gnustep/gui/NSEvent.h: Support middle mouse button * Headers/gnustep/gui/NSResponder.h: ditto * Source/Functions.m: ditto * Source/GSComboSupport.m: ditto * Source/NSApplication.m: ditto * Source/NSCell.m: ditto * Source/NSControl.m: ditto * Source/NSEvent.m: ditto * Source/NSGraphicsContext.m: ditto * Source/NSMenuView.m: ditto * Source/NSResponder.m: ditto * Source/NSWindow.m: ditto 2000-07-30 Richard Frith-Macdonald * Source/NSBundleAdditions.m: patch by borgheron@yahoo.com to simplify loading of gmodel files. 2000-08-06 Adam Fedor * Version 0.6.6 released. Sun Aug 6 18:43:13 2000 Nicola Pero * Source/NSBrowser.m ([NSBrowser -doClick:]): Removed safety check which was preventing subclasses of NSBrowserCell to work properly with a browser. Sat Aug 5 02:03:24 2000 Nicola Pero * Source/NSTextFieldCell.m ([NSTextFieldCell -initTextCell:]): Reverted last change - do not draw background by default. 2000-08-04 Adam Fedor * Source/NSWorkspace.m ([_GSWorkspaceCenter -postNotification:]): Add user default "GSLogWorkspaceTimeout" to log rather than raise an exception during remote notification. 2000-08-03 Adam Fedor * Source/NSWindow.m (-setFrameFromString:): Don't set display flag if window not visible. * Source/NSBezierPath.m (-initWithCoder): Don't call super. (encodeWithCoder:): Likewise. 2000-08-02 Adam Fedor * Version: Update version number * Documentation/announce.tmpl.texi: Update * Documentation/readme.tmpl.texi: Likewise. * Documentation/news.tmpl.texi: Likewise. * Documentation/todo.tmpl.texi: Likewise. * ANNOUNCE, BUGS, NEWS, README: Regenerate 2000-08-2 Fred Kiefer * Source/NSText.m Changed the handling of the selection. The selection now only gets drawn inside of drawRect: otherwise it is just flaged as needing a redraw. 2000-08-01 Adam Fedor * Source/NSWindow.m ([NSMiniWindow -mouseDown:]): Use NSWindow's -deminiaturize. 2000-07-31 Fred Kiefer * Source/NSBundleAdditions.m Removed super calls in coding for GSNibContainer and GSNibItem to remove compiler warnings * Source/NSTextFieldCell.m [initTextCell:] switch drawsBackground on. * Source/NSText.m [initWithFrame:] switch drawsBackground on. 2000-07-31 Richard Frith-Macdonald * Source/NSColor.m: ([-description]) corrected to remove quotes from string listing color components. problem reported by Benhur Stein 2000-07-31 Fred Kiefer * Source/NSTextView.m Use [drawRect:] from super. * Source/NSText.m Added method [undrawSelectionAsRange:], this only shows the cursor if [shouldDrawInsertionPoint] is YES. In [mouseDown:] only make first responder if editable. Also increase the proposed range to include the last character into the selection. 2000-07-30 Adam Fedor * Source/NSBundleAdditions.m (+loadNibFile:externalNameTable:withZone:): Read as gmodel if it has proper extension. (-loadNibFile:externalNameTable:withZone:): Fix a few bugs in determining proper extension. (patch from Gregory Casamento ). Sun Jul 30 01:33:15 2000 Nicola Pero * Source/NSText.m ([NSText -moveRight:]): ([NSText -moveLeft:]), ([NSText -moveUp:]), ([NSText -moveDown:]): Tidied; removed call to selectionRangeForProposedRange:granularity:. ([NSText -selectionRangeForProposedRange:granularity:]): Tidied, fixed some bugs showing upon selecting text by words and deleting text. 2000-07-01 Fred Kiefer * Source/NSFileWrapper.m [initWithPath:] always store full pathname in filename. This may be wrong but now it is consistent in this file. [writeToFile:atomically:updateFilenames:] set attributes for normal files. * Source/NSAttributedString.m [fixAttributesInRange:] added fix of attachments Thu Jul 20 16:00:14 2000 Nicola Pero * Source/NSApplication.m ([-init]): Enclosed all initialization into an autorelease pool as per specifications; moved initialize_gnustep_backend () here so it is enclosed in the autorelease pool too. 2000-07-19 Adam Fedor * Source/NSApplication.m (+sharedApplication): Initialize backend here instead of NSApplicationMain(). * Source/NSGraphicContext.m (+waitAllContexts): New method. * Documentation/news.tmpl.texi: Update. * Documentation/todo.tmpl.texi: Update. 2000-07-16 Adam Fedor * GNUmakefile: Make PrinterTypes subdir. * PrinterTypes/GNUmakefile: New file to install ppd files. * PrinterTypes/GNUmakefile.postamble: Likewise. * Source/NSPrinter.m (getFile): Use NSBundle methods. (+printerTypes): Simplify with use of NSBundle methods. 2000-07-14 Adam Fedor * Source/NSApplication.m (-run): Do appIconInit here so NSApp can be set-up without showing icon. 2000-07-06 Richard Frith-Macdonald * Source/GNUmakefile: Install GSFontInfo.h 2000-07-04 Richard Frith-Macdonald * Source/GSServicesManager.m: Update port name servr for revised API compatible with MacOS-X 2000-07-03 Richard Frith-Macdonald * Tools/gpbs.m: Fix for OPENSTEP complient DO 2000-07-01 Fred Kiefer * Source/NSFileWrapper.m Corrected decoding and added a RETAIN in [initWithSerializedRepresentation:] * Source/Parser/RTFProducer.m * Source/Parser/RTFProducer.h * Source/Parser/attributedStringConsumer.m * Source/Parser/rtfConsumer.h Added new methods to read/write RTFD and resturctured the methods for RTF. * Source/NSAttributedString.m Use new RTFD methods 2000-07-01 Fred Kiefer * Source/NSFileWrapper.m Implemented coding and replaced [initWithSerializedRepresentation:] and [serializedRepresentation] to use it. * Source/NSText.m Changed Font/Ruler pasting to use an Archiver * Source/NSTextView.m [setAllowsUndo:] and [allowsUndo] now use ivar 2000-06-29 Adam Fedor * Source/NSText.m (-setFont:): Return if font==nil. * Source/NSTextView.m (setAllowsUndo:, allowsUndo): Stub implementation. * Source/Functions.m (NSApplicationMain): Call NSProcessInfo initialization if GS_PASS_ARGUMENTS. * Tools/example.m: Likewise. * Tools/gpbs.m: Likewise. * Tools/make_services.m: Likewise. * Tools/set_show_services.m: Likewise. Tue Jun 27 19:35:54 2000 Nicola Pero * Source/NSButton.m ([-allowsMixedState]): Implemented. ([-setAllowsMixedState:]): Idem ([-setNextState]): Idem. * Headers/AppKit/NSButton.h: Added corresponding declarations. 2000-06-26 Fred Kiefer * Source/NSFileWrapper.m Added a crude implemention for [initWithSerializedRepresentation:] and [serializedRepresentation]. Also scattered some AUTORELEASE and RELEASE statements. * Source/NSPasteboard.m [readFileContentsType:toFile:] and [writeFileContents:] now use file wrappers to use the same format as the new methods. * Source/NSText.m Turn on NSFileContentsPboardType in [readablePasteboardTypes]. 2000-06-26 Richard Frith-Macdonald * Source/NSAttributedString.m: attachmentString() - retain newly created string. 2000-06-26 Fred Kiefer * Headers/AppKit/NSTextAttachment.h * Source/NSTextAttachment.m * Source/NSAttributedString.m Added a basic implementation for NSTextAttachment and NSTextAttachmentCell and use it in NSAttributedString. * Source/GNUmakefile Include new file NSTextAttachment.m * Source/NSText.m Changed the font and ruler pasting and removed some other FIXMEs * Headers/AppKit/NSPasteboard.h * Source/NSPasteboard.m Added two missing methods for file wrapper 2000-06-25 Fred Kiefer * Source/Parser/attributedStringConsumer.m * Source/Parser/rtfConsumerFunctions.h * Source/Parser/rtfScanner.c * Source/Parser/rtfGrammer.y Added support for RTF special characters and extra paragraph attributes * Source/Parser/RTFProducer.m * Source/Parser/RTFProducer.h New files for RTF output, code comes partly from Source/NSAttributedString * Source/GNUmakefile Include new file Parser/RTFProducer.m until it gets its own bundle * Source/NSAttributedString.m Moved RTF output code to Source/Parser/RTFProducer.m Corrected [fixParagraphStyleAttributeInRange:] and removed all the location < 0 checks as location is unsigned. * Source/NSFontManager.m Allow for a loosier conversion in [fontWithFamily:traits:weight:size:] Wed Jun 21 19:42:12 2000 Nicola Pero * NSCell.m ([-objectValue]): Placeholder implementation returning the same as stringValue. Alpha implementation of editing in NSTableView. * Source/NSTableView.m ([-setDelegate:]): Check whether delegate is editable. ([-drawRow:clipRect:]): Don't draw over the edited cell. ([-mouseDown:]): Added editing. ([-abortEditing]): Implemented. ([-currentEditor]): Idem. ([-validateEditing]): Idem. ([-editedRow]): Idem. ([-editedColumn]): Idem. ([-textDidBeginEditing:]): Idem. ([-textDidEndEditing:]): Idem. ([-textShouldBeginEditing:]): Idem. ([-textShouldEndEditing:]): Idem. ([-textDidChange:]): Idem. Tue Jun 20 20:22:34 2000 Nicola Pero * Headers/AppKit/NSTableView.h: Added editing related ivars. Mon Jun 19 19:16:15 2000 Nicola Pero * Source/NSText.m ([-selectionRangeForProposedRange:granularity:]): Fixed crash when moving past the end of text. 2000-06-16 Adam Fedor * Source/GSFontInfo.m (-mutableCopyWithZone:): New method. 2000-06-19 Fred Kiefer * Headers/gnustep/gui/GMAppKit.h * Model/GMAppKit.m Added archiving of NSText and NSTextView 2000-06-17 Fred Kiefer * Source/Parser/attributedStringConsumer.m * Source/Parser/rtfConsumer.h * Source/Parser/rtfConsumerFunctions.h * Source/Parser/rtfScanner.h * Source/Parser/rtfScanner.y * Source/Parser/rtfGrammer.y Extended support for RTF. Added underline, script, colour and tailindent. Fri Jun 16 21:05:49 2000 Nicola Pero * Source/NSText.m ([NSText -scrollRangeToVisible:aRange]): Don't try scrolling an ancestor clipview if we are field editors. Fri Jun 16 19:32:11 2000 Nicola Pero Implemented double-click on NSTableView header and not editable cells. * Headers/AppKit/NSTableView.h: Added ivars _clickedRow, _clickedColumn, _target; added declaration of private method below. * Source/NSTableView.m ([-setTarget:]): Implemented. ([-target]): Idem. ([-clickedColumn]): Idem. ([-clickedRow]): Idem. ([-mouseDown:]): Implemented double-click to send double action when cell is not editable. ([-_sendDoubleActionForColumn:]): New private method for use by NSTableHeaderView. * Source/NSTableHeaderView.m ([-mouseDown:]): Implemented double-click. * Source/NSTableView.m ([-scrollColumnToVisible:]): Tiny fix for coordinate change. ([-scrollRowToVisible:]): Idem. 2000-06-16 Fred Kiefer * Source/Parser/attributedStringConsumer.m * Source/Parser/rtfConsumer.h * Source/Parser/rtfConsumerFunctions.h * Source/Parser/rtfScanner.h * Source/Parser/rtfScanner.y * Source/Parser/rtfGrammer.y Extended support for RTF. It is possible to read in the OpenStep specification now! * Source/NSAttributedString.m Use new RTF interface in initWithRTF:documentAttributes: (Will change once more if we use a separat bundle) Implemented attributedStringWithAttachment: * Source/NSTextStorage.m Corrected problem in processEditing. The change range got to big after repeated adding at the end. * Source/NSText.m Made setAlignment:range: save against missing paragraph style Fri Jun 16 18:59:44 2000 Nicola Pero * Source/NSTableView.m ([NSTableView -scrollRowToVisible:]): Don't need to constrainScrollPoint before calling scrollToPoint. ([-scrollColumnToVisible:]): Idem. * Source/NSView.m ([-scrollPoint:]): Idem. ([-scrollRectToVisible:]): Idem. ([-scrollPoint:]): Don't send reflectScrolledClipView to the clipview's superview. Fri Jun 16 10:18:29 2000 Nicola Pero * Source/NSTableView.m ([-scrollColumnToVisible:]): Updated for last changes in scrollview code. Thu Jun 15 20:29:13 2000 Nicola Pero * Source/NSView.m ([-scrollRectToVisible:]): Don't need to send reflectScrolledClipView to the clipview's superview. This is done automatically by the clipview. Thu Jun 15 20:09:55 2000 Nicola Pero * Source/NSScrollView.m ([-reflectScrolledClipView:]): If needed, scroll the header view too. Thu Jun 15 15:25:32 2000 Nicola Pero * Source/NSTableView.m ([-columnAtPoint:]): Fixed fatal typo. Tue Jun 13 19:36:37 2000 Nicola Pero * Source/NSTableView.m ([-scrollRowToVisible:]): Implemented. ([-scrollColumnToVisible:]): Implemented. Tue Jun 13 17:22:24 2000 Nicola Pero * Source/NSCell.m ([-copyWithZone:]): Copy all cell's attributes [bug reported by Frederic De Jaeger]; simplified. 2000-06-11 Jonathan Gapen * Headers/gnustep/gui/NSTypesetter.h: New file. * Source/NSTypesetter.m: Skeleton implementation from Apple docs. * Source/NSSimpleHorizontalTypesetter.m: As above. 2000-06-11 Fred Kiefer * Headers/gnustep/gui/NSFont.h: * Headers/gnustep/gui/GSFontInfo.h: * Source/NSFont.m: * Source/GSFontInfo.m: Added some support for glyph layout * Source/NSText.m: updateFontPanel isMultiple was set wrong 2000-06-10 Fred Kiefer * Headers/gnustep/gui/NSDocument.h: * Headers/gnustep/gui/NSDocumentController.h: * Headers/gnustep/gui/NSDocumentFrameworkPrivate.h: Added header, replaced import with include * Source/NSDocument.m: Added header, replaced import, retain, release... Rewrote the saveXX methods Rename saveFileType to fileTypeFromLastRunSavePanel * Source/NSDocumentController.m: Added header, replaced import, retain, release... Added methods for handling of last recent documents. Made addDocument and removeDocument public. * Source/NSAttributedString.m: Added header. RTFHeaderStringWithContext: convert colour to RGB 2000-06-07 Adam Fedor * Model/IMLoading.m ([GMModel -_makeConnections]): Call awakeFromNib if object doesn't respond to awakeFromModel (patch from Gregory Casamento ). 2000-05-04 Georg Fleischmann * gui/Model/GMAppKit.m ([NSWindow -createObjectForModelUnarchiver:]): use self instead of NSWindow class to allow creation of subclasses of NSWindow 2000-06-03 Richard Frith-Macdonald * Source/NSAttributedString.m: ([-setAlignment:range:]) retain/release problem fixed. Thu Jun 1 21:50:34 2000 Nicola Pero * Source/NSScrollView.m ([NSScrollView -tile]): Fixed position of corner view when there is no horizontal scrollview; fixed position of parts when there is a header view but not a horizontal scrollview. 2000-05-24 Georg Fleischmann * gui/Model/GMAppKit.m ([NSScrollView(GMArchiverMethods) -initWithModelUnarchiver:]): select selected cells in matrix too 2000-05-20 Fred Kiefer * Headers/gnustep/gui/NSTextView.h: Corrected signature for [smartInsertForString:...] * Source/NSAttributedString.m: [setAlignment:range:] allwas use a mutableCopy * Headers/gnustep/gui/NSText.h: * Source/NSText.m: * Source/NSTextView.m: Reorganised all the Copy and Paste code. Added some implementation. 2000-05-23 Adam Fedor * Source/NSImage.m ([NSImage +imageNamed:]): Check for nil extension. 2000-05-12 Georg Fleischmann * Model/GMAppKit.m ([NSScrollView(GMArchiverMethods) -initWithModelUnarchiver:]): move unarchiving of backgroundColor behind documentView 2000-05-20 Fred Kiefer * Headers/gnustep/gui/NSText.h: * Source/NSAttributedString.m: * Source/NSText.m: * Source/NSTextView.m: Improved the handling of character and paragraph attributes on NSText and added basic implementations for these methods on NSTextView. Some ivars on NSText have been replaced by values in [ typingAttributes]. 2000-05-17 Jonathan Gapen * Model/GMAppKit.m: NSButton methods removed; all NSButton attributes are actually stored in an associated NSButtonCell. Eliminate (de)archiving of NSTextField attributes that duplicate attributes of its associated NSTextFieldCell. NSMenuItem [encodeWithModelArchiver:] Do not encode images when the item has a submenu. (Patch from Nicola Pero.) (De)archive autoresizing mask in NSPopUpButton. (De)archive border attribute of NSColorWell. 2000-05-13 Fred Kiefer * Headers/gnustep/gui/NSText.h: * Headers/gnustep/gui/NSTextView.h: * Source/NSText.m: * Source/NSTextView.m: Made NSTextView use the ivars of its super class and added some new ivars to NSText. Adopted both implementations to this. Added some missing method declarations to NSTextView. This is only the start of the rearangement of this classes. 2000-05-09 Richard Frith-Macdonald * gui/Source/NSTabView.m: General tidyup, minro fixes, and implemented ([-takeSelectedTabViewItemFromSender:]) 2000-05-09 Georg Fleischmann * gui/Source/NSTabView.m ([-initWithFram:]): retain tab_font ([-dealloc]): new method. 2000-05-07 Fred Kiefer * Source/NSAttributedString.m: RTFBodyStringWithContext: Corrected output of subscript * Source/Parsers/attributedStringConsumer.m: GSRTFsubscript, GSRTFsuperscript: Change interpretation of super/subscript parameter * Source/NSStringDrawing.m: Corrected baseline for font with different point size. Added primitiv support for super/subscript as baseline change of 3 points. The baseline correction is only done for the current chunk not for the whole line. 2000-05-06 James Dessart * Documentation/gsdoc/NSWindow.gsdoc : * Documentation/gsdoc/NSWindow.html : Added some very basic documentation. 2000-05-04 Fred Kiefer * Source/NSText.m: Always use the most appropriate RTF* method and other small internal improvements * Source/NSAttributedString.m: Corrected lineBreakBeforeIndex:withinRange: and reorganised the initWithRTF* methods. * Headers/gnustep/gui/NSAttributedString.h: Moved two methods from NSTextAttachment.h here * Headers/gnustep/gui/NSTextAttachment.h: Moved two methods into NSAttributedString.h Thu May 4 19:11:48 2000 Nicola Pero * Source/NSPanel.m ([GSAlertPanel -initWithContentRect:styleMask:backing:defer:screen:]): Fixed position of the panel title, so that it is displayed again. 2000-04-29 Richard Frith-Macdonald * Source/NSFont.m: ([-initWithCoder:]) corrected retain/release error. 2000-04-28 Richard Frith-Macdonald * Source/NSWorkspace.m: Fixed bug setting preferred application/icon. 2000-04-27 Jonathan Gapen * Headers/gnustep/gui/NSColorWell.h: Add ivar, prepend underscores. * Images/common_ColorSwatch.tiff: New file. * Images/GNUmakefile: Update. * Model/IMLoading.m: Bugfix in [+loadGModelNamed:owner:] to invoke [+bundleForClass:] with a class, not an object. * Panels/ColorPanel.gmodel: Add attributes to make a color panel become key only as needed, and make it a floating panel. * Source/NSColorPanel.m: Use above image for color dragging. * Source/NSColorWell.m: Updates for proper (de)activation. 2000-04-25 Adam Fedor * Source/NSScreen.m (-deviceDescription): Use autoreleased dictionary. (+mainScreen): Autorelease screen. (+screens): Likewise. (-isEqual:): Implement. 2000-04-25 Richard Frith-Macdonald Patch by Gregory John Casamento edited to conform to standards. Adds improved colorspace support. Files modified - Headers/gnustep/gui/NSGraphics.h, Headers/gnustep/gui/NSScreen.h, Source/Functions.m, Source/NSScreen.m, Source/externs.m, Tools/Functions.m 2000-04-25 Adam Fedor * Source/NSView.m (-_updateBoundsMatrix): New method from common code in other methods. (-setFrame:): Use it. Also check if frame actually changed before doing something. (-scaleUnitSquareToSize): Use it. (-setBounds): Likewise. (-setBoundsSize:): Likewise. (-resizeWithOldSuperviewSize:) Likewise. Also use setFrame to actually set the frame (This is apparently what OpenStep 4.2 does). 2000-04-24 Adam Fedor * Source/NSFont.m (-isEqual:): Implement. (hash): Likewise. * Documentation/gsdoc/DPSOperators.gsdoc: New file. 2000-04-24 Fred Kiefer * Parser/*: Updated the parser to support more of the RTF specification * NSAttributedString.m: Use new parser * NSText.m: Small improvements on formatting 2000-04-23 Fred Kiefer * GSTextStorage.m: Corrections in replaceCharactersInRange:withString: 2000-04-20 Adam Fedor * Headers/gnustep/gui/GSMethodTable.h: Added methods to get current server device (X display) and current window device (X window). * Headers/gnustep/gui/DPSOperators.h: Likewise * Headers/gnustep/gui/NSGraphicsContext.h: Likewise * Headers/gnustep/gui/PSOperators.h: Likewise * Source/NSGraphicsContext.m: Likewise * Source/NSBrowser.m (-setDelegate:): browser:willDisplayCell:atRow:column: is only required for a passive browser delegate. * Source/NSFont.m (-fontInfo): New private method. * Source/NSFontManager.m (-traitsOfFont): Use it. (-weightOfFont): Likewise. 2000-04-18 Adam Fedor * Hooks for using backend libraries to read images. * Source/NSBitmapImageRep.m (-_initFromWrasterFile:number:): New stub for backends. (+imageRepsWithFile:): New method. (+_wrasterFileTypes): New stub for backend. (+imageFileTypes): Include wraster file types. * Source/NSImageRep.m (+imageRepsWithContentsOfFile:): Check/use if rep implements +imageRepsWithFile. * Headers/gnustep/gui/nsimage-tiff.h: Add field for associated alpha. * Source/tiff.m: Set it. 2000-04-17 Jonathan Gapen * Headers/gnustep/gui/NSColorPanel.h: New ivars for panel objects. * Panels/ColorPanel.gmodel: New file. * Panels/GNUmakefile: Add above file. * Source/NSApplication.m: [-orderFrontColorPanel:] Implement. * Source/NSColorPanel.m: Rough draft implementation. * Source/NSColorWell.m: Add drag 'n drop methods. 2000-04-16 Adam Fedor * Source/tiff.m (NSTiffGetInfo): Getting alpha info requires two parameters! 2000-04-14 Richard Frith-Macdonald * Source/NSSliderCell.m: Fix stupid mistake in last mod. * Headers/AppKit/NSView.h: Fix incorrect comments about resize mask. 2000-04-13 Adam Fedor * Source/NSApplication.m ([NSAppIconView -setImage:]): Remove extra lock/unlock focus. ([NSApplication -finishLaunching]): More specific error information. * Source/NSWindow.m (-setFrameOrigin:): Don't re-display. (-setFrameTopLeftPoint): Likewise. (_initDefaults): Set needs_display flag. * Source/NSBitmapImageRep.m (-_initFromImage:number:): Use new Tiff routines, log message and return nil rather than raise exception. * Source/tiff.m (NSTiffGetInfo): Tidy, get alpha info correctly. (NSTiffRead): Bug fixes, particularly reading planar images. (NSTiffError): New function. (NSTiffWarning): Likewise. (NSTiffGetImageCount): Likewise. 2000-04-13 Richard Frith-Macdonald * Source/NSMenu.m: ([-_setOwnedBypopUp:]) set correct window level for popup menu windows. * Source/NSApplication.m: ([-beginModalSessionForWindow:]) set correct window level for panels now that WindowMaker supports it. * Source/NSSliderCell.m: Minor tidyups 2000-04-12 Jonathan Gapen * Model/GMAppKit.m: Added methods for NSSliderCell. * Model/IMLoading.m: Use [-pathExtension] rather than [-hasSuffix] to check for gmodel filename extension. * Source/NSSliderCell.m: Tweaked drawing code to account for border/bezel and to draw the title cell properly. 2000-04-10 Richard Frith-Macdonald * Documentation/gsdoc/GNUmakefile: New file to build documentation * AppKit.gsdoc: renamed to Gui.gsdoc to reflect GNUstep name for library rather than NeXT/Apple trademarked one. Updated links in the other documentation files. 2000-04-08 James Dessart * Documentation/gsdoc/NSSlider.gsdoc: Made corrections to class description * Documentation/gsdoc/NSSliderCell.gsdoc: Basic documentation (added in mid-March) * Documentation/gsdoc/NSView.gsdoc: Start of basic documentation * Documentation/gsdoc/NSSlider.html: For users who cannot compile gsdoc * Documentation/gsdoc/NSSliderCell.html: For users who cannot compile gsdoc * Documentation/gsdoc/NSView.html: For users who cannot compile gsdoc 2000-04-07 Jonathan Gapen * Source/NSWindow.m: Update [-performClose:] to check send [-windowWillClose:] message to window controller's document. * Source/NSWindowController.m: Add copyright notice, update to GC-compatible RETAIN/ASSIGN macros, re-format. * Source/NSWorkspace.m: [-getInfoForFile:application:type:] Implement. 2000-04-06 Adam Fedor * Source/GSFontInfo.m: allFonts returns GSFontInfo objects. [-pointSize]: Implement. 2000-04-02 15:00 Fred Kiefer * NSAttributedString.m: Improved RTF output and corrections in the formating methods 2000-04-01 18:00 Fred Kiefer * Source/NSText.m: Now really uses a text storage instead of an attributed string (old patch missed this) * Source/NSAttributedString: Use NSFileWrapper to write RTF 2000-03-31 Adam Fedor * Headers/gnustep/gui/NSFont.h: Conform to NSCopying. * Source/NSFont.m ([NSFont -copyWithZone:]): Implement. * Source/GSFontInfo.m: (-copyWithZone:): Likewise 2000-03-31 Jonathan Gapen * Model/GMAppKit.m: Re-organize NSCell's [-initWithModelUnarchiver:] to unarchive each cell type appropriately. Changed NSPanel [+createObjectForModelUnarchiver:] so that it correctly creates an object for NSPanel subclasses. 2000-03-27 Adam Fedor * Changes to use "helper" class for getting backend font information rather than poseAs classes. * Headers/gnustep/gui/NSFont.h: New ivar. * Headers/gnustep/gui/NSFontManager.h: New ivar. * Source/NSFont.m: Changes to use GSFontInfo classes for getting font information. * Source/NSFontManager.m: Likewise for GSFontEnumerator. * Source/GSFontInfo.m: New file. 2000-03-27 Nicola Pero * Source/NSTableView.m ([-tile]): Access ivar _frame. 2000-03-25 Jonathan Gapen * Headers/gnustep/gui/NSColorPicker.h: Added ivar. * Headers/gnustep/gui/NSImage.h: Added setFlipped/isFlipped methods. * Source/NSBundleAdditions.m: Fixed bug in checking filename extension. ([-pathForImageResource:]) * Source/NSColorPicker.m: Implement. ([-initWithPickerMask:colorPanel:] [-colorPanel] [-insertNewButtonImage:in:] [-provideNewButtonImage:]) * Source/NSImage.m: Initialize _flags.flipDraw in [-initWithSize:] 2000-03-24 Jonathan Gapen * Source/NSFileWrapper.m: First implementation of NSFileWrapper * Headers/gnustep/gui/NSFileWrapper.h: Added ivars and enum 2000-03-21 22:00 Fred Kiefer * Source/NSText.m: Changed to use a text storage instead of an attributed string. * Source/NSTextStorage.m: Removed unnecessary method, changes of the delegate now don't trigger processEditing * Source/GSTextStorage.m: The two basic operations call ([-edited:range:changeInLength:]) 2000-03-22 Richard Frith-Macdonald Patch from jagapen@whitewater.chem.wisc.edu * Model/IMLoading.m: new method ([+loadGModelNamed:owner:]) * Headers/AppKit/IMGmodel.h: ditto * Source/NSApplication.m: Use new method. Sun Mar 19 22:26:55 2000 Nicola Pero * Model/GMAppKit.m ([NSApplication -initWithModelUnarchiver:]): RETAIN the decoded windows. * Source/NSClipView.m ([-viewFrameChanged:]): If the document view does not cover all our area, fill the remaining space with background color. * Source/NSTableView.m ([-noteNumberOfRowsChanged]): Implemented. 2000-03-19 Richard Frith-Macdonald * Source/GSTextStorage.m: ([setAttributes:range:]) make sure attributes are set when old range starts at start of new range. 2000-03-19 Richard Frith-Macdonald Fixes fromFred Kiefer - * Headers/gnustep/gui/NSResponder.h: prefix ivars with underscore and add new _menu ivar. * Source/NSResponder.m: Change ivars and add support for Apples menu methods. * Source/NSWindow.m: update for change to responder ivar names. * Source/NSInterfaceStyle.m: ditto * Source/NSText.m: Establish cursor on starting edit. 2000-03-18 Richard Frith-Macdonald * Source/NSSplitView.m: ([-mouseDown:]) only highlight/unhighlight divider when actually necessary. Fri Mar 17 23:33:40 2000 Nicola Pero First alpha implementation of NSTableView. Mouse interaction not yet implemented, with the exception of scrolling. * Source/NSScrollView.m: Added NSTableView support. ([-_doScroll:]): If we have a header view, scroll the header view too. ([-tile]): Added code to tile header clip view and corner view if we have them. ([-drawRect:]): Added code for the case we have a header view and/or a corner view; fixed drawing of border. ([-setDocumentView:]): Added code to check if the document view responds to the methods cornerView and headerView, as per macosx NSTableView spec, and to manage the various cases. * Headers/AppKit/NSScrollView.h: New ivars _hasCornerView, _hasHeaderView, _headerClipView. * Source/NSTableColumn.m ([-setWidth:]): Invoke [-tile] in the table view. * Source/NSTableHeaderCell.m ([-initTextCell:]): Set bezeled as yes; set font. ([-drawWithFrame:inView:]): New method; draw a gray bezel border. * Source/NSTableHeaderView.m ([-columnAtPoint:]): Implemented. ([-headerRectOfColumn:]): Rewritten. ([-drawRect:]): Rewritten. * Source/NSTableView.m: [Re]Written from scratch. * Headers/AppKit/NSTableView.h: Idem. * Source/externs.m: Added NSTableView notifications. * Headers/AppKit/AppKit.h: Added NSTableView.h, NSTableHeaderView.h, NSTableHeaderCell.h. 2000-03-17 Richard Frith-Macdonald * Headers/gnustep/gui/NSGraphics.h: Removed the inclusion of PSOps that was messing up Functions.m in the Tools area. Thu Mar 16 13:15:00 2000 Richard Frith-Macdonald * Source/NSText.m: Fixes by Fred Kiefer for rich text display. * Source/NSTextView.m: ditto * Source/NSFontManager.m: bugfixes - check for nil fonts. * Headers/AppKit/NSResponder.h: additional macOS-X methods declared Wed Mar 15 02:41:04 2000 Nicola Pero * Source/GSUtil.m: Removed file; it was duplicating [NSString -sizeWithAttributes:]. * Source/GSUtil.h: Idem. * Source/GNUmakefile: Idem. * Source/NSButtonCell.m ([-drawInteriorWithFrame:inView:]): Invoke [NSString -sizeWithAttributes:] instead of GSUtil_sizeOfMultilineStringWithFont(); ([-cellSize]): Idem. * Source/NSCell.m ([-cellSize]): Idem; updated for the change so that the @"" string gets simply the height of the font. ([-_drawText:title:cellFrame]): Idem, plus rewritten vertical centering of text. * Source/NSCell.m ([-setObjectValue:]): Temporary implementation working only with strings, images, and numbers. This is needed by the forthcoming NSTableView. 2000-03-11 Adam Fedor * Headers/gnustep/gui/NSText.h: Add missing methods. * Source/NSCachedImageRep.m: Remove ImageCompositing dwrite and centralize in backend (Now use GraphicCompositing to turn on alpha drawing/compositing). * Source/NSSlider.m ([NSSlider -initWithFrame:]): set continuous as specified in OpenStep docs. * Source/NSWindow.m (-center): Remove modification already taken care of in backend. Sat Mar 11 06:32:00 2000 Richard Frith-Macdonald * Source/NSStringDrawing.m: Fix error in handling extent of paragraph styles. Sat Mar 11 05:54:00 2000 Richard Frith-Macdonald * Source/NSPanel.m: Completely reformatted and added some fixes for errors in positioning/sizing the panel. Fri Mar 10 17:42:00 2000 Richard Frith-Macdonald * Source/NSWindow.m: Reverted last change to NSWindow as they left it unable to compile and the intended modification to the center method seemed bogus - it would have left the window positioned 17.5 pixels below the center of the screen. and I don't think that that is what is desired. Fri Mar 10 13:36:00 2000 Richard Frith-Macdonald * Source/NSCell.m: fixed formatting to be consistent and conform to GNU standards. * Source/NSButtonCell.m: ditto. 2000-03-10 Pascal J. Bourguignon * Source/GSUtil.m: A new file where to put utility functions used by the classes. For now, only contains the GSUtil_sizeOfMultilineStringWithFont() function. * Source/NSCell.m: * Source/NSButtonCell.m : Updated -cellSize to process multiline string value. This should improve greately the behaviour of NSTextField and consequently of the NSPanel building functions. Updated -[NSCell _drawText:inFrame:] and -[NSButtonCell drawInteriorWithFrame:inView:] to handle properly multiline strings. * Source/NSPanel.m: Added the following features to GSAlertPanel private subclass of NSPanel: - fit the height of the panel according to the height of the message, in addition to the width. - when the final size for the panel is much too big respective to the screen, it is reduced, and the message is put in a scroll view. - made the attention panel stay visible when the application is deactivated as manded by the OpenStep specifications. - more than one attention panel can be run simultaneously, without the later invocation stealing the panel of the former one. * Source/NSWindow.m: Moved constant invocation of the method -[NSParagraphStyle attribute:atIndex:effectiveRange:] outside of loops and removed firstLine variable in -drawAtPoint: and in -size. Made -center take into account the title bar height so that windows as high as the screen would be centered at y=0 instead of y=title bar height/2. * Testing/NSPanelTest: Also, I've added a NSPanelTest application in core/Testing, that will show how nice have become the Alert panels... Fri Mar 10 12:42:44 2000 Nicola Pero * Source/NSSplitView.m ([-mouseDown:]): Fixed bug. Fri Mar 10 10:48:00 2000 Richard Frith-Macdonald * Documentation/gsdoc/NSView.gsdoc: Added a little documentation for methods for removing subviews from a view. Fri Mar 10 09:35:00 2000 Richard Frith-Macdonald * Source/NSView.m: Make ([removeSubview:]) public. * Headers/AppKit/NSView.h: ditto Fri Mar 10 06:46:00 2000 Richard Frith-Macdonald * Source/NSView.m: Added ([_removeSubview:]) and make all subview removals use it. Modify addition of subviews to invalidate the subview coordinates. * Source/NSScrollView.m: Use _removeSubview * Headers/AppKit/NSView.h: tidyup and add new method. Fri Mar 10 02:12:34 2000 Nicola Pero * Source/NSSplitView.m ([-mouseDown:]): Better management of the case a subview passed mouse down to next responder so the splitview got it - made log message milder and do not redraw the splitview. ([-mouseDown:]): Fixed bug causing hard misbehaviour when the mouse drags starting exactly on the borderline between the divider and a subview. Thu Mar 9 23:32:36 2000 Nicola Pero * Model/GMAppKit.m ([NSView -subviewsForModel]): Fixed fatal problem for encoding editable textfields in gmodels: do not encode Apple's private class _NSKeyboardFocusClipView. Thu Mar 9 19:42:17 2000 Nicola Pero * Source/NSSplitView.m ([-adjustSubviews]): Fixed bug in calculation of frames; patch by Björn Giesler . Wed Mar 8 23:19:08 2000 Nicola Pero * Source/NSPopUpButton.m ([-sizeToFit]): Invoke super's implementation. * Source/NSPopUpButton.m ([-synchronizeTitleAndSelectedItem]): Removed call to sizeToFit. * Source/NSPopUpButtonCell.m ([-cellSize]): Implemented. Wed Mar 08 20:56:00 2000 Richard Frith-Macdonald * Source/NSFontPanel.m: A few bug fixes and tidyups. Wed Mar 08 17:09:00 2000 Richard Frith-Macdonald * Source/NSWindow.m: ([-setLevel:]) implemented. Wed Mar 08 115:4500 2000 Richard Frith-Macdonald Removed a fixup that should no longer be needed now that the coordinate stuff is fixed - NB you need to update your copy of WindowMaker to the latest CVS code because that contains some coordinate handling bug fixes that we need. * Source/NSPopPupButton.m: Removed workaround for bad coordinates. * Source/NSPopPupButtonCell.m: ditto. Wed Mar 08 13:15:00 2000 Richard Frith-Macdonald * Source/NSWindow.m: Final (I hope) coordinate handling fixes to use proper frame coordinates and offsets now that support is in backend and WindowMaker bugs are fixed. Wed Mar 08 07:44:00 2000 Richard Frith-Macdonald * Source/NSText.m: Fixes by Fred Kiefer for rich text display. * Source/NSStringDrawing.m: ditto * Headers/AppKit/NSText.h: ditto * Headers/AppKit/NSStringDrawing.h: ditto Tue Mar 07 11:00:00 2000 Richard Frith-Macdonald * Source/NSWindow.m: Changes throughout to use correct offsets for differences between content rect and frame coordinates. Base coordinate system is that of the content rect, so conversions between screen and base coordinates are required except for borderless windows (where the frame rect is the same as the content rect). Tue Mar 07 06:24:00 2000 Richard Frith-Macdonald * Source/NSApplication.m: ([activateIgnoringOtherApps]) order key window to front when activating app. Tue Mar 7 03:23:55 2000 Nicola Pero Warning: the gmodel format was changed by this fix - and it is going to be changing for a while. If you are using CVS be sure to be always creating and running gmodels with the same CVS version. * Model/GMAppKit.m ([NSPopUpButton +createObjectForModelUnarchiver:]): Tidied. ([NSPopUpButton -encodeWithModelArchiver:]): Encode isEnabled, tag, target, action. Code untested. ([NSPopUpButton -initWithModelUnarchiver:]): Bug fix - do not invoke super's implementation. Removed useless call to synchronizeTitleAndSelectedItem. Decode isEnabled, tag, target, action. Tidied. Mon Mar 06 20:09:00 2000 Richard Frith-Macdonald * Headers/gnustep/gui/GSMethodTable.h: Added method to set titlebar. * Headers/gnustep/gui/DPSOperators.h: ditto * Headers/gnustep/gui/NSGraphicsContext.h: ditto * Headers/gnustep/gui/PSOperators.h: ditto * Source/NSGraphicsContext.m: ditto * Source/NSWindow.m: Make calls to DPSsetinputstate() to set the titlebar for the window on change of key/main/normal state. Mon Mar 06 10:36:00 2000 Richard Frith-Macdonald * Source/NSWindow.m: Various tidyups by Fred kiefer and myself. scrapped private class methods for querying window map in favour of more efficient function based lookup. * Source/NSApplication.m: ditto * Source/NSMenu.m: ditto * Source/NSText.m: Tidyups by Fred. * Headers/AppKit/NSText.h: ditto. * Headers/AppKit/NSWindow.h tidyup. * Headers/AppKit/NSGraphics.h new functions. Sun Mar 5 23:39:33 2000 Nicola Pero * Source/NSButtonCell.m ([-setPeriodicDelay:interval:]): Bug fix: do not set the cell as being continuous. This was also causing Model/GMAppKit.m to make all buttoncells continuous upon decoding. * Model/GMAppKit.m ([NSCell -initWithModelUnarchiver:]): Temporary commented out line setting cell's action mask so things go on working. Better solution coming soon. Sun Mar 5 01:51:52 2000 Nicola Pero * Model/GMAppKit.m ([NSPanel -encodeWithModelArchiver:]): Cleaned, simplified by invoking super's implementation; removed all code pertaining to super leaving only the part specific to this subclass. ([NSPanel -initWithModelUnarchiver:]): Idem. ([NSSavePanel -encodeWithModelArchiver:]): Idem. ([NSSavePanel -initWithModelUnarchiver:]): Idem. Sun Mar 5 01:19:21 2000 Nicola Pero * Source/NSMenu.m ([NSMenu -indexOfItem:]): Bug fix: return -1 if the item is not in the menu. This was crashing the popup button on selectItemWithTitle: nil. Sat Mar 4 20:39:02 2000 Nicola Pero * Model/GMAppKit.m ([NSWindow -initWithModelUnarchiver:]): OrderFrontRegardless the window if it is visible, so that visible windows from the main gmodel - which is loaded before the app is activated - are ordered front correctly. This is not yet a complete solution - see comment in the source. Sat Mar 4 18:34:47 2000 Nicola Pero Fixed major problem with creating gmodels from nibs on MACOSX. * Model/GMArchiver.m ([GMArchiver -encodeRect:withName:]): Force the string identifying the rect to be in the OPENSTEP format. MACOSX NSStringFromRect is - incredible - not OPENSTEP compliant, so we don't use NSStringFromRect at all and make it by hand. * Model/GMArchiver.m ([GMArchiver -encodeSize:withName:]): Idem. * Model/GMArchiver.m ([GMArchiver -encodePoint:withName:]): Idem. Sat Mar 04 06:57:00 2000 Richard Frith-Macdonald * Source/NSWindow.m: Patch be Fred Kiefer - switch miniaturize and performMiniatuize methods, make a few other methods conform to MacOS-X spec exactly. Fri Mar 03 05:36:00 2000 Richard Frith-Macdonald * Source/NSMenu.m:([NSMenuWindowTitleView -drawRect:]) fixed to draw contents in bounds rather than given rect. Fri Mar 3 02:25:24 2000 Nicola Pero * Source/NSWindow.m ([-performZoom:]), ([-zoom:]): Added methods with trivial implementation - so that code ported from macosx does not crash. Thu Mar 2 03:16:18 2000 Nicola Pero Added basic support to create and run gmodels from macosx nibs: * Model/GMAppKit.m ([NSApplication -encodeWithModelArchiver:]): Basic patch to allow creation of working gmodel from macosx nibs with menus: do not encode at all the apple specific NSMenuPanel objects. Thanks to raphael_sebbe@mac.com for testing this patch. * Model/GMAppKit.m ([NSImage +createObjectForModelUnarchiver:]): Bug fix: don't crash when decoding images with a nil name. * Source/NSApplication.m ([-setMainMenu:]): In gmodels created from macosx nibs, the windows submenu is called "Window", not "Windows". Patched code to recognize "Window" as identifying the windows submenu too. * Model/GMAppKit.m ([NSImage +createObjectForModelUnarchiver:]): When asked for anything which is not known, return GNUstepMenuImage [and not the radio button image as we did before]. * Images/nsmapping.strings: Added AppleMenuImage, NSMenuArrow, NSMenuCheckMark. * Images/GNUstepMenuImage.tiff: New file obtained by resizing GNUstep.tiff. Anybody with a better understanding of image manipulation feel free to replace GNUstepMenuImage.tiff with a better one. * Images/GNUmakefile: Added GNUstepMenuImage.tiff Wed Mar 01 16:21:00 2000 Richard Frith-Macdonald * Headers/gnustep/gui/NSWindow.h: New style values added for app iconwindow and miniwindows. New ivar added for miniwindow counterpart. New method ([-counterpart]) * Source/NSApplication.m: Create the iconwindow usig the new style. * Source/NSWindow.m: Many modifications to support miniwindow counterparts and create miniwindows when required (when a window is miniaturised). Tue Feb 29 16:34:49 2000 Nicola Pero * Documentation/gsdoc/Introduction.gsdoc: New file - beginning of a short overview/introduction of the GNUstep GUI API. Tue Feb 29 07:04:00 2000 Richard Frith-Macdonald * Source/NSFontManager.m: fixes and tiyups - mostly from Fred Keifer. Mon Feb 28 15:37:00 2000 Richard Frith-Macdonald * Documentation/gsdoc: Added skeleton documentation for the OpenStep/MacOS-X appkit classes in the gsdoc subdirectory. Mon Feb 28 06:42:00 2000 Richard Frith-Macdonald Font fixes - mostly from Fred Keifer. * Source/NSText.m: Use font manager. * Source/NSFontManager.m: some menu improvments. * Source/NSFontPanel.m: Correect setting of font and correct preview code for when there is no 'set' font Fri Feb 25 16:20:00 2000 Richard Frith-Macdonald * Headers/AppKit/NSWindow.h: added has_closed flag * Source/NSWindow.m: made close/deallocation sequence more robust * Source/NSApplication.m: improve removal of windows from menus on close. 2000-02-25 Adam Fedor * Source/NSCursor.m ([NSCursor -setImage:]): Implement. Fri Feb 25 07:07:00 2000 Richard Frith-Macdonald * Source/NSWorkspace.m: Removed a little unused code and fixed a minor portabilitym problem with path usage. Tue Feb 22 17:51:52 2000 Nicola Pero Still much to do in the font classes, but thanks to Fred Kiefer things are starting to work. Contributed by Fred Kiefer : * Headers/AppKit/NSFontManager.h: Fixed typo in ivar name. * Source/NSFontManager.m: More work on this class. * Source/NSFontPanel.m: Almost complete rewrite. * Headers/AppKit/NSFontPanel.h: Idem. Mon Feb 21 14:40:00 2000 Richard Frith-Macdonald * Source/NSWindow.m: ([-close]) remove spurious retain. * Source/NSApplication.m: ([-run]) do startup stuff inside an autorelease pool and release it before main loop. Tue Jan 25 14:52:27 2000 Nicola Pero Contributed by Fred Kiefer: * Source/NSFontManager.m: Almost complete rewrite. * Source/NSFontPanel.m: Begun work of fixing, rewriting. * Headers/AppKit/NSFontManager.h: Corresponding rewrite. * Headers/AppKit/NSFontPanel.h: Idem. 2000-02-17 Adam Fedor * Version: 0.6.5 released. 2000-02-16 Adam Fedor * gnustep-gui.spec: Newfile 2000-02-15 Adam Fedor * configure.in: Fix test for rintf 2000-02-14 Adam Fedor * Version: Update version number * Documentation/announce.tmpl.texi: Update * Documentation/readme.tmpl.texi: Likewise. * Documentation/news.tmpl.texi: Likewise. * Documentation/todo.tmpl.texi: Likewise. * ANNOUNCE, BUGS, NEWS, README: Regenerate Mon Feb 14 13:23:00 2000 Richard Frith-Macdonald * Source/NSLayoutManager.m: Tidied and simplified by removing inefficient scanner class and using NSScanner instead. * Source/NSText.m: ditto. * Source/NSTextView.m: fix a couple of bugs that were causing crash in text network demo - lets the demo run a while longer before crashing. 2000-02-13 Adam Fedor * Source/NSAffineTransform (-transformBezierPath:): Implement. (from Enrico Sersale ). Mon Feb 14 00:59:33 2000 Nicola Pero * Source/NSApplication.m ([-orderFrontStandardAboutPanel:]): Fixed typo/bug. Reported by Fred Kiefer Sun Feb 13 22:24:54 2000 Nicola Pero This fixes a bug; the same bug that produced those little white vertical lines at the bottom of windows with editable textfields when windows were ordered out then in after editing. * Source/NSView.m ([-removeFromSuperviewWithoutNeedingDisplay]), ([-removeFromSuperview]): Ask the window to take first responder status in our place if we are. Important: this is done *before* any other action is undertaken, because changing first responder invokes -resignFirstResponder:, which should be allowed to assume that the view is normally placed in the view hierarchy. Sun Feb 13 19:20:00 2000 Enrico Sersale * Source/NSBezierPath.m: ([-copyWithZone:]) implemented. Sat Feb 12 21:16:00 2000 Nicola Pero * Source/NSBrowser.m ([-loadColumnZero]), ([-reloadColumn:]): Adjust frame of column after loading it. Sat Feb 12 20:27:00 2000 Richard Frith-Macdonald * Source/NSView.m: ([setNeedsDisplayInRect:]) change to ensure that superviews are always marked as needing display when we are. * Source/NSPopUpButton.m: ([-encodeWithCoder:]) ([-initWithCoder:]) implemented for Gorm. Sat Feb 12 19:47:14 2000 Nicola Pero * Source/NSPopUpButton.m ([-selectItem:]): Bug fix: Update menu knowledge of the selected item. ([-selectItemWithTitle:]), ([-selectItemAtIndex:]), ([-selectItem:]): Bug fix: Invoke synchronizeTitleAndSelectedItem to update what is displayed. Sat Feb 12 18:11:32 2000 Nicola Pero * Source/NSWindow.m ([-setContentView:]): When expanding the new content view to cover the whole window, do it using the nice way, resizeWithOldSuperviewSize:, which allows the view to reorganize its subviews for the new size. Sat Feb 12 17:53:00 2000 Richard Frith-Macdonald * Source/NSMenu.m: Replace non-working archiving code with drastically simplified code that does work in the normal case, but doesn't deal with non-standard menu representations. This lets Gorm work with menus. * Source/NSMenuItem.m: Don't archive parent menu. Fri Feb 11 20:18:10 2000 Enrico Sersale * Source/NSBezierPath.m: ([-transformUsingAffineTransform:]) implement. 2000-02-09 Adam Fedor * Documentation/announce.tmpl.texi: Update. * Documentation/news.tmpl.texi: Likewise. * Documentation/readme.tmpl.texi: Likewise. Thu Feb 10 00:56:08 2000 Nicola Pero * Source/NSText.m ([-keyDown:]): Implemented NSDeleteFunctionKey, which was unimplemented - problem reported by Jory van Zessen. Simple superficial improvements to make NSText just a little faster: * Source/NSText.m: Changed everywhere [self selectedRange] simply to selected_range. ([-moveCursorUp:]), ([-moveCursorLeft:]): Return at once if cursor is already at the beginning of text. ([-moveCursorDown:]), ([-moveCursorRight:]): Return at once if cursor is already at the end of text. Wed Feb 09 18:59:02 2000 Enrico Sersale * Source/NSBezierPath.m Headers/gnustep/gui/NSBezierPath.h : Rewritten conforming to MacOS-X implementation details. Tue Feb 8 17:22:05 2000 Nicola Pero * Model/GMAppKit.m ([NSMenuItem -initWithModelUnarchiver:]): Fix for having GNUstep load gmodels created from OPENSTEP NIBs. NSMenu internals are slightly different in GNUstep and OPENSTEP; OPENSTEP stores an item submenu as the item target, while GNUstep stores it in a special mi_submenu ivar. This patch, for GNUstep only, sets the submenu ivar from the target for items which have a submenu. 2000-02-07 Adam Fedor * configure.in: Add check for rintf. * Source/NSBrowser.m: Use rint i no rintf. * Source/NSApplication.m: Convert NSDebugLog to NSDebugLLog for various NSEvent debugs. * Source/NSMenuItemCell.m ([NSMenuItemCell -calcSize]): Make sure anImage exists before getting size (methods with nil receivers returning structs segfaults on Solaris). Mon Feb 7 18:55:29 2000 Nicola Pero * Source/NSMatrix.m ([-mouseDown:]): Pass mouse down to super if we have no cells. Mon Feb 7 03:06:36 2000 Nicola Pero This bug was crashing GNUstep while I was doing experiments with the Save Panel's code. It wasn't easy to find. * Source/NSMatrix.m ([-putCell:atRow:column:]): Fixed bug. If we are putting a new cell precisely in _selectedRow, _selectedColumn, we have to update _selectedCell, otherwise it remains pointing to the released cell! ([-insertRow:withCells:]): Update _selectedRow if needed. ([-insertColumn:withCells:]): Update _selectedColumn if needed. Sun Feb 6 8:52:00 2000 Richard Frith-Macdonald * Source/GSInfoPanel.m: Make newly created panel appear in center of screen. Sun Feb 6 05:50:20 2000 Nicola Pero * Documentation/gnustep-gui.tmpl.texi (Window Manager): Added a tiny section recommending to set "Click Window To Focus" in the window manager configuration. Also, improved the section on the Standard Info Panel. Sat Feb 5 03:02:04 2000 Nicola Pero * Source/NSWindow.m ([-orderWindow:relativeTo:]): Fixed a quite serious bug appearing twice, in two for loops. It was messing window ordering, causing the app to freeze under certain circumstances. Fri Feb 4 18:35:59 2000 Nicola Pero * Source/GSInfoPanel.m ([-initWithDictionary:]): Use Helvetica-Bold instead of Helvetica-BoldOblique [for now]. Thu Feb 3 17:24:00 2000 Richard Frith-Macdonald * Source/NSMenu.m: ([NSMenuWindowTitleView -mouseDown:]) fix memory allocation error when setting new menu location frame info. Thu Feb 3 02:56:10 2000 Enrico Sersale * Source/NSBezierPath.m Partially rewritten, fixed, added a concrete class ([-setCachesBezierPath:]): Implemented using NSImage. Thu Feb 3 03:45:08 2000 Nicola Pero * Source/NSButtonCell.m ([-drawInteriorWithFrame:inView:]): NSImageAbove, NSImageBelow: Rewritten. In these cases now we determine the space taken by the text; then all the remaining space is given to the image, which is centered in it. Thu Feb 3 02:20:29 2000 Nicola Pero * Source/NSButtonCell.m ([-cellSize]): Bug fix: typo would prevent button with both image and text, image above/below text, to size correctly. Wed Feb 2 06:56:33 2000 Nicola Pero With a hack the library is now able to pop up popupbuttons in the right position, correcting at run time bugs in the window frame code. This was hard. * Source/NSPopUpButtonCell.m (_convertBaseToScreen_with_fix): Added private function to do the conversion right, automatically fixing window frame origin bugs. * Source/NSPopUpButtonCell.m ([-attachPopUpWithFrame:inView:]): Use the above mentioned function to perform the coordinate conversion right. * Source/NSPopUpButton.m ([-mouseDown:]): Idem. Tue Feb 1 00:46:42 2000 Nicola Pero * Headers/AppKit/NSMenuItem.h: Removed unused ivar mi_hasSubmenu. * Source/NSMenuItem.m ([-init]): Removed reference to the unused ivar. Mon Jan 31 00:24:17 2000 Nicola Pero Rewritten, fixed, NSPopUpButton appearance. NB: When the button popups in the wrong position, that is a bug elsewhere. * Headers/AppKit/NSMenuItemCell.h: Added ivar _mcell_belongs_to_popupbutton. * Source/NSMenuItemCell.m ([-imageRectForBounds:]): In the special case _mcell_belongs_to_popupbutton == YES and there is an image, draw it at the extreme right. * Source/NSPopUpButtonCell.m: Added private method [NSMenuItemCell -setBelongsToPopUpButton:]. ([+initialize]): Added method. We are now caching the two standard images. ([-addItemWithTitle:]): Simplified. ([-insertItemWithTitle:atIndex:]): Set image position to right, and set cell to belong to popup button. ([-selectItem:]): Invoke setChangesState: NO and set proper image after setting state of any item. ([-selectItemAtIndex:]): Made code readable. ([-drawWithFrame:inView:]): Set background of image. * Source/NSMenuItemCell.m ([-calcSize]): Bug fix: don't move the image to the left if a valid image position has been already set. * Source/NSMenuView.m ([-setMenuItemCell:forItemAtIndex:]): Bug fix: Connect new cell to menuItem and menu so that it works. * Source/NSApplication.m ([-orderFrontStandardAboutPanelWithOptions:]): Display 'Info' in the title. 2000-01-28 Adam Fedor * Source/NSBrowser.m ([NSBrowser -_performLoadOfColumn:]): Don't release columns's columnMatrix, the column will do it. 2000-01-26 Adam Fedor * Source/NSGraphicsContext.m ([NSGraphicsContext +setCurrentContext:]): Retain (assign) the new context (fix suggested by Jonathan Gapen ) * gui/Model/GMAppkit.m ([NSMenuItem -encodeWithModelArchiver:]): Check to see if object responds to various selectors before invoking them. Wed Jan 26 06:50:14 2000 Nicola Pero Fixed mixed state stuff so that it is exactly as in macosx [untested]: * Headers/AppKit/NSCell.h: Turned _cell.state into a normal int; changed NSMixedState to -1. * Source/NSCell.m ([-setState:]): Rewritten, mixed state support. Wed Jan 26 02:03:25 2000 Nicola Pero * Documentation/gnustep-gui.tmpl.texi (Standard Info Panel): Added documentation for [NSApplication -orderFrontInfoPanel:] and [NSApplication -orderFrontInfoPanelWithOptions:]. Mon Jan 24 23:45:30 2000 Nicola Pero Implemented a standard Info Panel for GNUstep. To make everyone happy, both -orderFrontStandardAboutPanel: and -orderFrontStandardInfoPanel: are available; one displays 'About' in the title, and the other displays 'Info'; they are otherwise identical. GNUstep recommends using the 'Info' version. * Source/GNUmakefile (libgnustep-gui_OBJC_FILES): Added GSInfoPanel. (libgnustep-gui_HEADER_FILES): Idem. * Source/GSInfoPanel.m: New class. * Headers/AppKit/GSInfoPanel.h: New class. * Headers/AppKit/NSApplication.h: Added ivar _infoPanel, declaration of new methods. * Source/NSApplication.m ([-orderFrontStandardInfoPanelWithOptions:]): New method, implemented. ([-orderFrontStandardInfoPanel:]): Idem. ([-orderFrontStandardAboutPanel:]): Idem. ([-orderFrontStandardAboutPanelWithOptions:]): Idem. ([-dealloc]): Added release of _infoPanel. Mon Jan 24 04:01:55 2000 Nicola Pero * Source/NSApplication.m ([-orderFrontHelpPanel:]), ([-orderFrontColorPanel:]), ([-orderFrontDataLinkPanel:]), ([-runPageLayout:]): Display an alert panel informing that the corresponding panel has not been implemented yet. 2000-01-21 Adam Fedor * Headers/gnustep/gui/NSGraphicsContext.m: Change NSCompositeData... to NSCompositeDestination... Sat Jan 22 00:23:31 2000 Nicola Pero * Source/NSButtonCell.m ([-_init]): Updated for change in superclass' defaults: set text align to center. Sat Jan 22 00:05:08 2000 Nicola Pero Contributed by Fred Kiefer, with changings of mine: * Source/NSCell.m: Reordered methods. ([+defaultMenu]): New method, void implementation. ([-initTextCell:]): Set default text alignment to NSNaturalTextAlignment. ([-cellSize]): Fixed returned size when cell is of type NSImageCellType but no image set. ([-cellSizeForBounds:]): Semi-implemented. ([-titleRectForBounds:]): Implemented. ([-setType:]): Set standard font and title if of type text, and nil image if of type image [macosx]. ([-allowsMixedState]): New method, implemented. ([-setAllowsMixedState]): New method, implemented. ([-nextState]): New method, implemented. ([-setNextState]): New method, implemented. ([-image]): Return nil if cell is not of type image. ([-hasValidObjectValue]), ([-objectValue]), ([-setObjectValue:]): Added methods but real implementation still to do. ([-takeObjectValueFrom:]): Added method. ([-wraps]), ([-setWraps:]): Implemented [though wrapping is not implemented at all]. ([-setImportsGraphics:]), ([-importsGraphics]), ([-setAllowsEditingTextAttributes:]), ([-attributedStringValue]), ([-setAttributedStringValue:]): Added methods with void implementation. ([-editWithFrame:inView:editor:delegate:event:]): Use titleRectForBounds. ([-selectWithFrame:inView:editor:delegate:event:]): Use titleRectForBounds. ([-setEntryType:]): Set also cell to text type. ([-menu]), ([-menuForEvent:inRect:ofView:]), ([-setMenu:]), ([-setSendsActionOnEndEditing:]), ([-sendsActionOnEndEditing]): ([-formatter]), ([-setFormatter:]): Added method with void implementation. ([-acceptsFirstResponder]): Refined. ([-setMnemonicLocation:]), ([-mnemonic]), ([-mnemonicLocation]), ([-setTitleWithMnemonic:]), ([-showsFirstResponder]), ([-setShowsFirstResponder:]), ([-acceptsFirstResponder]), ([-refusesFirstResponder]), ([-setRefusesFirstResponder:]): Added methods with more or less trivial or void implementations. ([-initWithCoder:]), ([-encodeWithCoder:]): Updated for new bits _cell.allows_mixed_state and _cell.wraps. * Headers/gnustep/gui/NSCell.h: Added wraps and allows_mixed_state bits to the _cell struct. Fri Jan 21 01:22:08 2000 Nicola Pero Contributed by Fred Kiefer, with changings of my own: * Source/NSMatrix.m ([-deselectAllCells]): Bug fix: set _selectedCell to nil and _selectedRow and _selectedColumn to 0. ([-deselectSelectedCell]): Deselect all cells but without redrawing, as in macosx. ([-selectAll:]): Make the selected cell the last cell in the matrix, not the first. ([-selectCellAtRow:column:]): Deselect all cells and redisplay if argument row or column is -1; select text of selected cell if cell selectable. ([-sendDoubleAction]): If the selected cell is disabled, do nothing [macosx]. ([-setSelectionFrom:to:anchor:highlight:]): Moved three lines of code for cleaness; initialize some variables to zero to stop compiler complaints. ([-textDidBeginEditing:]): Pass all the notification user info when posting the new notification. ([-textDidEndEditing:]): Idem. ([-textDidChange:]): Idem, plus send textDidChange: to the selected cell too [macosx]. ([-mouseDown:]): Simplified sending of actions. Fri Jan 21 01:22:08 2000 Nicola Pero * Headers/AppKit/NSCell.h: Added comment to deprecate use of the macosx methods -acceptsFirstResponder, -refusesFirstResponder, -setRefusesFirstResponder:, and to warn about the fact that GNUstep does not have mnemonics in its interface. Fri Jan 21 00:44:37 2000 Nicola Pero Contributed by Fred Kiefer: * Headers/AppKit/NSCell.h: Added the NSCellAttribute NSCellAllowsMixedState as in macosx; added declarations of the macosx methods not in the OpenStep specifications. 2000-01-18 Adam Fedor * Source/NSCachedImageRep.m: Make "ImageCompositing" on by default. * Souce/NSImageRep.m: Likewise. Mon Jan 17 21:15:00 2000 Enrico Sersale * Source/NSBezierPath.m (-elementTypeAtIndex:associatedPoints:]): Changed to set the associatedPoints correctly. Mon Jan 17 6:32:00 1999 Richard Frith-Macdonald * Source/NSBundleAdditions.m: Catch exceptions when loading nib so we simply return YES or NO. Fix suggested by karl@nfox.com Sun Jan 16 8:57:00 1999 Richard Frith-Macdonald * Source/NSWindow.m: Don't log DnD stuff unless NSDragging logging is requested using '--GNU-Debug=NSDragging' Sat Jan 15 11:55:00 1999 Richard Frith-Macdonald * Source/NSBrowser.m: Don't permit scrolling by negative values. Sat Jan 15 07:29:37 2000 Nicola Pero * Source/NSSavePanel.m ([-_initWithoutGModel]): Tidyup for readability; use a NSButton for the application icon. Fri Jan 14 07:03:14 2000 Nicola Pero * Source/NSSliderCell.m ([-isFlipped]): Fixed typo, this method was called 'isFliped'. Fri Jan 14 04:33:21 2000 Nicola Pero Work to improve appearance. * Source/NSBox.m ([-sizeToFit]): More space around title. ([-calcSizesAllowingNegative:]): idem. * Source/NSBrowserCell.m ([-drawInteriorWithFrame:inView:]): Skip 2 points from left border before drawing text. * Source/NSButtonCell.m ([-cellSize]): Changed space between borders and contents if needed; fixed font height. ([-drawInteriorWithFrame:inView:]): When drawing both image and text, add space between image and border. * Source/NSCell.m ([-cellSize]): Fixed font height; removed additional height; added space between border and contents if needed. ([NSCell -editWithFrame:inView:editor:delegate:event:]): Added spacing between border and contents. ([-selectWithFrame:inView:editor:delegate:start:length:]): idem. ([-drawInteriorWithFrame:inView:]): Added spacing between border and contents. * Source/NSFormCell.m ([-cellSize]): Use super's cellSize. ([-cellSize]), ([-drawingRectForBounds:]), ([-drawWithFrame:inView:]): Changed spacing between title and editable field to 3. * Source/NSForm.m ([-initWithFrame:mode:cellClass:numberOfRows:numberOfColumns:]), ([-initWithFrame:mode:prototype:numberOfRows:numberOfColumns:]): Added methods to set the standard interline spacing to 4 during initialization. * Source/NSPanel.m (GSAlertPanel): Added ivar originalSize, updated encoding/decoding methods. ([GSAlertPanel -initWithContentRect:styleMask:backing:defer:screen:]): Fixed autoresizingMask and position of messageField, changed autoresizingMask of titleField to suit our needs. ([GSAlertPanel -setTitle:message:def:alt:other:]): Implemented advanced automatic resizing of buttons and of the panel. All buttons are made of a same size computed to be comfortable for all, and panel is resized whenever needed to display long messages or big buttons. * Source/NSPopUpButtonCell.m ([-drawWithFrame:inView:]): Skip 5 points from left side before drawing text. * Source/NSSavePanel.m ([-_initWithoutGModel]): Fixed heights of buttons and of the form; fixed position of title. Code to have NSForm's editable fields aligned in a row. This was tricky. * Headers/AppKit/NSForm.h: Added ivar _title_width_needs_update. * core/gui/Source/NSForm.m ([-insertEntry:atIndex:]): We observe each added cell for messages _NSFormCellDidChangeTitleWidth. ([-removeEntryAtIndex:]): Remove notification for removed cell. ([-dealloc]): Added method to remove self from notification center. ([-_setTitleWidthNeedsUpdate:]): Added private method invoke by the notification center. ([-drawRect:]): Added method; needs to invoke calcSize if needed before drawing. ([-setValidateSize:]): Added method. ([-calcSize]): Added method. * Headers/AppKit/NSFormCell.h: Changed ivar name; added declaration of notification _NSFormCellDidChangeTitleWidthNotification. * Source/NSFormCell.m ([-initTextCell:]): Minor optimizations. ([-setTitleWidth:]): Fixed bug. ([-calcDrawInfo:]): New method. ([-setTitle:]), ([-setTitleFont:]), ([-setTitleWidth:]): Post notification _NSFormCellDidChangeTitleWidthNotification. ([-initWithCoder:]), ([-encodeWithCoder:]): Implemented. * Source/externs.m: Added _NSFormCellDidChangeTitleWidthNotification. Thu Jan 13 20:37:00 1999 Richard Frith-Macdonald * Source/NSMenu.m: minor tidyups and fixes for Gorm * Source/NSMenuView.m: minor coding fixes * Source/NSBundleAdditions.m: support for setting main menu from nib. Mon Jan 10 00:32:44 2000 Nicola Pero * Headers/AppKit/NSView.h: Prefixed all ivars with underscores; removed old unused ivar. * Source/NSApplication.m: Updated for ivar name change. * Source/NSBox.m: idem. * Source/NSBrowser.m: idem. * Source/NSButton.m: idem. * Source/NSClipView.m: idem. * Source/NSColorWell.m: idem. * Source/NSControl.m: idem. * Source/NSMatrix.m: idem. * Source/NSMenu.m: idem. * Source/NSMenuView.m: idem. * Source/NSPopUpButton.m: idem. * Source/NSProgressIndicator.m: idem. * Source/NSScroller.m: idem. * Source/NSScrollView.m: idem. * Source/NSSlider.m: idem. * Source/NSSplitView.m: idem. * Source/NSTabView.m: idem. * Source/NSTableHeaderView.m: idem. * Source/NSTableView.m: idem. * Source/NSTextField.m: idem. * Source/NSTextView.m: idem. * Source/NSView.m: idem. * Source/NSWindow.m: idem. * Model/GMAppKit.m: idem. * Source/NSApplication.m ([NSAppIconView -drawRect:]): Fixed bug in app icon images drawing. * Source/NSBrowser.m ([-_performLoadOfColumn:]): Tiny tidy ups. * Source/NSColor.m ([+colorFromString:]): Fixed typo. * Source/NSScroller.m ([-drawRect:]): Fixed bug: should fill _bounds, not _frame. * Source/NSTableView.m: Some code added. * Source/NSText.m: Access ivars _frame, _bounds, _window directly. * Source/NSWindow.m ([-sendEvent:]), ([-setFrame:display:]), ([-orderWindow:relativeTo:]), ([-becomeKeyWindow]): Access ivar window_num. * Source/GSTable.m ([-resizeWithOldSuperviewSize:]): Don't access ivar _frame directly, so that the class can be easily ported to other OpenStep implementations. Sun Jan 9 15:20:00 1999 Richard Frith-Macdonald * Source/GSTextStorage.m: ([-attributesAtIndex:effectiveRange:]) fixed illegal parameter - reported by jagapen@whitewater.chem.wisc.edu Sat Jan 8 23:50:38 2000 Nicola Pero * Source/NSColorList.m: Implemented reading available color lists from disk. ([+_loadAvailableColorLists]): New private method to defer scanning of standard directories and loading available color lists till really needed. Related changings and fixes in the whole class. Sat Jan 8 02:40:12 2000 Nicola Pero * Headers/AppKit/NSColorList.h: Prefixed ivars with underscores, changed names. * Source/NSColorList.m: Class rewritten; untested. Fri Jan 7 20:30:00 2000 Richard Frith-Macdonald * Source/NSResponder.m: Changed _rightMouseDisplay to take the event as a parameter. * Source/NSMenu.m: Implemented ([-_rightMouseDisplay:]) with various minor supporting changes. * Source/NSMenuView.m: Lots of messing with mouse tracking in support of right-mouse menu popup and somewhat smoother operation. Fri Jan 7 18:09:15 2000 Nicola Pero * Headers/AppKit/NSBrowser.h: Fixed typo. * Headers/AppKit/NSText.h: Tiny check in enum. * Source/NSCell.m ([-initImageCell:]), ([-initTextCell:]): Minor optimization: do not initialize variables already initialized by allocation. * Headers/AppKit/NSCell.h: Changed _cell.is_enabled to _cell.is_disabled, so that it does not need initialization. * Source/NSActionCell.m ([-setEnabled:]): Updated for the changing. * Source/NSButtonCell.m ([-textColor]): idem. * Source/NSCell.m: idem. * Source/NSComboBoxCell.m ([-_didClick:]): idem. * Source/NSMenuItemCell.m ([-drawTitleWithFrame:inView:]): idem. * Source/NSBrowserCell.m ([-initTextCell:]), ([-initImageCell:]): Further optimization: initialize everything directly without invoking super's initialization; do not initialize variables already initialized by allocation. * Source/NSButtonCell.m ([-_init]): Tiny optm. * Headers/AppKit/NSControl.h: Added ivar _ignoresMultiClick. * Source/NSControl.m ([-setIgnoresMultiClick:]), ([-ignoresMultiClick]): Implemented. ([-mouseDown:]): Added ignoresMultiClick support. * Source/NSCell.m ([-trackMouse:inRect:ofView:untilMouseUp:]): Bug fix: honour the argument of untilMouseUp:. * Source/NSControl.m ([-mouseDown:]): Invoke the cell's +prefersTrackingUntilMouseUp to decide if it's the case to track mouse until up. * Source/NSMatrix.m ([-_mouseDownNonListMode:]), ([-mouseDown:]): Invoke cell mouse tracking with untilMouseUp: NO. * Source/NSMatrix.m ([-sendDoubleAction]): Fixed. ([-sendAction]): Fixed. ([-sendAction:to:]): Use _action, _target. ([-mouseDown:]): Rewritten double/multi-click support. Fri Jan 7 16:40:00 2000 Richard Frith-Macdonald * Source/NSWindow.m: Removed spurious code for setting menu window locations. * Source/NSMenu.m: Implemented 'correct' save/restore of menu locations conforming to MacOS-X implementation details. Fri Jan 7 10:32:00 2000 Richard Frith-Macdonald * Source/Functions.m: NSApplicationMain() added suggestions from karl@nfox.com to destroy application before exit and log if the info file contains an invalid class. Fri Jan 7 8:37:00 2000 Richard Frith-Macdonald * Source/NSApplication.m: ([-finishLoading]) add support for loading main nib. * Source/Functions.m: NSApplicationMain() trivial update to make use of NSPrincipalClass info. Wed Jan 5 20:04:00 2000 Richard Frith-Macdonald * Source/NSMenuView.m: Changes to mouse tracking loop to provide more sophisticated handling of opening/closing of submenus in an attempt to mimic the behavior of NeXTstep. Wed Jan 5 16:27:00 2000 Richard Frith-Macdonald * Source/NSMenuItem.m: minor fixes and tidying. * Source/NSMenuView.m: reverted to previous version - last change broke much more than it fixed. Also tidied coding style a bit and fixed a couple of encode/decode bugs. Mon Jan 3 18:35:00 2000 Richard Frith-Macdonald * Source/NSBundleAdditions.m: Added ([-awakeWithContext:]) method for nib containers to wake up a newly unarchived nib. 2000-01-03 Adam Fedor * Source/NSBitmapImageRep.m ([NSBitmapImageRep -draw]): Use size of image when passing rect to NSDrawBitmap. Sun Jan 2 20:20:00 2000 Richard Frith-Macdonald * Source/NSApplication.m: Fixes for focusm handling. * Source/NSWindow.m: ditto Fri Dec 31 17:28:00 1999 Richard Frith-Macdonald * Source/NSSlider.m: ([drawRect:]) minor drawing fix to ensure that the slider knob is drawn in the correct place. Fri Dec 31 10:49:00 1999 Richard Frith-Macdonald * Source/NSBundleAdditions.m: When decoding nib container, check for a 'NSVisible' array, and order the windows it contains to the front. Wed Dec 29 7:11:00 1999 Richard Frith-Macdonald * Source/NSSliderCell.m: Fix so that setting and taking values from the cell work properly - removed unused ivar. * Headers/AppKit/NSSliderCell.h: removed unused ivar. 1999-12-29 David Lazaro Changed name of function so GNUstep GUI library can be linked again. * Source/tiff.m (NSTiffWrite): Changed name of NSWriteTiff to NSTiffWrite. * Source/libgnustep-gui.def: Same change here. 1999-12-28 Adam Fedor * Source/NSBitmapImageRep.m ([NSBitmapImageRep -initWithBitmapDataPlanes:...]): Move check for opaqueness to here from backend. * Headers/gnustep/gui/DPSOperators.h: New operators colorimage and alphaimage. * Headers/gnustep/gui/NSGraphicsContext.h: Likewise. * Source/NSGraphicsContex.m: Add stubs. * Source/NSBitmapImageRep.m (-draw): Implement using NSDrawBitmap. * Source/NSCachedImageRep.m: Conditional use of PScomposite functions for drawing methods (set user default "ImageCompositing" to YES for this to work). Tue Dec 28 15:58:00 1999 Richard Frith-Macdonald Initial hack of support for encoding/decoding images - untested. * Source/NSBitmapImageRep.m: Code for writing tiffs etc. * Source/NSImage.m: Archiving support and tifying. * Source/NSImageRep.m: Archiving support and tifying. * Source/tiff.m: modifications for compression and for writing. * Headers/gnustep/gui/NSBitmapImageRep.h: tidy and support writing. * Headers/gnustep/gui/NSImage.h: ditto * Headers/gnustep/gui/NSImageRep.h: ditto * Headers/gnustep/gui/nsimage-tiff.h: ditto 1999-12-24 David Lazaro * Source/NSMenuView.m ([NSMenuView -trackWithEvent:]): Added hysteresis to the item selection code. Wed Dec 22 12:04:00 1999 Richard Frith-Macdonald * Source/NSImage.m: When creating an off-screen cache, fill with the background color (so having multiple caches for different backgrounds will work). Set 'NSImageDoesCaching' to 'YES' by default - we do image caching as standard now. Wed Dec 22 10:08:00 1999 Richard Frith-Macdonald * Source/NSWindow.m: ([-sendEvent:]) reset _lastDragView on exit from a view or on completion of dragging operation. This ensures that if you do two drags into the same view, the view gets two draggingEntered messages (one for each session). Wed Dec 22 5:24:00 1999 Richard Frith-Macdonald * Source/NSPanel.m: Fixed image display in alert panel. Tue Dec 21 01:25:00 1999 Enrico Sersale * Added Source/NSBezierPath.m and Headers/AppKit/NSBezierPath.h Mon Dec 20 16:45:00 1999 Richard Frith-Macdonald * Source/NSView.m: Fix removal of view from window such that we reset the windows first responder if any of the removed views in first responder (avoid crash iv views subsequently deallocated). * Source/NSBundleAdditions.m: Removed excess release of bundle data. * Source/NSPanel.m: Call ([-sizeToFit]) for fields in alert panels so they are big enough for their contents. Mon Dec 20 11:00:00 1999 Richard Frith-Macdonald * Source/NSSavePanel.m: Use symbolic constants for resize mask. * Source/NSBrowser.m: size the matrix to fit when it is created. Sat Dec 18 16:05:46 1999 Nicola Pero * Headers/AppKit/NSSplitView.h: Prefixed ivars with underscores; changed widths' type from int to float; removed method -setDividerThickNess:. * Source/NSSplitView.m: Updated for ivar name change; access ivars directly. ([-dividerThickness]): Return 6, our default dividerThickness. ([-setDividerThickness:]): Removed method. Subclasses need to ovverride -dividerThickness to do this (or else use the GNUstep extension -setDimpleImage:resetDividerThickness:). ([-initWithFrame:]): invoke dividerThickness to set the ivar _dividerWidth, used everywhere else when needed. Changed things so that overriding dividerThickness should actually work; untested. ([-initWithCoder:]), ([-encodeWithCoder:]): Fixed. Tempor. commented out lines about encoding/decoding of dimple image (which is anyway a GNUstep extension) till encoding/decoding of images is implemented. Sat Dec 18 5:38:00 1999 Richard Frith-Macdonald * Source/NSView.m: ([-initWithCoder:]) small optimisation and consistency check when decoding and adding subviews. Fri Dec 17 23:44:53 1999 Nicola Pero * Headers/AppKit/NSBox.h: Prefixed ivars with underscores. * Source/NSBox.m: Updated for ivar name change. * Source/NSBox.m ([-initWithCoder:]): Set the first subview as the content view; make sure that _title_rect and _border_rect are automatically computed on decoding. ([-encodeWithCoder:]): Do not encode the content view, which is already encoded by NSView; do not encode title_rect and border_rect. ([-drawRect:]): Tiny semplification. ([-sizeToFit]): Access directly super_view ivar. ([-setFrameFromContentFrame:]): idem. * Source/NSMatrix.m ([-getRow:column:forPoint:]): Bug fix: manage the case of no rows, no columns. * Source/NSSavePanel.m ([-browser:selectCellWithString:inColumn:]): Now that setNeedsDisplay: works, use it instead of display. * Source/NSTextField.m ([-initWithCoder:]): Added setting of delegate. * Source/NSView.m ([-initWithCoder:]): Don't invoke self's -addSubview: to set the subviews, because NSBox overrides that method to do another job. Interesting bit to reflect upon btw. Fri Dec 17 12:03:00 1999 Richard Frith-Macdonald * Source/NSWindow.m: Remove some inefficient code that was calling ([content_view superview]) when we now have the _wv ivar. * Source/NSView.m: Fix another autodisplay problem - when an opaque subview was being set as needing display AND another non-overlapping subview was set for display, the opaque subview didn't get redrawn. * Source/NSPopUpButton.m: removed an NSLog 1999-12-16 Adam Fedor * New RTF parser from Stefan Bðhringer . May not work because of incomplete implementation of NSFontManager and others. * Source/Parsers/attributedStringConsumer.m New file. * Source/Parsers/rtfScanner.c: Likewise. * Source/Parsers/rtfGrammer.y: Likewise. * Source/NSFontManager.m: Stubs for some unimplemented functions. Thu Dec 16 04:09:20 1999 Nicola Pero * Headers/AppKit/NSControl.h: Prefixed ivars with underscore; added declaration of copyWithZone:. * Source/NSControl.m: Updated for change in ivar names; ([-drawCellInside:]): Fixed bug. * Source/NSButton.m: Updated for change in control ivar names. * Source/NSPopUpButton.m: idem. * Source/NSSecureTextField.m: idem. * Source/NSSlider.m: idem. * Source/NSTextField.m: idem. * Source/NSScroller.m ([-drawRect:]): Fill also the space between the knobslot and the frame. * Source/NSScrollView.m: Access ivars bounds, borderType directly. * Source/NSView.m ([-removeFromSuperview]): Access ivar frame directly. Wed Dec 15 17:15:00 1999 Richard Frith-Macdonald * Source/NSCell.m: encode/decode some missing ivars. * Source/NSButtonCell.m: encode/decode some missing ivars. Wed Dec 15 15:25:00 1999 Richard Frith-Macdonald * Source/NSWindow.m: ([-setFrameAutosaveName:]) bugfix for setting a nil name (and removing the old name). * Source/NSMenu.m: ([-close]) close attached menus too. ([-display]) display attached menus too. Wed Dec 15 11:13:00 1999 Richard Frith-Macdonald * Source/NSResponder.m: Don't try to encode/decode next responder - this info should be reconstructed by subclasses. * Source/NSWindow.m: Remove code to save/restore next responder in order to defeat NSResponder archiving. * Source/NSView.m: Rewrite encoding/decoding. Tue Dec 14 19:40:12 1999 Nicola Pero * Source/NSBrowserCell.m: Tiny tidings in initialization; ([-drawInteriorWithFrame:inView:]): Rewritten so that alternateImage is correctly supported. If the cell is of type NSImageCellType, and alternate image is set, it is drawn instead of the standard image when the cell is highlighted. Untested. * Source/NSCell.m ([-_init]): Removed method; code moved to ([-initTextCell:]),([-initImageCell:]); redundancies removed. Tue Dec 14 19:07:00 1999 Richard Frith-Macdonald * Source/NSApplication.m: modal session fixes (and tidying) suggested by georg@mondoshawan.unix.cslab.tuwien.ac.at Tue Dec 14 16:51:00 1999 Richard Frith-Macdonald * Source/NSWindow.m: ([-becomeKeyWindow]) Don't ask the backend to make us key unless we are visible. ([-orderWindow:relativeTo:]) ask backned to make us key when we order in (if we should be key that is). Tue Dec 14 11:15:00 1999 Richard Frith-Macdonald * Headers/AppKit/NSMenuitemCell.h: Removed implementation cache ivars and added an ivar for temporary storage of background color. * Source/NSMenuItemCell.m: Removed draw implementation caching to decrease memory footprint, but added color and image class caching which will more than compensate in performance. Also added use of highlight version of menu arrow. * Source/NSImage.m: minor image caching fixes and more debug statements. 1999-12-13 * Source/NSWindow.m (-_processResizeEvent): Add DPScurrentgstate so DPS server knows we updated the backing buffer. Mon Dec 13 20:00:29 1999 Nicola Pero * Headers/AppKit/NSBrowserCell.h: Removed two ivars. * Source/NSBrowserCell.m: Made allocation/deallocation faster; added untested alternateImage support. Mon Dec 13 16:06:36 1999 Nicola Pero * Headers/AppKit/NSActionCell.h: Added ivar _control_view. * Headers/AppKit/NSBrowserCell.h: Use two bits to store two BOOL. * Headers/AppKit/NSButtonCell.h: Use a bit to store a BOOL. * Headers/AppKit/NSCell.h: Moved ivar _control_view to NSActionCell. Packed more ivars into the bitfield. Added two bits in the bitfield for subclass use. Removed unused ivar _cell_size. * Headers/AppKit/NSFormCell.h: Use a bit to store a BOOL. * Headers/AppKit/NSTextFieldCell.h: Use two bits for two BOOL. * Source/NSActionCell.m ([-drawWithFrame:inView:]): Added method, per spec. * core/gui/Source/NSButtonCell.m: Updated. * Source/NSBrowser.m: Tiny optms in GSBrowserTitleCell. * Source/NSBrowserCell.m: Updated. * Source/NSButtonCell.m: Updated. * Source/NSCell.m ([NSCell -setControlView:]): Removed, this method should not exist. Moved actual implementation of ([-controlView]) to NSActionCell, as per spec. Moved any reference to _control_view to NSActionCell; in ([-performClick:]), invoke [self controlView]. * Source/NSControl.m ([-setCell:]): Updated. * Source/NSFormCell.m: Updated. * Source/NSImageCell.m: idem. * Source/NSMenuItemCell.m: idem. * Source/NSPopUpButtonCell.m: idem. * Source/NSTableHeaderCell.m: idem. * Source/NSTextFieldCell.m: idem. * Headers/AppKit/NSColorWell.h: Removed unused ivar. * Headers/AppKit/NSScroller.h: Removed unused ivar. * Headers/AppKit/NSView.h: Removed unused ivar needs_display. Mon Dec 13 03:51:30 1999 Nicola Pero Cell optimizations: use a bitfield in NSCell to reduce memory consumption; access cell ivars directly while drawing; minor speed tricks here and there for cells; browser cells do not create any longer an auxiliary cell each, thus hugely reducing time and memory required to create browser cells. To my great delight some things are much faster now. * Headers/AppKit/NSActionCell.h: Prefixed all ivars with underscores. * Headers/AppKit/NSBrowserCell.h: Removed unused ivar. * Headers/AppKit/NSButtonCell.h: Prefixed all ivars with underscores; removed unused ivar. * Headers/AppKit/NSCell.h: Introduced a bitfield; prefixed all ivars with underscores. * Headers/AppKit/NSSliderCell.h: Removed unused ivar. * Source/NSActionCell.m: Optimizations. * NSBrowserCell.m: Important optimizations, rewritten. ([-setTextFieldCell:]), ([-setBranchImageCell:]), ([-setHighlightBranchImageCell:]): Removed unused private methods. * Source/NSButtonCell.m: Updated. * Source/NSCell.m: Important optimizations. * Source/NSComboBoxCell.m: Updated. * Source/NSFormCell.m: Optimizations. * Source/NSImageCell.m: Optimizations. * Source/NSMenuItemCell.m: Updated. * Source/NSPopUpButtonCell.m: Updated; ([-dismissPopUp]): Use GNUstep close menu method. * Source/NSSliderCell.m: Tiny optimization. * Source/NSTableHeaderCell.m: Updated. * Source/NSTextFieldCell.m: Updated. * Source/NSBox.m: Updated for new way of getting border sizes. * Source/NSBrowser.m: idem. * Source/NSSlider.m: Minor optimization.