Commit graph

5774 commits

Author SHA1 Message Date
Ivan Vučica
280c3e0095 Clean up -[NSImage initWithCoder:], reduce amount of releases of self.
Some context available in PR #12 and  PR #13.
2017-12-07 19:07:43 +00:00
fredkiefer
7270f8efc7 Add new backingScaleFactor method on NSScreen. 2017-12-03 22:02:06 +01:00
Ivan Vučica
350ba62d7d
Cleanup: Replace tabs with spaces in NSImage.m. 2017-10-29 14:25:47 +00:00
Graham Lee
aff13d41bb correct decoding of named images from keyed archivers
As @tedge noted on the original pull request for this work, I didn't return the correct object in the keyed archiver case.
2017-10-29 14:23:35 +00:00
Graham Lee
2c34ae8fe5 revert spurious whitespace change 2017-10-28 08:48:36 +01:00
Graham Lee
5e3ed6dff7 If an unknown named image is unarchived, keep the name 2017-10-28 08:45:05 +01:00
fredkiefer
e3d51643ca Protect against [window screen] returning nil. 2017-10-05 23:05:28 +02:00
fredkiefer
3ac7a369c5 * Source/NSStepperCell.m (-trackMouse:...untilMouseUp:): Adjust
to changes in super class.
2017-08-31 23:57:41 +02:00
fredkiefer
c72d2df3ff * Source/NSButtonCell.m (-setButtonType:): Warn about unsupported
button types.
* Source/NSCell.m (-performClickWithFrame:inView:): Highlight the
cell only if drawing is possible.
2017-08-27 11:23:43 +02:00
fredkiefer
e853f4fdbf Rewrote mouse tracking logic to be closer to the Cocoa definition. 2017-08-27 11:13:17 +02:00
Daniel Ferreira
3a1bec5d1f Externs: add private string attribute definitions
Define some private NSAttributedString attribute name definitions. Their
functionality is not yet implemented.
2017-08-27 01:42:00 +01:00
Daniel Ferreira
471a81ddb8 NSSpellChecker: implement stub for +isAutomaticQuoteSubstitutionEnabled
Implement stub for +[NSSpellChecker isAutomaticQuoteSubstitutionEnabled]
for compatibility purposes.
2017-08-27 01:42:00 +01:00
Daniel Ferreira
39d9105d35 NSSpellChecker: implement stub for +isAutomaticDashSubstitutionEnabled
Implement stub for +[NSSpellChecker isAutomaticDashSubstitutionEnabled]
for compatibility purposes.
2017-08-27 01:42:00 +01:00
Daniel Ferreira
9e8ef84b54 NSGestureRecognizer: implement stub for -locationInView:
Implement stub for -[NSGestureRecognizer locationInView:] for
compatibility purposes.
2017-08-27 01:42:00 +01:00
Daniel Ferreira
3e9cdce801 NSWindow: add stub for +windowNumberAtPoint:belowWindowWithWindowNumber:
Add stub for +[NSWindow windowNumberAtPoint:belowWindowWithWindowNumber:]
for compatibility purposes.
2017-08-27 01:42:00 +01:00
Daniel Ferreira
10d0dce115 NSSpellChecker: add stub for -checkGrammarOfString:...
Add a stub for the -checkGrammarOfString:... method for compatibility
purposes.
2017-08-27 01:42:00 +01:00
Daniel Ferreira
677572bef1 NSSpellChecker: add stub for +isAutomaticTextReplacementEnabled
Add stub for +[NSSpellChecker isAutomaticTextReplacementEnabled] for
compatibility purposes.
2017-08-27 01:42:00 +01:00
Daniel Ferreira
9ce55e08ca NSSpellChecker: add missing definitions
Add definitions for the NSCorrectionResponse enum for increased
compatibility, as well as some spell checking notification constants.
2017-08-27 01:42:00 +01:00
Daniel Ferreira
4f4db46c87 NSWindow: add stub for -backingScaleFactor
Add stub for -[NSWindow backingScaleFactor] for compatibility purposes.
2017-08-27 01:42:00 +01:00
Daniel Ferreira
07d0f2002f NS{Application,Window}: define modal constants
Define constants and stubs related to modal sheets in GUI for increased
compatibility.
2017-08-27 01:42:00 +01:00
Daniel Ferreira
5e8b278e93 NSFont: define font weight constants
Define font weight constants introduced in macOS 10.11.
2017-08-27 01:42:00 +01:00
Daniel Ferreira
5a66de7139 Externs: export the _NXSmartPaste constant
Export the private _NXSmartPaste constant for compatibility purposes.
2017-08-27 01:42:00 +01:00
Daniel Ferreira
1560978a60 NSAttributedString: add private attribute stub
Add a stub for NSTextInsertionUndoableAttributeName, a private
NSAttributedString attribute.
2017-08-27 01:42:00 +01:00
Riccardo Mottola
78be5ef0ea Initialize density to 0, so that in case it is unset (72dpi) it is not a random value in case the struct is not zeroed 2017-08-25 14:20:58 +02:00
fredkiefer
b713d0c023 Clean up NSPasteboardItem files. 2017-07-31 23:21:59 +02:00
Daniel Ferreira
257017c65f NSGraphicsContext: create -CGContext methods
Create methods which allow a graphics context to be created with a
CGContext as an equivalent to a graphics port. The context set through
this property will be used in gnustep-back.
2017-07-31 11:41:11 +01:00
Ivan Vučica
1cb15c2735 Remove RETAIN() when returning -[NSPasteboardItem types].
Objective-C memory management policy specifies that methods named with
alloc, new, copy and mutableCopy are the ones that return objects with
refcount 1.

