Release 0.29.0.

1 Announcement
 **************
 
 This is version 0.29.0 of the GNUstep GUI library ('gnustep-gui').
 
 1.1 What is the GNUstep GUI Library?
 ====================================
 
 It is a library of graphical user interface classes written completely
 in the Objective-C language; the classes are based upon Apple's Cocoa
 framework.  The library has been enhanced in a number of ways to take
 advantage of the GNU system.  These classes include graphical objects
 such as buttons, text fields, popup lists, browser lists, and windows;
 there are also many associated classes for handling events, colors,
 fonts, pasteboards and images.
 
    The GNUstep GUI Library is designed in two parts.  The first part is
 the front-end component which is independent of platform and display
 system.  This front-end is combined with a back-end component which
 handles all of the display system dependent such as specific calls to
 X/Windows.  This design allows the GNUstep applications to have the
 "look and feel" of the underlying display system without any changes to
 the application, and the library can be easily ported to other display
 systems.
 
    The GNUstep GUI Library requires the GNU Objective-C compiler, the
 GNUstep Base Library, the TIFF Graphics library, Independent JPEG
 Group's libjpeg library, and a back-end component from the GNUstep
 'Back' library.
 
    Additional functionality may be enabled by installing additional
 libraries.  For example, to build the Cairo backend in the GNUstep Back
 library, you will need to install Cairo.
 
 1.2 Noteworthy changes in version '0.29.0'
 ==========================================
 
 This version adds support for storyboard files and many new classes.
 Plus the usual bunch of bug fixes.
 
    * Support loading of storyboard files.
    * Add classes NSSwitch, NSFontAssetRequest,
      NSMediaLibraryBrowserController, NSScrubberItemView,
      NSScrubberLayout, NSScrubber, NSSharingServicePickerToolbarItem,
      NSPathCell, NSPathComponentCell, NSPathControl, NSPathControlItem,
      NSPersistentDocument, NSAccessibilityCustomAction,
      NSAccessibilityCustomRotor, NSAccessibilityElement, NSStoryboard,
      NSStoryboardSegue, NSPageController, NSSplitViewController,
      NSSplitViewItem, NSTabViewController, NSLayoutAnchor,
      NSLayoutConstraint, NSLayoutGuide, NSStatusBarButton,
      NSTextCheckingController, NSTextFinder, NSTextInputContext,
      NSGridView.  Some of these classes are still skeletons.
    * Fix extraline fragment in text layout.
    * Better encoding handling in RTF files.
    * Add more italian translations.
    * Add MacOSX methods to NSNib, NSMenu and NSWindow.
    * Focus handling fixes for WindowMaker.
    * Fix missing colours when loading old colour lists.
    * Support JPEG export as greyscale image.
    * Fix memory leak in NSPopupButtonCell.
    * Fix toolbar flickering.
    * NSSearchFieldCell use code from GSTheme to display popup.
    * Fix int decoding to get it working on 64 bit big endian machines.
    * Add tab stops after last defined at default intervals.
    * Stop NSWindow from handling windows that are gone, but possibly
      returned by a slow window manager.
    * Fix NSTableView/NSTableColumn bindings.
 
 1.3 Where can you get it? How can you compile it?
 =================================================
 
 The gnustep-gui-0.29.0.tar.gz distribution file has been placed at
 <ftp://ftp.gnustep.org/pub/gnustep/core>.
 
    It is accompanied by gnustep-gui-0.29.0.tar.gz.sig, a PGP signature
 which you can validate by putting both files in the same directory and
 using:
 
      gpg --verify gnustep-gui-0.29.0.tar.gz.sig
 
    Signature has been created using the key with the following
 fingerprint:
 
      83AA E47C E829 A414 6EF8  3420 CA86 8D4C 9914 9679
 
    Read the INSTALL file or the GNUstep-HOWTO for installation
 instructions.
 
 1.4 Where do I send bug reports?
 ================================
 
 Please log bug reports on the GNUstep project page
 <http://savannah.gnu.org/bugs/?group=gnustep> or send bug reports to
 <bug-gnustep@gnu.org>.
 
 1.5 Obtaining GNU Software
 ==========================
 
 Check out the GNUstep web site.  (<http://www.gnustep.org/>), and the
 GNU web site.  (<http://www.gnu.org/>)
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE1skVZfHLUwouKI4kbk17otk8rJ0FAmCHOgUACgkQbk17otk8
 rJ0N9BAAsvuuM0ETk+QPCayyNi5BlTYZmJVYtV4BUyIt327oTFFhH0LtPjYzxgBU
 ZflkyzFR5IfDW3uopmzSi4yBqGsaNaLBV5TIqusCvgHN4Q1D7glOJ7WZI9pJPHmb
 3StmsVeXkpo6gtGbyX6Nb621hLLSYB8MIleBPCTQDf45REkGaHPXI9oXARpj0AmX
 S5XXqpJD6VTJ73uhT2ecA9b14G3N94msN6AHQ5n1Nz07blAWdw+kOiK73+eTINKZ
 hQhTlihaFiHoZERLVlmpsnoNP2sDRrUMPKJ1Py0ct7MijouXFl5kE7gqH8Kvw/Uh
 cnZ4UAgARwpJtRgQyMSl/rEKqoNX50ZMnUrDYIEr4TwuQj00S2FikzTo4Pw0cNKc
 W7SoRJQSgFxogisoWRzjLAbC7R5r9azJ8vwnh2DL8kASPxVQeb7gaarpbbI0ywE0
 xH05iaODfy5fYNXiRhbG1zlQtCoR5ILXkdMyma1LNV8N0TICzQHgcTzyz/jrOg9b
 Yhb6CfQ84HbCXpCUxrPjTFxSVC8UY/L/VrwijABS/l/XBEeojTVlmS2KpZWNEpXn
 6SgQxmXq/Vd6GSI4CHxjjDjwGVwUM6p13JjGi4gfCBf6WqcYc7qJSHCh0b4HMJ4+
 8KewpklFNx32Lk5k4/on+dMfEZTeJHB+BEKcqkb2lr3gqthc9y4=
 =Y22G
 -----END PGP SIGNATURE-----

Merge tag 'gui-0_29_0' into gnustep-gui-nextspace
This commit is contained in:
Sergii Stoian 2021-08-03 12:28:55 +03:00
commit e168da8b8a
27 changed files with 1859 additions and 149 deletions

View file

@ -1,7 +1,7 @@
1 Announcement
**************
This is version 0.28.0 of the GNUstep GUI library ('gnustep-gui').
This is version 0.29.0 of the GNUstep GUI library ('gnustep-gui').
1.1 What is the GNUstep GUI Library?
====================================
@ -32,55 +32,51 @@ Group's libjpeg library, and a back-end component from the GNUstep
libraries. For example, to build the Cairo backend in the GNUstep Back
library, you will need to install Cairo.
1.2 Noteworthy changes in version '0.28.0'
1.2 Noteworthy changes in version '0.29.0'
==========================================
This version adds support for modern XIB files and many new classes.
This version adds support for storyboard files and many new classes.
Plus the usual bunch of bug fixes.
* Support loading of document XIB files.
* Improve Key Value Binding for NSArrayController and add more
bindings.
* Better support for multi monitor usage and other improvement in the
backend integration.
* Add classes NSFontCollection, NSColorSampler, NSSpeechRecognizer,
NSAppearance, NSPDFInfo, NSPICTImageRep, NSCIImageRep,
NSPDFImageRep, NSPDFPanel, NSDataAsset, NSDatePicker,
NSDatePickerCell, NSPredicateEditor, NSPredicateEditorRowTemplate,
NSRuleEditor, NSGestureRecognizer, NSButtonTouchBarItem,
NSCandidateListTouchBarItem, NSClickGestureRecognizer,
NSColorPickerTouchBarItem, NSCustomTouchBarItem,
NSGroupTouchBarItem, NSMagnificationGestureRecognizer,
NSPanGestureRecognizer, NSPickerTouchBarItem,
NSPopoverTouchBarItem, NSPressGestureRecognizer,
NSRotationGestureRecognizer, NSSharingServicePickerTouchBarItem,
NSSliderTouchBarItem, NSStepperTouchBarItem, NSTouchBarItem,
NSTouchBar, NSTouch, NSDockTile.
* Implement NSEPSImageRep.
* Support loading of storyboard files.
* Add classes NSSwitch, NSFontAssetRequest,
NSMediaLibraryBrowserController, NSScrubberItemView,
NSScrubberLayout, NSScrubber, NSSharingServicePickerToolbarItem,
NSPathCell, NSPathComponentCell, NSPathControl, NSPathControlItem,
NSPersistentDocument, NSAccessibilityCustomAction,
NSAccessibilityCustomRotor, NSAccessibilityElement, NSStoryboard,
NSStoryboardSegue, NSPageController, NSSplitViewController,
NSSplitViewItem, NSTabViewController, NSLayoutAnchor,
NSLayoutConstraint, NSLayoutGuide, NSStatusBarButton,
NSTextCheckingController, NSTextFinder, NSTextInputContext,
NSGridView. Some of these classes are still skeletons.
* Fix extraline fragment in text layout.
* Better encoding handling in RTF files.
* Theming and drawing improvements.
* Increase small font size to 10.
* New cursor and stepper images.
* Move NSFileWrapper to Foundation.
* Fixed build on Debian GNU/kFreeBSD.
* With command line argument -autolaunch YES, do not activate the
application when -activateIgnoringOtherApps: is invoked.
* Improvements to WindowMaker compatibility (e.g. WMFHideApplication
support).
* Lowered NSFloatingWindowLevel by one to distinguish floating panels
from menus.
* Add more italian translations.
* Add MacOSX methods to NSNib, NSMenu and NSWindow.
* Focus handling fixes for WindowMaker.
* Fix missing colours when loading old colour lists.
* Support JPEG export as greyscale image.
* Fix memory leak in NSPopupButtonCell.
* Fix toolbar flickering.
* NSSearchFieldCell use code from GSTheme to display popup.
* Fix int decoding to get it working on 64 bit big endian machines.
* Add tab stops after last defined at default intervals.
* Stop NSWindow from handling windows that are gone, but possibly
returned by a slow window manager.
* Fix NSTableView/NSTableColumn bindings.
1.3 Where can you get it? How can you compile it?
=================================================
The gnustep-gui-0.28.0.tar.gz distribution file has been placed at
The gnustep-gui-0.29.0.tar.gz distribution file has been placed at
<ftp://ftp.gnustep.org/pub/gnustep/core>.
It is accompanied by gnustep-gui-0.28.0.tar.gz.sig, a PGP signature
It is accompanied by gnustep-gui-0.29.0.tar.gz.sig, a PGP signature
which you can validate by putting both files in the same directory and
using:
gpg --verify gnustep-gui-0.28.0.tar.gz.sig
gpg --verify gnustep-gui-0.29.0.tar.gz.sig
Signature has been created using the key with the following
fingerprint:

View file

@ -1,3 +1,56 @@
2021-04-26 Ivan Vucica <ivan@vucica.net>
* ANNOUNCE:
* Documentation/ReleaseNotes.gsdoc:
* Documentation/news.texi:
* NEWS:
Updating documentation for the 0.29.0 release.
* Version:
Bumping requirement to gnustep-base 1.28.0.
2021-04-23 Gregory John Casamento <greg.casamento@gmail.com>
* Source/Functions.m: QuickFix. Remove unecessary warning
about storyboard in NSApplicationMain function.
2021-03-29 Gregory John Casamento <greg.casamento@gmail.com>
* Source/NSGridView.[hm]: Add implementation of NSGridView.
* Source/GSXib5KeyedUnarchiver.m: Add keys to decode NSGridView.
2021-03-27 Fred Kiefer <FredKiefer@gmx.de>
* Source/NSControl.m (-textDidChange:): If there is a binding with
continious update, pass on the changed text.
* Source/GSXibElement.m: Correct the handling of boolean values in attributes.
* Source/GSBindingHelpers.h,
* Source/NSKeyValueBinding.m: Prevent recursion when
reverseSetValue: is used.
* Source/NSTextField.m (-textDidChange:): Remove empty code line.
2021-03-12 Fred Kiefer <FredKiefer@gmx.de>
* Source/NSMenu.m (-_setOwnedByPopUp:): Only update the menu if
there is a new popup.
2021-02-21 Fred Kiefer <FredKiefer@gmx.de>
* Source/NSPasteboard.m (-_pasteboardWithTarget:name:): Correct
wrong order of arguments to NSMapInsert.
* Source/NSPasteboard.m (-generalPasteboard): Simplify
implementation.
2021-02-12 Fred Kiefer <FredKiefer@gmx.de>
* Source/NSSearchFieldCell.m: Correct encoding/decoding that was
broken in last commit of this file.
2021-02-05 Fred Kiefer <FredKiefer@gmx.de>
* Resources/Italian.lproj/Localizable.strings,
* Resources/Esperanto.lproj/Localizable.strings: Readd BOM which
was lost when regenerating these files.
2021-01-22 Fred Kiefer <FredKiefer@gmx.de>
* Source/NSTableView.m (-_numRows): Take column value binding into

View file

@ -20,6 +20,55 @@
migrate to using a newer version of the library.
</p>
<section>
<heading>0.29.0</heading>
<p>
This version adds support for modern XIB files and many new
classes. Plus the usual bunch of bug fixes.
</p>
<deflist>
<term>storyboards</term>
<desc>Support loading of storyboard files.</desc>
<term>new classes</term>
<desc>Add classes NSSwitch, NSFontAssetRequest,
NSMediaLibraryBrowserController, NSScrubberItemView, NSScrubberLayout,
NSScrubber, NSSharingServicePickerToolbarItem, NSPathCell,
NSPathComponentCell, NSPathControl, NSPathControlItem,
NSPersistentDocument, NSAccessibilityCustomAction,
NSAccessibilityCustomRotor, NSAccessibilityElement, NSStoryboard,
NSStoryboardSegue, NSPageController, NSSplitViewController,
NSSplitViewItem, NSTabViewController, NSLayoutAnchor,
NSLayoutConstraint, NSLayoutGuide, NSStatusBarButton,
NSTextCheckingController, NSTextFinder, NSTextInputContext,
NSGridView.<br />
<br />
Some of these classes are still skeletons.</desc>
<term>text layout</term>
<desc>Fix extraline fragment in text layout.</desc>
<term>RTF</term>
<desc>Better encoding handling in RTF files.</desc>
<term>localization</term>
<desc>Add more italian translations.</desc>
<term>compatibility</term>
<desc>Add MacOSX methods to NSNib, NSMenu and NSWindow.</desc>
<term>window management compatibility</term>
<desc>Focus handling fixes for WindowMaker.<br />
Stop NSWindow from handling windows that are gone, but possibly
returned by a slow window manager.</desc>
<term>bugfix</term>
<desc>Fix missing colours when loading old colour lists.<br />
Fix memory leak in NSPopupButtonCell.<br />
Fix toolbar flickering.<br />
Fix int decoding to get it working on 64 bit big endian machines.<br />
Add tab stops after last defined at default intervals.<br />
Fix NSTableView/NSTableColumn bindings.</desc>
<term>JPEG export improvements</term>
<desc>Support JPEG export as greyscale image.</desc>
<term>theming</term>
<desc>NSSearchFieldCell use code from GSTheme to display popup.</desc>
</deflist>
</section>
<section>
<heading>0.28.0</heading>
<p>

View file

@ -25,7 +25,8 @@ NSAccessibilityCustomRotor, NSAccessibilityElement, NSStoryboard,
NSStoryboardSegue, NSPageController, NSSplitViewController,
NSSplitViewItem, NSTabViewController, NSLayoutAnchor,
NSLayoutConstraint, NSLayoutGuide, NSStatusBarButton,
NSTextCheckingController, NSTextFinder, NSTextInputContext.
NSTextCheckingController, NSTextFinder, NSTextInputContext,
NSGridView.
Some of these classes are still skeletons.
@item Fix extraline fragment in text layout.
@item Better encoding handling in RTF files.
@ -36,9 +37,12 @@ Some of these classes are still skeletons.
@item Support JPEG export as greyscale image.
@item Fix memory leak in NSPopupButtonCell.
@item Fix toolbar flickering.
@item NSSearchFieldCell use code from GSTheme to disolay popup.
@item NSSearchFieldCell use code from GSTheme to display popup.
@item Fix int decoding to get it working on 64 bit big endian machines.
@item Add tab stops after last defined at default intervals.
@item Stop NSWindow from handling windows that are gone, but possibly
returned by a slow window manager.
@item Fix NSTableView/NSTableColumn bindings.
@end itemize
@ifclear ANNOUNCE-ONLY

View file

@ -173,6 +173,7 @@
#import <AppKit/NSGlyphGenerator.h>
#import <AppKit/NSGradient.h>
#import <AppKit/NSGraphicsContext.h>
#import <AppKit/NSGridView.h>
#import <AppKit/NSGroupTouchBarItem.h>
#import <AppKit/NSHelpManager.h>
#import <AppKit/NSInputManager.h>

213
Headers/AppKit/NSGridView.h Normal file
View file

@ -0,0 +1,213 @@
/* Definition of class NSGridView
Copyright (C) 2020 Free Software Foundation, Inc.
By: Gregory John Casamento
Date: 08-08-2020
This file is part of the GNUstep Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110 USA.
*/
#ifndef _NSGridView_h_GNUSTEP_GUI_INCLUDE
#define _NSGridView_h_GNUSTEP_GUI_INCLUDE
#import <AppKit/NSView.h>
#if OS_API_VERSION(MAC_OS_X_VERSION_10_12, GS_API_LATEST)
#if defined(__cplusplus)
extern "C" {
#endif
enum {
NSGridCellPlacementInherited = 0,
NSGridCellPlacementNone,
NSGridCellPlacementLeading,
NSGridCellPlacementTop = NSGridCellPlacementLeading,
NSGridCellPlacementTrailing,
NSGridCellPlacementBottom = NSGridCellPlacementTrailing,
NSGridCellPlacementCenter,
NSGridCellPlacementFill
};
typedef NSInteger NSGridCellPlacement;
enum {
NSGridRowAlignmentInherited = 0,
NSGridRowAlignmentNone,
NSGridRowAlignmentFirstBaseline,
NSGridRowAlignmentLastBaseline
};
typedef NSInteger NSGridRowAlignment;
APPKIT_EXPORT const CGFloat NSGridViewSizeForContent;
@class NSGridColumn, NSGridRow, NSGridCell, NSArray, NSMutableArray;
@interface NSGridView : NSView
{
NSGridRowAlignment _rowAlignment;
NSMutableArray *_columns;
NSMutableArray *_rows;
NSMutableArray *_cells;
CGFloat _columnSpacing;
CGFloat _rowSpacing;
NSGridCellPlacement _xPlacement;
NSGridCellPlacement _yPlacement;
}
+ (instancetype) gridViewWithNumberOfColumns: (NSInteger)columnCount rows: (NSInteger)rowCount;
+ (instancetype) gridViewWithViews: (NSArray *)rows; // an NSArray containing an NSArray of NSViews
- (NSInteger) numberOfRows;
- (NSInteger) numberOfColumns;
- (NSGridRow *) rowAtIndex: (NSInteger)index;
- (NSInteger) indexOfRow: (NSGridRow *)row;
- (NSGridColumn *) columnAtIndex: (NSInteger)index;
- (NSInteger) indexOfColumn: (NSGridColumn *)column;
- (NSGridCell *) cellAtColumnIndex: (NSInteger)columnIndex rowIndex: (NSInteger)rowIndex;
- (NSGridCell *) cellForView: (NSView*)view;
- (NSGridRow *) addRowWithViews: (NSArray *)views;
- (NSGridRow *) insertRowAtIndex: (NSInteger)index withViews: (NSArray *)views;
- (void) moveRowAtIndex: (NSInteger)fromIndex toIndex: (NSInteger)toIndex;
- (void) removeRowAtIndex: (NSInteger)index;
- (NSGridColumn *) addColumnWithViews: (NSArray*)views;
- (NSGridColumn *) insertColumnAtIndex: (NSInteger)index withViews: (NSArray *)views;
- (void) moveColumnAtIndex: (NSInteger)fromIndex toIndex: (NSInteger)toIndex;
- (void) removeColumnAtIndex: (NSInteger)index;
- (NSGridCellPlacement) xPlacement;
- (void) setXPlacement: (NSGridCellPlacement)x;
- (NSGridCellPlacement) yPlacement;
- (void) setYPlacement: (NSGridCellPlacement)y;
- (NSGridRowAlignment) rowAlignment;
- (void) setRowAlignment: (NSGridRowAlignment)a;
- (CGFloat) rowSpacing;
- (void) setRowSpacing: (CGFloat)f;
- (CGFloat) columnSpacing;
- (void) setColumnSpacing: (CGFloat)f;
- (void) mergeCellsInHorizontalRange: (NSRange)hRange verticalRange: (NSRange)vRange;
@end
/// Cell
@interface NSGridCell : NSObject <NSCoding>
{
NSView *_contentView;
NSGridRowAlignment _rowAlignment;
NSGridCellPlacement _xPlacement;
NSGridCellPlacement _yPlacement;
id _mergeHead;
NSGridRow *_owningRow;
NSGridColumn *_owningColumn;
NSArray *_customPlacementConstraints;
}
- (NSView *) contentView;
- (void) setContentView: (NSView *)v;
+ (NSView *) emptyContentView;
// Weak references to row/column
- (NSGridRow *) row;
- (NSGridColumn *) column;
// Placement
- (NSGridCellPlacement) xPlacement;
- (void) setXPlacement: (NSGridCellPlacement)x;
- (NSGridCellPlacement) yPlacement;
- (void) setYPlacement: (NSGridCellPlacement)y;
- (NSGridRowAlignment) rowAlignment;
- (void) setRowAlignment: (NSGridRowAlignment)a;
// Constraints
- (NSArray *) customPlacementConstraints;
- (void) setCustomPlacementConstraints: (NSArray *)constraints;
@end
/// Column
@interface NSGridColumn : NSObject <NSCoding>
{
NSGridView *_gridView;
NSGridCellPlacement _xPlacement;
CGFloat _width;
CGFloat _leadingPadding;
CGFloat _trailingPadding;
BOOL _isHidden;
}
- (NSGridView *) gridView;
- (void) setGridView: (NSGridView *)gv;
- (NSInteger) numberOfCells;
- (NSGridCell *) cellAtIndex: (NSInteger)index;
- (NSGridCellPlacement) xPlacement;
- (void) setXPlacement: (NSGridCellPlacement)x;
- (CGFloat) width;
- (void) setWidth: (CGFloat)f;
- (CGFloat) leadingPadding;
- (void) setLeadingPadding: (CGFloat)f;
- (CGFloat) trailingPadding;
- (void) setTrailingPadding: (CGFloat)f;
- (BOOL) isHidden;
- (void) mergeCellsInRange: (NSRange)range;
@end
/// Row
@interface NSGridRow : NSObject <NSCoding>
{
NSGridView *_gridView;
NSGridCellPlacement _yPlacement;
CGFloat _height;
CGFloat _bottomPadding;
CGFloat _topPadding;
BOOL _isHidden;
}
- (NSGridView *) gridView;
- (void) setGridView: (NSGridView *)gv;
- (NSInteger) numberOfCells;
- (NSGridCell *)cellAtIndex: (NSInteger)index;
- (NSGridCellPlacement) yPlacement;
- (void) setYPlacement: (NSGridCellPlacement)y;
- (CGFloat) height;
- (void) setHeight: (CGFloat)f;
- (CGFloat) topPadding;
- (void) setTopPadding: (CGFloat)f;
- (CGFloat) bottomPadding;
- (void) setBottomPadding: (CGFloat)f;
- (BOOL) isHidden;
- (void) mergeCellsInRange: (NSRange)range;
@end
#if defined(__cplusplus)
}
#endif
#endif /* GS_API_MACOSX */
#endif /* _NSGridView_h_GNUSTEP_GUI_INCLUDE */

View file

@ -106,8 +106,10 @@ enum {
@interface NSWorkspace (NSWorkspaceRunningApplications)
#if GS_HAS_DECLARED_PROPERTIES
@property (readonly, copy) NSArray *runningApplications;
@property (readonly, retain) NSRunningApplication *frontmostApplication;
#else
- (NSArray *)runningApplications;
- (NSRunningApplication *)frontmostApplication;
#endif
@end

View file

@ -1,4 +1,4 @@
MISSING HEADERS ( * = difficult, - = quick, + = placeholder )
MISSING HEADERS ( * = difficult, - = quick, + = placeholder, x = won't do )
---
> NSATSTypesetter.h +
> NSCollectionViewCompositionalLayout.h *
@ -12,11 +12,10 @@ MISSING HEADERS ( * = difficult, - = quick, + = placeholder )
> NSDraggingSession.h -
> NSFilePromiseProvider.h -
> NSFilePromiseReceiver.h -
> NSGlyphInfo.h
> NSGridView.h *
> NSGlyphInfo.h -
> NSItemProvider.h +
> NSMenuToolbarItem.h -
> NSOpenGLLayer.h
> NSOpenGLLayer.h *
> NSStackView.h *
> NSTableCellView.h *
> NSTableRowView.h *

156
NEWS
View file

@ -1,9 +1,43 @@
1 NEWS
******
The currently released version of the library is '0.28.0'.
The currently released version of the library is '0.29.0'.
1.1 Noteworthy changes in version '0.28.0'
1.1 Noteworthy changes in version '0.29.0'
==========================================
This version adds support for storyboard files and many new classes.
Plus the usual bunch of bug fixes.
* Support loading of storyboard files.
* Add classes NSSwitch, NSFontAssetRequest,
NSMediaLibraryBrowserController, NSScrubberItemView,
NSScrubberLayout, NSScrubber, NSSharingServicePickerToolbarItem,
NSPathCell, NSPathComponentCell, NSPathControl, NSPathControlItem,
NSPersistentDocument, NSAccessibilityCustomAction,
NSAccessibilityCustomRotor, NSAccessibilityElement, NSStoryboard,
NSStoryboardSegue, NSPageController, NSSplitViewController,
NSSplitViewItem, NSTabViewController, NSLayoutAnchor,
NSLayoutConstraint, NSLayoutGuide, NSStatusBarButton,
NSTextCheckingController, NSTextFinder, NSTextInputContext,
NSGridView. Some of these classes are still skeletons.
* Fix extraline fragment in text layout.
* Better encoding handling in RTF files.
* Add more italian translations.
* Add MacOSX methods to NSNib, NSMenu and NSWindow.
* Focus handling fixes for WindowMaker.
* Fix missing colours when loading old colour lists.
* Support JPEG export as greyscale image.
* Fix memory leak in NSPopupButtonCell.
* Fix toolbar flickering.
* NSSearchFieldCell use code from GSTheme to display popup.
* Fix int decoding to get it working on 64 bit big endian machines.
* Add tab stops after last defined at default intervals.
* Stop NSWindow from handling windows that are gone, but possibly
returned by a slow window manager.
* Fix NSTableView/NSTableColumn bindings.
1.2 Noteworthy changes in version '0.28.0'
==========================================
This version adds support for modern XIB files and many new classes.
@ -41,7 +75,7 @@ Plus the usual bunch of bug fixes.
* Lowered NSFloatingWindowLevel by one to distinguish floating panels
from menus.
1.2 Noteworthy changes in version '0.27.0'
1.3 Noteworthy changes in version '0.27.0'
==========================================
This version includes numerous bugfixes, compatibility improvements and
@ -64,7 +98,7 @@ be done on integrating NSViews with a Core Animation renderer.
* Japanese translations.
* Lots of bug fixes.
1.3 Noteworthy changes in version '0.26.2'
1.4 Noteworthy changes in version '0.26.2'
==========================================
This version is a small, but important bugfix release.
@ -72,7 +106,7 @@ This version is a small, but important bugfix release.
* printing: Fix allocation of the CUPS printing classes.
* installation: Fix the configure script.
1.4 Noteworthy changes in version '0.26.1'
1.5 Noteworthy changes in version '0.26.1'
==========================================
This version is released to conincide with version 1.25.1 of
@ -99,7 +133,7 @@ for more information.
* graphics context: Workaround for Clang+libobjc2+nonfragile ABI
issue.
1.5 Noteworthy changes in version '0.26.0'
1.6 Noteworthy changes in version '0.26.0'
==========================================
This version was bumped due to previous binary incompatibilities between
@ -130,7 +164,7 @@ system.
and methods to improve source-level compatibility.
* other bugfixes
1.6 Noteworthy changes in version '0.25.1'
1.7 Noteworthy changes in version '0.25.1'
==========================================
* JPEG (saving) alpha channel fixes and size with resolution != 72
@ -141,7 +175,7 @@ system.
* Corrected layout of empty strings
* Only update visible menus
1.7 Noteworthy changes in version '0.25.0'
1.8 Noteworthy changes in version '0.25.0'
==========================================
* Fixes for new GIF library versions
@ -156,15 +190,15 @@ system.
* Numerous theme tweaks
* Spanish locale
1.8 Noteworthy changes in version '0.24.1'
1.9 Noteworthy changes in version '0.24.1'
==========================================
From a look through ChangeLog, we can see a lot of bugfixes for this
release, with the main focus on avoiding display glitches and improving
OSX compatibility.
1.9 Noteworthy changes in version '0.24.0'
==========================================
1.10 Noteworthy changes in version '0.24.0'
===========================================
New features include:
* Require newer base release as we moved the
@ -175,13 +209,13 @@ New features include:
Many bugfixes.
1.10 Noteworthy changes in version '0.23.1'
1.11 Noteworthy changes in version '0.23.1'
===========================================
This is a bugfix release, primarily to deal with coding/archiving
issues.
1.11 Noteworthy changes in version '0.22.0'
1.12 Noteworthy changes in version '0.22.0'
===========================================
New features include:
@ -197,19 +231,19 @@ New features include:
selection of image reps, better support for icons). Many bugfixes,
including in Xib loading, printing, and NSView geometry.
1.12 Noteworthy changes in version '0.20.0'
1.13 Noteworthy changes in version '0.20.0'
===========================================
A new stable release. Many improvments with Nib loading, documents and
document controllers. Fixed many drawing issues, particularly ones
related to flipping. Much improved theming.
1.13 Noteworthy changes in version '0.19.0'
1.14 Noteworthy changes in version '0.19.0'
===========================================
This is an (unstable) copy of the 0.18.0 release
1.14 Noteworthy changes in version '0.18.0'
1.15 Noteworthy changes in version '0.18.0'
===========================================
A new stable release that has had many improvements. Many new Mac OS X
@ -218,20 +252,20 @@ were made (particularly with the use of the Windows theme). There is
also better compatibility with Mac OS X in terms of usage of NSInteger
and other definitions.
1.15 Noteworthy changes in version '0.17.1'
1.16 Noteworthy changes in version '0.17.1'
===========================================
* New Mac OS X 10.5 methods in NSFont
* Add live resize in NSSplitView
1.16 Noteworthy changes in version '0.17.0'
1.17 Noteworthy changes in version '0.17.0'
===========================================
* New Mac OS X 10.5 methods in many classes
* Toolbars have been completely rewritten and improved.
* Several improvements for Garbage Collection
1.17 Noteworthy changes in version '0.16.0'
1.18 Noteworthy changes in version '0.16.0'
===========================================
* Nib loading refractored and improved.
@ -239,7 +273,7 @@ and other definitions.
* NSWindowController made a subclass of NSResponder
* NSTokenField and netokenFiledCell classes added.
1.18 Noteworthy changes in version '0.14.0'
1.19 Noteworthy changes in version '0.14.0'
===========================================
* New class NSGlyphGenerator for glyph generation
@ -247,7 +281,7 @@ and other definitions.
* NSOpenGLView added some Mac OS X 10.3 methods
* Manu bug fixes.
1.19 Noteworthy changes in version '0.13.2'
1.20 Noteworthy changes in version '0.13.2'
===========================================
* Printing works a little better now.
@ -258,7 +292,7 @@ and other definitions.
* New class NSSegmentedCell.
* NSDrawer was implemented.
1.20 Noteworthy changes in version '0.13.1'
1.21 Noteworthy changes in version '0.13.1'
===========================================
* NSMenu - Added more MacOS X methods and an ivar.
@ -268,7 +302,7 @@ and other definitions.
* Added some MacOS X 10.4 methods to NSTableView.
* Changed the NSCursor hot point to 0,0 for MacOS X compatibility.
1.21 Noteworthy changes in version '0.13.0'
1.22 Noteworthy changes in version '0.13.0'
===========================================
This is an unstable release. There may be backward compatibility issues
@ -295,7 +329,7 @@ with previous releases of the gui library.
* Implementation of special connectors for Key-Value binding.
* Base library version 1.15.1 is required for this release
1.22 Noteworthy changes in version '0.12.0'
1.23 Noteworthy changes in version '0.12.0'
===========================================
It has been a long time since the last release and many things have been
@ -315,7 +349,7 @@ added and changed, including new classes, new ivars, and new methods.
* NSSpellServer and NSAffineTransform was moved to GNUstep base for
Mac OS X compatibility.
1.23 Noteworthy changes in version '0.11.0'
1.24 Noteworthy changes in version '0.11.0'
===========================================
* Added support for keyed encoding in all gui classes.
@ -324,25 +358,25 @@ added and changed, including new classes, new ivars, and new methods.
* Implemented glue code in GSNibCompatibility for classes such as
NSIBObjectData, NSClassSwapper, etc. to facilitate nib loading.
1.24 Noteworthy changes in version '0.10.3'
1.25 Noteworthy changes in version '0.10.3'
===========================================
* Horizontal menus now work
* Better support for tracking active applications.
1.25 Noteworthy changes in version '0.10.2'
1.26 Noteworthy changes in version '0.10.2'
===========================================
Mostly bug fixes.
1.26 Noteworthy changes in version '0.10.1'
1.27 Noteworthy changes in version '0.10.1'
===========================================
GNUstep now uses v19 of portaudio for the sound daemon. Version v19
hasn't been officially released, but it is still used in several
distributions (SuSE, etc) as v18 is very old.
1.27 Noteworthy changes in version '0.10.0'
1.28 Noteworthy changes in version '0.10.0'
===========================================
This release is binary incompatible with previous releases. The
@ -353,7 +387,7 @@ new version.
* Model loading supports window auto-positioning
* Keyed encoding is supported in many classes.
1.28 Noteworthy changes in version '0.9.5'
1.29 Noteworthy changes in version '0.9.5'
==========================================
* Beginnings of CUPS interface were added.
@ -362,7 +396,7 @@ new version.
* NSApplication -runModalSession behavior changed.
* You can find the GUI library's version using the Info.plist
1.29 Noteworthy changes in version '0.9.4'
1.30 Noteworthy changes in version '0.9.4'
==========================================
* The printing classes have been completely reorganized to
@ -373,7 +407,7 @@ new version.
* NSScroller, NSScrollView has a new ivar.
* Some improvement of NSDataLink classes.
1.30 Noteworthy changes in version '0.9.3'
1.31 Noteworthy changes in version '0.9.3'
==========================================
* Spell checker reimplemented using libaspell
@ -382,7 +416,7 @@ new version.
* Binary incompatibilites from ivar additions in NSView and
subclasses.
1.31 Noteworthy changes in version '0.9.2'
1.32 Noteworthy changes in version '0.9.2'
==========================================
* Working NSToolbar implementation
@ -394,21 +428,21 @@ new version.
* NSStringDrawing redesigned.
* Much improved loading of gorm files
1.32 Noteworthy changes in version '0.9.1'
1.33 Noteworthy changes in version '0.9.1'
==========================================
* NSWindow - DnD works on whole window and events are propogated up
to first DnD aware view.
* Absolute paths and DnD works in OpenPanels.
1.33 Noteworthy changes in version '0.9.0'
1.34 Noteworthy changes in version '0.9.0'
==========================================
Improvements in various classes, include NSPopUpButton,
NSBitmapImageRep, NSMenu, NSToolbar. Added support for thumbnail images
in NSWorkspace.
1.34 Noteworthy changes in version '0.8.9'
1.35 Noteworthy changes in version '0.8.9'
==========================================
Note that many headers have moved to new locations (both in the package
@ -417,13 +451,13 @@ applications may not compile because they cannot find the right header.
* New Language Setup documentation.
1.35 Noteworthy changes in version '0.8.8'
1.36 Noteworthy changes in version '0.8.8'
==========================================
* Updated LanguageSetup documentation
* Improved RTF reader (unicode support, etc).
1.36 Noteworthy changes in version '0.8.7'
1.37 Noteworthy changes in version '0.8.7'
==========================================
* NSBezierPath glyph methods implemented (depends on backend).
@ -431,7 +465,7 @@ applications may not compile because they cannot find the right header.
* Added default to load user-defined bundles (GSAppKitUserBundles
default).
1.37 Noteworthy changes in version '0.8.6'
1.38 Noteworthy changes in version '0.8.6'
==========================================
Updated to install in new locations based on changes in gnustep-make
@ -441,12 +475,12 @@ Updated to install in new locations based on changes in gnustep-make
* Speed improvements, especially in tracking mouses movements.
* Lots of menu improvements.
1.38 Noteworthy changes in version '0.8.5'
1.39 Noteworthy changes in version '0.8.5'
==========================================
Bug fixes. NSStringDrawing now uses text system implementation.
1.39 Noteworthy changes in version '0.8.4'
1.40 Noteworthy changes in version '0.8.4'
==========================================
This release features a brand new text and layout system thanks to
@ -457,7 +491,7 @@ Alexander Malmberg. Other improvements include:
* Printing fixes.
* NSToolbar partially implemented.
1.40 Noteworthy changes in version '0.8.3'
1.41 Noteworthy changes in version '0.8.3'
==========================================
* Additions for Gorm support.
@ -468,7 +502,7 @@ Alexander Malmberg. Other improvements include:
* Window focus fixes
* Key view handling rewritten.
1.41 Noteworthy changes in version '0.8.2'
1.42 Noteworthy changes in version '0.8.2'
==========================================
* Handle fonts that aren't found better.
@ -479,7 +513,7 @@ Alexander Malmberg. Other improvements include:
* NSBrowser: implement non-separate columns
* Fix firstResponder status in text fields.
1.42 Noteworthy changes in version '0.8.1'
1.43 Noteworthy changes in version '0.8.1'
==========================================
* Handle scaled curves correctly.
@ -488,23 +522,23 @@ Alexander Malmberg. Other improvements include:
* NSSound implemented. gssnd sound server.
* Spell checker starts correctly now.
1.43 Noteworthy changes in version '0.8.0'
1.44 Noteworthy changes in version '0.8.0'
==========================================
1.44 Noteworthy changes in version '0.7.9'
1.45 Noteworthy changes in version '0.7.9'
==========================================
* NSTableView, NSOutlineView improvements.
* Menus no longer work in modal loop.
* Skeleton implementation of NSToolBar
1.45 Noteworthy changes in version '0.7.8'
1.46 Noteworthy changes in version '0.7.8'
==========================================
* Wheel color picker, standard color picker (bundles) added.
* System colors now use named colors. Easier configuration
1.46 Noteworthy changes in version '0.7.7'
1.47 Noteworthy changes in version '0.7.7'
==========================================
The graphics/window interface was completely revamped. Window functions
@ -526,7 +560,7 @@ computers, although it is in a very alpha state.
* Better autolayout with GSTable and subclasses.
* NSOutlineView much improved.
1.47 Noteworthy changes in version '0.7.6'
1.48 Noteworthy changes in version '0.7.6'
==========================================
* NSOutlineView implemented.
@ -535,7 +569,7 @@ computers, although it is in a very alpha state.
* Fully-functional keybindings, including multi-stroke keybindings.
* Memory panel available from Info Panel.
1.48 Noteworthy changes in version '0.7.5'
1.49 Noteworthy changes in version '0.7.5'
==========================================
* Drag and drop and image sliding much improved.
@ -553,7 +587,7 @@ computers, although it is in a very alpha state.
* Near rewrite of Menu handling code.
* Gmodel code compiled as a separate bundle.
1.49 Noteworthy changes in version '0.7.0'
1.50 Noteworthy changes in version '0.7.0'
==========================================
* Much improvement in NSBrowser, NSMatrix, NSPopUpButton, combo
@ -564,7 +598,7 @@ computers, although it is in a very alpha state.
* simpler, faster compilation and installation.
* NSColorWell works.
1.50 Noteworthy changes in version '0.6.7'
1.51 Noteworthy changes in version '0.6.7'
==========================================
* App Icons can support documents dropped using DnD.
@ -580,7 +614,7 @@ computers, although it is in a very alpha state.
* Implemented object value and formatter support in NSCell
* Support middle mouse button.
1.51 Noteworthy changes in version '0.6.6'
1.52 Noteworthy changes in version '0.6.6'
==========================================
* Window hints for motif and generic window managers.
@ -606,7 +640,7 @@ however, that the xdps backend is still considered experimental and you
may have to deal with many problems in order to get it working. We
recommend sticking with the xgps backend (the default) for now.
1.52 Noteworthy changes in version '0.6.5'
1.53 Noteworthy changes in version '0.6.5'
==========================================
Many of the basic GUI classes have been vastly improved or rewritten,
@ -630,7 +664,7 @@ thanks to Nicola Pero <n.pero@mi.flashnet.it> and many others.
been written, thanks to Richard Frith-Macdonald
<richard@brainstorm.co.uk>
1.53 Noteworthy changes in version '0.6.0'
1.54 Noteworthy changes in version '0.6.0'
==========================================
A Huge amount of progress, although a lot still needs to be done. It's
@ -651,7 +685,7 @@ NeXT/OpenStep apps and libraries have been ported with little changes.
* Rewrite of NSSavePanel and NSOpenPanel
* Several fixes that at least double the speed of the gui.
1.54 Noteworthy changes in version '0.5.5'
1.55 Noteworthy changes in version '0.5.5'
==========================================
Too extensive to list.
@ -659,7 +693,7 @@ Too extensive to list.
* A lot of rewritting has been done to the classes, with general
cleanup of coordinate conversion code, etc.
1.55 Noteworthy changes in version '0.5.0'
1.56 Noteworthy changes in version '0.5.0'
==========================================
* NSBrowser and NSBrowserCell have been implemented. There is one
@ -708,7 +742,7 @@ Too extensive to list.
* Several cleanups and as usual, many bug fixes.
1.56 Noteworthy changes in version '0.3.0'
1.57 Noteworthy changes in version '0.3.0'
==========================================
* Completely reworked the menu class. The NSMenu class is now
@ -739,7 +773,7 @@ Too extensive to list.
retain/release policy has been fixed, the cell classes correctly
implement the NSCopying protocol and many others.
1.57 Noteworthy changes in version '0.2.0'
1.58 Noteworthy changes in version '0.2.0'
==========================================
* Additional NSImage and NSImageRep class work. Incorporated common
@ -773,7 +807,7 @@ Too extensive to list.
* Many bug fixes and minor enhancements.
1.58 Noteworthy changes in version '0.1.1'
1.59 Noteworthy changes in version '0.1.1'
==========================================
* Almost complete implementation of the PXKMenu and PXKMenuCell
@ -796,7 +830,7 @@ Too extensive to list.
* Now requires the TIFF library for reading, writing, and
manipulating tiff files and images.
1.59 Noteworthy changes in version '0.1.0'
1.60 Noteworthy changes in version '0.1.0'
==========================================
* Integration of the GNUstep X/DPS GUI Backend. This has finally

View file

@ -1,4 +1,4 @@
/* Translator: Ingolf Jandt, <i.jandt@web.de>
/* Translator: Ingolf Jandt, <i.jandt@web.de>
* Date: April 2006
*/
@ -33,10 +33,8 @@ add comments above this one
/* File: ../Source/GSNibLoading.m:168 */
/* Comment: Quit */
/* Flag: untranslated */
/* File: ../Source/NSApplication.m:3511 */
/* File: ../Source/NSApplication.m:4305 */
/* Flag: untranslated */
/* File: ../Source/NSDocumentController.m:1195 */
"Quit" = "Finu";
@ -76,12 +74,10 @@ add comments above this one
/* File: ../Source/NSDocument.m:1694 */
/* File: ../Source/NSDocument.m:1696 */
/* File: ../Source/NSFontPanel.m:696 */
/* Flag: untranslated */
"Revert" = "Malfaru";
/* File: ../Source/GSPrintOperation.m:155 */
/* File: ../Source/NSFontPanel.m:706 */
/* Flag: untranslated */
"Preview" = "Antaŭviso";
/* File: ../Source/GSHelpManagerPanel.m:101 */
@ -96,36 +92,29 @@ add comments above this one
"OK" = "OK";
/* File: ../Source/Functions.m:94 */
/* Flag: untranslated */
/* File: ../Source/NSApplication.m:951 */
/* Flag: unmatched */
"Cannot load the main model file '%@'"
= "Malpovas ŝarĝi ŝefan model-dosieron '%@'";
/* File: ../Source/NSAlert.m:389 */
/* Flag: untranslated */
/* File: ../Source/NSDocument.m:485 */
"Don't Save" = "Forĵetu";
/* File: ../Source/NSDocumentController.m:1101 */
/* File: ../Source/NSDocumentController.m:1151 */
/* Flag: untranslated */
"You have unsaved documents" = "Vi havas malkonservitajn dokumentojn";
/* File: ../Source/NSDocumentController.m:1102 */
/* File: ../Source/NSDocumentController.m:1144 */
/* Flag: untranslated */
"Review Unsaved" = "Rigardu ree";
/* File: ../Source/NSDocumentController.m:1104 */
/* File: ../Source/NSDocumentController.m:1146 */
/* Flag: untranslated */
"Quit Anyway" = "Tamen finu";
/* File: ../Source/GSCharacterPanel.m:166 */
/* Flag: untranslated */
/* File: ../Source/NSFontPanel.m:738 */
/* Flag: untranslated */
"Character Panel" = "Character Panel";
/* File: ../Source/GSCharacterPanel.m:185 */

View file

@ -1,4 +1,4 @@
/* Translator: Nicola Pero <nicola@brainstorm.co.uk>
/* Translator: Nicola Pero <nicola@brainstorm.co.uk>
* Date: September 2002
* Translator: Maurizio Boriani <baux@gnu.org>
* Date: April 2006
@ -121,7 +121,6 @@ add comments above this one
/* Comment: Error description */
/* File: ../Source/NSDocument.m:646 */
/* Comment: Error description */
/* Flag: untranslated */
"Could not create data for type."
= "Impossibile generare i dati per il tipo dati.";
@ -222,7 +221,6 @@ add comments above this one
"Typeface" = "Typeface";
/* File: ../Source/NSOpenPanel.m:92 */
/* Flag: untranslated */
"Open" = "Apri";
/* File: ../Source/NSPageLayout.m:961 */
@ -254,8 +252,7 @@ add comments above this one
"8 up" = "8 up";
/* File: ../Source/NSPrintPanel.m:407 */
/* Flag: untranslated */
"Sorry" = "Sorry";
"Sorry" = "Spiacente";
/* File: ../Source/NSSavePanel.m:243 */
/* Flag: untranslated */
@ -276,7 +273,6 @@ add comments above this one
= "You cannot save this document with extension '.%@'.\nThe required extension is '.%@'.";
/* File: ../Source/NSSavePanel.m:1374 */
/* Flag: untranslated */
"No" = "No";
/* File: ../Source/NSWindow.m:5637 */

View file

@ -112,10 +112,6 @@ NSApplicationMain(int argc, const char **argv)
[storyboard instantiateInitialController];
}
}
else
{
NSLog(@"Storyboard is blank or nil, unable to load.");
}
}
RECREATE_AUTORELEASE_POOL(pool);

View file

@ -115,6 +115,7 @@ NSFontManager.m \
NSFontPanel.m \
NSForm.m \
NSFormCell.m \
NSGridView.m \
NSGroupTouchBarItem.m \
NSMagnificationGestureRecognizer.m \
NSPanGestureRecognizer.m \
@ -445,6 +446,7 @@ NSGradient.h \
NSGroupTouchBarItem.h \
NSGlyphGenerator.h \
NSGraphicsContext.h \
NSGridView.h \
NSHelpPanel.h \
NSHelpManager.h \
NSImage.h \

View file

@ -41,6 +41,7 @@
@public
NSDictionary *info;
id src;
BOOL inReverseSet;
}
+ (void) exposeBinding: (NSString *)binding forClass: (Class)clazz;

