Sat Dec 11 06:55:59 1999 Nicola Pero * Source/NSPopUpButton.m ([-mouseDown:]): Send NSPopUpButton action to target. Sat Dec 11 03:15:12 1999 Nicola Pero * Source/NSMenu.m ([NSMenu -performActionForItemAtIndex:]): Fix: don't send action if there is no action. * Source/NSMenuView.m ([-setWindowFrameForAttachingToRect: onScreen:preferredEdge:popUpSelectedItem:]): Implemented (but preferredEdge implementation still missing). ([-trackWithEvent:]): If the menu is a popup menu, don't unhighlight item when closing (used internally by the popup button code to know which item was selected without interfering with the normal target-action operation). * Source/NSPopUpButton.m ([-initWithFrame:pullsDown:]): Removed notification center code; set the pullsDown flag. ([-_popup:]): Removed. ([-mouseDown:]): Rewritten. ([-selectItem:]): Fixed bug/typo. ([-removeItemWithTitle:]): Fixed bug/typo. ([-addItemsWithTitles:]): Fixed bug/typo. ([-insertItemWithTitle:atIndex:]): Fixed bug/typo. * Source/NSPopUpButtonCell.m ([-attachPopUpWithFrame:inView:]): Rewritten. ([-performClickWithFrame:inView:]): Method still todo. ([-_popUpItemAction:]): Removed. ([-addItemWithTitle:]), ([-insertItemWithTitle:atIndex:]): Changed setting of item's target and action. * core/gui/Headers/AppKit/NSMenu.h: Removed declaration of unimplemented -initWithPopUpButton: * Headers/AppKit/NSPopUpButton.h: Updated. * Headers/AppKit/NSPopUpButtonCell.h: Added copyright, protected from multiple inclusions. Thu Dec 9 05:47:09 1999 Nicola Pero * Source/NSSavePanel.m ([-runModalForDirectory:path:filename]), ([-ok:]), ([-cancel:]): There was a nice bug here: when the panel was aborted, NSOKButton was returned! The reason is that by chance NSRunAbortedResponse == NSOKButton (they are defined in two different enums). I changed the way we handle return codes; now the panel returns NSCancelButton on abort. * Headers/AppKit/NSSavePanel.h: Added ivar _OKButtonPressed. Thu Dec 9 03:12:16 1999 Nicola Pero * Source/NSMatrix.m ([-keyDown:]): Trivial implementation to allow ESC to abort the save panel, method still to implement. Wed Dec 8 14:59:00 1999 Richard Frith-Macdonald * Headers/AppKit/NSWindow.m: Added new ivar for window view and a boolean to say whether the window has been opened (ordered in) since it was created or closed. * Source/NSWindow.m: Use ivar for window view so that the ([NSView -removeFromSuperview]) method will work for a window content view. Add code so that windows are not added to the app window menu until they are first ordered in. Also ensure that windows are removed from that menu (and run loop performers are cancelled) when a window is closed. Tue Dec 7 21:30:00 1999 Richard Frith-Macdonald * Source/NSColor.m: Implemented ([-isEqual:]) * Source/NSImage.m: Fix so any cache is ok if the image rep is opaque. 1999-12-07 Adam Fedor * Source/NSColorWell.m: Added ([+cellClass]) to set cell class to NSActionCell so that setTarget: and setAction: methods at least don't raise an exception. Modified ([-drawRect:]) to conform to OpenStep 4.2 behavior. (Patch from Jonathan Gapen ). * Source/NSColor.m (-set): Set the alpha coverage. Tue Dec 7 10:50:00 1999 Richard Frith-Macdonald * Source/NSButtonCell.m: ([-drawInteriorWithFrame:inView:]) fix code for drawing images above and below text, and add support for drawing in a flipped view. Tue Dec 7 7:00:00 1999 Richard Frith-Macdonald * Source/NSBrowser.m: ([-setPath:]) applied fix suggested by georg@das.ist.org Tue Dec 7 06:23:07 1999 Nicola Pero Major improvements of the save panel and the open panel. * Headers/AppKit/NSWindow.h: Prefixed ivar delegate with underscore. * Source/NSWindow.m: Prefixed ivar delegate with underscore. * Headers/AppKit/NSSavePanel.h: Changed ivars. * Source/NSSavePanel.m: ([NSFileManager -_directoryContentsAtPath:showHidden:]): Removed. ([NSFileManager -hiddenFilesAtPath:]): Removed. ([-_initWithoutGModel]): Removed setMinSize in excess; set title of window to @"". ([-setTitle:]): Dont set window title to @"". ([-_setDirectory:updateBrowser:]): Removed method. ([-_resetDefaults]): New method. ([+initialize]): New method. ([+savePanel]): Moved all reset defaults code to _resetDefaults. ([-dealloc]): New method. ([-init]): Some changings. ([-setAccessoryView:]): Access content view directly. ([-setDirectory:]): Updated. ([-runModalForDirectory:path:filename]): Updated, fixed. ([-directory]): New better implementation. ([-cancel:]): set directory to nil. ([-cancel:]), ([-ok:]): Changed from orderOut: to close:. ([-setDelegate:]): Cleaned, fixed. ([-browser:createRowsForColumn:inMatrix:]): Rewritten, much better. ([-browser:selectCellWithString:inColumn:]): Rewritten, much better. ([-controlTextDidEndEditing:]): Improved, still to finish. * Source/NSOpenPanel.m: Updated for changing in NSSavePanel. ([-_resetDefaults]): New method. ([-_shouldShowExtension:]): New method. ([+openPanel]): Updated. ([-runModalForDirectory:file:types:]): Updated. ([-browser:createRowsForColumn:inMatrix:]): Removed method; not needed any longer after rewriting of NSSavePanel. ([-browser:selectCellWithString:inColumn:]): Rewritten, updated. * Documentation/gnustep-gui.tmpl.texi (NSSavePanel): Added documentation for the new experimental feature GSSavePanelShowProgress. Tue Dec 7 5:40:00 1999 Richard Frith-Macdonald Fixes by Jonathon Gapen - * Source/NSButton.m: Use ([+cellClass]) to obtain cell class. * Source/NSPopUpButton.m: Implement ([+setCellClass:]) and ([+cellClass]) Mon Dec 6 13:32:00 1999 Richard Frith-Macdonald Additional DPS operator for telling backend to mark a document window as being edited/up-to-date. * Source/NSGraphicsContext.m: Added DPSdocedited() * Headers/AppKit/NSGraphicsContext.h: ditto * Headers/AppKit/DPSOperators.h: ditto * Headers/AppKit/GSMethodTable.h: ditto Sat Dec 4 19:41:00 1999 Richard Frith-Macdonald Additional DPS operator in preparation for fixing window code to handle window-manager decoration of windows correctly. * Source/NSGraphicsContext.m: Added method for getting style info. * Headers/AppKit/NSGraphicsContext.h: ditto * Headers/AppKit/DPSOperators.h: ditto * Headers/AppKit/GSMethodTable.h: ditto Fri Dec 3 14:53:00 1999 Richard Frith-Macdonald * Source/NSPopUpButtonCell.m: arbitrary hacks to get window positioning correct - NSWindow still needs some fixing. Fri Dec 3 14:41:00 1999 Michael Hanni * Source/NSPopUpButtonCell.m: more fixes, issues remain. * Source/NSPopUpButton.m: additions to deal with above. * Source/NSMenuView.m: ditto. Fri Dec 3 14:53:00 1999 Richard Frith-Macdonald * Source/NSOpenPanel.m: ([-browser:selectCellWithString:inColumn:]) fixed to set the _fullFileName ivar so that the panel can return the selected filename. * Source/NSWindow.m: Encode/decode top-left point of window for positioning. Fri Dec 3 11:34:00 1999 Richard Frith-Macdonald * Source/NSApplication.m: ([-updateWindowsItem:]) modified to show document state image with new menus. ([-changeWindowsitem:title:filename:]) updated to understand filename format and discard path info. * Source/NSMenuView.m: Implement ([-setNeedsDisplayForItemAtIndex:]) and fixed ([-itemRemoved:]) to update the highlighted item properly and avoid a crash. * Source/NSMenuItemCell.m: Fix so that images are drawn. * Source/NSWindow.m: ([-setTitle:]), ([-setRepresentedFilename:]), ([-setTitleWithRepresentedFilename:]), ([-setMiniwindowTitle:]) rewritten to conform to documented behavior. Fri Dec 3 05:21:40 1999 Nicola Pero * Source/NSTableColumn.m ([-setWidth:]): Tiny changing. * Documentation/gnustep-gui.tmpl.texi: Added some reference documentation for GSHbox, GSVBox, GSTable. Thu Dec 2 17:02:00 1999 Richard Frith-Macdonald * Source/NSView.m: ([-displayRectIgnoringOpacity:]) and ([-displayIfNeededInRectIgnoringOpacity:]) - very tricksy fix so that views are still marked as needing display if any of their subviews need displaying (though the invalid rectangle may be zeroed if all the stuff at this level has been drawn). Thu Dec 2 11:00:00 1999 Richard Frith-Macdonald * Source/NSMenuView.m: ([-trackWithEvent:]) Removed spurious code that caused the bug of submenus being closed when you click on them! Sumbenus should only be closed at the end of a drag operation or if you click on their corresponding item in the parent menu. Thu Dec 2 8:23:00 1999 Richard Frith-Macdonald * Source/NSImage.m: Use opacity values from image reps to cache more intelligently, and set the opacity of caches correctly. Removed an ivar * Headers/AppKit/NSImage.h: removed _repList ivar - not needed * Source/NSView.m: Re-instate needs-display stuff for actual rectangles. Thu Dec 2 01:28:34 1999 Nicola Pero * Headers/AppKit/NSTableHeaderView.h: Added copyright. * Source/NSTableHeaderView.m: Untested first attempt at drawing code; it should work enough to make developing of NSTableView possible. Mouse events to be implemented after NSTableView works. * Headers/AppKit/NSTableColumn.h: Added copyright, updates. * Source/NSTableColumn.m: Rewritten nearly everything, class now finished, but not tested. Wed Dec 1 14:55:00 1999 Richard Frith-Macdonald * Source/NSColor.m: Fixed a few transparency bugs in system colors. * Source/NSImage.m: Caching rewrite - using NSCachedImageRep - works with xgps, but probably not xdps. There are two global variables to control this - 1. NSImageDoesCaching To turn caching on - when an image is drawn it is cached, if it is redrawn with the same background color set (excluding transparent) then the cached version is used. 2. NSImageForceCaching To force the cache to be used irrespective of the background color. Wed Dec 1 11:55:00 1999 Richard Frith-Macdonald * Source/NSWindow.m: Removed spurious setNeedsDisplay when changing the contentView of a window - it's up to the programmer to do that. * Source/NSView.m: Removed many spurious setNeedsDisplay calls when altering the view hierarchy - it's up to the programmer to do a single call at the end of the work. Wed Dec 1 8:27:00 1999 Richard Frith-Macdonald Applied and modified/rewrote patch by Jonathan Gapen * Headers/gnustep/gui/NSImage.h: Moved excess BOOL ivar to _flags. * Headers/NSView.h: Added -enclosingScrollView method and NSScrollView class reference. * Source/NSImage.m ([NSImage -setFlipped:]): Implemented. ([NSImage -isFlipped]): Implemented. NOTE: NSImage not updated to respect flipped setting. * Source/NSView.m ([NSView -enclosingScrollView]): Implemented. 1999-11-30 Adam Fedor * Headers/gnustep/gui/NSBrowser.m: Add some ivars, removed others. * Source/NSBrowser.m: Rewrite for better functionality. * Source/NSBrowserCell.m (-drawInteriorWithFrame:inView): Check to make sure we have a controlView. * Source/NSCell.m: Likewise. * Source/NSView.m (-lockFocusInRect:): Check to make sure we have a window. (patches from F. Wolff ). Tue Nov 30 19:44:00 1999 Richard Frith-Macdonald * Source/NSWindow.m: Rewrote ([-encodeWithCoder:]) and ([-initWithCoder:]) so they actually work (more or less). Fixed ([-setExcludedFromWindowsMenu:]) to update windows menu. Tue Nov 30 11:52:00 1999 Richard Frith-Macdonald * Source/NSCachecImageRep.m: Improve initialisation and added partial implementations (no scaling) for ([-drawAtPoint:]) and ([-drawInRect:]) - the superclass versions didn't work due to current state of gstate management. Mon Nov 29 17:23:00 1999 Richard Frith-Macdonald * Source/NSMatrix.m: Memory bounds error fixed. * Source/NSOpenPanel.m: use any supplied filetype as denoting a file package for the purposes of differentiating between packages and directories. Also - better fix for selecting directories when multiple selection is allowed. Mon Nov 29 11:43:00 1999 Richard Frith-Macdonald * Source/NSBundle.m: rewrite with new nib loading method. * Source/GNUmakefile: Added NSNibConnector.h * Headers/AppKit/NSNibConnector.h: new file * Headers/AppKit/NSNibLoading.h: Update Mon Nov 29 6:05:00 1999 Richard Frith-Macdonald * Source/NSApplication.m: ([-iconWindow]) new (non-standard) method. * Source/NSWindow.m: ([-orderWindow:relativeTo:]) added code to resign key/main window status on ordering out. Also, set up a new key/main window - if no suitable candidates are available, use the app icon window or the main menu window. Sun Nov 28 19:37:00 1999 Richard Frith-Macdonald * Source/NSOpenPanel.m: ([-filenames]) fix to handle multiple selection correctly - was duplicating name of selected item. Sun Nov 28 04:44:43 1999 Nicola Pero First implementation of editing in NSForm, NSMatrix. * Source/NSFormCell.m ([-initTextCell:]): Set editable by default. * Source/NSForm.m ([-selectTextAtIndex:]): Implemented. * Source/NSMatrix.m: Started work of prefixing ivars with underscore; ([-selectText:]): Implemented. ([-selectTextAtRow:column:]): Implemented. ([-textDidBeginEditing:]): Implemented. ([-textDidChange:]): Implemented. ([-textDidEndEditing:]): Implemented. ([-textShouldBeginEditing:]): Implemented. ([-textShouldEndEditing:]): Implemented. ([-tabKeyTraversesCells]): Implemented. ([-setTabKeyTraversesCells:]): Implemented. ([-mouseDown:]): Added code to start editing if needed. ([-setDelegate:]): Implemented. ([-keyDown:]): Removed old implementation -- still to do the new one. ([-acceptsFirstResponder]): Fixed. ([-abortEditing]): Implemented. ([-currentEditor]): Implemented. ([-validateEditing]): Implemented. ([-_selectNextSelectableCellAfterRow:column:]): : New method. ([-_selectPreviousSelectableCellBeforeRow:column:]): New method. * Headers/AppKit/NSMatrix.h: Updated in sync. * Source/NSSavePanel.m: Use a NSForm for the text field; cleanup. * Headers/AppKit/NSSavePanel.h: Updated. * Source/NSOpenPanel.m: Updated. Sat Nov 27 04:30:15 1999 Nicola Pero * Source/NSSavePanel.m ([-directory]): Maintenance, clean up. * Source/NSSavePanel.m: Moved code between ([-_setDirectory:updateBrowser:]) and ([-setDirectory:]) so that we check existence of directories etc only if strictly needed. * Source/NSSavePanel.m ([-browser:createRowsForColumn:inMatrix:]): Maintenance, clean up. Thu Nov 26 20:16:00 1999 Richard Frith-Macdonald * Source/NSAttributedString.m: Added and rewrote RTFD additions contributed by Daniel Bðhringer. Thu Nov 25 18:59:34 1999 Nicola Pero * Source/NSControl.m ([-setIntValue:]), ([-setFloatValue:]), ([-setDoubleValue:]): Abort editing before setting the value. Thu Nov 25 11:44:00 1999 Richard Frith-Macdonald * Source/NSMenu.m: Tidying, performnce tweaks, memory leak fixes. * Source/NSPopUpButton.m: Tidied. * Headers/AppKit/NSPopUpButtonCell.h: Use _selectedItem ivar rather than _selectedIndex. * Source/NSPopUpButtonCell.m: Use _selectedItem ivar rather than _selectedIndex, fix memory leaks, and various hacks to stop things crashing. Thu Nov 25 1999 Nicola Pero * Source/NSMenuView.m ([-trackWithEvent:]): Fixed bug which was crashing save panel when run from a menu. We should stop the periodic events before performing the user-selected action, otherwise any legitimate attempt of starting the periodic events during performance of the action crashes the app. 1999-11-24 Adam Fedor * Source/GNUmakefile: Alphabatize headers. * Source/NSPasteboard.m: Fix typo in format string. Wed Nov 24 16:58:00 1999 Richard Frith-Macdonald * Source/NSMenuView.m: ([-sizeTofit]) oops - fixed error in last mod. Wed Nov 24 1999 Nicola Pero The three new autolayout classes; code extremely stable, API experimental. Documentation/example code forthcoming. * Source/GSHbox.m: New file. * Source/GSTable.m: New file. * Source/GSVbox.m: New file. * Headers/AppKit/GSHbox.h: New file. * Headers/AppKit/GSTable.h: New File. * Headers/AppKit/GSVbox.h: New file. * Source/GNUmakefile: Updated for new files. Tue Nov 23 14:08:00 1999 Richard Frith-Macdonald * Source/NSApplication.m: Rewrite focus handling, preliminary attempt to cope with window close etc. * Source/NSWindow.m: Some focus fixes etc. * Source/NSMenuView.m: ([-sizeTofit]) hacked out reference to _isBeholdenToPopUpButton to get this to compile again. 1999-11-22 Michael Hanni * Source/NSPopUpButton.m: rewrite. * Source/NSPopUpButtonCell.m: ditto. * Source/?.m: a few other misc fixes. will document. Mon Nov 22 17:33:00 1999 Richard Frith-Macdonald * Source/NSApplication.m: Start listening for window notifications whenm the app becomes active, and check to see which windows are key and main. ([-unhide:]) fixed to activate app even if it wasn't hidden. 1999-11-21 Tim McIntosh * Model/GMAppKit.m ([NSMenuItem -initWithModelUnarchiver:]), ([NSMenuItem -encodeWithModelArchiver:]): "menu" should not be a persistent field. [NSMenu addItem:] will reject menu items for which [NSMenuItem menu] returns non-nil. Mon Nov 22 14:51:33:00 1999 Richard Frith-Macdonald * Source/NSWindow.m: Tidied activation/deactivation code. * Source/NSApplication.m: Fixed Windows menu for new menu API. Changed to use arrays to store deactivated/hidden windows and to keep track of key window when hidden. Watch window notifications to keep track of which window is key/main. Handle making window key and ordering front in modal sessions. Sat Nov 20 6:56:00 1999 Richard Frith-Macdonald * Source/NSMenu.m: Implemented ([-initDefaults]) to set window level in pre-initialisation so the information is available when backend window is created. 1999-11-19 David Lazaro Saz * Source/NSMenuView.m ([NSMenuView -trackWithEvent:]): Added two defines (MOVE_THRESHOLD_DELTA and DELAY_MULTIPLIER) to make nicer the menu traversing. 1999-11-18 David Lazaro Saz * Source/NSPopUpButton.m ([NSPopUpButton +initialize]): Fixed core dump on init. Remains core on select. Thu Nov 18 1999 Nicola Pero * Source/NSCell.m ([-editWithFrame:inView:editor:delegate:event:]), ([-selectWithFrame:inView:editor:delegate:start:length:]): Fixed bug. * Source/NSWindow.m ([-keyViewSelectionDirection]): Implemented. ([-selectKeyViewFollowingView:]),([-selectKeyViewPrecedingView:]), ([-selectNextKeyView:]),([-selectPreviousKeyView:]): Improvement, made ready to support TABbing with selection of text between views which are not necessarily textfields, eg forms. * Headers/AppKit/NSWindow.h: Added ivar _selection_direction. 1999-11-18 David Lazaro Saz * Source/NSMenuView.m ([NSMenuView -performActionWithHighlightingForItemAtIndex:]): Added a short delay to item unhiglighting (100ms). ([NSMenuView -trackWithEvent:]): When an attached menu is present other items only highlight when the cursor stops at them. 1999-11-17 David Lazaro Saz * Source/NSWindow.m ([NSWindow -setLevel:]): Removed orderWindow:RelativeTo: message that made impossible to setup the window level before displaying the window. * Source/NSApplication.m ([NSApplication -setMainMenu:]): The window level for the main menu is set here to NSMainMenuWindowLevel. The old main menu window level is reverted to NSSubmenuWindowLevel. * Source/NSMenu.m ([NSMenu -initWithTitle:]): Changed init code to take into account changes made in the NSMenuWindow class. ([NSMenuWindow -init]): This is the main init method for this class. It is responsible of setting the window level to NSSubmenuWindowLevel. * Model/GMAppKit.m (NSMenu, NSMenuItem): Added preliminary changes to support new menuing code. Wed Nov 17 1999 Nicola Pero * Source/NSBox.m ([-isOpaque]): Added method. * Source/NSBrowser.m ([-isOpaque]): Added method. * Source/NSBrowserCell.m ([-isOpaque]): Added method. * Source/NSButtonCell.m ([-isOpaque]): Updated. * Source/NSColorWell.m ([-isOpaque]): Added method. * Source/NSControl.m ([-isOpaque]): Added method. * Source/NSFormCell.m ([-isOpaque]): Improved. * Source/NSMatrix.m ([-isOpaque]): Added method. * Source/NSSliderCell.m ([-isOpaque]): Added method. * Source/NSTabView.m ([-isOpaque]): Added method. * Source/NSText.m ([-isOpaque]): Added method. * Source/NSTextFieldCell.m ([-isOpaque]): Added method. * Source/NSTextFieldCell.m: Tiny optimization by using _isOpaque. * Headers/AppKit/NSTextFieldCell.h: Added ivar _isOpaque. * Source/NSCell.m ([-drawInteriorWithFrame:inView:]): Removed [unused] drawing of background. Now the drawing is minimal, but easier to subclass. ([-setUpFieldEditorAttributes:]): Removed setting of background. * Source/NSBrowserCell.m ([-editWithFrame:inView:editor:delegate: event:]), ([-endEditing:]), ([-_handleKeyEvent:]): Useless, removed. * Headers/AppKit/NSButtonCell.h: Removed declaration of -performClick: to pacify the compiler. * Source/NSMatrix.m ([-nextText]), ([-previousText]), ([-setNextText:]), ([-setPreviousText:]): Implemented. 1999-11-16 David Lazaro Saz * Source/NSMenu.m: Almost total rewrite of some of the parts. Added all useful MacOS X Server changes. * Source/NSMenuView.m: ditto. * Source/NSMenuItem.m: Reimplemented to be compatible with MacOS X Server. The online docs are wrong in respect to this class so the changes were infered from a lot of different places. * Source/NSMenuItemCell.m: Reimplemented to be just like another form of NSButtonCell and comply with MacOS X Server specs changes. * Source/NSApplication.m ([NSApplication -setMainMenu:]): Changes to support changes in the menuing code. * Source/GSServicesManager.m ([GSServicesManager -updateServicesMenu]): Update for using new NSMenuItem code. This means that it does send a submenu message instead of a target message to get the submenu. * Headers/gnustep/gui/NSView.h: Added declaration for the removeFromSuperviewWithoutNeedingDisplay method. Tue Nov 16 10:49:00 1999 Richard Frith-Macdonald * Source/NSView.m: Removed opaque-view optimisation in favour of retaining MacOS-X compatibility. * Source/GMAppKit.m: ditto. Tue Nov 16 7:05:00 1999 Richard Frith-Macdonald * Source/NSApplication.m: ([-run]) make sure user defaults are up to date on exit. * Source/NSWindow.m: various changes to sving window frame info. Use top-left as window origin, and save in OPENSTEP format. Include code to save NSMenuWindow locations exactly as in MacOS-X also. Mon Nov 15 21:29:00 1999 Richard Frith-Macdonald * Headers/gnustep/gui/NSMenu.h: Make menu window inherit from NSPanel * Headers/gnustep/gui/NSResponder.h: New flag for window and view. * Headers/gnustep/gui/NSWindow.h: Condense flags into a bitfield. * Source/GSHelpManagerPanel.m: Tidy and fix error in ([-release]). * Source/NSApplication.m: Fixup references into NSWindow ivars. * Source/NSCachedImageRep.m: ditto. * Source/NSMenu.m: Fixup references into NSWindow ivars, and remove unnecessary code for hide/unhide on app deactivation/activation. * Source/NSPanel.m: Fixup references to NSWindow ivars and make panels hide on app deactivation by default. * Source/NSView.m: Fixup references to NSWindow ivars and move one ivar into flags field defined in NSResponder.h * Source/NSWindow.m: Change flags to be in bitfield and implement code to handle hide/unhide on app deactivation/reactivation. Mon Nov 15 16:57:00 1999 Richard Frith-Macdonald * Source/NSFontPanel.m: Removed a couple of bogus methods that were preventing display of a font panel. Mon Nov 15 16:09:00 1999 Richard Frith-Macdonald * Headers/gnustep/gui/GSTrackingRect.h: Tidied to more compact layout. * Headers/gnustep/gui/NSCursor.h: Closer to MacOS-X spec. * Headers/gnustep/gui/NSResponder.h: New flag for cursor rect validity * Headers/gnustep/gui/NSTextField.h: Removed unused ivar. * Source/GSTrackingRect.m: Alter for more compact ivars. * Source/NSCell.m: Implement method for cursor tracking. * Source/NSControl.m: Implement default -resetCursorRects. * Source/NSCursor.m: Tidied up and added undocumented behavior to make cursor handling on entry/exit work nicely - push new cursor onto stack on entry to rectangle, pop it off again on exit. * Source/NSTextField.m: Remove cursor handling stuff - it's done in NSCell and NSControl. * Source/NSView.m: Many little changes for correct cursor rectangle handling. * Source/NSWindow.m: Changes for cursor rectangle handling. Mon Nov 15 1999 Nicola Pero * Headers/AppKit/NSFormCell.h: Prefixed ivars with underscore; added ivar _autoTitleWidth. * Source/NSFormCell.m: Revised/rewritten most code. Rethinked drawing code to be fully compliant with OS spec and to support editing. Also, minor optimization: cache titleWidth. Sun Nov 14 1999 Nicola Pero Modified code so that text is highlighted only when moving between fields with TAB, not on mouse events: * Source/NSTextField.m ([-becomeFirstResponder]), ([-mouseDown:]): Modified. ([-acceptsFirstMouse:]): New method. * Source/NSWindow.m: ([-selectKeyViewPrecedingView:]), ([-selectPreviousKeyView:]), ([-selectNextKeyView:]), ([-selectKeyViewFollowingView:]): Select text if the newly selected view is kind of text field. Sun Nov 14 1999 Nicola Pero Huge improvements of NSTextField and related code. Fix for nil target: * Source/NSApplication.m ([-sendAction:to:from:]): Deal with nil targets as per spec. Corrected NSControl's delegate stuff: * Headers/AppKit/NSControl.h: Moved methods 'implemented by the delegate' from the class interface to an informal protocol definition. * Source/NSControl.m: Removed implementation, which was nearly void anyway, of 'methods implemented by delegate'. They should be implemented by the delegate, not by the control. Fix in NSControl: * Source/NSControl.m ([-setStringValue:]): Abort editing, if any, before setting the value. Little fix in NSCell to allow abort/checking of entered text: * Source/NSCell.m ([-endEditing:]): Do not set the cell's string value to the text. This should be done by the delegate specified in editWithFrame:inView:editor:delegate:event: upon receiving the -textDidEndEditing: message. Fix to make setSelectable/setEditable work: * Source/NSCell.m ([-setUpFieldEditorAttributes:]): set editability/selectability of text object. Fixed and simplified treating of border during editing; also, do not invoke setUpFieldEditorAttributes: in the cell; this has to be done by the control: * Source/NSCell.m ([-editWithFrame:inView:editor:delegate:event:]), ([-selectWithFrame:inView:editor:delegate:start:length:]): Invoke cell's drawingRectForBounds: and other minor fixes. Added full NSTextField's delegate support; added real RETURN, TAB, Shift+TAB support; tons of fixes; major rewriting of much of NSTextField: * Headers/AppKit/NSTextField.h: Prefixed ivars with underscore, added ivar _text_object. * Source/NSTextField.m ([-abortEditing]), ([-currentEditor]), ([-validateEditing]): Implemented. ([-keyDown:]): Removed. ([-acceptsFirstResponder]), ([-becomeFirstResponder]), ([-mouseDown:]), ([-selectText:]), ([-setDelegate:]), ([-textShouldEndEditing:]), ([-textShouldBeginEditing:]), ([-textDidEndEditing:]), ([-textDidChange:]), ([-textDidBeginEditing:]): Completely rewritten, often from scratch. * Source/NSTextField.m, Source/NSSecureTextField.m: Standardized initialization. Cleaned up NSText delegate stuff and fixed some nasty bugs during the work: * Source/NSText.m: Removed implementation of methods 'implemented by the delegate'. Moved the code around where needed. Implemented method missing in NSWindow. * Source/NSWindow.m ([NSWindow -endEditingFor:]): Implemented. Added in NSSavePanel support for editing the file name in the textfield: * Source/NSSavePanel.m ([NSSavePanel -_initWithoutGModel]): Set self as delegate to _form; ([NSSavePanel -controlTextDidEndEditing:]): New method. Fri Nov 12 1999 Nicola Pero * NSBrowser.m: [GSBrowserTitleCell] updated ivar draw_background to the new name _draws_background. Fri Nov 12 12:02:00 1999 Richard Frith-Macdonald * Source/NSMatrix.m: ([-setCellClass:]) was calling methodForSelector when it should have been instanceMethodForSelector. Fri Nov 12 11:53:52 1999 Lyndon Tremblay * NSBrowser.m: Removed access to unused variable `draw_background', which prevented successful compile. Fri Nov 12 1999 Nicola Pero NSTextFieldCell made OpenStep compliant; this class is finished. * Headers/AppKit/NSTextFieldCell.h Clean up. Removed some useless ivars, prefixed names of remaining ones with underscores; removed useless methods. * Source/NSTextFieldCell.m: Cleaned up completely, fixed, simplified, removed lot of useless stuff, checked for compliance. * Source/NSTextField.m, Source/NSTableHeaderCell.m: microscopic trivial updates to keep in sync with NSTextFieldCell. Thu Nov 11 1999 Nicola Pero * Source/NSText.m Manually reformatted the whole code. Wed Nov 10 1999 Nicola Pero Debugged/rewritten handling of special key events, such as Return or TAB, of text field editors: * Source/NSText.m ([-keyDown:]): Debugged, rewritten. * Source/NSText.m ([-acceptsFirstResponder]), ([-resignFirstResponder]), ([-becomeFirstResponder]): Rewritten to deal correctly with delegate. * Headers/AppKit/NSText.h: Added enumeration of important unicodes. Improved interaction of cells with text field editors, better support for fonts, colors when editing: * Source/NSCell.m ([-editWithFrame:inView:editor:delegate:event:]): Fixes (eg vertical position of rect used for drawing, display text editor, call setUpFieldEditorAttributes:). ([-selectWithFrame:inView:editor: delegate:start:length:]): Fixes (eg don't make the text object first responder before having put it in the view tree; added selection of the range) [untested]. * NSCell.m ([-setUpFieldEditorAttributes:]): First implementation. * Source/NSTextFieldCell.m ([-setUpFieldEditorAttributes:]): First implementation. Tue Nov 9 1999 Nicola Pero * Source/NSBrowser.m ([NSBrowser -setPath:]): Tidied, and fixed code which had been broken by the recent fix to [NSMatrix -cells]. Sun Nov 7 1999 Richard Frith-Macdonald * Source/NSView.m: Change debug logging for negative width and height values to use NSWarn... macros instead. Fri Nov 5 1999 Richard Frith-Macdonald * Source/NSApplication.m: ([-hide:]) and ([-unhideWithoutActivation]) Changed to hide/unhide all windows (excluding a couple of special cases - menu windown and app icon windows) as per the spec, not just menus that appear in the windows menu. Thu Nov 4 1999 Richard Frith-Macdonald * Source/NSApplication.m: ([-runModalforWindow:]) make the window key and order to front as specified in MacOS-X docs. * Source/NSPanel.m: Remove redundant code from alert panels - now done in NSApplication. Tue Nov 2 1999 Richard Frith-Macdonald * Source/NSMatrix.m: Complete rewrite of code for handling cells within a matrix - use plain C arrays for holding the objects and cache method implementations for creating new cells. Also make GC aware for some future date when we can use GC. * Headers/AppKit/NSMatrix.h: ivar changes for rewrite. * Source/NSCell.m: Updated to notice changes in system colors, also optimised a little by caching some classes. Sat Oct 30 1999 Nicola Pero Still work in progress, but this is a first preview of the new NSSavePanel, NSOpenPanel. I am aiming at making these classes fully compliant soon. * Source/NSOpenPanel.m: Completely rewritten. A lot of functionalities which were missing have now been implemented. * Source/NSSavePanel.m: Rewritten a lot of parts, mainly: allocation/initialization (but could not test the gmodel loading), browser delegate methods, appearance (the gmodel has not been updated -- when we have IM it will be very easy), and with the specs in hand I checked all the code and did a lot of improvements. * Headers/AppKit/NSOpenPanel.h: Changed ivars. * Headers/AppKit/NSSavePanel.h: Changed ivars. * Model/GMAppKit.m: Added NSOpenPanel. 1999-10-29 Adam Fedor * Remove backend application, cursor, and screen classes and use new window ops. * Headers/gnustep/gui/DPSOperators.h: New window ops. * Headers/gnustep/gui/GSMethodTable.h: Likewise. * Headers/gnustep/gui/NSGraphicsContext.h: Likewise. * NSGraphicsContext.m: Likewise. * Headers/gnustep/gui/NSCursor.h: Add enum for standard cursors. * Source/NSCursor.m: Implement methods using new cursor ops. * Source/NSApplication.m: Move icon window classes from backend here and use new window ops. * Source/NSScreen.m: Implement methods using new window ops. * Source/NSView.m (-registerForDragTypes:): Fix typo? wrong list being removed. * Source/NSWindow.m (+_windowList): New method. Wed Oct 27 1999 Nicola Pero Changings suggested by Andrew Lindesay: * Source/NSBrowser.m: draw a border around its horizontal scroller. Updated code to compute the border during calculation of sizes; ([NSBrowser -drawRect:]): draw horizontal scroller border. * Source/NSSavePanel.m ([NSSavePanel -_initWithoutGModel]): Changed Ok button from 'Ok' to 'OK'. * Panels/SavePanel.gmodel: idem. Wed Oct 27 1999 Nicola Pero Minor improvements on last days' changings. * Source/NSBrowserCell.m: Use simple bold and no color when fontifying. * Documentation/gnustep-gui.tmpl.texi (NSBrowserCell): Updated description. * Source/NSSavePanel.m: More cleanup in size dealing. 1999-10-26 Adam Fedor * Source/NSWindow.m (-dealloc): Remove check for context. Wed Oct 27 1999 Nicola Pero Patches by ackyugo@geocities.co.jp fixing bug (horizontal scroller non resized) in NSBrowser upon resize: * Source/NSBrowser.h: Added forgotten ivar _scrollerRect; * Source/NSBrowser.m: ([-initWithFrame:]), ([-tile]): Use ivar _scrollerRect appropriately; ([-resizeSubviewsWithOldSize:]): Update horizontal scroller frame using _scrollerRect. Tue Oct 26 1999 Nicola Pero SavePanel tidyups, simplifications and fixes for better accessoryView support. * Headers/gnustep/gui/NSSavePanel.h: Removed ivars _oldContentFrame, _oldTopViewFrame. * Source/NSSavePanel.m ([NSSavePanel -setAccessoryView:]): Cleaned, improved and tested size calculations. * Source/NSSavePanel.m ([NSSavePanel -_initWithoutGModel]): Set properly all the autoresizingMasks. Added experimental feature (*disabled* by default) to Browser Cells. Setting the user preference "GSBrowserCellFontify" to 'YES' draws the leaf and non-leaf cells with different fonts and colors. The API is stricltly unchanged in all cases. * Documentation/gnustep-gui.tmpl.texi (NSBrowserCell): Written short description of how to turn the experimental feature on/off. * Source/NSBrowserCell.m ([+initialize]): Initialize fonts and colors if fontify is on. * Source/NSBrowserCell.m ([-initTextCell:]): use setLeaf: instead of setting the ivar directly. * Source/NSBrowserCell.m ([-setLeaf:]): If fontification is on, change appropriately the text cell font and color. Tue Oct 26 1999 Nicola Pero Fixes for Controls and Cells: * Source/NSButton.m ([-selectedCell]): Removed (duplicate of NSControl's method). * Source/NSCell.m ([-setImage:]): Accept nil argument. * Source/NSCell.m ([-setStringValue:]): Make the cell a text cell. * Source/NSControl.m ([-selectedCell]): Always return the control's cell. * Source/NSTextField.m ([-selectedCell]): Removed (duplicate of NSControl method). Class Rewritten: * Source/NSTableHeaderCell.m: Rewritten from scratch, tested. This class is now complete and fully compliant. Headers Fix: * Headers/gnustep/gui/AppKit.h: Include NSTableColumn.h. * Headers/gnustep/gui/NSTableHeaderCell.h: Added copyright notice. Mon Oct 25 1999 Nicola Pero The merit should all go to David Lee Ludwig , for reporting the bug in border drawing, and suggesting the fix. * Source/NSBrowser.m: ([GSBrowserTitleCell]): new class. * Source/NSBrowser.m ([-initWithFrame:]): use GSBrowserTitleCell to draw the titles. Mon Oct 25 1999 Nicola Pero * Source/NSBrowser.m ([-initWithFrame:]): fixed bug in drawing title background. Sun Oct 24 1999 Nicola Pero * Source/NSWindow.m ([GSWindowView -setFrame:]): Send to the content view a resizeWithOldSuperviewSize: instead of a setFrame:. Sat Oct 23 1999 Nicola Pero Fixed critical bug. Now setting a flipped view as a window's contentView should work. * Source/NSView.m ([-convertPoint:fromView:]): Use window's contentView's superview and not contentView when argument is nil. * Source/NSView.m ([-convertPoint:toView:]): idem. * Source/NSView.m ([-convertRect:toView:]): idem. * Source/NSView.m ([-convertRect:fromView:]): idem. * Source/NSView.m ([-convertSize:fromView:]): idem. * Source/NSView.m ([-convertSize:toView:]): idem. 1999-10-22 Adam Fedor * Source/NSWindow.m (-initWithContentRect:...): Remove window from windows menu if window_level is > dock window. * Source/NSMenu.m (NSMenuWindow): Implement class (from backend) so backend class can be removed. Sat Oct 23 1999 Nicola Pero * Source/NSSavePanel.m Moved FileManager at the beginning of file, to avoid compiler warnings. ([-_initWithoutGModel]): Made the prompt non selectable. * Source/NSScroller.m ([-trackScrollButtons:]): Removed useless lockFocus:. * Source/NSSlider.m ([-mouseDown:]): idem. 1999-10-22 Adam Fedor * Source/NSColor.m ([NSColor -set]): Implement (from backend). Fri Oct 22 1999 Nicola Pero * Documentation/gnustep-gui.tmpl.texi (Keyboard Modifiers): Added short documentation on how to configure the xgps/xdps backend keyboard modifiers. 1999-10-21 Adam Fedor * Remove backend window class and use new window ops. * Headers/gnustep/gui/DPSOperators.h: New window ops. * Headers/gnustep/gui/GSMethodTable.h: Likewise. * Headers/gnustep/gui/NSGraphicsContext.h: Likewise. * NSGraphicsContext.m: Likewise. * Headers/gnustep/gui/NSEvent.h: Add GSAppKitWindowClose event type. * Headers/gnustep/gui/NSWindow.h: Move some backend methods here. * Source/NSEvent.m (-window): Use new NSWindow method. * Source/NSWindow.m (-dealloc): Use window ops. (-init:...): Likewise. (-flushWindow): Implement using window ops. (-processResizeEvent): New method. (-sendEvent:) Tidy. Thu Oct 21 1999 Nicola Pero * Source/NSPopUpButton.m ([-selectItemAtIndex:]): Mark the button as needing redisplay when the selected item is changed. This is effective, but temporary. Replace it by a call to synchronizeTitleAndSelectedItem as soon as the latter works. Tue Oct 19 11:33:46 1999 Lyndon Tremblay * Source/NSMenuView.m: ([-sizeToFit]) added handling for title width. ([-setTitleWidth:]) new private function called by NSMenu to make the menu not get smaller than menu title. * Source/NSMenu.m: (-[sizeToFit]) added handling for title width. * Headers/AppKit/NSMenuView.h: added declaration for -setTitleWidth. Tue Oct 19 1999 Richard Frith-Macdonald * Source/NSApplication.m: ([-terminate:]) modification based on patch by Aled.Davies@bigfoot.com to send notification. * Source/NSWorkspace.m: Fix to prevent duplicate notifications. Tue Oct 19 1999 Nicola Pero Changing suggested by Richard: * Source/NSApplication.m Removed ([-isRunningModalForWindow:]) in favour of ([-modalWindow]). This method returns the window currently running a modal loop, if any; otherwise, nil. * Source/NSWindow.m ([-keyDown:]): changed accordingly. * Headers/AppKit/NSApplication.h: changed accordingly. Minor changings/fixes: * Source/NSCell.m ([-performClick:]): Rewritten the case when the cell has no control view. Also, made click faster. * Source/NSControl.m ([-performClick:]): Added missing method. * Headers/AppKit/NSControl.h: Added corresponding declaration. * Source/NSMatrix.m ([-initWithFrame:mode:prototype:numberOfRows: numberOfColumns:]): if numberOfRows or numberOfColumns is zero, use default size for cells. * Source/NSMenuView.m ([-performKeyEquivalent:]): implemented method. * Source/NSSavePanel.m ([-_initWithoutGModel]): Make the panel non resizable. 1999-10-18 Lyndon Tremblay * Headers/gnustep/gui/NSSecureTextField.h: Added. * Headers/gnustep/gui/NSTextField.h: Added method to share initialization data with NSSecureTextField. * Source/NSSecureTextField.m: Added, 90% done. * Source/NSTextField.m ([-_initFieldWithFrame:cellClass:]): Added for shared initialization code with NSSecureTextField. * Images/common_Diamond.tiff: Added for NSSecureTextField's bullets. * GNUmakefile: Added rules for NSSecureTextField's sources. Tue Oct 14 1999 Nicola Pero Sorry for having messed things up using the wrong modifier for key equivalents. Thanks to Richard for pointing this out. * Source/NSApplication.m ([-sendEvent:]): Changed modifier back to NSCommandKeyMask. * Source/NSButtonCell.m ([-_init]): Changed back to use NSCommandKeyMask. * Source/NSWindow.m ([-keyDown:]): Use NSCommandKeyMask for key equivalents. Tue Oct 14 1999 Lyndon Tremblay * Source/NSMatrix.m: ([-initWithFrame:]): Changed default cellSize to be convient and match NSMatrix's frame. Wed Oct 13 1999 Nicola Pero You should now be able to use key equivalents for buttons. See core/Testing/Calculator.app for a running example. * Source/NSApplication.m ([-sendEvent:]): Changed modifier used for key equivalents to NSControlKeyMask. * Source/NSButtonCell.m ([-_init]): By default, set keyEquivalentModifierMask to NSControlKeyMask. * Source/NSButton.m ([-keyDown:]): Removed invocation of peformKeyEquivalent:. Key equivalents are not processed here. * Source/NSWindow.m ([-keyDown:]): After all else fails, try considering the key as a keyEquivalent without Control pressed. * Source/NSWindow.m ([-initDefaults]): Make the default first responder the window itself. ([-display]): Modified initial first responder stuff accordingly. Tue Oct 12 1999 Richard Frith-Macdonald * Source/NSApplication.m: Attempts to fix ordering of application activation und unhiding on launch. * Source/NSWorkspace.m: Patch by Aled.Davies@bigfoot.com to send notifications on application launch * Source/NSWorkspace.m: Patch by Aled.Davies@bigfoot.com to send notifications on application launch. Tue Oct 12 1999 Richard Frith-Macdonald * Source/NSWorkspace.m: Added private notification center class to handle notifications to be passed between applications. Sat Oct 10 1999 Nicola Pero nextText and previousText can now be safely and almost trivially implemented using the nextKeyView and previousKeyView facilities. Today I did it for NSTextField: * Headers/AppKit/NSTextField.h: Removed ivars nextText and previousText * Source/NSTextField.m ([-encodeWithCoder:]), ([-initWithCoder:]): Update for removal of ivars nextText, previousText. * Model/GMAppKit.m ([NSTextField -initWithModelUnarchiver:]), ([NSTextField -encodeWithModelArchiver:]): Updated for removal of ivars. * Source/NSTextField.m ([-nextText]), ([-previousText]), ([-setNextText:]), ([-setPreviousText:]): rewritten, by using nextKeyView stuff. * Source/NSTextField.m ([-keyDown:]): Completely rewritten the part before the cell edit. A little reorganization of keyboard event handling code written in the last days; added Escape support: * Headers/AppKit/NSApplication.h: Added prototype for -isRunningModalForWindow:. * Source/NSApplication.m ([-isRunningModalForWindow:]): new method (a GNUstep extension). Return YES if there is a modal session running and it is running with the specified window. * Source/NSApplication.m ([-runModalForWindow:]): Close the window on abort. * Source/NSTextField.m ([-keyUp:]): Removed method, useless. * Source/NSView.m ([-keyDown:]): Removed method. Moved the code to [NSWindow -keyDown:]. * Source/NSView.m ([-keyUp:]): Removed method, useless. * Source/NSWindow.m ([-keyDown:]): Implemented method. Added Escape support. Sat Oct 9 1999 Nicola Pero * Source/NSButton.m ([-keyDown:]): Perform a click if the key is SPACE or ENTER. * Source/NSCell.m ([-performClick:]): Completely rewritten. * Source/NSView.m ([-previousValidKeyView]), ([-nextValidKeyView]): fix to avoid an infinite loop. 1999-10-09 * Model/GMAppKit.m ([NSPopUpButton -initWithModelUnarchiver:]): decode itemArray as an array. * Source/GNUmakefile: Move installed headers to gnustep/AppKit * Model/GNUmakefile: Likewise. 1999-10-08 * Model/GMAppKit.m ([NSPopUpButton -encodeWithModelArchiver:]): Encode frame. Fri Oct 8 1999 Nicola Pero Implementation of key view loop. * Headers/AppKit/NSView.h: New instance variables _nextKeyView and _previousKeyView. Added prototypes for the new methods implemented in NSView.m. * Model/GMAppKit.m ([NSView -encodeWithModelArchiver:]), ([NSView -initWithModelUnarchiver:]): Updated for new ivars _nextKeyView, _previousKeyView. * Source/NSView.m ([-dealloc]): Remove references to the view in _nextKeyView and _previousKeyView. * Source/NSView.m ([-initWithCoder:]), ([-encodeWithCoder:]), ([-initWithFrame:]): Updated for new ivars _nextKeyView, _previousKeyView. * Source/NSView.m ([-setNextKeyView:]): implemented method. ([-nextValidKeyView]): implemented method. ([-nextValidKeyView]): implemented method. ([-setPreviousKeyView:]): implemented method. ([-previousValidKeyView]): implemented method. ([-previousValidKeyView]): implemented method. * Source/NSView.m ([NSView -keyDown:]): implemented method to process TAB/SHIFT+TAB. ([NSView -keyUp:]): idem. * Source/NSWindow.m: ([-selectPreviousKeyView:]): implemented method. ([-selectKeyViewFollowingView:]): implemented method. ([-selectNextKeyView:]): implemented method. ([-selectKeyViewPrecedingView:]): implemented method. Fix, mainly useful for custom control subclasses: * Model/GMAppKit.m ([NSControl -initWithModelUnarchiver:]): If the encoded cell is nil, create a new one (of the class associated with the type of NSControl being decoded). This is needed for NSControl custom subclasses encoded through IMCustomView. ([NSMatrix -initWithModelUnarchiver:]): Do not set delegate if nil. Tue Oct 5 1999 Nicola Pero * Model/IMConnectors.m ([IMOutletConnector -establishConnection]): Fixed bug which would get some method names wrong, as for example @"setInspectorview:" instead of @"setInspectorView:", due to an error in calling NSString's -capitalizedString. Mon Oct 4 1999 Nicola Pero Implementation of 'initial first responder' stuff for NSWindow: * Headers/AppKit/NSWindow.h: New instance variable _initial_first_responder * Source/NSWindow.m: ([-dealloc]), ([-initDefaults]), ([-encodeWithCoder:]), ([-decodeWithCoder:]): updated to take account for the new ivar _initial_first_responder. * Model/GMAppKit.m ([NSWindow -encodeWithModelArchiver:]): Added initialFirstResponder ([NSWindow -initWithModelUnarchiver:]): idem ([NSPanel -encodeWithModelArchiver:]): idem ([NSPanel -initWithModelUnarchiver:]): idem ([NSSavePanel -encodeWithModelArchiver:]): idem ([NSSavePanel -initWithModelUnarchiver:]): idem * Source/NSWindow.m ([-setInitialFirstResponder:]): implemented method. ([-initialFirstResponder]): implemented method. * Source/NSWindow.m ([-display]): If there is no first_responder, set it to _initial_first_responder (if non-nil). Minor fixes: * Source/GNUmakefile: Added missing AppKit/AppKitExceptions.h * Source/NSOpenPanel.m ([+openPanel]): Set defaults after creating. Tue Sep 28 1999 Nicola Pero * Source/NSBrowser.m Fixed bug: ([-mouseDown:]): New method with a void implementation (to prevent the original NSControl's method from being ever executed). Mon Sep 27 1999 Nicola Pero * Source/NSOpenPanel.m ([+openPanel]): use NSSavePanel's new _initWithoutGModel method if loading of gmodel fails. For now, use always the safer _initWithoutGModel. Thu Sep 23 1999 Nicola Pero * Source/NSBrowserCell.m ([-drawInteriorWithFrame:inView:]): Clean up and bug fix for cells without image. Leaf cells (and branch cells with a nil branchimage) should now draw correctly. * Source/NSSavePanel.m ([-_initWithoutGModel]): new method meant to allow the panel run even without a gmodel, or when loading of the gmodel fails. ([-_setDefaults]): set the title to "Save". ([+savePanel]): Use always the safer _initWithoutGModel for now. RFM - tidied a little, adding releases for subviews etc (even though the save panel may never be destroyed). Tue Sep 21 1999 Nicola Pero * Source/NSBrowser.m ([-selectedColumn]): fix: ignore unloaded columns when searching the currently selected one. * Source/NSMatrix.m ([-drawCellAtRow:column:]): fix: added forgotten lockFocus/unlockFocus. * Source/NSMatrix.m ([-resizeWithOldSuperviewSize:]): New method implementing the prescribed autoresizing behaviour according to autosizesCells. 1999-09-21 Adam Fedor * Source/NSBrowserCell.m (-drawInteriorWithFrame:inView:): Put arrow at extreme right of cell (patch from Tim Bissell ). * Source/NSButtonsCell.m (-performClick:) Remove (duplicate of NSCell method). Tue Sep 15 1999 Nicola Pero (NB. The above date reflects submission of the patch - sorry I didn't commit it until 21st Sept - RFM) * Source/NSButton.m ([-performClick:]): Removed lock/unlock focus, now done automatically by the cell. * Source/NSBrowserCell.m ([-drawInteriorWithFrame:inView:]): Lock focus in the view during drawing. * Source/NSButtonCell.m: ([-drawInteriorWithFrame:inView:]): Lock focus in the view during drawing. ([-drawWithFrame:inView:]): idem. * Source/NSButtonCell.m ([-performClick:]): draw in its control_view, if it has one, not in the currently focused view. * Source/NSCell.m ([-performClick:]): idem. * Source/NSCell.m: ([-drawInteriorWithFrame:inView:]): Lock focus in the view during drawing. ([-drawWithFrame:inView:]): idem. * Source/NSControl.m ([-initWithFrame:]): invoke +cellClass when creating the new cell. * Source/NSControl.m ([-drawCellInside:]): call the cell's drawingRectForBounds: method to get the area to draw. * Source/NSControl.m ([-mouseDown:]): Removed lock/unlock focus now done automatically by the cell. * Source/NSImageCell.m: ([-drawInteriorWithFrame:inView:]): Lock focus in the view during drawing. ([-drawWithFrame:inView:]): idem. * Source/NSMatrix.m ([-highlightCell:atRow:column:]): lock focus during drawing of background. * Source/NSMatrix.m ([-_mouseDownNonListMode:]): Removed lock focus now done by the cells. ([-mouseDown:]): idem. ([-keyDown:]): idem. * Source/NSMenuItemCell.m ([-drawWithFrame:inView:]): Lock focus in the view during drawing. * Source/NSPopUpButtonCell.m ([-drawWithFrame:inView:]): idem. * Source/NSSliderCell.m ([-drawInteriorWithFrame:inView:]): idem. * Source/NSTableHeaderCell.m ([-drawInteriorWithFrame:inView:]): idem. * Source/NSTextFieldCell.m: ([-drawInteriorWithFrame:inView:]): idem. Mon Sep 20 1999 Nicola Pero * Source/NSView.m ([-setFrameSize:]): use zero width or height if the width or height of the argument is negative, but don't crash the app. ([-setFrame:]): idem. Modified by RFM to apply to all other cases of checking view size and also to add debug logging for all those cases. Mon Sep 20 1999 Richard Frith-Macdonald * Source/NSPanel.m: Remove unnecessary -center messages. * Source/NSApplication.m: Add explanatory comment about centering. Mon Sep 20 1999 Nicola Pero * Source/NSApplication.m ([-runModalForWindow:]): Automatically invoke [-center] on the window, if the window is a panel. (following the spec for NSWindow's center method.) * Source/NSSavePanel.m ([-runModalForDirectory:path:filename]): Simplified, removed some useless comands: NSApplication's -runModalForWindow: already both centers and makeKeyAndOrderFronts the panel, as required by the specs. Sat Sep 18 1999 Richard Frith-Macdonald * Source/NSView.m: Applied N. Pero's fix for lockFocus. Sat Sep 18 1999 Nicola Pero * Source/NSFormCell.m ([-initTextCell:]): Follow the doc: init bezeled. ([-drawWithFrame:inView:]): Tiny fix to have some space between title and text. ([-cellSize]): New method Thu Sep 16 8:38:00 1999 Richard Frith-Macdonald * Source/NSBrowserCell.m: Fix for positioning of leaf images. Thu Sep 16 7:11:00 1999 Richard Frith-Macdonald * Source/NSBrowser.m: ([-setPath:]) ensure column zero is loaded - patch from Tim Bissell. 1999-09-13 Pedro Ivo Andrade Tavares * NSScreen.m: added the Mac OS X messages -visibleFrame: and -supportedWindowDepths. The messages are not generalized right now. 1999-09-14 Adam Fedor * Source/NSCell.m ([NSCell -trackMouse:inRect:ofView:untilMouseUp:]): Remove setNeedsDisplay (bug reintroduced again inadvertantly). 1999-09-08 Adam Fedor * Model/GMAppKit.m: Undef implementation of NSPopUpButton. * Model/IBClasses.h: Interface for NSMenuTemplate. * Model/IBClasses.m: Add code to retain NSMenuTemplate if it's associated with a NSPopUpButton (This seems like a hack - nib2gmodel may not be correctly connecting NSPopUpButton with its NSMenu). 1999-09-14 David Lazaro Saz * Source/NSScrollView.m ([NSScrollView -drawRect:]): Corrected problem with the vertical black line of a scrollview being displaced 1 pixel down. Tue Sep 14 1999 Nicola Pero * Source/NSButton.m: ([-drawRect:]): Removed method. * Source/NSPopUpButton.m ([-drawRect:]): Corrected method. It should not draw the cell in its argument rect, but in its bounds. * Source/NSTextField.m: ([-drawRect:]): Removed method. 1999-09-14 David Lazaro Saz * Source/NSButtonCell.m: NeXT look-alike changes ([-drawingRectForBounds:]): Made NSButton a special case. The drawing rect is calculated in a different way than the other cell types. ([-cellSize]): Added changes that take the above into account and removed extra inner border if only there's an image to draw and no text. ([-drawInteriorWithFrame:inView:]): Added a nice translation effect when pushing a button. Mon Sep 13 1999 Nicola Pero * Source/NSImageView.m ([-setImage:]): Added update of the cell. ([-setImageAlignment:]): idem. ([-setImageScaling:]): idem. ([-setImageFrameStyle:]): idem. * Source/NSView.m ([-encodeWithCoder:]): added encoding of the autoresizingMask ([-initWithCoder:]): added decoding of the same variable. Sun Sep 12 1999 Nicola Pero * Source/NSView.m ([-resizeWithOldSuperviewSize:]): Fixed difficult bug hunted for months: removed floor() used in the middle of the computation of widths and heights. Widths and heights are float, and must not to be arbitrarily rounded to integers in the middle of a computation. This bug would cause obscure, very little, misalignment in various views after resize. The misalignments could become appreciable and ugly after repeated resizes. Sun Sep 12 1999 Nicola Pero * Source/NSImageCell.m ([-cellSize]): added method. ([-drawingRectForBounds:]): added method. ([-drawInteriorWithFrame:inView:]): usual bug fix (see Sep 11). 1999-09-11 David Lazaro Saz * Headers/gnustep/gui/NSGraphics.h: Changed parameter declaration of bordered rectangle drawing functions to conform with MacOS X specs. 1999-09-11 Michael Hanni * Source/NSMenu.m: many small fixes and optimizations for quicker display. In addition several small fixes which should improve functionality as well as usablity. * Source/NSMenuView.m: ditto. * Source/NSHelpManager.m: a small bugfix to allow for compilation. 1999-09-11 Pedro Ivo Andrade Tavares * NSResponder.m ([NSResponder -helpRequested:]): Now the application exits context help mode regardless of whether help was shown or not. Without it, the app would do nothing while the user didn't click on a control with help, and would appear broken. * NSHelpManager.m ([NSBundle -contextHelpForKey:]): implemented. See below. ([NSApplication -showHelp:]): implemented. See below. ([NSHelpManager -contextHelpForObject:]): minor change. Context Help for an application is stored in a file called Help.plist. Inside it are several dictionaries, each with the name of what originally was an RTF or RTFD file. Inside each of these dicts, a key called NSHelpRTFContents contains an NSArchived NSAttributedString from the original file. NSBundle receives the original RTF file name, and retrieves the NSAttributedString from this file. Thanks to Richard Frith-MacDonald for unearthing the format of Help.plist. I've implemented an extension, in that NSBundle also looks inside an directory called Help for a file of this name. NSApplication -showHelp: asks the workspace to open in the default editor a file of name "appname.rtf", or what is in the key GSHelpContentsFile in the Info-gnustep.plist file. Sat Sep 11 11:20:00 1999 Richard Frith-Macdonald * Headers/AppKit/NSCell.h: Removed ([-_drawImage:inFrame:]) * Source/NSCell.m: Removed ([-_drawImage:inFrame:]) * Source/NSButtonCell.m: Don't use ([-_drawImage:inFrame:]) * Source/NSPopUpButtonCell.m: Don't use ([-_drawImage:inFrame:]) Sat Sep 11 1999 Nicola Pero * Source/NSControl.m ([-sizeToFit]): implemented method. * Source/NSCell.m ([-cellSize]): implemented method. ([-drawingRectForBounds:]): implemented method. ([-imageRectForBounds:]): implemented method. ([-titleRectForBounds:]): implemented method. ([-drawInteriorWithFrame:inView:]): bug fix; calculate the drawing rect (the cell frame minus the borders) correctly (by invoking drawingRectForBounds:). Previously, xDist was incorrectly used instead of the width of the border, and yDist instead of the height of the border. * NSButtonCell.m ([-drawingRectForBounds:]): implemented method. ([-drawInteriorWithFrame:inView:]): same bug fix as above. * NSTextFieldCell.m ([-cellSize]): removed method; it is no longer needed. Now [-cellSize] is inherited from the NSCell class. ([-drawInteriorWithFrame:inView:]): same bug fix as above. 1999-09-10 Carl Lindberg * Source/NSDocument.m: new file, implementation. * Source/NSDocumentController.m: ditto. * Source/NSWindowController.m: ditto. * Headers/NSDocument.h Headers/NSDocumentController.h Headers/NSDocumentFrameworkPrivate.h Headers/NSWindowController.h: new. 1999-09-10 Pedro Ivo Andrade Tavares * Source/NSHelpManager.m: new file. See below for an explanation. * Headers/AppKit/NSHelpManager.h: new file. * Source/GSHelpManagerPanel.h: new file. * Source/GSHelpManagerPanel.m: new file, defines the help window used by NSHelpManager. * Source/NSWindow.m ([NSWindow -sendEvent:]): if we're in context help mode, call -helpRequested: instead of -mouseDown. * NSResponder.m ([NSResponder -helpRequested:]): if the current responder has context help, show it using NSHelpManager; else, pass to the next responder. These changes and new files implement the NSHelpManager context help interface, which is defined on OpenStep 4.1 onward and Mac OS X Server. To define context help for any responder, call [[NSHelpManager sharedHelpManager] setContextHelp: (an NSAttributedString with the help) forObject: (the responder)]. For the user to see it, call [[NSApplication sharedApplication] activateContextHelpMode] for now, and the next time a user clicks on a responder, its help will be shown. The actiation of the context help mode will be automatic in the future. 1999-09-10 Michael Hanni * Source/NSWindow.m: modifications to allow NSWindowController and friends to work happily. Before windowShouldClose completes we confer with NSWindowController if we should REALLY close the window. * Source/NSApplication.m: modifications for NSDocumentController. If the delgate doesn't handle openFile: [NSDocumentController sharedDocumentController] opens the file. * Source/NSTabView.m: fixed a display problem. Tabs on the bottom of the view work, but some display niggles remain. (Note: we beat Apple on this one, heh.) Thu Sep 9 1999 Nicola Pero * Source/NSButtonCell.m: implemented missing method ([-cellSize]). 1999-09-09 Gerrit van Dyk * Headers/NSComboBox.h: Added NSComboBox * Headers/NSComboBoxCell.h: Add NSComboBoxCell * Headers/AppKit.h: Added NSComboBox,NSComboBoxCell * Source/NSComboBox.m: Added NSComboBox. * Source/NSComboBoxCell.m: Added NSComboBoxCell * Source/GSComboSupport.hm: Private Classes used by ComboBoxes * Images/NSComboArrow.tiff: down arrow on comboboxes 1999-09-07 Michael Hanni * Source/NSTabView.m: some modifications to make tabs on the bottom look a little better. * Source/NSAttributedString.m: turned off fixParagraphAttributes, was causing Text Network to crash. (Most likely my fault.) * Source/NSLayoutManager.m: lots of code... nothing exciting. * Images/*: somehow I triggered CVS to touch everything in here, oops. Tue Sep 7 6:50:00 1999 Richard Frith-Macdonald * Source/NSScrollView.m: ([-setContentView:]) prohibit illegal settings. ([-encodeWithCoder:]) and ([-initWithCoder:]) implemented. * Model/GMAppKit.m: Fix NSScrollView initialisation to create the content-view (NSClipView) as it should. 1999-09-06 Nicola Pero * Source/NSMatrix: Added missing method ([-sizeToFit]). ([-deselectAllCells]): do nothing, as in MacOS-X, if mode is NSRadioModeMatrix and empty selection is not allowed. ([-selectCellAtRow:column:]): mark both the cells, newly selected and deselected one, as needing redraw, not only the newly selected cell. If row or column is negative, just deselect the currently selected cell, as in MacOS-X. Mon Sep 6 6:37:00 1999 Richard Frith-Macdonald * Source/NSWindow.m: added enable/disable flush fix from dawn. * Headers/NSWindow.h: added enable/disable flush fix from dawn. Fri Sep 3 22:45:00 1999 Richard Frith-Macdonald * Source/NSAttributedString.m: implemented (untested) most of the missing methods, and fixed a few memory leaks. Thu Sep 2 12:50:00 1999 Richard Frith-Macdonald * NSWorkspace.m: Fixes for locating icons in application resources. * NSBundleAdditions.m: implemented ([-pathForImageresource:]) Wed Sep 1 9:55:00 1999 Richard Frith-Macdonald Added patches from n.pero@mi.flashnet.it to access ivars of superclasses directly. Generated changes for NSClipView.m myself. * NSBox.m: (frame) * NSClipView.m: (superview, window, bounds) * NSMatrix.m: (bounds) * NSMenuView.m: (frame, window, bounds) * NSPopUpButton.m: (frame, window) * NSProgressIndicator (window, bounds) * NSSavePanel.m: (frame) * NSScroller.m: (frame) * NSScrollView.m: (bounds) * NSSlider.m: (bounds) * NSSplitView.m: (frame, window, bounds) * NSTabView.m: (frame) * NSTableView.m: (superview) * NSView.m: (superview, autoresizeSubviews) Wed Sep 1 9:28:00 1999 Richard Frith-Macdonald * Tools/GNUmakefile.preamble: patch by doko@cs.tu-berlin.de so that make_services is linked without the gste-gui library. * Tools/make_services.m: minor fixes to get rid of some compiler warnings - remove unused variables etc. Wed Sep 1 9:17:00 1999 n.pero@mi.flashnet.it * Source/NSBox.m: (-initWithFrame:) changed default border type to NSGrooveBorder (as in MacOS-X). Resize content view to fit the box. Turn off autoresizing of subviews. (-setContentViewMargins:) removed the code which resized the content view (as required by MacOS-X specs). (-setFrame:) added method. It resizes also the content view when the box is resized, as required by MacOS-X specs. (-setFrameSize:) idem. (-setFrameFromContentFrame:) Tried to make the GNUstep method compliant with MacOS-X specs. In particular, the origin of the NSBox has to be changed too, and contentFrame is relative to the superview's coordinate system. (-sizeToFit) Tried to make the GNUstep method compliant with MacOS-X specs. In particular, try the sizeToFit message to the content_view before resizing it; check that the title fits, otherwise make the box bigger to have the title displayed; modified slightly the loop to give correct answer in case the min of the origin's of the subviews is positive; keep better care of the fact that frames are not expressed always in the same coordinate system. Sun Aug 22 11:52:00 1999 Richard Frith-Macdonald * Source/NSView.m: ([-viewWillMoveToWindow:]) fixed to call method in subviews when new window is nil. 1999-08-22 Gerrit van Dyk * Headers/NSProgressIndicator.h AppKit.h: Added ProgressIndicator * Source/NSProgressIndicator.m: Added ProgressIndicator. Only determinate Indicators works at this stage. 1999-08-21 Michael Hanni * Source/NSCell.m: lots of fixes to editWithFrame, and fieldEditor related methods. * Source/NSText.m: caret drawing now works. * Source/NSTextField.m: fixes to allow for single click and type usage of textFields. * Source/NSView.m: fixed bug in viewWillMoveToWindow: which could cause an X11 protocol error in the backend. 1999-08-20 Michael Hanni * Source/NSSlider.m: added missing [self unlockFocus];. * Source/NSMenu.m: fixes to sizeToFit and update. This allows you to keep the windows and services menus tornoff and when you rerun the program these menus will look correct. * Source/NSMenuView.m: ditto. 1999-08-19 Michael Hanni * Headers/NSAttributedString.h NSLayoutManager.h NSTableView.h: modifications, mostly added ivars. * Source/NSLayoutManager.m: implemented much code for layout and display. * Source/NSMenu.m: fixed some nagging problems. tearoffs should work almost universally. Positions are saved and restored. If you previous position exists for the main menu it goes to the upper left corner. * Source/NSMenuView.m: a few attempts to fix the "move to submenu" bugs. * Source/NSPopUpButton.m: many bug fixes and new implementations. Too many to list here. * Source/NSTableView.m: more code implemented, though I wouldn't recommend trying to use this class. :-) * Source/NSText.m: debugging code to help pinpoint which methods can be used in NSTextView and which have to be overridden. * Source/NSTextStorage.m: properly assigns itself to its layoutManager. * Source/NSTextView.m: more code additions to coincide with the new NSLayoutManager. 1999-09-07 Adam Fedor * Version: 0.6.0 * Source/NSLayoutManager.m: Change NSLog to NSDebugLLog * Source/NSText.m: Likewise. * Source/NSTextContainer.m: Likewise. * Source/NSTextField.m: Likewise. * Source/NSTextStorage.m: Likewise. * Source/NSTextView.m: Likewise. * Source/NSBox.m ([NSBox -initWithCoder:]): Remember to set the content view. * Source/NSFontPanel.m ([NSFontPanel -setPanelFont:isMultiple:]): ASSIGN panel_font (e.g. retain it). (-initWithCoder:): Likewise. * Source/NSText.m ([NSText -initWithFrame:]): Retain default_font. (-initWithCoder:): Likewise. 1999-09-07 Michael Hanni * Source/NSInterfaceStyle.m: added support for GSWindowMakerInterfaceStyle. * Headers/NSInterfaceStyle.h: added enum GSWindowMakerInterfaceStyle. * Source/NSMenu.m: implemented NSInterfaceStyle based window maker like menus. i.e. they line up with the menu item selected. try 'defaults write NSGlobalDomain NSMenuInterfaceStyle GSWindowMakerInterfaceStyle' 1999-09-05 Michael Hanni * Source/NSMenuView.m: fix nagging bug reported by Gregory John Casamento . * Source/NSWorkspace.m: reverted an erroneous patch I applied. 1999-09-04 Nicola Pero * Source/NSMenu.m: added missing method ([-_rightMouseDisplay]) with a void implementation. In future, it should be given a complete implementation, or removed. At present, the method is only called by NSResponder. 1999-09-04 Michael Hanni * Model/GMAppKit.m: patch from Tim Bissell adds proper decoding/encoding of NSButtonCell titles. * Source/NSCell.m: updated copy from HEAD. * Source/NSText.m: ditto + minor additions. * Source/NSView.m: patch to prevent X crashes. * Source/NSMenu.m: multiple patches from HEAD. * Source/NSPopUpButton.m: ditto. * Source/NSSlider.m: patch to add missing unlockFocus. * Source/NSBrowserCell.m: patch from Tim Bissell set NSBrowerCell to be initially not editable (mimcs OS 4.2 behaviour). * Source/NSWorkspace.m: added patch from Tim Bissell which adds special GNUstep functionality to NSWorkspace (for FileViewer.app). * Headers/NSWorkspace.h: added method definitions for additions by Tim Bissell Thu Sep 2 16:42:00 1999 Richard Frith-Macdonald * NSWorkspace.m: Trivial fix to pass app when opening files. * GSServicesManager.m: Fix to send open commands to app delegate rather than to application object itsself. * NSApplication.m: Fix to recognise file open request on commandline. Thu Sep 2 9:50:00 1999 Richard Frith-Macdonald * NSWorkspace.m: Attempted fix for locateApplicationBinary and tidied. Modified fix for getting file icons of directories where the extension is meaningless. Look for .dir.tiff as well. 1999-09-01 Adam Fedor * Source/NSFont.m ([NSFont -initWithCoder:]): Get the real font from the fontname. * Source/NSView.m ([NSFont -initWithCoder:]): Initialize frameMatrix and other matrices. (Fixes suggested by GerritVD@decimax.com). Mon Aug 30 15:53:41 1999 Martin Man * Headers/AppKit/NSPopUpButton.h: * Source/NSPopUpButton.m: setTitle's return type changed from int to void to conform openstep specs. Wed Sep 1 9:28:00 1999 Richard Frith-Macdonald * Tools/GNUmakefile.preamble: patch by doko@cs.tu-berlin.de so that make_services is linked without the gstep-gui library. Wed Sep 1 9:25:00 1999 Richard Frith-Macdonald * Source/NSBox.m: set default border type to NSGrooveBorder as suggested by n.pero Tue Aug 31 10:45:00 1999 Richard Frith-Macdonald Fixes to remove hard-coded colors from gui. I'm not sure this is entirely correct - in places where we expect to display white text on a dark-gray background, I've used windowFrameTextColor and controlShadowColor, since the MacOS-X documentation doesn't seem to specify anything exactly for this. * NSBrowser.m: use windowFrameTextColor for title text and controlShadowColor for background. * NSClipView.m: (-init) use controlColor for default background. * NSColorWell.m: (-drawRect:) use controlColor for background. * NSFontPanel.m: use windowFrameTextColor for title text and controlShadowColor for background. * NSMatrix.m: Use controlBackgroundColor for backgrounds. * NSMenu.m: ([NSMenuWindowTitleView drawRect:]) use windowFrameColor and windowFrameTextColor. * NSMenuItemCell.m: use selectedMenuItemColor or controlColor for background, and use selectedMenuItemTextColor, controlTextColor, or disabledControlTextColor for text. * NSPopUpButtonCell.m: use selectedMenuItemColor or controlColor for background, and use selectedMenuItemTextColor, controlTextColor for text. * NSSplitView.m: ([-initWithFrame:]) use controlShadowColor for the divider, and controlBackgroundColor for background. * NSTabViewItem.m: use controlBackgroundColor. * NSTableHeaderCell.m: use controlShadowColor for header. * NSTableView.m: use gridColor for the grid. 1999-08-29 Adam Fedor * Source/NSCell.m ([NSCell -trackMouse:inRect:ofView:untilMouseUp:]): Remove setNeedsDisplay, which was causing button to disappear when mouse left bounds. 1999-08-23 Pedro Ivo Andrade Tavares * Source/NSApplication.m: fixed a bug where it would ask if it should terminate when a panel over the main window was closed. Fri Aug 27 8:02:00 1999 Richard Frith-Macdonald Patch from Nicola Pero * Source/NSBox.m: Fix setFrameFromContentFrame: for zero rect frame. Wed Aug 25 09:42:05 1999 Martin Man * Source/NSWindow.m ([NSWindow -setFrameTopLeftPoint:]): Corrected positioning of window's top left point. X coordinate was ignored and Y coordinate was computed in wrong way. Thu Aug 26 5:07:00 1999 Richard Frith-Macdonald Patch from Niico Pero modified to use controlDarkShadowColor rather than blackColor. * Source/NSBox.m: draw line borders in correct color. * Source/NSCell.m ditto * Source/NSScrollView.m: ditto * Source/NSTabView.m: ditto 1999-08-24 Adam Fedor * Source/NSPanel.m (NSRun...AlertPanel): Change window mapping to orderFrontRegardless so panel comes up even when app is not active. 1999-08-22 Adam Fedor * Documentation/gnustep-gui.tmpl.texi: New with GNUstep specific documentation. Sat Aug 21 8:00:00 1999 Richard Frith-Macdonald * Source/NSApplication: ([-setMainMenu:]) close the old main menu (if any) and display the new one if the app is active. * Headers/AppKit/NSWindow.h: Changed ivar to support flush enable * Source/NSWindow.m: Fixed frame sizing to permit setting of frame beyond min/max size. Fixed bug in enable/disable flush. 1999-08-12 Adam Fedor * Model/GMArchiver.m (-encodeObject:withName:): Don't encode object if there is a replacement object for it. (Patch from Benhur Stein ) 1999-08-10 Adam Fedor * Source/NSClipView.m (-setBoundsOrigin:): Remove window update. * Source/NSScroller.m (-_floatValueForMousePoint:): Better position calculations. (-trackScrollButtons:): Various improvements. * Source/NSWindow.m (-setViewsNeedDisplay:): Rewrite to automatically update in event loop. * Source/NSTextView.m (-drawRect:): Minor fix. (Patches and suggestions from Benhur Stein ). Mon Aug 9 13:57:48 1999 Adam Fedor * NSGraphicsContext.m (-DPSGetEventMatchingMask:...): Add check for NSAppKitDefined and other masks. * NSWindow.m (-sendEvent:): Get dragInfo object fix. 1999-08-06 Adam Fedor * many files: Update FSF mailing address. Fri Aug 6 15:07:29 1999 Adam Fedor * Headers/gnustep/gui/NSDragging: Corrected method name. * Source/NSWindow.m: Likewise. 1999-08-03 Michael Hanni * Source/NSMenu.m: commented out code which did multiple menu movement as it was breaking things. Need to rethink that. * Headers/NSTableColumn.h Headers/NSTableHeaderView.h Headers/NSTableHeaderCell.h Headers/NSTableView.h: added files. * Source/GNUMakefile: compile in NSTable classes. 1999-07-31 Michael Hanni * Source/NSApplication.m: added patch by Pedro Ivo Andrade Tavares to handle last window/application exit. This implementation mimics OpenStep 4.1. 1999-07-30 Michael Hanni * Source/NSMenu.m: rewrote sections to handle new popupbutton code. New initialiser - initWithPopUpButton:. New ivar menu_isBeholdenToPopUpButton. * Source/NSMenuView.m: ditto. removed code that dealt with popupbutton. Also fixed bug which disallowed selecting an item if you dragged of a popup and dragged back up. * Source/NSPopUpButton.m: complete rewrite. now this class should be almost completly MacOSX compliant. For kicks try popupbuttons.app in core/Testing to see. * Source/NSPopUpButtonCell.m: modifications to make NSPopUpButton work. Also implemented representedObject as I think it should be. Also made popupbutton arrow image work for popups that use images. * Source/NSTableColumn.m: fixes to make some things work a little better. * Source/NSTableView.m: fixes to make things behave. Still doesn't compile in, but it is getting there. Modifications will have to be made to NSScrollView before we can use this class. * Source/NSTabView.m: fixed (- contentRect) for the no tabs case. * Images/: added common_UpAndDownArrowSmall.tiff and common_DownArrowSmall.tiff for popupbuttons with images in them. * Headers/NSMenu.h: mods for changes. * Headers/NSPopUpButton.h: ditto. * Headers/NSPopUpButtonCell.h: ditto, also changed to inherit from NSMenuItemCell. 1999-07-29 Adam Fedor * Headers/gnustep/gui/NSEvent.h: Add AppKit dragging events. * Headers/gnustep/gui/NSGraphicsContext.h: Added some internal drag methods. * Source/NSGraphicsContext.m (-_dragInfo): New method. (-_postExternalEvent:): Likewise. * Headers/gnustep/gui/NSPasteboard.h: Added some internal mime type conversions. * Source/NSPasteboard.m (-_initMimeMappings): New method. (-mimeTypeForPasteboardType:): Likewise. (-pasteboardTypeForMimeType:): Likewise. * Headers/gnustep/gui/NSWindow.h: Added some drag ivars. * Source/NSView.m (-dragImage...): Get the shared dragView and call it. * Source/NSWindow.m (-sendEvent:): For LeftMouseDown, send mouseDown: to view if view is key (even if not first responder). Handle AppKit dragging events. * Source/NSObjectProtocols.m: New file (Implement informal draggin protocols). 1999-07-27 Michael Hanni * Source/NSMenu.m: merge in all backend code. All that remains in the backend is NSMenuWindow. * Source/NSPopUpButton.m: merged in all backend code. Relies on NSMenuWindow now. 1999-07-27 Michael Hanni * Source/NSTabView.m: added code to allow tabs on the bottom of a tabview. Also made the space that the tabs themselves are draw in from 20 pixels to 16 (which is the exact space needed.) * Images/common_TabDownSelectedLeft.tiff common_TabDownSelectedRight.tiff common_TabDownSelectedToUnSelectedJunction.tiff common_TabDownUnSelectedJunction.tiff common_TabDownUnSelectedLeft.tiff common_TabDownUnSelectedRight.tiff common_TabDownUnSelectedToSelectedJunction.tiff: place keeper images for bottom tabs. These really need to be redrawn. * Source/NSMenu.m: removed isTornOff: from frontend and it is in the backend where it should be. * Source/NSMenuView.m: added code that does quite a bit of the transient menu code. Added code to close transients when the mouse goes up. The event code needs to be finessed so that the transient menu is not allowed to remain on screen unless the mouse button stays down. 1999-07-26 Michael Hanni * Source/NSTableView.m: added much more code to this implementation. Almost to the point where it could display something useful. Alas, some difficulties remain because the linkages between the NSTable* classes is by no means clear. * Source/NSTableColumn.m: if the datacell type has not been set and is asked for we create a standard NSTextFieldCell. * Source/NSTabView.m: implementation is at 90%. All delegate messages are sent as required (if possible) and tab selection is now by the spec. Also a small optimization in tab selection makes sure we don't reselect tabs that are already selected. Also, when drawRect is called, if no tab is selected the first tab becomes selected. Further, we properly keep the value of the index of the currently selected item. I also fixed the drawing code for use NSTabView without displaying tabs. The result of this can be seen in core/Testing/GNUstepInstaller.app. Tidied (- contentRect) to return something a little closer to the full rect. * Source/NSMenu.m: redid alot of the insertItem: addItem: methods to unify under the one primitive method. Did the same for removeItem:. Also added all the rest of the NSMenu notifications: NSMenuDidAddItemNotification NSMenuDidRemoveItemNotification NSMenuDidChangeItemNotification. I think we need some setDelegate/delegate methods in here, no? * Source/NSPopUpButton.m: when creating NSPopUpButtonCell's we make sure to make set the cell enabled so to better work with some of the new menu code. Also added code to post the one notification that this class has. * Source/externs.m: added references to new NSMenu and NSPopUpButton notifications. 1999-07-25 Michael Hanni * Source/NSTextStorage.m: removed excess calls to edited:range:changeInLength. Also changed on line 191 from > to >=. Not sure the complete implications, but alas it now works correctly. * Source/NSAttributedString.m: new file with implementation of some needed additions to NSMutableAttributedString. Try gstextnetwork.app, you'll see a lot of debug information. After that has cleared click twice in the textView and press a key. You will see the textStorage buffer. You should see the word 'eek' close to the top, that would be from a replaceCharacters in range edit, and you should also notice that some 500 characters are missing from the middle, that would be from the deleteCharactersInRange edit. It seems that the text network is working slightly on the flip side, now all we need is some drawing code to help make sense of all this. ;-) Sun Jul 25 11:40:00 1999 Richard Frith-Macdonald * Source/GSTextStorage.m: Modified ([-setAttributes:range:]) and ([-replaceCharactersinRange:withString:]) to call ([-edited:range:changeInLength:) on completion. * Source/NSTextStorage.m: likewise. * Source/NSWindow.m: make minimum window size 1 by 1. 1999-07-24 Michael Hanni * Headers/NSTextView.h: redid ivars. * Source/NSTextView.m: complete rewrite. more methods written. * Source/GSServicesManager.m: minor temp debug NSlog. * Source/NSMenuView.m: debug logs. * Source/NSText.m: debug logs. * Source/NSTextStorage.m: in processEditing: add code to notify every layoutManager of editing done in textStorage. Also fixed code to return the string. This makes debugging ohh so much easier. ;-) Look at core/Testing/gstextnetwork.app. That is the text application for NSTextView/TextNetwork. Edit.app has been modified to use NSText directly and not NSTextView. 1999-07-23 Adam Fedor * Model/GMAppKit.m: Added ifndef's to comment out areas of code that don't compile on OPENSTEP/MacOSX machines. * Model/GMArchiver.m: Likewise. * Model/IMConnectors.m (GSSetInstanceVariable): Dummy function on non-gstep-base machines. Fri Jul 23 11:45:00 1999 Richard Frith-Macdonald * Tools/gpbs.m: In ihandler() reset signal handler. 1999-07-22 Michael Hanni * Source/NSMenuView.m: some fixes to get things to work correctly when calling menu item actions. Also autoenable should be working a little better. In setHighlightedItemIndex: if new item is disabled do not highlight or target action. * Source/NSMenuItemCell.m: drawing fixes for disabled cells. 1999-07-20 Michael Hanni * Source/NSMenuView.m: trackEvent: fixed problems that existed for NSPopUpButton. Should now work as desired. However, I believe I need to once again rewrite NSPopUp to make proper use of setMenu:, that will make the code sharing between NSMenu and NSPopUp complete. Also documented the event code a little. Interestingly enough by doing this I know what needs to be looked at better. Suprise, suprise. 1999-07-19 Michael Hanni * Source/NSTableView.m: very incomplete implementation. * Source/NSTableColumn.m: mostly complete NSTableColumn implementation. * Source/NSTableHeaderView.m: some coding left when NSTableView works. * Source/NSTableHeaderCell.m: once all is drawing this should be corrected. None of this is built for good reason. The code is not finished, and the interfaces are not written. But committing them to CVS makes it much easier for me to develop on the multiple machines I use. * Source/GSServicesManager.m: removed NSMenuMatrix code. Should work properly now. * TODO: added the unimplemented classes TODO list. 1999-07-18 Michael Hanni * Source/NSPopUpButtonCell.m: removed debug code. Makes popupbutton snappy not sloppy. ;-) Sun Jul 18 16:30:00 1999 Richard Frith-Macdonald * Source/NSMenuView.m: When doing sizeToFit, use setContentSize to change the size of the window if we have one, rather than changing our frame directly. * Source/NSWindow.m: When adding a content view - don't set its autosizing mask. In GSWindowView, don't use autosizing to change the content view - set it's frame directly instead. 1999-07-17 Michael Hanni * Headers/gnustep/gui/NSMenuView.h: added new private interface. * Headers/gnustep/gui/NSPopUpButton.h: removed NSPopUpButtonMatrix and tidied some ivars. * Source/NSMenu.m: fixed a few problems. * Source/NSMenuItemCell.m: likewise. * Source/NSMenuView.m: added functionality (privately) so this class can be used to draw NSPopUpButton. Also made sizeToFit code only size the view, not the window. * Source/NSPopUpButton.m: removed NSPopUpButtonMatrix. Rewrote to use NSMenuView. * Source/NSPopUpButtonCell.m: rewrote portions to handle new system of NSMenuView. 1999-07-16 Michael Hanni * Source/NSText.m: add a patch to NSText from Daniel to do some pasteboard related stuff. Also added a patch from Peter Rasmussen that addressed my hackish NSClipView scrolling code. Still a hack, but won't kill NSText if not used in conjunction with a ClipView. 1999-07-15 Michael Hanni * Source/NSPopupButton.m: if (count) == 0, return early in drawing code. This fixes crashes created by Popups created in our gmodels. * Source/NSLayoutManager.m: new file from jagapen@whitewater.chem.wisc.edu * Source/NSTextView.m: initWithFrame: now creates a proper NSText network. Thu Jul 15 18:00:00 1999 Richard Frith-Macdonald * Source/NSView.m: Make sure cursor and tracking rects are converted to window coordinate system before installing them. Coordinate conversion methods - return unchanged values if the view is not in a window. * Source/NSWindow.m: Don't convert cursor rects coordinates - done in nsview. * Headers/AppKit/NSText.h: Fix include order. Thu Jul 15 6:55:00 1999 Richard Frith-Macdonald * Headers/AppKit/NSAttributedString.h: new file * Headers/AppKit/NSStringDrawing.h: Move some stuff to NSAttributedString.h * Headers/AppKit/AppKit.h: include NSAttributedString.h * Source/GSTextStorage.m: new file * Source/GNUmakefile: update for new source * Source/NSTextStorage.m: Make instances of GSTextStorage * Source/externs.m: Add new string constant for text links. Wed Jul 14 19:18:00 1999 Richard Frith-Macdonald * Source/GNUmakefile: Install NSMenuItemCell.h and NSMenuView.h * Headers/AppKit/AppKit.h: Add recent class headers. Wed Jul 14 16:20:00 1999 Richard Frith-Macdonald * Source/NSMatrix.m: Modifications to get rid of most internal methods and get the list-mode selection by rectangle working. * Source/NSView.m: Implemented ([scrollPoint:]) and ([scrollrectToVisible:]) (based on mGSTEP). Code probably buggy and untested. * Source/NSActionCell.m: Minor optimisations. Tue Jul 13 6:44:00 1999 Richard Frith-Macdonald * Source/NSApplication.m: In ([-runModalSession:]) pay attention to ([NSWindow worksWhenModal]). 1999-07-12 Michael Hanni * Source/NSMenu.m: added code to convert anything that conforms to into an NSMenuItemCell. Not tested, but should work. Also fixed a small bug in -init, it was not returning. * Model/GMAppKit.m: fixed code in unarchiving of NSMenus to addItems so they are converted rather than swapped in (in an operation which we can not intercede.) Mon Jul 12 5:40:00 1999 Richard Frith-Macdonald * Source/NSOpenPanel.m: In ([-runModalForTypes:]) made change suggested by Pascal Bourguignon to pass legal arguments. Sat Jul 10 14:55:00 1999 Richard Frith-Macdonald * Source/NSapplication.m: In ([-init]) made changes suggested by Pascal Bourguignon to enable effective sublassing of NSAppklication. 1999-07-9 Michael Hanni * Source/NSTabView.m: perfected the mouse event work. now clicking in the tabs works wonderfully. Now just need to hook up code to draw the selected tabs view in the tabview rect. [Check out nstabview.app in Testing/, you won't regret it, hehe.] 1999-07-9 Michael Hanni * Headers/AppKit/NSTabViewItem.h: defined some non-spec methods. * Source/NSTabView.m: added event code. you can now select tabs. Not perfect yet, but it works (i.e. click around the text.) Also fixed image problem with left most tab being selected. * Source/NSTabViewItem.m: cache tabrect for quick retrieval. * Source/NSMenuView.m: removed an extra call to flushwindow. Fri Jul 9 9:33:00 1999 Richard Frith-Macdonald * Headers/AppKit/NSApplication.h: Removed delegate methods from NSApplication, and put them in a protocol instead. Removed obsolete backend method. * Source/NSApplication.m: Removed delegate methods. Removed code that intercepted the right mouse button. * Source/NSResponder.m: Added code so that the last responder will pop-up the main menu if NSRightMouseDown has not been handled. Tue Jul 6 21:45:00 1999 Richard Frith-Macdonald * Headers/AppKit/NSGraphicsContext.h: Added new method to perform window ordering. * Source/NSGraphicsContext.m: Dummy implementation of (_orderWindow:relativeTo:forWindow:]) * Source/NSWindow.m: Use new method to implement all window ordering methods. * Model/GMAppKit.m: Remove calls to ([NSWindow -setLevel:]) as these have the unwaanted side-effect of ordering the window in to display. Tue Jul 6 16:55:00 1999 Richard Frith-Macdonald * Source/NSMenuView.m: In ([-trackWithEvent:]) fixed indexing bug when mouse dragged off bottom of menu and released, also reformatted to GNU coding style. Added copyright notice. * Source/NSMenu.m: Added copyright notice. * Source/NSMenuItemCell.m: Added copyright notice. Tue Jul 6 14:40:00 1999 Richard Frith-Macdonald * Headers/AppKit/NSAffineTransform.h: Removed macros * Source/NSAffineTransform.m: Added macros Tue Jul 6 13:06:00 1999 Richard Frith-Macdonald * Headers/AppKit/NSEvent.h: Added event subtypes for appkit events * Headers/AppKit/NSWindow.h: Removed ([_setFrame:]) - achieve same effect using the event queue. * Source/Functions.m: Rewrite for new event types. * Source/NSWindow.m: Handle AppKit defined events for window movement and resizing. Tue Jul 6 6:45:00 1999 Richard Frith-Macdonald * Headers/AppKit/NSGraphicsContext.h: New method for window control - ([_setFrame:forWindow:]) * Headers/AppKit/NSWindow.h: New ivar 'autosave_name' and new method ([_setFrame:]) for backend to call when window frame has changed. * Source/NSGraphicsContext.m: Dummy implementation of new method. * Source/NSWindow.m: Rewrite all moving/sizing methods and methods for storing/retrieving window frame info in defaults database. 1999-07-05 Adam Fedor * Source/GNUmakefile: Install NSPopUpButtonCell.h 1999-07-03 Richard Frith-Macdonald * Source/NSWindow.m: Implement ([-dragImage:at:offset:event:pasteboard:source:slideBack:]) by calling the mothod of the smae name in the window view. 1999-07-03 Adam Fedor * Source/NSApplication.m (-run): Added destroyContext (so we can remove backend run method). * Source/NSStringDrawing.m (drawRun): Better hack to work around DGS bug that fails to flush strings (XDPS backend only). 1999-06-30 Michael Hanni * Source/NSMenuView.m: fixes: 2. Clicking on the menu item that opened a sub-menu should close the sub-menu again - it doesn't. [FIXED] 5. Menus are not always closed properly at the end of a click and drag - I'm not sure if you already know about this one. [FIXED] 6. If I drag off the bottom of a menu (or submenu) then release the mouse button, the app crashes. [FIXED] [ 7 is fixed in the backend. ] * Source/NSMenuItemCell.m: paper-bag-over-the-head-goof: keyEquivalents are now drawn. How did I miss those? 1999-06-29 Michael Hanni * Source/NSMenu.m: complete rewrite. Some work still required to finish implementing obscure MacOSX methods, but otherwise functional. * Source/NSMenuView.m: new file. Implementation of MacOSX menu view class. Most classes implemented to provide basic functionality. Some work required in event code to "forward"curse to close/deselect menus in one case. I'll fix this ASAP. * Source/NSMenuItemCell.m: new file. Implementation complete, plus modifications to allow its use as an . * Source/*.m: compilation fixes. Sun Jun 27 7:50:00 1999 Richard Frith-Macdonald * Source/GNUmakefile: Install GSWraps.h Fri Jun 25 12:00:00 1999 Richard Frith-Macdonald * Source/GMArchiver.m: Fix for decodeDoubleWithName: by jagapen@whitewater.chem.wisc.edu 1999-06-23 Michael Hanni * Source/NSText.m: tweaked - sizeToFit and now scrollbars are correctly positioned. Furthermore down arrow will move you down through text in Edit.app (up arrow does too, but the algo doesn't work for it so its dead.) * Source/NSTabViewItem.m: remove top line drawing. * Source/NSTabView.m: add top line drawing. 1999-06-22 Michael Hanni * Source/NSText.m: new file from Daniel. Modifications to allow it to work with GNUstep. Plus multiple hacks to make it work with NSTextField and NSTextView better. * Source/NSTextView.m: ditto. * Source/NSCell.m: modifications to editWithFrame:::: so our field editor is a little better lined up. Plus fieldEditor gets our mouseDown: event. Fixed flicker, I think. TODO: * fix Caret. Without an insertion marker its hard to see. :-) * fix buffer for using a fieldEditor in a cell. Possibly modify NSTextFieldCell so it doesn't draw text directly abutting the side? 1999-06-21 Michael Hanni * Source/NSText.m: a bunch of little tweaks. Will document today. However as a consequence hitting return in Edit.app properly moves lines down whereas before it lost lines. * Source/NSCell.m: - editWithFrame:inView:editor:delegate:event: Now puts fieldEditor in windows contentView rather than in the cell. Debugging messages and red cell splash kept in for the moment as debugging of NSTextField* continues. 1999-06-20 Michael Hanni * Images/common_TabSelectedLeft.tiff common_TabSelectedRight.tiff common_TabSelectedToUnSelectedJunction.tiff common_TabUnSelectToSelectedJunction.tiff common_TabUnSelectedJunction.tiff common_TabUnSelectedLeft.tiff common_TabUnSelectedRight.tiff: all tiffs needed to draw NSTabs. * Images/common_3DArrowDown.tiff: for NSPopUp in pulldown mode. * Source/NSTabView.m: lots of work on drawing. Should draw correct in almost all cases. However, without event code I can't test it yet. * Source/NSTabViewItem.m: drawing. still need to move the drawing of the top line out of this and move it into NSTabView's drawRect. * Source/NSPopUpButtonCell.m: moved all backend code to frontend. 1999-06-20 Michael Hanni * Source/NSPopUpButton.m: hooked up all the actions and targets now works for popup, haven't finished pulldown yet. * Source/NSTabView.m: now draws the view correctly for all cases(?) * Source/NSTabViewItem.m: spits out correct values for string length, though more work is needed. No drawing, no events yet. NSPopUpButton now has basic functionality, ie. it works. 1999-06-19 Michael Hanni * Images/common_Nibble.tiff: made inner gray area transparent. * Source/NSTabView.m: new file. implemented, save for drawing and event. * Source/NSTabViewItem.m: new file. implemented, save for drawing and event. TabView should be fun to get drawing. :-) I'm going to follow Alfredo's lead by using a few drawn lines instead of bezier curves to draw the tabs for now (since xgps doesn't do bezier). 1999-06-18 Michael Hanni * Images/common_Nibble.tiff: new image for NSPopUpButton. * Source/NSPopUpButton.m: more changes. still using a subclass of NSMenuMatrix but had to hack new methods in to make selected_item working in the Matrix. - drawRect: draws the correct item. - synchronizeTitleAndSelectedItem: now informs our NSPopUpButtonMatrix which one of its cells is "selected", i.e. on top. * Source/NSPopUpButtonCell.m: added new file. empty class, used in the backend currently. 1999-06-17 Michael Hanni * Source/NSPopUpButton.m: half way implemented. Most still in backend, but that will change soon. PopUp and PullDown work, however the entire event mechanism needs to be implemented. * Tools/Functions.m: added definitions for new NSDraw* functions used in NSPopUp. Thu Jun 17 16:20:00 1999 Richard Frith-Macdonald * Source/NSTextContainer.m: New by jagapen@whitewater.chem.wisc.edu * Headers/AppKit/NSTextContainer.h: rewrite by jagapen * Source/GNUmakefile: Modified to build NSTextContainer and NSTextStorage. 1999-06-16 Adam Fedor * Headers/gnustep/gui/DPSOperators.h: New functions defineuserobject, execuserobject, and undefineuserobject for dealing with gstates. * Headers/gnustep/gui/GSMethodTable.h: Likewise. * Headers/gnustep/gui/NSGraphicsContext.h. Likewise. * Headers/gnustep/gui/PSOperators.h: Likewise. * Headers/gnustep/gui/GSWraps.h: Wrapper functions for PostScript functionality. * Source/NSAffineTransform.m (-concat): Implement. (-set): Likewise. * Headers/gnustep/gui/NSView.h: New gstate ivars. * Source/NSGraphicsContext.m: Move lockFocus code to NSView. * Source/NSView.m (-lockFocusInRect:): New method implementing proper gstate support. (-lockFocus): Use it. (-unlockFocusNeedsFlush): New method. Wed Jun 16 22:15:00 1999 Richard Frith-Macdonald * Images/common_Home.tiff: new file for save panel * Images/common_Mount.tiff: new file for save panel * Images/common_Unmount.tiff: new file for save panel * Images/GNUmakefile: Install new files Wed Jun 16 12:35:00 1999 Richard Frith-Macdonald * Source/NSSavePanel.m: Rewrite by jagapen@whitewater.chem.wisc.edu * Headers/AppKit/NSSavePanel.h: ditto * Panels/SavePanel.gmodel: Update by jagapen@whitewater.chem.wisc.edu Tue Jun 15 20:55:00 1999 Richard Frith-Macdonald * Source/GSServicesManager.m: Use NSNotificationCenter properly. * Source/NSColor.m: Use NSNotificationCenter properly. * Source/NSInterfaceStyle.m: Use NSNotificationCenter properly. * Source/NSPasteboard.m: Use NSNotificationCenter properly. * Source/NSWorkspace.m: Use NSNotificationCenter properly. * Tools/gpbs.m: Use NSNotificationCenter properly. Tue Jun 15 9:00:00 1999 Richard Frith-Macdonald * Source/NSWindow.m: Handle dnd registration for the window by using the window view (the superview of the content view). * Source/NSView.m: Incorporate code for keeping track of dnd registered views. Add support for notifying the graphics context of changes to the types registered by views in each window. * Source/GSDragManager.m: Removed - merged into NSView.m * Source/NSGraphicsContext.m: Added dnd registration methods. * Source/GNUmakefile: Removed GSDragManager. * Headers/AppKit/GSDragManager.h: Removed * Headers/AppKit/NSView.h: Added GSGetDragTypes() * Headers/AppKit/NSGraphicsContext.h: Added dnd registration methods. 1999-06-14 Michael Hanni * Model/GMAppKit.m: Minor adjustments for MacOS-X so nib2model works (mainly #ifdef'ing NSCStringText out if on __APPLE__). * Model/IBClasses.m: NSIB* -> NSNib on __APPLE__. Some ivars #ifedef'ed to new names if on __APPLE__. * Model/IMLoading.m: makeObjectsPerformSelector on __APPLE__. * Headers/GMAppKit.h: #ifdef'ed out NSCStringText on __APPLE__. With these changes nib2gmodel works on MacOSX-Server machines. Sat Jun 12 9:35:00 1999 Richard Frith-Macdonald * Source/NSResponder.m: Update encoding/decoding for interface styles * Model/GMAppKit.m: Update for interface styles * Headers/AppKit/NSScrollView.h: Added MacOS-X methods - setHorizontalLineScroll, setVerticalLineScroll, setHorizontalPageScroll, setVerticalPageScroll horizontalLineScroll, verticalLineScroll, horizontalPageScroll, verticalPageScroll * Source/NSScrollView.m: Added new MacOS-X methods - setHorizontalLineScroll, setVerticalLineScroll, setHorizontalPageScroll, setVerticalPageScroll horizontalLineScroll, verticalLineScroll, horizontalPageScroll, verticalPageScroll Fri Jun 11 8:35:00 1999 Richard Frith-Macdonald * Source/NSScroller.m: Fixed bug in recognising page-scrolls - now sets the NSIncrementPage and NSDecrementPage correctly. * Source/NSScrollView.m: Fixed bug in scrolling by page - now uses the page size as the context to retain, as it should. Thu Jun 10 22:25:00 1999 Richard Frith-Macdonald * Source/NSView.m: Optimise display routines - avoid unneeded re-displays. Use flag to tell if a view is opaque. Optimise 'opaqueAncestor' * Model/GMAppKit.m: Set flag to say if a view is opaque on decoding. * Headers/AppKit/NSResponder.h: Add 'opaque_view' flag. Wed Jun 9 8:35:00 1999 Richard Frith-Macdonald * Headers/AppKit/DPSOperators.h: Add DPSmouselocation() * Headers/AppKit/PSOperators.h: Add PSmouselocation() * Headers/AppKit/NSGraphicsContext.h: Add ([-DPSmouselocation::]) * Headers/AppKit/GSMethodTable.h: Add ([-DPSmouselocation::]) * Source/NSWindow.m: Use DPSmouselocation() * Source/NSGraphicsContext.m: Add ([-DPSmouselocation::]) * Source/NSApplication.m: Fix retain/release problems introduced by event system changes. Sun Jun 6 20:40:00 1999 Richard Frith-Macdonald * Headers/AppKit/NSEvent.h: Added new event types and masks and tidied. * Headers/AppKit/NSGraphicsContext.h: Added event queue ivar * Source/NSEvent.m: Rewrite to add new event types, optimise, and generate all the exceptions it should. * Source/NSGraphicsContext.m: Incorporate event handling code from backend libraries. Sun Jun 6 9:35:00 1999 Richard Frith-Macdonald * Source/NSScrollView.m: tidyup * Source/NSScroller.m: Permit use of alt key to slow down scrolling. Sat Jun 5 21:50:00 1999 Richard Frith-Macdonald Added image updates by jagapen@whitewater.chem.wisc.edu - * Source/NSImageView.m: Implemented * Source/NSImageCell.m: New class * Source/GNUmakefile: Added NSImageCell * Headers/AppKit/NSImageCell.h: New header * Headers/AppKit/AppKit.h: Added NSImageCell Sat Jun 5 7:05:00 1999 Richard Frith-Macdonald * Source/NSCell.m: Some minor drawing optimisations. 1999-06-03 Adam Fedor * Source/NSGraphicsContext.m (GSCurrentContext): Insert = (patch from John BEPPU ). Thu Jun 3 9:35:00 1999 Richard Frith-Macdonald * Source/NSWorkspace.m: Updated app launching code to supply info to open files if necessary. Fixed bug in getting name of icons for file. Wed Jun 2 22:00:00 1999 Richard Frith-Macdonald * Source/NSButtonCell.m: ([sendAction:to:]) should work with nil target. * Source/NSCell.m: ([sendAction:to:]) should work with nil target. * Source/NSControl.m: ([sendAction:to:]) should work with nil target. Wed Jun 2 20:55:00 1999 Richard Frith-Macdonald * Source/NSApplication.m: Send performKeyEquivalent messages. * Source/NSWindow.m: Send performKeyEquivalent messages. * Source/NSView.m: Send performKeyEquivalent messages. * Source/NSMenu.m: Have the menu matrix forward performKeyEquivalent messages to the menu. Wed Jun 2 19:22:00 1999 Richard Frith-Macdonald * Headers/gnustep/gui/DPSOperators.h: Fixed error in event functions. * Headers/gnustep/gui/PSOperators.h: Fixed error in event functions. * Headers/gnustep/gui/NSApplication.h: Removed unused event queue. * Source/NSApplication.m: Rewrote all event handling. * Source/NSGraphicsContext.m: initialise dps event functions. Wed Jun 2 8:34:00 1999 Richard Frith-Macdonald * Tools/make_services.m: Updated to use the GNUSTEP_PATHPREFIX_LIST environment variable if it is available. Wed Jun 2 4:10:00 1999 Richard Frith-Macdonald Added patches from jagapen@whitewater.chem.wisc.edu - * Source/NSApplication.m: In setApplicationIconImage, invoke ([setName:@"NSApplicationIcon"]) on the appicon NSImage so gmodels can use that name to get the appicon. * Source/NSOpenPanel.m: Load the save panel gmodel as an NSOpenPanel instead. (Integrated from mGSTEP code.) Raise an exception if the panel gmodel is not found. Added +allocWithZone Removed some old code. * Model/GMAppKit.m: Changed NSSavePanel code to support sub-classes (i.e. NSOpenPanel). Encoding/decoding of titles for NSFormCell Tue Jun 1 18:20:00 1999 Richard Frith-Macdonald * Headers/AppKit/NSResponder.h: New flag for dnd. * Headers/AppKit/GSDragManager.h: new file. * Source/GSDragManager.m: new file. * Source/NSView.m: Implemented drag registration/unregistration and prepared for garbage collection. * Source/NSWindow.m: Implemented drag registration/unregistration and prepared for garbage collection. * Source/GNUmakefile: Updated for above changes Fri May 28 15:15:00 1999 Richard Frith-Macdonald * Source/NSPanel.m: ([-canBecomeKeyWindow]) return NO only if the _becomesKeyOnlyIfNeeded is set. ([-canBecomeMainWindow]) always return NO. NSRun... functions make the panel key and order front. * Source/NSButton.m: ([-performClick:]) lock and unlock focus round call to the cell. Thu May 27 19:40:00 1999 Richard Frith-Macdonald * Source/NSPasteboard.m: Tidy formatting and improve style slightly. Add private method so the pasteboard server can be the same process as the pasteboard owners - for use with X selection integration. 1999-05-25 Adam Fedor * Source/NSStringDrawing.m ([NSAttributesString -drawInRect:]): Remove gsave/grestore and NSClipRect (to conform to Apple's OPENSTEP NSString operation). Tue May 25 8:50:00 1999 Richard Frith-Macdonald * Source/Model/IMConnectors.m: Use 'standard' function to set ivars the local version was buggy. * Headers/AppKit/PSOperators.h: Optimise access to context Tue May 25 3:55:00 1999 Richard Frith-Macdonald * Source/Model/GMArchiver.m: Fix for save panels by Jonathan Gapen. 1999-05-18 Adam Fedor * Headers/gnustep/gui/DPSOperators: New graphics extensions operators (composite, compositerect, disolve, etc). * Headers/gnustep/gui/GSMethodTable.h: Likewise. * Headers/gnustep/gui/NSGraphicsContext.h: Likewise. * Headers/gnustep/gui/PSOperators.h: Likewise. * Source/NSGraphicsContext.m: Likewise. * Source/NSImageRep.m: (-drawAtPoint:): Implement using DPS operators. (-drawInRect:): Likewise. Sun May 16 8:15:00 1999 Richard Frith-Macdonald * Source/NSView.m: Use new context lock/unlock operations. Mon May 14 19:50:00 1999 Richard Frith-Macdonald * Tools/make_services.m: Fix to get correct type info cached. 1999-05-12 Adam Fedor * Source/NSButtonCell.m (-drawWithFrame:inView:): Don't set a clip rect (not needed since we know what we're drawing). (-drawInteriorWithFrame:inView): Remove gsave/grestore. * Source/NSCell.m: Likewise. * Source/NSStringDrawing.m ([NSAttributedString -drawInRect:]): gsave/grestore around rectclip. * Headers/gnustep/gui/NSFont.h: ivar to show when matrix was explicitly set. * Source/NSFont.m (+fontWithName:size:): Reset it. 1999-05-11 Adam Fedor * Source/NSButtonCell.m ([NSButtonCell -drawInteriorWithFrame:inView:]): gsave/grestore around image/text to return to original clipping rect for second half of drawing. * Source/NSCell.m ([NSCell -_drawText:title:cellFrame]): PointSize does not include descender. (-highlight:withFrame:inView:): gsave/grestore to return to original for second highlight call. * Source/NSControl.m ([NSControl -mouseDown:]): Remove extra lockFocus. * Source/NSMenu.m ([NSMenuMatrix -initWithFrame:]): Font descender is a negative number. * Source/NSStringDrawing.m (sizeLine): Likewise. (setupRun): Likewise. (drawRun): Awful hack to get DGS to flush strings. * Headers/gnustep/gui/DPSOperators.h (DPSflush): Added operator. * Headers/gnustep/gui/GSMethodTable.h: Likewise. * Headers/gnustep/gui/NSGraphicsContext.h: Likewise. * Headers/gnustep/gui/PSOperators.h: Likewise. * Source/NSGraphicsContext.m: Likewise. Mon May 10 9:50:00 1999 Richard Frith-Macdonald * Headers/AppKit/NSGraphicsContext.h: Added GSCurrentContext() for optimised access to current context for thread. * Source/NSView.m: Minor optimisation of graphics context access. * Source/NSApplication.m: ditto * Source/NSScrollView.m: ditto * Source/NSSplitView.m: ditto * Source/NSStringDrawing.m: ditto * Source/NSGraphicsContext.m: Added GSCurrentContext() to return the current graphics context for the thread. Sun May 9 9:13:00 1999 Richard Frith-Macdonald * Source/NSView.m: Further optimisations, plus bugfix to ensure that a view and it's children are moved to window 'nil' when the view is removed from it's superview. Fri May 7 21:25:00 1999 Richard Frith-Macdonald Large and complex changes made in order to speed up operation of the gui. Roughly double the speed of an app - but stability will probably suffer for a while. * Headers/AppKit/NSResponder.h: Added flags structure for use by NSView (and others) for optimisation. * Headers/AppKit/NSView.h: Made ([-subviews]) return an array. Removed ([-cursorRectangles]) and ([-trackingRectangles]) * Model/GMAppKit.m: Added code to ensure that 'flipped_view' and 'has_subviews' flags are setup correctly on unarchiving. * Source/NSView.m: Removed ([-cursorRectangles]) and ([-trackingRectangles]). Added 'flipped_view' flag throughout, to avoid necessity of sending ([-isFlipped]) message except at initialisation. Added 'has_currect' flag to say if the view has any cursor rectangles. Added 'has_trkrect' flag to say if the view has any tracking rectangles. Added 'has_subviews' flag to say if the view has any subviews. Make use of the new flags. * Source/NSClipView.m: Added code to update 'flipped_view' flag when the codument view is changed. * Source/NSClipView.m: Added code to update 'flipped_view' flag when the document view is changed. * Source/NSScrollView.m: Make use of the 'flipped_view' flag. * Source/NSSplitView.m: Make use of the 'flipped_view' flag. * Source/NSWindow.m: For tracking rectangles and cursor rectangles, make use of the new flags maintained by NSView. Fri May 7 12:16:00 1999 Richard Frith-Macdonald * Headers/AppKit/GSTrackingRect.h: Add a couple of ivars and make them public. * Source/GSTrackingRect.m: Set ivars to say what methods the owner responds to. * Source/NSWindow.m: Rewrite of ([-_checkTrackingRectangles:forEvent]) and ([-_checkCursorRectangles:forEvent:]) 1999-05-05 Adam Fedor * Headers/gnustep/gui/NSGraphicsContext.h: New lock focus methods to replace old ones (lockFocusView:inRect:, unlockFocusView:needsFlush:). * Headers/gnustep/gui/NSWindow.h: New rectsBeingDrawn stack. * Source/NSGraphicsContext.m (-lockFocusView:inRect:): Implement. (-unlockFocusView:needsFlush:): Likewise. * Source/NSView.m (-lockFocus): Use them. (-unlockFocus): Likewise. Tue May 4 18:00:00 1999 Richard Frith-Macdonald * Headers/AppKit/NSGraphicsContext.h: methods for event handling. * Headers/AppKit/GSMethodTable.h: methods for event handling. * Headers/AppKit/DPSOperators.h: methods for event handling. * Headers/AppKit/PSOperators.h: methods for event handling. * Source/NSGraphicsContext.m: methods for event handling. Tue May 4 14:40:00 1999 Richard Frith-Macdonald Updates from information supplied by Marc Champesme to make NSWindow header have all the MacOS-X stuff in it. * Headers/AppKit/NSResponder.h: include NSInterfaceStyle and fix a few method prototypes; * Headers/AppKit/NSWindow.h: Added a whole load of MacOS-X methods. * Source/NSResponder.m: Fixed a few method prototypes and added interface style stuff. * Source/NSWindow.m: Fixed a few method prototypes and added interface style stuff and gState implementation. Mon May 3 18:55:00 1999 Richard Frith-Macdonald * Source/NSButtonCell.m: ([-drawWithFrame:inView:]) and ([-drawInteriorWithFrame:inView:]) respect ([-isTransparent]) 1999-05-01 Adam Fedor * Headers/gnustep/gui/NSGraphicsContext.h (-windowRectInDeviceSpace:): New method. * Headers/gnustep/gui/NSWindow.h: Removed old flush ivar, added new one. * Source/NSGraphicsContext.m (-lockFocusView:): Set focus window's rectBeingDrawn ivar for flushing performance. (-unlockFOcusView:): Set rectNeedsFlush from rectBeingDrawn. Thu Apr 29 13:10:00 1999 Richard Frith-Macdonald * Source/NSControl.m: ([-drawRect:]) implemented to call ([-drawCell:]) This (undocumented) behavior seems to be what OPENSTEP does. Thu Apr 29 12:40:00 1999 Richard Frith-Macdonald Patches by Tim Bissell * Model/GMAppKit.m: Fixes for window frames * Model/IBClasses.m: ditto * Model/IMCustomObject.m: ditto Wed Apr 28 11:37:00 1999 Richard Frith-Macdonald Images for FileViewer. * Images/GNUmakefile: new images * Images/common_Unknown.tiff: new * Images/common_Folder.tiff: new * Images/common_Root_PC.tiff: new * Images/common_Root_SGI.tiff: new * Images/common_Root_Sparc.tiff: new * Images/common_Root_Sparc2.tiff: new * Images/common_Root_Apple.tiff: new * Source/NSImageRep.m: A few bugfixes. * Source/NSCachedImageRep.m: A few bugfixes. * Source/NSImage.m: Partial support for caching. * Source/NSWorkspace.m: Support for finding file icons and finding the correct application to open an app with a given extension. * Headers/AppKit/NSWorkspace.h: GNUstep specific API for handling the preferred icon and the preferred app to edit/view a file. 1999-04-27 Michael Hanni Changes based on report by Tim Bissell * Source/NSFont.m: implemented new methods: + (NSFont *)titleBarFontOfSize:(float)fontSize; + (NSFont *)menuFontOfSize:(float)fontSize; + (NSFont *)messageFontOfSize:(float)fontSize; + (NSFont *)paletteFontOfSize:(float)fontSize; + (NSFont *)toolTipsFontOfSize:(float)fontSize; + (NSFont *)controlContentFontOfSize:(float)fontSize; * Headers/AppKit/NSFont.h: ditto. Tue Apr 27 15:48:00 1999 Richard Frith-Macdonald * Source/NSApplication.m: Load image specified in Info-gnustep.plist and use it as app icon if possible. Tue Apr 27 15:10:00 1999 Richard Frith-Macdonald Changes supplied by Tim.Bissell@dresdnerkb.com * Source/NSBrowserCell.m: Use 3d arrow images. * Images/GNUmakefile: Add 3d images * Images/common_3DArrowRight.tiff: new file * Images/common_3DArrowRightH.tiff: new file * Model/IMCustomObject.m: minor bugfixes * Model/GMAppKit.m: Partial fixes to handle window sizes correctly. Mon Apr 26 7:05:00 1999 Richard Frith-Macdonald Changes based on report by Marc.Champesme@lipn.univ-paris13.fr * Headers/AppKit/NSHelpPanel.h: place in #ifndef STRICT_MACOS_X * Headers/AppKit/NSGraphicsContext.h: place in #ifndef STRICT_OPENSTEP * Headers/AppKit/NSInterfaceStyle.h: new file. * Headers/AppKit/NSResponder.h: new interface_style ivar. * Headers/AppKit/AppKit.h: Added NSInterfaceStyle. * Source/NSInterfaceStyle.m: new file - implemented class. * Source/GNUmakefile: Added NSInterfaceStyle stuff. Fri Apr 23 16:30:00 1999 Richard Frith-Macdonald Changes based on report by Marc.Champesme@lipn.univ-paris13.fr * Source/NSOpenPanel.m: Tidied a little. * Source/NSSavePanel.m: ditto * Headers/AppKit/NSPanel.m: Added NS_ALERTDEFAULT etc. * Headers/AppKit/NSSavePanel.m: Bracket MacOS-X method with #ifndef STRICT_OPENSTEP 1999-04-22 Michael Hanni * Model/test.m: fixed NSGraphic's'Context type-o. * Model/GMAppKit.m: Added missing @end to NSImageView implementation. Mon Apr 19 14:54:00 1999 Richard Frith-Macdonald * Source/NSApplication.m: Link in dummy function to ensure that NSStringDrawing catagories are linked when using static libs. * Source/NSStringDrawing.m: Add dummy function to force link. * Source/NSEvent.m: Faster thread access. * Source/NSGraphicsContext.m: ditto. Sun Apr 18 6:30:00 1999 Richard Frith-Macdonald Added all improvements from mgstep. NSBrowser.m: ([-setPath]) implemented. NSMatrix.m: ([-getRow:column:ofCell:]) bugfix. 1999-04-14 Adam Fedor * Headers/gnustep/gui/NSScreen.h: Add initializer. * Source/NSScreen.m (initWithDeviceDescription:): New method to make it easier to determine screen information. * Source/NSBundleAdditions.m (+loadNibFile:): Fix unarchiver method name. Wed Apr 14 16:58:00 1999 Richard Frith-Macdonald Applied changes by Tim.Bissell@dresdnerkb.com - * Model/GMAppKit.m: Fixed unarchiving of NSButton and NSTextField so they don't refer to [self cell] before initialisation. Wed Apr 14 15:04:00 1999 Richard Frith-Macdonald * Source/NSPasteboard.m: Remove 'system()' and use NSTask to launch gpbs if necessary instead. * Source/NSWorkspace.m: Removed a load of obsolete code - depend on NSBundle and NSTask to do the right thing. Fri Apr 9 16:08:00 1999 Richard Frith-Macdonald * Source/NSStringDrawing.m: Further hacking of the string drawing stuff to (hopefully) support fonts, colors, tabs, underline, kern, leading. Very little actually tested and no line-break support yet. Thu Apr 8 21:08:00 1999 Richard Frith-Macdonald * Source/NSWindow.m: Tidy window view stuff * Source/NSWorkspace.m: Improve app launching to try various locations. * Source/GSServicesManager.m: Workaround compiler bug and remove unused method. * Headers/AppKitGSServicesManager.h: Remove unused method. Wed Apr 7 21:35:00 1999 Richard Frith-Macdonald * Source/NSCell.m: Position image correctly in flipped view. Wed Apr 7 10:10:00 1999 Richard Frith-Macdonald * Images/GNUmakefile: Install all images * Source/NSControl.m: ([setCell:]) permit nil cell values. Tue Apr 6 14:50:00 1999 Richard Frith-Macdonald Applied Felipes fixes from mgstep. Thu Apr 1 20:45:00 1999 Richard Frith-Macdonald * Source/NSStringDrawing.m: improved paragraph style handling and added slight optimisation to restore (barely) tolerable performance. Further optimisation to wait until it all works properly. 1999-04-01 Adam Fedor * Model/test.m (main): Change GSContext to NSGraphicContext Thu Apr 1 20:45:00 1999 Richard Frith-Macdonald * Source/NSTextField.m: init with same default values as OPENSTEP * Source/NSPanel.m: Tidied. * Source/NSStringDrawing.m: First go at support for paragraph styles, tabs, and kerning. Thu Apr 1 10:00:00 1999 Richard Frith-Macdonald * Model/GMAppKit.m: Added patch supplied by Jonathan Gapen Thu Apr 1 06:45:00 1999 Richard Frith-Macdonald * Source/NSCell.m: Make bezeled and bordered mutually exclusive - bug report by Jonathan Gapen * Headers/AppKit/NSStringDrawing.h: Add all the string drawing stuff * Source/NSStringDrawing.m: Rewrite from scratch - preliminary work. * Source/NSButton.m: Removed redundant lock/unlock in drawing ops. * Source/NSControl.m: tidy. * Source/NSSplitView.m: avoid compiler warning. * Source/NSTextFieldCell.m: tidy up, set draws background color in initialisation, fix border/bezel drawing. Wed Mar 31 17:32:00 1999 Richard Frith-Macdonald * Source/NSView: ([-viewWithTag:]) complete rewrite to find nearest matching view at any depth as it should. ([-replaceSubview:with:]) minor rewrite and tidy up. Tue Mar 30 14:00:00 1999 Richard Frith-Macdonald * Source/NSCell.m: Position image correctly in flipped views. * Source/NSSplitView.m: Position dimple image correctly when flipped. * Source/NSImage.m: Tidied a little * Source/NSScrollView.m: Work when flipped - and make NSScrollView flipped unless a subclass dictates otherwise. Tue Mar 30 05:26:00 1999 Richard Frith-Macdonald * Headers/AppKit/NSScroller.h: Modified ([-setContentView:]) and ([-contentView]) to use NSClipView rather than NSView. * NSScroller.m: Modified ([-setContentView:]) and ([-contentView]) to use NSClipView rather than NSView. Sat Mar 27 05:58:00 1999 Richard Frith-Macdonald * Source/NSBrowser.m: Override target, setTarget, action, setAction * Headers/AppKit/NSBrowser.h: Add _action and _target ivars. FRi Mar 26 20:34:00 1999 Richard Frith-Macdonald * Source/NSImage.m: Incorporated fixes suggested by dave@turbocat.de Thu Mar 25 20:34:00 1999 Richard Frith-Macdonald Mostly fixes to cope with case where tracking rectangles are removed from a window while an event that refers to them is still in the queue. * Source/NSView.m: Handle invalidation of cursor rectangles. * Source/NSWindow.m: Cope with invalidated cursor rects. * Source/NSEvent.m: Retain tracking rectangles. * Source/GSTrackingRect.m: Added support for invalidation. * Source/NSApplication.m: Deactivate app on hide. * Headers/AppKit/NSApplication.h: flag to decide whether to unhide on application activation. Thu Mar 25 09:12:00 1999 Richard Frith-Macdonald * Source/NSCell.m: Added all the exceptions mentioned in the docs. Wed Mar 24 10:52:00 1999 Richard Frith-Macdonald * Source/NSMenu.m: ([-acceptsFirstmouse:]) implemented. * Source/NSScroller.m: ([-acceptsFirstmouse:]) implemented. * Source/NSButton.m: ([-acceptsFirstmouse:]) implemented. * Source/NSSplitView.m: ([-acceptsFirstmouse:]) implemented. * Source/NSWindow.m: Now uses ([-acceptsFirstmouse:]) as it should and sends mouse movement and drag events as it should. Wed Mar 24 08:23:00 1999 Richard Frith-Macdonald Incorporated patches by Benhur-de-Oliveira.Stein@imag.fr * Model/GMAppKit.m: various fixes. * Model/GMArchiver.m: various fixes. * Model/IMCustomObject.m: various fixes. * Model/IMLoading.m: various fixes. Tue Mar 23 22:00:00 1999 Richard Frith-Macdonald * Source/NSWindow.m: Tidied up and added ([-setResizeIncrements:]) * Headers/AppKit/NSWindow.h: Ddded ([-setResizeIncrements:]) Tue Mar 23 1999 Michael Hanni * Source/NSFontManager.m: implemented orderFrontFontPanel:. * Source/NSFontPanel.m: implemented init:. Will now display the font panel. Not necessarily useful yet though. I need to plugin a few matrixes and bogus arrays with font info to make it look useful. Try fontpanel.app in xraw/Testing. Mon Mar 22 13:12:00 1999 Richard Frith-Macdonald * Source/NSView.m: implement lockFocus and unlockFocus * Source/NSImage.m: ([+imageNamed:]) store new image in dictionary with the name actually supplied. Wed Mar 17 6:48:00 1999 Richard Frith-Macdonald * Source/NSAffineTransform.m: bounding matrix of an unrotated rect is the rect itsself. Mon Mar 16 16:19:00 1999 Richard Frith-Macdonald * Source/NSTextFieldCell.m: Don't draw background by default - be consistent with OPENSTEP. Wed Mar 16 16:00:00 1999 Richard Frith-Macdonald * Source/NSApplication.m: ([-runModalSession:]) fix for windowmaker doing a windowshade - HACK - need a better solution. * Source/NSClipView.m: ([-setBoundsOrigin:]) update window before doing bit copy. * Source/NSColor.m: Fix default scroller color. * Source/NSScroller.m: Minor tidyup - use scroller slot color. * Source/NSImageRep.m: Tidyup - remove workaround for missing NSString functionality - no longer required. Mon Mar 15 10:15:00 1999 Richard Frith-Macdonald * Source/NSView.m: ([-resizeWithOldSuperviewSize:]) Added fix so this method is active at correct times - there was a logic error in the original code. * Source/NSBrowser.m: Removed ([-setFrame:]) and added an implementation of ([-resizeSubviewsWithOldSize:]) such that autoresizing now works. 1999-03-14 Adam Fedor * Model/GNUmakefile: Add ifeq's for OpenStep 4.0 compilation * Model/IMConnectors.m: COmment out extension includes Sun Mar 14 21:27:00 1999 Richard Frith-Macdonald * Source/NSView.m: ([-resizeWithOldSuperviewSize:]) Added fix for autoresizing in flipped views. * Source/NSScrollView.m: ([-_doScroll:]) update window after each call so that click-and-hold on scroller button is displayed properly. Sun Mar 14 10:20:00 1999 Richard Frith-Macdonald * Source/NSScroller.m: Rewrite and tidy various stuff to bring into conformance with MacOS-X documentation and to be more compatible - Scrollers are now flipped views. * Source/NSScrollView.m: Minor changes to work with corrections to NSScroller. Thu Mar 11 Felipe A. Rodriguez * gui/Images: common_Right.tiff add alpha channel to image. Thu Mar 11 11:57:00 1999 Richard Frith-Macdonald * Source/NSBox.m: Tidied and added code to prevent attempts to set contentview to negative dimensions. * Source/NSMenu.m: Tidied and added code to prevent attempts to set mwnu matrix frame to negative dimensions. Wed Mar 10 12:56:00 1999 Richard Frith-Macdonald * Source/NSAffineTransform.m: Improved debug logging. * Source/NSView.m: Add loads of checks to ensure that you can't set illegal (negative) dimensions in frame or bounds. Add loads of code to cope with scaling when bounds dimensions are zero. Added logged warning if you set bounds dimensions to zero. Changed debug logging to use the 'NSView' logging level. Tue Mar 9 19:57:00 1999 Richard Frith-Macdonald * Headers/AppKit/NSParagraphStyle.h: Tidied * Headers/AppKit/NSTextStorage.h: Tidied * Source/NSParagraphStyle.m: Implemented NSTextTab, NSParagraphStyle, and NSMutableParagraphStyle classes. * Source/NSTextStorage.m: Added incomplete implementation. 1999-03-08 Adam Fedor * Merge dawn branch into main. Mon Mar 8 8:55:00 1999 Richard Frith-Macdonald * Source/NSClipView.m: Tidied a little, including minor fixes for cases where the doucment view is nil. * Source/NSScrollView.m: Tidied and fixed bugs in scrolling for document views whose origins are not 0,0. Sun Mar 7 6:00:00 1999 Richard Frith-Macdonald * Source/NSView.m: ([-removeFromSuperview]) Fixed error invalidating coordinates of a view - returned if there was no superview. Fri Mar 5 16:04:00 1999 Richard Frith-Macdonald * Headers/AppKit/NSGraphicsContext.h: Added three new methods to support focusing - ([-focusView]), ([-pushFocusView:]) and ([-popFocusView:]) * Source/NSGraphicsContext.m: Added new focussing methods, tidied a little, and made graphocs contexts thread-safe. * Source/NSView.m: Removed old code to handle per-thread stack of focussed views - use new code in NSGraphicsContext instead. * Source/NSCell.m: Draw cell text with font and colour attributes. Thu Mar 4 12:46:00 1999 Richard Frith-Macdonald * Source/NSClipView.m: Fixed to cope with nil document view. Wed Mar 3 08:53:00 1999 Richard Frith-Macdonald * Source/NSCell.m: ([-drawInteriorWithFrame:inView:]) don't draw background - NSCell shouldn't draw backgrounds even if opaque - it's the responsibility of the subclass. ([-isOpaque]) Fixed to return NO as it should. * Source/NSTextFieldCell.m: ([-drawInteriorWithFrame:inView:]) handle drawing background if necessary before calling method in super. Tue Mar 2 13:27:00 1999 Richard Frith-Macdonald * Source/NSView.m: Bugfix in redisplay - avoid views being redrawn when not needed - hope I didn't break anything - this stuff is tricky. Tue Mar 2 11:40:00 1999 Richard Frith-Macdonald * Source/NSMatrix.m: Tracking fixes by Benhur-de-Oliveira.Stein@imag.fr * Source/NSControl.m: Fix setting of cell states by Benhur * Source/NSCell.m: Toggle cell state in mouse tracking Tue Mar 2 08:04:00 1999 Richard Frith-Macdonald * Merge in 'dawn' CVS branch. Mon Mar 1 20:06:00 1999 Richard Frith-Macdonald Removed PSMatrix - replaced by NSAffineTransform * Headers/AppKit/NSAffineTransform.h: New file based on PSMatrix.h * Source/NSAffineTransform.m: New file based on PSMatrix.m * Source/NSView.m: Modified to use NSAffineTransformAffineTransform * Source/GNUmakefile: Added NSAffineTransform * Source/NSCell.m: Don't include PSMatrix.h * Source/NSScroller.m: Don't include PSMatrix.h * Source/NSView.m: Use NSAffineTransform * Source/NSWindow.m: Don't include PSMatrix.h Mon Mar 1 17:12:00 1999 Richard Frith-Macdonald * Headers/AppKit/NSCell.h: Added MacOS-X cell state constants. Thu Feb 25 15:00:00 1999 Richard Frith-Macdonald Added support for the new (MacOS-X) NSGraphicsContext class by incorporating stuff from Adam Fedors xgps and replacing GSContext * Headers/AppKit/DPSOperators.h: New file * Headers/AppKit/PSOperators.h: New file * Headers/AppKit/GSMethodTable.h: New file * Headers/AppKit/NSGraphicsContext.h: New file * Source/NSGraphicsContext.m: New class implementation * Headers/AppKit/AppKit.h: Updated for NSGraphicsContext * Headers/AppKit/NSApplication.h: ditto * Headers/AppKit/NSEvent.h: ditto * Headers/AppKit/NSImage.h: ditto * Headers/AppKit/NSPrintOperation.h: ditto * Headers/AppKit/NSView.h: ditto * Headers/AppKit/NSWindow.h: ditto * Source/Functions.m: ditto * Source/GNUmakefile: ditto * Source/NSApplication.m: ditto * Source/NSButtonCell.m: ditto * Source/NSCell.m: ditto * Source/NSEvent.m: ditto * Source/NSPrintOperation.m: ditto * Source/NSScrollView.m: ditto * Source/externs.m: ditto Wed Feb 24 Felipe A. Rodriguez * NSSliderCell.m: knobRectFlipped: fix draw bugs in slider.app example. Mon Feb 22 8:30:00 1999 Richard Frith-Macdonald * NSView.m: Tidied coordinate conversion code to use new system with a cached conversion matrix to convert to/from window coordinates. * NSView.h: Cache conversion matrices. Mon Feb 22 6:06:00 1999 Richard Frith-Macdonald * NSView.m: Tidied coordinate conversion code to use new system with a cached conversion matrix to convert to/from window coordinates. 1999-02-21 Michael Hanni * Headers/gnustep/gui/NSRulerView.h: added (note: not implemented) * Headers/gnustep/gui/NSRulerMarker.h: added (note: not implemented) Sun Feb 21 20:36:00 1999 Richard Frith-Macdonald * Headers/gnustep/gui/NSCell.h: tidyup * Headers/gnustep/gui/NSView.h: Added matrix for coordinate conversion * Source/NSView.m: Bugfix in update, plus partial code for improved coordinate handling. 1999-03-08 Adam Fedor * Version 0.5.5 Released. Sun Mar 7 5:58:00 1999 Richard Frith-Macdonald * Source/NSView.m: Fixed error invalidating coordinates of a view. 1999-03-04 Adam Fedor * Testing/GNUmakefile.preamble: Remove tiff and jpeg libs. * Tools/GNUmakefile.preamble: Likewise (already in make package). 1999-03-01 Adam Fedor * Update documentation. Wed Feb 24 8:56:00 1999 Richard Frith-Macdonald Benhur reported oddity in cell drawing code - cells were drawing their backgrounds in the method to draw the frame. Fixed this by moving background drawing code to the drawInterior methods - also removed a lot of redundant code to workaround bugs in clipping that are now fixed. * Source/NSBrowserCell.m: update drawing code. * Source/NSButtonCell.m: ditto. * Source/NSCell.m: ditto. * Source/NSFormCell.m: ditto. * Source/NSSliderCell.m: ditto. * Source/NSTextFieldCell.m: ditto. Tue Feb 23 19:30:00 1999 Richard Frith-Macdonald Practically every file - I went through all the classes that conform to the NSCoding protocol and checked and tidied their initWithCoder and encodeWithCoder methods. In some cases they simply needed the method prototypes fixing, but in most the initWithCoder method needed modifying to retain decoded ivar objects correctly! No guarantees that coding/decoding is correct now - but it's certainly a lot better. Tue Feb 23 15:18:00 1999 Richard Frith-Macdonald Various files - fixed all the copyWithZone: methods where objects are both copied AND retained. 1999-02-22 Adam Fedor * Version: update version. Mon Feb 22 5:52:00 1999 Richard Frith-Macdonald * Source/NSView.m: ([-displayIfNeededInRectIgnoringOpacity:]) a two character change to fix a redisplay problem - already in the main cvs branch. Also merged in changes to coordinate conversion code. Sun Feb 21 14:43:57 1999 Masatake Yamato * Panels/GNUmakefile (before-uninstall): Use -d instead of -e. test command in sh of solaris2.6 doesn't support -e option. Fri Feb 19 20:00:00 1999 Richard Frith-Macdonald * Source/NSClipView.m: coordinate fixes. * Source/NSScrollView.m: ditto * Source/NSTextField.m: bugfix for redisplay * Source/PSMatrix.m: minor tidyup * Source/tiff.m: fix a warning * Testing/GNUmakefile: fixup * Testing/GNUmakefile.preamble: fixup * Testing/testpb.m: incomplet attempt to get this linking properly Thu Feb 18 13:12:00 1999 Richard Frith-Macdonald * Headers/AppKit/NSView.h: Listed all private methods allong with a warning that they shouldn't be overridden. Removed a couple of unused ivars. Added two new ivars - a cache for the visible rectangle and a flag to say whether it (and when we add it, a matrix to map to and from window coordinates) is currently valid. Added ([-_invalidateCoordinates]) method declaration. * Source/NSView.m: Much tidying up. Added ([-__invalidateCoordinates]). Modified ([-visibleRect]) to cache the visible rect and to clip the invalid rect. Speeded up iterations over all subviews etc. Fix error in redisplay causing occasional excess redisplay. * Source/NSSplitView.m: Corrected orientation of dividers. * Source/NSBrowser.m: Tidied - use setNeedsDisplay. * Source/NSBrowserCell.m: Tidied and fixed bugs in decoding. * Source/NSCell.m: Tidied and fixed bugs in decoding and setting editable/selectable status. * Source/NSScroller.m: Tidy a little. Thu Feb 18 1999 Felipe A. Rodriguez * NSView.m display: fix for display bug in buttons example * NSCell.m endEditing: fix for display bug in buttons example * NSTextField.m textShouldEndEditing: The changes to these three classes fix a display bug visible in the buttons example when the top text field is selected for editing and then asked to resign when the user clicks on say the bottom text field. This causes a rect encompassing both views to be invalidated and displayed. Beyond being inefficient this also causes a display glitch given the current drawing methodology. Wed Feb 17 11:50:00 1999 Richard Frith-Macdonald * Source/NSView.m: Tidyup - visibleRect is empty if we have no window. * Source/NSText.m: ([-redisplayForLineRange:]) fixed error drawing into wrong view. * Source/NSCell.m: When starting to edit cell text, set the frame of the text object after adding to the view so it gets sized correctly. Wed Feb 17 9:04:00 1999 Richard Frith-Macdonald * Tools/make_services.m: Updated for change in NSProcessInfo * Tools/set_show_service.m: Updated for change in NSProcessInfo Wed Feb 17 8:38:00 1999 Richard Frith-Macdonald * Source/NSSplitView.m: ([-setDelegate:]) corrected to register delegate to recieve notifications. * Source/NSText.m: ([-setDelegate:]) corrected to register delegate to recieve notifications. * Source/NSTextView.m: ([-setDelegate:]) implemented to register delegate to recieve notifications. * Source/externs.m: Added missing TextView notifications. Wed Feb 17 4:06:00 1999 Richard Frith-Macdonald * Source/NSApplication.m: ([-setDelegate:]) remove old delegate as observer of application notifications. * Source/NSWindow.m: ([-setDelegate:]) add delegate as observer for window notifications. Tue Feb 16 17:06:00 1999 Richard Frith-Macdonald Additions provided by mgiddings@ypc.net - * Headers/AppKit/NSNibDeclarations.h: New file * Headers/AppKit/AppKit.h: Added NSNibDeclarations.h * Source/GNUmakefile: Added NSNibDeclarations.h Tue Feb 16 10:45:00 1999 Richard Frith-Macdonald * Tools/gpbs.m: Improve handling of loss of connections - don't remove data from a pasteboard unless it was owned by the connection lost. * Source/NSPanel.m: Override NSWindows initDefaults to make sure panels aren't shown in windows menu by default. * Source/NSApplication.m: Make NSApp a global variable. * Source/NSPasteboard.m: Fix recursivre dealloc. * Headers/AppKit/NSApplication.h: Make NSApp a global variable. Tue Feb 16 5:30:00 1999 Richard Frith-Macdonald * Source/NSView.m: Optimise coordinate conversion. * Headers/AppKit/PSMatrix.h: ditto 1999-02-15 Michael Hanni * Source/NSBox.m Source/NSButtonCell.m Source/NSCell.m Source/NSColorWell.m Source/NSMatrix.m Source/NSPrintInfo.m Source/NSScroller.m Source/NSSliderCell.m: fixed compilation warnings by including proper includes. * Tools/Functions.m: Defined NSRectClip(). Fixes fatal linking errors in Tools/ Mon Feb 15 12:20:00 1999 Richard Frith-Macdonald * Source/NSBrowserCell.m: Code by Benhur to handle flipped views * Source/NSButtonCell.m: ditto * Source/NSCell.m: ditto * Source/NSScrollView.m: ditto 1999-02-13 Michael Hanni * Small change to gui/Tools/GNUmakefile.preamble to allow for easy linking on FreeBSD 3.x. (added -ljpeg) Fri Feb 12 21:00:00 1999 Richard Frith-Macdonald * Source/NSView.m: Tidied some more. * Source/NSText.m: Don't use display - use setNeedsDisplay: instead so that drawing gets done automatically. Fri Feb 12 16:20:00 1999 Richard Frith-Macdonald * Source/NSView.m: Improve window flushing * Source/NSWindow.m: ditto Fri Feb 12 13:37:00 1999 Richard Frith-Macdonald * Source/NSCell.m: Fixes to draw text using NSText (by Benhur) Fri Feb 12 12:56:00 1999 Richard Frith-Macdonald * Headers/AppKit/NSView.h: Added missing method declarations for display methods. * Source/NSView.m: Rewrote all the display methods to the current spec (I hope). Thu Feb 11 14:10:00 1999 Richard Frith-Macdonald Coordinate fixes by Benhur to - * Source/NSClipView.m: Coordinate fixes by Benhur * Source/NSColor.m: Retain things properly when decoding. * Source/NSMatrix.m: Matrix coordinate system is flipped. * Source/NSScroller.m: Coordinate fixes Wed Feb 10 12:35:00 1999 Richard Frith-Macdonald * Source/NSClipView.m: Tidy flip-view errors by Benhur * Source/NSText.m: Lock focus around drawing insertion point while becoming/resiging first responder. Wed Feb 10 10:32:00 1999 Richard Frith-Macdonald * Source/NSCell.m: ([-copyWithZone:]) Fixed memory leak - was copying AND retaining contents. Tue Feb 9 12:20:00 1999 Richard Frith-Macdonald * Source/NSView.m: Various tidyups suggested by Benhur * Source/PSMatrix.m: ([-rectInMatrixSpace:]) and ([-sizeInMatrixSpace:]) fixed for negative values. * Source/NSScrollView.m: Resize code fix. Fri Feb 5 19:46:00 1999 Richard Frith-Macdonald * Source/NSView.m: Coordinate conversion fixe by Benhur-de-Oliveira.Stein@imag.fr * Source/NSClipView.m: turn copy-on-scroll off by defualt until it's working properly. * Headers/.../NSView.h: Fixed superview methods Fri Feb 5 6:00:00 1999 Richard Frith-Macdonald * Source/NSScroller.m: ([-knobRect:]) Correctd code so that the knob doesn't jump if you click on it. Thu Feb 4 18:50:00 1999 Richard Frith-Macdonald * Source/NSScroller.m: More fixes by Benhur-de-Oliveira.Stein@imag.fr * Source/NSClipView.m: ditto Thu Feb 4 9:35:00 1999 Richard Frith-Macdonald * Tools/dummy.m: renamed to Functions.m * Tools/Functions.m: created from dummy.m -some functions added * Tools/GNUmakefile: updated dummy.m to Functions.m * Source/NSApplication.m: Fixed to update all only when necessary. * Source/NSWindow.m: Fix to tell application when update required. The following files revised by Benhur-de-Oliveira.Stein@imag.fr * Source/NSScroller.m: Drawing fixes * Source/NSScrollView.m: Drawing fixes * Source/NSClipViem.m: Drawing fixes 1999-02-01 Adam Fedor * Model/test.m (main): Fix LIB_FOUNDATION ifdef. * Source/GSContext.m (-wait): New method. (Bug report from Eric Norum ). Mon Feb 1 13:35:00 1999 Richard Frith-Macdonald * Source/GSServicesManager.m: Replace call to getpid() with use of globallyUniqueString as a unique process name. Fri Jan 29 15:32:48 1999 Adam Fedor * Documentation/todo.tmpl.texi: Update. 1999-01-28 Adam Fedor * Model/GNUmakefile (libgmodel_OBJC_FILES): Add GMArchiver.m. (ADDITIONAL_TOOL_LIBS): Remove FoundationExt. * Headers/gnustep/gui/GMAppKit.h: Update GMArchiver include. * Model/IBClasses.m: Likewise. * Model/IMConnectors.m: Likewise. * Model/IMCustomObject.m: Likewise. * Model/IMConnectors.m: Likewise. * Model/IMLoading.m: Likewise. * Model/Translator.m: Likewise. * Source/NSPanel.m: Likewise. * Source/NSSavePanel.m: Likewise. Fri Jan 22 20:00:00 1999 Richard Frith-Macdonald * Source/NSView: Rewrote all the coordinate conversion methods to take account of flipped views correctly. Should be a major improvement. Thu Jan 21 10:05:00 1999 Richard Frith-Macdonald * Source/NSColor.m: Fixed initWithCoder: - was decoding an ivar twice (bug report by Benhur-de-Oliveira.Stein@imag.fr) - also used @encode() everywhere. Tue Jan 19 10:00:00 1999 Richard Frith-Macdonald * Source/NSScrollView.m: Tidied ([-tile]) and other stuff to do with resizing - removed some redundant code. * Source/NSSplitView.m: ([-adjustSubviews]) complete rewrite in an attempt to get things working as specified in documentation. Subviews are now scaled proportionately. * Source/NSBrowser.m: ([-selectedRowInColumn:]) implemented as suggested by Dirk Olmes. * Headers/AppKit/NSBrowser.h: ditto * Source/NSView.m: Raise exception if supplied with illegal bounds size (reported by Benhur-de-Oliveira.Stein@imag.fr) * Source/NSControl.m: Corrected ([-sendActionon:]) as suggested by Benhur-de-Oliveira.Stein@imag.fr * Source/NSClipView.m: General tidying and fix code to constrain the scroll point. Get everything to work correctly. Mon Jan 18 5:00:00 1999 Richard Frith-Macdonald * Source/NSColor.m: Fixed error in decoding color from defaults string - was only reading the first (red) color component. Fri Jan 15 10:00:00 1999 Richard Frith-Macdonald * Source/NSPasteboard.m: Removed unused (and erroneous) header. * Source/GSServicesManager.m: Fixed include path for fast.x as suggested by dirk@object-factory.com Fri Jan 15 9:30:00 1999 Richard Frith-Macdonald * Headers/AppKit/NSNibLoading.h: Added interface for new class - GSNibContainer - to manage the contents of a nib. * Source/NSBundleAdditions.m: Added implementation of GSNibContainer and implemented the nib loading methods using it and NSArchiver. This should give us a fast and simple alternative to gmodel files where portability (and the ability to edit by hand) is not a issue. Tue Jan 12 11:57:00 1999 Richard Frith-Macdonald * Source/NSWindow.m: ([-sendEvent:]) fix cursor update code to set cursors as it should. Mon Jan 11 17:00:00 1999 Richard Frith-Macdonald * Source/NSColor.m: ([-colorWithAlphaComponent:]) bugfix from Benhur-de-Oliveira.Stein@imag.fr Sat Jan 9 21:10:00 1999 Richard Frith-Macdonald * Source/NSWindow.m: ([-setcontentView:]) Corrected to resize the new content view to fill the window. Sat Jan 9 6:10:00 1999 Richard Frith-Macdonald * Source/NSApplication.m: ([-run]) reorganize so that the app can be terminated before entry to the run loop (in finishLaunching) and to make the event loop slightly more efficient. * Source/GSServicesManager.m: ([-registerAsServiceProvider:]) added checks to raise alert panel to let the application continue when it conflicts with an already running application or when the DO system is not working. Fri Jan 8 14:25:00 1999 Richard Frith-Macdonald * Images/GNUmakefile: Added common_WMClose.tiff and common_WMCloseBroken.tiff images. * Source/NSApplication.m: Use specific images for denoting state of documents in windows menu. Thu Jan 7 16:15:18 1999 Adam Fedor * Headers/gnustep/gui/GSContext.h: Add new backend instance variable for storing method pointers. Thu Jan 7 15:15:00 1999 Richard Frith-Macdonald * Tools/make_services.m: Extended to build a map of extensions to application names in the applications cache. * Source/GSServicesManager.m: Extensions for opening files. * Source/NSWorkspaceManager.m: Initial code for handling opening files. * GSServicesManager.m: GSConnectToApplication() function added to connect to, and if necessary launch, an application. Wed Jan 6 21:45:00 1999 Richard Frith-Macdonald * Source/NSCell.m: ([-endEditing]) modified as suggested by stark@easynet.fr to prevent recursion - clear delegate at start. Wed Jan 6 17:35:00 1999 Richard Frith-Macdonald * Source/NSApplication.m: minor fix for updating windows menu items. * Source/NSWindow.m: Update windows menu when document edit state is changed. Tue Jan 5 18:05:00 1999 Richard Frith-Macdonald * Source/NSMatrix.m: bugfix growing matrix - from stark@easynet.fr * Source/NSApplication.m: Modified -init method to return the shared application object so that +new is effectively a synonym for the [+sharedApplication] method - from stark@easynet.fr Tue Dec 22 12:30:00 1998 Richard Frith-Macdonald * Source/GSServicesManager.m: ([-rebuildServicesMenu:]) release submenu once it's added to main menu.a ([-update]) Don't force a display - let the autodisplay mechanism do it. * Source/NSMenu.m: ([-update]) Check to see if autoupdate is enabled properly and don't force a redisplay unnecessarily. * Source/NSApplication.m: ([-run]) update main menu items. * Source/NSMenuItem.m: Fix memory leak when copying an item with a submenu - the submenu was never released. * Source/NSWindow.m: Don't add window to windows menu in ([-initWithContentRect:styleMask:backing:defer:screen:]). ([-setMiniwindowTitle:]) Don't change windows menu if excluded. ([-makeKeyAndOrderFront:]) Make main window as well as key window. ([-initWithCoder:]) Don't put in windows menu automatically. * Source/NSpanel.m: Implemented ([canBecomeMainWindow]) to return NO. Sat Dec 19 01:26:06 1998 Matthias Klose * Images/Makefile.postamble: Use macro MKDIRS. * Headers/gnustep/gui/NSStringDrawing.h: Remove preface.h include. Sun Dec 20 6:30:00 1998 Richard Frith-Macdonald NSApplication.h: Removed windows_menu_count again - and removed window_list ivar - backend should return window list in ([-windows]). NSApplication.m: Removed window_list ivar - use calls to ([-windows]) instead. Remove code dealing with adding/removing windows - done in backend instead. Fri Dec 18 10:32300 1998 Richard Frith-Macdonald NSApplication.h: New instance variable to give reasonable perfomance with windows menu. Omitted by error in last update. Thu Dec 17 22:55:00 1998 Richard Frith-Macdonald * NSMenu.m: ([-update]) removed code to search responder chain - get NSApplication to do it for us. * NSApplication.m: Implemented more of the windows menu stuff. Almost complete barring wierd glitches due to the menu implementation. 1998-12-17 Matthias Klose * {,*}/GNUmakefile: Include Version and GNUmakefile.local. * Tools/GNUmakefile.preamble: Set ADDITIONAL_LIB_DIRS. Thu Dec 17 13:20:00 1998 Richard Frith-Macdonald * NSWindow.m: Reinstated changes lost in last update (to fix recursion problem on menu creation) and added acceptsFirstResponder. Wed Dec 16 1998 Felipe A. Rodriguez * NSWindow.m acceptsFirstResponder implement. * NSView.m: removeFromSuperview remove view from responder chain. Wed Dec 16 15:30:00 1998 Richard Frith-Macdonald * NSResponder.m: bugfix - now beeps when it can't handle a key down. * NSPanel.m: Panels are not released when closed. * NSWindow.m: Removed ([-keyDown:]) - functionality moved to point where keyDown events are sent to first responder. Fixed code for setting window titles to work with windows menu. Reinstated hack to shut down app when window closed and no main menu exists. * NSMenu.m: Removed redundant action dispatch code - use NSApplication Send notifications. * NSApplication.m: Implemented and rewrote loads of methods - windows menu now supported. Wed Dec 16 09:22:06 1998 Adam Fedor * Source/NSApplication.m (NSOpenStepRootDirectory): Remove duplicate function (also in base). Wed Dec 16 1998 Felipe A. Rodriguez * NSCell.m acceptsFirstResponder implement, editWithFrame: adjust further, selectWithFrame: preliminary implementation. * NSButton.m: acceptsFirstResponder implement. * NSText.m: shouldDrawInsertionPoint test for field editor status. * NSTextField.m: mouseDown: use field editor instead of previous non OS text field cell editor code, textShouldEndEditing: implement. Tue Dec 15 16:30:00 1998 Richard Frith-Macdonald * NSApplication.m: Terminate modal loop if the window goes away. * NSButton.m: Handle key equivalents. * NSButtonCell.m: Handle key equivalents. * NSCell.m: implement ([-performClick:]) method. * NSPanel.m: Close closable panels when user hits escape key. handle keyboard shortcut for default option. * NSWindow.m: Fix bug causing app to terminate when it shouldn't. Mon Dec 14 16:15:00 1998 Richard Frith-Macdonald * GSServicesMnager.m: Added alert panels to display error messages when services fail. Tested and fixed code for submenus of the services menu. Everything I know of is now implemented and working - now to wait for bug reports... Mon Dec 14 1998 Felipe A. Rodriguez * NSWindow.m renmae captureMouse: to _captureMouse: (designate as non OS), various methods add fieldEditor support. * GSContext.m/GSContext.h revert to previous code as solution discussed with Adam Fedor regarding backends had problems I had not forseen. * NSBrowserCell.h/.m specify text subcell as an NSCell, eliminate image cell, copyWithZone: optimize and eliminate use of ASSIGN (fixes serious dealloc bug), highlight: eliminate method (fixes dup display bug). * NSButtonCell.m copyWithZone: optimize and eliminate use of ASSIGN * NSStringDrawing.h/.m remove unimplemented draw methods from Category (these are backend specific, can't be defined twice and are already implemented in xraw). * NSApplication.h redefine initialize_gnustep_backend () per Adam's redefinition in the backend. * Functions.m/.h remove initialize_gnustep_backend() * NSCell.m preliminary implementation of fieldEditor mechanism, copyWithZone: optimize and eliminate use of ASSIGN * NSControl.m rename cell class global to _NSCONTROL_CELL_CLASS * NSMatrix.m implement NSControl's updateCell: to prevent unecessary matrix drawing if possible. * NSView.m -resizeWithOldSuperviewSize reverted code to my own once more (fewer lines and no if/else logic), changed code to use view frame instead of bounds per 3.3/4.2 docs, optimize to avoid floating point math and scale adjustment unless view has been scaled. * NSScrollView.m define as externs various PS* functions for use in drawing, polish drawing, move all backend code to front. * Tools/dummy.m define dummy PS* functions employed in gui. Mon Dec 14 9:10:00 1998 Richard Frith-Macdonald * NSPanel.m: Implemented all the alert panel functions * NSPanel.h: Added prototypes for MacOS-X alert panel functions. Sat Dec 12 10:10:00 1998 Richard Frith-Macdonald * NSView.m: Fixed bug and added comment about the (deliberately) wrong code that rounds view sizes down to an integer number of points. Commented out debug prointfs * NSPanel.m: Minor tidying - fixed size of alert panel and made message text be centered. Sat Dec 12 7:00:00 1998 Richard Frith-Macdonald * NSView.m: ([-resizeWithOldSuperviewSize:]) revert to previous code (in order to fix error in logic of handling cases whare MaxX or MaxY are specified). Added reliable code to avoid fractional values (floors final values rather than deltas - so gives right results even when a frame with fractional values was passed into the method). Yes, I know it's more lines of code - but it's better to have longer code that works correctly than shorter code that doesn't :-) Fri Dec 11 08:52:03 1998 Adam Fedor * Headers/gnustep/gui/GSContext.h: Remove method table. * Source/GSContext.m: Remove method table initialization. (+initializeMethodTable): Remove. Thu Dec 10 1998 Felipe A. Rodriguez * GNUAlertPanel rename to GSAlertPanel (to maintain a common naming style along the NS* lines within the AppKit public API). Move code to NSPanel as it is conceptually a private panel class for the sake of the public NS* panel functions. * GNUServicesManager.m/.h rename to GSServicesManager (to maintain a common naming style along the NS* lines within the AppKit public API). Thu Dec 10 15:03:05 1998 Adam Fedor * Headers/gnustep/gui/GSContext.h: New backend initialization. * Headers/gnustep/gui/NSApplication.h: Remove backend initialization declaration. * Source/Functions.m (initialize_gnustep_backend): New function. * Source/GSContext.m (+initialize): Set up method table. (+initializeGUIBackend): New method. (+initializeMethodTable): Likewise. * Headers/gnustep/gui/NSScreen.h: New ivars. * Source/NSScreen.m: Use them. * Headers/gnustep/gui/NSStringDrawing.h: New methods. * Source/NSStringDrawing.m: Implement stub. * Source/GNUServicesManager.m (-registerAsServiceProvider): Add exception handler. * Tools/GNUmakefile: Don't make example tool. Thu Dec 10 1998 Felipe A. Rodriguez * NSWindow.h change window style enum to match WindowMaker's definition. * GNUAlertPanel.m NSGetAlertPanel() replace centering code with call to center method, change window style mask, add class initialize. * libgnustep-gui.m rename to Functions.m. * Functions.m add new file as location for generic NS* and GS* functions, move backend NSEventMaskFromType() into it. * NSApplication.m discardEventsMatchingMask:.. rewrite (fix bugs), runModalSession: dump all events not for modal window (fixes modal panel button display bug), arrangeInFront: preliminary implemenation. * NSCell.m: Polish. * NSWindow.m: center method remove display invocation per 4.2 docs. Wed Dec 9 1998 Felipe A. Rodriguez * NSView.m resizeWithOldSuperviewSize: revert to previous code and add bug fixes from new. Fixes bugs in new code when MaxX or Y is specified but not Min. Avoids fractional values and fewer lines of code. Wed Dec 9 7:00:00 1998 Richard Frith-Macdonald * NSView.m: Complete rewrite of auto-resize code - now works! * NSBox.m: Fix to make auto-resize work. * GNUAlertPanel.m: Minor tidying for auto-resize. Tue Dec 8 1998 Felipe A. Rodriguez * NSScroller.m move backend code into frontend, polish code, remove ifdefs. * TrackingRectangle.m/.h rename class to GS* prefix (GSTrackingRect). * NSView.m resizeWithOldSuperviewSize: floor possibly fractional results. displayIfNeededIgnoringOpacity: rewrite to fix obscure bugs in auto display. Minor tweaks in other display methods for same reasons. * NSView.h rename invalidatedRectangle to invalidRect. * NSApplication.m: polish, eliminate a couple of compiler warnings. Tue Dec 8 20:50:00 1998 Richard Frith-Macdonald * Headers/gnustep/gui/NSWindow.h: fixed designated initialiser to use NSScreen type. * Source/NSApplication.m: bugfix for modal sessioin - now works * Source/GNUAlertPanel.m: hard-coded initialiser - seems to work ok. Mon Dec 7 15:55:00 1998 Richard Frith-Macdonald * Model/GMAppKit.m: Fix errors in creating new objects - was messing up subclasses by creating new objects of the superclass instead. Mon Dec 7 12:15:00 1998 Richard Frith-Macdonald * Tools/make_services.m: Serialize cache info in compact format (uniquing dictionary key strings) for better performance. Sun Dec 6 20:35:00 1998 Richard Frith-Macdonald * NSWorkspace.m: Fixed error in application cache path setup. * GNUServicesManager.m: Fixed error in application cache path setup. Sat Dec 5 1998 Felipe A. Rodriguez * NSView.m resizeWithOldSuperviewSize: fully implement. Fri Dec 4 11:10:00 1998 Richard Frith-Macdonald * GNUmakefile: Added GNUAlertPanel.m * GNUAlertPanel.m: Outline of framework for handling alert panels. Thu Dec 3 1998 Felipe A. Rodriguez * NSView.m resizeSubviewsWithOldSize: check whether view has ever been rotated (per 4.2 docs). * NSStringDrawing.m sizeWithAttributes: fix minor bug introduced while optimizing tab calc. * NSCell.m: drawInteriorWithFrame: minor optimization Tue Dec 3 7:00:00 1998 Richard Frith-Macdonald * NSApplication.m: Fixed include for GNUServicesManager.h Implemented all the modal loop methods (untested). * NSApplication.h: Added 'session' ivar for modal loop support. Tue Dec 1 21:00:00 1998 Richard Frith-Macdonald * NSApplication.m: Moved services code out to GNUServiceManager.m * NSPasteboard.m: Moved services code out to GNUServiceManager.m * NSWorkspace.m: Moved services code out to GNUServiceManager.m * GNUServicesManager.m: All services stuff in here - now full implementation of services functions. * GNUServicesManager.h: Header for services manager class. * GNUmakefile: Added services manager stuff * Tools/set_show_service.m: New tool to enable/disable services. * Tools/GNUmakefile: Added set_show_service.m * Tools/dummy.m: More dummy backend functions. * Tools/make_services.m: Update for new directory structure. Tue Dec 1 1998 Felipe A. Rodriguez * NSWindow.m rename windowWithNumber to _windowWithTag per backend * NSEvent.m call to windowWithNumber. Tue Dec 1 09:58:20 1998 Adam Fedor * Source/NSWorkspace.m ([NSWorkspace -findApplications]): Check for data before calling deserializer. Tue Dec 1 10:25:00 1998 Richard Frith-Macdonald * NSApplication.m: Fixed auto-enable of services menu. * NSMenu.m: Rewrote auto-enable code to work as specified in docs. * NSMenuItem.m: Removed bogus implementation of -isEnabled Mon Nov 30 10:43:09 1998 Adam Fedor * Panels/GNUmakefile: Use normal install rules. Mon Nov 30 1998 Felipe A. Rodriguez * NSAttributedString.m and NSAttributedString.h remove. * NSStringDrawing.m and NSStringDrawing.h add NSAttributedString interface and implementation. Implement NSAttributedString's size method and optimize tab width calculation. Sat Nov 28 18:25:00 1998 Richard Frith-Macdonald * Tools/example.m: Add very crude code to open a URL in netscape. * Tools/exampleInfo.plist: Add opnURL service definition. Sat Nov 28 8:00:00 1998 Richard Frith-Macdonald * NSColor.m: Mod for system colors to work nicely with backend * NSColor.h: ditto * NSColorPrivate.h: ditto Fri Nov 27 1998 Felipe A. Rodriguez * GSContext.m/.h second rewrite and polish of API. * NSView.m displayrect add flushWindow at end. Thu Nov 26 1998 Felipe A. Rodriguez * NSApplication.m add updateServicesMenu invocation accidently deleted during merge. Move method from _eventMatchingMask to tail of run method for performance reasons. * Tools/dummy.m add various new dummy functions. * Panels/GNUmakefile make local targets double colon, add local clean to fix make clean failure. Wed Nov 25 1998 Felipe A. Rodriguez * move DPSOperators.h to XDPS. * move GPS headers into a new backend. * define GSContext.h/GSContext.m as abstract super for all drawing destinations (eliminates the need for DPS, GPS, DGS at the root of the AppKit) add appropriate defintion to various classes. * NSMatrix.m add abstract backend code from xraw (eliminate backend). * NSSlider.m add abstract backend code from xraw (eliminate backend). * NSSliderCell.m add abstract backend code from xraw (eliminate backend). * NSSplitView.m add abstract backend code from xraw (eliminate backend). replace private divider highlight method with NSHighlightRect() * NSWindow.m add class method to create backend specific window view. * NSTextField.m add abstract backend code from xraw (eliminate backend). * NSForm.m add abstract backend code from xraw (eliminate backend). * NSFormCell.m add abstract backend code from xraw (eliminate backend). * NSColorWell.m add abstract backend code from xraw (eliminate backend). * NSButton.m add abstract backend code from xraw (eliminate backend). * NSControl.m add abstract backend code from xraw (eliminate backend). * NSBox.m add abstract backend code from xraw (eliminate backend). * NSBrowser.m add abstract backend code from xraw (eliminate backend). * NSBrowserCell.m add abstract backend code from xraw (eliminate backend). * NSWorkspace.m add NSProcessInfo include. Tue Nov 24 15:40:001998 Richard Frith-Macdonald * NSApplication.h: updates for services * NSApplication.m: major updates - new private class etc to support services. * NSWindow.m: Bugfix for services menu enable/disable Mon Nov 23 22:10:001998 Richard Frith-Macdonald * NSWorkspace.m: partial implementation - can launch apps. * NSPasteboard.m: partial support for services. * Tools/make_services.m: new file - moven in from base library * Tools/example.m: new example service provider * Tools/dummy.m: dummy functions for linking without backend. * Tools/gpbs.m: Tidied indentatione etc. * Tools/GNUmakefile: Added new files * Testing/testpb.m: Added rudimentary services test. Sun Nov 22 1998 Richard Frith-Macdonald * NSClipView.m: ([-setDocumentView:]) Ignore attempt to assign a view that is already the document view - could previously result in the current document view being deallocated before it was put back in place - thus crashing the app. 1998-11-22 03:44 Lyndon Tremblay * GMAppKit.m: [-_unconditionallyResetNeedsDisplayInAllViews] was not working, message could not be found, commented out calls to it. Fixed NSBrowser loading. 1998-11-20 16:32 Lyndon Tremblay * GMAppKit.m: Fixed browser loading * NSSavePanel.m: Added NSBrowser delegate * GNUmakefile: added 'Panels' subproject * Panels/SavePanel.gmode: Moved from gstep-make * Panels/GNUmakefile: New file Fri Nov 20 10:59:55 1998 Adam Fedor * Source/NSDPSContext.m: Moved to xdps backend. 1998-11-20 01:50 Lyndon Tremblay * GMAppKit.h: Added NSBrowser * GMAppKit.m: Added NSBrowser archiving methods 1998-11-19 Lyndon Tremblay * GMAppKit.m: Fixed isBezeled and isBordered in NSTextField. Thu Nov 19 1998 Felipe A. Rodriguez * NSWindowView.m, NSScrollView.m and NSClipView.m add view isOpaque method. * NSWindow.m and NSView.m remove non OS display and flushing methods (move them to XDPS) reimplement these per the OS 4.2 docs. * NSText.m setSelectedRange: test that view is in a window first. * NSScroller.m add view isOpaque method. * NSScrollView.m reflectScrolledClipView: tweak auto display of scrollers. * NSApplication.m replace ASSIGN with CONVEY macro. 1998-11-19 16:40 Lyndon Tremblay * Model/IMLoading.m: -loadIMFile automatically searches in GNUSTEP_SYSTEM_ROOT/Library/Model/ for gmodels 1998-11-19 14:13 Lyndon Tremblay * Headers/GMAppKit.h: Added NSPanel and NSSavePanel. * Headers/NSSavePanel.h: Cleaned up instance variables. * Model/GMAppKit.m: Implemented NSPanel and NSSavePanel. * Model/GNUmakefile: Disabled test.app, missing NSDPSContext * Source/NSSavePanel.m: Added controller class for loading of gmodels, loads gmodels. Wed Nov 18 20:55:53 1998 Adam Fedor * Source/NSWindow.m ([-close]): Release only when proper flag is set. Wed Nov 18 1998 Richard Frith-Macdonald * Source/NSPasteboard.m: make filename and file content pasteboard types conform to documentation. Mon Nov 16 15:13:39 1998 Adam Fedor * Preliminary implementation of a device independant drawing engine. * Headers/gnustep/gui/GPSDefinitions.h: New file. * Headers/gnustep/gui/GPSDrawContext.h: Likewise. * Headers/gnustep/gui/GPSDrawContextOps.h: Likewise. * Headers/gnustep/gui/GPSOperators.h: Likewise. * Headers/gnustep/gui/gpsdefs.h: Likewise. * Headers/gnustep/gui/gpsops.h: Likewise. * Source/GPSDrawContext.m: Likewise. * Source/gpsops.m: Likewise. * Headers/gnustep/gui/DPSOperators.h: Revert to old imp. * Headers/gnustep/gui/NS*: Change NSDPSContext to GPSDrawContext. * Source/NS*: Likewise. * Source/externs.m: Add new externs. * Source/NS*: Remove ASSIGN definitions. Thu Nov 12 1998 Felipe A. Rodriguez * GNUmakefile rearrange subprojects so that Source is built first. * NSMenu.h and NSMenu.m add support for right mouse display of menu. * NSApplication.m implement deque of events test in nextEventMatchingMask.. * NSApplication.m implement discardEventsMatchingMask method * NSApplication.m add support for right mouse display of menu. * NSCell.m move non OS method calls to back ends. * NSView.m move non OS XDPS specific method calls to XDPS back ends. * NSWindow.m move various non OS XDPS specific methods to XDPS, move various front end methods out of XRWindow and into NSWindow, fix center method. * NSApplication.m sendEvent: add test for menu to right mouse display of. Mon Nov 9 1998 Richard Frith-Macdonald * Source/NSColor.m: update to Rhapsody DR2 docs - added system colors * Headers/NSColor.h: update to add system colors etc. Thu Nov 5 1998 Felipe A. Rodriguez * Model/GNUmakefile enable build of test app, fix resource files ref. * Model/test.gmodel remove ref to IMCustomView. * Model/GMAppKit.m add test for XRAW backend. * Testing/testpb.m added dummy definition functions needed for compile. Wed Nov 4 1998 Felipe A. Rodriguez * NSApplication.h/NSApplication.m remove unused ivar recycledEventsQueue. * NSApplication.m terminate: fix call to applicationShouldTerminate, should use self not sender. * NSMenuItem.h and NSMenu.m aesthetic tweaks. * NSWindow.m implement performClose and close per OS 4.2 docs. Tue Nov 3 1998 Felipe A. Rodriguez * NSMenuItem.h ADDITIONAL_WIDTH increase defined size (fix overlap in Edit) Mon Nov 2 1998 Felipe A. Rodriguez * NSApplication.m optimize event translation, matching and dispatch. Add a possible temporary regulation hack to control event translation in backend. * NSApplication.h remove unused private methods * NSAttributedString.m polish * NSScrollView.m _doScroll: fix button scrolling direction when view is not flipped. Tue Oct 27 15:20:00 1998 Richard Frith-Macdonald * Source/NSDPSContext.m: Fixed per-thread code to be OpenStep complient and less inefficient. * Source/NSEvent.m: Fixed per-thread code to be OpenStep complient and less inefficient. * Source/NSView.m: Fixed per-thread code to be OpenStep complient and less inefficient. Mon Oct 26 13:20:00 1998 Richard Frith-Macdonald * Tools/gpbs.m: Changed cStringNoCopy to cString. Sat Oct 17 08:30:00 1998 Richard Frith-Macdonald * NSImage.m: removed erroneous attempt to set nil in image dictionary. Thu Oct 15 1998 Felipe A. Rodriguez * NSApplication.m minor optimiztions. * NSAttributedString.m sizeWithAttributes: implement tab support. * NSStringDrawing.m sizeWithAttributes: implement tab support. * NSScroller.m trackScrollButtons: add temporary hack in support of XRAW's heavily optimized scrolling machinery. * NSScroller.m remove sendAction:to: * NSScrolView.m _doScroll: implement scroller update when scrolling via buttons * NSScrolView.m reflectScrolledClipView comment out setNeedsDisplay as it causes display flicker. * NSText.m add changes from Daniel Bðhringer, set initFrame to default values to prevent infinite loop in rebuildLineLayout, minor tweaks * NSView.m minor optimiztions. Fri Sep 18 10:21:38 1998 Adam Fedor * Source/NSClipView.m (MIN, MAX): Remove. * Source/NSMatrix.c: Likewise. Mon Sep 14 1998 Felipe A. Rodriguez * NSEvent.m extensive optimization. Tue Sep 8 1998 Felipe A. Rodriguez * NSMenu.m->NSMenuMatrix in insertItemWithTitle: removed call to _resizeMenuForCellSize for performance reasons. _resizeMenuForCellSize is called later on a sizeToFit. * NSMenu.m->NSMenuMatrix in removeItem: removed call to _resizeMenuForCellSize for performance reasons. _resizeMenuForCellSize is called later on a sizeToFit. * NSMenu.m->NSMenu in insertItemWithTitle: replaced call to _menuChanged with menuHasChanged=YES for performance reasons. * NSMenu.m->NSMenu in removeItem: replaced call to _menuChanged with menuHasChanged=YES for performance reasons. * NSStringDrawing.h: reformat for clarity Tue Sep 8 16:30:00 1998 Richard Frith-Macdonald * Source/NSScroller.m: Minor efficiency hacks (inspired by xraw) plus tidying. Thu Sep 3 15:18:39 1998 Adam Fedor * Source/GNUmakefile.postamble: Don't move config.h * Source/GNUmakefile.preamble: Don't include special config.h dir. (ADDITONAL_CPPFLAGS): Add DPS_DEFINE. Thur Sept 3 1998 Felipe A. Rodriguez * NSMenuItem.m in copyWithZone: fixed bug which crashed menus two or more deep when said menus are opened and detached twice Mon Aug 31 16:31:12 1998 Adam Fedor * Headers/gnustep/gui/DPSOperators.h: Define enough stuff so that when we don't have DPS, gui will still compile. * configure.in, configure: New files. * Header/gnuste/gui/config.h.in: Likewise. * Source/GNUmakefile.postamble: Config config.h to proper target dir. * Source/GNUmakefile.preamble: Add config.h include dirs Weds Sept 2 1998 Felipe A. Rodriguez * NSFileWrapper.m and NSFileWrapper.h added preliminary implementations in support of Daniel Bðhringer's work on the text classes * NSText.m added changes by Daniel Bðhringer * NSText.h removed text_contents ivar * Tools/gpbs.m added dummy defines of some backend functions Tues Sept 1 1998 Felipe A. Rodriguez * GNUmakefile added NSAttributedString.m, NSAttributedString.h, NSParagraphStyle.m, NSTextAttachment.h, NSTextContainer.h, NSTextStorage.h, NSLayoutManager.h and NSParagraphStyle.h. * Source added NSParagraphStyle.m. * Headers/Appkit added NSTextAttachment.h, NSTextContainer.h, NSTextStorage.h, NSLayoutManager.h and NSParagraphStyle.h files. * NSText.m and NSText.h. added numerous changes by Daniel Bðhringer * NSTextView.m and NSTextView.h. added numerous changes by Daniel Bðhringer Sun Aug 30 1998 Felipe A. Rodriguez * NSApplication.h added windows_need_update as autodisplay ivar. * NSApplication.m in init set default for main_menu, windows_need_update. * NSApplication.m in run added support for OPENSTEP autodisplay mechanism. * NSApplication.m _eventMatchingMask: reformat. * NSApplication.m nextEventMatchingMask:untilDate:inMode:dequeue: move calls to _flushWindows to XDPS backend. * NSApplication.m implemented updateWindows. * NSApplication.m implemented setWindowsNeedUpdate:. * NSApplication.m setMainMenu: test for menu prior to release. * NSActionCell.m removed setState: method. * NSActionCell.m copyWithZone: optimized ivar copying. * NSButtonCell.m added _init and moved common defaults to this method. * NSButtonCell.m initImageCell: and initTextCell: minor optimizations. * NSButtonCell.m setAlternateTitle: optimize and use ASSIGN macro. * NSButtonCell.m setKeyEquivalent: remove [copy release]. * NSButtonCell.m setKeyEquivalentFont:size: optimize. * NSButtonCell.m copyWithZone: optimized ivar copying where possible. * NSCell.m _init removed call to [super init]. * NSCell.m initTextCell: removed duplicate default initializers. * NSCell.m setImage: rewrote to use ASSIGN macro. * NSCell.m setDoubleValue: rewrote to use ASSIGN macro. * NSCell.m setFloatValue: rewrote to use ASSIGN macro. * NSCell.m setIntValue: rewrote to use ASSIGN macro. * NSCell.m setStringValue: rewrote to use ASSIGN macro. * NSCell.m setFont: rewrote to use ASSIGN macro. * NSCell.m setRepresentedObject: rewrote to use ASSIGN macro. * NSCell.m copyWithZone: optimized ivar copying where possible. * NSClipView.m viewBoundsChanged: minor optimization. * NSClipView.m viewFrameChanged: minor optimization. * NSClipView.m scaleUnitSquareToSize: minor optimization. * NSClipView.m setBoundsOrigin: minor optimization. * NSClipView.m setBoundsSize: minor optimization. * NSClipView.m setFrameSize: minor optimization. * NSClipView.m setFrameOrigin: minor optimization. * NSClipView.m setFrame: minor optimization. * NSClipView.m translateOriginToPoint: minor optimization. * NSMatrix.m eliminate retain/release of selected cell via ASSIGN. * NSMatrix.m initWithFrame: remove duplicate setting of selected row and column. * NSMatrix.m removeColumn: rewrite so that col is removed before new selection is attempted (needed because selected cell is not retained). * NSMatrix.m removeRow: rewrite so that row is removed before new selection is attempted (needed because selected cell is not retained). * NSMatrix.m deselectAllCells per OS spec try to select a cell at end if empty selection is not allowed. * NSMatrix.m deselectSelectedCell set default selected row/col to 0. * NSMatrix.m mouseDown: optimize for new drawing behaviour. * NSMenu.m setSelectedCell: eliminate use of retain/release of selected cell via ASSIGN. * NSMenuItem.m copyWithZone: optimized ivar copying where possible. * NSMenuItem.m dealloc minor optimization. * NSMenuItem.m setTarget: minor optimization. * NSScroller.m trackScrollButtons: heavily optimized. * NSScroller.m sendAction: reimplemented to use sendAction: per spec also optimized. * NSText.m implemented init method. * NSText.m initWithFrame: fixed initialization of ivars which are released to retain. * NSText.m dealloc add release of retained ivars. * NSView.m dealloc add release of retained ivars. * NSView.m displayRect: and _addSubviewForNeedingDisplay reformatted code and rewrote comments. * NSWindow.m setFrame:display: rewrote for clarity. * NSWindow.m implemented update method per OPENSTEP spec. Thurs Aug 20 1998 Felipe A. Rodriguez * NSTextView.m commented out references to defaultTypingAttributes Thurs Aug 20 1998 Felipe A. Rodriguez * NSSplitView.m in drawRect moved NSRectFill() to backend * NSSavePanel.m commented out call to NSRunAlertPanel * NSText.h and NSText.m integrated source from Daniel Bðhringer. * NSTextView.h and NSTextView.m integrated source from Daniel Bðhringer. Weds Aug 19 1998 Felipe A. Rodriguez * NSView.h added specific values and comments to resize constants enum. * NSView.m implemented resizeWithOldSuperviewSize (needs work). * NSMatrix.m mousedown clarified description comment. * NSSavePanel.m integrated source from Daniel Bðhringer into premliminary implementations provided by Scott Christley. * NSSavePanel.h integrated source from Daniel Bðhringer into premliminary implementations provided by Scott Christley. * NSOpenPanel.m integrated source from Daniel Bðhringer into premliminary implementations provided by Scott Christley. * NSOpenPanel.h integrated source from Daniel Bðhringer into premliminary implementations provided by Scott Christley. * NSStringDrawing.h defined NSAttributedString portion of extension. * NSAttributedString.h created preliminary implementation of extension. * Appkit.h added includes for NSAttributedString and NSStringDrawing. * NSPasteboard.h added extern NSRTFDPboardType define. * externs.m defined NSRTFDPboardType. * NSText.h integrated source from Daniel Bðhringer * NSTextView.m preliminary implementation from Daniel Bðhringer * NSTextView.h preliminary implementation from Daniel Bðhringer * NSSplitView.m in drawRect use NSRectFill() Weds Aug 12 1998 Richard Frith-Macdonald * NSCell.m: Modified ([-copyWithZone:]) to use alloc-init to create new cell so that it works properly for subclasses that need to be initialised. Tues Aug 11 1998 Felipe A. Rodriguez * externs.m further defined the NSStringAdditions globals. Sat Aug 8 1998 Felipe A. Rodriguez * added NSStringDrawing.m and NSStringDrawing.h which implement the frontend portion of the NSString additions Category from 4.1. Tues Aug 4 1998 Felipe A. Rodriguez * NSSplitView in initWithFrame changed default back color to light gray. * NSSavePanel modified to inherit from NSPanel per OS spec. Sun Aug 2 1998 Felipe A. Rodriguez * NSText implemented setFont. * NSText fixed setUsesFontPanel. * NSText reformatted code again in certain places. Sat Aug 1 1998 Felipe A. Rodriguez * NSText in setText modified to use ASSIGN macro. * NSText added draws_background ivar and implemented it's set method. * NSText reformatted code. Weds July 29 1998 Felipe A. Rodriguez * NSMatrix.m in mouseDown adjusted the selection process when in List mode Tue Jul 28 13:02:43 1998 Adam Fedor * Source/NSSplitView.m: Implemention from Robert Vasvari . * Headers/gnustep/gui/NSSplitView.h: Likewise. Tues July 28 1998 Felipe A. Rodriguez * NSScroller.m in trackScrollButtons method added code to highlight cell prior to calling trackMouse. In keeping with new behaviour of NSCell. Sat July 25 1998 Felipe A. Rodriguez * NSCell.m removed highlight/unhighlight behaviour from trackMouse method per OS spec. Behaviour is now as described for this method in NSControl, NSMatrix and NSCell. * NSMatrix.m: rewrote mouseDown to more closely follow the OS spec. There are still some very subtle differences. * NSButton.m: now highlights it's cell before invoking Cell's trackMouse. Mon Jul 20 10:37:22 1998 Adam Fedor * config.h: Use NSDebugLog def from Foundation/NSObjCRuntime.h Tues July 18 1998 Felipe A. Rodriguez * Source/NSBrowser.m fixed bug where column matrix was getting released twice in method _performLoadOfColumn. * NSCell.m: isOpaque returns whether cell is bezeled per NS docs. * NSText.m: implemented setBackground and back color release in dealloc. * NSMenu.m: insertItemWithTitle moved set font position for performance Fri May 29 13:30:14 1998 Adam Fedor * Headers/gnustep/gui/AppKit.h: Include Foundation.h. Wed May 13 15:59:32 1998 Adam Fedor * Model/IBClasses.m: Fix header includes. * Translator.m: Likewise. * test.m: Likewise. Mon Apr 6 16:38:40 1998 Scott Christley * Documentation/status.tmpl.texi: Update. * Add Adobe printer definition files. * PrinterTypes/English.lproj/*.ppd: New files. * PrinterTypes/French.lproj/*.ppd: New files. * PrinterTypes/German.lproj/*.ppd: New files. * PrinterTypes/Italian.lproj/*.ppd: New files. * PrinterTypes/Spanish.lproj/*.ppd: New files. * PrinterTypes/Swedish.lproj/*.ppd: New files. Mon Apr 6 16:38:40 1998 Simon Frankau * Headers/gnustep/gui/NSPrinter.h (+printerNames): Add method. * Source/NSPrinter.m: Major rewrite. Wed Mar 11 10:47:31 1998 Scott Christley * Version: Version 0.5.0 * Documentation/announce.tmpl.texi: Update. * Documentation/news.tmpl.texi: Update. * Documentation/status.tmpl.texi: Update. * ANNOUNCE: Regenerate. * FAQ: Regenerate. * INSTALL: Regenerate. * NEWS: Regenerate. * README: Regenerate. * STATUS: Regenerate. * Source/NSCell.m (-drawWithFrame:inView:): Mark the cell's frame as needing flush. (-highlight:withFrame:inView:): Likewise. Sat Feb 14 16:34:22 1998 Scott Christley * Model/GNUmakefile (HEADER_FILES_DIR): Correct definition. Thu Feb 5 09:44:38 1998 Adam Fedor * GNUmakefile.postamble (header-links): Remove non-package links. Link DPSClient to gnustep/gui. * Souce/GNUmakefile: Include GNUmakefile.local. * Tools/GNUmakefile: Likewise. * Tools/GNUmakefile.preamble (ADDITIONAL_LIB_DIRS): Removed previous change. Wed Feb 4 09:11:49 1998 Adam Fedor * Changes to allow library to be compiled in a GNUstep package without having previous libraries installed. * GNUmakefile (GNUSTEP_MAKEFILES): New variable. Use it to include makefiles. (SUBPROJECTS): Remove Testing. * GNUmakefile.postamble (before-all): Add header-links depend. (header-links): New target to link in various header dirs. * Documentation/GNUmakefile (GNUSTEP_MAKEFILES): New variable. Use it to include makefiles. * Images/GNUmakefile: Likewise. * Model/GNUmakefile: Likewise. * Testing/GNUmakefile: Likewise. * Source/GNUmakefile: Likewise. * Tools/GNUmakefile: Likewise. * Source/GNUmakefile.postamble (header-links): Removed. * Model/GNUmakefile (APP_NAME): Comment out. (ADDITIONAL_INCLUDE_DIRS): New variable. * Tools/GNUmakefile.preamble (ADDITIONAL_LIB_DIRS): Include Model lib dir. Also include extensions and Foundation dirs. (ADDITIONAL_TOOL_LIBS): Include lgmodel, FoundationExt. * Tools/gpbs.m (initialize_gnustep_backend): New function. * Headers/gnustep/gui/IMCustomObject.h: Add Appkit/NSView.h. * Headers/gnuste/NSDPSContext.h: Add stdarg.h * Model/GMAppKit.m: Update includes. * Model/IMConnectors.m: Likewise. * Model/IMCustomObject.m: Likewise. * Model/IMLoading.m: Likewise. Thu Jan 29 12:02:08 Ovidiu Predescu * Model/IBClasses.h: New class NSCustomView. * Model/IBClasses.m: Likewise. * Model/GMAppKit.h: Moved to Headers/AppKit. * Model/IMCustomObject.m: Likewise. * Model/IMLoading.h: Likewise. * Model/GMAppKit.m ([NSApplication -encodeWithModelArchiver:]): Encode the delegate. (NSBox): Support for encoding and decoding it. ([NSCell -initWithModelUnarchiver:]): Check for the font. (NSClipView): Support for encoding and decoding. (NSImage): Return a dummy image in case the requested one doesn't exist. Don't return nil as it breaks the code, maybe we should raise an exception. (NSPopUpButton): Code to support encoding and decoding. Unfortunately it doesn't work properly, it causes a crash when loading. * Model/test.nib: Added a custom view to test loading. * Source/GNUmakefile: Added NSTextView.m. * Source/NSApplication.m ([NSApplication -finishLaunching]): Add support for loading the model file. * Source/NSBrowser.m: Fixed several allocation bugs. * Source/NSClipView.m ([NSClipView -setDocumentView:]): Check for invalid document view. * Source/NSPopUpButton.m: Minimaly fill out the implementation so we don't get a crash at the loading time. * Source/NSTextView.m: Define the class so we don't linking errors while trying to link with OPENSTEP converted applications. Fri Jan 9 14:06:57 1998 Ovidiu Predescu * Model/GNUmakefile: Copy the header files to the AppKit directory first. Fri Jan 9 12:25:41 1998 Ovidiu Predescu * Headers/gnustep/gui/NSImageView.h: New file. * Source/NSImageView.m: New file. * Headers/gnustep/gui/NSApplication.h (NSApplicationWillTerminateNotification): New notification. (NSApplicationMain): New function. (NSOpenStepRootDirectory): Likewise. * Model/GMAppKit.h: New categories for NSCStringText and NSPopUpButton. * Model/GMAppKit.m: Likewise. (-[NSImage createObjectForModelUnarchiver:]): Return a dummy image in case the image requested does not exist. This prevents a crash later. * Model/IBClasses.h: Define the NSWindowTemplate class, which is used internally by the NeXT's IB. I simply remove it from the generated model file since it has no equivalent. * Model/IBClasses.m (NSWindowTemplate): Remove all the instances that appear in the NIB file and encode the window it points to. * Model/IMConnectors.m: When assigning an object to an instance variable directly retain the object automatically so it doesn't get released accidentally. * Model/IMLoading.m: Search for model files in the Resources directory of the app wrapper. Automatically append the gmodel extension if not present. * Source/NSApplication.m (finishLaunching): Load the main model file if any. Define the NSOpenStepRootDirectory to be the value of GNUSTEP_SYSTEM_ROOT. * Model/GNUmakefile: Define the GNUSTEP_INSTALLATION_DIR to be the system root. Define the header files that get installed (in the AppKit directory). * Source/externs.m: Define the NSApplicationWillTerminateNotification notification. * Source/libgnustep-gui.m: Changed the name of the GNUstepMain function to NSApplicationMain. Implement the NSApplicationMain function to do something useful ;-). Mon Jan 5 15:15:34 1998 Ovidiu Predescu * Headers/gnustep/DPSClient/DPSOperators.h: Moved to the AppKit header directory. * Headers/gnustep/DPSClient/NSDPSContext.h: Likewise. * Headers/gnustep/DPSClient/TypesandConstants.h: Removed. * Headers/gnustep/AppKit/NSApplication.h (NSOpenStepRootDirectory): New function. Wed Dec 3 14:12:35 1997 Ovidiu Predescu Added the code to support the loading of model files (similar to nib files under OPENSTEP). The model file is a human readable and modifiable file which is portable across many OpenStep implementations. * Model: New directory. * Model/GMAppKit.h: New file. * Model/GMAppKit.m: Likewise. * Model/GNUmakefile: Likewise. * Model/IBClasses.h: Likewise. * Model/IBClasses.m: Likewise. * Model/IMConnectors.h: Likewise. * Model/IMConnectors.m: Likewise. * Model/IMCustomObject.h: Likewise. * Model/IMCustomObject.m: Likewise. * Model/IMLoading.h: Likewise. * Model/IMLoading.m: Likewise. * Model/Translator.h: Likewise. * Model/Translator.m: Likewise. * Model/nib2gmodel.m: Likewise. * Model/test.nib: Likewise. * Model/test.m: Likewise. * Model/test.gmodel: Likewise. * Model/Controller.h: Likewise. * Model/Controller.m: Likewise. Support the standard OpenStep images in NSImage: * Images/nsmapping.strings: New file. It contains the mapping between the OpenStep name to the GNUstep file name that contains the image. * Images/GNUmakefile: Added nsmapping.strings to the list of files that get installed. * Source/NSImage.m: Support the above modification. * Headers/gnustep/gui/NSView.h (_unconditionallyResetNeedsDisplayInAllViews): Define the method. (setAutoDisplay:): Fixed typo. * Source/NSView.m: New method that unconditionally sets the additional pointers needed for display and flush in NSView. * Source/NSApplication.m (nextEventMatchingMask:untilDate:inMode: dequeue:): Flush the communication channel after the while loop ends. * Source/NSMenu.m: Changed the definition of MAX. (_resizeMenuForCellSize): Resize the menu cells matrix to fit all the cells. (sizeToFit): Call _resizeMenuForCellSize to resize the cells matrix. * Source/NSTextField.m (selectedCell): New method. * Source/NSWindow.m: Include . (dealloc, setContentView:): Clean up the code. (setAutodisplay): Fixed typo. Fri Nov 14 09:34:45 1997 Scott Christley * Headers/gnustep/gui/NSApplication.h (-getNextEvent): Method no longer returns a value. * Headers/gnustep/gui/NSWindowView.h: New file. * Source/NSWindowView.m: New file. * Source/NSView.m (-displayRect:): Remove debug code. * Source/NSWindow.m: Use new class which represents the view the window uses to draw its frame and title. Many changes throughout the file to update the window view instead of the content view. * Source/GNUmakefile: Don't install the config.h file. Compile and install NSWindowView. * Source/NSApplication.m (-nextEventMatchingMask:untilDate:inMode:dequeue:): Rearrange code so that that the flushing of windows is done before runloop's limit date is retrieved. (-getNextEvent): Method no longer returns a value. Sat Nov 1 11:30:40 1997 Ovidiu Predescu * Source/GNUmakefile: Don't compile NSPasteboard.m if using libFoundation. * Source/NSBrowser.m: Include NSTextFieldCell.h to elimate compiler warning. (setCellClass:): Autorelease the newly created cell. (addColumn): Autorelease the column. (doClick:): Use respondsToSelector: instead of respondsTo:. * Source/NSCell.m (initImageCell:): Changed the font size to be 0 so that the font size from the defaults database is taken if it's specified. (initTextCell:): Likewise. * Source/NSTextFieldCell.m (initTextCell:): Likewise. * Headers/gnustep/gui/NSView.h: Add a definition for _removeSubviewFromViewsThatNeedDisplay:. Thu Oct 30 15:51:43 1997 Scott Christley * GNUmakefile: Add Tools directory. * Headers/gnustep/gui/NSBrowser.h: Initial implementation. * Headers/gnustep/gui/NSBrowserCell.h: Initial implementation. * Source/NSBrowser.m: Initial implementation. * Source/NSBrowserCell.m: Initial implementation. * Documentation/news.tmpl.texi: Update. * Documentation/status.tmpl.texi: Update. * Source/NSCell.m (-initImageCell:, -initTextCell:): init super. * Source/NSClipView.m (-init): Set background to gray as we may not have a window yet. * Source/NSMatrix.m: Fix column and row range checks. * Source/NSTextFieldCell.m (-copyWithZone:): Set draws background flag for new cell. * Source/NSView.m: Reset subview needs display variables when view is removed from superview. * Source/GNUmakefile: Add NSPasteboard.m. * Testing/GNUmakefile: Use test.make * Testing/GNUmakefile.postamble: Remove install code. * Testing/GNUmakefile.preamble: Add directory and library. * Tools/GNUmakefile: Make system root the default install dir. * Tools/GNUmakefile.postamble: Install after instead of before. * Tools/GNUmakefile.preamble: Add directory and library. Wed Oct 29 13:02:53 1997 Ovidiu Predescu * Source/NSView.m (_removeSubviewFromViewsThatNeedDisplay:): New method to remove a view from its super view linked list of views that need display. (removeFromSuperview): Invoke the above method to remove itself from the list of views that need display. (replaceSubview:with:): Likewise. Wed Oct 29 12:22:22 1997 Ovidiu Predescu Bug fixes for NSForm and NSFormCell from Benhur Stein . * Headers/gnustep/gui/NSFormCell.h: The text field cell is keeping the value now not the title. Changed drawInteriorWithFrame:inView: to drawWithFrame:inView:. * Source/NSForm.m: Likewise. * Source/NSFormCell.m: Likewise. (drawInteriorWithFrame:inView:): Changed to drawWithFrame:inView:. * Source/NSCell.m (init): Make a text cell by default. (_init): Invoke super's init. * Source/NSView.m (opaqueAncestor): Implemented. (visibleRect): Intersect the super view's visible rectangle with the receiver's bounds instead of the receiver's frame. * GNUmakefile: Fixed typo. * Source/GNUmakefile: Changed the name of the variables to work with the new multi-library building capabilities of library.make. Tue Oct 28 11:24:40 1997 Ovidiu Predescu * Makefile: Changed to GNUmakefile. * Makefile.postamble: Changed to GNUmakefile.postamble. * Documentation/Makefile: Changed to GNUmakefile. * Images/Makefile: Changed to GNUmakefile. * Images/Makefile.postamble: Changed to GNUmakefile.postamble. * Source/Makefile: Changed to GNUmakefile. * Source/Makefile.preamble: Changed to GNUmakefile.preamble. * Source/Makefile.postamble: Changed to GNUmakefile.postamble. * Testing/Makefile: Changed to GNUmakefile. * Testing/Makefile.preamble: Changed to GNUmakefile.preamble. * Testing/Makefile.postamble: Changed to GNUmakefile.postamble. Mon Oct 27 09:33:17 1997 Ovidiu Predescu * Source/NSBox.m (-initWithFrame:): Call super's addSubview: method (bug fix from Benhur Stein ). (setContentView:): Fixed. Tue Oct 21 18:25:14 1997 Ovidiu Predescu * Incorporated some bug fixes from Benhur Stein . * Source/NSApplication.m (setDelegate:): Register the delegate for receiving notifications. (hide:): Post the NSApplicationWillHideNotification and NSApplicationDidHideNotification notifications. (unhideWithoutActivation:): Post NSApplicationWillUnhideNotification and NSApplicationDidUnhideNotification notifications. * Source/NSView.m (visibleRect): Implemented. * Source/NSColorWell.m (initWithFrame:): Assign the color without using ASSIGN. * Source/NSForm (+initialize): New method. (+cellClass): Likewise. (+setCellClass:): Likewise. * Source/NSView.m (addSubview:): Invoke windowWillMoveToWindow:. (replaceSubview:): Likewise. Tue Oct 21 16:21:06 1997 Ovidiu Predescu Fixed display optimization and the scrolling behavior in the presence of optimizations. * Source/NSView.m (_collectInvalidatedRectanglesInArray): Changed the order in which the matrices are multiplyied to be able to correctly convert the rectangles between views. * Source/NSWindow.m (_collectFlushRectangles): Changed the matrices that are passed to _collectInvalidatedRectanglesInArray:originMatrix: sizeMatrix: to be the identity matrix. * Source/PSMatrix.m (sizeInMatrixSpace:): Removed adding TX and TY to the new size. (rectInMatrixSpace:): Likewise. * Source/NSClipView.m (-viewFrameChanged:): Update the bounds origin. * Source/NSScrollView.m (reflectScrolledClipView:): Changed the 'documentRect' name of the variable to 'documentFrame' to better match its usage. * Source/NSScroller.m: Delete unnecessary commented out portions of code. * Documentation/news.tmpl.texi: Updated. Mon Oct 20 14:32:55 1997 Scott Christley * Fill out NSBox implementation. * Headers/gnustep/gui/NSCell.h (+sizeForBorderType:): New method. * Source/NSCell.m (+sizeForBorderType:): New method. * Source/NSBox.m: Fill out implementation. * Source/NSTextField.m (-initWithFrame:,-setTextCursor:,-dealloc): Correct retain/release behavior of cursor. * Source/NSTextFieldCell.m (-cellSize): Implement. * Source/NSView.m (-removeTrackingRect:): Comment out release of object as we haven't retained it. Thu Oct 16 12:28:00 1997 Scott Christley * config.mak.in: Delete. * Headers/gnustep/gui/NSScrollView.h: Correct datatype. * Headers/gnustep/gui/NSWindow.h: Declare NSMutableArray. * Source/NSMenu.m (-drawRect:): Handle rounding errors. * Source/NSScrollView.m: Correct datatype. Mon Oct 13 16:17:45 1997 Ovidiu Predescu * Source/NSMatrix.m: Removed commented out portions of code. * Headers/gnustep/gui/NSApplication.h: Added a definition for initialize_gnustep_backend. * Documentation/Makefile: Remove dependency on Makefile.in. * Documentation/news.tmpl.texi: Updated. * Documentation/status.tmpl.texi: Updated. Mon Oct 13 12:08:51 1997 Ovidiu Predescu * Headers/gnustep/gui/config.h: Added to repository. * Makefile.postamble: Don't delete config.h file since it's no longer automatically generated. Wed Oct 8 15:38:22 1997 Ovidiu Predescu * Heavy display and window flushing optimizations have been implemented. * Source/NSView.m (-setDisplayInRect:): Now is implemented to work optimized. (-displayRect:): Likewise. (-setNeedsDisplay:): Likewise. (-setNeedsDisplayInRect:): Likewise. (-_addSubviewForNeedingDisplay:): New method. (-_recursivelyResetNeedsDisplayInAllViews): Likewise. (-_displayNeededViews): Likewise. (-_collectFlushRectangles): Likewise. (-_setNeedsDisplay): Likewise. (-_setNeedsFlush): Likewise. (-_needsFlush): Likewise. (+_flushWindows): Likewise. * Headers/gnustep/gui/NSWindow.h: Important optimization for window flushing has been implemented. * Source/NSWindow.m: Likewise. * Headers/gnustep/gui/PSMatrix.h (boundingRectFor:): New method. (isRotated): New method. (rectInMatrixSpace:): New method. * Source/NSApplication.m (-nextEventMatchingMask:untilDate:inMode: dequeue:): Call the NSWindow class to flush the windows, then flush the communication channels. (-_flushCommunicationChannels): New method. * Source/NSWindow.m (-disableFlushWindow): New method. * Source/PSMatrix.m (-boundingRectFor:result:): New method. (-rectInMatrixSpace:): Likewise. * NSSlider has been implemented. * Headers/gnustep/gui/NSSlider.h: New implementation. * Source/NSSlider.m: Likewise. * Headers/gnustep/gui/NSSliderCell.h: Likewise. * Source/NSSliderCell.m: Likewise. * Source/NSButton.m: Use -setNeedsDisplay: instead of display. * Source/NSCell.m: Likewise. * Source/NSControl.m: Likewise. * Source/NSScroller.m: Likewise. * Source/NSMatrix.m: Likewise. Removed all lock focuses because display occurs at a later time. It is still possible to improve the performance, but at least selection in the list mode works quite quick under Solaris, not counting in radio mode which is (very) fast. * Source/NSMenu.m (-drawRect:): Fixed code that determines what cells need display. Several cleanups. * Source/NSActionCell.m: Remove commented out sequences of code. * Source/NSApplication.m: Likewise. * Source/NSPopUpButton.m: Likewise. * Source/NSView.m: Likewise. * Source/NSApplication.m: Fixed memory allocation problems by retaining instance variables. * Source/NSButtonCell.m: Likewise. * Source/NSCachedImageRep.m: Likewise. * Source/NSCell.m: Likewise. * Source/NSColorList.m: Likewise. * Source/NSColorWell.m: Likewise. * Source/NSCursor.m: Likewise. * Source/NSEvent.m: Likewise. * Source/NSDPSContext.m: Likewise. * Source/NSPopUpButton.m: Likewise. * Source/NSWindow.m: Likewise. (-dealloc): New method: release all instance variables. * Source/NSColor.m (-dealloc): Likewise. * Source/NSView.m (-dealloc): Release other two additional ivars. * Source/NSApplication.m (-dealloc): Cleanup the windows array deallocation. Other memory allocation problems have been fixed. (-hide): Don't use an enumerator, iterate instead over the array. (-unhide): Likewise. (-miniaturizeAll): Likewise. (-updateWindows): Likewise. (-postEvent:atStart:): Fixed condition. * Source/NSColorList.m (-colorListNamed:): Don't use an enumerator. * Source/NSCell.m: Changed the size of the default font back to 12. * Source/NSText.m: Likewise. * Source/NSTextFieldCell.m: Likewise. * Source/NSClipView.m (-scrollToPoint:): Fixed the code that moves the bounds to a new point. * Source/NSScrollView.m (-_doScroll:): Fixed the code that computes the moving direction and step. Fixed the way the scroller position is updated when a scroll button is pressed. * Headers/gnustep/gui/NSApplication.h: Removed the backend category because of the problems it presents with calling super in its methods. * Source/NSApplication.m: Likewise. (-handleNullEvent): New method. * Headers/gnustep/gui/NSCell.h (-setControlView:): New method. * Source/NSCell.m (-setControlView:): New method. * Source/NSCell.m: Likewise. * Headers/gnustep/gui/NSPrintInfo.h: Replaced with Simon Frankau's implementation. * Source/NSPrintInfo.m: Likewise. * Headers/gnustep/gui/NSScrollView.h (_knobMoved): New instance variable. * Source/Makefile: Temporary exclude NSPasteboard from compiling. * Source/Makefile.preamble: Add -Wall to the compile flags. Define the libraries the GUI library depends upon. * Source/NSApplication.m: Conditionally include NSConnection.h. Include NSTimer.h. Define ASSIGN. (+sharedApplication): Use two consecutive calls to initialize the NSApp global variable. (-nextEventMatchingMask:untilDate:inMode:dequeue:): Change the order in which the expiration date is computed to avoid unnecessary operations. * Source/NSView.m: Mark the view as being rotated and/or scaled when setting bounds or frame. (-sortSubviewsUsingFunction:context:): Implemented. * Source/externs.m: Define NSPrintHorizontalPagination. Wed Oct 8 10:33:52 1997 Ovidiu Predescu * Headers/gnustep/gui/config.h.in: Changed to config.h. * Headers/gnustep/gui/config.sed.nt: Removed. * Images/common_SliderHoriz.tiff: New file. * Images/common_SliderVert.tiff: New file. * Images/Makefile: Added the above two files. * aclocal.m4: Removed. * configure: Removed. * configure.in: Removed. * configure.bat: Removed. * config.guess: Removed. * config.mak.in: Removed. * config.sub: Removed. * COPYING: Removed. * install-sh: Removed. * mkinstalldirs: Removed. * Documentation/Makefile.in: Removed. Tue Sep 23 14:28:14 1997 Scott Christley * Convert to the GNUstep makefile package. * Makefile: New file. * Makefile.postamble: New file. * config.mak.in: New file. * Makefile.in: Delete. * Makefile.sed.net: Delete. * configure.in (AC_OUTPUT): Do not create makefiles. Eliminate checks for TIFF and DPS. * configure: Regnerate for configure.in changes. * Source/Makefile: New file. * Source/Makefile.preamble: New file. * Source/Makefile.postamble: New file. * Source/Makefile.in: Delete. * Source/Makefile.sed.nt: Delete. * Testing/Makefile.sed.nt: Delete. * gnustep/gui/config.h.in: Remove TIFF and DPS macros. * Images/Makefile: New file. * Images/Makefile/postamble: New file. * Images/Makefile.in: Delete. * The config.h files should not be installed with the other header files; it is only used for compilation, so the source files should include it not the header files. * gnustep/dps/DPSOperators.h: Do not include config.h. * gnustep/dps/TypesandConstants.h: Likewise. * gnustep/gui/NSCell.h: Likewise. * gnustep/gui/NSColor.h: Likewise. * gnustep/gui/NSColorList.h: Likewise. * gnustep/gui/NSColorPicker.h: Likewise. * gnustep/gui/NSCursor.h: Likewise. * gnustep/gui/NSDataLink.h: Likewise. * gnustep/gui/NSDataLinkManager.h: Likewise. * gnustep/gui/NSEvent.h: Likewise. * gnustep/gui/NSFont.h: Likewise. * gnustep/gui/NSFontManager.h: Likewise. * gnustep/gui/NSImage.h: Likewise. * gnustep/gui/NSImageRep.h: Likewise. * gnustep/gui/NSPasteboard.h: Likewise. * gnustep/gui/NSPrintInfo.h: Likewise. * gnustep/gui/NSPrintOperation.h: Likewise. * gnustep/gui/NSResponder.h: Likewise. * gnustep/gui/NSScreen.h: Likewise. * gnustep/gui/NSSelection.h: Likewise. * gnustep/gui/NSSpellChecker.h: Likewise. * gnustep/gui/NSSpellServer.h: Likewise. * gnustep/gui/NSWorkspace.h: Likewise. * gnustep/gui/NSPasteboardServer.h: Likewise. * gnustep/gui/nimage-tiff.h: Likewise. * Source/NSActionCell.m: Include config.h. * Source/NSApplication.m: Likewise. * Source/NSBitmapImageRep.m: Likewise. * Source/NSBox.m: Likewise. * Source/NSBrowser.m: Likewise. * Source/NSBrowserCell.m: Likewise. * Source/NSBundleAdditions.m: Likewise. * Source/NSButton.m: Likewise. * Source/NSButtonCell.m: Likewise. * Source/NSCStringText.m: Likewise. * Source/NSCachedImageRep.m: Likewise. * Source/NSCell.m: Likewise. * Source/NSClipView.m: Likewise. * Source/NSColor.m: Likewise. * Source/NSColorList.m: Likewise. * Source/NSColorPanel.m: Likewise. * Source/NSColorPicker.m: Likewise. * Source/NSColorWell.m: Likewise. * Source/NSControl.m: Likewise. * Source/NSCursor.m: Likewise. * Source/NSCustomImageRep.m: Likewise. * Source/NSNSDPSContext.m: Likewise. * Source/NSDataLink.m: Likewise. * Source/NSDataLinkManager.m: Likewise. * Source/NSDataLinkPanel.m: Likewise. * Source/NSEPSImageRep.m: Likewise. * Source/NSEvent.m: Likewise. * Source/NSFont.m: Likewise. * Source/NSFontManager.m: Likewise. * Source/NSFontPanel.m: Likewise. * Source/NSForm.m: Likewise. * Source/NSFormCell.m: Likewise. * Source/NSHelpPanel.m: Likewise. * Source/NSImage.m: Likewise. * Source/NSImageRep.m: Likewise. * Source/NSMatrix.m: Likewise. * Source/NSMenu.m: Likewise. * Source/NSMenuItem.m: Likewise. * Source/NSOpenPanel.m: Likewise. * Source/NSPageLayout.m: Likewise. * Source/NSPanel.m: Likewise. * Source/NSPasteboard.m: Likewise. * Source/NSPopUpButton.m: Likewise. * Source/NSPrintInfo.m: Likewise. * Source/NSPrintOperation.m: Likewise. * Source/NSPrintPanel.m: Likewise. * Source/NSPrinter.m: Likewise. * Source/NSResponder.m: Likewise. * Source/NSSavePanel.m: Likewise. * Source/NSScreen.m: Likewise. * Source/NSScrollView.m: Likewise. * Source/NSScroller.m: Likewise. * Source/NSSelection.m: Likewise. * Source/NSSlider.m: Likewise. * Source/NSSpellChecker.m: Likewise. * Source/NSSpellServer.m: Likewise. * Source/NSSplitView.m: Likewise. * Source/NSText.m: Likewise. * Source/NSTextField.m: Likewise. * Source/NSTextFieldCell.m: Likewise. * Source/NSView.m: Likewise. * Source/NSWindow.m: Likewise. * Source/NSWorkspace.m: Likewise. * Source/PSMatrix.m: Likewise. * Source/TrackingRectangle.m: Likewise. * Source/externs.m: Likewise. * Source/gpbs.m: Likewise. * Source/tiff.m: Likewise. * Source/NSPasteboard.m: Move global strings to externs.m * Source/gpbs.m: Add copyright and license information. Wed Aug 27 14:04:38 1997 Ovidiu Predescu * Headers/gnustep/gui/config.h.in (OBJC_MALLOC, OBJC_FREE): New defines to make the GUI library compile with NeXT PDO. * Source/NSApplication.m: Include Foundation/NSConnection.h for symbols needed by NSRunLoop. * Source/NSApplication.m: Changed perform:... with performSelector:.. . * Source/NSCustomImageRep.m: Likewise. * gui/Source/NSImage.m: Likewise. * Source/NSMatrix.m: Likewise. * Source/NSMenu.m: Likewise. * Source/NSResponder.m: Likewise. * Source/NSScroller.m: Likewise. * Source/NSBitmapImageRep.m: Include config.h to get the OBJC_MALLOC and OBJC_FREE definitions. * Source/PSMatrix.m: Include Foundation/NSString.h. * Source/NSMenu.m: Likewise. * Source/NSMatrix.m: Likewise. * gui/Source/NSImage.m: Likewise. Fri Aug 22 11:40:45 1997 Ovidiu Predescu Fixed scrolling to work with the new scalation/rotation code. * Source/PSMatrix.m (-scaleTo:): New method. * Source/NSCell.m (-trackMouse:...): Check if done before asking if needs to continue tracking. * Source/NSClipView.m (-scrollToPoint:): Set the bounds origin to the oposite point. * Source/NSScrollView.m (-_doScroll:): Take into consideration the bounds origin which is in the third quadrant. * Source/NSView.m (-setBounds:): Use scaleTo: rather than scaleBy:. (-setBoundsSize:): Likewise. (-hitTest:): Fixed to work with views that have the bounds origin other that (0, 0). Mon Aug 18 09:38:27 1997 Ovidiu Predescu Start the port to NeXT's PDO under Solaris. * Headers/gnustep/gui/NSCStringText.h: Include Foundation/NSString.h. * Headers/gnustep/gui/NSScreen.h: Declare NSArray. * Headers/gnustep/gui/NSText.h: Include Foundation/NSRange.h. * Source/NSBox.m: Include Foundation/NSString.h. * Source/NSButtonCell.m: Likewise. * Source/NSCachedImageRep.m: Likewise. * Source/NSCell.m: Likewise. * Source/NSColor.m: Likewise. * Source/NSFont.m: Likewise. * Source/NSImage.m: Likewise. * Source/NSMenuItem.m: Likewise. * Source/NSOpenPanel.m: Likewise. * Source/NSSavePanel.m: Likewise. * Source/NSSliderCell.m: Likewise. * Source/NSText.m: Likewise. * Source/NSTextField.m: Likewise. * Source/libgnustep-gui.m: Likewise. * Source/NSDPSContext.m: Likewise. Also declare -copyWithZone: for NSThread to make possible adding it to Foundation containers. Added scaling and rotation support. * Headers/gnustep/gui/NSView.h: Remove frame_rotation. Add frameMatrix and boundsMatrix instance variables. * Source/PSMatrix.m: New file. * Headers/gnustep/gui/PSMatrix.h: New file. * Source/Makefile.in: Added PSMatrix.m. * Source/NSView.m: Use two PSMatrix to do all the scaling and rotation stuff instead of dealing with angles and scale factors. Change the implementation of methods that convert points and sizes to use these matrices. * Source/NSWindow.m (-checkCursorRectangles:forEvent:): Changed to work with scaled and rotated views. * Headers/gnustep/gui/config.h.in: Declare initialize_gnustep_backend. * Source/NSMenu.m (-copyWithZone:): Create a proper copy of NSMenuMatrix. Sat Aug 16 16:28:31 1997 Scott Christley * Headers/gnustep/gui/NSApplication.h (+setNullEvent:): New method. (+getNullEvent): New method. (NSApp): Eliminate global variable. * Headers/gnustep/gui/NSWindow.h (-performDeminiaturize:): New method. (-performHide:): New method. (-performUnhide:): New method. * Source/Makefile.in: Rename variables. * Source/NSApplication.m (+setNullEvent:): New method. (+getNullEvent): New method. (-peekEventMatchingMask:untilDate:inMode:dequeue:): Modify to be more like the nextEvent.. method. (-hide:): Call performHide: method. (-unhide:): Call performUnhide: method. * Source/NSButton.m (mouseDown:): Add method calls to capture and release the mouse. Set the action mask. * Source/NSCell.m (-setDoubleValue:): Don't set the cell type. (-setFloatValue:, -setIntValue:, -setStringValue:): Likewise. * Source/NSEvent.m: Don't access application object through the global variable, use method instead. * Source/NSFont.m (getFont, setFont): Rename to getNSFont and setNSFont and make non-static so that they can be called from the backend implementation. * Source/NSMatrix.m (-initWithFrame:mode:prototype:numberOfRows: numberOfColumns:): Call super's initWithFrame: (mouseDown:): Capture and release the mouse when tracking. Don't access application object through the global variable, use method instead. * Source/NSMenu.m: Don't access application object through the global variable, use method instead. * Source/NSScroller.m: Likewise. * Source/NSTextFieldCell.m (-dealloc, -copyWithZone:): New method. Fix retain/release on colors. * Source/NSWindow.m (-deminiaturize:): Call performDeminiaturize. (-makeFirstResponder:): Check that first responder exists before telling it to resign. (-performDeminiaturize:): New method. (-performHide:): New method. (-performUnhide:): New method. * Source/externs.m: Add global variables. * Source/libgnustep-gui.def: Add functions. * Source/libgnustep-gui.m: Eliminate unneeded code. Wed Aug 6 13:27:53 1997 Ovidiu Predescu * Source/NSApplication (-nextEventMatchingMask:untilDate:inMode: dequeue:): Restored the old behavior of getting time events from the queue because otherwise the scroll view class works slowly; I have to find some other way to put such events on the events queue. * Source/NSButton.m (mouseDown:): Don't send the action to the target since it is already done in trackMouse:inRect:ofView:untilMouseUp:. * Source/NSCell.m (getPeriodicDelay:interval:): Set the delay to 0.05. * Source/NSDPSContext.m (+initialize): Create a retained dictionary for GNU_CONTEXT_THREAD_DICT instead of an autoreleased one. * Source/NSClipView.m: Turned NSLog into NSDebugLog. * Source/NSScrollView.m: Likewise. * Source/NSScroller.m (drawParts): Set the scroller buttons delay and repeat interval. Tue Aug 5 14:39:29 1997 Ovidiu Predescu Implementation of scroll views. * Source/NSClipView.m: The initial implementation. * Source/NSScrollView.m: Likewise. * NSScroller completely reworked. * Source/NSScroller.m: Optimized to work with time events to gain speed in user interaction. * Images/common_ArrowLeftH.tiff: New file. * Images/common_ArrowRightH.tiff: Likewise. * Images/common_ArrowUpH.tiff: Likewise. * Images/common_ArrowDownH.tiff: Likewise. * Source/NSApplication.m (-nextEventMatchingMask:untilDate:inMode: dequeue:): Do not pop-up the time events from the queue immediately after -limitDateForMode: to avoid loosing the normal events. * Source/NSCell.m: Handle sending action continuously while the user tracks the mouse. * Source/NSButtonCell.m: Likewise. * Source/NSButton.m: Likewise. * Source/NSView.m: Post notifications if needed when a frame or bound change. * Source/externs.m: Changed the name of NSView notification to conform to the new ones in OS 4.x. Mon Aug 04 13:16:54 1997 Scott Christley * Source/externs.m: New file. * Source/libgnustep-gui.def: New file. * Source/win32-def.top: New file. * Source/win32-entry.c: New file. * config.sub: New file. * config.guess: Update. * aclocal.m4: Rearrange checking of foundation library so that it works properly on Windows. * configure.in (DLLTOOL): Add support for building a DLL. (enable-shared): New option to enable build of shared library. (disable-static): New option to disable build of static library. * configure: Regenerate. * Headers/gnustep/gui/NSApplication.h (USE_RUN_LOOP): Delete macro. * Headers/gnustep/gui/NSGraphics.h (NSGray): New global. * Headers/gnustep/gui/NSMenuItem.h (be_mi_reserved): New instance variable. * Source/Makefile.in: Add support for building a DLL. * Source/NSApplication.m: Move global variables to externs.m. * Source/NSColor.m: Likewise. * Source/NSColorList.m: Likewise. * Source/NSColorPanel.m: Likewise. * Source/NSControl.m: Likewise. * Source/NSDataLink.m: Likewise. * Source/NSFont.m: Likewise. * Source/NSImageRep.m: Likewise. * Source/NSPasteboard.m: Likewise. * Source/NSPrinter.m: Likewise. * Source/NSScreen.m: Likewise. * Source/NSSplitView.m: Likewise. * Source/NSText.m: Likewise. * Source/NSView.m: Likewise. * Source/NSWindow.m: Likewise. * Source/NSWorkspace.m: Likewise. * Source/libgnustep-gui.m: Likewise. Thu Jun 12 19:05:24 1997 Ovidiu Predescu Finished the second attempt in implementing menus. * Headers/gnustep/gui/NSMenuCell.h: Removed. * Headers/gnustep/gui/NSMenuPrivate.h: Removed. * Headers/gnustep/gui/NSMenuItem.h: New file. * Headers/gnustep/gui/NSMenu.h: Completely reworked. * Headers/gnustep/gui/AppKit.h: Include NSMenuItem.h. * Source/NSMenu.m: Completely reworked. * Source/NSMenuCell.m: Removed. * Source/NSMenuItem.m: New file. Fixed objects retain/release policy. * Source/NSView.m: Likewise. * Source/NSWindow.m: Likewise. * Source/NSImage.m: Likewise. * Source/NSWindow.m: Changed the way in which the windows are identified by number. The NSWindow class should keep track of them instead of NSApplication. * Source/NSApplication.m (-run): Create a local autorelease pool. (-_eventMatchingMask:): New method. (-nextEventMatchingMask:untilDate:inMode:dequeue:): Changed the way in which the events are get off the queue to better handle time events. (-setMainMenu:): Properly handle the assignment of aMenu to main_menu. * Source/NSEvent.m (-windowNumber): Send -windowWithNumber: to NSWindow class instead of using the shared application instance. * Source/NSView.m (-dealloc): Simply release the arrays instead of doing other strange things. (-removeCursorRect:cursor:, -viewWithTag:) Several cleanups. * Source/NSWindow.m (flushWindowIfNeeded): Flush the window if it needs flush. (+windowWithNumber:): New method; its implementation should be in the backend library. Mon Apr 21 18:57:30 1997 Ovidiu Predescu * Implement NSCopying protocol to cell classes. * Headers/gnustep/gui/NSCell.h: Declare class to conform to NSCopying. * Headers/gnustep/gui/NSActionCell.h: Likewise. * Headers/gnustep/gui/NSButtonCell.h: Likewise. * Source/NSCell.m: Implement copyWithZone:. * Source/NSActionCell.m: Likewise. * Source/NSButtonCell.m: Likewise. * Use NSRunLoop to get the events. * Headers/gnustep/gui/NSApplication.h: Define USE_RUN_LOOP macro if you want NSRunLoop class to be used instead of the default busy wait. Note that some classes will not work with the "default" loop. This macro should be removed eventually. (-setupRunLoopInputSourcesForMode:): New method to be implemented in backend. In this method the backend should register to run loop the input sources it uses. * Source/NSApplication.m (-init): Call backend method -setupRunLoopInputSourcesForMode: to setup the input source is several modes used by NSApp. (-run): Get the events from NSDefaultRunLoopMode mode instead of nil. (-nextEventMatchingMask:untilDate:inMode:dequeue:): Check for a matching event into the events queue in the order in which the events occurred. Temporary retain the event found before removing it from the events queue to avoid an unneeded deallocation. Inside the loop fire the timers then wait for inputs on the input sources of run loop. * Source/NSButton.m: Call the nextEventMatchingMask:... using the NSEventTrackingRunLoopMode mode instead of nil. * Source/NSCell.m: (-trackMouse:inRect:ofView:untilMouseUp:): Likewise. (-trackScrollButtons:): Likewise. * Source/NSScroller.m (-trackKnob:): Likewise. * Source/NSWindow.m (-nextEventMatchingMask:): Likewise. * NSMatrix class completely reworked to be compliant with the OpenStep specification. * Source/NSMatrix.m: The second implementation. * Headers/gnustep/gui/NSMatrix.h: Likewise. * Implementation of NSForm, not tested. * Source/NSForm.m: Initial implementation. * Headers/gnustep/gui/NSForm.h: Likewise. * Source/NSFormCell.m: Initial implementation. * Headers/gnustep/gui/NSFormCell.h: Likewise. * Added support in configure and makefiles for libFoundation. * configure.in: Configure checks now for the underlaying Foundation library and the Objective-C runtime for whom the library was compiled for. The code is copied with copy/paste from libFoundation sources. * aclocal.m4: Likewise. * Source/Makefile.in: New OBJC_RUNTIME_FLAG that gets replaced by configure. Remove OBJC_LIB since the runtime library is added to LIBS by configure. * Source/NSButton.m: Comment out captureMouse: method call to make possible debugging. Anyway it seems we don't need to capture the mouse. * Source/NSButtonCell.m: Remove the -prefersTrackingUntilMouseUp method. * Source/NSCell.m: Changed the way in which a cell gets initialized. Moved all the common things into the -_init method. * Added support for periodic events. * Source/NSEvent.m: (+startPeriodicEventsAfterDelay:withPeriod:, +stopPeriodicEvents): New public methods. (+_timerFired:, +_registerRealTimer:): New private methods. Fri Apr 04 14:03:40 1997 Scott Christley * Source/NSSlider.m (MB_NSSLIDER_CLASS): Rename to follow GNU coding standards. * Source/NSTextField.m (MB_NSTEXTFIELDCELL_CLASS): Likewise. Sat Mar 29 11:58:31 1997 GNUstep Development * Source/NSApplication.m (NullEvent): Rename global variable to be unique and conform to GNUstep standards. (nextEventMatchingMatchingMask:untilDate:inMode:dequeue:): Don't unhide the cursor for null events. (peekEventMatchingMatchingMask:untilDate:inMode:dequeue:): Likewise. Fri Mar 28 14:15:52 1997 GNUstep Development * Release version 0.2.0 * Version: Update with new version number. * Update documentation. * Documentation/announce.tmpl.texi: Likewise. * Documentation/faq.tmpl.texi: Likewise. * Documentation/gnustep-gui.tmpl.texi: Likewise. * Documentation/install.tmpl.texi: Likewise. * Documentation/news.tmpl.texi: Likewise. * Documentation/readme.tmpl.texi: Likewise. * Documentation/status.tmpl.texi: Likewise. * Documentation/todo.tmpl.texi: Likewise. * ANNOUNCE: Likewise. * FAQ: Likewise. * INSTALL: Likewise. * NEWS: Likewise. * README: Likewise. * STATUS: Likewise. * SUPPORT: Likewise. * TODO: Likewise. * Documentation/Makefile.in (update-top): New target. Thu Mar 27 09:43:02 1997 GNUstep Development * Source/NSTextFieldCell.m: Change default point size to 16. * Source/NSCell.m: Likewise. * Source/libgnustep-gui.m: Likewise. * Source/NSText.m: Likewise. * Headers/gnustep/gui/NSApplication.h (-peekNextEvent): New method. (-peekEventMatchingMask:untilDate:inMode:dequeue:): New method. * Source/NSApplication.m (-peekNextEvent): New method. (-peekEventMatchingMask:untilDate:inMode:dequeue:): New method. * Source/NSControl.m (-setAlignment:): Display if needed. * Source/NSScroller.m (-trackKnob:): Set the value of the cell manually to prevent automatic redisplay of scroller. Thu Mar 20 10:40:51 1997 GNUstep Development * Source/NSControl.m: Call displayIfNeeded after setting the contents of the cell. (-copyWithZone:): Copy the object instead of allocating so that instance variable values are copied. Retain the cell because it will be released when we set a new one. (-drawCell:, -drawCellInside:): Lock and unlock the focus when drawing the cell. * Source/NSImage.m (_base_name, extension): Delete functions; functionality is now provided by NSString. (+imageNamed:) Use NSString methods instead of local functions for obtaining base name and extension. Check if extension is one of the image types before deleting. (-useFromFile:): Use NSString methods instead of local functions for obtaining the extension. * Source/NSScroller.m (-setFloatValue:knobProportion:): Set knob proportion first before setting float value. (-setFloatValue:): Indicate needs display. (-drawRect:): Remove method. (-drawParts): Flush window. (-trackKnob:): Correct position of knob relative to pointer. Lock and unlock the focus; make sure it is unlocked before sending action. (-trackScrollButtons:): Fill out implementation. (-mouseDown:): Lock and unlock focus in the tracking methods instead. * Source/NSTextField.m (-setTextCursor:, -copyWithZone:): New methods. * Source/NSTextFieldCell.m (-initTextCell:): By default it draws the background. * Source/NSView.m (-ancestoreSharedWithView:): Implement. (-lockFocus, -unlockFocus): Make sure our superview locks or unlocks the focus before us. (-display): Unlock focus before drawing subviews. (+popFocusView): Returned poped view. * Source/NSButton.m (-mouseDown:): Remove unneeded code; rearrange so that the focus is unlocked before sending the action. Fri Mar 14 18:23:18 1997 Ovidiu Predescu * Flush the view's window after a redraw. * Source/NSButton.m (-mouseDown:): Likewise. * Source/NSCell.m (-trackMouse:inRect:ofView:untilMouseUp:): Likewise. * Source/NSView.m (-display): Likewise. * Source/NSControl.m (-updateCell:): Don't redraw imediately the cell, just mark it as needs display. * Source/NSControl.m (-updateCellInside:): Likewise. * Source/NSFont.m (getFont): Renamed the variables to better match the code. * Source/NSImage.m (+imageNamed:): After creating an image don't set it into the nameDict dictionary; this operation was already made in -setName:. * Source/NSResponder.m (-noResponderFor:): Commented out the NSBeep() call to make possible to build the GUI library as a shared library under OpenStep 4.x. The code should be in the backend libraries. * Source/NSScroller.m (-initWithFrame:): Fixed the code that sets up our cell to use an autoreleased cell. * Source/NSView.m (-initWithFrame:): Make a view opaque by default. * Source/NSView.m (-displayIfNeeded): After display mark the view as clean. * Source/NSView.m (-displayIfNeededIgnoringOpacity): Likewise. Wed Mar 5 17:43:34 1997 GNUstep Development * Headers/gnustep/gui/nsimage-tiff.h: Include gnustep-gui config. * Source/tiff.m: Include header file. Tue Mar 4 18:05:24 1997 Ovidiu Predescu * Source/NSFont.m (-minimumAdvancement): New method. * Source/NSButton.m (-initWithFrame:): Use an autoreleased cell. * Source/NSButtonCell.m (+prefersTrackingUntilMouseUp): New method. * Source/NSCell.m: Retain the objects we set in instance variables. * Source/NSControl.m (-initWithFrame:): Use an autoreleased cell. * Source/NSEvent.m (-description): New method. * Source/NSSlider.m (-initWithFrame:): Use an autoreleased cell. * Source/NSTextField.m (-initWithFrame:): Likewise. * Source/NSTextFieldCell.m (-drawWithFrame:inView:): Call super's implementation. Tue Mar 4 17:28:58 1997 GNUstep Development * Make sure gnustep-gui config.h file is included. * Headers/gnustep/gui/AppKit.h: Likewise. * Headers/gnustep/gui/NSCell.h: Likewise. * Headers/gnustep/gui/NSColor.h: Likewise. * Headers/gnustep/gui/NSColorList.h: Likewise. * Headers/gnustep/gui/NSColorPicker.h: Likewise. * Headers/gnustep/gui/NSCursor.h: Likewise. * Headers/gnustep/gui/NSDataLink.h: Likewise. * Headers/gnustep/gui/NSDataLinkManager.h: Likewise. * Headers/gnustep/gui/NSEvent.h: Likewise. * Headers/gnustep/gui/NSFont.h: Likewise. * Headers/gnustep/gui/NSFontManager.h: Likewise. * Headers/gnustep/gui/NSImage.h: Likewise. * Headers/gnustep/gui/NSImageRep.h: Likewise. * Headers/gnustep/gui/NSPasteboard.h: Likewise. * Headers/gnustep/gui/NSPrintInfo.h: Likewise. * Headers/gnustep/gui/NSPrintOperation.h: Likewise. * Headers/gnustep/gui/NSPrinter.h: Likewise. * Headers/gnustep/gui/NSResponder.h: Likewise. * Headers/gnustep/gui/NSScreen.h: Likewise. * Headers/gnustep/gui/NSSelection.h: Likewise. * Headers/gnustep/gui/NSSpellChecker.h: Likewise. * Headers/gnustep/gui/NSSpellServer.h: Likewise. * Headers/gnustep/gui/NSWorkspace.h: Likewise. * Source/Makefile.in: Remove non-existent header files. * Source/tiff.m: Remove unneeded header file. * Source/NSDPSContext.m: Remove unneeded header file. * Headers/gnustep/gui/config.h.in: Define NSDebugLog if not defined. Tue Mar 4 17:04:16 1997 GNUstep Development * Reinstate NSCursor and NSColorWell changes that got lost. * configure.in: Utilize config.h file instead of compiler defines. * configure: Regenerate for configure.in changes. * Headers/gnustep/dps/DPSOperators.h: Correct name. * Headers/gnsutep/gui/Headers/TypesandConstants.h: Correct name. * Headers/gnustep/gui/config.h.in: Correct names. * Headers/gnustep/gui/nsimage-tiff.h: Correct name. * Source/NSCell.m: Redraw cell when needed during tracking. * Initial NSScroller implementation. * Headers/gnustep/gui/NSScroller.h: Likewise. * Source/NSScroller.m: Likewise. Tue Mar 4 09:28:57 1997 GNUstep Development * Headers/gnustep/gui/NSEvent.h: Include needed header file. * Headers/gnustep/gui/NSNibLoading.h: Likewise. * Headers/gnustep/gui/NSPasteboard.h: Likewise. * Headers/gnustep/gui/NSSpellServer.h: Likewise. * Remove internal NSLog() implementation. * Source/Functions.m: Remove file. * Headers/gnustep/gui/LogFile.h: Remove file. * Headers/gnustep/gui/NSWindow.h: Remove include file. * Source/LogFile.m: Remove file. * Source/NSActionCell.m: Remove include file. * Source/NSApplication.m: Likewise. * Source/NSButton.m: Likewise. * Source/NSCell.m: Likewise. * Source/NSControl.m: Likewise. * Source/NSEvent.m: Likewise. * Source/NSFontManager.m: Likewise. * Source/NSResponder.m: Likewise. * Source/tiff.m: Likewise. * Source/Makefile.in: Remove LogFile and Functions. * Source/NSFont.m (getFont): Return font not font name. * Images/Makefile.in: Install common_Dimple.tiff. * Source/NSBundle.m (+imageNamed:): Create a bundle with gnustep library install path for searching system resources. Mon Feb 17 19:30:50 1997 Ovidiu Predescu * Source/NSButton.m: New methods -setAlignment: and -alignment, setIntValue:, setFloatValue:, setDoubleValue:, setAlignment:, alignment. * Source/NSButtonCell.m: setType: changed to setButtonType:. Changed the way in which the button types are handled (use highlightsBy and showsStateBy attributes). Fixed some object allocation retain/release problems. setHighlightsBy: and setShowsStateBy: implemented. New methods setIntValue:, setFloatValue:, setDoubleValue:, intValue, floatValue, doubleValue. Fixed coding methods. * Source/NSCell.m: Fixed some object allocation problems. Changed the way in which setIntValue:, setFloatValue: and setDoubleValue: work. Commented out a point conversion that works wrong (why?). Sat Feb 15 23:12:35 1997 Ovidiu Predescu * Major reorganization of header files. Types and constants were moved in the files they belong (too many to enumerate here). Each header file includes only the headers it really needs. Use @class to forward class definitions instead of including the corresponding class file. * Headers/gnustep/gui/Functions.h: Removed. * Headers/gnustep/gui/NSBundle.h: Removed. * Headers/gnustep/gui/NSFontPrivate.h: Removed. * Headers/gnustep/gui/TypesandConstants.h: Removed. * Headers/gnustep/gui/stdappkit.h: Removed. * Headers/gnustep/gui/NSGraphichs.h: New file. * Headers/gnustep/gui/AppKitExceptions.h: New file. A place to put exception strings that don't belong elsewhere. * Headers/gnustep/gui/NSNibLoading.h: Added category to NSBundle that deals with nib loading. Wed Feb 12 14:14:47 1997 GNUstep Development * Initial implementation of NSCursor. * Headers/gnustep/gui/NSCursor.h: Likewise. * Source/NSCursor.m: Likewise. * Headers/gnustep/gui/NSWindow.h: Implement cursor rectangles. * Source/NSView.m: Likewise. * Source/NSWindow.m: Likewise. * Source/Makefile.in: Clean up variables * Source/NSApplication.m: Fixes to event posting. Unhide the cursor when a mouse event occurs. * Source/NSEvent.m: NSCursorUpdate events are implemented as enter/exit events instead of other events. * Headers/gnustep/gui/NSTextField.h: Add text field cursor. * Source/NSTextField.m: Likewise. Thu Feb 6 19:31:54 1997 GNUstep Development * Fill out implementation of NSColorWell. * Headers/gnustep/gui/NSColorWell.h: Add backend instance variable and backend method. * Source/NSColorWell.m: Initial implementation. * NSView.m: Don't use -isKindOfClass: because it isn't working as we expect with the backend classes doing a +poseAs: Mon Feb 10 17:23:06 1997 Ovidiu Predescu * Source/NSFont.m: Completely reworked. Get the default fonts using the NSUserDefaults class instead of hard-coding them. Almost all the methods have to be overwritten in the true backend class. * Headers/gnustep/gui/NSFont.h: Removed unnecessary instance variables. Define some particular glyph types. * Source/NSFontManager.m: Commented out the methods that converts between different fonts and traits. * Source/Makefile: Define GNUSTEP_INSTALL_LIBDIR directly as string. * Source/NSImage.m: GNUSTEP_INSTALL_LIBDIR is passed as string during compilation so don't use OBJC_STRINGIFY. Use an OpenStep method to search for a resource instead of the particular gnustep-base method. Fri Jan 31 05:30:40 1997 Scott Christley * Move and install resources to a more appropriate place. * gnustep/gui/resource: Remove directory and files. * Images: New directory. * Images/GNUstep_Images_Copyright: New file. * Images/Makefile.in: New file. * Makefile.in: Clean up code. * configure.in: Update ftp messages; add Images directory. * configure: Regenerate based upon configure.in changes. * Headers/gnustep/gui/NSCell.h (support): Remove instance variable. (cell_image, cell_font): New instance variables. * Source/Makefile.in (GNUSTEP_RESOURCE, install-resource): Remove. (GNUSTEP_INSTALL_LIBDIR): Add definition. Correct some minor errors. * Source/NSButtonCell.m: Modify for NSCell instance variables changes. * Source/NSCell.m: Likewise. * Source/NSTextFieldCell.m: Likewise. * Headers/gnustep/gui/NSBitmapImageRep.h (back_end_reserved): New instance variable for backend use. * Source/NSImage.m (NSImage_PATH): Default path for where NSImage tries to find system image resources. (-_displayEraseRect:view:color:): Eliminate method. (-_doImageCache): Remove drawing code and place in proper methods. Thu Jan 30 12:34:30 1997 Scott Christley * Headers/gnustep/gui/NSDragging.h (NSDraggingInfo): Define protocol before it is used by the NSObject category. * Headers/gnustep/dps/DPSOperators.h: Eliminate unneeded code. * Source/NSControl.m (-copyWithZone:): New method. * Source/NSFontManager.m (-fontWithFamily:traits:weight:size:): Add log error message when requesting invalid font. Thu Jan 29 13:07:11 1997 Adam Fedor * Headers/gnustep/gui/AppKit.h: Add NSBundle definitions. * Source/NSBitmapImageRep.m ([NSBitmapImageRep -bitmapData]): planes instance variable always contains image data. ([NSBitmapImageRep -getBitmapDataPlanes]): Check for data in imagePlanes before allocating data. * Source/NSEPSImageRep.m ([NSEPSImageRep +imageRepWithData:]): Just return nil instead of not implementing. ([NSEPSImageRep +imageRepsWithData:]): New method. Wed Jan 29 07:44:32 1997 Simon Frankau * Headers/gnustep/gui/NSCStringText.h: New file. * Headers/gnustep/gui/NSDragging.h: New file. * Headers/gnustep/gui/NSColorPicking.h: New file. * Headers/gnustep/gui/NSNibLoading.h: New file. * Headers/gnustep/gui/NSSpellProtocol.h: New file. * Headers/gnustep/gui/AppKit.h: Include new files. * Headers/gnustep/gui/Application.h: Add NSServicesRequests category. * Headers/gnustep/gui/NSColor.h (-decodeNXColor:): New method. * Headers/gnustep/gui/NSColorPicker.h (-alphaControlAddedOrRemoved:): New method. * Headers/gnustep/gui/NSMenu.h (-validateCell:): New method. * Source/Makefile.in: Add new files. * Source/NSBundle.m: New file. * Source/NSCStringText.m: New file. * SourceNSColor.m (-decodeNXColor:): New method. * Source/NSColorPicker.m (-alphaControlAddedOrRemoved:): New method. * Source/NSText.m (-changeSpelling:, -ignoreSpelling:): New methods. Thu Jan 23 15:10:13 1997 Scott Christley * Makefile.in (install): Don't force make of source. * Source/Makefile.in: Use configure variables for libdir, includedir, bindir, and links. * Source/NSCell.m (-stringValue, -setStringValue:): Make copies. * Source/NSColorList.m (NSColorListNotEditableException): Already defined in NSApplication. * Source/NSTextFieldCell.m (-initWithFrame:): Bezeled by default. Tue Jan 14 9:33:04 1997 Ovidiu Predescu * Source/Functions.m: Exclude from compiling the NSLog functions when working with libFoundation. * Source/NSBundle.m: Renamed to NSBundleAdditions.m to make possible create a shared library under OS 4.1. * Changed the -encodeWithCoder: and -initWithCoder: methods in all classes to work with the basic NSCoder methods. Thu Dec 5 06:58:51 1996 GNUstep Development * Source/NSColorList.m: Fill out implementation. * Source/NSColorWell.m: Initial implementation. Thu Dec 05 09:56:25 1996 Scott Christley * Headers/gnustep/gui/NSMenu.h: Newer release of OpenStep specification indicates NSMenu subclasses from NSObject. * Headers/gnustep/gui/NSFontManager.h (-enumerateFontsAndFamilies): New method that backend must implement. (-enumerateFamilies): Delete old method. * Source/NSColor.m: Reverse usage of global variables for common colors as it causes havoc with archiving. * Source/NSFont.m: Encode additional instance variables. * Source/NSFontManager.m: Rename global variables. (-enumerateFamilies): Replaced by -enumerateFontsAndFamilies. * Source/NSMenu.m: Encode additional instance variables. * Source/NSWindow.m: Likewise. Fri Oct 18 12:56:14 1996 GNUstep Development * SUPPORT: New file. * Makefile.in: Corrected FSF address and moved comment about NET-Community support into SUPPORT file. * aclocal.m4: Likewise. * configure.in: Likewise. * config.guess: Likewise. * Headers/gnustep/dps/*.h: Likewise. * Headers/gnustep/gui/*.h: Likewise. * Headers/gnustep/gui/config.h.in: Likewise. * Source/*.m: Likewise. * Source/Makefile.in: Likewise. * Testing/Makefile.in: Likewise. * configure: Regenerate with autoconf for configure.in changes. * Testing/nsarchiver.dat: Remove file. * Testing/nsarchiver.m: Remove file. * Source/NSImageRep.m: Additional NSImage work. * Source/NSImage.m: Likewise. * Source/tiff.m: Likewise. Thu Oct 17 18:11:39 1996 GNUstep Development * Headers/gnustep/resource/gui/README: New file. * Headers/gnustep/resource/gui/common_ArrowDown.tiff: New file. * Headers/gnustep/resource/gui/common_ArrowLeft.tiff: New file. * Headers/gnustep/resource/gui/common_ArrowRight.tiff: New file. * Headers/gnustep/resource/gui/common_ArrowUp.tiff: New file. * Headers/gnustep/resource/gui/common_Dimple.tiff: New file. * Headers/gnustep/resource/gui/common_RadioOff.tiff: New file. * Headers/gnustep/resource/gui/common_RadioOn.tiff: New file. * Headers/gnustep/resource/gui/common_SwitchOff.tiff: New file. * Headers/gnustep/resource/gui/common_SwitchOn.tiff: New file. * Headers/gnustep/resource/gui/common_ret.tiff: New file. * Source/Makefile: Add targets for installing and uninstalling resource directory and files. Mon Oct 07 16:09:57 1996 Scott Christley * Headers/gnustep/gui/config.sed.nt: Set appropriate definitions. * Source/NSBitmapImageRep.m: Correct definition. * Source/tiff.m: Renamed from tiff.c. Thu Oct 3 19:36:07 1996 GNUstep Development * Version (GNUSTEP_GUI_SUBMINOR_VERSION): Release version 0.1.1. * Documentation/install.tmpl.texi: Update for new version. * Documentation/news.tmpl.texi: Update for new version. * Documentation/status.tmpl.texi: Update for new version. * ANNOUNCE: Regenerate from documentation files. * FAQ: Likewise. * INSTALL: Likewise. * NEWS: Likewise. * README: Likewise. * STATUS: Likewise. * Documentation/*.texi.orig: Rename files to *.tmpl.texi. * Documentation/Makefile.in: Changes for renamed files. Wed Oct 2 10:40:23 1996 GNUstep Development * Headers/gnustep/gui/NSWindow.h: Add additional instance variables to fill out implementation. (-initDefaults): New method. * Source/NSApplication.m: Assign values to the global exception and notification strings. Post notifications to the default notification center. Fixed bug where the first event was being removed from the queue versus removing the event actually being processed. * Source/NSMatrix.m: Fill out implementation, reimplement many methods, and fix lots of bugs. * Source/NSMenu.m: Don't create NSView as content view, just make the menu matrix the content view. * Source/NSWindow.m: Assign values to the notification strings. Implement many unimplemented methods. Post notifications to the default notification center. Sat Sep 21 12:25:23 1996 GNUstep Development * Source/NSButtonCell.m (-initTextCell:): Make default font be the user font instead of the user fixed pitch font. * Source/NSColor.m: Use global variables for common colors. * Source/NSView.m (+popFocusView): Remove dictionary object. * Source/NSWindow.m: Make default background color light gray. Thu Sep 12 13:49:53 1996 GNUstep Development * Headers/gnustep/gui/NSFontPrivate.h: New file. * Headers/gnustep/gui/NSFont.h: Add typeface and weight variables. * Source/NSFont.m: Fill out implementation. * Source/NSFontManager.m: Likewise. * Headers/gnustep/gui/NSMenuPrivate.h: New file. * Headers/gnustep/gui/NSMenu.h: Add instance variables to fill out implementation. * Source/NSMenu.m: Fill out implementation. * Version (GNUSTEP_GUI_LIBTIFF): Required tiff library version. (GNUSTEP_GUI_DPSCLIENT): Required DPSclient library version. * configure: Run autoconf for configure.in changes. * configure.in: Add check for tiff library. Add check for DPSclient library. * Headers/gnustep/dps/DPSOperators.h: include in header file from DPSclient library. * Headers/gnustep/dps/NSDPSContext.h: Include DPS operators. * Headers/gnustep/dps/TypesandConstants.h: Don't define some typedefs if we have the DPSclient library. * Headers/gnustep/gui/Functions.h (NSRectFill): Correct definition. * Headers/gnustep/gui/config.h.in (HAVE_TIFF): Add definition for tiff library. (HAVE_DPSCLIENT): Add definition for DPSclient library. * Headers/gnustep/gui/nsimage-tiff.h (HAVE_TIFF): Correct definition. * Source/Makefile.in: Remove definition. * Source/NSDPSContext.m: Specify default language and name encoding. * Source/tiff.c: Delete include of non-existent header file. * Source/Functions.m: Remove all function declarations that belong in the backend implementation. * Source/NSBox.m (-drawRect:): Remove use of DPS functions that should be in backend. * Source/NSView.m (-drawRect:): Likewise. * Headers/gnustep/gui/NSApplication.h: Correct method definitions that should be using NSNotification. * Headers/gnustep/gui/NSWindow.h: Likewise. * Source/NSApplication.m: Likewise. * Source/NSWindow.m: Likewise. * Headers/gnustep/gui/NSClipView.h: Include NSNotification. * Headers/gnustep/gui/NSControl.h: Likewise. * Headers/gnustep/gui/NSMatrix.h: Likewise. * Headers/gnustep/gui/NSSplitView.h: Likewise. * Headers/gnustep/gui/NSTextField.h: Likewise. * Headers/gnustep/gui/NSWorkspace.h: Likewise. * Headers/gnustep/gui/NSColorPrivate.h: New file. * Headers/gnustep/gui/NSColor.h: Implement HSB colors. * Source/NSColor.m: Implement HSB, CMYK, and grayscale methods. Tue Sep 3 15:24:41 1996 Adam Fedor * NSBitmapImageRep.h: "Hide" instance variable names. * NSImageRep.h: Likewise. * NSBitmapImageRep.m: Change all pertinent methods to use these new names. * NSImageRep.m: Likewise. * NSBitmapImageRep.m (-initWithBitmapDataPlanes:...): Alloc planes array and copy pointers into it. (-dealloc]): Don't free image planes. -bitmapData): retain image data. Alloc planes array if not already there. Fix typo. * NSImage.m (extension): Get one copy of cString. * NSImageRep.m (extension): Likewise. * NSImage.m (-initWithSize:): Fix typo. (iterate_reps_for_types): Use correct indices. * NSImageRep.m (+initialize): Perform only if we are NSImageRep class. (-imageRepsWithContentsOfFile:): Comment out non-working code. Tue Sep 3 13:47:52 1996 GNUstep Development Create initial documentation set. * Documentation/Makefile.in: New file. * Documentation/announce.texi.orig: New file. * Documentation/faq.texi.orig: New file. * Documentation/gnustep-gui.texi.orig: New file. * Documentation/install.texi.orig: New file. * Documentation/news.texi.orig: New file. * Documentation/readme.texi.orig: New file. * Documentation/status.texi.orig: New file. * Documentation/todo.texi.orig: New file. * ANNOUNCE: Now based upon Documentation/announce.texi.orig file. * INSTALL: Now based upon Documentation/install.texi.orig file. * NEWS: Now based upon Documentation/news.texi.orig file. * README: Now based upon Documentation/readme.texi.orig file. * FAQ: New file * STATUS: New file * TODO: New file * configure.in (CONFIG_FILES): Add Documentation/Makefile. * configure: Run autoconf for changes to configure.in. * Version: Correct variable names. Mon Aug 12 14:16:12 1996 GNUstep Development * Headers/gnustep/gui/NSBitmapImageRep.h: Initial implementation based upon Adam's Feodor work. * Headers/gnustep/gui/NSCachedImageRep.h: Likewise. * Headers/gnustep/gui/NSCustomImageRep.h: Likewise. * Headers/gnustep/gui/NSEPSImageRep.h: Likewise. * Headers/gnustep/gui/NSImage.h: Likewise. * Headers/gnustep/gui/NSImageRep.h: Likewise. * Source/NSBitmapImageRep.m: Likewise. * Source/NSCachedImageRep.m: Likewise. * Source/NSCustomImageRep.m: Likewise. * Source/NSEPSImageRep.m: Likewise. * Source/NSImage.m: Likewise. * Source/NSImageRep.m: Likewise. * Headers/gnustep/gui/NSApplication.h (-reportException:): Uncomment method now that NSExceptions are implemented. * Source/NSApplication.m (-reportException:): Likewise. * Headers/gnustep/gui/NSText.h: Include NSNotification header file now that class is implemented. * Headers/gnustep/gui/config.h.in: Don't define NSNotification and NSNotificationCenter to void as classes are now implemented. * Headers/gnustep/gui/NSWindow.h: Uncomment methods now that NSScreen class has been implemented. * Source/NSWindow.m: Likewise. * Source/Makefile.in: Changes to use TIFF library. * Source/tiff.c: New file. * Headers/gnustep/gui/nsimage-tiff.h: New file. Wed Jul 10 17:11:53 1996 Scott Christley * Source/NSView.m: Use NSDebugLog instead of NSLog. * Source/NSWindow.m: Likewise. * Source/NSResponder.m: Likewise. * Source/NSMatrix.m: Likewise. * Source/NSFontPanel.m: Likewise. * Source/NSFontManager.m: Likewise. * Source/NSFont.m: Likewise. * Source/NSEvent.m: Likewise. * Source/NSControl.m: Likewise. * Source/NSButtonCell.m: Likewise. * Source/NSApplication.m: Likewise. * Source/NSActionCell.m: Likewise. * Source/Makefile.sed.nt: Disable debugging by default. Wed Jun 26 12:43:17 1996 GNUstep Development * Source/NSButton.m (mouseDown:): Correct cell state changes for the different cell types. * Source/NSActionCell.m (setState:): Update the cell. * Source/NSControl.m (drawCell:, drawCellInside:): Pass the control's bounds not its frame. * Source/NSTextFieldCell.m (initTextCell:): Make the default background color be white. * Source/NSWindow.m: Corrections to key and main window notification and first responder handling. Fri Jun 21 11:09:50 1996 GNUstep Development * Headers/gnustep/gui/NSScreen.h: Add instance variables for a screen's device dictionary and for the backend. * Source/NSButton.m (highlight:): Implement method. (mouseDown:): Add mouse dragged events to tracking event mask. * Source/NSCell.m (trackMouse:inRect:ofView:untilMouseUp:): Likewise. * Source/NSMatrix.m (createInitialMatrix): Wrong initial capacity. * Source/NSScreen.m: Initial implementation. * Source/NSView.m (convertRectToWindow:): New method. (convertPointToWindow:): New method. (convertPoint:fromView:, convertPoint:toView:): Implement method. Wed Jun 19 14:25:46 1996 Scott Christley * Source/NSView.m (resizeSubviewsWithOldSize:): Implement method. (setFrame:): Notify subviews that size has changed. (initWithFrame:): Automatically resize subviews. * Source/Makefile.sed.nt: Have the library automatically contain COFF debugging information. * Source/NSButton.m (mouseDown:): Ignore the mouse if the button is not enabled. * Source/NSFont.m (MB_USER_FIXED_FONT, MB_USER_FONT): Rename global variables to correspond with coding standards. Thu Jun 6 09:20:51 1996 GNUstep Development * Headers/gnustep/gui/NSApplication.h (-context): New method. * Source/Makefile.sed.nt (install): Delete AppKit and DPSClient headers directories before installing headers. * Source/NSApplication.m (gnustep_gui_app_is_in_dealloc): New global variable to flag when the application is being dealloced so it can prevent -release loops. (+initialize, -dealloc, -removeWindowsItem:): Likewise. (-context): New method. * Source/NSView.m (+pushFocusView, +focusView): Remove debugging information. Mon Jun 3 10:54:28 1996 GNUstep Development * Makefile.in (clean-top, distclean): Correct targets and clean all header subdirectories. * Makefile.sed.nt: Modify for Makefile.in changes. * Source/Makefile.in (clean): Remove additional temporary files. * Source/NSDPSContext.m: Add some log messages. * Source/NSView.m (+pushFocusView, +popFocusView): New methods. * Source/NSView.m: Initial implementation of view focusing. Thu May 30 18:37:51 1996 Scott Christley * configure.bat: Modifications for new directory structure. * Source/Makefile.in (uninstall): New target. * Source/Makefile.sed.nt: Modifications for Source/Makefile.in changes and new directory structure. Tue Feb 13 09:52:02 1996 Scott Christley * Headers/AppKit/NSText.h: Removed WIN32 instance variables Sun Feb 11 14:17:15 1996 Scott Christley * Makefile.in: Changed library name from libAppKit to libgnustep * Renamed file libAppKit.m to libgnustep.m * Changed terminology "Application Kit Library" to "Application Library" to eliminate trademark conflicts with NeXT. Thu Feb 8 04:53:45 1996 Scott Christley * *.m: Conforms to NSCoding protocol * *.h: Added NSCoding protocol methods