Add user interface compression

This commit is contained in:
Gregory John Casamento 2020-04-14 11:54:02 -04:00
parent 3d1da7a0b3
commit e4fb12cae5
5 changed files with 183 additions and 5 deletions

View file

@ -25,15 +25,31 @@
#ifndef _NSSharingServicePickerToolbarItem_h_GNUSTEP_GUI_INCLUDE
#define _NSSharingServicePickerToolbarItem_h_GNUSTEP_GUI_INCLUDE
#import <Foundation/NSObject.h>
#import "AppKit/NSToolbarItem.h"
#if OS_API_VERSION(MAC_OS_X_VERSION_10_0, GS_API_LATEST)
#if OS_API_VERSION(MAC_OS_X_VERSION_10_15, GS_API_LATEST)
#if defined(__cplusplus)
extern "C" {
#endif
@interface NSSharingServicePickerToolbarItem : NSObject
@protocol NSSharingServicePickerToolbarItemDelegate;
@interface NSSharingServicePickerToolbarItem : NSToolbarItem
- (id) activityItemsConfiguration;
- (void) setActivityItemsConfiguration: (id)items;
- (id<NSSharingServicePickerToolbarItemDelegate>) delegate;
- (void) setDelegate: (id<NSSharingServicePickerToolbarItemDelegate>) delegate;
@end
@protocol NSSharingServicePickerToolbarItemDelegate
- (NSArray *) itemsForSharingServicePickerToolbarItem: (NSSharingServicePickerToolbarItem *)items;
@end

View file

@ -27,16 +27,51 @@
#import <Foundation/NSObject.h>
#if OS_API_VERSION(MAC_OS_X_VERSION_10_0, GS_API_LATEST)
#if OS_API_VERSION(MAC_OS_X_VERSION_10_13, GS_API_LATEST)
#if defined(__cplusplus)
extern "C" {
#endif
@protocol NSUserInterfaceCompression
@interface NSUserInterfaceCompressionOptions : NSObject <NSCopying, NSCoding>
- (instancetype) initWithIdentifier: (NSString *)identifier;
- (instancetype) initWithCompressionOptions: (NSSet *)opts;
- (BOOL) containsOptions: (NSUserInterfaceCompressionOptions *)opts;
- (BOOL) intersectsOptions: (NSUserInterfaceCompressionOptions *)opts;
- (BOOL) isEmpty;
- (NSUserInterfaceCompressionOptions *) optionsByAddingOptions: (NSUserInterfaceCompressionOptions *)opts;
- (NSUserInterfaceCompressionOptions *) optionsByRemovingOptions: (NSUserInterfaceCompressionOptions *)opts;
+ (NSUserInterfaceCompressionOptions *) hideImagesOption;
+ (NSUserInterfaceCompressionOptions *) hideTextOption;
+ (NSUserInterfaceCompressionOptions *) reduceMetricsOption;
+ (NSUserInterfaceCompressionOptions *) breakEqualWidthsOption;
+ (NSUserInterfaceCompressionOptions *) standardOptions;
@end
@protocol NSUserInterfaceCompression
- (void) compressWithPrioritizedCompressionOptions: (NSArray *)prioritizedOptions;
- (NSSize) minimumSizeWithPrioritizedCompressionOptions: (NSArray *)prioritizedOptions;
- (NSUserInterfaceCompressionOptions *) activeCompressionOptions;
@end
#if defined(__cplusplus)
}
#endif

View file

@ -261,6 +261,7 @@ NSTrackingArea.m \
NSTreeController.m \
NSTreeNode.m \
NSUserDefaultsController.m \
NSUserInterfaceCompression.m \
NSView.m \
NSViewController.m \
NSVisualEffectView.m \

View file

@ -26,5 +26,23 @@
@implementation NSSharingServicePickerToolbarItem
- (id) activityItemsConfiguration
{
return nil;
}
- (void) setActivityItemsConfiguration: (id)items
{
}
- (id<NSSharingServicePickerToolbarItemDelegate>) delegate
{
return nil;
}
- (void) setDelegate: (id<NSSharingServicePickerToolbarItemDelegate>) delegate
{
}
@end

View file

@ -0,0 +1,108 @@
/* Implementation of class NSSharingServicePickerToolbarItem
Copyright (C) 2019 Free Software Foundation, Inc.
By: Gregory John Casamento
Date: Tue Apr 7 08:11:46 EDT 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.
*/
#import <Foundation/NSObject.h>
#import <Foundation/NSCoder.h>
#import "AppKit/NSUserInterfaceCompression.h"
@implementation NSUserInterfaceCompressionOptions
- (instancetype) initWithIdentifier: (NSString *)identifier
{
return nil;
}
- (instancetype) initWithCompressionOptions: (NSSet *)opts
{
return nil;
}
- (BOOL) containsOptions: (NSUserInterfaceCompressionOptions *)opts
{
return NO;
}
- (BOOL) intersectsOptions: (NSUserInterfaceCompressionOptions *)opts
{
return NO;
}
- (BOOL) isEmpty
{
return NO;
}
- (NSUserInterfaceCompressionOptions *) optionsByAddingOptions: (NSUserInterfaceCompressionOptions *)opts
{
return nil;
}
- (NSUserInterfaceCompressionOptions *) optionsByRemovingOptions: (NSUserInterfaceCompressionOptions *)opts
{
return nil;
}
+ (NSUserInterfaceCompressionOptions *) hideImagesOption
{
return nil;
}
+ (NSUserInterfaceCompressionOptions *) hideTextOption
{
return nil;
}
+ (NSUserInterfaceCompressionOptions *) reduceMetricsOption
{
return nil;
}
+ (NSUserInterfaceCompressionOptions *) breakEqualWidthsOption
{
return nil;
}
+ (NSUserInterfaceCompressionOptions *) standardOptions
{
return nil;
}
- (void) encodeWithCoder: (NSCoder *)coder
{
}
- (id) initWithCoder: (NSCoder *)coder
{
self = [super init];
return self;
}
- (id) copyWithZone: (NSZone *)z
{
return self;
}
@end