Skip to content

Commit

Permalink
Merge branch 'master' into NSStoryboard_refactor
Browse files Browse the repository at this point in the history
  • Loading branch information
gcasa committed Feb 17, 2025
2 parents 33604e7 + 4c1687d commit d308222
Show file tree
Hide file tree
Showing 76 changed files with 5,114 additions and 2,891 deletions.
3 changes: 1 addition & 2 deletions .github/scripts/dependencies.sh
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,7 @@ install_libobjc2() {
install_libdispatch() {
echo "::group::libdispatch"
cd $DEPS_PATH
# will reference upstream after https://github.com/apple/swift-corelibs-libdispatch/pull/534 is merged
git clone -q -b system-blocksruntime https://github.com/ngrewe/swift-corelibs-libdispatch.git libdispatch
git clone -q https://github.com/swiftlang/swift-corelibs-libdispatch.git libdispatch
mkdir libdispatch/build
cd libdispatch/build
# -Wno-error=void-pointer-to-int-cast to work around build error in queue.c due to -Werror
Expand Down
6 changes: 5 additions & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,10 @@ env:
libcurl4-gnutls-dev
libgmp-dev
libcairo2-dev
libjpeg-dev
libtiff-dev
libpng-dev
libicns-dev
# packages for GCC Objective-C runtime
APT_PACKAGES_gcc: >-
Expand Down Expand Up @@ -129,7 +133,7 @@ jobs:
make check
- name: Upload logs
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: always()
with:
name: Logs - ${{ matrix.name }}
Expand Down
54 changes: 45 additions & 9 deletions ANNOUNCE
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
1 Announcement
**************

This is version 0.31.1 of the GNUstep GUI library ('gnustep-gui').
This is version 0.32.0 of the GNUstep GUI library (gnustep-gui).

1.1 What is the GNUstep GUI Library?
====================================
Expand Down Expand Up @@ -32,25 +32,61 @@ 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.31.1'
1.2 Noteworthy changes in version ‘0.32.0’
==========================================

This is a bugfix release

* Fix bug decoding menu items (breaking archive)
* Remove use of deprecated lock from base library
This version adds binding support for NSBrowser, NSOutlineView and
NSTableView. Plus the usual bunch of bug fixes.

• Add support for bindings in NSBrowser.
• Return top level object when loading .gorm files.
• Add bindings support to NSOutlineView,
• Add support for 10.6 item-based delegate methods to NSBrowser.
• Add NSMenuToolbarItem.
• Add view based rendering to NSTableView and NSOutlineView.
• Add code to NSTreeController.
• Fix display of icons if the home is a symlink.
• Make some ivars in NSView protected instead of package scoped.
• Fix CI pipeline.
• Revert _updateFieldEditor: on NSTextFieldCell.
• GSTheme bug fix by Tom Sheffler <[email protected]>.
• Fix memory leaks in test code.
• Don't load nil filename in NSImageRep.
• Prevent flickering in NSClipView.
• Simplify ICU configuration.
• Move GSColorSliderCell into gui itself.
• Bugfix for NSMenuView.
• Fix single colum handling in NSCollectionView.
• Additional GSTheme method(s) for NSTabView.
• Modify NSComboBox to handle attributed strings.
• NSTextFieldCell: Decode placeholder string.
• Make white default selection highlight color for NSTableView.
• Implement showsresizeindicator.
• NSApplication: toggle menu item "Hide" title and action on user
click.
• Add NSCellHitResult typedef, introduced in OSX 10.10.
• Make menu visiblity themable.
• Fix decoding alternateContents in NSButtonCell.
• Font Panel autosizing fix.
• Implement integerValue method in NSSliderCell.
• NSBox: use macro to decode NSInteger into enum.
• Fall back to pkgconfig for resolving libtiff.
• GSMemoryPanel: Only call GSDebug* in debug mode.
• Add APPKIT_EXPORT_CLASS, APPKIT_EXPORT annotations for some GS*
classes.
• Push modal window to top later in process.

1.3 Where can you get it? How can you compile it?
=================================================

The gnustep-gui-0.31.1.tar.gz distribution file has been placed at
The gnustep-gui-0.32.0.tar.gz distribution file has been placed at
<ftp://ftp.gnustep.org/pub/gnustep/core>.

It is accompanied by gnustep-gui-0.31.1.tar.gz.sig, a PGP signature
It is accompanied by gnustep-gui-0.32.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.31.1.tar.gz.sig
gpg --verify gnustep-gui-0.32.0.tar.gz.sig

Signature has been created using the key with the following
fingerprint:
Expand Down
12 changes: 6 additions & 6 deletions BUGS
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@
The following classes are currently unimplemented or unfinished to such
a degree to be unusable.

* NSFontDescriptor
* NSColorSpace
* NSSearchField and NSSearchFieldCell
NSFontDescriptor
NSColorSpace
NSSearchField and NSSearchFieldCell

Classes that need work (well every class needs work!)

* NSTableView and NSOutlineView
* NSProgressIndicator
* All the Text classes
NSTableView and NSOutlineView
NSProgressIndicator
All the Text classes
60 changes: 59 additions & 1 deletion ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,61 @@
2025-02-11 Richard Frith-Macdonald <[email protected]>

* ANNOUNCE:
* BUGS:
* INSTALL:
* NEWS:
* Source/DocMakefile:
* Version:
Updates for 0.32.0 release

2024-11-08 Gregory John Casamento <[email protected]>

* Headers/AppKit/NSBrowser.h: Add dictionary to hold relationships.
* Source/NSBrowser.m: Add logic in methods to support bindings,
expose bindings in +initialize.
* Source/NSTextFieldCell.m: Minor fix to NSTextField for displaying
binding values.

2024-10-31 Richard Frith-Macdonald <[email protected]>

* Source/GSServicesManager.m: fix -laterDate: conditionals to be true
only when file date has been updated (returned value != receiver).

2024-10-29 Fred Kiefer <[email protected]>

* Headers/AppKit/NSLayoutAnchor.h: Add missing include that is required after a change in base.
* Source/NSTableView.m: Forward declare new methods.

2024-08-29 Gregory John Casamento <[email protected]>

* Source/NSBundleAdditions.m: Quick fix for .gorm loading
not returning top level objects.

2024-08-18 Gregory John Casamento <[email protected]>

* Headers/AppKit/NSTreeController.h: Update header
* Headers/AppKit/NSTreeNode.h: Update header
* Source/GNUmakefile: Add new class
* Source/GSBindingHelpers.h: Add NSString category
* Source/GSControllerTreeProxy.[hm]: Proxy class
for NSTreeController, a subclass of NSTreeNode.
* Source/GSThemeDrawing.m: Optimize code a bit and
add changes for bindings.
* Source/GSXib5KeyedUnarchiver.m: Add support for new keys
on NSTreeController.
* Source/NSKeyValueBinding.m: Add new methods to
GSKeyValueBinding
* Source/NSOutlineView.m: Add support for bindings.
* Source/NSTreeController.m: Implement new methods.
* Source/NSTreeNode.m: Implement new methods

2024-07-25 Gregory John Casamento <[email protected]>

* Headers/AppKit/NSBrowser.h: Add declarations for
10.6 delegate methods for item-based browsers.
* Source/NSBrowser.m: Add support for 10.6 item-based
delegate methods.

2024-06-28 Gregory John Casamento <[email protected]>

* Headers/AppKit/AppKit.h: Add NSMenuToolbarItem.h
Expand All @@ -9,7 +67,7 @@
* Source/GNUmakefile: Add class to build
* Source/NSMenuToolbarItem.m: Implementation of
NSMenuToolbarItem.

2024-06-07 Gregory John Casamento <[email protected]>

* Headers/Additions/GNUstepGUI/GSTheme.h: Add new methods
Expand Down
7 changes: 3 additions & 4 deletions ColorPickers/GNUmakefile
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ BUNDLE_NAME = StandardPicker NamedPicker WheelPicker

BUNDLE_INSTALL_DIR = $(GNUSTEP_LIBRARY)/ColorPickers

ADDITIONAL_INCLUDE_DIRS += -I../Headers/Additions -I../Headers
ADDITIONAL_INCLUDE_DIRS += -I../Headers/Additions -I../Headers -I../Source

ADDITIONAL_LIB_DIRS += -L../Source/$(GNUSTEP_OBJ_DIR) -L../Models/$(GNUSTEP_OBJ_DIR)

Expand All @@ -43,10 +43,9 @@ StandardPicker_OBJC_FILES = GSStandardColorPicker.m \
GSRGBColorPicker.m \
GSCMYKColorPicker.m \
GSHSBColorPicker.m \
GSGrayColorPicker.m \
GSColorSliderCell.m
GSGrayColorPicker.m
NamedPicker_OBJC_FILES = GSNamedColorPicker.m
WheelPicker_OBJC_FILES = GSWheelColorPicker.m GSColorSliderCell.m
WheelPicker_OBJC_FILES = GSWheelColorPicker.m

# The class to load
StandardPicker_PRINCIPAL_CLASS = GSStandardColorPicker
Expand Down
47 changes: 45 additions & 2 deletions Documentation/news.texi
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,51 @@
The currently released version of the library is @samp{@value{GNUSTEP-GUI-VERSION}}.
@end ifclear

@section Noteworthy changes in version @samp{0.32.0}

This version adds binding support for NSBrowser, NSOutlineView and NSTableView.
Plus the usual bunch of bug fixes.

@itemize @bullet
@item Add support for bindings in NSBrowser.
@item Return top level object when loading .gorm files.
@item Add bindings support to NSOutlineView,
@item Add support for 10.6 item-based delegate methods to NSBrowser.
@item Add NSMenuToolbarItem.
@item Add view based rendering to NSTableView and NSOutlineView.
@item Add code to NSTreeController.
@item Fix display of icons if the home is a symlink.
@item Make some ivars in NSView protected instead of package scoped.
@item Fix CI pipeline.
@item Revert _updateFieldEditor: on NSTextFieldCell.
@item GSTheme bug fix by Tom Sheffler <tom.sheffler@@gmail.com>.
@item Fix memory leaks in test code.
@item Don't load nil filename in NSImageRep.
@item Prevent flickering in NSClipView.
@item Simplify ICU configuration.
@item Move GSColorSliderCell into gui itself.
@item Bugfix for NSMenuView.
@item Fix single colum handling in NSCollectionView.
@item Additional GSTheme method(s) for NSTabView.
@item Modify NSComboBox to handle attributed strings.
@item NSTextFieldCell: Decode placeholder string.
@item Make white default selection highlight color for NSTableView.
@item Implement showsresizeindicator.
@item NSApplication: toggle menu item "Hide" title and action on user click.
@item Add NSCellHitResult typedef, introduced in OSX 10.10.
@item Make menu visiblity themable.
@item Fix decoding alternateContents in NSButtonCell.
@item Font Panel autosizing fix.
@item Implement integerValue method in NSSliderCell.
@item NSBox: use macro to decode NSInteger into enum.
@item Fall back to pkgconfig for resolving libtiff.
@item GSMemoryPanel: Only call GSDebug* in debug mode.
@item Add APPKIT_EXPORT_CLASS, APPKIT_EXPORT annotations for some GS* classes.
@item Push modal window to top later in process.
@end itemize

@ifclear ANNOUNCE-ONLY

@section Noteworthy changes in version @samp{0.31.1}

This is a bugfix release
Expand All @@ -18,8 +63,6 @@ This is a bugfix release
@item Remove use of deprecated lock from base library
@end itemize

@ifclear ANNOUNCE-ONLY

@section Noteworthy changes in version @samp{0.31.0}

This version adds view based cell support for NSTableView and NSOutlineView.
Expand Down
1 change: 1 addition & 0 deletions Headers/Additions/GNUstepGUI/GSHbox.h
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,7 @@
</unit>
*/
APPKIT_EXPORT_CLASS
@interface GSHbox: GSTable
{
BOOL _haveViews;
Expand Down
2 changes: 1 addition & 1 deletion Headers/Additions/GNUstepGUI/GSPrintOperation.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
@class NSView;
@class NSPrintInfo;


APPKIT_EXPORT_CLASS
@interface GSPrintOperation: NSPrintOperation
{
}
Expand Down
1 change: 1 addition & 0 deletions Headers/Additions/GNUstepGUI/GSTable.h
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,7 @@
</section>
</unit>
*/
APPKIT_EXPORT_CLASS
@interface GSTable: NSView
{
int _numberOfRows;
Expand Down
12 changes: 12 additions & 0 deletions Headers/Additions/GNUstepGUI/GSTheme.h
Original file line number Diff line number Diff line change
Expand Up @@ -1265,6 +1265,8 @@ APPKIT_EXPORT_CLASS
- (NSRect) browserHeaderDrawingRectForCell: (NSTableHeaderCell*)cell
withFrame: (NSRect)rect;

- (CGFloat) tabHeightForType: (NSTabViewType)type;

- (NSRect) tabViewContentRectForBounds: (NSRect)aRect
tabViewType: (NSTabViewType)type
tabView: (NSTabView *)view;
Expand All @@ -1275,6 +1277,10 @@ APPKIT_EXPORT_CLASS
- (NSRect) tabViewBackgroundRectForBounds: (NSRect)aRect
tabViewType: (NSTabViewType)type;

- (void) drawTabViewBezelRect: (NSRect)aRect
tabViewType: (NSTabViewType)type
inView: (NSView *)view;

- (void) drawTabViewRect: (NSRect)rect
inView: (NSView *)view
withItems: (NSArray *)items
Expand Down Expand Up @@ -1569,6 +1575,12 @@ withRepeatedImage: (NSImage*)image
- (void) organizeMenu: (NSMenu *)menu
isHorizontal: (BOOL)horizontal;

/**
* Used by the theme to override the proposed menu visibility. The default
* implementation simply returns the proposed visibility unmodified.
*/
- (BOOL) proposedVisibility: (BOOL)visible
forMenu: (NSMenu *) menu;
@end

@interface GSTheme (OpenSavePanels)
Expand Down
2 changes: 1 addition & 1 deletion Headers/AppKit/DPSOperators.h
Original file line number Diff line number Diff line change
Expand Up @@ -591,7 +591,6 @@ name(GSCTXT *ctxt, type1 var1, type2 var2, type3 var3, type4 var4, type5 var5, t
(ctxt, @selector(name: : : : : : : :), var1, var2, var3, var4, var5, var6, var7, var8); \
}
#endif // _MSVC_VER
/** </ignore> */

/* ----------------------------------------------------------------------- */
/* Color operations */
Expand Down Expand Up @@ -819,6 +818,7 @@ DPS_METHOD_8(DPSdissolve, CGFloat, x, CGFloat, y, CGFloat, w, CGFloat, h, NSInte

DPS_METHOD_2(GSDrawImage, NSRect, rect, void *, imageref)

/** </ignore> */

/* ----------------------------------------------------------------------- */
/* Postscript Client functions */
Expand Down
Loading

0 comments on commit d308222

Please sign in to comment.