Commit graph

6756 commits

Author SHA1 Message Date
Gregory John Casamento
a90ddfc9c5 Add changes for Xib reading and some minor cleanup for NSCollectionView 2023-01-30 10:48:02 -05:00
Gregory John Casamento
8572458a5d Add methods and actions for layout classes as well as the abstract classes for NSCollectionViewLayout.
Declarations added to collectionview layout header.

Clean compile for NSCollectionViewLayout abstract class

Add header for NSCollectionViewFlowLayout.h

Add skeleton implementation of NSCollectionViewFlowLayout

Add implementation for simple setter/getter methods.

Correct compilation error with non-clang compilers

Fix compilation issues

Add getter/setter for collectionViewLayout

Skeleton of NSCollectionViewTransitionLayout implementation

Add encoding/decoding for collectionViewLayout key

Make NSCollectionViewGridLayout default if the NSCollectionViewLayoutKey is not set

Add protocols for DataSource and Prefetching for NSCollectionView

Add 10.11 methods to delegate declaration

remove templating from NSCollectionViewDelegate that gcc can't handle.

New delegate methods for NSCollectionViewDelegate to support NSSets of NSIndexPaths and multiple selection.

Reset .travis.yml to the proper version and modify NSCollectionView.h to use forward declarations for both NSPasteboard and NSPasteboardWriting so that we don't explicitly import.

Add declarations for missing methods from 10.11 version of NSCollectionView

Add new methods for 10.11 for moving, deleting and collapsing sections.

Add new methods from 10.11

Add the remaining missing methods as well as delcarations for blocks needed for batch handler and completion handler.

Add skeleton implementations for all new methods

Changes to add new methods to collection view for delegate

Consolidate the registeredClass and registeredNib maps.

Implementation of dataSource related methods

Implment nib loading for NSCollectionViewItem subclasses

Remove uneeded ivars, add categories for override and layout

Minor formatting change

Update categories and organization of code

Add init method to NSCollectionViewFlowLayoutInvalidationContext

Add collectionview layout subclasses

Declarations added to collectionview layout header.

Clean compile for NSCollectionViewLayout abstract class

Add skeleton implementation of NSCollectionViewFlowLayout

Add implementation for simple setter/getter methods.

Correct compilation error with non-clang compilers

Fix compilation issues

Add getter/setter for collectionViewLayout

Add encoding/decoding for collectionViewLayout key

Make NSCollectionViewGridLayout default if the NSCollectionViewLayoutKey is not set

Add protocols for DataSource and Prefetching for NSCollectionView

New delegate methods for NSCollectionViewDelegate to support NSSets of NSIndexPaths and multiple selection.

Reset .travis.yml to the proper version and modify NSCollectionView.h to use forward declarations for both NSPasteboard and NSPasteboardWriting so that we don't explicitly import.

Add declarations for missing methods from 10.11 version of NSCollectionView

Add new methods for 10.11 for moving, deleting and collapsing sections.

Add new methods from 10.11

Changes to add new methods to collection view for delegate

Consolidate the registeredClass and registeredNib maps.

Add init method to NSCollectionViewFlowLayoutInvalidationContext

