2000-04-23 Fred Kiefer * GSTextStorage.m: Corrections in replaceCharactersInRange:withString: 2000-04-20 fedor * NSBrowser.m, NSFont.m, NSFontManager.m, NSGraphicsContext.m: New backend access methods 2000-04-20 Adam Fedor * Headers/gnustep/gui/GSMethodTable.h: Added methods to get current server device (X display) and current window device (X window). * Headers/gnustep/gui/DPSOperators.h: Likewise * Headers/gnustep/gui/NSGraphicsContext.h: Likewise * Headers/gnustep/gui/PSOperators.h: Likewise * Source/NSGraphicsContext.m: Likewise * Source/NSBrowser.m (-setDelegate:): browser:willDisplayCell:atRow:column: is only requiired for a passive browser delegate. * Source/NSFont.m (-fontInfo): New private method. * Source/NSFontManager.m (-traitsOfFont): Use it. (-weightOfFont): Likewise. 2000-04-18 Adam Fedor * Hooks for using backend libraries to read images. * Source/NSBitmapImageRep.m (-_initFromWrasterFile:number:): New stub for backends. (+imageRepsWithFile:): New method. (+_wrasterFileTypes): New stub for backend. (+imageFileTypes): Include wraster file types. * Source/NSImageRep.m (+imageRepsWithContentsOfFile:): Check/use if rep implements +imageRepsWithFile. * Headers/gnustep/gui/nsimage-tiff.h: Add field for associated alpha. * Source/tiff.m: Set it. 2000-04-17 Jonathan Gapen * Headers/gnustep/gui/NSColorPanel.h: New ivars for panel objects. * Panels/ColorPanel.gmodel: New file. * Panels/GNUmakefile: Add above file. * Source/NSApplication.m: [-orderFrontColorPanel:] Implement. * Source/NSColorPanel.m: Rough draft implementation. * Source/NSColorWell.m: Add drag 'n drop methods. 2000-04-16 Adam Fedor * Source/tiff.m (NSTiffGetInfo): Getting alpha info requires two parameters! 2000-04-14 Richard Frith-Macdonald * Source/NSSliderCell.m: Fix stupid mistake in last mod. * Headers/AppKit/NSView.h: Fix incorrect comments about resize mask. 2000-04-13 Adam Fedor * Source/NSApplication.m ([NSAppIconView -setImage:]): Remove extra lock/unlock focus. ([NSApplication -finishLaunching]): More specific error information. * Source/NSWindow.m (-setFrameOrigin:): Don't re-display. (-setFrameTopLeftPoint): Likewise. (_initDefaults): Set needs_display flag. * Source/NSBitmapImageRep.m (-_initFromImage:number:): Use new Tiff routines, log message and return nil rather than raise exception. * Source/tiff.m (NSTiffGetInfo): Tidy, get alpha info correctly. (NSTiffRead): Bug fixes, particularly reading planar images. (NSTiffError): New function. (NSTiffWarning): Likewise. (NSTiffGetImageCount): Likewise. 2000-04-13 Richard Frith-Macdonald * Source/NSMenu.m: ([-_setOwnedBypopUp:]) set correct window level for popup menu windows. * Source/NSApplication.m: ([-beginModalSessionForWindow:]) set correct window level for panels now that WindowMaker supports it. * Source/NSSliderCell.m: Minor tidyups 2000-04-12 Jonathan Gapen * Model/GMAppKit.m: Added methods for NSSliderCell. * Model/IMLoading.m: Use [-pathExtension] rather than [-hasSuffix] to check for gmodel filename extension. * Source/NSSliderCell.m: Tweaked drawing code to account for border/bezel and to draw the title cell properly. 2000-04-10 Richard Frith-Macdonald * Documentation/gsdoc/GNUmakefile: New file to build documentation * AppKit.gsdoc: renamed to Gui.gsdoc to reflect GNUstep name for library rather than NeXT/Apple trademarked one. Updated links in the other documentation files. 2000-04-08 James Dessart * Documentation/gsdoc/NSSlider.gsdoc: Made corrections to class description * Documentation/gsdoc/NSSliderCell.gsdoc: Basic documentation (added in mid-March) * Documentation/gsdoc/NSView.gsdoc: Start of basic documentation * Documentation/gsdoc/NSSlider.html: For users who cannot compile gsdoc * Documentation/gsdoc/NSSliderCell.html: For users who cannot compile gsdoc * Documentation/gsdoc/NSView.html: For users who cannot compile gsdoc 2000-04-07 Jonathan Gapen * Source/NSWindow.m: Update [-performClose:] to check send [-windowWillClose:] message to window controller's document. * Source/NSWindowController.m: Add copyright notice, update to GC-compatible RETAIN/ASSIGN macros, re-format. * Source/NSWorkspace.m: [-getInfoForFile:application:type:] Implement. 2000-04-06 Adam Fedor * Source/GSFontInfo.m: allFonts returns GSFontInfo objects. [-pointSize]: Implement. 2000-04-02 15:00 Fred Kiefer * NSAttributedString.m: Improved RTF output and corrections in the formating methods 2000-04-01 18:00 Fred Kiefer * Source/NSText.m: Now really uses a text storage instead of an attributed string (old patch missed this) * Source/NSAttributedString: Use NSFileWrapper to write RTF 2000-03-31 Adam Fedor * Headers/gnustep/gui/NSFont.h: Conform to NSCopying. * Source/NSFont.m ([NSFont -copyWithZone:]): Implement. * Source/GSFontInfo.m: (-copyWithZone:): Likewise 2000-03-31 Jonathan Gapen * Model/GMAppKit.m: Re-organize NSCell's [-initWithModelUnarchiver:] to unarchive each cell type appropriately. Changed NSPanel [+createObjectForModelUnarchiver:] so that it correctly creates an object for NSPanel subclasses. 2000-03-27 Adam Fedor * Changes to use "helper" class for getting backend font information rather than poseAs classes. * Headers/gnustep/gui/NSFont.h: New ivar. * Headers/gnustep/gui/NSFontManager.h: New ivar. * Source/NSFont.m: Changes to use GSFontInfo classes for getting font information. * Source/NSFontManager.m: Likewise for GSFontEnumerator. * Source/GSFontInfo.m: New file. 2000-03-27 Nicola Pero * Source/NSTableView.m ([-tile]): Access ivar _frame. 2000-03-25 Jonathan Gapen * Headers/gnustep/gui/NSColorPicker.h: Added ivar. * Headers/gnustep/gui/NSImage.h: Added setFlipped/isFlipped methods. * Source/NSBundleAdditions.m: Fixed bug in checking filename extension. ([-pathForImageResource:]) * Source/NSColorPicker.m: Implement. ([-initWithPickerMask:colorPanel:] [-colorPanel] [-insertNewButtonImage:in:] [-provideNewButtonImage:]) * Source/NSImage.m: Initialize _flags.flipDraw in [-initWithSize:] 2000-03-24 Jonathan Gapen * Source/NSFileWrapper.m: First implementation of NSFileWrapper * Headers/gnustep/gui/NSFileWrapper.h: Added ivars and enum 2000-03-21 22:00 Fred Kiefer * Source/NSText.m: Changed to use a text storage instead of an attributed string. * Source/NSTextStorage.m: Removed unnecessary method, changes of the delegate now don't trigger processEditing * Source/GSTextStorage.m: The two basic operations call ([-edited:range:changeInLength:]) 2000-03-22 Richard Frith-Macdonald Patch from jagapen@whitewater.chem.wisc.edu * Model/IMLoading.m: new method ([+loadGModelNamed:owner:]) * Headers/AppKit/IMGmodel.h: ditto * Source/NSApplication.m: Use new method. Sun Mar 19 22:26:55 2000 Nicola Pero * Model/GMAppKit.m ([NSApplication -initWithModelUnarchiver:]): RETAIN the decoded windows. * Source/NSClipView.m ([-viewFrameChanged:]): If the document view does not cover all our area, fill the remaining space with background color. * Source/NSTableView.m ([-noteNumberOfRowsChanged]): Implemented. 2000-03-19 Richard Frith-Macdonald * Source/GSTextStorage.m: ([setAttributes:range:]) make sure attributes are set when old range starts at start of new range. 2000-03-19 Richard Frith-Macdonald Fixes fromFred Kiefer - * Headers/gnustep/gui/NSResponder.h: prefix ivars with underscore and add new _menu ivar. * Source/NSResponder.m: Change ivars and add support for Apples menu methods. * Source/NSWindow.m: update for change to responder ivar names. * Source/NSInterfaceStyle.m: ditto * Source/NSText.m: Establish cursor on starting edit. 2000-03-18 Richard Frith-Macdonald * Source/NSSplitView.m: ([-mouseDown:]) only highlight/unhighlight divider when actually necessary. Fri Mar 17 23:33:40 2000 Nicola Pero First alpha implementation of NSTableView. Mouse interaction not yet implemented, with the exception of scrolling. * Source/NSScrollView.m: Added NSTableView support. ([-_doScroll:]): If we have a header view, scroll the header view too. ([-tile]): Added code to tile header clip view and corner view if we have them. ([-drawRect:]): Added code for the case we have a header view and/or a corner view; fixed drawing of border. ([-setDocumentView:]): Added code to check if the document view responds to the methods cornerView and headerView, as per macosx NSTableView spec, and to manage the various cases. * Headers/AppKit/NSScrollView.h: New ivars _hasCornerView, _hasHeaderView, _headerClipView. * Source/NSTableColumn.m ([-setWidth:]): Invoke [-tile] in the table view. * Source/NSTableHeaderCell.m ([-initTextCell:]): Set bezeled as yes; set font. ([-drawWithFrame:inView:]): New method; draw a gray bezel border. * Source/NSTableHeaderView.m ([-columnAtPoint:]): Implemented. ([-headerRectOfColumn:]): Rewritten. ([-drawRect:]): Rewritten. * Source/NSTableView.m: [Re]Written from scratch. * Headers/AppKit/NSTableView.h: Idem. * Source/externs.m: Added NSTableView notifications. * Headers/AppKit/AppKit.h: Added NSTableView.h, NSTableHeaderView.h, NSTableHeaderCell.h. 2000-03-17 Richard Frith-Macdonald * Headers/gnustep/gui/NSGraphics.h: Removed the inclusion of PSOps that was messing up Functions.m in the Tools area. Thu Mar 16 13:15:00 2000 Richard Frith-Macdonald * Source/NSText.m: Fixes by Fred Kiefer for rich text display. * Source/NSTextView.m: ditto * Source/NSFontManager.m: bugfixes - check for nil fonts. * Headers/AppKit/NSResponder.h: additional macOS-X methods declared Wed Mar 15 02:41:04 2000 Nicola Pero * Source/GSUtil.m: Removed file; it was duplicating [NSString -sizeWithAttributes:]. * Source/GSUtil.h: Idem. * Source/GNUmakefile: Idem. * Source/NSButtonCell.m ([-drawInteriorWithFrame:inView:]): Invoke [NSString -sizeWithAttributes:] instead of GSUtil_sizeOfMultilineStringWithFont(); ([-cellSize]): Idem. * Source/NSCell.m ([-cellSize]): Idem; updated for the change so that the @"" string gets simply the height of the font. ([-_drawText:title:cellFrame]): Idem, plus rewritten vertical centering of text. * Source/NSCell.m ([-setObjectValue:]): Temporary implementation working only with strings, images, and numbers. This is needed by the forthcoming NSTableView. 2000-03-11 Adam Fedor * Headers/gnustep/gui/NSText.h: Add missing methods. * Source/NSCachedImageRep.m: Remove ImageCompositing dwrite and centralize in backend (Now use GraphicCompositing to turn on alpha drawing/compositing). * Source/NSSlider.m ([NSSlider -initWithFrame:]): set continuous as specified in OpenStep docs. * Source/NSWindow.m (-center): Remove modification already taken care of in backend. Sat Mar 11 06:32:00 2000 Richard Frith-Macdonald * Source/NSStringDrawing.m: Fix error in handling extent of paragraph styles. Sat Mar 11 05:54:00 2000 Richard Frith-Macdonald * Source/NSPanel.m: Completely reformatted and added some fixes for errors in positioning/sizing the panel. Fri Mar 10 17:42:00 2000 Richard Frith-Macdonald * Source/NSWindow.m: Reverted last change to NSWindow as they left it unable to compile and the intended modification to the center method seemed bogus - it would have left the window positioned 17.5 pixels below the center of the screen. and I don't think that that is what is desired. Fri Mar 10 13:36:00 2000 Richard Frith-Macdonald * Source/NSCell.m: fixed formatting to be consistent and conform to GNU standards. * Source/NSButtonCell.m: ditto. 2000-03-10 Pascal J. Bourguignon * Source/GSUtil.m: A new file where to put utility functions used by the classes. For now, only contains the GSUtil_sizeOfMultilineStringWithFont() function. * Source/NSCell.m: * Source/NSButtonCell.m : Updated -cellSize to process multiline string value. This should improve greately the behaviour of NSTextField and consequently of the NSPanel building functions. Updated -[NSCell _drawText:inFrame:] and -[NSButtonCell drawInteriorWithFrame:inView:] to handle properly multiline strings. * Source/NSPanel.m: Added the following features to GSAlertPanel private subclass of NSPanel: - fit the height of the panel according to the height of the message, in addition to the width. - when the final size for the panel is much too big respective to the screen, it is reduced, and the message is put in a scroll view. - made the attention panel stay visible when the application is deactivated as manded by the OpenStep specifications. - more than one attention panel can be run simultaneously, without the later invocation stealing the panel of the former one. * Source/NSWindow.m: Moved constant invocation of the method -[NSParagraphStyle attribute:atIndex:effectiveRange:] outside of loops and removed firstLine variable in -drawAtPoint: and in -size. Made -center take into account the title bar height so that windows as high as the screen would be centered at y=0 instead of y=title bar height/2. * Testing/NSPanelTest: Also, I've added a NSPanelTest application in core/Testing, that will show how nice have become the Alert panels... Fri Mar 10 12:42:44 2000 Nicola Pero * Source/NSSplitView.m ([-mouseDown:]): Fixed bug. Fri Mar 10 10:48:00 2000 Richard Frith-Macdonald * Documentation/gsdoc/NSView.gsdoc: Added a little documentation for methods for removing subviews from a view. Fri Mar 10 09:35:00 2000 Richard Frith-Macdonald * Source/NSView.m: Make ([removeSubview:]) public. * Headers/AppKit/NSView.h: ditto Fri Mar 10 06:46:00 2000 Richard Frith-Macdonald * Source/NSView.m: Added ([_removeSubview:]) and make all subview removals use it. Modify addition of subviews to invalidate the subview coordinates. * Source/NSScrollView.m: Use _removeSubview * Headers/AppKit/NSView.h: tidyup and add new method. Fri Mar 10 02:12:34 2000 Nicola Pero * Source/NSSplitView.m ([-mouseDown:]): Better management of the case a subview passed mouse down to next responder so the splitview got it - made log message milder and do not redraw the splitview. ([-mouseDown:]): Fixed bug causing hard misbehaviour when the mouse drags starting exactly on the borderline between the divider and a subview. Thu Mar 9 23:32:36 2000 Nicola Pero * Model/GMAppKit.m ([NSView -subviewsForModel]): Fixed fatal problem for encoding editable textfields in gmodels: do not encode Apple's private class _NSKeyboardFocusClipView. Thu Mar 9 19:42:17 2000 Nicola Pero * Source/NSSplitView.m ([-adjustSubviews]): Fixed bug in calculation of frames; patch by Björn Giesler . Wed Mar 8 23:19:08 2000 Nicola Pero * Source/NSPopUpButton.m ([-sizeToFit]): Invoke super's implementation. * Source/NSPopUpButton.m ([-synchronizeTitleAndSelectedItem]): Removed call to sizeToFit. * Source/NSPopUpButtonCell.m ([-cellSize]): Implemented. Wed Mar 08 20:56:00 2000 Richard Frith-Macdonald * Source/NSFontPanel.m: A few bug fixes and tidyups. Wed Mar 08 17:09:00 2000 Richard Frith-Macdonald * Source/NSWindow.m: ([-setLevel:]) implemented. Wed Mar 08 115:4500 2000 Richard Frith-Macdonald Removed a fixup that should no longer be needed now that the coordinate stuff is fixed - NB you need to update your copy of WindowMaker to the latest CVS code because that contains some coordinate handling bug fixes that we need. * Source/NSPopPupButton.m: Removed workaround for bad coordinates. * Source/NSPopPupButtonCell.m: ditto. Wed Mar 08 13:15:00 2000 Richard Frith-Macdonald * Source/NSWindow.m: Final (I hope) coordinate handling fixes to use proper frame coordinates and offsets now that support is in backend and WindowMaker bugs are fixed. Wed Mar 08 07:44:00 2000 Richard Frith-Macdonald * Source/NSText.m: Fixes by Fred Kiefer for rich text display. * Source/NSStringDrawing.m: ditto * Headers/AppKit/NSText.h: ditto * Headers/AppKit/NSStringDrawing.h: ditto Tue Mar 07 11:00:00 2000 Richard Frith-Macdonald * Source/NSWindow.m: Changes throughout to use correct offsets for differences between content rect and frame coordinates. Base coordinate system is that of the content rect, so conversions between screen and base coordinates are required except for borderless windows (where the frame rect is the same as the content rect). Tue Mar 07 06:24:00 2000 Richard Frith-Macdonald * Source/NSApplication.m: ([activateIgnoringOtherApps]) order key window to front when activating app. Tue Mar 7 03:23:55 2000 Nicola Pero Warning: the gmodel format was changed by this fix - and it is going to be changing for a while. If you are using CVS be sure to be always creating and running gmodels with the same CVS version. * Model/GMAppKit.m ([NSPopUpButton +createObjectForModelUnarchiver:]): Tidied. ([NSPopUpButton -encodeWithModelArchiver:]): Encode isEnabled, tag, target, action. Code untested. ([NSPopUpButton -initWithModelUnarchiver:]): Bug fix - do not invoke super's implementation. Removed useless call to synchronizeTitleAndSelectedItem. Decode isEnabled, tag, target, action. Tidied. Mon Mar 06 20:09:00 2000 Richard Frith-Macdonald * Headers/gnustep/gui/GSMethodTable.h: Added method to set titlebar. * Headers/gnustep/gui/DPSOperators.h: ditto * Headers/gnustep/gui/NSGraphicsContext.h: ditto * Headers/gnustep/gui/PSOperators.h: ditto * Source/NSGraphicsContext.m: ditto * Source/NSWindow.m: Make calls to DPSsetinputstate() to set the titlebar for the window on change of key/main/normal state. Mon Mar 06 10:36:00 2000 Richard Frith-Macdonald * Source/NSWindow.m: Various tidyups by Fred kiefer and myself. scrapped private class methods for querying window map in favour of more efficient function based lookup. * Source/NSApplication.m: ditto * Source/NSMenu.m: ditto * Source/NSText.m: Tidyups by Fred. * Headers/AppKit/NSText.h: ditto. * Headers/AppKit/NSWindow.h tidyup. * Headers/AppKit/NSGraphics.h new functions. Sun Mar 5 23:39:33 2000 Nicola Pero * Source/NSButtonCell.m ([-setPeriodicDelay:interval:]): Bug fix: do not set the cell as being continuous. This was also causing Model/GMAppKit.m to make all buttoncells continuous upon decoding. * Model/GMAppKit.m ([NSCell -initWithModelUnarchiver:]): Temporary commented out line setting cell's action mask so things go on working. Better solution coming soon. Sun Mar 5 01:51:52 2000 Nicola Pero * Model/GMAppKit.m ([NSPanel -encodeWithModelArchiver:]): Cleaned, simplified by invoking super's implementation; removed all code pertaining to super leaving only the part specific to this subclass. ([NSPanel -initWithModelUnarchiver:]): Idem. ([NSSavePanel -encodeWithModelArchiver:]): Idem. ([NSSavePanel -initWithModelUnarchiver:]): Idem. Sun Mar 5 01:19:21 2000 Nicola Pero * Source/NSMenu.m ([NSMenu -indexOfItem:]): Bug fix: return -1 if the item is not in the menu. This was crashing the popup button on selectItemWithTitle: nil. Sat Mar 4 20:39:02 2000 Nicola Pero * Model/GMAppKit.m ([NSWindow -initWithModelUnarchiver:]): OrderFrontRegardless the window if it is visible, so that visible windows from the main gmodel - which is loaded before the app is activated - are ordered front correctly. This is not yet a complete solution - see comment in the source. Sat Mar 4 18:34:47 2000 Nicola Pero Fixed major problem with creating gmodels from nibs on MACOSX. * Model/GMArchiver.m ([GMArchiver -encodeRect:withName:]): Force the string identifying the rect to be in the OPENSTEP format. MACOSX NSStringFromRect is - incredible - not OPENSTEP compliant, so we don't use NSStringFromRect at all and make it by hand. * Model/GMArchiver.m ([GMArchiver -encodeSize:withName:]): Idem. * Model/GMArchiver.m ([GMArchiver -encodePoint:withName:]): Idem. Sat Mar 04 06:57:00 2000 Richard Frith-Macdonald * Source/NSWindow.m: Patch be Fred Kiefer - switch miniaturize and performMiniatuize methods, make a few other methods conform to MacOS-X spec exactly. Fri Mar 03 05:36:00 2000 Richard Frith-Macdonald * Source/NSMenu.m:([NSMenuWindowTitleView -drawRect:]) fixed to draw contents in bounds rather than given rect. Fri Mar 3 02:25:24 2000 Nicola Pero * Source/NSWindow.m ([-performZoom:]), ([-zoom:]): Added methods with trivial implementation - so that code ported from macosx does not crash. Thu Mar 2 03:16:18 2000 Nicola Pero Added basic support to create and run gmodels from macosx nibs: * Model/GMAppKit.m ([NSApplication -encodeWithModelArchiver:]): Basic patch to allow creation of working gmodel from macosx nibs with menus: do not encode at all the apple specific NSMenuPanel objects. Thanks to raphael_sebbe@mac.com for testing this patch. * Model/GMAppKit.m ([NSImage +createObjectForModelUnarchiver:]): Bug fix: don't crash when decoding images with a nil name. * Source/NSApplication.m ([-setMainMenu:]): In gmodels created from macosx nibs, the windows submenu is called "Window", not "Windows". Patched code to recognize "Window" as identifying the windows submenu too. * Model/GMAppKit.m ([NSImage +createObjectForModelUnarchiver:]): When asked for anything which is not known, return GNUstepMenuImage [and not the radio button image as we did before]. * Images/nsmapping.strings: Added AppleMenuImage, NSMenuArrow, NSMenuCheckMark. * Images/GNUstepMenuImage.tiff: New file obtained by resizing GNUstep.tiff. Anybody with a better understanding of image manipulation feel free to replace GNUstepMenuImage.tiff with a better one. * Images/GNUmakefile: Added GNUstepMenuImage.tiff Wed Mar 01 16:21:00 2000 Richard Frith-Macdonald * Headers/gnustep/gui/NSWindow.h: New style values added for app iconwindow and miniwindows. New ivar added for miniwindow counterpart. New method ([-counterpart]) * Source/NSApplication.m: Create the iconwindow usig the new style. * Source/NSWindow.m: Many modifications to support miniwindow counterparts and create miniwindows when required (when a window is miniaturised). Tue Feb 29 16:34:49 2000 Nicola Pero * Documentation/gsdoc/Introduction.gsdoc: New file - beginning of a short overview/introduction of the GNUstep GUI API. Tue Feb 29 07:04:00 2000 Richard Frith-Macdonald * Source/NSFontManager.m: fixes and tiyups - mostly from Fred Keifer. Mon Feb 28 15:37:00 2000 Richard Frith-Macdonald * Documentation/gsdoc: Added skeleton documentation for the OpenStep/MacOS-X appkit classes in the gsdoc subdirectory. Mon Feb 28 06:42:00 2000 Richard Frith-Macdonald Font fixes - mostly from Fred Keifer. * Source/NSText.m: Use font manager. * Source/NSFontManager.m: some menu improvments. * Source/NSFontPanel.m: Correect setting of font and correct preview code for when there is no 'set' font Fri Feb 25 16:20:00 2000 Richard Frith-Macdonald * Headers/AppKit/NSWindow.h: added has_closed flag * Source/NSWindow.m: made close/deallocation sequence more robust * Source/NSApplication.m: improve removal of windows from menus on close. 2000-02-25 Adam Fedor * Source/NSCursor.m ([NSCursor -setImage:]): Implement. Fri Feb 25 07:07:00 2000 Richard Frith-Macdonald * Source/NSWorkspace.m: Removed a little unused code and fixed a minor portabilitym problem with path usage. Tue Feb 22 17:51:52 2000 Nicola Pero Still much to do in the font classes, but thanks to Fred Kiefer things are starting to work. Contributed by Fred Kiefer : * Headers/AppKit/NSFontManager.h: Fixed typo in ivar name. * Source/NSFontManager.m: More work on this class. * Source/NSFontPanel.m: Almost complete rewrite. * Headers/AppKit/NSFontPanel.h: Idem. Mon Feb 21 14:40:00 2000 Richard Frith-Macdonald * Source/NSWindow.m: ([-close]) remove spurious retain. * Source/NSApplication.m: ([-run]) do startup stuff inside an autorelease pool and release it before main loop. Tue Jan 25 14:52:27 2000 Nicola Pero Contributed by Fred Kiefer: * Source/NSFontManager.m: Almost complete rewrite. * Source/NSFontPanel.m: Begun work of fixing, rewriting. * Headers/AppKit/NSFontManager.h: Corresponding rewrite. * Headers/AppKit/NSFontPanel.h: Idem. 2000-02-17 Adam Fedor * Version: 0.6.5 released. 2000-02-16 Adam Fedor * gnustep-gui.spec: Newfile 2000-02-15 Adam Fedor * configure.in: Fix test for rintf 2000-02-14 Adam Fedor * Version: Update version number * Documentation/announce.tmpl.texi: Update * Documentation/readme.tmpl.texi: Likewise. * Documentation/news.tmpl.texi: Likewise. * Documentation/todo.tmpl.texi: Likewise. * ANNOUNCE, BUGS, NEWS, README: Regenerate Mon Feb 14 13:23:00 2000 Richard Frith-Macdonald * Source/NSLayoutManager.m: Tidied and simplified by removing inefficient scanner class and using NSScanner instead. * Source/NSText.m: ditto. * Source/NSTextView.m: fix a couple of bugs that were causing crash in text network demo - lets the demo run a while longer before crashing. 2000-02-13 Adam Fedor * Source/NSAffineTransform (-transformBezierPath:): Implement. (from Enrico Sersale ). Mon Feb 14 00:59:33 2000 Nicola Pero * Source/NSApplication.m ([-orderFrontStandardAboutPanel:]): Fixed typo/bug. Reported by Fred Kiefer Sun Feb 13 22:24:54 2000 Nicola Pero This fixes a bug; the same bug that produced those little white vertical lines at the bottom of windows with editable textfields when windows were ordered out then in after editing. * Source/NSView.m ([-removeFromSuperviewWithoutNeedingDisplay]), ([-removeFromSuperview]): Ask the window to take first responder status in our place if we are. Important: this is done *before* any other action is undertaken, because changing first responder invokes -resignFirstResponder:, which should be allowed to assume that the view is normally placed in the view hierarchy. Sun Feb 13 19:20:00 2000 Enrico Sersale * Source/NSBezierPath.m: ([-copyWithZone:]) implemented. Sat Feb 12 21:16:00 2000 Nicola Pero * Source/NSBrowser.m ([-loadColumnZero]), ([-reloadColumn:]): Adjust frame of column after loading it. Sat Feb 12 20:27:00 2000 Richard Frith-Macdonald * Source/NSView.m: ([setNeedsDisplayInRect:]) change to ensure that superviews are always marked as needing display when we are. * Source/NSPopUpButton.m: ([-encodeWithCoder:]) ([-initWithCoder:]) implemented for Gorm. Sat Feb 12 19:47:14 2000 Nicola Pero * Source/NSPopUpButton.m ([-selectItem:]): Bug fix: Update menu knowledge of the selected item. ([-selectItemWithTitle:]), ([-selectItemAtIndex:]), ([-selectItem:]): Bug fix: Invoke synchronizeTitleAndSelectedItem to update what is displayed. Sat Feb 12 18:11:32 2000 Nicola Pero * Source/NSWindow.m ([-setContentView:]): When expanding the new content view to cover the whole window, do it using the nice way, resizeWithOldSuperviewSize:, which allows the view to reorganize its subviews for the new size. Sat Feb 12 17:53:00 2000 Richard Frith-Macdonald * Source/NSMenu.m: Replace non-working archiving code with drastically simplified code that does work in the normal case, but doesn't deal with non-standard menu representations. This lets Gorm work with menus. * Source/NSMenuItem.m: Don't archive parent menu. Fri Feb 11 20:18:10 2000 Enrico Sersale * Source/NSBezierPath.m: ([-transformUsingAffineTransform:]) implement. 2000-02-09 Adam Fedor * Documentation/announce.tmpl.texi: Update. * Documentation/news.tmpl.texi: Likewise. * Documentation/readme.tmpl.texi: Likewise. Thu Feb 10 00:56:08 2000 Nicola Pero * Source/NSText.m ([-keyDown:]): Implemented NSDeleteFunctionKey, which was unimplemented - problem reported by Jory van Zessen. Simple superficial improvements to make NSText just a little faster: * Source/NSText.m: Changed everywhere [self selectedRange] simply to selected_range. ([-moveCursorUp:]), ([-moveCursorLeft:]): Return at once if cursor is already at the beginning of text. ([-moveCursorDown:]), ([-moveCursorRight:]): Return at once if cursor is already at the end of text. Wed Feb 09 18:59:02 2000 Enrico Sersale * Source/NSBezierPath.m Headers/gnustep/gui/NSBezierPath.h : Rewritten conforming to MacOS-X implementation details. Tue Feb 8 17:22:05 2000 Nicola Pero * Model/GMAppKit.m ([NSMenuItem -initWithModelUnarchiver:]): Fix for having GNUstep load gmodels created from OPENSTEP NIBs. NSMenu internals are slightly different in GNUstep and OPENSTEP; OPENSTEP stores an item submenu as the item target, while GNUstep stores it in a special mi_submenu ivar. This patch, for GNUstep only, sets the submenu ivar from the target for items which have a submenu. 2000-02-07 Adam Fedor * configure.in: Add check for rintf. * Source/NSBrowser.m: Use rint i no rintf. * Source/NSApplication.m: Convert NSDebugLog to NSDebugLLog for various NSEvent debugs. * Source/NSMenuItemCell.m ([NSMenuItemCell -calcSize]): Make sure anImage exists before getting size (methods with nil receivers returning structs segfaults on Solaris). Mon Feb 7 18:55:29 2000 Nicola Pero * Source/NSMatrix.m ([-mouseDown:]): Pass mouse down to super if we have no cells. Mon Feb 7 03:06:36 2000 Nicola Pero This bug was crashing GNUstep while I was doing experiments with the Save Panel's code. It wasn't easy to find. * Source/NSMatrix.m ([-putCell:atRow:column:]): Fixed bug. If we are putting a new cell precisely in _selectedRow, _selectedColumn, we have to update _selectedCell, otherwise it remains pointing to the released cell! ([-insertRow:withCells:]): Update _selectedRow if needed. ([-insertColumn:withCells:]): Update _selectedColumn if needed. Sun Feb 6 8:52:00 2000 Richard Frith-Macdonald * Source/GSInfoPanel.m: Make newly created panel appear in center of screen. Sun Feb 6 05:50:20 2000 Nicola Pero * Documentation/gnustep-gui.tmpl.texi (Window Manager): Added a tiny section recommending to set "Click Window To Focus" in the window manager configuration. Also, improved the section on the Standard Info Panel. Sat Feb 5 03:02:04 2000 Nicola Pero * Source/NSWindow.m ([-orderWindow:relativeTo:]): Fixed a quite serious bug appearing twice, in two for loops. It was messing window ordering, causing the app to freeze under certain circumstances. Fri Feb 4 18:35:59 2000 Nicola Pero * Source/GSInfoPanel.m ([-initWithDictionary:]): Use Helvetica-Bold instead of Helvetica-BoldOblique [for now]. Thu Feb 3 17:24:00 2000 Richard Frith-Macdonald * Source/NSMenu.m: ([NSMenuWindowTitleView -mouseDown:]) fix memory allocation error when setting new menu location frame info. Thu Feb 3 02:56:10 2000 Enrico Sersale * Source/NSBezierPath.m Partially rewritten, fixed, added a concrete class ([-setCachesBezierPath:]): Implemented using NSImage. Thu Feb 3 03:45:08 2000 Nicola Pero * Source/NSButtonCell.m ([-drawInteriorWithFrame:inView:]): NSImageAbove, NSImageBelow: Rewritten. In these cases now we determine the space taken by the text; then all the remaining space is given to the image, which is centered in it. Thu Feb 3 02:20:29 2000 Nicola Pero * Source/NSButtonCell.m ([-cellSize]): Bug fix: typo would prevent button with both image and text, image above/below text, to size correctly. Wed Feb 2 06:56:33 2000 Nicola Pero With a hack the library is now able to pop up popupbuttons in the right position, correcting at run time bugs in the window frame code. This was hard. * Source/NSPopUpButtonCell.m (_convertBaseToScreen_with_fix): Added private function to do the conversion right, automatically fixing window frame origin bugs. * Source/NSPopUpButtonCell.m ([-attachPopUpWithFrame:inView:]): Use the above mentioned function to perform the coordinate conversion right. * Source/NSPopUpButton.m ([-mouseDown:]): Idem. Tue Feb 1 00:46:42 2000 Nicola Pero * Headers/AppKit/NSMenuItem.h: Removed unused ivar mi_hasSubmenu. * Source/NSMenuItem.m ([-init]): Removed reference to the unused ivar. Mon Jan 31 00:24:17 2000 Nicola Pero Rewritten, fixed, NSPopUpButton appearance. NB: When the button popups in the wrong position, that is a bug elsewhere. * Headers/AppKit/NSMenuItemCell.h: Added ivar _mcell_belongs_to_popupbutton. * Source/NSMenuItemCell.m ([-imageRectForBounds:]): In the special case _mcell_belongs_to_popupbutton == YES and there is an image, draw it at the extreme right. * Source/NSPopUpButtonCell.m: Added private method [NSMenuItemCell -setBelongsToPopUpButton:]. ([+initialize]): Added method. We are now caching the two standard images. ([-addItemWithTitle:]): Simplified. ([-insertItemWithTitle:atIndex:]): Set image position to right, and set cell to belong to popup button. ([-selectItem:]): Invoke setChangesState: NO and set proper image after setting state of any item. ([-selectItemAtIndex:]): Made code readable. ([-drawWithFrame:inView:]): Set background of image. * Source/NSMenuItemCell.m ([-calcSize]): Bug fix: don't move the image to the left if a valid image position has been already set. * Source/NSMenuView.m ([-setMenuItemCell:forItemAtIndex:]): Bug fix: Connect new cell to menuItem and menu so that it works. * Source/NSApplication.m ([-orderFrontStandardAboutPanelWithOptions:]): Display 'Info' in the title. 2000-01-28 Adam Fedor * Source/NSBrowser.m ([NSBrowser -_performLoadOfColumn:]): Don't release columns's columnMatrix, the column will do it. 2000-01-26 Adam Fedor * Source/NSGraphicsContext.m ([NSGraphicsContext +setCurrentContext:]): Retain (assign) the new context (fix suggested by Jonathan Gapen ) * gui/Model/GMAppkit.m ([NSMenuItem -encodeWithModelArchiver:]): Check to see if object responds to various selectors before invoking them. Wed Jan 26 06:50:14 2000 Nicola Pero Fixed mixed state stuff so that it is exactly as in macosx [untested]: * Headers/AppKit/NSCell.h: Turned _cell.state into a normal int; changed NSMixedState to -1. * Source/NSCell.m ([-setState:]): Rewritten, mixed state support. Wed Jan 26 02:03:25 2000 Nicola Pero * Documentation/gnustep-gui.tmpl.texi (Standard Info Panel): Added documentation for [NSApplication -orderFrontInfoPanel:] and [NSApplication -orderFrontInfoPanelWithOptions:]. Mon Jan 24 23:45:30 2000 Nicola Pero Implemented a standard Info Panel for GNUstep. To make everyone happy, both -orderFrontStandardAboutPanel: and -orderFrontStandardInfoPanel: are available; one displays 'About' in the title, and the other displays 'Info'; they are otherwise identical. GNUstep recommends using the 'Info' version. * Source/GNUmakefile (libgnustep-gui_OBJC_FILES): Added GSInfoPanel. (libgnustep-gui_HEADER_FILES): Idem. * Source/GSInfoPanel.m: New class. * Headers/AppKit/GSInfoPanel.h: New class. * Headers/AppKit/NSApplication.h: Added ivar _infoPanel, declaration of new methods. * Source/NSApplication.m ([-orderFrontStandardInfoPanelWithOptions:]): New method, implemented. ([-orderFrontStandardInfoPanel:]): Idem. ([-orderFrontStandardAboutPanel:]): Idem. ([-orderFrontStandardAboutPanelWithOptions:]): Idem. ([-dealloc]): Added release of _infoPanel. Mon Jan 24 04:01:55 2000 Nicola Pero * Source/NSApplication.m ([-orderFrontHelpPanel:]), ([-orderFrontColorPanel:]), ([-orderFrontDataLinkPanel:]), ([-runPageLayout:]): Display an alert panel informing that the corresponding panel has not been implemented yet. 2000-01-21 Adam Fedor * Headers/gnustep/gui/NSGraphicsContext.m: Change NSCompositeData... to NSCompositeDestination... Sat Jan 22 00:23:31 2000 Nicola Pero * Source/NSButtonCell.m ([-_init]): Updated for change in superclass' defaults: set text align to center. Sat Jan 22 00:05:08 2000 Nicola Pero Contributed by Fred Kiefer, with changings of mine: * Source/NSCell.m: Reordered methods. ([+defaultMenu]): New method, void implementation. ([-initTextCell:]): Set default text alignment to NSNaturalTextAlignment. ([-cellSize]): Fixed returned size when cell is of type NSImageCellType but no image set. ([-cellSizeForBounds:]): Semi-implemented. ([-titleRectForBounds:]): Implemented. ([-setType:]): Set standard font and title if of type text, and nil image if of type image [macosx]. ([-allowsMixedState]): New method, implemented. ([-setAllowsMixedState]): New method, implemented. ([-nextState]): New method, implemented. ([-setNextState]): New method, implemented. ([-image]): Return nil if cell is not of type image. ([-hasValidObjectValue]), ([-objectValue]), ([-setObjectValue:]): Added methods but real implementation still to do. ([-takeObjectValueFrom:]): Added method. ([-wraps]), ([-setWraps:]): Implemented [though wrapping is not implemented at all]. ([-setImportsGraphics:]), ([-importsGraphics]), ([-setAllowsEditingTextAttributes:]), ([-attributedStringValue]), ([-setAttributedStringValue:]): Added methods with void implementation. ([-editWithFrame:inView:editor:delegate:event:]): Use titleRectForBounds. ([-selectWithFrame:inView:editor:delegate:event:]): Use titleRectForBounds. ([-setEntryType:]): Set also cell to text type. ([-menu]), ([-menuForEvent:inRect:ofView:]), ([-setMenu:]), ([-setSendsActionOnEndEditing:]), ([-sendsActionOnEndEditing]): ([-formatter]), ([-setFormatter:]): Added method with void implementation. ([-acceptsFirstResponder]): Refined. ([-setMnemonicLocation:]), ([-mnemonic]), ([-mnemonicLocation]), ([-setTitleWithMnemonic:]), ([-showsFirstResponder]), ([-setShowsFirstResponder:]), ([-acceptsFirstResponder]), ([-refusesFirstResponder]), ([-setRefusesFirstResponder:]): Added methods with more or less trivial or void implementations. ([-initWithCoder:]), ([-encodeWithCoder:]): Updated for new bits _cell.allows_mixed_state and _cell.wraps. * Headers/gnustep/gui/NSCell.h: Added wraps and allows_mixed_state bits to the _cell struct. Fri Jan 21 01:22:08 2000 Nicola Pero Contributed by Fred Kiefer, with changings of my own: * Source/NSMatrix.m ([-deselectAllCells]): Bug fix: set _selectedCell to nil and _selectedRow and _selectedColumn to 0. ([-deselectSelectedCell]): Deselect all cells but without redrawing, as in macosx. ([-selectAll:]): Make the selected cell the last cell in the matrix, not the first. ([-selectCellAtRow:column:]): Deselect all cells and redisplay if argument row or column is -1; select text of selected cell if cell selectable. ([-sendDoubleAction]): If the selected cell is disabled, do nothing [macosx]. ([-setSelectionFrom:to:anchor:highlight:]): Moved three lines of code for cleaness; initialize some variables to zero to stop compiler complaints. ([-textDidBeginEditing:]): Pass all the notification user info when posting the new notification. ([-textDidEndEditing:]): Idem. ([-textDidChange:]): Idem, plus send textDidChange: to the selected cell too [macosx]. ([-mouseDown:]): Simplified sending of actions. Fri Jan 21 01:22:08 2000 Nicola Pero * Headers/AppKit/NSCell.h: Added comment to deprecate use of the macosx methods -acceptsFirstResponder, -refusesFirstResponder, -setRefusesFirstResponder:, and to warn about the fact that GNUstep does not have mnemonics in its interface. Fri Jan 21 00:44:37 2000 Nicola Pero Contributed by Fred Kiefer: * Headers/AppKit/NSCell.h: Added the NSCellAttribute NSCellAllowsMixedState as in macosx; added declarations of the macosx methods not in the OpenStep specifications. 2000-01-18 Adam Fedor * Source/NSCachedImageRep.m: Make "ImageCompositing" on by default. * Souce/NSImageRep.m: Likewise. Mon Jan 17 21:15:00 2000 Enrico Sersale * Source/NSBezierPath.m (-elementTypeAtIndex:associatedPoints:]): Changed to set the associatedPoints correctly. Mon Jan 17 6:32:00 1999 Richard Frith-Macdonald * Source/NSBundleAdditions.m: Catch exceptions when loading nib so we simply return YES or NO. Fix suggested by karl@nfox.com Sun Jan 16 8:57:00 1999 Richard Frith-Macdonald * Source/NSWindow.m: Don't log DnD stuff unless NSDragging logging is requested using '--GNU-Debug=NSDragging' Sat Jan 15 11:55:00 1999 Richard Frith-Macdonald * Source/NSBrowser.m: Don't permit scrolling by negative values. Sat Jan 15 07:29:37 2000 Nicola Pero * Source/NSSavePanel.m ([-_initWithoutGModel]): Tidyup for readability; use a NSButton for the application icon. Fri Jan 14 07:03:14 2000 Nicola Pero * Source/NSSliderCell.m ([-isFlipped]): Fixed typo, this method was called 'isFliped'. Fri Jan 14 04:33:21 2000 Nicola Pero Work to improve appearance. * Source/NSBox.m ([-sizeToFit]): More space around title. ([-calcSizesAllowingNegative:]): idem. * Source/NSBrowserCell.m ([-drawInteriorWithFrame:inView:]): Skip 2 points from left border before drawing text. * Source/NSButtonCell.m ([-cellSize]): Changed space between borders and contents if needed; fixed font height. ([-drawInteriorWithFrame:inView:]): When drawing both image and text, add space between image and border. * Source/NSCell.m ([-cellSize]): Fixed font height; removed additional height; added space between border and contents if needed. ([NSCell -editWithFrame:inView:editor:delegate:event:]): Added spacing between border and contents. ([-selectWithFrame:inView:editor:delegate:start:length:]): idem. ([-drawInteriorWithFrame:inView:]): Added spacing between border and contents. * Source/NSFormCell.m ([-cellSize]): Use super's cellSize. ([-cellSize]), ([-drawingRectForBounds:]), ([-drawWithFrame:inView:]): Changed spacing between title and editable field to 3. * Source/NSForm.m ([-initWithFrame:mode:cellClass:numberOfRows:numberOfColumns:]), ([-initWithFrame:mode:prototype:numberOfRows:numberOfColumns:]): Added methods to set the standard interline spacing to 4 during initialization. * Source/NSPanel.m (GSAlertPanel): Added ivar originalSize, updated encoding/decoding methods. ([GSAlertPanel -initWithContentRect:styleMask:backing:defer:screen:]): Fixed autoresizingMask and position of messageField, changed autoresizingMask of titleField to suit our needs. ([GSAlertPanel -setTitle:message:def:alt:other:]): Implemented advanced automatic resizing of buttons and of the panel. All buttons are made of a same size computed to be comfortable for all, and panel is resized whenever needed to display long messages or big buttons. * Source/NSPopUpButtonCell.m ([-drawWithFrame:inView:]): Skip 5 points from left side before drawing text. * Source/NSSavePanel.m ([-_initWithoutGModel]): Fixed heights of buttons and of the form; fixed position of title. Code to have NSForm's editable fields aligned in a row. This was tricky. * Headers/AppKit/NSForm.h: Added ivar _title_width_needs_update. * core/gui/Source/NSForm.m ([-insertEntry:atIndex:]): We observe each added cell for messages _NSFormCellDidChangeTitleWidth. ([-removeEntryAtIndex:]): Remove notification for removed cell. ([-dealloc]): Added method to remove self from notification center. ([-_setTitleWidthNeedsUpdate:]): Added private method invoke by the notification center. ([-drawRect:]): Added method; needs to invoke calcSize if needed before drawing. ([-setValidateSize:]): Added method. ([-calcSize]): Added method. * Headers/AppKit/NSFormCell.h: Changed ivar name; added declaration of notification _NSFormCellDidChangeTitleWidthNotification. * Source/NSFormCell.m ([-initTextCell:]): Minor optimizations. ([-setTitleWidth:]): Fixed bug. ([-calcDrawInfo:]): New method. ([-setTitle:]), ([-setTitleFont:]), ([-setTitleWidth:]): Post notification _NSFormCellDidChangeTitleWidthNotification. ([-initWithCoder:]), ([-encodeWithCoder:]): Implemented. * Source/externs.m: Added _NSFormCellDidChangeTitleWidthNotification. Thu Jan 13 20:37:00 1999 Richard Frith-Macdonald * Source/NSMenu.m: minor tidyups and fixes for Gorm * Source/NSMenuView.m: minor coding fixes * Source/NSBundleAdditions.m: support for setting main menu from nib. Mon Jan 10 00:32:44 2000 Nicola Pero * Headers/AppKit/NSView.h: Prefixed all ivars with underscores; removed old unused ivar. * Source/NSApplication.m: Updated for ivar name change. * Source/NSBox.m: idem. * Source/NSBrowser.m: idem. * Source/NSButton.m: idem. * Source/NSClipView.m: idem. * Source/NSColorWell.m: idem. * Source/NSControl.m: idem. * Source/NSMatrix.m: idem. * Source/NSMenu.m: idem. * Source/NSMenuView.m: idem. * Source/NSPopUpButton.m: idem. * Source/NSProgressIndicator.m: idem. * Source/NSScroller.m: idem. * Source/NSScrollView.m: idem. * Source/NSSlider.m: idem. * Source/NSSplitView.m: idem. * Source/NSTabView.m: idem. * Source/NSTableHeaderView.m: idem. * Source/NSTableView.m: idem. * Source/NSTextField.m: idem. * Source/NSTextView.m: idem. * Source/NSView.m: idem. * Source/NSWindow.m: idem. * Model/GMAppKit.m: idem. * Source/NSApplication.m ([NSAppIconView -drawRect:]): Fixed bug in app icon images drawing. * Source/NSBrowser.m ([-_performLoadOfColumn:]): Tiny tidy ups. * Source/NSColor.m ([+colorFromString:]): Fixed typo. * Source/NSScroller.m ([-drawRect:]): Fixed bug: should fill _bounds, not _frame. * Source/NSTableView.m: Some code added. * Source/NSText.m: Access ivars _frame, _bounds, _window directly. * Source/NSWindow.m ([-sendEvent:]), ([-setFrame:display:]), ([-orderWindow:relativeTo:]), ([-becomeKeyWindow]): Access ivar window_num. * Source/GSTable.m ([-resizeWithOldSuperviewSize:]): Don't access ivar _frame directly, so that the class can be easily ported to other OpenStep implementations. Sun Jan 9 15:20:00 1999 Richard Frith-Macdonald * Source/GSTextStorage.m: ([-attributesAtIndex:effectiveRange:]) fixed illegal parameter - reported by jagapen@whitewater.chem.wisc.edu Sat Jan 8 23:50:38 2000 Nicola Pero * Source/NSColorList.m: Implemented reading available color lists from disk. ([+_loadAvailableColorLists]): New private method to defer scanning of standard directories and loading available color lists till really needed. Related changings and fixes in the whole class. Sat Jan 8 02:40:12 2000 Nicola Pero * Headers/AppKit/NSColorList.h: Prefixed ivars with underscores, changed names. * Source/NSColorList.m: Class rewritten; untested. Fri Jan 7 20:30:00 2000 Richard Frith-Macdonald * Source/NSResponder.m: Changed _rightMouseDisplay to take the event as a parameter. * Source/NSMenu.m: Implemented ([-_rightMouseDisplay:]) with various minor supporting changes. * Source/NSMenuView.m: Lots of messing with mouse tracking in support of right-mouse menu popup and somewhat smoother operation. Fri Jan 7 18:09:15 2000 Nicola Pero * Headers/AppKit/NSBrowser.h: Fixed typo. * Headers/AppKit/NSText.h: Tiny check in enum. * Source/NSCell.m ([-initImageCell:]), ([-initTextCell:]): Minor optimization: do not initialize variables already initialized by allocation. * Headers/AppKit/NSCell.h: Changed _cell.is_enabled to _cell.is_disabled, so that it does not need initialization. * Source/NSActionCell.m ([-setEnabled:]): Updated for the changing. * Source/NSButtonCell.m ([-textColor]): idem. * Source/NSCell.m: idem. * Source/NSComboBoxCell.m ([-_didClick:]): idem. * Source/NSMenuItemCell.m ([-drawTitleWithFrame:inView:]): idem. * Source/NSBrowserCell.m ([-initTextCell:]), ([-initImageCell:]): Further optimization: initialize everything directly without invoking super's initialization; do not initialize variables already initialized by allocation. * Source/NSButtonCell.m ([-_init]): Tiny optm. * Headers/AppKit/NSControl.h: Added ivar _ignoresMultiClick. * Source/NSControl.m ([-setIgnoresMultiClick:]), ([-ignoresMultiClick]): Implemented. ([-mouseDown:]): Added ignoresMultiClick support. * Source/NSCell.m ([-trackMouse:inRect:ofView:untilMouseUp:]): Bug fix: honour the argument of untilMouseUp:. * Source/NSControl.m ([-mouseDown:]): Invoke the cell's +prefersTrackingUntilMouseUp to decide if it's the case to track mouse until up. * Source/NSMatrix.m ([-_mouseDownNonListMode:]), ([-mouseDown:]): Invoke cell mouse tracking with untilMouseUp: NO. * Source/NSMatrix.m ([-sendDoubleAction]): Fixed. ([-sendAction]): Fixed. ([-sendAction:to:]): Use _action, _target. ([-mouseDown:]): Rewritten double/multi-click support. Fri Jan 7 16:40:00 2000 Richard Frith-Macdonald * Source/NSWindow.m: Removed spurious code for setting menu window locations. * Source/NSMenu.m: Implemented 'correct' save/restore of menu locations conforming to MacOS-X implementation details. Fri Jan 7 10:32:00 2000 Richard Frith-Macdonald * Source/Functions.m: NSApplicationMain() added suggestions from karl@nfox.com to destroy application before exit and log if the info file contains an invalid class. Fri Jan 7 8:37:00 2000 Richard Frith-Macdonald * Source/NSApplication.m: ([-finishLoading]) add support for loading main nib. * Source/Functions.m: NSApplicationMain() trivial update to make use of NSPrincipalClass info. Wed Jan 5 20:04:00 2000 Richard Frith-Macdonald * Source/NSMenuView.m: Changes to mouse tracking loop to provide more sophisticated handling of opening/closing of submenus in an attempt to mimic the behavior of NeXTstep. Wed Jan 5 16:27:00 2000 Richard Frith-Macdonald * Source/NSMenuItem.m: minor fixes and tidying. * Source/NSMenuView.m: reverted to previous version - last change broke much more than it fixed. Also tidied coding style a bit and fixed a couple of encode/decode bugs. Mon Jan 3 18:35:00 2000 Richard Frith-Macdonald * Source/NSBundleAdditions.m: Added ([-awakeWithContext:]) method for nib containers to wake up a newly unarchived nib. 2000-01-03 Adam Fedor * Source/NSBitmapImageRep.m ([NSBitmapImageRep -draw]): Use size of image when passing rect to NSDrawBitmap. Sun Jan 2 20:20:00 2000 Richard Frith-Macdonald * Source/NSApplication.m: Fixes for focusm handling. * Source/NSWindow.m: ditto Fri Dec 31 17:28:00 1999 Richard Frith-Macdonald * Source/NSSlider.m: ([drawRect:]) minor drawing fix to ensure that the slider knob is drawn in the correct place. Fri Dec 31 10:49:00 1999 Richard Frith-Macdonald * Source/NSBundleAdditions.m: When decoding nib container, check for a 'NSVisible' array, and order the windows it contains to the front. Wed Dec 29 7:11:00 1999 Richard Frith-Macdonald * Source/NSSliderCell.m: Fix so that setting and taking values from the cell work properly - removed unused ivar. * Headers/AppKit/NSSliderCell.h: removed unused ivar. 1999-12-29 David Lazaro Changed name of function so GNUstep GUI library can be linked again. * Source/tiff.m (NSTiffWrite): Changed name of NSWriteTiff to NSTiffWrite. * Source/libgnustep-gui.def: Same change here. 1999-12-28 Adam Fedor * Source/NSBitmapImageRep.m ([NSBitmapImageRep -initWithBitmapDataPlanes:...]): Move check for opaqueness to here from backend. * Headers/gnustep/gui/DPSOperators.h: New operators colorimage and alphaimage. * Headers/gnustep/gui/NSGraphicsContext.h: Likewise. * Source/NSGraphicsContex.m: Add stubs. * Source/NSBitmapImageRep.m (-draw): Implement using NSDrawBitmap. * Source/NSCachedImageRep.m: Conditional use of PScomposite functions for drawing methods (set user default "ImageCompositing" to YES for this to work). Tue Dec 28 15:58:00 1999 Richard Frith-Macdonald Initial hack of support for encoding/decoding images - untested. * Source/NSBitmapImageRep.m: Code for writing tiffs etc. * Source/NSImage.m: Archiving support and tifying. * Source/NSImageRep.m: Archiving support and tifying. * Source/tiff.m: modifications for compression and for writing. * Headers/gnustep/gui/NSBitmapImageRep.h: tidy and support writing. * Headers/gnustep/gui/NSImage.h: ditto * Headers/gnustep/gui/NSImageRep.h: ditto * Headers/gnustep/gui/nsimage-tiff.h: ditto 1999-12-24 David Lazaro * Source/NSMenuView.m ([NSMenuView -trackWithEvent:]): Added hysteresis to the item selection code. Wed Dec 22 12:04:00 1999 Richard Frith-Macdonald * Source/NSImage.m: When creating an off-screen cache, fill with the background color (so having multiple caches for different backgrounds will work). Set 'NSImageDoesCaching' to 'YES' by default - we do image caching as standard now. Wed Dec 22 10:08:00 1999 Richard Frith-Macdonald * Source/NSWindow.m: ([-sendEvent:]) reset _lastDragView on exit from a view or on completion of dragging operation. This ensures that if you do two drags into the same view, the view gets two draggingEntered messages (one for each session). Wed Dec 22 5:24:00 1999 Richard Frith-Macdonald * Source/NSPanel.m: Fixed image display in alert panel. Tue Dec 21 01:25:00 1999 Enrico Sersale * Added Source/NSBezierPath.m and Headers/AppKit/NSBezierPath.h Mon Dec 20 16:45:00 1999 Richard Frith-Macdonald * Source/NSView.m: Fix removal of view from window such that we reset the windows first responder if any of the removed views in first responder (avoid crash iv views subsequently deallocated). * Source/NSBundleAdditions.m: Removed excess release of bundle data. * Source/NSPanel.m: Call ([-sizeToFit]) for fields in alert panels so they are big enough for their contents. Mon Dec 20 11:00:00 1999 Richard Frith-Macdonald * Source/NSSavePanel.m: Use symbolic constants for resize mask. * Source/NSBrowser.m: size the matrix to fit when it is created. Sat Dec 18 16:05:46 1999 Nicola Pero * Headers/AppKit/NSSplitView.h: Prefixed ivars with underscores; changed widths' type from int to float; removed method -setDividerThickNess:. * Source/NSSplitView.m: Updated for ivar name change; access ivars directly. ([-dividerThickness]): Return 6, our default dividerThickness. ([-setDividerThickness:]): Removed method. Subclasses need to ovverride -dividerThickness to do this (or else use the GNUstep extension -setDimpleImage:resetDividerThickness:). ([-initWithFrame:]): invoke dividerThickness to set the ivar _dividerWidth, used everywhere else when needed. Changed things so that overriding dividerThickness should actually work; untested. ([-initWithCoder:]), ([-encodeWithCoder:]): Fixed. Tempor. commented out lines about encoding/decoding of dimple image (which is anyway a GNUstep extension) till encoding/decoding of images is implemented. Sat Dec 18 5:38:00 1999 Richard Frith-Macdonald * Source/NSView.m: ([-initWithCoder:]) small optimisation and consistency check when decoding and adding subviews. Fri Dec 17 23:44:53 1999 Nicola Pero * Headers/AppKit/NSBox.h: Prefixed ivars with underscores. * Source/NSBox.m: Updated for ivar name change. * Source/NSBox.m ([-initWithCoder:]): Set the first subview as the content view; make sure that _title_rect and _border_rect are automatically computed on decoding. ([-encodeWithCoder:]): Do not encode the content view, which is already encoded by NSView; do not encode title_rect and border_rect. ([-drawRect:]): Tiny semplification. ([-sizeToFit]): Access directly super_view ivar. ([-setFrameFromContentFrame:]): idem. * Source/NSMatrix.m ([-getRow:column:forPoint:]): Bug fix: manage the case of no rows, no columns. * Source/NSSavePanel.m ([-browser:selectCellWithString:inColumn:]): Now that setNeedsDisplay: works, use it instead of display. * Source/NSTextField.m ([-initWithCoder:]): Added setting of delegate. * Source/NSView.m ([-initWithCoder:]): Don't invoke self's -addSubview: to set the subviews, because NSBox overrides that method to do another job. Interesting bit to reflect upon btw. Fri Dec 17 12:03:00 1999 Richard Frith-Macdonald * Source/NSWindow.m: Remove some inefficient code that was calling ([content_view superview]) when we now have the _wv ivar. * Source/NSView.m: Fix another autodisplay problem - when an opaque subview was being set as needing display AND another non-overlapping subview was set for display, the opaque subview didn't get redrawn. * Source/NSPopUpButton.m: removed an NSLog 1999-12-16 Adam Fedor * New RTF parser from Stefan Bðhringer . May not work because of incomplete implementation of NSFontManager and others. * Source/Parsers/attributedStringConsumer.m New file. * Source/Parsers/rtfScanner.c: Likewise. * Source/Parsers/rtfGrammer.y: Likewise. * Source/NSFontManager.m: Stubs for some unimplemented functions. Thu Dec 16 04:09:20 1999 Nicola Pero * Headers/AppKit/NSControl.h: Prefixed ivars with underscore; added declaration of copyWithZone:. * Source/NSControl.m: Updated for change in ivar names; ([-drawCellInside:]): Fixed bug. * Source/NSButton.m: Updated for change in control ivar names. * Source/NSPopUpButton.m: idem. * Source/NSSecureTextField.m: idem. * Source/NSSlider.m: idem. * Source/NSTextField.m: idem. * Source/NSScroller.m ([-drawRect:]): Fill also the space between the knobslot and the frame. * Source/NSScrollView.m: Access ivars bounds, borderType directly. * Source/NSView.m ([-removeFromSuperview]): Access ivar frame directly. Wed Dec 15 17:15:00 1999 Richard Frith-Macdonald * Source/NSCell.m: encode/decode some missing ivars. * Source/NSButtonCell.m: encode/decode some missing ivars. Wed Dec 15 15:25:00 1999 Richard Frith-Macdonald * Source/NSWindow.m: ([-setFrameAutosaveName:]) bugfix for setting a nil name (and removing the old name). * Source/NSMenu.m: ([-close]) close attached menus too. ([-display]) display attached menus too. Wed Dec 15 11:13:00 1999 Richard Frith-Macdonald * Source/NSResponder.m: Don't try to encode/decode next responder - this info should be reconstructed by subclasses. * Source/NSWindow.m: Remove code to save/restore next responder in order to defeat NSResponder archiving. * Source/NSView.m: Rewrite encoding/decoding. Tue Dec 14 19:40:12 1999 Nicola Pero * Source/NSBrowserCell.m: Tiny tidings in initialization; ([-drawInteriorWithFrame:inView:]): Rewritten so that alternateImage is correctly supported. If the cell is of type NSImageCellType, and alternate image is set, it is drawn instead of the standard image when the cell is highlighted. Untested. * Source/NSCell.m ([-_init]): Removed method; code moved to ([-initTextCell:]),([-initImageCell:]); redundancies removed. Tue Dec 14 19:07:00 1999 Richard Frith-Macdonald * Source/NSApplication.m: modal session fixes (and tidying) suggested by georg@mondoshawan.unix.cslab.tuwien.ac.at Tue Dec 14 16:51:00 1999 Richard Frith-Macdonald * Source/NSWindow.m: ([-becomeKeyWindow]) Don't ask the backend to make us key unless we are visible. ([-orderWindow:relativeTo:]) ask backned to make us key when we order in (if we should be key that is). Tue Dec 14 11:15:00 1999 Richard Frith-Macdonald * Headers/AppKit/NSMenuitemCell.h: Removed implementation cache ivars and added an ivar for temporary storage of background color. * Source/NSMenuItemCell.m: Removed draw implementation caching to decrease memory footprint, but added color and image class caching which will more than compensate in performance. Also added use of highlight version of menu arrow. * Source/NSImage.m: minor image caching fixes and more debug statements. 1999-12-13 * Source/NSWindow.m (-_processResizeEvent): Add DPScurrentgstate so DPS server knows we updated the backing buffer. Mon Dec 13 20:00:29 1999 Nicola Pero * Headers/AppKit/NSBrowserCell.h: Removed two ivars. * Source/NSBrowserCell.m: Made allocation/deallocation faster; added untested alternateImage support. Mon Dec 13 16:06:36 1999 Nicola Pero * Headers/AppKit/NSActionCell.h: Added ivar _control_view. * Headers/AppKit/NSBrowserCell.h: Use two bits to store two BOOL. * Headers/AppKit/NSButtonCell.h: Use a bit to store a BOOL. * Headers/AppKit/NSCell.h: Moved ivar _control_view to NSActionCell. Packed more ivars into the bitfield. Added two bits in the bitfield for subclass use. Removed unused ivar _cell_size. * Headers/AppKit/NSFormCell.h: Use a bit to store a BOOL. * Headers/AppKit/NSTextFieldCell.h: Use two bits for two BOOL. * Source/NSActionCell.m ([-drawWithFrame:inView:]): Added method, per spec. * core/gui/Source/NSButtonCell.m: Updated. * Source/NSBrowser.m: Tiny optms in GSBrowserTitleCell. * Source/NSBrowserCell.m: Updated. * Source/NSButtonCell.m: Updated. * Source/NSCell.m ([NSCell -setControlView:]): Removed, this method should not exist. Moved actual implementation of ([-controlView]) to NSActionCell, as per spec. Moved any reference to _control_view to NSActionCell; in ([-performClick:]), invoke [self controlView]. * Source/NSControl.m ([-setCell:]): Updated. * Source/NSFormCell.m: Updated. * Source/NSImageCell.m: idem. * Source/NSMenuItemCell.m: idem. * Source/NSPopUpButtonCell.m: idem. * Source/NSTableHeaderCell.m: idem. * Source/NSTextFieldCell.m: idem. * Headers/AppKit/NSColorWell.h: Removed unused ivar. * Headers/AppKit/NSScroller.h: Removed unused ivar. * Headers/AppKit/NSView.h: Removed unused ivar needs_display. Mon Dec 13 03:51:30 1999 Nicola Pero Cell optimizations: use a bitfield in NSCell to reduce memory consumption; access cell ivars directly while drawing; minor speed tricks here and there for cells; browser cells do not create any longer an auxiliary cell each, thus hugely reducing time and memory required to create browser cells. To my great delight some things are much faster now. * Headers/AppKit/NSActionCell.h: Prefixed all ivars with underscores. * Headers/AppKit/NSBrowserCell.h: Removed unused ivar. * Headers/AppKit/NSButtonCell.h: Prefixed all ivars with underscores; removed unused ivar. * Headers/AppKit/NSCell.h: Introduced a bitfield; prefixed all ivars with underscores. * Headers/AppKit/NSSliderCell.h: Removed unused ivar. * Source/NSActionCell.m: Optimizations. * NSBrowserCell.m: Important optimizations, rewritten. ([-setTextFieldCell:]), ([-setBranchImageCell:]), ([-setHighlightBranchImageCell:]): Removed unused private methods. * Source/NSButtonCell.m: Updated. * Source/NSCell.m: Important optimizations. * Source/NSComboBoxCell.m: Updated. * Source/NSFormCell.m: Optimizations. * Source/NSImageCell.m: Optimizations. * Source/NSMenuItemCell.m: Updated. * Source/NSPopUpButtonCell.m: Updated; ([-dismissPopUp]): Use GNUstep close menu method. * Source/NSSliderCell.m: Tiny optimization. * Source/NSTableHeaderCell.m: Updated. * Source/NSTextFieldCell.m: Updated. * Source/NSBox.m: Updated for new way of getting border sizes. * Source/NSBrowser.m: idem. * Source/NSSlider.m: Minor optimization.