View file

@ -41,6 +41,7 @@
#import "AppKit/NSCell.h"
#import "AppKit/NSClipView.h"
#import "AppKit/NSFormCell.h"
#import "AppKit/NSGridView.h"
#import "AppKit/NSImage.h"
#import "AppKit/NSMatrix.h"
#import "AppKit/NSMenu.h"
@ -201,7 +202,10 @@ static NSArray *XmlBoolDefaultYes = nil;
@"NSMutableArray", @"allowedToolbarItems",
@"NSMutableArray", @"defaultToolbarItems",
@"NSMutableArray", @"rowTemplates",
@"NSMutableArray", @"constraints",
@"NSMutableArray", @"constraints",
@"NSMutableArray", @"rows",
@"NSMutableArray", @"columns",
@"NSMutableArray", @"gridCells",
@"NSSegmentItem", @"segment",
@"NSCell", @"customCell",
@"NSCustomObject5", @"customObject",
@ -227,7 +231,8 @@ static NSArray *XmlBoolDefaultYes = nil;
RETAIN(ClassNamePrefixes);
XmlReferenceAttributes = [NSArray arrayWithObjects: @"headerView", @"initialItem",
@"selectedItem", @"firstItem", @"secondItem", nil];
@"selectedItem", @"firstItem", @"secondItem",
@"row", @"column", nil];
RETAIN(XmlReferenceAttributes);
XmlConnectionRecordTags = [NSArray arrayWithObjects: @"action", @"outlet", @"binding", nil];
@ -287,6 +292,24 @@ static NSArray *XmlBoolDefaultYes = nil;
@"string", @"NS.relative",
@"canPropagateSelectedChildViewControllerTitle",
@"NSTabViewControllerCanPropagateSelectedChildViewControllerTitle",
@"rowAlignment", @"NSGrid_alignment",
@"rowSpacing", @"NSGrid_rowSpacing",
@"columnSpacing", @"NSGrid_columnSpacing",
@"hidden", @"NSGrid_hidden",
@"leadingPadding", @"NSGrid_leadingPadding",
@"bottomPadding", @"NSGrid_bottomPadding",
@"trailingPadding", @"NSGrid_trailingPadding",
@"topPadding", @"NSGrid_topPadding",
@"width", @"NSGrid_width",
@"height", @"NSGrid_height",
@"xPlacement", @"NSGrid_xPlacement",
@"yPlacement", @"NSGrid_yPlacement",
@"rows", @"NSGrid_rows",
@"columns", @"NSGrid_columns",
@"gridCells", @"NSGrid_cells",
@"contentView", @"NSGrid_content",
@"row", @"NSGrid_owningRow",
@"column", @"NSGrid_owningColumn",
nil];
RETAIN(XmlKeyMapTable);
@ -335,6 +358,9 @@ static NSArray *XmlBoolDefaultYes = nil;
// decoding the integer flag masks...
XmlKeyToDecoderSelectorMap =
[NSDictionary dictionaryWithObjectsAndKeys:
@"decodeXPlacementForElement:", @"NSGrid_xPlacement",
@"decodeYPlacementForElement:", @"NSGrid_yPlacement",
@"decodeRowAlignmentForElement:", @"NSGrid_alignment",
@"decodeIntercellSpacingHeightForElement:", @"NSIntercellSpacingHeight",
@"decodeIntercellSpacingWidthForElement:", @"NSIntercellSpacingWidth",
@"decodeColumnAutoresizingStyleForElement:", @"NSColumnAutoresizingStyle",
@ -2917,6 +2943,79 @@ didStartElement: (NSString*)elementName
return num;
}
- (id) _decodePlacementForObject: (id)obj
{
NSGridRowAlignment alignment = NSGridCellPlacementNone;
if ([obj isEqualToString: @"inherited"])
{
alignment = NSGridCellPlacementInherited;
}
else if ([obj isEqualToString: @"leading"])
{
alignment = NSGridCellPlacementLeading;
}
else if ([obj isEqualToString: @"top"])
{
alignment = NSGridCellPlacementTop;
}
else if ([obj isEqualToString: @"trailing"])
{
alignment = NSGridCellPlacementTrailing;
}
else if ([obj isEqualToString: @"bottom"])
{
alignment = NSGridCellPlacementBottom;
}
else if ([obj isEqualToString: @"center"])
{
alignment = NSGridCellPlacementCenter;
}
else if ([obj isEqualToString: @"fill"])
{
alignment = NSGridCellPlacementFill;
}
else // if not specified then assume none...
{
alignment = NSGridCellPlacementNone;
}
return [NSNumber numberWithInteger: alignment];
}
- (id) decodeXPlacementForElement: (GSXibElement *)element
{
id obj = [element attributeForKey: @"xPlacement"];
return [self _decodePlacementForObject: obj];
}
- (id) decodeYPlacementForElement: (GSXibElement *)element
{
id obj = [element attributeForKey: @"yPlacement"];
return [self _decodePlacementForObject: obj];
}
- (id) decodeRowAlignmentForElement: (GSXibElement *)element
{
id obj = [element attributeForKey: @"rowAlignment"];
NSGridRowAlignment alignment = NSGridRowAlignmentNone;
if ([obj isEqualToString: @"inherited"])
{
alignment = NSGridRowAlignmentInherited;
}
else if ([obj isEqualToString: @"firstBaseline"])
{
alignment = NSGridRowAlignmentFirstBaseline;
}
else if ([obj isEqualToString: @"lastBaseline"])
{
alignment = NSGridRowAlignmentLastBaseline;
}
else
{
alignment = NSGridRowAlignmentNone;
}
return [NSNumber numberWithInteger: alignment];
}
- (id) objectForXib: (GSXibElement*)element
{
id object = [super objectForXib: element];

View file

@ -62,6 +62,10 @@
- (NSString*) value
{
if (value == nil)
{
return [attributes objectForKey: @"value"];
}
return value;
}

View file

@ -40,6 +40,7 @@
#import "AppKit/NSKeyValueBinding.h"
#import "AppKit/NSPasteboard.h"
#import "AppKit/NSWindow.h"
#import "GSGuiPrivate.h"
#include <math.h>
@ -602,11 +603,11 @@ static NSString *placeholderItem = nil;
if (self)
{
_itemSize = NSMakeSize(0, 0);
_tileWidth = -1.0;
if ([aCoder allowsKeyedCoding])
{
_itemSize = NSMakeSize(0, 0);
_tileWidth = -1.0;
_minItemSize = [aCoder decodeSizeForKey: NSCollectionViewMinItemSizeKey];
_maxItemSize = [aCoder decodeSizeForKey: NSCollectionViewMaxItemSizeKey];
@ -622,6 +623,12 @@ static NSString *placeholderItem = nil;
}
else
{
_minItemSize = [aCoder decodeSize];
_maxItemSize = [aCoder decodeSize];
decode_NSUInteger(aCoder, &_maxNumberOfRows);
decode_NSUInteger(aCoder, &_maxNumberOfColumns);
[aCoder decodeValueOfObjCType: @encode(BOOL) at: &_isSelectable];
[self setBackgroundColors: [aCoder decodeObject]]; // decode color...
}
}
[self _initDefaults];
@ -660,6 +667,12 @@ static NSString *placeholderItem = nil;
}
else
{
[aCoder encodeSize: _minItemSize];
[aCoder encodeSize: _maxItemSize];
encode_NSUInteger(aCoder, &_maxNumberOfRows);
encode_NSUInteger(aCoder, &_maxNumberOfColumns);
[aCoder encodeValueOfObjCType: @encode(BOOL) at: &_isSelectable];
[aCoder encodeObject: [self backgroundColors]]; // encode color...
}
}