Fix issues with rebase
2023-01-30 10:48:02 -05:00
Gregory John Casamento
aee03ee7c4 Add collectionview layout subclasses 2023-01-30 10:48:02 -05:00
Gregory John Casamento
b803d348fb Set size to size of the view that was added as the content view 2023-01-14 03:34:04 -05:00
Gregory John Casamento
e87e48a4b2 Add spaces 2023-01-12 18:40:27 -05:00
Gregory John Casamento
0f650158a8 Attempt to capture what @fredkiefer had suggested and fix issue mentioned by @rmotolla 2023-01-12 18:40:27 -05:00
Gregory John Casamento
b12d151163 Implement it the way @fredkiefer suggested. Check which side has more room. 2023-01-12 18:40:27 -05:00
Gregory John Casamento
d649b99418 Minor positional adjustment 2023-01-12 18:40:27 -05:00
Gregory John Casamento
5a71c1c944 Fix issues raised by fred's comments 2023-01-12 18:40:27 -05:00
Gregory John Casamento
b434708d5e Fix issue where drawer opens for a moment on the preferredEdge instead of the computed one 2023-01-12 18:40:27 -05:00
Gregory John Casamento
3f1e8af9c4 Open on side away from the edge of the screen if there is not enough room 2023-01-12 18:40:27 -05:00
Richard Frith-Macdonald
3477b3f1d9 Fix potential call of null block 2022-12-29 09:01:33 +00:00
Fred Kiefer
8ccc89b83d
Merge pull request #161 from BennyKJohnson/constraint-vfl-support
Implement constraintsWithVisualFormat method on NSLayoutConstraint
2022-11-24 22:52:34 +01:00
Benjamin Johnson
a1c2115bc3 Fix GCC compiler warnings for GSAutoLayoutVFLParser.m 2022-11-22 08:21:05 +11:00
Benjamin Johnson
44f8950e3b Address for feedback for GSAutoLayoutVFLParser
- Move assertion for empty string to parse method
- Add missing spaces between colon and parameter
- Use GSFastEnumeration macro
- Modify parseObjectOfPredicate to use in out parameter of struct and remove heap allocation
2022-11-13 06:15:02 +11:00
Benjamin Johnson
609d03ac41 Address feedback on GSAutoLayoutVFLParser
- Add space between parameter name and parameter
- Use release macro in constraintsWithVisualFormat
2022-11-12 12:09:29 +11:00
Benjamin Johnson
13123a054e Fix formatting of GSAutoLayoutVFLParser and add copyright notice 2022-11-11 05:55:02 +11:00
Fred Kiefer
e4ecfb0801 * Headers/Additions/GNUstepGUI/GSLayoutManager.h,
* Source/GSLayoutManager.m: Add new methods
-defaultLineHeightForFont: and -defaultBaselineOffsetForFont:.
2022-11-05 21:01:53 +01:00
Benjamin Johnson
1aff56cb9b Implement constraintsWithVisualFormat method on NSLayoutConstraint 2022-11-05 20:33:23 +11:00
Fred Kiefer
59558a519d
Merge pull request #160 from gnustep/AttachmentIndexFix
Fix click on TextAttachmentCells, where the left side was not respected.
2022-10-25 23:06:47 +02:00
Riccardo Mottola
85155fd64f Fix click on TextAttachmentCells, where the left side was not respected.
This was because index was respecting fraction and thus loosing the attachment when clicking on the right part, only for this case, recalculate character index without respectFraction.
2022-10-11 23:26:51 +02:00
Gregory John Casamento
92d27c494f Add defines for export of classes to DLL when building on WIndows 2022-09-29 12:09:13 -04:00
Gregory John Casamento
0633f214c5 Remove unneeded import 2022-09-01 15:39:45 -04:00
Gregory John Casamento
a2b57fd1f3 Move logic to detect if it's a radio button to NSButtonCell, also simplify logic to flip the button state and prevent switch to off if button is currently on and is a radio button. This is consistent with 10.7+ behavior 2022-09-01 09:22:45 -04:00
Gregory John Casamento
3558247662 Move the call to a more centralized method so that it will be called in all cases without repeating code. 2022-08-28 05:22:16 -04:00
Gregory John Casamento
fdba6d2be6 Fixes as discussed with @fredkiefer 2022-08-27 10:09:56 -04:00
Gregory John Casamento
a9ca806c2b Changes to address issue #151. This should correct behavior of NSRadio buttons in GS and should implement the behavior seen in 10.7+ 2022-08-27 03:46:12 -04:00
Sebastian Reitenbach
857c173d03 Don't misuse libgnustep-gui_INTERFACE_VERSION to define Resource Install paths
$(GNUSTEP_INSTANCE)_INTERFACE_VERSION is used in gnustep-make to define
the version of the shared object.

As a packager, there might be various reasons to
override the $(GNUSTEP_INSTANCE)_INTERFACE_VERSION
in order to control the library version.

So I do for gnustep-gui on OpenBSD packages. The problem here is, that
the libgnustep-gui_INTERFACE_VERSION is additionally used to specify the path
where resources like Panels, Localizations etc. get installed, however,
in Source/NSApplication.m, the use of
GNUSTEP_GUI_MAJOR_VERSION.GNUSTEP_GUI_MINOR_VERSION

As long as the libgnustep-gui_INTERFACE_VERSION is not overridden with
some other value, everything is fine. However, as in my case, Applications
aren't able to find the Panels/Translations provided by -gui anymore.

Decided to just remove the definition of libgnustep-gui_INTERFACE_VERSION
in these three Makefiles, as it was only used once, and used the
GNUSTEP_GUI_MAJOR_VERSION.GNUSTEP_GUI_MINOR_VERSION directly.