Additionally, `@property (..., copy, ...)` only modifies the setter; the getter
still returns the object as-is. While it should be correct to create
a new immutable object every time, we should not create an object
with refcount 1, but an autoreleased object.
2017-07-31 11:36:15 +01:00
Ivan Vučica
4026fbc2be Add _startingItemNumber-related TODOs to NSTextList. 2017-07-31 11:26:43 +01:00
Daniel Ferreira
6d4302cd97 NSTextList: create startingItemNumber property
Add the `startingItemNumber` property to NSTextList introduced in macOS
10.6.
2017-07-31 11:22:59 +01:00
Daniel Ferreira
5403e47b60 NSPasteboardItem: create base implementation
Implement the NSPasteboardItem class. For now, it remains relatively
useless since NSPasteboard does not yet know how to use it. However, it
should be pluggable into NSPasteboard once NSPasteboard learns about
NSPasteboardReading and NSPasteboardWriting.
2017-07-31 11:22:59 +01:00
Daniel Ferreira
ac26b6725b NSTextAlternatives: implement text alternatives class
Implement NSTextAlternatives, a class usually used for choosing
alternatives from a basic string usually for dictation purposes.
2017-07-31 11:22:59 +01:00
Daniel Ferreira
fcb11edca8 NSScroller: define scroller styles
As of macOS 10.7, scrollers gained two types: Legacy and Overlay. Here,
we define these styles as well as a method to determine which is the
"default" style to be used.
2017-07-31 11:22:59 +01:00
fredkiefer
e85a1a0664 * Source/NSMenuView.m (-attachSubmenuForItemAtIndex:): We should
not use [NSMenu display] for NSWindows95InterfaceStyle as there we
	have two NSMenuViews for the NSMenu.
2017-07-28 19:24:45 +02:00
Riccardo Mottola
5627b69f1a Do not initialize a string constant with another string constant or it breaks GCC build as is. Better proposals to ensure the exact same string pointer is used welcome. 2017-07-26 14:23:00 +02:00
Daniel Ferreira
fbdea829c0 NSAttributedString: define writing direction attribute
Define an (unimplemented) NSAttributedString attribute for Unicode
writing direction.
2017-07-25 22:33:12 +01:00
Daniel Ferreira
b29d85f451 NSAttributedString: define NSTextAlternatives attribute
Define an (unimplemented) NSAttributedString attribute for an
NSTextAlternatives object.
2017-07-25 22:33:12 +01:00
Daniel Ferreira
758d524547 NS{Cell,View}: implement stubs for layout direction handling
Implement stubs for the layout direction properties in NSCell and
NSView. Currently, they default to left-to-right layouting.
2017-07-25 22:33:12 +01:00
Daniel Ferreira
05c58fe023 NSAccessibility: declare base Accessibility APIs
Declare base NSAccessibility functions and constants, which have been
implemented as stubs.

In the near future, we could begin supporting some NSAccessibility
informal protocol features (for instance, elements ignored in the
accessible view hierarchy). However, for even considering thorough
accessibility support we would require, at least:

* A proper implementation of the AX* API in gnustep-boron;
* Design integration with screen reading software and other components
for an accessible graphic environment.

which are most certainly long-term tasks.
2017-07-25 22:33:12 +01:00
Daniel Ferreira
e9b0367207 NSControl: create stub for -sizeThatFits:
Create a stub for the -[NSControl sizeThatFits:] function.
2017-07-25 22:33:12 +01:00
Daniel Ferreira
16b0299916 NSVisualEffectView: create class stub
Create stub for the NSVisualEffectView class.
2017-07-25 22:33:12 +01:00
Daniel Ferreira
62ec654335 NSScrollView: create stubs for inset properties
Create stubs for the content/scroller inset properties in NSScrollView.
2017-07-25 22:33:12 +01:00
Daniel Ferreira
ecb4178417 NSGestureRecognizer: create stub for class
Create stub for the NSGestureRecognizer class.
2017-07-25 22:33:12 +01:00
Daniel Ferreira
f1abcb313a NSSpeechSynthesizer: define new constants
Define new constants in NSSpeechSynthesizer. These are not yet handled
by the implementation.
2017-07-25 22:33:12 +01:00
Daniel Ferreira
75dd71b149 NSRunningApplication: create stub for class
Create a stub for the NSRunningApplication class.
2017-07-25 22:33:12 +01:00
Daniel Ferreira
819c459f6f NSUserInterfaceLayout: create interface layout constants
Define interface layout enums to be used by AppKit. This improves
compatibility with the reference platform.
2017-07-25 22:33:12 +01:00
Daniel Ferreira
3d88922f45 NSUserInterfaceItemIdentification: introduce protocol
Introduce the NSUserInterfaceItemIdentification protocol, which required
an user interface class provide an unique identifier.
2017-07-25 22:33:12 +01:00
Daniel Ferreira
4769fc8edd NSSharingService: define class
Define the NSSharingService class as an unimplemented stub for
compatibility purposes.
2017-07-25 22:33:12 +01:00
Daniel Ferreira
bb6805742d NSView: define layer-related properties
Define layer-related properties in NSView for compatibility purposes,
and keep their getters and setters as stubs, since they will not have
any effect before NSView-CALayer integration is implemented.
2017-07-25 22:33:12 +01:00
Daniel Ferreira
9e80b07531 NSPasteboard: define new constants
Define new constants for NSPasteboard type identifiers. Most of them are
aliases to the old "Pboard"-style types, although some new ones are not
fully implemented:

* NSPasteboardTypePNG
* NSPasteboardTypeSound
* NSPasteboardTypeMultipleTextSelection
* NSPasteboardTypeTextFinderOptions
2017-07-25 22:33:12 +01:00
fredkiefer
fd6e7f2e42 Fix small bug found by compiler. 2017-07-22 20:44:45 +02:00