Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Tree: 1585bf9896
Fetching contributors…

Cannot retrieve contributors at this time

6120 lines (4836 sloc) 259.874 kB
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
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
* 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
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
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
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
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:]),
Fixed bug.
* Source/NSWindow.m ([-keyViewSelectionDirection]): Implemented.
([-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
* 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
* 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
* 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
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
* 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
* 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 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,
* 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
* 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 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
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
* Source/NSWindow.m ([-keyDown:]): Use NSCommandKeyMask for key
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/ 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 to send
notifications on application launch
* Source/NSWorkspace.m: Patch by 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
* Source/NSTextField.m ([-encodeWithCoder:]), ([-initWithCoder:]):
Update for removal of ivars nextText, previousText.
* Model/GMAppKit.m ([NSTextField -initWithModelUnarchiver:]),
([NSTextField -encodeWithModelArchiver:]): Updated for removal of
* 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
* 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,
* 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
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
* Source/NSWindow.m: ([-dealloc]), ([-initDefaults]),
([-encodeWithCoder:]), ([-decodeWithCoder:]): updated to take
account for the new ivar _initial_first_responder.
* Model/GMAppKit.m ([NSWindow -encodeWithModelArchiver:]): Added
([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
* Source/NSMatrix.m ([-resizeWithOldSuperviewSize:]): New method
implementing the prescribed autoresizing behaviour according to
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:]):
* 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:]):
* 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:]):
* 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
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
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
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
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
* 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/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
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
* 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/ 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,
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 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 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
* 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
(-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
NSTableView.h: modifications, mostly added ivars.
* Source/NSLayoutManager.m: implemented much code for layout and
* 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"
* 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
* 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
* Headers/NSInterfaceStyle.h: added enum
* 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
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
* 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
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 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
* 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
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/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
* 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 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
* 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
1999-07-29 Adam Fedor <>
* Headers/gnustep/gui/NSEvent.h: Add AppKit dragging events.
* Headers/gnustep/gui/NSGraphicsContext.h: Added some internal drag
* Source/NSGraphicsContext.m (-_dragInfo): New method.
(-_postExternalEvent:): Likewise.
* Headers/gnustep/gui/NSPasteboard.h: Added some internal mime type
* 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
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
place keeper images for bottom tabs. These really need to be
* 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/ 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:
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
* Source/NSAttributedString.m: new file with implementation of
some needed additions to NSMutableAttributedString.
Try, 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/ That is the text
application for NSTextView/TextNetwork. 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,
1999-07-19 Michael Hanni <>
* Source/NSTableView.m: very incomplete implementation.
* Source/NSTableColumn.m: mostly complete NSTableColumn
* Source/NSTableHeaderView.m: some coding left when NSTableView
* Source/NSTableHeaderCell.m: once all is drawing this should be
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
* 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
* Source/NSTextView.m: initWithFrame: now creates a proper NSText
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
* 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
* 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
<NSMenuItem> 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 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
* 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 -
* 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 <NSMenuItem>.
* 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
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 (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.
* 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
1999-06-21 Michael Hanni <>
* Source/NSText.m: a bunch of little tweaks. Will document today.
However as a consequence hitting return in 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_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
* 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
* 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
* Headers/AppKit/NSTextContainer.h: rewrite by jagapen
* Source/GNUmakefile: Modified to build NSTextContainer and
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
* 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
* Headers/AppKit/NSSavePanel.h: ditto
* Panels/SavePanel.gmodel: Update by
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
* 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 -
* 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 -
* 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
* 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:,
* 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
* 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
* 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
* 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
1999-04-22 Michael Hanni <>
* Model/test.m: fixed NSGraphic's'Context type-o.
* Model/GMAppKit.m: Added missing @end to NSImageView
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 -
* 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
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
* 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 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
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
* 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
* 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 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
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
* 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 -
* 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
* 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
* 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
* 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 - also used @encode()
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
* Source/NSControl.m: Corrected ([-sendActionon:]) as
suggested by
* 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
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
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 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
Tue Jan 5 18:05:00 1999 Richard Frith-Macdonald <>
* Source/NSMatrix.m: bugfix growing matrix - from
* Source/NSApplication.m: Modified -init method to return the shared
application object so that +new is effectively a synonym for the
[+sharedApplication] method - from
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
([-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
* 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, 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
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
* 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
* 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
* 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
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.
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: New files.
* Header/gnuste/gui/ 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
* 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
* 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
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
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.
* Tools/GNUmakefile.preamble (ADDITIONAL_LIB_DIRS): Include Model
lib dir. Also include extensions and Foundation dirs.
(ADDITIONAL_TOOL_LIBS): Include lgmodel, FoundationExt.