Alternatively, libgnustep-gui_INTERFACE_VERSION in these Makefiles
could could have been renamed to avoid this conflict.
2022-08-19 15:54:41 +02:00
Gregory John Casamento
bd3c954807 Merge branch 'master' of github.com:gnustep/libs-gui 2022-08-09 01:25:59 -04:00
Fred Kiefer
34423da47e * Source/NSImageCell.m,
* Source/NSAccessibilityCustomAction.m,
* Source/NSStackView.m,
* Source/NSGridView.m: Fix compiler warnings
2022-06-12 22:13:06 +02:00
Gregory John Casamento
751d94aa2c Temporary fix for issue caused by libs-base change 2022-04-30 02:27:38 -04:00
Riccardo Mottola
e0012349f6 Refactor resize bar notch width to be a constant and private inside GSTheme, making it accessible through -[GSTheme resizebarNotchWidth]. 2022-03-31 23:43:52 +02:00
Riccardo Mottola
96db5bf89c Fix resizing mode by fixing initialization order. 2022-03-31 22:58:02 +02:00
Gregory John Casamento
f21aa20815 Move check of index in 'key' before the xpath call 2022-03-29 20:06:53 -04:00
Gregory John Casamento
5f3b54e330 GSXibKeyedUnarchiver: Change format of customClasses dictionary 2022-03-29 19:49:35 -04:00
Gregory John Casamento
39bd359505 Move createCustomClassRecordForId:... to parent class 2022-03-28 18:47:41 -04:00
Gregory Casamento
33fea1762d
Merge branch 'master' into custom_class_xib3_changes 2022-03-26 11:28:29 -04:00
Gregory John Casamento
790b686f0d Move _customClasses to GSXibKeyedUnarchiver and implement logic to build the _customClasses array for use in Gorm when loading the xib file. 2022-03-26 11:19:59 -04:00
Gregory John Casamento
de767ac0e0 Add version logic to correct issue for older gorm archives 2022-03-24 07:57:09 -04:00
Riccardo Mottola
6ec6f20f19 subclass initImageCell, so that RefusesFirstResponder can be set, matching Mac. 2022-03-22 22:52:06 +01:00
Wolfgang Lux
efb9bcb2e7 Select the first item of a NSPopUpButtonCell's new menu 2022-02-26 15:30:26 +01:00
Wolfgang Lux
ec3353ecd8 Never change the state of the selected item of a NSPopUpButton configured as a pull down 2022-02-26 15:21:04 +01:00
Gregory John Casamento
606505326c Minor change: Add all new headers to DocMakefile 2022-02-21 14:22:47 -05:00
Fred Kiefer
7c1af2c874
Merge pull request #140 from williameveretteggplant/autoreleasepool_NSTextView
Fix memory leak in NSTextView
2022-02-14 23:42:08 +01:00
williameveretteggplant
b70fad26a6
Use autorelease pool macros 2022-02-14 15:35:37 -07:00
williameveretteggplant
0211713766
Remove extra line 2022-02-14 14:16:42 -07:00
williameveretteggplant
9925f50aef
Indentation 2022-02-14 14:15:26 -07:00
williameveretteggplant
aae1f34d0d
Undo change 2022-02-14 14:09:34 -07:00
williameveretteggplant
2403c21978
Fix memory leak of tool tips
Prevents the creation of tool tips where they don't already exist. Tool tips only need to be removed in the rect if there are tool tips.
2022-02-14 14:03:49 -07:00
williameveretteggplant
f37e93a440
Fix memory leak in NSTextView
On Windows, there is an occasional sporadic failure of autorelease to work correctly. In particular, this seems to happen when autorelease is invoked on an object while a call stack is in the middle of draining an autorelease pool. So, for example, when dealloc is called on an NSTextContainer, it then calls setTextContainer: on the associated NSTextView, which in turn calls textContainers on the layoutManager, which returns an autoreleased array of NSTextContainers. This array is sometimes released and sometimes it isn't.
Wrapping the setTextContainer: in an autorelease pool, which will then drain at the end of the method, rather than relying on the main autorelease pool in the run loop (which is in the middle of being drained), appears to fix this problem. This adds a small amount of overhead, but also makes the memory usage a little more efficient, since anything autoretained during the course of this method is released more quickly.
2022-02-11 17:12:50 -07:00