View file

@ -615,6 +615,7 @@ static NSNotificationCenter *nc;
- (void) textDidChange: (NSNotification *)aNotification
{
NSMutableDictionary *dict;
GSKeyValueBinding *theBinding;
dict = [[NSMutableDictionary alloc] initWithDictionary:
[aNotification userInfo]];
@ -624,6 +625,19 @@ static NSNotificationCenter *nc;
object: self
userInfo: dict];
RELEASE(dict);
theBinding = [GSKeyValueBinding getBinding: NSValueBinding
forObject: self];
if (theBinding != nil)
{
NSDictionary *options = [theBinding->info objectForKey: NSOptionsKey];
NSNumber *num = [options objectForKey: NSContinuouslyUpdatesValueBindingOption];
if ([num boolValue])
{
[theBinding reverseSetValueFor: @"objectValue"];
}
}
}
/**<p>Invokes when the text cell is changed.

1241
Source/NSGridView.m Normal file

File diff suppressed because it is too large Load diff

View file

@ -361,7 +361,9 @@ void GSBindingInvokeAction(NSString *targetKey, NSString *argumentKey,
keyPath = [info objectForKey: NSObservedKeyPathKey];
dest = [info objectForKey: NSObservedObjectKey];
NSDebugLLog(@"NSBinding", @"reverseSetValue: keyPath %@, dest %@ value %@", keyPath, dest, value);
inReverseSet = YES;
[dest setValue: value forKeyPath: keyPath];
inReverseSet = NO;
}
- (void) reverseSetValueFor: (NSString *)binding
@ -378,6 +380,11 @@ void GSBindingInvokeAction(NSString *targetKey, NSString *argumentKey,
NSDictionary *options;
id newValue;
if (inReverseSet)
{
return;
}
if (change != nil)
{
options = [info objectForKey: NSOptionsKey];

View file

@ -1257,7 +1257,7 @@ static BOOL menuBarVisible = YES;
}
NS_HANDLER
{
NSLog(@"Error Occurred While Updating Menu %@: %@", [self title], localException);
NSLog(@"Error occurred While Updating Menu %@: %@", [self title], localException);
}
NS_ENDHANDLER
// Reenable displaying of menus
@ -2350,9 +2350,9 @@ static BOOL menuBarVisible = YES;
{
[_aWindow setLevel: NSPopUpMenuWindowLevel];
[_bWindow setLevel: NSPopUpMenuWindowLevel];
[self update];
}
}
[self update];
}
- (NSString*) description

View file

@ -1095,16 +1095,7 @@ static NSMapTable *mimeMap = NULL;
*/
+ (NSPasteboard*) generalPasteboard
{
static NSPasteboard *generalPboard = nil;
NSPasteboard *currentGeneralPboard;
// call pasteboardWithName: every time, to update server connection if needed
currentGeneralPboard = [self pasteboardWithName: NSGeneralPboard];
if (currentGeneralPboard != generalPboard)
{
ASSIGN(generalPboard, currentGeneralPboard);
}
return generalPboard;
return [self pasteboardWithName: NSGeneralPboard];
}
+ (void) initialize
@ -2138,7 +2129,7 @@ description, [cmd stringByDeletingLastPathComponent]);
{
ASSIGN(p->target, (id)aTarget);
ASSIGNCOPY(p->name, aName);
NSMapInsert(pasteboards, (void*)p, (void*)p->name);
NSMapInsert(pasteboards, (void*)p->name, (void*)p);
[p autorelease];
}
}

