2003-03-03 14:52 Alexander Malmberg * Headers/gnustep/gui/GSTypesetter.h, Source/GSTypesetter.m: Removed -relayoutGlyphsInLayoutManager:glyphRange:lineFragmentRect: textContainer:previousLineFragmentRect:. It was broken by design, and a working soft invalidation system is now in place. * Headers/gnustep/gui/GSLayoutManager.h, Source/GSLayoutManager.m: Add and implement -typesetter and -setTypesetter:. * Source/GSTextStorage.m (-setAttributes:range:): Handle zero-length attribute changes correctly. 2003-03-02 Ludovic Marcotte * Source/NSComboBoxCell.m: Modified so that we no longer retain the dataSource. This would create a retain loop and prevent anything using it to be released properly. 2003-03-01 Fred Kiefer * Source/NSTextView_actions.m Use method calls instead of some of the direct references to NSLayoutManager ivar. General clean up. * Source/NSApplication.m Added support to print a file in [finishLaunching]. Use safer way to call selector in [beginSheet:...contextInfo:]. * Source/GSSlideView.m In [drawRect:]use the frame of the view, not the given rect. 2003-02-26 17:09 Alexander Malmberg * Source/NSLayoutManager.m (-glyphRangeForBoundingRect:inTextContainer:): Fix the horizontal intersection checks. 2003-02-26 00:47 Alexander Malmberg * Source/GSLayoutManager.m (-_generateRunsToCharacter:): Optimize the run structure by merging with an existing run instead of creating a new run under some circumstances. 2003-02-25 17:38 Alexander Malmberg * Source/NSLayoutManager.m (-textStorage:edited:range:changeInLength:invalidatedRange:): Fix handling of trailing text containers when soft-invalidating. 2003-02-24 Adam Fedor * Version: 0.8.4 2003-02-24 15:24 Alexander Malmberg * Source/GSLayoutManager.m (-invalidateGlyphsForCharacterRange: changeInLength:actualCharacterRange:): Set the next character index correctly after the run-merge optimization. 2003-02-24 03:49 Alexander Malmberg * Source/GSLayoutManager.m (-_glyphForCharacter:index:positions::): Fix handling of the case where the exact glyph is found during the binary search. * Source/NSLayoutManager.m (-drawBackgroundForGlyphRange:atPoint:): Check that a range has a background color before checking that there are rectangles for it (since ranges practically always have rectangles, and very rarely a background color). 2003-02-24 00:02 Alexander Malmberg * Source/NSParagraphStyle.m: Implement -isEqual: and -hash. 2003-02-23 13:30 Alexander Malmberg * Source/NSWindow (-update): Don't redisplay the window. 2003-02-22 Benhur Stein * Source/NSView.m (-displayIfNeededInRectIgnoringOpacity:): Disable and re-enable flushing here. (-displayRectIgnoringOpacity:): And here. * Source/NSWindow.m ([NSWindow -display]): Instead of here. ([NSWindow -update]): And here. 2003-02-23 01:59 Alexander Malmberg * Headers/gnustep/gui/GSLayoutManager_internal.h, Source/GSLayoutManager.m, Source/NSLayoutManager.m: Use num_linefrags to tell whether layout has started for a text container or not, instead of tracking the status separately. 2003-02-22 12:29 Alexander Malmberg * Source/NSApplication.m (-sendEvent:): Only bring up the main menu if the there is no window for the event. * Source/NSPopUpButton.m: Implement -menuForEvent: to always return nil to indicate that we don't have a context menu. 2003-02-22 02:34 Alexander Malmberg * Headers/gnustep/gui/GSLayoutManager.h: Declare -layoutManager:didCompleteLayoutForTextContainer:atEnd: so it's visible (to gcc and to delegate implementers). * Source/GSHorizontalTypesetter.m, Source/NSLayoutManager.m: Make sure the extra line frag is always set when we reach the end (ie. even after soft-invalidated layout information has been used up to the end). 2003-02-21 Serg Stoyan * Source/NSApplication.m (-activateIgnoringOtherApps:): Remove main menu display. (-sendEvent:): Check first if right button down. (-setMainMenu:): Don't set menu title. Remove menu display. * Source/NSMenu.m (-init): Default title is process name. (-initWithTitle:): Observe NSApplicationWillBecomeActiveNotification. (_showOnActivateApp:): New. (-display): Set geometry only if not set. (-setGeometry): New. * Source/NSPopUpButton.m (-mouseDown:): Send event to NSApp. 2003-02-19 Adam Fedor * Source/NSPrintOperation.m (-_print): Remove locale change (now handled correctly in backend stream context. * Source/NSScrollView.m (-initWithFrame:): Change default border to none. 2003-02-19 15:06 Alexander Malmberg * Headers/gnustep/gui/GSLayoutManager_internal.h, Source/GSLayoutManager.m: Optimize run_for_glyph_index() by caching the last run. Optimize allocation of line frags. * Source/NSLayoutManager.m (-textStorage:edited:range:changeInLength:invalidatedRange:): Fix clearing of soft-invalidated information if there's an invalidation and we don't have layout past the invalidated range. 2003-02-19 03:09 Alexander Malmberg * Source/GSLayoutManager.m (-_glyphForCharacter:index:positions::): Use binary search to find the index of the character in the run. (-setLocation:forStartOfGlyphRange:): Start the search for the line frag from the back, as the line frag we're searching will often be the last one (always with GSHorizontalTypesetter). 2003-02-19 00:31 Alexander Malmberg * Headers/gnustep/gui/GSLayoutManager.h, Source/GSHorizontalTypesetter.m, Source/GSLayoutManager.m: Optimize reuse of soft-invalidated layout a bit in a common case. 2003-02-19 00:10 Alexander Malmberg * Source/GSLayoutManager.m (-invalidateGlyphsForCharacterRange: changeInLength:actualCharacterRange:): Correct the condition for splitting the initial run. 2003-02-18 21:24 Alexander Malmberg * Headers/gnustep/gui/GSLayoutManager.h, Source/GSLayoutManager.m: Add basic interface that lets the typesetter access soft-invalidated layout information. * Source/GSHorizontalTypesetter.m (-layoutLineNewParagraph:): Use the soft-invalidated information to avoid rebuilding the layout (when possible). * Source/NSLayoutManager.m: Fix edge case in soft invalidation. 2003-02-18 Fred Kiefer * TextConverters/RTF/RTFProducer.m [colorTable] corrected the output of the colour table, by using a C array instead of an NSMutableArray. * TextConverters/RTF/RTFConsumer.m GSRTFcolorfg(), GSRTFcolorbg(), GSRTFlineSpace(), GSRTFspaceAbove() set the state of the context to changed, so that new attributes get used. 2003-02-18 18:03 Alexander Malmberg * Headers/gnustep/gui/GSLayoutManager_internal.h, Source/GSLayoutManager.m, Source/NSLayoutManager.m: Implement handling of soft-invalidated line frags. Soft-invalidate layout information for glyphs after an edited range in NSLayoutManager. 2003-02-18 01:23 Alexander Malmberg * Headers/gnustep/gui/GSLayoutManager_internal.h, Source/GSLayoutManager.m: Many minor cleanups and optimizations. Much commenting. * Source/GSHorizontalTypesetter.m (-layoutGlyphsInLayoutManager: inTextContainer:startingAtGlyphIndex:previousLineFragmentRect: nextGlyphIndex:numberOfLineFragments:): Determine the initial value for newParagraph correctly. * Source/NSLayoutManager.m (-textStorage:edited:range:changeInLength:invalidatedRange:): Don't invalidate all layout on each change. Now, all layout information for glyphs before the change will be reused. (Layout for glyphs after the change is still invalidated, until I finish the soft invalidation.) * Source/GSTextStorage.m (-setAttributes:range:): Call -edited:range:changeInLength: with the range that was changed (and not the range attributes could be merged for). 2003-02-17 21:25 Alexander Malmberg * Headers/gnustep/gui/GSLayoutManager.h, Headers/gnustep/gui/GSLayoutManager_internal.h, Source/GSLayoutManager.m (-invalidateGlyphsForCharacterRange: changeInLength:actualCharacterRange:): Set the prev pointer correctly when splitting a run. Add sanity checks to catch try to catch glyph structure corruption early. (-textStorage:edited:range:changeInLength:invalidatedRange:): Clean up layout invalidation. 2003-02-17 02:16 Alexander Malmberg * Headers/gnustep/gui/GSLayoutManager.h, Source/GSLayoutManager.m: Add some framework support for caching the last accessed run. 2003-02-17 02:08 Alexander Malmberg * Source/NSLayoutManager.m (-rectArrayForGlyphRange: withinSelectedGlyphRange:inTextContainer:rectCount:, -_insertionPointRectForCharacterIndex:textContainer:, -drawGlyphsForGlyphRange:atPoint:): Optimize by using a binary instead of linear search for the line frag. More cleanups and comments. 2003-02-16 22:37 Alexander Malmberg * Source/NSLayoutManager.m: Commenting and cleanups. (-glyphIndexForPoint:inTextContainer:fractionOfDistanceThroughGlyph:): Handle the case where the point is on a line, but not inside a line frag rect, better. 2003-02-16 17:48 Alexander Malmberg * Headers/gnustep/gui/GSHorizontalTypesetter.h, Source/GSHorizontalTypesetter.m: Store the line frags array as an ivar instead of allocating and freeing it everytime -layoutLineNewParagraph: is called. 2003-02-16 15:51 Alexander Malmberg * Source/NSLayoutManager.m: Bring back the old implementation of -rulerMarkersForTextView:paragraphStyle:ruler:. Sun Feb 16 14:54:50 2003 Nicola Pero * Source/NSSplitView.m ([-mouseDown:]): Corrected offset used in delegate calls. For example, in a splitview with a single divider, the offset used was 1, while it should be 0. 2003-02-16 Richard Frith-Macdonald * Source/NSMenu.m: Upon creation of bWindow, set its level to pop up window level, so right click brings up the menu above panels etc. Sun Feb 16 04:13:46 2003 Nicola Pero * Source/NSSplitView.m ([-mouseDown:]): Fixed calling delegate method to constrain split position. Patch By Enrico Sersale, with changes. 2003-02-16 04:14 Alexander Malmberg * Headers/gnustep/gui/GSLayoutManager.h, Source/GSLayoutManager.m: Add methods for setting and getting the extra line fragment information. * Source/GSHorizontalTypesetter.m (-layoutLineNewParagraph:): Set the extra line fragment information as required. * Source/NSLayoutManager.m: Use the extra line fragment information to position the insertion point properly when it's placed after the last character in the text. 2003-02-15 18:22 Alexander Malmberg * Headers/gnustep/gui/NSTextView.h, Source/NSLayoutManager.m, Source/NSTextView.m: Change the way the text view is told about layout invalidation. Change NSTextView to update its state as late as possible before displaying, and make sure it's updated when it's resized. 2003-02-15 18:11 Alexander Malmberg * Source/NSParagraphStyle.m ([NSMutableParagraphStyle -copyWithZone:]): Add calls to GSDebugAllocationAdd/ GSDebugAllocationRemove when swizzling the class to keep the allocation counts valid. 2003-02-15 18:04 Alexander Malmberg * Source/NSSpellChecker.m (-_launchSpellCheckerForLanguage:): Don't printf-expand the error message twice (might cause a crash if 'language' contains a "%"). Sat Feb 15 13:26:03 2003 Nicola Pero * Headers/gnustep/gui/AppKit.h: Include NSRulerView.h and NSRulerMarker.h, reported missing by Benhur Stein. 2003-02-14 17:47 Alexander Malmberg * Headers/gnustep/gui/NSTextView.h, Source/NSTextView.m, Source/NSTextView_actions.m: Keep track of the original index of a sequence of moves in one dimension. Pass it to the layout manager when moving the insertion point to prevent drifting. * Source/GSHorizontalTypesetter.m (-layoutLineNewParagraph:): Fix an edge case in tab handling. Also, if tabs occur and the paragraph style has no more tab stops, act as if there were tabs every 100 points. * Source/NSLayoutManager.m (-characterIndexMoving:fromCharacterIndex: originalCharacterIndex:distance:): When moving vertically, return the index of the character nearest the target horizontally. 2003-02-13 01:01 Alexander Malmberg * TextConverters/RTF/rtfGrammer.y (rtfCharset): Treat unknown character sets as ANSI. TextConverters/RTF/rtfGrammer.tab.c, TextConverters/RTF/rtfGrammer.tab.h: Regenerate. * TextConverters/RTF/RTFConsumer.m: Fix handling of the indentation control words: \fi, \li, and \ri. (GSRTFmangleText): Set the paragraph style attribute to a copy of the working NSMutableParagraphStyle so later changes won't affect the attributes of this text. 2003-02-13 00:52 Alexander Malmberg * Source/GSHorizontalTypesetter.m (-layoutLineNewParagraph:): Implement basic handling of tabs. 2003-02-12 Fred Kiefer * Source/GSSlideView.h * Source/GSSlideView.m Moved over from X11 backend. * Source/GNUmakefile Added new file GSSlideView.m. * Source/GSDisplayServer.m Use GSSlideView to implement image sliding. 2003-02-11 17:53 Alexander Malmberg * Source/NSScrollView.m (-setBorderType:): Call -tile to make the change visible. * Source/NSBrowser.m (-_createColumn): Set the border of the created scroll view explicitly. 2003-02-11 16:33 Alexander Malmberg * Source/NSAttributedString.m (-fixAttachmentAttributeInRange:): Update end index when a character is deleted. * Source/NSTextStorage.m (-processEditing): Make sure we always give a valid range and delta to the layout managers. * Source/NSTextView.m (-setSelectedRange:affinity:stillSelecting:): Clamp the selected range to the text storage's length. 2003-02-10 Richard Frith-Macdonald * Source/NSBrowser.m: Rewrote and documented the ([-setPath:]) method to fix the distinction between absolute and relative paths and to improve performance somewhat. 2003-02-10 15:14 Alexander Malmberg Based on patches from Jeff Teunissen: * Source/NSWindow.m (GSAllWindows): Check that windowmaps isn't NULL before calling NSAllMapTableValues. * Source/NSScroller.m: Change size check so the knob and arrows are visible until there's absolutely no space left for them. Draw the knob slot with the window's background color when the knob isn't visible for consistency with OPENSTEP. * Source/NSApplication.m (-setApplicationIconImage:): Update all windows that have the old app icon as their mini window image so they use the new app icon. 2003-02-10 15:09 Alexander Malmberg * Source/GSLayoutManager.m, Source/NSLayoutManager.m, Source/NSTextView.m: Many minor bug and behavior fixes to get the text system to work with several text containers attached to one layout manager. 2003-02-09 21:08 Alexander Malmberg * Source/GSLayoutManager.m: Clean up old debugging code, whitespace, and error handling. (-_doLayout): Track next glyph index correctly if we have multiple text containers. * Source/NSLayoutManager.m (-rectArrayForGlyphRange: withinSelectedGlyphRange:inTextContainer:rectCount:, -_insertionPointRectForCharacterIndex:textContainer:): Fix handling of glyphs that aren't nominally spaced. 2003-02-09 18:34 Alexander Malmberg * Source/GSHorizontalTypesetter.m (-breakLineByWordWrappingBefore:): Return correct index when breaking at a control glyph. 2003-02-09 18:02 Alexander Malmberg * Headers/gnustep/gui/GSLayoutManager_internal.h, Source/GSLayoutManager.m, Source/NSLayoutManager.m: Add -_didInvalidateLayout method that is called whenever any layout information has been invalidated. Use it in NSLayoutManager to resize text views. 2003-02-09 15:23 Alexander Malmberg * Source/NSTextView_actions.m: Fix several movement actions (used to move from the wrong end of the selected range, or mixed glyphs and characters). 2003-02-09 14:48 Alexander Malmberg * Source/GSHorizontalTypesetter.m: Make the main method reentrant by having it allocate a temporary instance to handle calls when it is already in use. 2003-02-09 Fred Kiefer * Source/NSColorList.m [_loadAvailableColorLists] check if a directory exists before looking for a colour list in it. 2003-02-08 22:56 Alexander Malmberg * Source/NSTextView_actions.m (-lowerBaseline:): Change the correct attribute. (-turnOffLigatures:, -useStandardLigatures:): Correct the attribute changes. 2003-02-08 22:53 Alexander Malmberg * Source/GSFontInfo.m (-defaultLineHeightForFont), Source/GSHorizontalTypesetter.m (-layoutLineNewParagraph:): Improve calculation of line height and make it match the baseline calculation when typesetting. 2003-02-08 22:29 Alexander Malmberg * Source/NSWindow.m (-sendEvent:): On right mouse down, check if the view that is hit has a pop-up menu, and if so, display it instead of sending the event to the view. Based on patch from Matt Rice. 2003-02-08 17:51 Alexander Malmberg * Headers/gnustep/gui/NSLayoutManager.h, Source/NSLayoutManager.m: Add -characterIndexMoving:fromCharacterIndex:originalCharacterIndex: distance: method. * Source/NSTextView.m: Keep track of the selection affinity. * Source/NSTextView_actions.m: Use the new method and affinity handling to reimplement the insertion point movement actions. 2003-02-07 17:47 Alexander Malmberg * Source/GSTextStorage.m (-setAttributes:range:): Fix memory leak. 2003-02-05 Richard Frith-Macdonald * Source/libgnustep-gui.def: Regenerated * ColorPickers/GNUmakefile: add local library paths * Source/GSLayoutManager.m: Use rand() rather than random() as it is portable to mingw32. Wed Feb 5 04:56:45 2003 Serg Stoyan * Source/NSMenuItemCell.m ([-drawKeyEquivalentWithFrame:inView:]): Do not draw the key equivalent if we are owned by a popup, and are drawing the small popup image. Wed Feb 5 04:42:16 2003 Serg Stoyan * Source/NSPrintOperation.m ([-_printOperationDidRun:success: contextInfo:]): Fixed calling the delegate method. 2003-02-03 02:49 Alexander Malmberg * Headers/gnustep/gui/NSLayoutManager.h, Source/NSLayoutManager.m: Add -insertionPointRectForCharacterIndex:inTextContainer: method. * Source/NSTextView.m (-updateInsertionPointStateAndRestartTimer:): Use it. 2003-02-02 Fred Kiefer * Source/NSTextField.m Only accept first mouse when editable. 2003-02-02 02:31 Alexander Malmberg * Source/NSTextView.m, Source/NSTextView_actions.m: Clarify comments about user attribute changing now that I've figured out a way for it to work. Rewrite the actions to match. 2003-02-02 Fred Kiefer * Source/NSWindow.m Rewrote all the toolbar methods. Implemented [zoom:]. Extracted new method [_terminateBackendWindow] from [dealloc] and use it to implement one shot windows in the orderOut case of [orderWindow:relativeTo:]. Removed frame restriction from [setFrameFromString:] as this gets done in [setFrame:display:]. Use [NSScreen visibleFrame] here and in [stringWithSavedFrame]. Implemented [cascadeTopLeftFromPoint:]. Removed unused and empty methods [performHide:] and [performUnhide:]. 2003-02-01 15:09 Alexander Malmberg * Source/NSTextView.m (-shouldChangeTextInRange:replacementString:): Allow changes even if we're not the first responder. (-didChangeText): If we're not the first responder, end the editing session. 2003-02-01 13:52 Alexander Malmberg * Source/GSHorizontalTypesetter.m (-layoutLineNewParagraph:): Fix sign problem with descender. Sat Feb 1 05:34:09 2003 Benhur Stein , Nicola Pero The focus is now expected to have been locked on the control view before cell's drawXXXWithFrame:inView: and similar methods are called. This makes drawing much more efficient. * Source/NSApplication.m ([NSAppIconView -setImage:]): Lock/unlock focus if it can draw. * Source/NSBrowser.m ([GSBrowserTitleCell -drawWithFrame:inView:]): Do not lock/unlock focus. ([-displayColumn:]): Lock/unlock focus before drawing. ([-doClick:]): Lock/unlock focus. * Source/NSBrowserCell.m ([-drawInteriorWithFrame:inView:]): Do not lock/unlock focus. * Source/NSButtonCell.m ([-drawWithFrame:inView:]): Do not lock/unlock focus. ([-drawInteriorWithFrame:inView:]): Do not lock unlock focus. * Source/NSCell.m ([-drawInteriorWithFrame:inView:]): Do not lock/unlock focus. ([-drawWithFrame:inView:]): Do not lock/unlock focus. ([-performClick:]): Lock/unlock focus. * Source/NSComboBoxCell.m ([-_didClickInRect:ofView:]): Lock/unlock focus. * Source/NSControl.m ([-mouseDown:]): Lock/unlock focus. * Source/NSFormCell.m ([-drawWithFrame:inView:]): Do not lock/unlock focus. * Source/NSImageCell.m ([-drawInteriorWithFrame:inView:]): Do not lock/unlock focus. ([-drawWithFrame:inView:]): Do not lock/unlock focus. * Source/NSMatrix.m ([-deselectAllCells]): Mark the cell as needing redisplay, but do not redraw immediately. ([-_selectCell:atRow:column:]): Same change. ([-setSelectionFrom:to:anchor:highlight:]): Same change. ([-highlightCell:atRow:column:]): Lock/unlock focus. ([-_mouseDownNonListMode:]): Lock/unlock focus, flush window, select cell better. ([-mouseDown:]): Lock/unlock focus; removed 2 flush windows. ([-performKeyEquivalent:]): Lock/unlock focus; flush window. ([-_altModifier:]): Added a displayIfNeeded call. ([-keyDown:]): Same change. ([-_move:]): Always deselect all cells in before selecting new ones. Do not display cell immediately, but mark it for redisplay. Removed a few flush windows. Commented out unclear code. ([-_shiftModifier:]): Lock/unlock focus. ([-_setState:highlight:startIndex:endIndex:]): Do not flush the window. ([_setState:highlight:startIndex:endIndex:]): Do not display the cell directly; mark it as needing redisplay. ([-drawCellAtRow:column:]): Do not lock/unlock focus. ([-highlightCell:atRow:column:]): Do not lock/unlock focus. ([-_drawCellAtRow:column:]): Do not lock/unlock focus. * Source/NSMenuItemCell.m ([-drawBorderAndBackgroundWithFrame:inView:]): Do not lock/unlock focus. ([-drawInteriorWithFrame:inView:]): Do not lock/unlock focus. * Source/NSOutlineView.m ([-editColumn:columnIndexrow:rowIndexwithEvent:theEventselect:flag]): Lock/unlock focus. * Source/NSPopUpButtonCell.m ([-drawInteriorWithFrame:inView:]): Do not lock/unlock focus. * Source/NSScroller.m ([-trackScrollButtons:]): Lock/unlock focus. * Source/NSSlider.m ([-mouseDown:]): Lock/unlock focus. ([-trackKnob:knobRect:]): Lock/unlock focus. * Source/NSSliderCell.m ([-drawInteriorWithFrame:inView:]): Do not lock/unlock focus. * Source/NSStepper.m ([-mouseDown:]): Lock/unlock focus. * Source/NSStepperCell.m ([-drawInteriorWithFrame:inView:]): Do not lock/unlock focus. ([-highlight:highlightupButton:upButtonwithFrame:frameinView: controlView]): Do not lock/unlock focus. * Source/NSTextFieldCell.m ([-drawInteriorWithFrame:inView:]): Do not lock/unlock focus. * Source/NSTableHeaderCell.m ([-drawInteriorWithFrame:inView:]): Do not lock/unlock focus. ([-drawWithFrame:inView:]): Do not lock/unlocks focus. * Source/NSTableHeaderView.m ([-drawRect:]): Do not lock/unlock focus while drawing. ([-mouseDown:]): Lock/unlock focus. * Source/NSWindow.m ([NSMiniWindowView -setImage:, -setTitle:]): Lock focus if can draw rather than checking _window != nil. 2003-02-01 03:26 Alexander Malmberg * Source/GSLayoutManager.m (-removeTextContainerAtIndex:): Set textcontainers to NULL after freeing it. Clean up some other malloc-stuff. * Source/NSTextContainer.m (-replaceLayoutManager:): Remove the containers from the correct layout manager. 2003-01-31 Fred Kiefer * Headers/AppKit/GSDisplayServer.h New interface [restrictWindow:toImage:]. * Source/GSDisplayServer.m Empty implementation for this. 2003-01-31 23:20 Alexander Malmberg * Source/GSLayoutManager.m (-_generateGlyphsForRun:at:): Add handling of NSAttachmentCharacter. 2003-01-31 21:59 Alexander Malmberg * Headers/gnustep/gui/GSLayoutManager.h, Headers/gnustep/gui/GSLayoutManager_internal.h, Source/GSLayoutManager.m: Implement [GSLayoutManager -setAttachmentSize:forGlyphRange:]. * Source/NSLayoutManager.m (-drawGlyphsForGlyphRange:atPoint:): Implement drawing of attachments. * Headers/gnustep/gui/NSFont.h: Add GSAttachmentGlyph to mark attachments in a glyph context. * Source/GSHorizontalLayoutManager.m: Cleanups and comments. (-layoutLineNewParagraph:): Rewrite line height and baseline handling. Implement typesetting of attachments. * Headers/gnustep/gui/NSTextAttachment.h: Add documentation. * Source/NSTextAttachment.m (-cellFrameForTextContainer: proposedLineFragment:glyphPosition:characterIndex:): Return the correct position. Thu Jan 30 16:31:16 2003 Nicola Pero * Source/GNUmakefile (NSMenuItem.m_FILE_FLAGS): Use -Wno-protocol when compiling NSMenuItem.m Thu Jan 30 16:19:56 2003 Nicola Pero * TextConverters/RTF/RTFConsumer.m ([RTFConsumer +parseData:documentAttributes:]): Method removed. ([RTFConsumer +parseFile:documentAttributes:]): Method removed. ([RTFDConsumer +parseData:documentAttributes:class:]): New method, replacing +parseData:documentAttribute:. Thu Jan 30 05:12:21 2003 Serg Stoyan * Headers/gnustep/gui/NSMenuItem.h: NSMenuItem protocol conforms to NSObject protocol. * Source/NSBundleAdditions.m ([-instantiateObject:]): Added missing cast. * Source/NSImage.m ([-dissolveToPoint:fromRect:fraction:]): Added missing variable initializer. ([-_bestRep:withBpsMatch:]): The same. * Source/NSImageRep.m ([-drawAtPoint:]): Added missing variable initializer. * Source/NSSplitView.m ([-mouseDown:]): The same. * Source/NSStringDrawing.m (drawRun): Fixed compiler warning. * Source/NSTableHeaderCell.m ([-setHighlighted:flag]): New method. * Source/NSTableHeaderView.m ([-drawRect:]): Removed calls to setBackgroundColor:. ([-mouseDown:]): Use setHighlighted:, not setBackgroundColor:, to highlight a header cell. * Source/NSTableView.m ([-mouseDown:]): Added missing variable initializer. * Headers/gnustep/gui/NSView.h: Added declaration of lockFocusInRect: * Source/NSView.m ([-lockFocusInRect:]): Added missing variable initializer. * Source/NSWindow.m: Include NSToolbar.h Thu Jan 30 04:55:12 2003 Nicola Pero * Headers/gnustep/gui/NSToolbar.h: Declaration of GNUstepPrivate category moved here from NSToolbar.m. * Source/NSToolbar.m: Removed GNUstepPrivate category @interface. * Source/NSWindow.m ([-setToolbar:]): Added missing cast. Thu Jan 30 04:39:47 2003 Nicola Pero * Source/NSWindowController.m ([-dealloc]): Release the window, do not autorelease it. Thu Jan 30 03:57:42 2003 Serg Stoyan * Source/NSMenuView.m ([-sizeToFit]): Removed the additional 17 pixels from menu view title size, they have no reason to be used, and don't look good. Thu Jan 30 02:55:17 2003 Nicola Pero * Source/NSScrollView.m ([-scrollPageDown:], [-scrollPageUp:]): Do not mark rulers as needing redisplay. ([-scrollWheel:]): Do not scroll header view; do not mark rulers as needing redisplay. Thu Jan 30 02:51:49 2003 Benhur Stein * Source/NSScrollView.m ([-_doScroll:]): Do not scroll header view; do not mark rulers as needing redisplay. ([-reflectScrolledClipView:]): Mark the rulers as needing redisplay. Do not constrain the scrollpoint of the header view. 2003-01-29 21:14 Alexander Malmberg * Source/GSLayoutManager.m (-setTextStorage:): Tell our text containers about the change. * Source/NSTextContainer.m (-setLayoutManager:): Tell our text view about the change. * Source/NSTextView.m: Guard in a few places where _layoutManager might be nil. 2003-01-29 16:01 Alexander Malmberg * Source/GSHorizontalTypesetter.m (-layoutLineNewParagraph:): Place baseline higher (in relation to the line height). * Source/NSLayoutManager.m (-textStorage:edited:range:changeInLength: invalidatedRange:): Fix selection range adjustment when the entire selection is removed. 2003-01-29 01:40 Alexander Malmberg * Headers/gnustep/gui/NSTextView.h, Source/NSTextView.m: Implement basic drawing of insertion point. 2003-01-28 Fred Kiefer * TextConverters/RTF/RTFConsumer.m In [copyWithZone:] use mutable copy of prargraph style. 2003-01-28 23:29 Alexander Malmberg * Source/NSTextView.m (-setConstrainedFrameSize:) Fix calculation of the effective minimum size. (-sizeToFit): Use maximum x and y of used rect to calculate size, not the used rect's own size. 2003-01-28 22:54 Alexander Malmberg * Source/NSLayoutManager.m (-textStorage:edited:range:changeInLength: invalidatedRange:): Add code to adjust the selected range after each change. 2003-01-28 22:20 Alexander Malmberg * Source/NSTextView.m (-initWithFrame:textContainer:): Make the default text container inset (2,0). 2003-01-28 20:02 Alexander Malmberg * Source/GSHorizontalTypesetter: Set proper used rect for line frag rects. * Source/GSLayoutManager.m (-usedRectForTextContainer:): Return sane value if there are no line frag rects in the text container. 2003-01-28 17:55 Alexander Malmberg * Source/GSLayoutManager.m (-layoutLineNewParagraph:): Try to make sure each container gets at least one line frag rect. * Source/NSTextView: Avoid making calls to the layout manager with invalid arguments. 2003-01-28 17:40 Alexander Malmberg * Source/GSHorizontalTypesetter.m, Source/GSLayoutManager.m: Whitespace cleanups and comments. * Source/NSLayoutManager.m: (-rectArrayForGlyphRange: withinSelectedGlyphRange:inTextContainer:rectCount:): Give better error message for an invalid glyph range. 2003-01-27 16:13 Alexander Malmberg * Source/NSLayoutManager.m (-setHyphenationFactor:): Fix format string. * Source/NSTextView.m (-mouseDown:): Handle empty text views. (-drawRect:): Always draw glyphs' backgrounds (even when not drawing the text view's background). Mon Jan 27 04:01:32 2003 Nicola Pero * Source/NSScroller.m ([-mouseDown:]): When the knob slot if clicked, do not set the new float value and send the action if the float value has not changed. Mon Jan 27 03:16:22 2003 Benhur Stein Patch with minor changes by Nicola: * Source/NSScroller.m ([-testPart:]): The point to test is now assumed to be in the window's coordinates. ([-mouseDown:], [-trackScrollButtons:]): Updated calls to -testPart:. ([-drawArrow:highlight:]): Highlight the cell according to the argument. ([-trackKnob:]): Do not set the new float value and send the action if the float value has not changed. Mon Jan 27 01:21:11 2003 Nicola Pero * Source/GSLayoutManager.m (GET_GLYPH): Removed argument, and updated all callers, to get it to compile. 2003-01-27 00:01 Alexander Malmberg * Source/NSLayoutManager.m (-drawBackgroundForGlyphRange:atPoint:): Draw background for the selected range. 2003-01-26 21:16 Alexander Malmberg * Source/NSLayoutManager.m (-textStorage:edited:range:changeInLength:invalidatedRange:): Tell the text views to resize when their text has changed. 2003-01-26 21:08 Alexander Malmberg * Source/NSLayoutManager.m (-glyphIndexForPoint:inTextContainer:fractionOfDistanceThroughGlyph:): Try harder to always return a valid glyph index. 2003-01-26 20:41 Alexander Malmberg * Headers/gnustep/gui/NSTextView.h: Don't use protocol forward declarations. 2003-01-26 20:35 Alexander Malmberg * Source/NSTextView.m: Make sure the typing attributes are always a mutable dictionary we can modify. 2003-01-26 20:30 Alexander Malmberg * Source/NSCell.m: Add missing includes. 2003-01-26 20:24 Alexander Malmberg * Headers/gnustep/gui/NSMenu.h: Add missing class declaration so the header is self-contained. 2003-01-26 19:17 Alexander Malmberg * Headers/gnustep/gui/GSFontInfo.h, Headers/gnustep/gui/NSFont.h, Headers/gnustep/gui/NSLayoutManager.h, Headers/gnustep/gui/NSText.h, Headers/gnustep/gui/NSTextContainer.h, Headers/gnustep/gui/NSTextStorage.h, Headers/gnustep/gui/NSTextView.h, Source/GNUmakefile, Source/GSFontInfo.m, Source/GSTextStorage.m, Source/NSFont.m, Source/NSLayoutManager.m, Source/NSParagraphStyle.m, Source/NSSecureTextField.m, Source/NSText.m, Source/NSTextContainer.m, Source/NSTextStorage.m, Source/NSTextView.m, Headers/gnustep/gui/GSHorizontalTypesetter.h, Headers/gnustep/gui/GSLayoutManager.h, Headers/gnustep/gui/GSLayoutManager_internal.h, Headers/gnustep/gui/GSTypesetter.h, Source/GSHorizontalTypesetter.m, Source/GSLayoutManager.m, Source/GSTypesetter.m, Source/NSTextView_actions.m: Merge in text-system-branch with the new implementation of the text system. 2002-12-13 02:00 Alexander Malmberg * Headers/gnustep/gui/NSText.h, Headers/gnustep/gui/NSTextView.h, Source/NSText.m, Source/NSTextView.m: Moved ivars from NSText to NSTextView. Added or updated documentation for many methods. Marked primitive and non-openstep methods. * Source/GSHorizontalTypesetter.m, Source/GSLayoutManager.m, Source/GSTextStorage.m, Source/NSTextContainer.m, Source/NSTextStorage.m: Cleaned up includes. 2002-12-01 13:27 Alexander Malmberg * Headers/gnustep/gui/GSLayoutManager_internal.h, Source/GSLayoutManager.m: Clean ups. Remove some old stuff. Add some more comments. 2002-11-26 16:37 Alexander Malmberg * Headers/gnustep/gui/GSTypesetter.h, Source/GSTypesetter.m, Source/GSHorizontalTypesetter.m: Remove -baselineOffsetInLayoutManager:glyphIndex: method. Cleanups. Changed to conform to coding standards. 2002-11-26 16:29 Alexander Malmberg * Source/NSLayoutManager.m: Changed to conform to coding standards. Cleanups. 2002-11-26 15:41 Alexander Malmberg * Headers/gnustep/gui/GSLayoutManager_internal.h, Source/GSLayoutManager.m: Changed to conform to coding standards. Cleanups. Moved some more NSTextView references to NSLayoutManager. Use _run_cache_attributes::, _run_copy_attributes::, and _run_free_attributes: methods instead of functions. (-_run_cache_attributes::): Ask typesetter for font to use and call -substituteFontForFont:. * Source/NSLayoutManager.m: Moved NSTextView references here. 2002-11-26 12:52 Alexander Malmberg * Headers/gnustep/gui/GSFontInfo.h, Headers/gnustep/gui/NSFont.h, Source/GSFontInfo.m, Source/NSFont.m: Add proper handling of screen/printer fonts. Changes the backend GSFontInfo interface. 2002-11-24 20:58 Alexander Malmberg * Headers/gnustep/gui/NSMenu.h: Declare NSMutableArray. 2002-11-24 01:10 Alexander Malmberg * Source/NSSpellChecker (-_launchSpellCheckerForLanguage:): Don't pass the error message through printf expansion twice. 2002-11-24 00:56 Alexander Malmberg * Source/GSFontInfo.m (-defaultLineHeightForFont): Round the linegap to whole points. 2002-11-23 22:55 Alexander Malmberg * Source/NSSecureTextField: Update to work with new text system. 2002-11-23 22:30 Alexander Malmberg * Headers/gnustep/gui/NSTextContainer.h, Headers/gnustep/gui/NSTextStorage.h Source/NSTextStorage.m: Use GSLayoutManager instead of NSLayoutManager in these classes. 2002-11-23 21:40 Alexander Malmberg * Source/NSParagraphStyle ([NSMutableParagraphStyle -copyWithZone:]): Implement. 2002-11-23 21:31 Alexander Malmberg * Headers/gnustep/gui/GSHorizontalTypesetter.h, Headers/gnustep/gui/GSLayoutManager.h, Headers/gnustep/gui/GSLayoutManager_internal.h, Headers/gnustep/gui/GSTypesetter.h, Source/GSHorizontalTypesetter.m, Source/GSLayoutManager.m, Source/GSTypesetter.m, Headers/gnustep/gui/NSLayoutManager.h, Source/GNUmakefile, Source/NSLayoutManager.m: Add the new text system. 2002-11-23 18:45 Alexander Malmberg * Source/NSTextContainer: Implement -lineFragmentRectForProposedRect: sweepDirection:movementDirection:remainingRect:. 2003-01-26 18:54 Alexander Malmberg * Headers/gnustep/gui/NSParagraphStyle.h, Headers/gnustep/gui/NSTextStorage.h, Source/NSParagraphStyle.m, Source/NSTextAttachment.m: Clean up the includes. 2003-01-26 18:46 Alexander Malmberg * Headers/gnustep/gui/NSGraphics.h, Headers/gnustep/gui/NSGraphicsContext.h, Source/NSGraphicsContext, Source/NSWindow.m: Clean up some prototypes. 2003-01-20 Adam Fedor * Headers/gnustep/gui/NSImage.m (NSImageCacheMore): New enum and ivar. * Source/NSImage.m (-setCacheMode:): New method. (-cacheMode): Idem. (-compositeToPoint:fromRect:operation:): If printing, composite from source image, not cache. (-dissolveToPoint:fromRect:fraction:): Idem. (-drawRepresentation:inRect:): Correct background rectfill for flipped views. (-bestRepresentationForDevice:): Rewrite. Close to being correct. Tue Jan 21 00:39:52 2003 Serg Stoyan * Source/NSMenu.m ([-performKeyEquivalent:]): Only perform the higlighting if the item is enabled. * Source/NSMenuView.m ([-performActionWithHighlightingForItemAtIndex:]): Run the run loop for a fraction of a second before executing the action, so that the highlighted item is displayed. Do not remove the highlighted item if a popup menu. * Source/NSPopUpButton.m ([-mouseDown:]): Leave the selection unchanged if the item which was selected is disabled. ([-performKeyEquivalent:]): Mark the popup button as needing redisplay if the key equivalent is performed. Mon Jan 20 00:37:39 2003 Nicola Pero * Source/NSWorkspace.m ([NSWorkspace +initialize]): Wrap in an exception handler so we are sure to release the lock. 2003-01-14 Adam Fedor * Source/NSSound.m ([NSSound +gsnd]): Rename daemon to gnustep_sndd * Tools/gsnd/GNUmakefile: Idem. Thu Jan 9 05:17:22 2003 Nicola Pero * Source/NSApplication.m ([-_appIconInit]): If no app icon has been set, set GNUstep as the applicationIcon by calling setApplicationIconImage: so that the default image gets also registered with name NSApplicationIconImage. 2003-01-08 Fred Kiefer * Source/NSTextView.m Changed all the internal methods ([replaceCharacterRange:withString:], [setFont:range:], [setTextColor:range:], [setalignment:range:], [replaceRange:withAttributedString:], [setAtrributes:range:]) not to call [shouldChangeTextInRange:replacementString:], so that they can be called for a non editable text view. Added this call to the methods: [insertText:], [transpose:], [changeColor:], [alignCenter:], [alignLeft:], [alignRight:], [alignJustified:], [readSelectionFromPasteboard:type:]. * Source/NSCell.m In [selectWithFrame:...length:] removed duplicate setting of delegate. * Source/NSBrowserCell.m Use method calls in [initWithCoder:] to get fontification correct. * Source/NSClipView.m Use method calls in [initWithCoder:] so opaque flag is set correctly. Tue Dec 31 16:30:32 2002 Nicola Pero * Model/GNUmakefile: Build gmodel bundle when GUI_LIB is gnu, not when it's not (Suggestion by Pete French ). Mon Dec 30 18:29:41 2002 Nicola Pero * Model/GNUmakefile: Updated all checks for library-combo. Sun Dec 29 12:27:35 2002 Gregory John Casamento * Headers/gnustep/gui/GSNibTemplates.h: Added declaration for class GSFontProxy. * Source/NSBundleAdditions.m: Added definition for class GSFontProxy. This class handles the fall back which is necessary when unarchiving NSFont when the specified font is unavailable. Modified unarchiving code to use the new class when unarchiving. * Headers/gnustep/gui/NSToolbarItem.h: Corrected spelling of NSToolbarFlexibleSpaceItemIdentifier. * Source/NSToolbarItem.m: Did some initial work on the default toolbar items. * Source/externs.m: Corrected spelling of NSToolbarFlexibleSpaceItemIdentifier. Sat Dec 28 01:42:40 2002 Nicola Pero * Source/NSWindow.m ([-_initBackendWindow:]): Fixed code resetting then restoring the drag types for a deferred window -- there was a small confusion where NSArray and NSCountedSet were used interchangeably, while they are not. Drag&drop now works with deferred windows for me. Wed Dec 25 17:01:51 2002 Nicola Pero * Headers/gnustep/gui/NSText.h ([-setFont:range:]): Declare. * Source/NSTextView.m ([-setFont:ofRange:]): Renamed to setFont:range:. * Source/NSText.m ([-setFont:range:]): New method. ([-setFont:ofRange:]): Call the new method. 2002-12-23 Fred Kiefer * Headers/gnustep/gui/NSComboBoxCell.h Removed unused ivars and added one to store the popup while open. * Source/NSComboBoxCell.m Moved popup positioning to GSComboWindow, rewrote popup size code to respect numberOfItems and to adopt the used matrix. New methods for the cell to popup interaction. Corrected the encoding code of NSComboBoxCell. [objectValues] now correctly warns in the data source case. New method [stringValueAtIndex:]. Hack in [_didClick:] to get setting of values working. 2002-12-22 Gregory John Casamento * Source/NSToolbar.m: Added some of the code needed to add/remove toolbar items. 2002-12-10 Adam Fedor * Source/NSView.m ([NSView -lockFocusInRect:]): Check for window iff not printing. ([NSView -unlockFocusNeedsFlush:]): Idem. ([NSView -displayIfNeededInRectIgnoringOpacity:]): Idem. ([NSView -displayRectIgnoringOpacity:]): Idem. 2002-12-10 Fred Kiefer * Source/NSImageView.m Use [mouseDown:] instead of [mouseDragged:] to start dragging as the later only works when the view is not first responder. 2002-12-05 Adam Fedor * Source/GSSimpleLayoutManager.m ([GSSimpleLayoutManager -setNeedsDisplayForLineRange:inTextContainer:]): Make sure view exists before trying to get range (Solaris limitation). 2002-12-04 Adam Fedor * Source/GSSimpleLayoutManager.m ([GSSimpleLayoutManager -textStorage:edited:range:changeInLength:invalidatedRange:]): Make sure view exists before trying to get range (Solaris limitation). * Source/NSPrintOperation.m: Update for change in GSSetLocale. 2002-12-04 Adam Fedor * Headers/gnustep/gui/DPSOperators.h (DPSPrintf): Remove inline attribute which caused compiler errors on FreeBSD (patch from Pete French ). 2002-12-05 Fred Kiefer * Source/NSBitmapImageRep.m In [TIFFRepresentationUsingCompression:factor:] set extraSamples and correct compression type if 0. * Source/NSImageView.m Implement dragging of images. 2002-12-02 Adam Fedor * Model/GMAppKit.m, Model/GMArchiver.m, Model/IBClasses.m, Model/IMConnectors.m, Model/IMCustomObject.m, Model/IMLoading.m, Model/Translator.m: Include model headers from gnustep/gui not AppKit. * Model/GNUmakefile: Install headers in gnustep/gui 2002-11-29 Richard Frith-Macdonald * Model/IMConnectors.m: Update ivar setting code. 2002-11-27 Richard Frith-Macdonald * Source/NSBundleAdditions.m: Quick hack for setting ivars. 2002-11-27 Adam Fedor * Source/NSTabView.m ([NSTabView -selectedTabViewItem]): Check that the array count is > 0 2002-11-24 Adam Fedor * Tools/example.m: Include NSProcessInfo.h 2002-11-24 Fred Kiefer * Headers/gnustep/gui/NSSavePanel.h * Headers/gnustep/gui/NSOpenPanel.h * Source/NSSavePanel.m * Source/NSOpenPanel.m Added new MacOSX methods. 2002-11-24 Fred Kiefer * Source/NSBezierPath.m Corrected [GSBezierPath appendBezierPath:] to check the class of the parameter and to keep the isFlat flag in sync. * TextConverters/RTF/RTFConsumer.m GSRTFregisterFont() handle fontnames with and without trailing ';'. * TextConverters/RTF/rtfGrammer.y Documented how to compile with recent bison releases. Removed one conflict and an unneeded terminal. Allow for additional blocks in font definition. * TextConverters/RTF/rtfGrammer.tab.h Regenerated with bison 1.35 * TextConverters/RTF/rtfGrammer.tab.c Regenerated with bison 1.35 and corrected yyparse declaration. * TextConverters/RTF/rtfScanner.c Redefined GSRTFlex() without location parameter. Some cleanup against compiler warnings. 2002-11-21 Adam Fedor * Version: 0.8.3 2002-11-21 Fred Kiefer * Source/NSGraphicsContext.m Rewrote [GSSendBezierPath:] to send the full path to the backend. Code comes from [NSBezierPath _doPath]. * Source/NSBezierPath.m Replaces [_doPath] with calls to [NSGraphicsContext GSSendBezierPath:]. Added optimisation methods [appendBezierPath:] and [transformUsingAffineTransform:] on GSBezierPath. 2002-11-18 Gregory John Casamento * Source/NSBundleAdditions.m: Added some logic in the initWithCoder method to handle different gorm file versions. Even though there is only one version currently, we need this in place. * Headers/gnustep/gui/GSNibTemplates.h: Added #define for GNUSTEP_NIB_VERSION. 2002-11-17 Fred Kiefer * Source/NSCell.m * Source/NSButtonCell.m * Source/NSMenuItemCell.m * Source/NSOutlineView.m * Source/NSPopUpButtonCell.m * Source/NSSplitView.m Removed unneeded includes. * Source/NSRulerView.m Rewrote [drawHashMarksAndLabelsInRect:] to use string drawing and bezier path code instead of direct PS operations. 2002-11-16 Frederic De Jaeger * Source/NSOpenGLPixelFormat.m, Source/NSOpenGLContext.m, Source/NSOpenGLView.m, Headers/AppKit/NSOpenGL.h, Headers/AppKit/NSOpenGLView.h: New files. * Source/Makefile: Updated accordingly. * Headers/AppKit/GSDisplayServer.h (glContextClass, glPixelFormatClass): New methods. * Source/GSDisplayServer.m: Implement. 2002-11-15 Adam Fedor * Model/GMAppKit.m ([NSColor -encodeWithModelArchiver:]): Encode named colors. ([NSColor +createObjectForModelUnarchiver:]): Decode them. 2002-11-13 Adam Fedor * Model/IMLoading.m ([GMModel -objects]): New. ([GMModel -connections]): Idem. 2002-11-12 Adam Fedor * Headers/gnustep/gui/AppKit.h: Add NSDocumentController. * Source/NSSavePanel.m ([NSSavePanel -ok:]): Display filename (with extension) if replacing. 2002-11-12 20:40 Alexander Malmberg * Source/NSTableView (-setDataSource:): Allow nil data source. 2002-11-10 Fred Kiefer * Source/GSSimpleLayoutManager.m * Source/NSOutlineView.m Removed compiler warnings by correcting method names. * Source/NSBezierPath.m * Source/NSOpenPanel.m * Source/NSStringDrawing.m Corrected includes to speed up compilation. 2002-11-10 Fred Kiefer * Source/GSComboSupport.h * Source/GSComboSupport.m Removed files. * GNUmakefile Removed GSComboSupport.m * Source/NSComboBoxCell.m Moved all ComboBox code to here to make further changes easier. * Headers/gnustep/gui/NSSound.h: Prefixed all ivars with underscore * Source/NSSound.m Adopted to change in header and simplified [copyWithZone:] and [initWithCoder:]. 2002-11-09 Richard Frith-Macdonald * Source/NSDocumentController.m: Don't try to store NSURL objects in defaults system. 2002-11-08 Adam Fedor * Source/NSSavePanel.m ([NSSavePanel -_shouldShowExtension:isDir:]): Filter regular files also. * Source/NSMenu.m ([NSMenuPanel -canBecomeKeyWindow]): Return YES only if we are the main menu. * Source/NSWindow.m ([NSWindow -sendEvent:]) (FocusIn): If we are the main menu, try to find another window to become key. 2002-11-07 Fred Kiefer * Source/NSCell.m in [initImageCell:] and [initTextCell:] set the default menu. In all [XXXValue] methods try to get the value from the objectValue first and use [stringValue] instead of accessing the contents directly. Removed AUTORELEASE calls from [attributedStringValue] and similar places. In [cellSize] use [attributedStringValue] to get the string to size. In [drawInteriorWithFrame:inView:] use [attributedStringValue] to get the string to draw. This make the method [_drawText:inFrame:] obsolete for this class, but subclasses still use it. New method [_setupTextWithFrame:inView:editor:] with the common text view setup from [editWithFrame:inView:editor:delegate:event:] and [selectWithFrame:inView:editor:delegate:start:length:]. Calls to [setFont:] and [setAlignment:] switch the cell to NSTextCellType. * Source/NSButtonCell.m Removed all direct usage of ivar _contents. Implemented [attributedAlternateTitle] and use this in [cellSize] and [drawInteriorWithFrame:inView:]. * Headers/gnustep/gui/NSDragging.h: Added some new MacOSX values to NSDragOperation and some new methods. 2002-11-06 Adam Fedor * Source/NSTableView.m ([NSTableView -drawRow:clipRect:]):Swapped sides of while statement && operator to check for _numberOfColumns first. ([NSTableView -drawGridInClipRect:]): Idem. Also remove some unused variables. ([NSTableView -mouseDown:]): Select the drag row if it's not currently selected. Simplify some code (do all selecting in one place). (-mouseDown2:): Remove commented out method. ([NSTableView -draggingUpdated:sender]): scrollRowToVisible if we are dragging near edges of view. 2002-11-02 Lyndon Tremblay * NSTableView.m ([NSTableView -columnAtPoint:]): Swapped sides of while statement && operator to check for _numberOfColumns first. 2002-11-01 Lyndon Tremblay * Source/NSBitmapImageRep.m ([NSBitmapImageRep -draw]): Cast argument 11 for NSDrawBitmap() to remove warning. 2002-11-04 Adam Fedor * Source/NSWorkspace.m ([NSWorkspace -_workspaceApplication]): Change default to GWorkspace. 2002-11-02 Adam Fedor * Source/NSWindowController.m (-setDocument:): Remove window's setReleasedWhenClosed when doc is not nil. (-setWindow:): Idem. (Pointed out by Stefan Urbanek). 2002-11-02 Adam Fedor * Source/NSParagraphStyle.m (-compare:): Correct the comparision of NSTextTabs. * Source/NSScrollView.m (-tile:): Add a call to setNeedsDisplay. * Source/NSRulerMarker.h: Correct a mispelling in a method name makerLocation to markerLocation. * Source/NSTextView.m: Idem. (-rulerView:didAddMarker:) Create a new NSTextTab corresponding to the marker. (-rulerView:handleMouseDown:) Ask rulerview to track a new marker, instead of simply adding a new marker * Source/NSRulerView.m: Remove some unused macros. (-_verifyReservedThicknessForMarkers, _rulerRect, _markersRect, -markerAtPoint:): New private. (-trackMarker:withMouseEvent:): Implement. (-mouseDown:) Track marker if click was on marker, or asks client to handle if click was on ruler area. * Source/NSRulerMarker.m: -trackMouse:adding:): Implement. (Patches from Benhur Stein ). 2002-11-01 Adam Fedor * Source/NSApplication.m (-finishLaunching): Instantiate an NSDocumentController if this is a doc-based app. (-targetForAction:): Check if NSDocumentController responds to action if this is a doc-based app. * Source/NSDocument.m (-close): Rewrite to deal with removing objects from array while enumerating. * Source/NSDocumentController.m (-closeAllDocuments): Idem. (-sharedDocumentController): Don't set ourselves as the app delegate. (-isDocumentBasedApplication): Method for NSApplication. * Source/NSWindow.m (-sendEvent:): Retain _lastView just in case it's a temporary view. 2002-10-31 Gregory John Casamento * Source/NSBundleAdditions.m: +[loadNibFile:externalNameTable:withZone:]: Added logic to load .gorm directories and also maintained backwards compatibility with .gorm files. 2002-10-29 Pierre-Yves Rivaille * Source/NSSplitView.m ([NSSplitView -resizeSubviewsWithOldSize:]): Move code from setFrame: & resizeWithOldSuperviewSize: to resizeSubviewsWithOldSize:. * Source/NSColorPanel.m ([NSColorPanel _initWithoutGModel]): make the window a little bit higher. Some ColorPickers would not fit. * ColorPickers/GSCMYKColorPicker.tiff: * ColorPickers/GSGrayColorPicker.tiff: * ColorPickers/GSHSBColorPicker.tiff: * ColorPickers/GSRGBColorPicker.tiff: resize so that the image fits within the NSButton. (only blank area was removed) 2002-10-29 Richard Frith-Macdonald * Headers/gnustep/gui/GSMethodTable.h: * Headers/gnustep/gui/PSOperators.h: Add const qualifier to PSPrintf and PSWriteData argument types to match all other declatrations. * Headers/gnustep/gui/NSMenu.h: Add and document validation protocol. * Headers/gnustep/gui/NSMenuItem.h: Add some documentation and tidy. 2002-10-28 Adam Fedor * Source/NSTextView.m (-drawRect:): Don't draw insertion point when printing. * PrinterTypes/GSProlog.ps: New file. * Source/NSView.m (-_loadPrinterProlog): New. (beginPage:...): Use it. 2002-10-28 Adam Fedor * Source/NSScreen.m (-visibleFrame): Don't include dock with NexT/WindowMaker styles (patch from Stefan ). 2002-10-28 Adam Fedor * Source/NSPrintOperation.m (-cleanUpOperation): Order out print panel. (-_runOperation): Use autorelease pool around operation. (-init): Create a proper, unique temp print file. (-deliverResult): Implement for previewing, spooling. * Source/NSPrintPanel.m (-runModel): Don't order self out. (-_setStatusStringValue:) New private method. 2002-10-28 Richard Frith-Macdonald * Source/NSTextField.m: ([-dealloc]) morph self to be an NSTextView so that when dealloc is re-called, any subclass dealloc methods don't get re-called. * Source/NSTableView.m: Memory leak fix added as suggested by Stefan Urbanek. NOTE ... selection code looks very inefficient, perhaps we should look into whether it is worth optimising? 2002-10port-Yves Rivaille * Source/NSMenuView.m ([NSMenuView -trackWithEvent:]): new tracking code. The menu feels snappier now (at least for me). * Source/NSColorWell.m ([-activate:], [-deactivate]) register/unregister for NSColorPanelColorChangedNotification. ([NSColorWell _takeColorFromPanel:]): new method to prevent endless loop when setting the well's color from the color panel. ([NSColorWell -initWithCoder:]): register for NSColorPboardType. * Source/NSColorPanel.m ([NSColorPanel -_bottomWellAction:]): called when hitting one of the well at the bottom of the panel. Previous behaviour would not send a NSColorPanelColorChangedNotification. ([NSColorPanel -initWithCoder:]): update bottom wells construction to call _bottomWellAction: instead of takeColorFrom:. 2002-10-26 Adam Fedor * Source/NSOutlineView.m (-drawRow:clipRect:): Release imageCell (patch from Stefan ). 2002-10-25 Adam Fedor * Source/NSApplication.m: Remove some NSDebugLogs. * Source/NSDocument.m (-fileNameFromRunningSavePanelForSaveOperation:): Set directory to the currentDirectory if no fileName is set. Localize. (-fileAttributesToWriteToFile:ofType:saveOperation:): Stub implement. * Source/NSDocumentController.m: Document. (+sharedDocumentController): Proper allocation/init. Set ourselves as the application delegate if there isn't one already. (-init): Retrieve list of recent documents. (-reviewUnsavedDocumentsWithAlertTitle:cancellable:): Save current directory. Localize. (-currentDirectory): Rewrite according to docs. * Source/NSOpenPanel.m (-runModalForTypes:): Use nil for directory. * Source/NSSavePanel.m (_setupForDirectory:file:): Use current directory if nil, otherwise keep the old one. (-runModal): Pass nil for directory. 2002-10-25 Mirko Viviani * configure.ac: fixed header/ldflags for freebsd. 2002-10-21 Adam Fedor * Source/GSFontInfo.m (+encodingForRegistry:encoding:): Remove. Tue Oct 22 02:13:55 2002 Nicola Pero * Resources/GNUmakefile (string): Renamed to after-strings so that it works with the new gnustep-make strings targets. 2002-10-21 Richard Frith-Macdonald * Source/NSView.m: Key view code ... complete rewrite to match MacOS-X implementation. Fix coding bug in rewrite. * Source/NSTextField.m: don't use _nextKeyView * Source/NSMatrix.m: don't use _nextKeyView Mon Oct 21 01:17:41 2002 Nicola Pero * Source/NSView.m ([-setNextKeyView:], [-setPreviousKeyView:]): Rewritten the way the next/previous key view chain is managed, to fix problem when a next/previous key view is replaced with a new one (Patch by Caba Conti modified). 2002-10-20 Richard Frith-Macdonald * Headers/gnustep/gui/NSComboBox.h: Add APPKIT_EXPORT and make layout a bit more consistent. * Source/NSTextView.m: ([-dealloc]) remove unneeded RETAIN() Fixes for beugs reported by Caba Conti. 2002-10-18 Adam Fedor * Documentation/announce.texi: Fix grammer. * Try to fix focus interaction with WindowMaker. * Source/NSApplication.m ([NSIconWindow -canBecomeKeyWindow]): Revert 2002-10-08 change. (-appIconInit): Don't set input focus to app icon. (-_windowWillClose:): Idem. * Source/NSMenu.m: New class NSMenuPanel (_createWindow): Use it. * Source/NSWindow.m (-_lossOfKeyOrMainWindow): Make sure menu window doesn't get key except as a last resort. (-sendEvent: (GSAppKitWindowFocusIn)): Don't become key if app is hidden. * Source/NSPanel.m (-sendEvent:): Same as change to NSWindow on 2002-10-03. * Source/NSDocument.m (-init): Set default file type. Tue Oct 15 02:36:32 2002 Nicola Pero * Source/NSApplication.m (initialize_gnustep_backend): Get the GSBackend class using NSClassFromString() rather than NSBundle's -classNamed: to make it more robust on platforms - eg MS Windows - which have unclear problems with dynamic loading. 2002-10-14 Adam Fedor * Version: 0.8.2 * Documentation/news.texi: Update. Mon Oct 14 02:24:45 2002 Nicola Pero * Source/NSSavePanel.m (browser:createRowsForColumn:inMatrix:): Fixed last change which had broken the GSFileBrowserHideDotFiles option. 2002-10-13 Gregory John Casamento * Headers/GSNibTemplates.h: Added parentClassName member to templates so that the parent of the custom class could be stored. * Source/NSBundleAdditions.m: Made necessary modfications to the template implementations to use the parent class name 2002-10-13 Richard Frith-Macdonald * Source/NSSavePanel.m: ([--browser:createRowsForColumn:inMatrix:]) Don't try to read .hidden file for processing unless it exists. * Source/DocMakefile: New makefile for building documentation without having to build binaries. Also add flag for macros template. * Source/GNUmakefile: Removed documentation building rules. * Documentation/GNUmakefile: Use DocMakefile * Source/NSWindow.m: Slight documentation update/addition. * Source/NSView.m: ditto. * Source/NSToolbar.m: ditto. * Source/NSTextView.m: ditto. * Source/NSMatrix.m: ditto. * Source/NSLayoutManager.m: ditto. 2002-10-11 Adam Fedor * Headers/gnustep/gui/NSOpenPanel.h: Move comments to source file as autogsdoc. * Headers/gnustep/gui/NSSavePanel.h: Idem. * Source/NSOpenPanel.m: Document. * Source/NSSavePanel.m: Idem. * Source/NSBrowser.m: Change NSDebugLog to NSDebugLLog (or remove). * Source/NSButtonCell.m, Source/NSCell.m, Source/NSControl.m, Source/NSEvent.m, Source/NSFontManager.m, Source/NSFontPanel.m, Source/NSImageCell.m, Source/NSMatrix.m, Source/NSMenu.m, Source/NSMenuItem.m, Source/NSResponder.m, Source/NSRulerView.m, Source/NSScrollView.m, Source/NSSplitView.m, Source/NSStepper.m, Source/NSTableHeaderView.m, Source/NSWindow.m: Idem. Fri Oct 11 15:10:42 2002 Nicola Pero * Headers/gnustep/gui/AppKit.h: Include AppKit/NSFileWrapper.h (Reported by Ludovic Marcotte ). Fri Oct 11 01:37:57 2002 Nicola Pero * TextConverters/RTF/RTFConsumer.m ([RTFAttribute -currentFont]): If the font can't be found in the usual ways, try to get it as a composite font name like 'FontFamily-Face' (Patch by Georg Fleischmann modified). Fri Oct 11 01:15:55 2002 Nicola Pero * Source/NSFont.m (getNSFont): If fontWithName:size: returns nil, try various approximations to get a font. Fri Oct 11 01:02:24 2002 Nicola Pero Patch by Georg Fleischmann : * Source/NSFont.m ([NSFont -initWithName:matrix:fix:]): Release self and return nil if the font info is nil. This makes [NSFontManager -convertFont:...] work. Thu Oct 10 19:56:29 2002 Nicola Pero * Source/NSScrollView.m ([-scrollPageUp:]): Implemented. ([-scrollPageDown:]): Implemented. ([-pageUp:]): Implemented. ([-pageDown:]): Implemented. * Source/NSTextView.m ([-pageDown:]): Implemented. ([-pageUp:]): Implemented. (Patch by David Ayers ). Thu Oct 10 19:16:40 2002 Nicola Pero * Source/NSFontManager.m ([NSFontManager -fontMenu:]): Use 't' as key equivalent for the font panel. (Patch by David Ayers ). 2002-10-10 Fred Kiefer * Source/NSBezierPath.m Handle seting of an empty dash in [setLineDash:count:phase:]. [_doPath] now always sends the dash pattern, even when empty. 2002-08-30 Georg Fleischmann * Source/NSWindow.m ([-constrainFrameRect]): Move window inside screen, if window top is below screen. 2002-10-09 Adam Fedor * Source/NSApplication (hide:): Don't setinputfocus to the icon window. * Source/NSWindow.m (-sendEvent:) (GSAppKitWindowFocusIn): If we're not visible, don't try to become main/key. 2002-10-08 Adam Fedor * Fix window focus problems. * Source/NSApplication.m ([NSIconWindow -canBecomeKeyWindow]): return YES. (-finishLaunching): Don't make main menu key. ([NSApplication -deactivate]): Don't setinputfocus to the icon window. * Add Quartz-like interface and overridable passing of colorspaces and fonts to backend. * Headers/gnustep/gui/NSFont.h (_fontRef): New ivar. * Source/NSFont (-fontRef): New method. (GSSetFont): Use it. * Source/GSFontInfo (-matrix): New method. * Headers/gnustep/gui/GSFusedSilica.h: New header * Headers/gnustep/gui/GSFusedSilicaContext.h: Idem. * GSFusedSilica.m: New file. * GSFusedSilicaContext.m: Idem. Tue Oct 8 19:15:24 2002 Nicola Pero * Source/NSSecureTextField.m: Mostly rewritten. Main changes - NSCoding protocol methods moved to the cell; implemented encoding; do not share the secure text field globally, just create one each time; create the secure text field in setupFieldEditorAttributes: and removed most other hacks. Init methods of the secure text view rewritten to be simpler. Do not register the secure text view for services. Should no longer crash with the new internals. * Headers/gnustep/gui/NSSecureTextField.h: Prefix ivars with underscore. Add setEchosBullets: and echosBullets methods to the textfield as well as the cell. Tue Oct 8 18:46:45 2002 Nicola Pero * Source/NSTextContainer.m ([-replaceLayoutManager:]): Retain the layout manager, then release it at the end; refresh the layout manager cached by the textview; do not set the layout manager's text storage manually. * Source/NSTextStorage.m ([-removeLayoutManager:]): Set the argument's text storage to nil before removing it from the array. 2002-10-08 Gregory John Casamento * Headers/GSNibTemplates.h: Added new template class. * Source/NSBundleAdditions.m: Added implementation for new template class. Improved some of the existing classes. 2002-10-08 Fred Kiefer * Headers/gnustep/gui/NSButtonCell.h Adoped the enums NSButtonType and NSBezelStyle to the new MacOSX names. * Source/NSButtonCell.m [setButtonType:] use those new names. Corrected [cellAttribute:] and [setCellAttribute:] to use the right tests. [performClick:] now play the sound, if provided. 2002-10-07 Adam Fedor * Source/NSBrowser.m (-frameOfColumn:, -tile): Change distance between columns from 1 to 2. (Patch from Serg Stoyan ) * Source/NSGraphicsContext.m (-GSSetFillColorspace:):Take void * argument (-GSSetStrokeColorspace:): Idem. (-GSSetFont:): Idem. 2002-10-06 Gregory John Casamento * Source/NSBundleAdditions.m: Implemented the following classes: NSWindowTemplate, NSViewTemplate, NSControlTemplate, NSTextTemplate, NSTextViewTemplate, NSMenuTemplate, GSClassSwapper. These classes are used to allow the .gorm files to have placeholders for custom classes defined by the developer. This is similar to the approach used in OPENSTEP 4.2/Mach and MOSX. * Headers/gnustep/gui/NSNibLoading.h: Removed declarations for classes which should be considered private to GNUstep. * Headers/gnustep/gui/GSNibTemplates.h: Moved GSNibContainer, GSNibItem, GSCustomView here. Added declarations for new template classes. 2002-10-04 Adam Fedor * Source/NSBrowser.m: Implement non-separated columns. (-setSeparatesColumns:): Remove borders if not separated. (-setTitled:): Return without chaging if we are not separated. (-frameOfColumn:): Compute properly with{out} separation. (-tile): Idem. (-initWithFrame:): Set maxVisibleColumns to 3. (-drawRect:): Draw properly with{out} separation. (Patch from Serg Stoyan ). 2002-10-03 Adam Fedor * Headers/gnustep/gui/NSWindow.h: New _lastView ivar. * Source/NSWindow.m (-sendEvent:): Use it instead of _lastDragView to remember mouseDown view. 2002-10-02 Richard Frith-Macdonald * Source/NSWorkspace.m: ([-getInfoForFile:application:type:]) Make an exception for directories without file extensions ... never return plain type for them even if apps claim to open them. Wed Oct 2 11:26:21 2002 Nicola Pero * Source/NSTextView.m ([-shouldChangeTextInRange:replacementString:]): Immediately return NO if not editable; do not send out textShouldBeginEditing: and textDidBeginEditingNotification unless the textview is already first responder (Patch by David Ayers ). 2002-10-02 Richard Frith-Macdonald * Source/NSWorkspace.m: ([-getInfoForFile:application:type:]) Try to return a plain file type for directories which are openable by some app. 2002-10-01 Adam Fedor * Tools/gsnd/portaudio/pa_unix_oss/pa_unix_oss.c (PaHost_WatchDogProc): usleep can have a void return (Modified patch from Charles Philip Chan). * Source/NSBrowserCell.m (-drawInteriorWithFrame:inView:): Use NSCompositeSourceOver. Tue Oct 1 17:07:25 2002 Nicola Pero * Source/GSSimpleLayoutManager.h (_lineLayoutInformation): Renamed to _lineLayoutInfo. * Source/GSSimpleLayoutManager.m: Updated for change. Tue Oct 1 16:58:36 2002 Nicola Pero * Source/NSTextView.m ([NSTextView -moveToEndOfLine:]): Fixed moving to the end of 'one before the last' line. ([NSTextView -moveToEndOfParagraph:]): Idem. Tue Oct 1 16:40:29 2002 Nicola Pero * Source/GSSimpleLayoutManager.m ([-glyphIndexForPoint:inTextContainer:fractionOfDistanceThroughGlyph:]): Fix the insertion point positioning when clicking beyond the last character of a line in an NSTextView, or before the first one; special care to be used for the last line in the textview (Originated by a patch by David Ayers , modified by me). 2002-09-27 Richard Frith-Macdonald * Source/NSFont.m: Rewrote code dealing with creation and destruction of font objects to remove holes in the original caching scheme and to optimimise font creation/destruction somewhat. All font objects should now be handled by the cache, no matter how they are created. 2002-09-27 Richard Frith-Macdonald * Source/NSFont.m: Replace caching code which never released fonts with a cache which only holds fonts as long as something is using them. 2002-09-26 Fred Kiefer * Headers/gnustep/gui/NSBrowserCell.h Removed all references to coding. * Source/NSBundleAdditions.m Moved add on methods. * Source/NSImage.m Moved method [NSBundle pathForImageResource:] to here. * Source/NSSound.m Moved method [NSBundle pathForSoundResource:] to here. * Source/NSButton.m Removed the coder methods as they were just super calls. Wed Sep 25 03:37:27 2002 Nicola Pero * Headers/gnustep/gui/NSInterfaceStyle.h: Put include guards in the canonical form, by swapping them with #ifndef STRICT_OPENSTEP; this arrangement is more efficient when the file is included multiple times with GCC. Wed Sep 25 03:30:35 2002 Nicola Pero * Headers/gnustep/gui/GSGuiPrivate.h: Redefine both _() and NSLocalizedString() to be wrappers for GSGuiLocalizedString() (Idea from Stefan Urbanek ). * Source/NSApplication.m: Use _() and NSLocalizedString() everywhere for localized strings, instead of GSGuiLocalizedString(). (NSAppKitUncaughtExceptionHandler): Small rearrangement of code to make it easier for make_strings to parse localization calls. * Source/NSDocument.m: Include GSGuiPrivate.h, and localize strings (from a patch by Stefan Urbanek ). * Resources/GNUmakefile: Completely rewritten to use resource-set.make to install the files; added experimental 'strings' target which runs make_strings and updates the Localizable.strings files. * Resources/English.lproj/Localizable.strings: Updated using make strings. * Resources/Italian.lproj/Localizable.strings: Updated using make strings, then manually updated all translations; added missing ones. Tue Sep 24 16:32:30 2002 Nicola Pero After discussions with David Ayers: * Source/NSCell.m ([-editWithFrame:inView:editor:delegate:event:]): Do not perform an immediate display of the textfield. ([-selectWithFrame:inView:editor:delegate:start:length:]): Idem. * Source/NSTextField.m ([-becomeFirstResponder]): If the text field accepts first responder status, select its text. ([-mouseDown:]): If not selectable, pass the mouse down to super. If selectable, and _text_object is not nil, pass the mouse down to the _text_object. Else, try to get first responder status, and to start editing. Tue Sep 24 03:29:55 2002 Nicola Pero * Source/NSSplitView.m: Cache the default notification center for the whole class. * Source/NSTextStorage.m: Idem. Tue Sep 24 03:14:12 2002 Nicola Pero * Source/NSTextField.m ([-dealloc]): Implemented (Reported missing by David Ayers). * Source/NSDrawer.m ([-dealloc]): Remove the delegate from the notification center. * Source/NSMatrix.m ([-dealloc]): Idem. * Source/NSSplitView.m ([-dealloc]): Idem. * Source/NSTableView.m ([-dealloc]): Idem. * Source/NSTextStorage.m ([-dealloc]): Idem. * Source/NSWindow.m ([-dealloc]): Idem. * Source/NSToolbar.m ([GSToolbarButton -dealloc]): New method. ([NSToolbar -dealloc]): New method. Mon Sep 23 15:23:23 2002 Nicola Pero * Source/NSApplication.m (initialize_gnustep_backend): Improved error messages. Try to be as descriptive and verbose as possible about what exactly went wrong when loading the backend fails. 2002-09-22 Fred Kiefer * Source/NSBrowser.m Removed unused ivar _numberOfRows from NSBrowserColumn. Made GSBrowserTitleCell a subclass of NSTableHeaderCell. Corrected [scrollColumnToVisible:], so that the column becomes visible but not always last. Adopted [scrollViaScroller:] to this change. Inlined most private methods and optimized the code. Reorganized [_performLoadOfColumn:] to remove code duplication. Set the title of a column here and not each time when drawing. 2002-09-22 16:33 Alexander Malmberg * Source/NSTextView.m (-initWithFrame:textContainer:): Set uses_font_panel and uses_ruler to NO while initializing and back to YES when we're done. 2002-09-22 16:26 Alexander Malmberg * Source/NSFontPanel.m (-init): Set sane defaults _before_ trying to set values for the current font. Move code to select a certain size in the size browser to -_trySelectSize:. Update the size in the preview and the browser when the size text field changes. Mark private variables and constants as static. 2002-09-22 01:23 Alexander Malmberg * Headers/gnustep/gui/NSView.h, Source/NSPanel.m, Source/NSText.m, Source/NSTextField.m, Source/NSView.m, Source/NSWindow.m: Add -needsPanelToBecomeKey method to NSView and override it to return YES in NSText and NSTextField. Use it in NSPanel to handle becomesKeyOnlyIfNeeded properly. 2002-09-21 18:54 Gregory John Casamento * Source/NSOutlineView.m corrected preprocessor error messages. * Source/NSToolbar.m corrected preprocessor error messages. 2002-09-21 17:48 Alexander Malmberg * Source/NSFontPanel.m (-_familySelectionChanged:, score_difference): If an exact match for the wanted weight and traits can't be found, score all faces in the new family and select the one that differs the least. 2002-09-19 Richard Frith-Macdonald * Source/GNUmakefile: Set flags to generate documentation using templates. 2002-09-18 Pierre-Yves Rivaille * Source/NSSplitView.m ([NSSplitView -initWithCoder:]): set _never_displayed_before to YES. * Source/NSFont.m: rearrange the last change to make it look like other classes' initWithCoder/encodeWithCoder * Source/NSTextView.m: do not call _blink directly (suggested by Nicola Pero). * Source/NSButtonCell.m ([NSButtonCell -drawInteriorWithFrame:inView:]): if the button is NSImageOnly, draw the dotted frame at the right location. 2002-09-16 19:28 Alexander Malmberg * Source/NSFont (+initialize, -initWithCoder:, -encodeWithCoder:): Encode and decode matrixExplicitlySet, and guess its value when loading old encoded objects. 2002-09-16 19:05 Alexander Malmberg * Source/NSWindow.m (-close): Retain and release self to make sure it isn't deallocated until we're done. 2002-09-15 Fred Kiefer * Source/NSStringDrawing.m drawRun() now correctly flags that it wants some temporary memory allocated. The old behaviour resulted in a memory leak. * Headers/gnustep/gui/NSBrowser.h Declare new MacOSX method [drawTitleOfColumn:inRect:]. Removed unused ivar _browserCellClass. Replaced ivar _titleCell with a static variable used for all browsers. * Source/NSBrowser.m Use _lastColumnLoaded instead of _lastVisibleColumn in [selectAll:]. Implemented MacOSX [drawTitleOfColumn:inRect:]. Optimized [matrixInColumn:] and use it where suitable. Moved calls to [_adjustMatrixOfColumn:] inside of [_performLoadOfColumn:] 2002-09-15 Pierre-Yves Rivaille * Source/NSMenuView.m: New private method [NSMenuView -_itemCell] in newly created GNUstepPrivate category. * Source/NSMenu.m: Add GNUstepPrivate interface of NSMenuView. [NSMenu -_setOwnedByPopUp:]: update itemCells' menuView (fix NSPopUpButtonCell-decoding problem). * Source/NSPopUpButtonCell.m ([NSPopUpButtonCell -synchronizeTitleAndSelectedItem]): Fix "mouseUp outside of menu" problem. Now the previous selected item stay selected. ([NSPopUpButtonCell -initWithCoder:]): Set the selectedItem properly. 2002-09-15 13:17 Alexander Malmberg * Source/NSImage.m (compositeToPoint:fromRect:operation:,, dissolveToPoint:fromRect:fraction:): Don't un-flip coordinates when drawing in flipped views. 2002-09-14 13:35 Alexander Malmberg * Source/NSFontPanel.m: Break -browser:selectRow:inColumn: into three selection changed methods and set them as the action of the respective browser. Fri Sep 13 09:36:06 2002 Nicola Pero * Headers/gnustep/gui/NSNibDeclarations.h: Added include guards. 2002-09-11 Pierre-Yves Rivaille * Source/NSText.m ([NSText -initWithCoder:]): Retain the decoded background color. * Source/NSTextView.m : multiple location: don't ignore textContainer's inset ([NSTextView -initWithCoder:]) ([NSTextView -encodeWithCoder:]) Encode caret color, textContainer's size and whether the textContainer has widthTracksTextView or heightTracksTextView set. ([NSTextView -sizeToFit]) Change width (height) only if is_horizontally_resizable (is_vertically_resizable). ([NSTextView -scrollRangeToVisible:]) scrolls to the first char of the range. ([NSTextView -invalidateTextContainerOrigin]): Don't ignore inset, set the origin so that the justification is preserved even if the textContainer's width is larger that the textview's width. ([NSTextView -updateInsertionPointStateAndRestartTimer:]): update and place the insertion point properly. ([NSTextView -moveDown:]) & ([NSTextView -moveUp:]): Don't ignore inset. Make insertion point visible. * Source/NSTextField.m ([NSTextField -acceptsFirstResponder:]): responds NO if the editing is still in progrss. * Source/NSLayoutManager.m ([NSLayoutManager -drawBackgroundForGlyphRange:atPoint:]): Don't ignore textContainer's inset. * Source/GSSimpleLayoutManager.m Replaced [-drawLinesInLineRange:] with [-drawLinesInLineRange:atPoint:]. Replaced [-drawSelectionAsRangeNoCaret:] with [-drawSelectionAsRangeNoCaret:atPoint:]. Those replacements make it easier to take inset into account. ([-lineFragmentUsedRectForGlyphAtIndex:effectiveRange:]) ([-locationForGlyphAtIndex:]) ([-boundingRectForGlyphRange:inTextContainer:]) ([-rectForCharacterIndex:]) ([-setNeedsDisplayForLineRange:inTextContainer:]): Various fixes. ([-textStorage:edited:range:changeInLength:invalidatedRange:]) Update insertion point if needed (useful when alignment changes). ([-rebuildForRange:delta:inTextContainer:]): Update layout mechanism. * Source/NSCell.m ([NSCell -highlight:withFrame:inView:]): Ask the control to draw the background if we are not opaque. ([NSCell -editWithFrame:inView:editor:delegate:event:]): ([NSCell -selectWithFrame:inView:editor:delegate:start:length:]): ([NSCell -endEditing:]): instantiate (and remove) the textview so that it can be scrolled. 2002-09-09 Adam Fedor * configure.ac: Switch to disaple gsnd. 2002-09-07 Adam Fedor * Source/NSBrowser.m: Convert comments for gsdoc. (-selectRow:inColumn:): Call delegate -browser:selectRow:inColumn:. (-setPath:): Call delegate -browser:selectCellWithString:inColumn:. (-doClick:): Do not call the above methods. (-initWithCoder:): Set _isLoaded to NO. * Source/NSSavePanel.m (-_browser:selectCellWithString:inColumn): Rename from -browser:selectCellWithString:inColumn. (_setupForDirectory:file:) Use it. * Source/NSOpenPanel.m (-browser:selectCellWithString:inColumn): Remove. * Source/NSWindow.m ([NSWindow -performClose:]): Don't close if a modal session is going and we aren't the modal window. 2002-09-07 Fred Kiefer * Source/NSApplication.m Release the invocation in [detachDrawingThread:toTarget:withObject:] not in the helper method. (Patch by David Ayers ). * Headers/gnustep/gui/NSPasteboard.h * Source/externs.m Define NSHTMLPboardType. * Headers/gnustep/gui/GSTextConverter.h Define protocol for method [classForFormat:producer:]. * Headers/gnustep/gui/NSTextAttachment.h Moved NSAttributedString text attachment method declarations to here. * Headers/gnustep/gui/NSAttributedString.h Define new MacOSX methods. * Source/NSAttributedString.m Implemented [textFileTypes], [textPasteboardTypes], [textUnfilteredFileTypes], [textUnfilteredPasteboardTypes]. * Source/NSMenu.m * Source/NSTextView.m Corrected includes. 2002-09-06 Adam Fedor * Headers/gnustep/gui/NSPrintInfo.h: Add print option. * Source/NSPrintOperation.m ([-_printPaginateWithInfo:knowsRange:): Use it. (-_rectForPage:info:xpage:ypage:): Correct xpage/ypage calc. (-_adjustPagesFirst:last:info:): Likewise. * Source/NSStringDrawing.m (setupSpecialRun): Set base. * Source/NSSound.m (-getDataFromFileAtPath:): Use fileSystemRepresentation. * Source/NSView.m (-beginPage:label:bBox:fonts:): Use lossyCString. 2002-09-06 Fred Kiefer * Headers/gnustep/gui/NSColorPanel.h * Source/NSColorPanel.m Moved the method [NSApplication orderFrontColorPanel:] to here. * Headers/gnustep/gui/NSHelpPanel.h * Source/NSHelpPanel.m Moved the method [NSApplication orderFrontHelpPanel:] to here. * Headers/gnustep/gui/NSDataLinkPanel.h * Source/NSDataLinkPanel.m Moved the method [NSApplication orderFrontDataLinkPanel:] to here. * Headers/gnustep/gui/NSPageLayout.h * Source/NSPageLayout.m Moved the method [NSApplication runPageLayout:] to here. * Headers/gnustep/gui/NSApplication.h Removed methods that belong to other files. Added types and method definitions for MacOSX. * Source/NSApplication.m Implemented [detachDrawingThread:toTarget:withObject:]. [sendAction:to:from:] now uses [targetForAction:to:from:]. Removed moved methods. [orderFrontStandardAboutPanel:] now calles [orderFrontStandardInfoPanelWithOptions:] so that subclasses only have to overwritte this. Split up parts of [terminate:] into [replyToApplicationShouldTerminate:]. Thu Sep 5 11:39:58 2002 Nicola Pero * Source/NSTextView.m ([-updateInsertionPointStateAndRestartTimer:]): Make sure we start the on/off/on/off blinking sequence from the on, so that we give immediate feedback to the user as to where the insertion point is (Patch by David Ayers ). 2002-08-30 Adam Fedor * Version: 0.8.1 * Documentation/GNUmakefile: Set dir for reference documentation * Documentation/GNUmakefile.postamble: New file. 2002-08-30 00:11 Alexander Malmberg * Source/NSBezierPath.m (-appendBezierPath:): Handle curves correctly. (-appendBezierPathWithArcFromPoint:toPoint:radius:): Fix numerical stability issue by clamping dx1 and dx2 manually. 2002-08-29 Richard Frith-Macdonald * Source/GSDisplayServer.m: * Source/NSApplication.m: * Source/NSFont.m: * Source/NSInterfaceStyle.m: * Source/NSTableColumn.m: Documentation fixups ... correct gsdoc markup etc. 2002-08-28 Fred Kiefer * Source/NSBezierPath.m Implemented [appendBezierPathWithArcFromPoint:toPoint:radius:] with code from Alexander Malmberg . 2002-08-27 Adam Fedor * Source/NSBrowser.m (-tile): Set horizontal scroller frame only if we have one. 2002-08-26 Adam Fedor * Model/GMAppKit.m (-initWithModelUnarchiver:): Don't add ourselves to the superview if we are the contentView of an NSBox. * Tools/example.m ([ExampleServices -openURL:userData:error:]): Get browser from defualts. Use mozilla if none. (Modified patch from Stefan Urbanek). 2002-08-24 Adam Fedor * Source/NSGraphicsContext.m: More documentation. * Source/NSWindow.m (-sendEvent:): Remember mouseDown view and send mouseUp to this view (not firstResponder). * Model/test.m: Fix so it reads in gmodel from command line. * Source/GNUmakefile: Correct docs so they are built in Documentation/Gui directory * Source/GNUmakefile.postamble: Extra rules for building docs. * Documentation/Gui: New directory for docs. * Documentation/gsdoc: Remove. 2002-08-23 02:39 Alexander Malmberg * Source/NSImage.m (-lockFocusOnRepresentation:): Use a compositerect to clear the alpha channel if the background color isn't opaque. 2002-08-16 Adam Fedor * Source/NSGraphicsContext.m: Define colorspace constants 2002-08-15 Adam Fedor * configure.ac: Add NetBSD header/ldflag support (Patch from Peter Cooper). Cleanup freebsd support. * Headers/gnustep/gui/GSDisplayServer.h: Replace APPKIT_DECLARE with APPKIT_EXPORT. * Headers/gnustep/gui/NSGraphics.h: Idem. * Headers/gnustep/gui/NSGraphicsContext.h: Idem. * Headers/gnustep/gui/NSPanel.h: Idem. Fri Aug 9 12:12:18 2002 Georg Fleischmann * Source/NSWindow.m ([-setFrameFromString:]), ([-stringWithSavedFrame]): Don't flip coordinates to make it compatible with OpenStep. 2002-08-05 Pierre-Yves Rivaille * Source/NSSplitView.m [NSplitView -setFrame:]: adjust the subviews. [NSSplitView -resizeWithOldSuperviewSize:]: send the splitview's old size not the superview's old size to [NSSplitView -_adjustSubviews:] [NSSplitView -displayIfNeededInRectIgnoringOpacity:] [NSSplitView -displayRectIgnoringOpacity:] set _never_displayed_before before calling _adjustSubviews. It could lead to a loop, if the delegate was calling -display. 2002-08-03 Pierre-Yves Rivaille * Source/NSView.m ([NSView -replaceSubview:withSubview]): The replacing subview was not inserted at the old subview's location. 2002-08-02 Adam Fedor * Merge changes from 0.8.0 into main branch. 2002-08-02 Pierre-Yves Rivaille * Source/NSTabView.m ([NSTabView -initWithCoder:]): Set _selected ivar based on _selected_item value. 2002-08-01 Adam Fedor * configure.ac: Check for recent version of audiofile 2002-07-31 Adam Fedor * Headers/gnustep/gui/AppKit.h: Add NSSound. * Source/GNUmakefile (AUTOGSDOC_HEADERS): Idem. * Tools/gsnd/GNUmakefile (GNUSTEP_INSTALLATION_DIR): Add. 2002-07-30 Adam Fedor * configure.ac: Check for autofile header/libs. * Source/NSBundleAdditions.m (pathForSoundResource:): New. * Source/NSSound.m: New file * Headers/gnustep/gui/NSSound.h: Idem. * Tools/gsnd: New server tool. (Implementation from Enrico Sersale). 2002-07-18 Gregory John Casamento * NSBundleAdditions.m: (-[awakeWithContext:]) Corrected a problem in this method which was preventing awakeFromNib from being called on NSOwner. I have confirmed that this is the correct behavior on OPENSTEP 4.2/Mach. 2002-07-18 Gregory John Casamento * Source/NSOutlineView.m: Removed an extraneous NSLog. * Tools/GSspell.m: Changed registration of spell checker to AmericanEnglish. * Tools/GSspellInfo.plist: Changed .plist to reflect the new name. The spell checker was registering itself for simply "English" and was not being started when a request to check spelling in a document was being issued. It should work now. 2002-08-01 Adam Fedor * Version:0.8.0 Tue Jul 30 11:07:45 2002 Nicola Pero Patch by David Ayers (), modified: * Source/NSTextView.m ([-_syncTextViewsByCalling:withFlag:]): Compute the imp for each different textview, not just once for all, so that we should be able to manage the case where they are of different NSTextView subclasses. (NSTEXTVIEW_SYNC): Removed the argument; just use _cmd as the selector; updated all users. 2002-07-26 Adam Fedor * Source/NSStringDrawing.m (setupSpecialRun): Set run width (patch from Nicholas Roard). * Source/NSPrintInfo.m (+initPrintInfoDefaults): Add missing ';' Thu Jul 25 12:51:52 2002 Nicola Pero * Source/NSApplication.m ([+sharedApplication]): Rewritten; documented verbosely the method. ([-init]): Rewritten code checking, setting and managing NSApp; documented verbosely the method. 2002-07-22 Adam Fedor * Source/NSImageCell.m (-setImage:): Check if non-nil. Make sure size is not 0. Mon Jul 22 12:50:34 2002 Nicola Pero * Source/NSApplication.m (initialize_gnustep_backend): Remove useless instruction in loop looking for the backend. (Patch by David David Relson ). 2002-07-20 Adam Fedor * Source/NSWindow.m (-_initDefaults): Set background to windowBackgroundColor. 2002-07-19 Adam Fedor * Source/NSImage.m (-lockFocusOnRepresentation:): Make sure newly created cache image is valid. * Source/NSCursor.m (backgroundColorHint:): Remove extra NSLog. 2002-07-17 Adam Fedor * Version: 0.7.9 * Documentation/news.texi: Update * Documentation/gsdoc/*: Updated from source files. * Source/NSWorkspace.m: Comment fix. Wed Jul 17 15:24:54 2002 Nicola Pero * Headers/gnustep/gui/NSTextView.h ([-becomeKeyWindow]): Declare. Wed Jul 17 15:23:28 2002 Nicola Pero Patch from David Ayers : * Source/NSTextView.m ([-becomeKeyWindow]): Implemented. * Source/NSWindow.m ([-becomeKeyWindow]): Set the _f.is_key flag immediately after checking it. Tue Jul 16 19:40:04 2002 Nicola Pero * Source/NSWindow.m ([-cacheImageInRect:]): Intersect the rectangle with the window view frame, not the content view frame. ([-restoreCachedImage]): Draw in the window view, not in the content view. Mon Jul 15 15:55:21 2002 Nicola Pero * Source/NSWindow.m ([NSWindow +initialize]): Removed left-over NSLog call. 2002-07-14 Adam Fedor * Headers/gnustep/gui/NSTabView.h: Add missing method. 2002-07-14 Gregory John Casamento * Source/NSTableView.m: [-NSTableView _editNextEditableCellAfterRow:column:] corrected a problem with the loop which seeks the next editable cell. It was using incorrect values in the call to isCellEditable in the second for which was causing an exception to be thrown. * Source/NSOutlineView.m: ([-editColumn:row:withEvent:select:]) corrected a problem in this method which was causing the cell to be drawn incorrectly when editing a column other than the outline column. Fri Jul 12 12:55:17 2002 Nicola Pero Patch from Benhur Stein : * Headers/gnustep/gui/NSWindow.h (_cachedImage, _cachedImageOrigin): New instance variables. * Source/NSWindow.m ([-dealloc]): Release _cachedImage if needed. ([-display]): Invoke discardCachedImage. ([-cacheImageInRect:]): Implemented. ([-discardCachedImage]): Implemented. ([-restoreCachedImage]): Implemented. Fri Jul 12 11:49:50 2002 Nicola Pero Patch from Jeff Teunissen : * Source/NSMatrix.m ([-selectAll:]): Do nothing when in radio mode. 2002-07-11 Adam Fedor * Source/NSMenu.m (-_createWindow): Set to NOT work when in modal loop. * Images/common_RadioOff.tiff * Images/common_RadioOn.tiff * Images/common_outlineCollapsed.tiff * Images/common_outlineExpanded.tiff * Images/common_outlineUnexpandable.tiff: Transparency fixes (From deek@d2dc.net). 2002-07-11 Pierre-Yves Rivaille * Source/NSButtonCell.m ([-isOpaque]): New behaviour that is more consistent with our look and feel * Source/NSMatrix.m ([-drawCellAtRow:column:]): Draws matrix's background if needed and make the opaque ancestor redraw if the matrix is not opaque. ([-_drawCellAtRow:column:]): New private method to avoid looping ([-drawRect:]): Use _drawCellAtRow:column instead of drawCellAtRow:column. * Source/GSSimpleLayoutManager.m ([-rebuildForRange:delta:inTextContainer:]): Empty lines are not fixed height anymore. The height does now depend on the current font or on the current paragraph's settings. 2002-07-11 Gregory John Casamento * Source/NSOutlineView.m: ([-editColumn:row:withEvent:select:]) Needed to override this method in NSOutlineView since attempting to edit a cell in an NSOutlineView was causing a crash. Also, NSTableView's version of this method does not draw the button image correctly. * Source/NSTableView.m: Added a new methods [-_objectValueForTableColumn:row:] and [-_setObjectValue: forTableColumn:row:] to both this class and to NSOutlineView to allow more code reuse between the NSOutlineView and NSTableView. Mon Jul 8 13:55:13 2002 Nicola Pero * Source/NSSavePanel.m ([-createRowsForColumn:]): Removed usage of nested function which was causing the library not to compile on some platforms. (compareFilenames): New static function doing the same. 2002-07-05 Adam Fedor * Images/common_ArrowDown.tiff: Transparency fix. * Images/common_ArrowDownH.tiff: Idem. * Images/common_ArrowLeft.tiff: Idem. * Images/common_ArrowLeftH.tiff: Idem. * Images/common_ArrowRight.tiff: Idem. * Images/common_ArrowRightH.tiff: Idem. * Images/common_ArrowUp.tiff: Idem. * Images/common_ArrowUpH.tiff: Idem. (From deek@d2dc.net.) * Source/NSFont.h: Add documentation. * Source/NSImage.m (-compositeToPoint:fromRect:operation:): Log exception. (-dissolveToPoint:fromRect:fraction:): Idem. * Documentation/gsdoc/DefaultsSummary.gsdoc: Update. 2002-07-04 Fred Kiefer * Source/NSColor.m Changed initSystemColors() and [defaultsDidChange:] so that setting a system colour in the defaults file works again. Tue Jul 2 17:01:25 2002 Nicola Pero * Source/GNUmakefile (libgnustep-gui_HEADER_FILES): Removed - temporarily? - NSValidatedUserInterfaceItem.h - because that file does not exist on CVS at the moment. Tue Jul 2 16:52:28 2002 Nicola Pero Suggestion by Fred Kiefer, David Ayers : * Source/NSTextView.m ([-resignKeyWindow]): New method - if needed draw the insertion point, then stop blinking. * Headers/gnuste/gui/NSTextView.h: Declare the method. 2002-06-30 Fred Kiefer * Headers/gnustep/gui/NSToolbarItem.h Corrected #include so that it compiles. 2002-06-30 Gregory John Casamento * Headers/gnustep/gui/NSWindow.h: Added declaration for NSToolbar in NSWindow. * Headers/gnustep/gui/AppKit.h: Added #include lines for new header files in the AppKit.h file. * Source/NSWindow.m: Added code foe setToolbar method. * Source/GNUmakefile: Added NSToolbar and NSToolbarItem classes and headers to the makefile. * Source/NSOutlineView.m: Added dealloc for NSOutlineView to prevent memory leaks. * Source/NSSecureTextField.m: Removed some extraneous comments which were left from before I implemented the class. * Source/externs.m: Added notification constants for NSToolbar. * Source/NSToolbar.m: Added skeleton for implementation. * Source/NSToolbarItem.m: Added skeleton for implementation. * Headers/gnustep/gui/NSToolbar.h: Added. * Headers/gnustep/gui/NSToolbarItem.h: Added. 2002-06-28 Richard Frith-Macdonald * Source/NSWindow.m: ([-flushWindow]) don't flush context for non-retained windows unless flushing is enabled. Actually I'm not sure about this ... according to the documentation this method should never flush non-retained windows anyway. Thu Jun 27 11:49:57 2002 Nicola Pero * Source/NSTextField.m ([-textDidEndEditing:]): Set _text_object to nil too before posting the NSControlTextDidEndEditing notification. 2002-06-27 Richard Frith-Macdonald * Source/NSWorkspace.m: Fix error in testing base path for app. Wed Jun 26 17:50:39 2002 Nicola Pero * Source/NSTextField.m ([-textDidEndEditing:]): Post the NSControlTextDidEndEditingNotification *after* we end editing, not before! * Source/NSMatrix.m ([-textDidEndEditing:]): Idem. * Source/NSTableView.m ([-textDidEndEditing:]): Idem. 2002-06-24 Richard Frith-Macdonald * Source/NSWorkspace.m: Comitted Jeffs latest attemtpt at handling lookup of apps by name correctly ... but rewritten somewhat to remove one assumption I thought was unwarrented, and to try to conform to what the MacOS-X implementation actually does rather than what the MacOS-X documentation says it should do. Mon Jun 24 13:17:37 2002 Nicola Pero Originated by a patch/suggestion by Serg Stoyan , rewritten by myself. * Source/GSSimpleLayoutManager.m (defaultFontHeight): New static inline function computing the height of the user font of the default size. ([-boundingRectForGlyphRange:inTextContainer:]): Use defaultFontHeight() instead of hardcoded 12. ([-lineFragmentRectForGlyphAtIndex:effectiveRange:]): Idem. ([-rectForCharacterIndex:]): Idem. ([-rebuildForRange:delta:inTextContainer:]): Idem. ([-rebuildForRange:delta:inTextContainer:]): Idem. * Source/NSTextView.m ([-updateInsertionPointStateAndRestartTimer:]): Removed unused code setting font size to 12 if it was 0. Sat Jun 22 17:26:18 2002 Nicola Pero * Source/NSMenuView.m ([-itemAdded:]): Fixed highlighting of cells. Sat Jun 22 16:46:59 2002 Nicola Pero * Headers/gnustep/gui/NSInputManager.h ([-loadBindingsFromFile:]): Made it a public method. * Source/NSInputManager.m ([-initWithName:host:]): Changed the way in which keybindings loading is controlled via user defaults, now simpler and more powerful. Hopefully this is the final version. * Documentation/gsdoc/DefaultsSummary.gsdoc: Documented the keybinding defaults. * Documentation/gsdoc/DefaultsSummary.html: Regenerated. Sat Jun 22 15:19:31 2002 Nicola Pero * Headers/gnustep/gui/NSAffineTransform.h (rotationAngle): Instance variable removed. Optimize for case of unrotated views. * Source/NSAffineTransform.m ([+transform]): Do not set rotationAngle. ([+new]): Do not set rotationAngle. ([-appendTransform:]): Do not recompute rotationAngle. ([-init]): Do not set rotationAngle. ([-initWithTransform:]): Do not set rotationAngle. ([-prependTransform:]): Do not compute rotationAngle. ([-rotateByDegrees:]): Do not compute rotationAngle. ([-makeIdentityMatrix]): Do not set rotationAngle. ([-rotateByRadians:]): Do not compute the angle in degrees; do not compute rotationAngle. ([-setTransformStruct:]): Do not set rotationAngle. ([-scaleTo::]): Optimize out the case of rotated transforms. ([-setFrameRotation:]): Always call -rotationAngle. ([-rotationAngle]): Always compute rotationAngle. ([-concatenateWithMatrix:]): Do not set rotationAngle. ([-boundingRectFor:result:]): Always compute rotationAngle. Sat Jun 22 15:06:44 2002 Nicola Pero * Source/NSAffineTransform.m ([-isRotated]): Rewritten - efficient implementation by simply checking that the cross matrix elements are not 0. Sat Jun 22 14:59:36 2002 Nicola Pero * Source/NSAffineTransform.m ([-set]): Removed code to create a float[6] matrix which is no longer used. Sat Jun 22 14:53:27 2002 Nicola Pero * Headers/gnustep/gui/NSAffineTransform.h ([-rotateByAngle:]): Method removed. * Source/NSAffineTransform.m Idem. * Source/NSAffineTransform.m ([-setFrameRotation:]): Use rotateByDegrees:, not rotateByAngle: Sat Jun 22 14:52:19 2002 Nicola Pero * Source/NSView.m ([-rotateByAngle:]): Use -rotateByDegrees:, not -rotateByAngle:, to rotate the affine transform. Sat Jun 22 14:46:35 2002 Nicola Pero * Headers/gnustep/gui/NSAffineTransform.h ([+matrixFrom:]): Method removed. * Source/NSAffineTransform.m: Idem. Sat Jun 22 14:34:15 2002 Nicola Pero * Source/NSView.m ([-_rebuildCoordinates]): Use -invert, not -inverse, to invert a NSAffineTransform. Sat Jun 22 14:26:06 2002 Nicola Pero * Headers/gnustep/gui/NSAffineTransform.h, * Source/NSAffineTransform.m ([-scaleBy::]): Method removed. Better use the standard scaleXBy:yBy: instead. 2002-06-22 Adam Fedor * Source/NSApplication.m (-finishLaunching): Revert last change. 2002-06-21 Adam Fedor * Source/NSApplication.m (-finishLaunching): Use makeKeyWindow not becomeKeyWindow. * Source/NSWindow.m (-canBecomeKeyWindow): Conform to docs. don't check if visible or miniaturized. (-canBecomeMainWindow): Idem for miniaturized only. (-makeKeyWindow): Check if visible, miniaturized. (-makeMainWindow): Idem. Wed Jun 19 15:54:39 2002 Georg Fleischmann * Source/NSMenu.m ([-performActionForItemAtIndex:]): Select item for any kind of popup action. 2002-06-17 Richard Frith-Macdonald * Source/NSWorkspace.m: Vague attempt to improve locating of apps 2002-06-15 Gregory John Casamento * Source/NSOutlineView.m a number of improvements: -setDataSource now uses the CHECK_REQUIRED macro to check for required methods instead of iterating over a list of strings. -expandItem:expandChildren: corrected bug which prevented the method from working correctly when expandChildren is YES. -collapseItem:collapseChildren: corrected bug which prevented the method from working correctly when expandChildren is YES. 2002-06-12 Alexander Malmberg * Source/GSServicesManager.m (-rebuildServicesMenu): Disable auto- enabling while updating the menu. 2002-06-12 Alexander Malmberg * Source/GSServicesManager.m (-loadServices): Only update timestamp when the file has changed. (-rebuildServicesMenu): Correctly remove the old menu items. Tue Jun 11 14:11:22 2002 Nicola Pero Patch by Jeff Teunissen with changes by myself: * TextConverters/RTF/RTFConsumer.h (GSTextConsumer): Added ivar _class. * TextConverters/RTF/RTFConsumer.m: Changed everywhere to support the caller specifying the type of class it needs to be produced. * Headers/gnustep/gui/GSTextConverter.h: Added a class argument to have the text converter save the results of parsing into attributed strings of different classes depending on the case. * Source/NSAttributedString.m: When parsing using the text converters, have them create attributed strings of our own class. Tue Jun 11 13:35:41 2002 Nicola Pero * TextConverters/RTF/GNUmakefile.preamble (ADDITIONAL_CPPFLAGS): Use -Wall when compiling. 2002-06-10 Adam Fedor * Version 0.7.8 * Documentation/news.texi: Update 2002-06-11 Alexander Malmberg * Source/GSServicesManager.m, Headers/gnustep/gui/GSServicesManager.h: Fix handling of NSMenuItem:s (were being handled as NSCell:s in many places; this broke submenus of the services menu). 2002-06-10 Georg Fleischmann * Source/NSControl.m ([NSControl -mouseDown:]): Set NSPeriodicMask for continuous cells, and 0 otherwise. 2002-06-10 Georg Fleischmann * Model/GMAppKit.m ([NSCell -encodeWithModelArchiver:]): Restore sendActionMask. 2002-06-10 Alexander Malmberg * Source/GSServicesManager.m (-performService:...): Create and use a local copy of the NSPasteboard. 2002-06-08 Alexander Malmberg * Source/NSWindow.m (-_initDefaults): Make _miniaturizedImage default to the application icon. 2002-06-08 Alexander Malmberg * Source/GSServicesManager.m (-doService:): Only try to write/read selection if the send/return type isn't nil. Fix calls to NSRunAlertPanel() so they don't do printf() expansion on the message twice. Thu Jun 6 08:29:42 2002 Nicola Pero * Source/NSScroller.m ([NSScroller -setFrame:]): Do not add scroller arrows if they aren't already there (Patch by Jeff Teunissen). Thu Jun 6 07:23:59 2002 Nicola Pero * Source/NSApplication.m ([NSApplication -terminate:]): Send the -applicationShouldTerminate: messages from self, instead of from the sender of -terminate: (Patch by Jeff Teunissen). 2002-06-06 Richard Frith-Macdonald * Source/NSBundleAdditions.m: patch by Jeff Teunissen to log loading only as debug. WWed Jun 5 14:09:04 2002 Nicola Pero * Source/GSKeyBindingAction.h: Cleaned syntax of #endif to remove compiler warnings. 2002-06-03 Adam Fedor * Source/GSDisplayServer.m (-beep): New method. * Source/NSGraphicsContext.m (-NSBeep): Use it. 2002-06-02 Alexander Malmberg Add basic color picker bundles: the wheel color picker and the standard rgb/hsb/cmyk/gray picker. * GNUmakefile: Add ColorPickers subproject. * ColorPickers/: New files. Sun May 26 13:46:58 2002 Nicola Pero * Source/NSMatrix.m ([-_privateFrame:mode:numberOfRows:numberOfColumns:]): Do not make the cell size integers. Any approximation is a loss of information, and by approximating without reason at this stage we are downgrading the information we pass to the backend - information which the backend can use to render better. A longer explanation of why this change is appropriate in the source code. ([-_rebuildLayoutAfterResizing]): New method with code taken from -resizeWithOldSuperviewSize:; rewritten not to compute changes incrementally, and not to round up sizes without reason. ([-setFrame:], [-setFrameSize:]): New methods. ([-resizeWithOldSuperviewSize:]): Removed. 2002-05-17 Georg Fleischmann * gui/Source/GSSimpleLayoutManager.m ([-lineLayoutIndexForPoint:]): cast the count of _lineLayoutInformation to integer in MAX(). test if max is zero. ([-glyphRangeForLineLayoutRange:]): test if count of _lineLayoutInformation is zero. ([-drawLinesInLineRange:]): test if count of _lineLayoutInformation is zero (Modification by Nicola). Wed May 22 13:02:02 2002 Nicola Pero * Source/Functions.m (NSHighlightRect): Do not flush the window. * Source/NSSplitView.m ([-mouseDown:]): Replace manual calls to PS composite operators with NSHighlightRect; manually flush the window after highlighting the appropriate rects. * Source/NSTableHeaderView.m: Everywhere, added a flush window after each call to NSHighlightRect. Tue May 21 16:54:20 2002 Nicola Pero * Source/NSBrowser.m ([-setPath:]): Fixed bug - column variable which was declared unsigned instead of int (Patch by Andreas Bohne ). 2002-05-17 Fred Kiefer * Source/NSMenuView.m [rectOfItemAtIndex:] for horizontal orientation set items from left to right. [locationForSubmenu:] for horizontal orientation set submenu below the item in self. 2002-05-13 Georg Fleischmann * gui/Source/NSPrintOperation.m [NSPrintOperation(GSEPSPrintOperation) -createContext:]: add local autorelease pool to remove autorelease of context. 2002-05-13 Fred Kiefer * Source/NSColor.m In initSystemColors() and systemColorWithName() replaced implementation of system colours with named colours from a stored colour list. Added conversion cache for named colours. This allows easy configuration of system colours while keeping the same performance. * Source/NSFont.m Moved the caching of fonts from [initWithName:matrix:] to [fontWithName:matrix:] so that unneeded fonts are no longer created. In [labelFontSize], [smallSystemFontSize] and [systemFontSize] get values from defaults if available. In getNSFont() removed hard coded 12, will be relaced by default for NSUserFontSize. Sun May 12 10:08:34 2002 Nicola Pero * Headers/gnustep/gui/NSTextView.h: Removed ivar _tvf.is_in_dealloc. * Source/NSTextView.m ([-dealloc]): Set the textStorage to nil when releasing it; run the other dealloc cleanups during the recursive invocation rather than during the first invocation; use the _textStorage ivar instead of _tvf.is_in_dealloc. (Patch by Alexander Malmberg ). 2002-05-11 Richard Frith-Macdonald * Source/NSStringDrawing.m: drawRun() use GSFromUnicode() API for conversion. Fri May 10 11:24:38 2002 Nicola Pero * Source/NSRulerView.m ([NSRulerView -dealloc]): Do not release the scrollview (Suggested by Benhur Stein ). 2002-05-07 Adam Fedor * Source/NSFont.m (-initWithName:matrix:): If matrix is ident, set matrixExplicitlySet to NO (-set): If the focus view is flipped and matrix not set, set our flipped font equivalent. 2002-05-06 Adam Fedor * Source/NSGraphicsContext.m: More documentation. * Source/NSStringDrawing.m (drawRun): stroke the underline. 2002-05-02 Adam Fedor * configure.ac: Update to autoconf 2.53 from configure.in * configure, Headers/gnustep/gui/config.h.in: Regenerate. * Headers/gnustep/gui/config.h.bot: Remove. 2002-05-01 Adam Fedor * Source/NSView.m (-resizeWithOldSuperviewSize:): Check object before getting struct. (Solaris limitation). 2002-04-30 Adam Fedor * Version: 0.7.7 * Documentation/news.texi: Update * NEWS: Regen. Fri Apr 26 12:45:07 2002 Gregory John Casamento * Source/NSOutlineView.m: Added a patch by Alex Malmberg to correct behavior of the NSOutlineView when the outline column is not in the leftmost position. Wed Apr 24 10:54:47 2002 Nicola Pero * Model/GMAppKit.m ([NSMenuItem -initWithModelUnarchiver:]): Do not set submenu if it's nil; decode target in normal place. (Suggestion by Georg Fleischmann ). 2002-04-23 Adam Fedor * Source/GSDisplayServer.m (mouseLocationOnScreen:window:): New * Source/NSScreen.m (screenNumber): New. * Source/NSWindow.m (mouseLocationOutsideOfEventStream): Use them. * Tools/gpbs.m: Remove. 2002-04-22 Adam Fedor * Headers/gnustep/gui/GSDisplayServer.h: Add attribute strings. New window::: method. * Headers/gnustep/gui/NSWindow.h: Add screen ivar plus some extra reserved ivars. * Source/GSDisplayServer.m: Add attribute strings. (window::::): New (window:::): Implement in terms of window:::: * Source/NSWindow.m: (defaultDepthLimit): Implement. (dealloc): Release _screen. (_initBackendWindow:): Interface change: pass frame rect to window server window creation (not content rect). Pass screen number. (initWithContentRect:...): Save screen, depthLimit; (canStoreColor): Check depthLimit correctly. (deepestScreen): Return screen. (screen): Idem. Sun Apr 21 12:57:36 2002 Nicola Pero * Model/GMAppKit.m ([NSWindow -encodeWithModelArchiver:]): If not on gnustep-gui, always add NSTitledWindowMask to non NSBorderless windows to work around a bug in OpenStep (patch by Georg Fleischmann with changes). Sun Apr 21 11:44:01 2002 Nicola Pero * Source/libgnustep-gui.def: Added __objc_class_name_NSOutlineView. 2002-04-19 Richard Frith-Macdonald * Tools/gpbs.m: If given -NSHost specification for the current host, ignore it and use the standard name. 2002-04-18 Ludovic Marcotte * Source/NSOutlineView.m and Headers/gnustep/gui/NSOutlineView.h: Fixed some issues with the delegate methods. Thu Apr 18 11:14:22 2002 Nicola Pero * Headers/gnustep/gui/AppKitDefines.h (APPKIT_DECLARE): Updated Windows DLL import/export #define machinery to the new gnustep-make conventions. 2002-04-17 Pierre-Yves Rivaille * Source/NSMenuItem.m: ([NSMenuItem -initWithCoder:], [NSMenuItem -encodeWithCoder:]) New encoding scheme. With the new scheme, menus can be loaded properly from a gorm file. 2002-04-16 Richard Frith-Macdonald * Source/NSPasteboard.m: Improve logging on server startup. Tue Apr 16 11:55:30 2002 Nicola Pero * Tools/gpbs.m (main): Fixed typo in log message - use gpbs, not gdnc, as log prefix. 2002-04-14 Adam Fedor * Headers/gnustep/gui/NSGraphicsContext.h (GSCurrentDevice): Change from DPScurrentgcdrawable. (GSSetDevice): Change from DPSsetgcdrawable. * Headers/gnustep/gui/DPSOperators.h: Idem. * Headers/gnustep/gui/GSMethodTable.h: Idem. * Headers/gnustep/gui/PSOperators.h: Idem. * Source/NSGraphicsContext.m: * Headers/gnustep/gui/GSDisplayServer.h: Remove findwindow::::. * Source/GSDisplayServer.m: Likewise. 2002-04-11 Adam Fedor * Headers/gnustep/gui/config.h.bot: New define if rint missing * Source/NSBrowser.m: Use it. * Source/NSRulerView.m: Idem. * Source/NSMatrix.m: Idem. * Source/NSClipView.m: Idem. Thu Apr 11 22:51:09 2002 Nicola Pero * Source/NSButtonCell.m ([-cellSize]): Use more space around bezeled/bordered buttons not containing only an image so that they get more pleasantly autosized without manual intervention. * Source/GSMemoryPanel.m ([-init]): Do not manually adjust the button size. Thu Apr 11 22:15:51 2002 Nicola Pero * Headers/gnustep/gui/NSAttributedString.h: Do not #include the whole , but rather use the minimum @class and #include needed to have it parsed - so that everything compiles faster. * Headers/gnustep/gui/NSProgressIndicator.h: Added missing @class and #include directives. * Headers/gnustep/gui/NSTextStorage.h: Added missing #include. * Headers/gnustep/gui/NSTextView.m: Added missing @class. * Source/GSComboSupport.m: Added missing #includes. * Source/GSInfoPanel.m: Idem. * Source/GSServicesManager.m: Idem. * Source/NSApplication.m: Idem. * Source/NSBox.m: Idem. * Source/NSBrowser.m: Idem. * Source/NSBrowserCell.m: Idem. * Source/NSBundleAdditions.m: Idem. * Source/NSButtonCell.m: Idem. * Source/NSCell.m: Idem. * Source/NSColorPanel.m: Idem. * Source/NSColorPicker.m: Idem. * Source/NSColorWell.m: Idem. * Source/NSComboBoxCell.m: Idem. * Source/NSControl.m: Idem. * Source/NSFontPanel.m: Idem. * Source/NSHelpManager.m: Idem. * Source/NSLayoutManager.m: Idem. * Source/NSMatrix.m: Idem. * Source/NSMenu.m: Idem. * Source/NSMenuItem.m: Idem. * Source/NSMenuView.m: Idem. * Source/NSOpenPanel.m: Idem. * Source/NSOutlineView.m: Idem. * Source/NSProgressIndicator.m: Idem. * Source/NSSavePanel.m: Idem. * Source/NSScroller.m: Idem. * Source/NSScrollView.m: Idem. * Source/NSSpellChecker.m: Idem. * Source/NSStepper.m: Idem. * Source/NSTableColumn.m: Idem. * Source/NSTableHeaderView.m: Idem. * Source/NSTableView.m: Idem. * Source/NSText.m: Idem. * Source/NSTextField.m: Idem. * Source/NSTextFieldCell.m: Idem. * Source/NSTextView.m: Idem. * Source/NSWindow.m: Idem. * Source/NSMatrix.m ([-dealloc]): End editing if while editing. Thu Apr 11 16:20:54 2002 Nicola Pero * Headers/gnustep/gui/NSResponder.h: Include NSObject.h, not NSCoder.h; declare @class NSCoder. Thu Apr 11 15:37:31 2002 Nicola Pero * Source/GSTextStorage.m ([GSTextStorage -sanity]): Renamed to -_sanity, and changed so that we always compile this in so that regression testcases can use it. Thu Apr 11 08:54:16 2002 Nicola Pero * Source/GSTable.m ([+new]): New method working around a bug in OSX ... with this, except for #include fixups, the box code works on OSX. (Suggested by Helge Hess). 2002-04-10 Adam Fedor * Headers/gnustep/gui/config.h.bot: New file implements RINT defs. * Headers/gnustep/gui/config.h.in: Regen. * Source/NSBrowser.m: Remove RINT defs. * Source/NSRulerView.m: Likewise. * Headers/gnustep/gui/AppKitExceptions.h: Add GNUstep exception. * Source/externs.m: Idem. * Headers/gnustep/gui/DPSOperators.h: Remove currentgstate, gstate * Headers/gnustep/gui/PSOperators.h: Idem. * Headers/gnustep/gui/GSMethodTable.h: Idem. * Headers/gnustep/gui/NSGraphicsContext.h: Idem. * Source/NSGraphicsContext.m: Idem. Redefine subclassResponsibility to throw our own exception. * Headers/gnustep/gui/GSDisplayServer.h: Prefix functions with APPKIT_DECLARE. Fix windowbacking def. * Source/libgnustep-gui.def: Add GSDisplayServer. Tue Apr 9 23:04:43 2002 Nicola Pero * Source/GSTable.m ([-setFrame:], [-setFrameSize:]): New methods. ([-resizeWithOldSuperviewSize:]): Removed; code moved into -_updateForNewFrameSize:. ([-_updateForNewFrameSize:]): New method. Everywhere: use [super setFrameSize:xxx], not [self setFrameSize:xxx] to set the frame size after autoresizing operations. * Source/GSTable.m ([-lockFocusInRect:, -unlockFocusNeedsFlush:]): Removed. Tue Apr 9 22:28:12 2002 Nicola Pero Patch by Alexander Malmberg : * Source/NSScroller.m ([-setFloatValue:knobProportion:]): Make sure we mark the scroller knob slot as needing redisplay. 2002-04-08 Ludovic Marcotte * Source/NSMenuView.m (-dealloc): Modified the dealloc method so that we remove the menu view from the menu list of observers. We could otherwise receive notifications on a dealloc'ed object and segfault. 2002-04-06 Adam Fedor * Source/NSView.m (-_cleanupPrinting): Private method to cleanup after an exception. * Source/NSPrintOperation.m (-_runOperation): Use it. 2002-04-03 Fred Kiefer * Images/common_RightTabStop.tiff * Images/common_LeftTabStop.tiff * Images/common_CenterTabStop.tiff * Images/common_DecimalTabStop.tiff * Images/GNUmakefile Added new icons for tab stop display in ruler views and install them from the make file. * Source/NSRulerView.m Added method [mouseDown:]. Added safety check for unchanged client view in [setClientView:]. In [drawHashMarksAndLabelsInRect:] use [NSFont smallSystemFontSize] instead of hard coded size. * Source/NSRulerMarker.m Corrected [drawRect:]. * Source/NSTextView.m In [updateRuler] set the client view of the ruler view. 2002-04-05 Adam Fedor * Source/NSApplication.m (initialize_gnustep_backend): Better debugging info. * Source/NSPrintOperation.m ([NSPrintOperation -destroyContext]): Remove old context method. 2002-04-06 Pierre-Yves Rivaille * Source/NSOutlineView.m ([NSOutlineView -performDragOperation:]): Fixed issue on drag'n'drop. Fri Apr 5 00:13:41 2002 Nicola Pero * TextConverters/RTF/GNUmakefile.preamble (ADDITIONAL_LIB_DIRS): Fixed typo so that it compiles again. 2002-04-03 Fred Kiefer * Source/NSRulerView.m Added handling for missing rint function, copied over from NSBrowser. * Source/NSTextView.m Made [updateRuler] save against missing rulers. 2002-04-02 Adam Fedor * Documentation/gsdoc/DefaultsSummary.gsdoc: Update. * Documentation/gsdoc/Gui.gsdoc: Idem. * Headers/gnustep/gui/NSAffineTransform.h: Tidy for autogsdoc. * Headers/gnustep/gui/NSButtonCell.h: Idem. * Headers/gnustep/gui/NSCell.h: Idem. * Headers/gnustep/gui/NSClipView.h: Idem. * Headers/gnustep/gui/NSFont.h: Idem. * Headers/gnustep/gui/NSFontManager.h: Idem. * Headers/gnustep/gui/NSOutlineView.h: Idem. * Headers/gnustep/gui/NSRulerView.h: Idem. * Headers/gnustep/gui/NSSavePanel.h: Idem. * Source/GSHbox.m: Idem. * Source/GSVbox.m: Idem. * Source/NSCachedImageRep.m: Idem. * Source/NSCell.m: Idem. * Source/NSClipView.m: Idem. * Source/NSDocument.m: Idem. * Source/NSFont.m: Idem. * Source/NSFontManager.m: Idem. * Source/NSFontPanel.m: Idem. * Source/NSFormCell.m: Idem. * Source/NSGraphicsContext.m: Idem. * Source/NSHelpManager.m: Idem. * Source/NSImage.m: Idem. * Source/NSPanel.m: Idem. * Source/NSRulerView.m: Idem. * Source/NSStepperCell.m: Idem. * Source/NSText.m: Idem. 2002-04-02 Adam Fedor * Source/NSGraphicsContext.m (-GSDefineGState): Document new definition of method. * Source/NSWindow.m ([NSWindow -_initBackendWindow:]): Change to match new def. * Source/NSView.m ([NSView -lockFocusInRect:]): Idem. 2002-04-02 Pierre-Yves Rivaille * Source/NSTableView.m ([NSTableView -scrollRowToVisible:]): ([NSTableView -scrollColumnToVisible:]): Bugfix in getting the visibleRect. Tue Apr 2 10:28:46 2002 Nicola Pero * Source/NSButtonCell.m ([-setSound:]): Retain the sound. ([-dealloc]): Release it. * Source/NSTableView.m ([-dealloc]): Abort editing. Tue Apr 2 09:40:48 2002 Nicola Pero * Headers/gnustep/gui/NSApplication.h: Tidied up some #include and @class machinery for efficiency. * Headers/gnustep/gui/NSDocument.h: Idem. * Headers/gnustep/gui/NSDragging.h: Idem. * Headers/gnustep/gui/NSImage.h: Idem. * Headers/gnustep/gui/NSImageRep.h: Idem. * Headers/gnustep/gui/NSMenu.h: Idem. * Headers/gnustep/gui/NSMenuItem.h: Idem. * Headers/gnustep/gui/NSWindowController.h: Idem. * Headers/gnustep/gui/NSWorkspace.h: Idem. * Source/NSApplication.m: Added missing #includes. * Source/NSComboBox.m: Idem. * Source/NSCustomImageRep.m: Idem. * Source/NSEPSImageRep.m: Idem. * Source/NSFontManager.m: Idem. * Source/Functions.m: Idem. * Source/NSHelpManager.m: Idem. * Source/NSMenu.m: Idem. * Source/NSMenuItem.m: Idem. * Source/NSMenuItemCell.m: Idem. * Source/NSPopUpButtonCell.m: Idem. * Source/NSResponder.m: Idem. * Source/NSSpellChecker.m: Idem. * Source/NSSplitView.m: Idem. * Source/NSTableHeaderView.m: Idem. * Source/NSText.m: Idem. * Source/NSWindow.m: Idem, plus removed unused one. * Source/NSInputManager.m: Include AppKit/NSGraphics.h, not AppKit/NSApplication.h, for NSBeep (). 2002-04-01 Gregory Casamento * Source/NSOutlineView.m Added methods to implement autosaving of expandedItems. 2002-04-01 Adam Fedor * Source/NSApplication.m (-init): Retain the server and default context. (-dealloc): Release server and context. * Source/NSGraphicsContext.m (+restoreGraphicsState): Implement. (+saveGraphicsState): Likewise. ( destroyContext): Remove. (-restoreGraphicsState): Implement. (-saveGraphicsState): Likewise. Add some documentation. * Source/NSWindow.m ([NSWindow -dealloc]): Check for context before undefining gstate. ([NSWindow -miniaturize:]): Don't create miniwindow if server can't handle it. * Source/GSDisplayServer.m (-appOwnsMiniwindow): Implement. 2002-04-01 Gregory Casamento * Source/NSOutlineView.m Replaced dictionaries w/ NSMapTable. NSDictionary required items of the NSOutlineView to implement the NSCopying protocol which is incorrect. * Headers/gnustep/gui/NSOutlineView.h Replaced dictionaries in class declaration. 2002-03-31 Fred Kiefer * Source/Window.m [setFrame:display:] do nothing if the frame after all the corrections did not change from its current extend. In [makeKeyWindow] and [makeMainWindow] do nothing if the window is already key/main. 2002-03-31 Pierre-Yves Rivaille * Source/NSMatrix.m : Use integer coordinates for _cellSize when autoresizing. * Source/NSBox.m ([NSBox -calcSizesAllowingNegative:]) (case NSAtBottom & case NSAtTop): Use integer coordinates and small cosmetic changes. * Source/NSOutlineView.m ([NSOutlineView -initWithCoder:]): Bugfix. * Source/NSClipView.m ([NSClipView -constrainScrollPoint:]): Make sure the difference between old position and new position is an integer vector. * Source/NSTableView.m ([NSTableView -initWithCoder:]): Bugfix. 2002-03-30 Adam Fedor * gui/Model/GMAppKit.m (-encodeWithModelArchiver:): Encode an empty array rather than crash. * gui/Model/GMArchiveObjects.m (-colorSpaceName): Implement for NSObject to to work around a bug in MacOSX 10.1.x * gui/Model/GNUmakefile: Include libgmodel with building nib2gmodel. * gui/Model/IBClasses.m: Fix debug for compiling on Darwin. 2002-03-29 Pierre-Yves Rivaille * Source/NSTableView.m ([NSTableView -encodeWithCoder:]): ([NSTableView -initWithCoder:]): encodes _allowsColumnReordering. * Source/NSTableView.m (computeNewSelection): fixed bug when updating selection. * Source/NSTableColumn.m ([NSTableColumn -encodeWithCoder:]): ([NSTableColumn -initWithCoder:]): new encoding scheme (fixes a bug when decoding a tableview) Thu Mar 28 11:08:56 2002 Nicola Pero Patches by Jeff Teunissen : * Source/NSWorkspace.m ([-homeDirectoryImage]): New method. ([-iconForFile:]): Use the new method to return an image for NSHomeDirectory(). * Images/GNUmakefile (IMAGE_FILES): Added Common_HomeDirectory.tiff. * Images/common_HomeDirectory.tiff: New image created by simply putting common_Home.tiff over common_Folder.tiff. 2002-03-27 Adam Fedor * Splitup backend into Server and Graphics Contexts. Revise list of graphics operators for better functionality. * Headers/gnustep/gui/GSDisplayServer.h: New file. * Headers/gnustep/gui/DPSOperators.h: Revised set of operators. * Headers/gnustep/gui/PSOperators.h: Likewise. * Headers/gnustep/gui/GSMethodTable.h: Likewise. * Headers/gnustep/gui/NSGraphics.h: Un-inline/revise functions. * Headers/gnustep/gui/NSGraphicsContext.h: Update for MacOSX compatibility, move server methods to GSDisplayServer, Revise list of operators. * Source/GSDisplayServer.m: New file. * Source/Functions.m: Move uninlined functions from NSGraphics.h here. * Source/NSAffineTransform.m (-set): Update to new method. * Source/NSApplication.m: Load gnustep-back backend by default. Update for new server class. * Source/NSCursor: Use new methods from server. * Source/NSEvent.m: Likewise. * Source/NSFont.m: Likewise. * Source/NSImageRep.m: Likewise. * Source/NSScreen.m: Likewise. * Source/NSView.m: Likewise. * Source/NSWindow.m: Likewise. * Source/NSWorkspace.m: Likewise. * Source/NSGraphicsContext.m: Move server methods, revised list of operators Thu Mar 28 03:43:49 2002 Nicola Pero * Source/libgnustep-gui.def: Removed __objc_class_name_GSTransparentView. 2002-03-27 Gregory John Casamento * Source/NSOutlineView.m make more efficient for large sets of items * Headers/gnustep/gui/NSOutlineView.h Added new ivar to cache item level information. 2002-03-26 Pierre-Yves Rivaille * Source/NSBundleAdditions.m ([NSNibOutletConnector -establishConnection]): Only capitalize the first letter of the outlet in order to have the accessor method's name. * Source/NSTableView.m ([NSTableView initWithCoder:]): Use @"NSTableView" insted of NSStringFromClass([self class]) when looking for version. Call -tile to set up everything properly. * Source/NSScrollView.m ([NSScrollView encodeWithCoder:] & [NSScrollView initWithCoder:]): Encode/decode _hasHeaderView, _hasCornerView & _headerClipView. Don't recreate cornerView & headerView at decoding time, because they are encoded by NSView anyway. Tue Mar 26 14:33:24 2002 Nicola Pero * Source/GSTable.m: Removed GSTransparentView and replaced it with a simple NSView. * Headers/gnustep/gui/GSTable.h: Idem. 2002-03-24 Adam Fedor * Source/NSStringDrawing.m (drawRun): Use new unicode functions for string conversion (patch from yjchen@ms7.url.com.tw). Mon Mar 25 00:12:05 2002 Nicola Pero * Source/GSSimpleLayoutManager.m ([-setNeedsDisplayForLineRange:inTextContainer:]): Fixed typo introduced by me in last change (reported by Alexander Malmberg). 2002-03-23 Adam Fedor * Version: 0.7.6 Sat Mar 23 21:49:10 2002 Gregory John Casamento * Source/NSOutlineView.m: Minor cleanup. Removed some unecessary NSLog statements. Sat Mar 23 11:34:10 2002 Gregory John Casamento * Headers/gnustep/gui/NSOutlineView.h: Added dictionary to speed up generation of the _items list. Also, this keeps the outline view from being updated without an explicit call to reloadData. * Source/NSOutlineView.m: Implemented -[NSOutlineView reloadItem:] and -[NSOutlineView reloadItem:reloadChildren:] and improved -[NSOutlineView reloadData] Fri Mar 22 13:09:03 2002 Nicola Pero * Headers/gnustep/gui/NSRulerView.h: Merged new code from Diego Kreutz (kreutz@inf.ufsm.br). * Source/NSRulerView.m: Class contributed by Diego Kreutz (kreutz@inf.ufsm.br). I did some minor changes. Fri Mar 22 11:40:44 2002 Nicola Pero * Model/IMLoading.m: Include AppKit/NSNibLoading.h for awakeFromNib. Fri Mar 22 11:35:20 2002 Nicola Pero * Source/GSSimpleLayoutManager.m ([GSSimpleLayoutManager -setNeedsDisplayForLineRange:inTextContainer:]): Check that the whole range of lines, not just the first one, is in the range we know about (Suggestion from Alexander Malmberg). 2002-03-22 Richard Frith-Macdonald * Tools/exampleInfo.plist: Fix illegal character in plist ... use unicode escape. Bug reported by Yen-Ju Chen 2002-03-22 Pierre-Yves Rivaille * Source/NSOutlineView.h Moved NSOutlineViewDropOnItemIndex from enum to int. * Source/NSOutlineView.m: Drag'n'drop support. * Source/NSTableView.m ([NSTableView -selectRow:byExtendingSelection:]): rowIndex == _numberOfRows was not catched as invalid. * Source/NSTableView.m ([NSTableView -draggingUpdated:sender]): Less NSLog. * Source/NSTableHeaderView.m ([NSTableHeaderView -mouseDown:]): fixed drawing issue. 2002-03-21 Pierre-Yves Rivaille * Source/NSEvent.m ([NSEvent +startPeriodicEventsAfterDelay:withPeriod:]): ([NSEvent +_registerRealTimer:]): The first periodic event is sent after delay seconds. It was incorrectly sent after delay+period seconds. * Source/NSScroller.m ([NSScroller -drawParts]): Set the scrollbuttons to send actions on mouseDown instead of mouseUp. Changed the initial delay (to reflect NSEvent changes) and the period so that it feels smoother. 2002-03-20 Richard Frith-Macdonald * configure.in: Use info from make package, and look in GNUstep directories first for versions of libraries and headers to use. * configure: regenerate 2002-03-19 Adam Fedor * Source/NSWindow.m ([NSWindow -sendEvent:]): In resize event, get new origin from event location field. * Source/GSFontInfo.m ([GSFontInfo +encodingForRegistry:encoding:]): Handle big5 encoding (patch from Yen-Ju Chen) * Documentation/news.texi: Update. Mon Mar 18 16:00:34 2002 Nicola Pero * Source/NSTableView.m ([-draggingUpdated:sender]): Make the gui compile again. 2002-03-17 Pierre-Yves Rivaille * Source/GSTextStorage.m ([GSTextStorage -replaceCharactersInRange:withString:]): Only keep attribute #0 when removing it would remove all attributes. (patch by Alexander Malmberg) * Source/NSTableView.m ([NSTableView -deselectAll:]): Fix bug. * Source/NSTableView.m : initial drag'n'drop support. 2002-03-14 Richard Frith-Macdonald * Headers/AppKit/NSGraphicsContext.h: Add NSWindowDepth typedef and reposition STRICT_OPENSTEP. Really needs someone who actually wants to use this option to submit patches though. Mon Mar 11 15:05:02 2002 Nicola Pero * Source/libgnustep-gui.def (__objc_class_name_GSGlyphLocation,__objc_class_name_GSLineLayoutInfo, __objc_class_name_GSRunStorage, __objc_class_name__GSRunSearchKey, __objc_class_name_GSTextContainerLayoutInfo): Removed (Suggested by Fred Kiefer). 2002-03-10 Richard Frith-Macdonald * Source/NSPasteboard.m: Start gpbs for other server automatically. Improve log messages. * Tools/gpbs.m copied in fron gpbs. 2002-03-09 Richard Frith-Macdonald * Source/NSPasteboard.m: Use NSHost to look for alternative servers. * Tools/gpbs.m: Use -NSHost to specify alternative server names. Sat Mar 9 12:22:05 2002 Adam Fedor * Source/GSSimpleLayoutManager.m: Check that object is not nil before asking for width (assigning structs from nil objects crashes Solaris). Several locations. 2002-03-06 Richard Frith-Macdonald * Source/NSScrollView.m: Go through adding checks to avoid crashes where _contentView has been set to nil through removal of the subview. Thu Mar 7 08:29:25 2002 Nicola Pero * Source/NSScrollView.m ([-dealloc]): Use DESTROY, not TEST_RELEASE, fixing the segmentation fault on deallocating. Thu Mar 7 08:15:21 2002 Nicola Pero * Source/NSCell.m ([-initTextCell:]): Use system font, not user font. ([-initImageCell:]): Idem. ([-setType:]): Idem. (Patch from Stefan Urbanek ). 2002-03-06 Richard Frith-Macdonald * Source/GSTextStorage.m: Applied fix for left-over attributes at end of string. Patch supplied by Alexander Malmberg . Reformatting to conform to GNUstep standards, and optimisation by me. * Source/NSView.m: -dealloc remove subviews from this view as suggested by Nicola. 2002-03-05 Gregory John Casamento * Source/NSOutlineView.m modified to the methods which make calls to the datasource to retrieve children starting from zero instead of one. 2002-03-04 Gregory John Casamento & Pierre-Yves Rivaille * Source/NSTableView.m added methods to handle posting of notifications as well as methods to handle making appropriate delegate calls. Also made necessary changes in other methods ([NSTableView mouseDown:], [NSTableView selectAll], etc...) to use them. (PYR) * Source/NSOutlineView.m overrode notification methods and delegate methods defined in NSTableView. (GJC) This was done as a collaborative effort to ensure that NSOutlineView is more maintainable and benefits from updates made to NSTableView. Also made changes to increase spacing between "knob" and text * Images/common_outlineUnexpandable.tiff lightened image to make it stand out more when an item cannot be expanded. (GJC) 2002-03-04 Richard Frith-Macdonald * Headers/AppKit/NSEvent.h: Modify to support MacOS-X documented API (rather than just the currently implemented one). * Source/NSEvent.m: ditto. 2002-03-04 Pierre-Yves Rivaille * Source/NSTableView.m ([NSTableView -superviewFrameChanged:]): fix a bug when resizing a tableview with autoresizesAllColumnsToFit set to YES. Mon Mar 4 09:09:02 2002 Nicola Pero * Source/NSSavePanel.m: Do not include AppKit/IMLoading.h. 2002-03-04 Richard Frith-Macdonald * Source/NSSavePanel.m: Hack around accessory view addition/removal code - fix a few bugs and simplify by relying more on autoresizing and less on manual computation of resizing values. Now works with ProjectCentre on my system. 2002-03-03 Gregory Casamento * Images/common_outlineUnexpandable.tiff added. * Images/GNUmakefile modified to install images * Source/NSOutlineView.m modified to use new images. Also made several fixes which should now make NSOutlineView usable. The graphics used are consistent with the look of the outline view in the OPENSTEP Interface Builder classes tab. 2002-03-02 Gregory Casamento * Images/common_outlineExpanded.tiff added. * Images/common_outlineCollapsed.tiff added. * Images/GNUmakefile modified to install images * Source/NSOutlineView.m modified to use new images 2002-03-01 Richard Frith-Macdonald * Headers/AppKit/NSEvent.h: Rename 'middle' mouse to 'other' as MacOS-X has caught up with the functionality but not adopted our names. Add -buttonNumber. Add conditional compilation for strict openstep to exclude new methods. * Headers/AppKit/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. Also added lots of documentation, a couple of fixmes, and several bugfixes (wrong exceptions being raised etc). * Source/NSMenuView.m: ditto * Source/NSResponder.m: ditto * Source/NSTextView.m: ditto * Source/NSWindow.m: ditto 2002-03-01 Michael Hanni First cut at improving NSPopUpButton/Cell. * Source/NSMenuItemCell.m ([drawBorderAndBackgroundWithFrame:inView:]): Remove special popupbutton case. ([drawInteriorWithFrame:inView:]): ditto. * Headers/NSMenuView.h: added _leftBorderOffset int. * Source/NSMenuView.m: added static function _addLeftBorderOffsetToRect() ([initWithFrame:]): init left offset value to 1 (default for a menu.) ([sizeToFit]): change left offset value to 0 if we are a popup. Use this value to set the correct frame size. Before when the menuview was sizeToFit'ed the menuWindow was resized by an additional pixel when we were a popupbutton. ([innerRect]): use left offset value to return the correct rect. ([rectOfItemAtIndex:]): ditto. ([indexOfItemAtPoint:]): use _addLeftBorderOffsetToRect() to correct the rect we use to calculate the event area for a menuItemCell in a normal menu. ([setNeedsDisplayForItemAtIndex:]): ditto. ([drawRect:]): Modified to not draw a border line on the left side if we are a popup. * Source/NSPopUpButtonCell.m: added some comments for further fixes. ([drawWithFrame:inView:]): removed all the code in favor of having the NSMenuItemCell of the selected item draw the popupbuttoncell. ([drawInteriorWithFrame:inView:]): removed everything but the responder status code (this is still a FIXME). 2002-03-01 Pierre-Yves Rivaille * Source/NSBundleAdditions.m ([GSNibItem -initWithCoder:]): ([GSNibItem -encodeWithCoder:]): new encoding (support for autoresizingMask). ([GSNibItem +initialize]): ([GSCustomView +initialize]): new methods, set the version number. * Headers/gnustep/gui/NSNibLoading.h: new autoresizingMask ivar in GSNibItem. 2002-02-28 Pierre-Yves Rivaille * Headers/gnustep/gui/NSEvent.h: new element in event_data union, provides support for deltaX, deltaY and deltaZ. * Source/NSEvent.m ([NSEvent +mouseEventWithType:location:modifierFlags:timestamp: windowNumber:context:deltaX:deltaY:deltaZ:]): new method : support for creating event with deltaX, deltaY and deltaZ. ([NSEvent -delta{X, Y, Z}]): methods implemented. ([NSEvent -description]): ([NSEvent -initWithCoder:]): ([NSEvent -encodeWithCoder:]): suppor for deltaX, deltaY and deltaZ * Source/NSResponder.m ([NSResponder -scrollWheel:]): implementation. * Source/NSScrollView.m ([NSScrollView -scrollWheel:]): implementation, does scroll the document view. Thu Feb 28 16:47:58 2002 Nicola Pero * Tools/make_services.m: Use 'Applications' not 'Apps'. Thu Feb 28 16:02:09 2002 Nicola Pero * Source/Functions.m: Never include NSCStringText.h. Removed old obsolete text string functions declared in NSCStringText.h. * Source/libgnustep-gui.def: Removed __objc_class_name_NSCStringText. 2002-02-27 Adam Fedor * Source/NSApplication.m ([NSApplication -init]): Create our NSGraphicsContext here (moved from backend initialization) - much more appealing. Thu Feb 28 14:19:00 2002 Nicola Pero * Headers/gnustep/gui/NSText.h: Added the special key enum containing NSBackspaceKey which used to be in NSCStringText.h. Wed Feb 27 23:50:42 2002 Nicola Pero * Source/GSKeyBindingTable.m ([-bindKey:toAction:]): Implemented support for describing multi-stroke keybindings using arrays as keys. * Source/GSKeyBindingTable.h ([-bindKey:toAction:]): Now accepts an id as key. Wed Feb 27 23:27:21 2002 Nicola Pero * Source/GSKeyBindingTable.m ([-bindKey:toAction:]): Modified so that adding new multi-stroke keybindings with the same prefix doesn't discard all previous keybindings with the same prefix. Wed Feb 27 23:16:47 2002 Nicola Pero * Source/NSTextView.m ([-drawRect:]): Always clear the whole rect using the the background color before drawing the new glyphs. This makes sure we always clear away old glyphs. This fixes the bug when deleting the last character in a text field. 2002-02-27 Fred Kiefer * Source/GSSimpleLayoutManager.m [_relocLayoutArray:offset:floatTrift:Change a NSLog() call to NSDebugLog(). * Source/NSLayoutManager.m Implemented extra line fragment methods. * Source/NSTextView.m Implemented [moveToBeginningOfParagraph:] and [moveToEndOfParagraph:]. * KeyBindings/DefaultKeyBindings.dict Uncommented HOME and END. Wed Feb 27 19:58:12 2002 Nicola Pero * Source/NSCStringText.m: Obsolete file removed. * Headers/gnustep/gui/NSCStringText.h: Obsolete file removed. * Source/GNUmakefile (libgnustep-gui_OBJC_FILES): Removed NSCStringText.m (libgnustep-gui_HEADER_FILES): Removed NSCStringText.h. Wed Feb 27 18:59:54 2002 Nicola Pero * Headers/gnustep/gui/NSInputManager.h (_insertControlKeystrokes): New ivar. * Source/NSInputManager.m ([-initWithName:host:]): Read the user default GSInsertControlKeystrokes and save it. * Source/NSInputManager.m ([-handleKeyboardEvents:client:]): When inserting literally a keystroke, if GSInsertControlKeystrokes is NO, and this is a control keystroke, beep but don't insert it. Beep when a function key not bound to anything is pressed. Wed Feb 27 18:57:50 2002 Nicola Pero * Source/NSResponder.m ([-insertText:]): Added. Wed Feb 27 18:54:43 2002 Nicola Pero * Headers/gnustep/gui/NSTextStorage.h: Documented. 2002-02-27 Pierre-Yves Rivaille * Source/NSSplitView.m ([NSSplitView -mouseDown:]): Tweaked the drawing code and the event code, so that everything is displayed more smoothly and faster. 2002-02-27 Fred Kiefer * Source/NSTextView.m Added method [copySelection] and [pasteSelection] to put the selected text in special pasteboard. The first gets called by [setSelectedRange:affinity:stillSelecting:] while the later is bound to [middleMouseUp:]. (This is hard coded, could the key binding code handle this?) 2002-02-27 Fred Kiefer Patch from Alexander Malmberg : * Source/NSGraphicsContext.m [graphicsContextWithAttributes] always autorelease the context. Moved the unsetting of the current context from [dealloc] to [destroyContext] otherwise the current context can never be freed. * Source/NSApplication.m Removed some now unneeded FIXME. Wed Feb 27 01:03:58 2002 Gregory Casamento * Source/NSOutlineView.m implemented indentation and enabled collapsing of items in the outline view. Tue Feb 26 19:08:38 2002 Nicola Pero Patch by Michael Hanni modified - * Source/NSTabView.m ([-selectTabViewItem:]): Set the frame of the new selected view to content rect. Tue Feb 26 18:26:53 2002 Nicola Pero Patch from Alexander Malmberg : * Source/NSFont.m ([+fontWithName:size:]): If size is 0, use NSUserFontSize instead. 2002-02-26 Fred Kiefer * Source/NSImage.m [setSize:] recache representations if size changes. [recache] throw old caches away as size may have changed. * Source/NSCachedImageRep.m [GSCacheW _initDefaults] set window not to be released when closed. As NSApp now closes all windows on terminate. * Source/NSApplication.m [NSIconWindow orderWindow:relativeTo:] don't complain about order out if application is closing. Mon Feb 25 17:53:19 2002 Nicola Pero * Source/NSMenuItemCell.m ([-initWithCoder:]): Added code to decode old version as well, since it is used by the popup button cell. 2002-02-25 Adam Fedor * Source/NSGraphicsContext.m (_postExternalEvent:) Removed, not used. * Source/NSInterfaceStyle.m: Updated comments. * Source/NSScroller.m (-setFloatValue:): Don't update if the new float is the same as our current value. (-setFloatValue:knobProportion:): Likewise. 2002-02-18 Willem Rein Oudshoorn * gui/Source/NSImage.m ([NSImage -initWithSize:]): removed the round size down temporary fix. ([NSImage -setSize:]): removed the round size down temporary fix. Mon Feb 25 14:51:56 2002 Nicola Pero * Source/NSSavePanel.m (createRowsForColumn:): Use GSFileBrowserHideDotFiles rather than GSSavePanelHideDotFiles as user defaults. Mon Feb 25 13:58:49 2002 Nicola Pero * Source/NSWindow.m ([-sendEvent:]): Hand the NSFlagsChanged event to the _firstResponder flagsChanged: method. Mon Feb 25 13:04:12 2002 Nicola Pero * Source/NSInputManager.m ([+describeKeyStroke:withModifiers:]): Output NumericPad-, not Numeric-, for a numeric pad key. * Source/NSInputManager.m ([-handleKeyboardEvents:client:]): Do not discard the NumericPad modifier flag when looking up keystrokes. Remove shift from flags when the keystroke is not a function key. Do not output function keys literally if they are not bound to anything. * Source/GSKeyBindingTable.m ([-bindKey:toAction:]): Simplified - do not insert keybindings twice - with and without shift - if they are not function keys. Simplified comparisons and updates for this change. Fixed memory leak when overriding keybindings. Mon Feb 25 02:16:32 2002 Nicola Pero Rewritten the input manager keybinding engine to be a full blown keybinding engine - new features include actions composed of array of selectors, multi-stroke keybindings, abort and quote keybindings. * Source/NSInputManager.m: Rewritten most of the engine to be much more powerful. * Headers/gnustep/gui/NSInputManager.h: Changes in ivars, lots of comments, new public and private methods. * Source/GSKeyBindingAction.h: New auxiliary file. * Source/GSKeyBindingAction.m: New auxiliary file. * Source/GSKeyBindingTable.h: New auxiliary file. * Source/GSKeyBindingTable.m: New auxiliary file. * GNUmakefile: Compile the new files. Sun Feb 24 17:32:37 2002 Nicola Pero * Headers/gnustep/gui/NSResponder.h: Put the optional methods in an informal protocol. Sun Feb 24 11:33:21 2002 Nicola Pero * Source/NSSaverPanel.m: Do not assume that NSFileManager -directoryContentsAtPath: returns a NSMutableArray. Sun Feb 24 11:30:33 2002 Nicola Pero * Source/NSSavePanel.m ([-browser:createRowsForColumn:inMatrix:]): Do not display files starting with . if the user has set GSSavePanelHideDotFiles to YES (Patch by Martin Brecher with lots of changes by myself). 2002-02-24 Richard Frith-Macdonald * Source/NSLayoutManager.m: More changes to glyph code - store glyphs and their attributes in the same array, store gaps as ranges rather than simple indexs. Update comments. Still not working and turned off using #if Sat Feb 23 22:07:09 2002 Gregory Casamento * Source/NSOutlineView.m: More improvements. Expansion of items is now partially supported. Sat Feb 23 20:51:31 2002 Georg Fleischmann * Source/NSBezierPath.m ([+bezierPath]): Return autoreleased object. Sat Feb 23 11:28:32 2002 Gregory Casamento * Headers/gnustep/gui/AppKit.h: Added NSOutlineView header * Headers/gnustep/gui/NSOutlineView.h: Added additional ivars and corrected methods for delegate and data source. * Source/NSOutlineView.m: Added lots of new code to handle the outline view. * Source/externs.m: Added definitions for notifications. Sat Feb 23 12:20:28 2002 Nicola Pero Patch by Alexander Malmberg - * Source/NSMenu.m ([-initWithTitle:]): Show torn off menus upon receiving the NSApplicationDidFinishLaunching notification, not the NSApplicationWillFinishLaunching one. Sat Feb 23 12:11:44 2002 Nicola Pero Patches by Alexander Malmberg with many changes - * Source/NSMenuView.m ([-setMenu:]): Do not retain menu. ([-dealloc]): Do not release menu. * Source/NSMenuItemCell.m ([-setMenuView:]): Do not retain the menu view. ([-dealloc]): Do not release the menu view. ([-copyWithZone:]): Set the menuView of the new cell to nil. * Source/NSMenuItemCell.m ([+initialize]): Set version to 2. ([-encodeWithCoder:]): Do not encode the menu view. ([-initWithCoder:]): Do not decode the menu view. Retain the decoded menu item. Do not bother with decoding old versions since this is unused when encoding/decoding menus anyway. :-) * Source/NSMenuView.m ([-dealloc]): Set the menuView of all the menu item cells to nil before releasing them. * Source/NSMenuView.m ([-initWithCoder:]): Set the menu view of all the menu item cells to self after decoding. Sat Feb 23 01:28:15 2002 Nicola Pero * Source/NSTableView.m ([-editColumn:row:withEvent:select:]): Call stringValue on the _editedCell before setting up _textObject, not after, to prevent a spurious validation from messing up the text to edit. This fixes the bug when moving with TAB between different edited cells. * Source/NSTableView.m ([-textDidEndEditing:]): Release the _editedCell *before* setting it to nil :-). Fri Feb 22 22:55:51 2002 Nicola Pero Patches by Alexander Malmberg : * Source/NSApplication.m ([-dealloc]): Set the main menu and the window menu to nil, so that we don't try updating them later on in the shutdown process. * Source/NSWindow.m ([-dealloc]): Fixed so that it doesn't discard the autosaved frame. Fri Feb 22 21:03:19 2002 Nicola Pero * Headers/gnustep/gui/NSApplication.h (_runLoopPool): Store the main run loop autorelease pool in a ivar. * Source/NSApplication.m ([-run]): Use the _runLoopPool rather than a local pool. Also, check for recursive invocation, and enclose into an autorelease pool the last instructions. ([-terminate:]): Destroy the _runLoopPool; enclose destruction of NSApp into yet another autorelease pool. Fri Feb 22 18:22:48 2002 Nicola Pero * Source/NSApplication.m ([-terminate:]): Use an autorelease pool. Thu Feb 21 23:29:50 2002 Nicola Pero * Headers/gnustep/gui/NSWindow.h (_originalResponder): Ivar removed. * Source/NSWindow.m ([-sendEvent:]): Send key up to the first responder, not to the original responder. ([-dealloc]): Do not release _originalResponder. ([-_initDefaults]): Do not set _originalResponder. Thu Feb 21 11:01:43 2002 Nicola Pero * Source/NSApplication.m ([-changeWindowsItem:title:filename:]): Only exit if the item exists with the same title as the one we would add, otherwise, remove the old one and add it again to permit changing window titles. Fixed case of window being changed from having a title to having no title. Wed Feb 20 20:57:32 2002 Michael Hanni * Source/NSApplication.m ([-changeWindowsItem:]): If the item in question already exists we abort further processing. * Source/NSTabView.m: ([-mouseDown:]): New method to fix problems with NSSplitView interaction. ([-hitTest:]): Removed. Wed Feb 20 19:15:58 2002 Nicola Pero * Headers/gnustep/gui/GSMemoryPanel.h: New file. * Source/GSMemoryPanel.m: New file. * Source/GNUmakefile: Compile, install the new files. * Source/GSInfoPanel.m: If the user clicks on the application icon, open the memory panel (idea by Richard Frith-Macdonald). Wed Feb 20 12:36:05 2002 Nicola Pero * Model/GMAppKit.m ([NSBox -subviewsForModel]): New method fixing problems with subviews of NSBox objects. 2002-02-20 Richard Frith-Macdonald * Source/NSLayoutManager.m: Lots of changes to glyph code, including new logging function ... still doesn't work though ... so turned off. 2002-02-19 Pierre-Yves Rivaille * Source/NSTableView.m ([-setAutosaveTableColumns:]): sets the flag before trying to load from defaults. (patch by Alexander Malmberg ) Tue Feb 19 11:46:31 2002 Nicola Pero * Source/NSTextView.m ([-dealloc]): RETAIN self before destroying the text network. (Suggestion by Alexander Malmberg ). 2002-02-18 Gregory John Casamento * Source/NSWindow.m ([NSWindow -close]): Changes made earlier would not compile w/ gcc < 3.0. 2002-02-18 Pierre-Yves Rivaille * Source/NSTableHeaderView.m ([NSTableHeaderView -mouseDown:]): The tableHeaderCell is now redrawn when column reordering is on. 2002-02-18 Pierre-Yves Rivaille * Source/NSWindow.m ([NSWindow -close]): ignore the call if the window is already closed. 2002-02-17 Pierre-Yves Rivaille * Source/NSApplication.m ([NSApplication -terminate:]): send a close message to all the windows. Thu Feb 14 10:45:48 2002 Nicola Pero Michael Hanni * Source/NSMenuItemCell.m ([-drawStateImageWithFrame:inView:]): Exit as soon as possible if we have no state image to draw. ([-imageRectForBounds:]), ([-titleRectForBounds:]): Do not pad for the state image if the state image has no width. * Source/NSPopUpButtonCell.m ([-insertItemWithTitle:atIndex:]): Set the On and Mixed image of the new menu item to nil. ([-selectItem:]): Do not call setChangesState: NO on the selected menu item. 2002-02-13 Richard Frith-Macdonald * Source/GSTextStoarge.m: Add GSIMap option for minor performance improvement. * Tools/make_services.m: Use correct user root. Noticed that this tool needs fixing to use the correct paths as provided by the NSSearchPathsForDirectoriesInDomains() function. * Source/NSSpellServer.m: Use NSSearchPathsForDirectoriesInDomains() 2002-02-13 Pierre-Yves Rivaille * Source/NSTableHeaderCell.m: New drawing code, support for highlighted cells. * Source/NSTableHeaderView.m: support for drawing highlighted column, support for NSTableView mouseDownInHeaderOfTableColumn: and didClickTableColumn: delegate messages. * Source/NSTableView.m: rewrite of -mouseDown method. rewrite of selection handling to fully support the specs new tableView:didClickTableColumn: and tableView:mouseDownInHeaderOfTableColumn delegate messages [NSTableView -setHighlightedTableColumn:] [NSTableView -highlightedTableColumn]: methods implemented. * Headers/gnustep/gui/NSTableView.h: new _highlightedTableColumn ivar. 2002-02-12 Richard Frith-Macdonald * Source/NSBundleAdditions.m: Fix dumb error in my last modification. (bug report by Stephen brandon). Mon Feb 11 14:39:03 2002 Nicola Pero Updated for change in semantics of -string method of NSMutableAttributedString. * Source/NSButtonCell.m ([-setAttributedAlternateTitle:]): Copy the string before using it. * Source/NSCell.m ([-stringValue]): Copy the string before returning it. ([-mnemonic]): Copy the string before using it. * Source/NSMatrix.m ([-validateEditing]): Copy the text before using it. * Source/NSTableView.m ([-validateEditing]): Copy the text before using it. * Source/NSTextField.m ([-validateEditing]): Copy the text before using it. Mon Feb 11 14:30:35 2002 Nicola Pero * Source/NSLayoutManager.m ([-textContainerChangedTextView:]): Update _firstTextView even if there is a single text view. * Source/NSTextContainer.m ([-setTextView:]): Always inform the layout manager that the textview is changed. 2002-02-11 Richard Frith-Macdonald * Source/NSBundleAdditions.m: ([loadNibFile:externalNameTable:withZone:]) fix so that, if given a name with a .nib extension, try correctly to use a .gorm or .gmodel. 2002-02-10 Michael Hanni * Source/NSMenuView.m ([-drawRect:]): make this more efficent, only redraw cells that we clip. Mon Feb 11 00:35:19 2002 Nicola Pero * Source/NSLayoutManager.m ([-dealloc]): Modified to work for objects which have not been -init. Sun Feb 10 23:53:51 2002 Nicola Pero * Source/GSSimpleLayoutManager.m ([-textContainerForGlyphAtIndex:effectiveRange:]): Return nil if no text container was set. * Source/NSLayoutManager.m ([-firstTextView]): Always return _firstTextView. ([-removeTextContainerAtIndex:]): Set _firstTextView to nil if we removed the last text container. * Source/NSTextView.m ([-buildUpTextNetwork:]): Updated setup sequence for the fixes in the layout manager - bound the layout manager and the text storage before creating the text container. 2002-02-09 Pierre-Yves Rivaille * Source/GSFontInfo.m: ([GSFontInfo -defaultLineHeightForFont]): descender is substracted not added to ascender to give the lineHeight 2002-02-09 Richard Frith-Macdonald * Source/NSWindow.m: ([performMiniaturize:]) patch to check style mask by Jeff Teunissen added. Method documented. Fri Feb 8 02:46:15 2002 Nicola Pero * Source/NSTextView.m ([-moveWordBackward:]): Simplified. ([-moveWordForward:]): Simplified. ([-moveWordForwardAndModifySelection:]): New method, implemented. ([-moveWordBackwardAndModifySelection:]): New method, implemented. * Source/NSAttributedString.m ([-nextWordFromIndex:forward:]): Rewritten, fixing crashes. * KeyBindings/DefaultKeyBindings.dict: Uncommented Alternate-Shift-LeftArrow and Alternate-Shift-RightArrow, and bound to moveWordBackwardAndModifySelection: and moveWordForwardAndModifySelection:. Wed Feb 6 17:12:35 2002 Nicola Pero * Source/GSSimpleLayoutManager.m ([-invalidateGlyphsForCharacterRange:changeInLength: actualCharacterRange:]): Removed. ([-drawBackgroundForGlyphRange:atPoint:]): Moved to NSLayoutManager.m. ([+setSelectionWordGranularitySet:]): Removed. Code moved into +initialize. Wed Feb 6 14:12:51 2002 Nicola Pero * Source/NSLayoutManager.m: Removed old unused unfinished layout code. * Headers/gnustep/gui/NSLayoutManager.h: Removed the corresponding declarations. 2002-02-06 Richard Frith-Macdonald * Source/NSWindow.m: ([-sendEvent:]) handle mouse down in window if no view accepts it. ([-mouseDown:]) implement to quietly ignore event. * Source/GSTextStorage.h: additional ivar * Source/GSTextStorage.m: hand out a proxy to our internal storage, to avoid either copying it (inefficient) or exposing the mutable string (unsafe). Wed Feb 6 02:30:09 2002 Nicola Pero * Source/GSSimpleLayoutManager.m ([-rebuildForRange:delta:inTextContainer:]): Removed workaround for bug in NSString. Use a fake used rect width of 1 when building the fake line fragment for no text, so that the insertion point is displayed in that case. Build a fake line fragment at the end of text if there is a newline ending the text. This hack fixes the problems with typing enter at the end of text. Tue Feb 5 10:26:32 2002 Nicola Pero * Source/NSTextView.m ([-moveBackwardAndModifySelection:]): New method. ([-moveForwardAndModifySelection:]): New method. * KeyBindings/DefaultKeyBindings.dict: Uncommented binding of the new methods to Shift-LeftArrow and Shift-RightArrow. Sun Feb 3 11:53:13 2002 Nicola Pero * Source/NSTextView.m ([-transpose:]): New method. Bound to Control-t. * Headers/gnustep/gui/NSTextView.h: Declare transpose:. Removed category. * KeyBindings/DefaultKeyBindings.dict: List rewritten to reflect the OpenStep keybindings. Work in progress - many keybindings commented out for now, but this is the list of keybindings we eventually want to get to. 2002-02-03 Fred Kiefer , Richard * Source/NSView.m: ([removeSubview:]) call ([setNeedsDisplay:NO]) in the subview so that, if subsequently added to another view, and marked for display, the area needing display will be updated to parent views correctly. * Source/NSWindow.m: ([orderWindow:relativeTo:]) fix to restart automatic update events correctly when a window which was ordered out is ordered back in again. 2002-02-02 Fred Kiefer * Source/NSImage.m Corrected [TIFFRepresentation], was calling the wrong NSBitmapImageRep method. * Source/NSFontManager.m [orderFrontFontPanel:] no longer sets the selected font on the panel, as this gets done by the panel itself. * Headers/gnustep/gui/NSFontPanel.h New ivars for traits, weight and a future preview string. * Source/NSFontPanel.m [reloadDefaultFontFamilies] load the family browser and redisplay the selected font. [setPanelFont:isMultiple:] load the face browser, store font weight and traits and display font name in preview only if no preview string is set. [_initWithoutGModel] made the set button the default button. Split most code from [_togglePreview:] into separate method [_doPreview], which is called, when the preview state should not change. In [_doPreview] only display font name if preview string is not set. [browser:selectRow:inColumn:], when selecting a family select a face with the same weight and traits as the originaly selected. When selecting a face, store its weight and traits. 2002-02-01 Richard Frith-Macdonald * Source/NSBezierPath.m: * Source/NSLayoutManager.m: * Source/GSTextStorage.m: Use new GSI API from latest CVS base * library. 2002-01-31 Pierre-Yves Rivaille * Source/NSCell.m * Headers/gnustep/gui/NSCell.h : new [NSCell -setHighlighted:] method 2002-01-30 Adam Fedor * Version: 0.7.5 * Documentation/announce.texi: Update. * Documentation/news.texi: Likewise. 2002-01-28 Willem Rein Oudshoorn * gui/Source/NSImage.m ([NSImage -initWithSize:]): round the size down ([NSImage -setSize:]): round the size down Tue Jan 29 10:59:04 2002 Nicola Pero * GNUmakefile.postamble (configure): Rule removed. It was causing problems on systems without autoconf. (gui.make, config.make): Do not depend on configure. 2002-01-25 Adam Fedor * Documentation/gsdoc/GNUmakefile: Remove autogsdoc processing * Source/GNUmakefile: Moved to here. * Headers/gnustep/gui/GSHbox.h, GSVbox.h, NSAffineTransform.h, NSApplication.h, NSBezierPath.h, NSBitmapImageRep.h, NSBrowser.h, NSBrowserCell.h, NSCell.h, NSColorWell.h, NSDataLink.h, NSDataLinkManager.h, NSDataLinkPanel.h, NSForm.h, NSHelpPanel.h, NSImage.h, NSLayoutManager.h, NSMatrix.h, NSParagraphStyle.h, NSPasteboard.h, NSPopUpButtonCell.h, NSProgressIndicator.h, NSSavePanel.h, NSSelection.h, NSStepperCell.h, NSText.h, NSTextFieldCell.h: Sync interface/impl declarations for autogsdoc. * Source/GSTable.m, NSAffineTransform.m, NSApplication.m, NSBitmapImageRep.m, NSGraphicsContext.m, NSSlider.m, NSTableHeaderView.m, NSText.m: Likewise. * Headers/gnustep/gui/NSEvent.h: Two new AppKit events. * Source/NSWindow.m ([NSWindow -sendEvent:]): Implement response for GSAppKitWindowLeave event. 2002-01-24 Adam Fedor * Source/NSBundleAdditions.m ([NSBundle +loadNibFile:externalNameTable:withZone:]): If file extension is nib, replace it with gmodel. * Documentation/announce.texi: Update. * Documentation/install.texi: Likewise. * Documentation/news.texi: Likewise. * Documentation/todo.texi: Likewise. 2002-01-23 Adam Fedor * Source/NSInterfaceStyle.m (NSInterfaceStyleForKey): Use default style if no key for style is located. Don't cache key in this case. * Source/NSMenu.m (-nestedSetFrameOrigin:aPoint): Use locationForSubmenu to get submenu location. * Source/NSMenuView.m (-locationForSubmenu:): Fix location of submenu for GSWindowMakerInterfaceStyle. 2002-01-22 Richard Frith-Macdonald * Source/NSWorkspace.h: new ivar * Source/NSWorkspace.m: Many tidyups and little fixes, major change to -getBestApp... so that it picks the best available app rather than just the one specifed by the user as 'best'. This means you can always use it to get an app even if the user has set no preference. Fixed uninitialised variable in first version of this mod and made user preferences override declared types opened by apps. Keep track of launched applications so we can tell whether we need to launch a new one or just talk to an existing one. 2002-01-21 Adam Fedor * Source/NSApplication.m (-deactivate): Don't hide modal windows. (-runModalSession:): Handle WM events (like resize) for any window right away. 2002-01-21 Richard Frith-Macdonald * Headers/Appkit/NSGraphicsContext.h: new method to slide image across screen between windows. * Source/NSGraphicsContext.m: dummy implementation * Source/NSWorkspace.m: Use new method. Mon Jan 21 11:47:27 2002 Nicola Pero * Source/NSMenuItem.m ([-setSubmenu:]): When raising an exception that the submenu already has a supermenu, print titles of both submenu and supermenu. * Source/NSMenuItem.m: For the whole class: access variable _title. 2002-01-20 Richard Frith-Macdonald * Source/NSWindow.m: ([-sendEvent:]) check to see that an old drag view is still in the current window before sending a dragging message to it ... if it has been removed, don't send the message. 2002-01-20 Richard Frith-Macdonald * Source/NSWindow.m: ([-sendEvent:]) use ASSIGN() and DESTROY() to update _lastDragView so we don't run into problems if something deallocates it. Added some debug logging. Fixed bug in logic of drag entry/update. Restructured a little to improve readability. Thu Jan 17 18:16:08 2002 Nicola Pero * Source/NSTextView.m ([-_blink:]): Fixed declaration - should take a single NSTimer * argument. Thu Jan 17 00:03:46 2002 Nicola Pero * Source/NSSlider.m ([-mouseDown:]): Do nothing if the slider is disabled. Wed Jan 16 23:45:32 2002 Nicola Pero * Source/NSApplication.m (NSAbortModalException): Removed declaration - suggested by Stephen Brandon. 2002-01-15 Ludovic Marcotte * Source/NSParagraphStyle.m ([NSParagraphStyle -encodeWithCoder:]) fixed the index used for our locations and type arrays from count to it. 2002-01-15 Adam Fedor * Source/NSApplication.m (-finishLaunching): Make main menu key when there is no other key or main window. (-runModalSession:): Update main menu. (-targetForAction:): Search fixes. Return nil if in modal session and key window does not respond to action. * Source/NSWindow.m (-sendEvent:): Only check cursor rects if isCursorRectsEnabled. 2002-01-10 Adam Fedor * Source/NSPopUpButton.m (-keyDown:): Handle obscure case of user opening menu with key and selecting with mouse. Upon key selection, get selected index from menuView highlightedItemIndex. 2002-01-10 Richard Frith-Macdonald * Source/NSPasteboard.m: Improve handling of -NSHost user default so we don't try to start a local pasteboard server when what we actually want is to connect to a remote one. * Source/NSWorkspace.m: Use -NSHost default to control connection to a remote workspace application. Should we use the remote application to launch new apps if possible? For now, try to launch the apps locally but have them display on the remote host by passing the -NSHost default to them. 2002-01-09 Adam Fedor * Source/NSApplication.m (_NSAppKitUncaughtExceptionHandler): Use non-graphical handler when it is a WindowServer exception. * Source/NSWindow.m (-orderWindow:relativeTo:): Constrain only titled windows and only when not already visible. * Source/NSWindow.m (-constrainFrameRect:toScreen:): Don't constrain height less than minimum size. (setFrame:display:): constrain frame on a resize. * TextConverters/RTF/GNUmakefile.preamble: Look for library in Source. Wed Jan 9 12:07:58 2002 Nicola Pero * configure.in: Abort with an error if GNUSTEP_SYSTEM_ROOT is not set. (AC_CONFIG_AUX_DIR): Call to set ac_aux_dir to $GNUSTEP_SYSTEM_ROOT/Makefiles. * configure: Regenerated. * config.guess: Removed. * config.sub: Removed. * install-sh: Removed. Tue Jan 8 16:23:08 2002 Nicola Pero * Resources/English.lproj/Localizable.strings: Removed 'Windows'. * Resources/Italian.lproj/Localizable.strings: Idem. Tue Jan 8 14:30:26 2002 Nicola Pero * Source/NSInputManager.m ([-bindKey:toAction:]): Allow a "" action to specify no keybinding - can be used to disable a previous keybinding. Tue Jan 8 13:58:11 2002 Nicola Pero * Tools/exampleInfo.plist: Added German translation of service strings (Patch by Martin Brecher ). Mon Jan 7 17:35:30 2002 Nicola Pero * Headers/gnustep/gui/NSApplication.h (_windows_menu): Changed to be an NSMenu * instead of a NSMenuItem *. This is more logical since often the windows menu is set before the main menu is created. * Source/NSApplication.m: Updated for change in ivar. ([-setWindowsMenu:]), ([-setMainMenu:]): Simplified a lot. All code dependent on the name of the 'Windows' menu was removed as too complex and unreliable when the application is translated. All applications are now required to create the Windows menu themselves, and to call setWindowsMenu: to have it used. Mon Jan 7 16:05:19 2002 Nicola Pero * Source/NSApplication.m ([-setMainMenu:]): Only manually set a new windows menu if no one was already set. When looking manually for a Windows menu, look both for translated and untranslated 'Windows' menu items. Translate it if not yet translated. ([-setWindowsMenu:]): If no translated 'Windows' menu item could be found, try and look for an untranslated one. Translate it if found. Sun Jan 6 13:56:53 2002 Nicola Pero * Source/NSSpellChecker.m ([-_launchSpellCheckerForLanguage:]): Updated for change in GSServicesManager's ivars. Sun Jan 6 11:16:30 2002 Nicola Pero * Headers/gnustep/gui/GSServicesManager.h: Prefixed all ivars with underscores. * Source/GSServicesManager.m: Idem. Sun Jan 6 10:49:49 2002 Nicola Pero * Source/GSServicesManager.m ([-rebuildServicesMenu]): If the key equivalent can not be found under the language used for the menu item, use the default key equivalent if any. * Tools/exampleInfo.plist: Added service names in Italian. Thu Jan 3 07:35:42 2002 Nicola Pero * Source/NSTextView.m ([-mouseDown:]): Implemented activation of links. (Patch written with Ludovic Marcotte ). * Source/NSTextView.m ([-mouseDown:]): Only use the code for clicks on attachments on the first click. Tue Jan 1 21:06:32 2002 Nicola Pero * Source/NSScrollView.m ([-tile]): Allocate space for the rulers (Adapted from a patch from Diego Luis Kreutz ). Tue Jan 1 20:57:07 2002 Nicola Pero * Source/NSScrollView.m ([-tile]): Rewritten to be simpler to understand. Tue Jan 1 13:36:56 2002 Nicola Pero * Source/NSView.m ([-resizeWithOldSuperviewSize:]): Removed all traces of the obsolete code for managing the bounds. Tidied code. 2001-12-29 Richard Frith-Macdonald * Source/GSServicesManager.m: ([GSListener -forwardInvocation:]) method implemented to forward to service provider or app delegate. Tue Dec 25 09:54:21 2001 Nicola Pero * Source/NSButtonCell.m ([-drawInteriorWithFrame:inView:]): Draw the background color. Tue Dec 25 09:23:24 2001 Nicola Pero * Source/NSScrollView.m ([-_doScroll:]): Mark the horizontal and vertical ruler as needing redisplay if needed. ([-setHorizontalRulerView:]): Add/remove the new horizontal ruler as a subview; set _hasHorizontalRule to NO if the new horizontal ruler is nil; tile if rulers are visible. ([-setHasVerticalRuler:]): Similar changes. ([-setHasHorizontalRuler:]): Rewritten. In particular, use the class specified in +rulerViewClass when creating the new ruler. ([-setVerticalRulerView:]): Similar changes. (Patches from Diego Luis Kreutz modified). 2001-12-24 Fred Kiefer * Source/NSTextView.m [dragOperationForDraggingInfo:type:] added NSDragOperationCopy to the valid drag actions. 2001-12-23 Fred Kiefer * Source/NSTextView.m Added some NSResponder methods with empty code to keep the NSInputManager quiet. * Source/NSApplication.m [initialize] retain the gui bundle and added an auto release pool as this might be called without one installed. 2001-12-23 Fred Kiefer * Source/NSTextView.m [writeSelectionToPasteboard:types:] corrected C binary operator short cut logic that prevented us froam adding more than one string type to the pasteboard. Remember that || wont evaluate the second operand if the first is true. Fri Dec 21 18:50:17 2001 Nicola Pero * Headers/gnustep/gui/GSGuiPrivate.h: New file. * GNUmakefile (SUBPROJECTS): Added Resources. * Resources/GNUmakefile: New file. * Resources/Italian.lproj/Localizable.strings: New file. * Resources/English.lproj/Localizable.strings: New file. * Source/NSApplication.m ([+initialize]): Create the gnustep-gui bundle used for loading localized messages. (GSGuiBundle): New function. * Source/NSApplication: Localized most messages in this file. This is experimental. Fri Dec 21 14:37:45 2001 Nicola Pero * GNUmakefile (SUBPROJECTS): Added KeyBindings. 2001-12-20 Adam Fedor * Images/common_noCursor.tiff: New image from deek@d2dc.net. 2001-12-21 Fred Kiefer * Source/NSView.m Implemented dragFile:fromRect:slideBack:event:]. Moved code from [dragImage:...slideBack:] to NSWindow and call this. * Source/NSWindow.m New Implemantion of [dragImage:...slideBack:]. Replaced call to [NSGraphicContext _postExternalEvents:] with [NSDragInfo postDragEvent:]. Replaced most [NSScreen mainScreen] with [self screen]. * Headers/gnustep/gui/NSGraphicContext.h Removed method [_postExternalEvents:]. Added method [GSResolutionForScreen:]. * Headers/gnustep/gui/NSGraphic.h * Headers/gnustep/gui/GSMethodTable.h Added GSResolutionForScreen. * Source/NSGraphicContext.m Implemented [GSResolutionForScreen:] with code from NSScreen. * Source/NSScreen.m [deviceDescription] call new function GSResolutionForScreen. Wed Dec 19 17:55:25 2001 Nicola Pero * Source/NSTextView.m ([NSTextView -moveToEndOfLine:]): Fixed typo in my last commit. Tue Dec 18 22:13:31 2001 Nicola Pero * Source/NSTextView.m ([-moveToEndOfLine:]): Fixed problems with empty lines by carefully checking for special cases. * Source/NSLayoutManager.m ([-lineFragmentRectForGlyphAtIndex:effectiveRange:]): Fixed setting effective range. ([-lineFragmentUsedRectForGlyphAtIndex:effectiveRange:]): Idem. ([-textContainerForGlyphAtIndex:effectiveRange:]): Idem. 2001-12-19 Fred Kiefer * Source/NSApplication.m [setMainMenu:] set the title of the main menu window, so the window manager can display it.We could do this also for all other menus, but those wont show up in the window manager. * Tools/gopen.m Removed the redefinition of NSRunAlertPanel() as NSWOrkspace no longer uses this, 2001-12-18 Pierre-Yves Rivaille * Source/NSWindow.m ([NSWindow -setTitleWithRepresentedFilename:]): ([NSWindow -setTitle:]): ([NSWindow -_initBackendWindow:]): changed cString into lossyCString during DPStitlewindow calls * Source/NSBrowser.m: NSBrowserColumn: new methods initWithCoder & encodeWithCoder, it now complies to NSCoding [NSBrowser -initWithCoder:] & [NSBrowser -encodeWithCoder:]: major update to previous implementation. It is now usable with Gorm and should not generate memory leaks anymore. Mon Dec 17 23:54:35 2001 Nicola Pero * Source/NSInputManager.m: New class which loads key binding files and process keys basing on loaded key bindings. * Headers/gnustep/gui/NSInputManager.h: Updated. Removed methods deprecated in apple doc - there is no point in trying to be compatible with internal deprecated methods of a foreign system. * Source/NSResponder.m ([-interpretKeyEvents:]): Pass the key events to the current input manager. ([+initialize]): Added call to NSInputManager to have it init itself. * KeyBindings/: New directory. * KeyBindings/GNUmakefile: New file. * KeyBindings/DefaultKeyBindings.dict: New file. * Documentation/gsdoc/GNUmakefile (Gui_GSDOC_FILES): Added DefaultsSummary.gsdoc. * Documentation/gsdoc/DefaultsSummary.gsdoc: Documented the GSDefaultKeyBindings and GSCustomKeyBindings options. * Documentation/gsdoc/DefaultsSummary.html: Regenerated. 2001-12-17 Pierre-Yves Rivaille * Source/NSButtonCell.m ([NSButtonCell -drawInteriorWithFrame:inView:]) removed the code that drew the background (osx doesn't draw background) * Source/NSProgressIndicator.m ([NSProgressIndicator +initialize]): retain the fillColour. 2001-12-17 Adam Fedor * Source/*m: Add basic markup for autogsdoc generation. (various locations): Remove semi-colon at end of method names. NSSliderCell.m, NSSlider.m, NSTableColumn.m, NSView.m, NSWindow.m: Add documentation formerly in gsdoc files to comments. * Headers/gnustep/gui/NSColorList.h, NSPageLayout.h, NSPrintInfo.h, NSPrintOperation.h, NSPrinter.h, NSView.h: Correct method types, remove unused markup. * Documentation/gsdoc/GNUmakefile: Add variables for autmatic document generatation via autgsdoc. * Documentation/gsdoc/*gsdoc, *html: Update. Sat Dec 15 09:12:44 2001 Nicola Pero Patches from Ludovic Marcotte modified by myself. * Source/NSTextView.m ([-moveToBeginningOfDocument:]): Implemented. ([-moveToBeginningOfLine:]): Idem. ([-moveToEndOfDocument:]): Idem. ([-moveToEndOfLine:]): Idem. ([-moveWordBackward:]): Idem. ([-moveWordForward:]): Idem. ([-selectLine:]): Idem. 2001-12-12 Adam Fedor * Source/NSCursor: New cache dictionary. (-greenArrowCursor): New method. (-initWithImage:foregroundColorHint:backgroundColorHint:hotSpot:): Implement. 2001-12-09 Willem Rein Oudshoorn * Source/NSWindow.m (GSPerformVoidDragSelector): rewritten to not rely on category on NSObject (GSPerformDragSelector): rewritten to not rely on category on NSObject ([NSWindow -sendEvent:]): fixed bug in handling of informal draggingDestination protocol * Headers/AppKit/NSWindow.h (NSCoding>): added instance variable _lastDragOperationMask * Source/GNUmakefile (libgnustep-gui_OBJC_FILES): Removed obsolete NSObjectProtocols.m file Tue Dec 11 00:08:38 2001 Nicola Pero * Source/NSCell.m ([-setStringValue:]): Use a NSDebugMLLog to warn for attempts to use nil value, not NSWarnLog, as suggested by Wim Oudshoorn . 2001-12-09 Fred Kiefer * Source/NSApplication.m [NSIconWindow _initDefaults] set the title of the icon window, so the window manager can display it. 2001-12-07 Fred Kiefer * Source/NSWorkspace.m [_workspaceApplication] renamed defaults key for Workspace application to GSWorkspaceApplication. * Documentation/gsdoc/DefaultsSummary.gsdoc Documented NSWorkspace defaults entry GSWorkspaceApplication and the new xgps defaults entry GSFontMask. 2001-12-07 Adam Fedor * Source/NSImage.m (-drawRepresentation:inRect:): Draw background even when alpha == 0. * Source/NSApplication.m (-sendEvent:): Simplify NSDebugLog. * Documentation/gsdoc/DefaultsSummary.gsdoc: Update * Documentation/gsdoc/Gui.gsdoc: Remove NSDPSContext. 2001-12-07 Pierre-Yves Rivaille * Headers/gnustep/gui/NSTableColumn.h: * Source/NSTableColumn.m: changed the initWithIdentifier return type from NSTableColumn* to id. It prevents warning when subclassing and is consistent with the docs. * Headers/gnustep/gui/NSTableView.h: renamed ivar _del_editable to _dataSource_editable. Previously the delegate was responsible for tableView:setObjectValue:forTableColumn:row:, whereas it is now the dataSource that is responsible for it (it conforms with the docs) * Source/NSTableView.m: [setDelegate:], [setDataSource:] and [validateEditing] changed to conform to previous change * Source/NSTableView.m (quick_sort_internal) : fixed typo Wed Dec 5 11:04:14 2001 Nicola Pero * Source/NSPrintInfo.m ([+initPrintInfoDefaults]): Commented out debugging log which wouldn't compile. Wed Dec 5 10:55:13 2001 Nicola Pero * Source/NSClipView.m ([-setBackgroundColor:]): If the color is changed, mark the clipview as needing redisplay. ([-setDrawsBackground:]): If the flag is changed, mark the clipview as needing redisplay. * Source/NSText.m ([-setBackgroundColor:]): Mark the text as needing redisplay if the color is changed. If we are not a field editor, change the background color of the enclosing scrollview too. ([-setDrawsBackground:]): Mark the text as needing redisplay if the flag is changed. If we are not a field editor, change the flag for the enclosing scrollview too. 2001-12-02 Adam Fedor * Model/GMAppKit.m ([NSMenuItem -initWithModelUnarchiver:]): Check if target is a menu. * Source/NSCursor.m: Make class variables for arrow and ibeam cursor. 2001-11-30 Willem Rein Oudshoorn * Source/NSCursor.m (backgroundColorHint:): added FIXME comment * Images/GNUmakefile (IMAGE_FILES): added DnD cursors * Headers/gnustep/gui/NSBitmapImageRep.h (NSImageRep): removed unused instance variable 2001-12-03 Laurent Julliard * Source/NSTableHeaderView.m (-initWithCoder:, decodeWithCoder:): minimal decoding/encoding methods 2001-12-02 Gregory Casamento * Source/NSTableView.m -[NSTableView superviewFrameChanged:] Added a check to prevent exception when column count is reduced to zero. This change is consistent with behaviour observed on OPENSTEP4.2/Mach. 2001-12-02 Fred Kiefer * Source/NSWorkspace.m [findApplications] use hardcoded @GNUSTEP_INSTALL_PREFIX only for non-GNUstep foundation library. * Source/NSPasteboard.m [_pbs] use hardcoded @GNUSTEP_INSTALL_PREFIX only for non-GNUstep foundation library. * Source/NSImage.m [initialize] and [imageNamed:] use hardcoded @GNUSTEP_INSTALL_LIBDIR only for non-GNUstep foundation library. * Source/NSPrintInfo.m [initPrintInfoDefaults] use hardcoded @GNUSTEP_INSTALL_LIBDIR only for non-GNUstep foundation library. Sun Dec 2 08:54:36 2001 Nicola Pero * Source/NSAttributedString.m ([NSMutableAttributedString -fixParagraphStyleAttributeInRange:]): Fixes, particularly for case in which a style is not found at the beginning of paragraph. (Bug reported by Ludovic Marcotte ). 2001-12-02 Gregory Casamento * Tools/gopen.m Modified to eliminate the output of "No application for extension 'app'" when launching an application using gopen. The code now checks to see if an app is being launched first, then, if not, attempts to open the file. It's also slightly more efficient to check for an app first before calling -[NSWorkspace openFile:]. 2001-12-01 Fred Kiefer * Source/NSWorkspace.m Moved all private methods into seperate category. New method [_connectApplication:], use this in [openFile:...] and [launchApplication:...]. Implemented [openTempFile:]. New method [_workspaceApplication] used to implement [performFileOperation:...] and [selectFile:inFileViewerRootedAtPath:]. * Source/NSApplication.m [finishLaunching] and [terminate:] send workspace notification with the shared workspace as object. Sat Dec 1 10:10:58 2001 Nicola Pero * GNUmakefile.postamble (gui.make): Depend on configure. (config.make): Idem. Sat Dec 1 09:33:39 2001 Nicola Pero * GNUmakefile.postamble (after-distclean): Remove gui.make as well. (gui.make): New target. (config.make): New target. (configure): New target. Sat Dec 1 09:13:26 2001 Nicola Pero * Headers/gnustep/gui/NSButtonCell.h (NSGradientType): Fixed typo (Bug fix by Jay McCarthy ). Fri Nov 30 12:58:45 2001 Nicola Pero * Source/NSCell.m ([-setStringValue:]): Use NSWarnMLog to warn for nil string values rather than raising an exception (Suggestion by richard). 2001-11-28 Adam Fedor * Source/GSServicesManager.m (-rebuildServices): Use userLanguages method rather than getting NSLanguages default. * Documentation/gsdoc/DefaultsSummary.gsdoc: New file. * Documentation/gsdoc/Gui.gsdoc: Include it. 2001-11-27 Adam Fedor * Source/NSClipView.m: Treat _documentView as a convienience ivar. Don't release/retain or encode it. (-initWithCoder:): Get _documentView from subview array. * Source/NSTabView.m (-encodeWithCoder:): Conditionally encode delegate. (-initWithCoder:): Don't retain delegate. 2001-11-26 Fred Kiefer * Headers/gnustep/gui/NSWindow.h Added some new MacOSX methods and ivars to support them. Changed order of methods. * Source/NSWindow.m Implemented new methods. * Headers/gnustep/gui/NSWindowController.h Added some new MacOSX methods. * Headers/gnustep/gui/NSDocumentFrameworkPrivate.h Removed methods now public. * Source/NSWindowController.m Implemented new methods and renamed some old which are now public. * Source/NSDocument.m Adopted to name changes of NSWindowController methods. * Headers/gnustep/gui/NSNibLoading.h New extension method [pathForNibResource:]. * Source/NSBundleAdditions.m Extracted new method [pathForNibResource:] for NSWindowController. * Headers/gnustep/gui/NSWorkspace.h Added some new MacOSX methods. Changed order of methods. Made ivars out of some class variables. * Source/NSWorkspace.m A lot of cleanup. Implemented the new methods. [openFile:XXX] no longer show alert panels, as this should be done by the caller. [launchApplication:XXX] now checks if the application is already running. 2001-11-25 Gregory John Casamento * Tools/gopen.m made some enhancements to make the gopen tool behave more like the "open" tool under OPENSTEP/MOSX. 2001-11-24 Fred Kiefer * Headers/gnustep/gui/NSTextView.h Added protocol NSTextInput to NSTextView. Added some new MacOSX methods. * Source/NSTextView.m Corrected memory management in rulerview methods. Implemented update ruler. Dummy implementation for new spell checking methods. Implementation of new drag methods, use these in the dragging protocol methods. Moved the NSTextInput methods into the main category. Implemented some of them. * Source/NSLayoutManager.m Implemented [rulerMarkersForTextView:...ruler:]. * Headers/gnustep/gui/NSPasteboard.h Added extension methods for NSURL. * Source/NSPasteboard.m Implemented extension methods for NSURL. * Headers/gnustep/gui/NSView.h Added some new MacOSX methods. Changed order of methods. * Source/NSView.m Implemented those new methods. Call new methods from the subview handling methods. 2001-11-23 Fred Kiefer * Headers/gnustep/gui/NSTableView.h * Source/NSTableView.m Added some additional MacOSX methods. * Headers/gnustep/gui/NSTextField.h * Source/NSTextField.m Added and implemented some methods for the handling of richt text. * Source/extern.m Added notifications from NSTextStorage * Headers/gnustep/gui/NSTextStorage.h * Source/NSTextStorage.m Added some new methods that allow for lazy fixing of attributes in subclasses. * Source/NSTextView.m Added code to rulerview delegate methods. Thu Nov 22 00:58:12 2001 Nicola Pero * GNUmakefile (CVS_MODULE_NAME): Define. 2001-11-21 Laurent Julliard * Source/NSBrowser.m (-initWithCoder:): colCount and _firstVisible Column must always be decoded. Bug fixed (thanks to Adam Fedor) 2001-11-20 Laurent Julliard * Source/NSComboBoxCell.m (-setNumberOfVisibleItems): max number of items tested on wrong variable. Corrected 2001-11-19 Adam Fedor * Headers/gnustep/gui/NSGraphicsContext.h: Add usedFonts ivar. New methods for caching used fonts. * Source/NSGraphicsContect.m (-useFont): Moved from NSFont. (-resetUsedFonts, -usedFonts): Likewise. * Source/NSFont.m (+useFont:): Use them. * Source/NSView.m (-endDocument): Likewise. * Model/GMArchiver.m (-decodeSelectorWithName:): Use correct 0 value. 2001-11-18 Gregory John Casamento * Tools/gopen.m: added a tool which works like the OPENSTEP 4.2/Mach "open" command to the tools directory. 2001-11-15 Laurent Julliard * Source/NSBrowser.m: NSBrowser encoder and decoder added 2001-11-12 Fred Kiefer * Source/NSFontManager.m Reorganised the handling of the font enumerator. New [_includeFont:] is only called from here. Corrected [availableMembersOfFontFamily:] and [fontNamed:hasTraits:]. * Headers/gnustep/gui/GSFontInfo.h: Adopted GSFontEnumerator to changes on NSFontManager. * Source/GSFontInfo.m: Changed GSFontEnumerator so that only [enumerateFontsAndFamilies] must be subclassed. 2001-11-11 Fred Kiefer * Source/NSTabView.m In [selectTabViewItem:] corrected setting the first responder of the tab view. 2001-11-09 Adam Fedor * Source/NSView.m (-addSubview:): Raise exception on adding nil subview or superview of view. (-addSubview:positioned:relativeTo:): Likewise. (-beginDocument): Change NSLog to exception. Thu Nov 8 23:30:47 2001 Nicola Pero * Source/NSMatrix.m ([-sizeToFit]): Reverted last change. * Source/NSBrowser.m ([-_performLoadOfColumn:]): Do not call sizeToFit on the matrix, just set the cellSize to the result of calling -cellSize on the first browsercell in the matrix. 2001-11-08 Adam Fedor * Simple printing/pagination implementation * Headers/gnustep/gui/NSGraphicsContext.h: Add some constants * Source/NSFont.m (+useFont:): Same font name in static NSSet (+resetUsedFonts): Implement (+usedFonts): Likewise. * Source/NSGraphicsContext.m (+defaultContextWithInfo:) Depreciated, calls +graphicsContextWithAttributes:. (+graphicsContextWithAttributes:): Creates default context class. (+useFont:): Removed. * Source/NSPrintInfo.m (-setOrienatation:) Set paper size accordingly. (-setPaperName:): Likewise. (-setPaperSize:): Set orientation. (+initPrintInfoDefaults): Rewrite. * Source/NSPrintOperation.m (-_setupPrintInfo): New private. (-_printPaginateWithInfo:knowsRange:): Likewise. (-_rectForPage:info:): Likewise. (-_adjustPagesFirst:last:info:): Likewise. (-_print): Rewrite for pagination, printing. ([NSView -_displayPageInRect:atPlacement:withInfo:]): New private. ([NSView -_endSheet): Likewise. * Source/NSPrintPanel.m: Fix layout settings. * Source/NSView.m (-printJobTitle): Implement. (-locationOfPrintRect:, beginPage:label:bBox:fonts:, beginPageSetupRect:placement:, beginPrologueBBox:..., beginSetup, beginTrailer, endHeaderComments, endPrologue, endSetup, endPage, endTrailer, beginDocument, beginPageInRect:atPlacement:, endDocument): Likewise. 2001-11-08 Laurent Julliard * Headers/gnustep/gui/NSGraphics.h * Source/Functions.m * Source/NSImageCell.m: NSDrawFramePhoto added. Needed by the ImageView inspector in Gorm 2001-11-06 Pierre-Yves Rivaille * Source/NSTableView.m ([-sizeToFit]): replaced floorf with floor suggestion from Stephen Brandon 2001-11-03 Fred Kiefer * Source/NSMenu.m In [performActionForItemAtIndex:] select the item of the popup before sending the action. * Headers/gnustep/gui/NSSplitView.h Removed unused ivar _splitCursor. Added some MacOSX methods. Moved extension methods to separate category. * Source/NSSplitView.m Adopted to changes in header. Dummy implementation of new methods. Changed incudes. In [mouseDown:] also check for new delegate methods. [_adjustSubviews:] now takes the old size as an argument to hand it on to delegate. Changed all places that call this. En-/decode the image instead of the cursor. * Headers/gnustep/gui/NSTabView.h Renamed all ivars and added some new MacOSX methods. Added two new unsupported NSTabViewType values. * Source/NSTabView.m Adopted to changes in header. Use [insertTabViewItem:atIndex:] in [addTabViewItem:]. Corrected [selectNextTabViewItem:] and [selectPreviousTabViewItem:]. In [selectTabViewItem:] set the first responder of the tab view. Other small cleanup. 2001-11-03 Fred Kiefer * Headers/gnustep/gui/NSSpellChecker.h Added [guessesForWord:]. * Source/NSSpellChecker.m Implement [guessesForWord:] and use it in [browser:createRowsForColumn:inMatrix:]. Don't create the server in [init], but check it before each use. Check if ther server proxy exists before all method calls that return a NSRange. In [checkSpellingOfString:...wordCount:] don't call [updateSpellingPanelWithMisspelledWord:]. Beep in this method, when the string is empty. [_findNext:], [_ignore:] and [_correct:] now use [[NSApp sendAction:to:from:] instead of explicit responder. * Source/NSTextView.m Adopted implemtantion of [checkSpelling:] to changes in NSSpellChecker. [updateSpellingPanelWithMisspelledWord:] is now called from here.