View file

@ -155,4 +155,9 @@
{
return nil;
}
- (NSRunningApplication *)frontmostApplication
{
return nil;
}
@end

View file

@ -495,14 +495,14 @@
}
else
{
NSInteger max = [self maximumRecents];
NSUInteger max = [self maximumRecents];
[aCoder encodeObject: _search_button_cell];
[aCoder encodeObject: _cancel_button_cell];
[aCoder encodeObject: _recents_autosave_name];
[aCoder encodeValueOfObjCType: @encode(BOOL)
at: &_sends_whole_search_string];
encode_NSInteger(aCoder, &max);
encode_NSUInteger(aCoder, &max);
}
}
@ -522,13 +522,13 @@
}
else
{
NSInteger max;
NSUInteger max;
[self setSearchButtonCell: [aDecoder decodeObject]];
[self setCancelButtonCell: [aDecoder decodeObject]];
[self setRecentsAutosaveName: [aDecoder decodeObject]];
[aDecoder decodeValueOfObjCType: @encode(BOOL) at: &_sends_whole_search_string];
decode_NSInteger(aDecoder, &max);
decode_NSUInteger(aDecoder, &max);
[self setMaximumRecents: max];
}

View file

@ -536,7 +536,6 @@ static Class textFieldCellClass;
- (void) textDidChange: (NSNotification *)aNotification
{
NSFormatter *formatter;
[super textDidChange: aNotification];

View file

@ -842,6 +842,8 @@ NSString *NSTextInputContextKeyboardSelectionDidChangeNotification =
NSPasteboardTypeTextFinderOptionKey const NSTextFinderCaseInsensitiveKey = @"NSTextFinderCaseInsensitiveKey";
NSPasteboardTypeTextFinderOptionKey const NSTextFinderMatchingTypeKey = @"NSTextFinderMatchingTypeKey";
CGFloat const NSGridViewSizeForContent = 0.0;
extern void __objc_gui_force_linking (void);
void

View file

@ -5,7 +5,7 @@
GNUSTEP_GUI_GCC=4.0.0
# Versions for libraries that gnustep-gui is dependent upon
GNUSTEP_GUI_BASE=1.27.0
GNUSTEP_GUI_BASE=1.28.0
GNUSTEP_GUI_LIBTIFF=3.4
# The version number of this release.