Commit graph

7234 commits

Author SHA1 Message Date
Frederik Carlier
2ebf167e6f
It looks like GNUstep backend is not yet installed (#263) 2024-04-25 17:22:57 +02:00
Gregory John Casamento
930eb54290 Merge branch 'master' of github.com:gnustep/libs-gui into NSTableCellView_branch 2024-04-24 13:55:35 -04:00
williameveretteggplant
140124ed35
Revert "Left shift key equivalent modifier mask in xib unarchiver (#259)" (#260)
This reverts commit d1562a37cd.
2024-04-23 20:09:39 +02:00
Gregory John Casamento
0e36b42837 Add a check to make sure that ov is set 2024-04-23 02:19:17 -04:00
Gregory John Casamento
3ff5efed30 Encapsulate the renderedPaths and pathsToViews ivars that track which views were displayed in a viewBased table 2024-04-22 09:00:53 -04:00
Gregory John Casamento
c1e3cf2f08 Fix the image position and refresh when opening and closing items if it is a viewBased outline view. Tested and behavior seems consistent with macOS 14. 2024-04-22 09:00:53 -04:00
Gregory John Casamento
3c01238988 Remove checks for the class/subclass of NSTableView/NSOutlineView, but make the decision about how to render by depending on which delegate method is implemented 2024-04-22 09:00:53 -04:00
Gregory John Casamento
64150ff2ba Minor cleanup 2024-04-22 09:00:53 -04:00
Gregory John Casamento
abde29dbe3 Remove GSXibInternal.h reference from GSXib5KeyedUnarchiver to correct compilation error 2024-04-22 09:00:53 -04:00
Gregory John Casamento
a11f562997 Remove GSXibInternal, since it is not needed for this PR. Make drawing method parameter types more explicit, correct delegate method name in NSOutlineView 2024-04-22 09:00:53 -04:00
Gregory John Casamento
48d031a14a Add improvements suggested by @fredkiefer 2024-04-22 09:00:53 -04:00
Gregory John Casamento
42bae42431 Fix issues mentioned by @fredkiefer 2024-04-22 09:00:53 -04:00
Gregory John Casamento
5d17658b0e Add 10.12 imageViewWithImage to NSImageView, show outline view image to let the user know the item is expandable 2024-04-22 09:00:53 -04:00
Gregory John Casamento
9da7bd4502 Add implementation of NSUserInterfaceItemIdentifier to NSView 2024-04-22 09:00:53 -04:00
Gregory John Casamento
8c9278e12a Fix memory leak when creating the blank image, the image is retained by -[NSCell initImageCell:] 2024-04-22 09:00:53 -04:00
Gregory John Casamento
e74144b1bd Fix memory leak when creating the blank image, the image is retained by -[NSCell initImageCell:] 2024-04-22 09:00:53 -04:00
Gregory John Casamento
829d5367f9 Correct mispelling of key 2024-04-22 09:00:53 -04:00
Gregory John Casamento
e55babb04e Add code to handle Title property on NSTableColumn, add code to NSTableView to set the table view to _viewBased if it responds to tableView:viewForTableColumn:row: 2024-04-22 09:00:53 -04:00
Gregory John Casamento
8895bd0335 Code cleanup 2024-04-22 09:00:53 -04:00
Gregory John Casamento
6ca3708722 Code cleanup, remove duplicates, reorganize some methods so that it is the same as in the header 2024-04-22 09:00:53 -04:00
Gregory John Casamento
f787edfcfb Consolidate and refactor the cellview methods in the theme drawing code, so that there is no repeated code 2024-04-22 09:00:53 -04:00
Gregory John Casamento
8e2df65156 Add GSInternal.h 2024-04-22 09:00:53 -04:00
Gregory John Casamento
110b650a95 Add new class to hold deferred XIB data 2024-04-22 09:00:53 -04:00
Gregory John Casamento
fbb94af67b Add methods to register views 2024-04-22 09:00:53 -04:00
Gregory John Casamento
726485fdc9 Add code to encode/initWithCoder to keys 2024-04-22 09:00:53 -04:00
Gregory John Casamento
d9d4f63c24 Whitespace cleanup 2024-04-22 09:00:53 -04:00
Gregory John Casamento
8d9cb6f933 Add logic to get the column / row for a given view 2024-04-22 09:00:53 -04:00
Gregory John Casamento
182427bf97 Add code to support item identifier to NSTableView 2024-04-22 09:00:53 -04:00
Gregory John Casamento
53e040a6bb Changes to support view based NSOutlineView, untested 2024-04-22 09:00:53 -04:00
Gregory John Casamento
f71ee8641b Initial changes for NSOutlineView view-based support 2024-04-22 09:00:53 -04:00
Gregory John Casamento
d99f82896b Remove uneeded checks for _viewBased 2024-04-22 09:00:53 -04:00
Gregory John Casamento
db773ae9ec Don't add the view again if it's one that has already been added, this causes the application to poll unneccessarily 2024-04-22 09:00:53 -04:00
Gregory John Casamento
e19038665b Use an NSMapTable to store which views have been displayed 2024-04-22 09:00:53 -04:00
Gregory John Casamento
a73c3cc876 Add code to track if a view has been rendered, fix issue with duplication of the view, I am not sure if this method of tracking that the view has been rendered is correct, but it works for now 2024-04-22 09:00:53 -04:00
Gregory John Casamento
20f29b2d1d Add code to cause delegate methods which are not used for viewBased tables to be called in viewBased mode, add code to instantiate the prototypeCellView when adding it to the tableView 2024-04-22 09:00:53 -04:00
Gregory John Casamento
5294e2a126 Add private method to return the prototypeCellViews array 2024-04-22 09:00:53 -04:00
Gregory John Casamento
e4c7bb540c Add prototype cell view support, remove code that forces prototypeCellView to be NSView 2024-04-22 09:00:53 -04:00
Gregory John Casamento
b06b23c97c Add code to instnatiate the NSTableCellView if the delegate method does not exist 2024-04-22 09:00:53 -04:00
Gregory John Casamento
74487bcfa5 Remove comment 2024-04-22 09:00:53 -04:00
Gregory John Casamento
d11c7e3dbc Remove unused variables 2024-04-22 09:00:53 -04:00
Gregory John Casamento
a9653a71a2 Draw the view in the confines of the cell frame 2024-04-22 09:00:53 -04:00
Gregory John Casamento
ebdbe0930f Add methods to theme and to NSTableView to get the view from the delegate, this is a partial commit to save my place here... will follow up shortly 2024-04-22 09:00:53 -04:00
Gregory John Casamento
0be95eba5b Update gorm version and add new code to store/retrieve NSViewBased key 2024-04-22 09:00:53 -04:00
Gregory John Casamento
c9539af267 Add new classes 2024-04-22 09:00:53 -04:00
Gregory John Casamento
0276e307cc Fix compile error, add new class 2024-04-22 09:00:53 -04:00
Gregory John Casamento
20a08a894f Minor updates 2024-04-22 09:00:53 -04:00
Gregory John Casamento
1b467763bc Rebased to master 2024-04-22 09:00:53 -04:00
Gregory John Casamento
cad79f2e0e Add non-keyed coding 2024-04-22 09:00:53 -04:00
Gregory John Casamento
b895ffe953 Add NSTableCellView class header and simple implementation 2024-04-22 09:00:53 -04:00
Gregory John Casamento
4800a950ef Add new classes 2024-04-22 09:00:53 -04:00
Gregory John Casamento
3acf49a33d Fix compile error, add new class 2024-04-22 09:00:53 -04:00
Gregory John Casamento
a7a7a1e691 Minor updates 2024-04-22 09:00:53 -04:00
Gregory John Casamento
d939fdfd1e Add objectValue accessors 2024-04-22 09:00:53 -04:00
Gregory John Casamento
edb517ceca Initial skeleton for NSTableCellView 2024-04-22 09:00:53 -04:00
Gregory John Casamento
968e78ab34 Add initial versions of NSTableCellView.[hm] and NSTableRowView.[hm] 2024-04-22 09:00:53 -04:00
williameveretteggplant
d1562a37cd
Left shift key equivalent modifier mask in xib unarchiver (#259)
* Left shift key equivalent modifier mask in xib unarchiver

This is necessary to offset the 8 bit right shift that occurs in the initWithCoder: method in NSButtonCell

* Shift modifier mask in xib unarchiver
2024-04-19 18:58:00 +02:00
williameveretteggplant
192c121a9d
Set editable property in NSCell default to false (#257)
Unarchiving a NSCell element from a xib will have the editable property set to false unless explicitly set to true.
2024-04-09 17:26:30 +02:00
williameveretteggplant
7b8c02182e
Fix NSImageView intercepting mouse events when not editable (#256)
* Update NSImageView.m

* Refactor editable condition

* Remove empty line, left over from previous changes

---------

Co-authored-by: Fred Kiefer <fredkiefer@gmx.de>
2024-04-08 20:54:47 +02:00
Frederik Carlier
892ed4877e
NSBox: (re-)implement isOpaque (#254)
This (re-)implements logic where a box is marked
as opaque if it is a custom box which is not
transparent, but moves the logic to `GSTheme`,
allowing themes to override this loggic.

This fixes the rendering of custom boxes with a
custom fill color; the current implementation
would mark them as non-opaque and hence the fill
color would not be rendered.

- The original implementation (from 1999) always
  returned `YES`
  (53bcb50240)
- A more complete implementation was backported
  from the Testplant branch in 2012
  (e85b16bc05, by
  @fredkiefer, upstream commit
  36e77b95f7)
- More recently, the a return value of `NO` was
  hardcoded
  (02bc49e2d5, by
  @ericwa)
2024-04-04 22:23:14 +02:00
Frederik Carlier
95f302442c
NSBox: decode NSBorderColor2 and NSFillColor2 (#255) 2024-04-04 20:34:42 +02:00
Frederik Carlier
85b8a3e495
[NSTableView initWithCoder]: Read alternatingRowBackgroundColors, from tableViewFlags (#252)
* [NSTableView initWithCoder]: Read alternatingRowBackgroundColors,  from tableViewFlags

* [NSTableView _numRows]: Check _tableColumns is not empty

* [NSTableView encodeWithCoder]: add autosaveTableColumns, usesAlternatingRowBackgroundColors
2024-04-03 23:54:10 +02:00
Frederik Carlier
059d13f5ab
highlightTableViewSelection: Always use default selection color if not set. (#253)
The current implementation will attempt to assign a default value for selectionColor if backgroundColor is white.  There's two issues with that:

1. `backgroundColor` is likely in the `NSNamedColorSpace`,  whereas it is being compared to `[NSColor whiteColor]`, which is in the `NSCalibratedWhiteColorSpace`. That comparision will always return false.
2. Users will probably expect the selected item to be highlighted in a different color even if the background color is not white.  For example, the consider a scenario where the default background color is white, and the alternate background color is grey.  It makes sense to always highlight the selected row in blue.  This aligns with the behavior when `highlightedTableRowBackgroundColor` is defined.
2024-04-03 23:43:33 +02:00
Frederik Carlier
f46accfa9c
GSXib5KeyedUnarchiver: Add mapping for NSSegmentItemLabel, NSSegmentItemImage (#251) 2024-04-03 23:24:22 +02:00
Frederik Carlier
c6082e31db
NSGraphicsContext: Suppress incompatible pointer type warning (#250)
```
NSGraphicsContext.m:349:50: warning: incompatible pointer types sending 'Class' to parameter of type 'id<NSCopying>' [-Wincompatible-pointer-types]
      methods = [[classMethodTable objectForKey: [self class]] pointerValue];
                                                 ^~~~~~~~~~~~
/usr/local/include/Foundation/NSDictionary.h:115:26: note: passing argument to parameter 'aKey' here
  (GS_GENERIC_TYPE(KeyT))aKey;                          // Primitive
                         ^
NSGraphicsContext.m:354:37: warning: incompatible pointer types sending 'Class' to parameter of type 'id<NSCopying>' [-Wincompatible-pointer-types]
                            forKey: [self class]];
                                    ^~~~~~~~~~~~
```
2024-04-01 22:54:57 +02:00
Frederik Carlier
c50123f870
GSTextStorage: Add function prototypes (#249)
Add a function prototype for:
- `addImp` (`(void)addObject:(ObjectType)anObject`)
- `insImp` (`(void)insertObject:(ObjectType)anObject atIndex:(NSUInteger)index`)
- `remImp` (`(void)removeObject:(ObjectType)anObject`)
-  cntImp (`count`)

Fixes warning: passing arguments to a function without a prototype is deprecated in all versions of C and is not supported in C2x [-Wdeprecated-non-prototype]
2024-04-01 22:53:23 +02:00
Frederik Carlier
4470a157d7
Remove unused variables (#247)
Fixes a compiler warnings
2024-04-01 21:05:46 +02:00
Frederik Carlier
1c26da1f27
NSInterfaceStyle: Fix void-pointer-to-enum-cast warning (#248)
Cast to `uintptr_t` before casting to `enum` to suppress warning.

```
NSInterfaceStyle.m:134:15: warning: cast to smaller integer type 'NSInterfaceStyle' from 'void *' [-Wvoid-pointer-to-enum-cast]
      style = (NSInterfaceStyle)NSMapGet(styleMap, key);
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NSInterfaceStyle.m:234:24: warning: cast to smaller integer type 'NSInterfaceStyle' from 'void *' [-Wvoid-pointer-to-enum-cast]
      if (newStyle != ((NSInterfaceStyle)val))
                       ^~~~~~~~~~~~~~~~~~~~~
```
2024-04-01 16:49:46 +02:00
Frederik Carlier
2372b76cc8
This commits updates the libs-gui build process to generate a gnustep-gui.pc file which is installed in /lib/pkgconfig and contains the GNUstep gui version number, the libraries to link (equivalent to gnustep-config --gui-libs) with and the C flags to use (equivalent to gnustep-config --objc-flags). (#246)
This can be useful when linking with libs-gui in projects which don't use the GNUstep build system.
2024-03-27 23:39:23 +01:00
Fred Kiefer
c12fdd26f7 Set delegate of NSTextView to nil in dealloc. 2024-03-26 22:53:44 +01:00
Fred Kiefer
a054b21355 * Source/NSTextView.m: Add support for NSFilenamenPboardType.
Change by OnFlApp (https://githup.com/onflapp)
2024-03-18 22:53:46 +01:00
OnFlApp
1e956c96df
NSTextView: support drop for NSFilenamesPboardType (#156)
* NSTextView: support drop for NSFilenamesPboardType

* code cleanup

* code fixes
2024-03-18 22:35:29 +01:00
rfm
324308b4e8 fixup error in pasteboard types provided when png is available 2024-03-04 22:08:00 +00:00
Riccardo
7a215fcb01
Magick fix (#244)
* Fix include for ImageMagick 7

* add version test for MagickCore and conditionally include the path to MagickCore.h

* autoreconf with 2.69
2024-02-29 09:26:24 +01:00
rfm
cff4f39db3 Set timeout for pasteboard to 30 seconds rather than 2 (for slow providers). 2024-02-20 10:10:32 +00:00
ethanc8
9202dfeece Implement -appearannce, -setAppearance: and -effectiveApperance for NSView 2024-02-10 12:25:59 -06:00
ethanc8
12ca9f6996 Stylistic fixes for -[NSAppearance effectiveAppearance] 2024-02-05 15:27:03 -06:00
ethanc8
9db91f702e Rename the new NSScroller methods to the names used by Apple 2024-02-05 15:26:42 -06:00
ethanc8
61c9699021 Re-add layout code that was mistakenly removed 2024-02-05 14:43:31 -06:00
ethanc8
a91815f70a Add scroller styling options. 2023-12-31 20:05:11 -06:00
ethanc8
2303052e50 Add NSAppearanceCustomization to NSApplication and NSView 2023-12-31 20:03:21 -06:00
ethanc8
6aff0bd0f8 Add -[NSMenu popUpMenuPositioningItem:atLocation:inView:] 2023-12-31 19:27:38 -06:00
ethanc8
ea6c43911f Add beginSheet:completionHandler:-related methods:
-[NSWindow beginSheet:completionHandler:]
-[NSAlert beginSheetModalForWindow:completionHandler:]
2023-12-31 17:37:07 -06:00
Gregory John Casamento
969fe4c870 Add getting, additional change from branch, quick fix 2023-12-28 11:20:12 -05:00
Gregory Casamento
a5f92ecb8b
Merge pull request #233 from gnustep/NSShadow_issue217_nsgraphicscontext 2023-12-28 11:18:14 -05:00
Fred Kiefer
3a6dce02be Remove some gcc compiler warnings 2023-12-28 14:45:16 +01:00
Gregory John Casamento
9fab419042 Add shadow method to NSGraphicsContext and add set method to NSShadow 2023-12-28 06:47:25 -05:00
Gregory John Casamento
345b1b4065 Add call to setter as suggested by @fredkiefer 2023-12-27 12:37:33 -05:00
Gregory John Casamento
7be6c722e4 Add RETAIN, per review from @fredkiefer 2023-12-27 12:20:54 -05:00
Gregory John Casamento
874515c5b7 Add RETAIN, per review from @fredkiefer 2023-12-27 12:19:48 -05:00
Gregory John Casamento
ff90453263 Fix indentation issue and remove uneeded local var, per review from @fredkiefer 2023-12-27 12:17:48 -05:00
Gregory John Casamento
4e4755c533 Remove uneeded comments 2023-12-26 11:53:38 -05:00
Gregory John Casamento
cb4987ff47 Minor cleanup in NSView, add code to get NSShadowHoriz, NSShadowVert 2023-12-26 11:43:33 -05:00
Gregory John Casamento
702f7bb9af Untabify, add shadow keys for vert, color, horiz 2023-12-26 10:32:46 -05:00
Gregory John Casamento
468030a982 Add correct key for the NSShadow object which is NSViewShadow 2023-12-24 16:48:41 -05:00
Gregory John Casamento
70019a695a Add decoding logic for shadow to NSView 2023-12-24 16:16:52 -05:00
Gregory John Casamento
9cb00ba871 Add ivar for shadow 2023-12-24 13:59:12 -05:00
Gregory John Casamento
33d66e0ddc Update NSView with setShadow:/shadow methods 2023-12-24 13:28:08 -05:00
Gregory John Casamento
3f30d139bc Quick fix, resolves issue #153: Remove incorrect decoding of constraint 2023-12-22 16:47:40 -05:00
Gregory John Casamento
d9fa73870a Fix handling of custom classes for XIB v5. This corrects an issue in Gorm as well 2023-12-16 08:00:33 -05:00
Riccardo Mottola
e5c346351c doc fixes 2023-12-12 21:37:09 +01:00
Gregory John Casamento
3efb4ce9f3 Update per comments by @fredkiefer 2023-11-27 06:58:43 -05:00
Gregory John Casamento
87a73db572 Update calls to awakeFromNib and add call to prepareForInterfaceBuilder if we are in Gorm 2023-11-27 02:26:16 -05:00
Gregory John Casamento
8c421a3c8e Add method -prepareForInterfaceBuilder since it is in the same place as awakeFromNib and is trivial to add, this method will be useful in Gorm in the future 2023-11-24 22:22:14 -05:00
Gregory John Casamento
4b3014922c Move awakeFromNib implementation to NSObject instead of NSView, as discussed in the documentation 2023-11-24 21:32:15 -05:00
Riccardo Mottola
bdcced992c fix redundant semicolons 2023-11-20 22:43:49 +01:00
Riccardo Mottola
35aa22588a add IBOutlet and IBAction to doc WordList 2023-11-20 22:25:37 +01:00
Riccardo Mottola
08411ea68f fix some trailing semicolons 2023-11-17 16:53:43 +01:00
rfm
fb358c3b03 Fix missing semicolon 2023-11-14 21:36:12 +00:00
Riccardo Mottola
aa36664153 fix various autogsdoc warnings and issues 2023-11-14 01:29:01 +01:00
Kyle J Cardoza
dfa829bf38
Merge pull request #201 from KyleCardoza/add-gstheme-hooks
add gstheme hooks
2023-11-09 15:42:50 -05:00
Riccardo Mottola
34c5a5e841 use defined() to check if a variable is defined, also, rename it to be clearer about a feature availability and not enabling one 2023-10-26 02:38:29 +02:00
Frederik Carlier
31a71a1090
NSWorkspace: Throw a descriptive exception when make_services could not be found (#208)
`[NSTask launchPathForTool: @"make_services"]; can return nil when the tool is not found. In this case, [NSTask launchedTaskWithLaunchPath] would raise a NSInvalidArgumentException with error message "NSTask - no launch path set" which is not very descriptive.
2023-10-11 17:54:38 +02:00
Frederik Carlier
8619fe33c2
GifQuantizeBuffer is considered private API in libgif 5.2 and later (#207)
See befe188771/
2023-10-09 19:35:37 +02:00
Gregory John Casamento
2ac57c147f Remove uneeded calls to orderOut: and setDelegate: as this is done in the close method 2023-10-08 06:23:26 -04:00
Gregory John Casamento
a4beb1266f Fix spaces / formatting issue for return types 2023-10-08 05:43:18 -04:00
Gregory John Casamento
791a5d0aaf Cleanup classes. 2023-10-08 04:44:31 -04:00
Gregory John Casamento
4bb0270759 Update NSViewController with lifeCycle methods 2023-10-08 04:44:31 -04:00
Gregory John Casamento
24eee8e7dd Allow popover to be dismissed 2023-10-08 04:44:31 -04:00
Frederik Carlier
bcc8011580
Avoid accessing instance variables in inline functions when compiling with msvc (#205)
* Rename `DPSshfill` to `DPSshfill_`

This method takes one argument, so by convention, the name of the variable in the method table should end with a single underscore

* DPSOperators.h: Use macros to define inline functions

* Don't access instance variables when compiling with Visual Studio
2023-10-01 22:56:02 +02:00
Kyle J Cardoza
7f70818be2 Added the ability for GSTheme subclasses to provide custom implementations of GSWindowDecorator. 2023-09-22 21:17:15 -04:00
Kyle J Cardoza
225eea02d5 Addressed request for change in NSMenu.m, and moved function of
-[_organizeMenu] to GSTheme-[organizeMenu:isHorizontal].
2023-09-22 18:57:15 -04:00
Kyle J Cardoza
096327e87b Addressed changes requested in PR 201 2023-09-22 15:20:23 -04:00
Kyle J Cardoza
07f1b8759a Added window titlebar GSTheme hooks. 2023-09-22 01:42:47 -04:00
Kyle J Cardoza
a9f33627f1 Added menu organization hooks 2023-09-20 12:52:01 -04:00
Kyle J Cardoza
81b59ad0a0 Initial implementation of new GSTheme hooks and default implementations. 2023-09-19 22:20:12 -04:00
Riccardo Mottola
9faf904349 Merge branch 'warningfix' of https://github.com/gnustep/libs-gui into warningfix 2023-09-18 18:05:35 +02:00
Riccardo Mottola
670a86bb59 cleanup trailing backslash 2023-09-18 18:02:28 +02:00
Riccardo Mottola
5e68ebec91 fix warning, comparison with NULL 2023-09-13 01:11:48 +02:00
Riccardo Mottola
88a0e1e390 use destroy instead of assigning nil, avoids warnings and make smore sense anyway 2023-09-13 00:40:58 +02:00
Riccardo Mottola
a3117e5598 Put in methd in a private category to silence warning. Apple doesn't expose the method in its header, but we don't we don't know if it has it private. In case it is a GS extension, perhaps we should name it private with an _. 2023-09-12 23:49:05 +02:00
Riccardo Mottola
9e0685b315 do not install private headers 2023-09-12 23:19:06 +02:00
Riccardo Mottola
1815556e4e remove unused functions 2023-09-12 23:09:08 +02:00
Richard Frith-Macdonald
2e4af41c70 Fixup for APPKIT_EXPORT_CLASS 2023-09-05 17:02:06 +01:00
Gregory Casamento
3575f0af77 Add implementation of removeAllItems 2023-09-01 17:12:05 +00:00
Gregory Casamento
3f35da7860
Update code in GSXib5KeyedUnarchiver.m to read alternative toolTip format (#193)
* Update code in GSXib5KeyedUnarchiver.m to read alternative toolTip format

* Update to make the code a bit tighter, per suggestion by @fredkiefer
2023-08-31 23:46:34 +02:00
Gregory Casamento
629d065b91
Add dummy awakeFromNib dummy method (#195) 2023-08-31 23:41:46 +02:00
d99c96efcc
* Source/NSMenuItemCell.m (-_keyEquivalentString): Fix the 'and' check so that shiftKeyString can display (#190) 2023-08-26 11:32:30 +02:00
Fred Kiefer
570f2b4d2a * Source/NSSwitch.m (-drawRect:): Correct drawing as suggested by Austin Clow (dr_clow@me.com). 2023-08-13 20:27:48 +02:00
Benjamin Johnson
305bcd56a3
Implement GSCSTableau, GSCSEditInfo, GSCSEditVariableManager (#186)
* Implement GSCSTableau, GSCSEditInfo, GSCSEditVariableManager

* Update GSTableau based on feedback

* Remove adding expression term variable to external parameteric variables
2023-08-05 10:26:22 +02:00
Frederik Carlier
eb480b7748
NSGraphicsContext: Add methods method (#179)
gnustep-back uses the `NSGraphicsContext->methods` _variable_, but using an instance variable across module boundaries is not supported when building with Visual Studio.

This commits adds a `[NSGraphicsContext methods]` _method_, which can be accessed across module boundaries (and hence when building with Visual Studio).
2023-08-01 22:39:46 +02:00
Riccardo Mottola
0b9924e094 reduce scope of _imageRep from ivar to local to init 2023-07-27 14:35:25 +02:00
Gregory Casamento
f2b79365f4
NSDockTile - Implement methods to update the icon and show badge (#185)
NSDockTile - Implement methods to update the icon and show badge using a NSCustomImageRep. Link the NSDockTile view with the AppIcon window contentView.
GSTheme - add badgeColor color and corresponding methods to theme background, decoration and text color
2023-07-27 09:17:18 +02:00
Gregory Casamento
a34867faee
Merge pull request #184 from gnustep/gsdisplayserver_cleanup 2023-05-31 17:10:55 -04:00
Riccardo Mottola
3341f6f149 Remove now unused NSCurrentServerThreadKey key, previously it was used tor GSCurrentServer(), but it it is not needed anymore. Please use the function directly. 2023-05-30 00:15:47 +02:00
Benjamin Johnson
47a945603b Fix typo and spacing 2023-05-29 22:14:11 +00:00
Benjamin Johnson
1f7f4cd40f Fix typo in intrinsic and address comments 2023-05-28 22:10:14 +00:00
Benjamin Johnson
2e98bd5366 Implement layout constraint conversion to internal solver constraints 2023-05-28 18:33:44 +10:00
Benjamin Johnson
0c493d9e7a Address PR feedback on #181 2023-05-09 06:26:26 +10:00
Benjamin Johnson
bddf6cfd03 Implement GSCSConstraint and suppoorting classes 2023-05-07 08:01:25 +10:00
Benjamin Johnson
2be7334ce2
Implement part of GSAutoLayoutEngine dependency management logic (#178)
* Implement part of GSAutoLayoutEngine dependency management logic

* Fix formatting of GSAutoLayoutEngine, GSCSFloatComparator and GSCSSolution

* Address PR feedback

* Address PR feedback

* Replace assignment with ASSIGN macro and fix makefile

* Add back dealloc in GSAutoLayoutEngine.m and GSCSSolution.m
2023-04-19 09:06:53 +02:00
Gregory John Casamento
5c098cc539 Minor fix in glyph info 2023-04-09 21:09:22 -04:00
Gregory Casamento
e64d8d4b02
Merge pull request #170 from gnustep/NSDictionaryController2_branch 2023-03-24 18:33:52 -04:00
Gregory John Casamento
58748243d5 Update per comments by Fred before merge 2023-03-24 17:57:29 -04:00
Gregory Casamento
81f21e2094
Merge pull request #172 from BennyKJohnson/bootstrap-layout-engine 2023-03-17 14:11:20 -04:00
Riccardo
62d16bff24
Implement acceptsFirstMouse so to return YES, otherwise tablees in new windows do not get mouse selection events. (#173)
Seems to match Apple's implementation.
2023-03-02 12:13:50 +01:00
Benjamin Johnson
708f7c337e Address feedback on bootstrap layout engine PR 2023-03-01 18:57:08 +11:00
Gregory Casamento
09e9cc0330
Update NSDictionaryController.m. Correct removeObjects: 2023-02-28 16:58:21 -05:00
Gregory John Casamento
99e921ea35 Fix type issue with getting value from KVP in a couple of places and fix memory issue with NSDictionaryControllerKeyValuePair 2023-02-28 03:55:34 -05:00
Gregory John Casamento
dcf5fbe74b Update using rearrangeObjects, clean up white space for review 2023-02-28 03:42:43 -05:00
Gregory John Casamento
b9841fe493 Update build array to properly exclude keys 2023-02-28 03:33:50 -05:00
Benjamin Johnson
7b9bede733 Improve memory management with layout engine 2023-02-28 19:18:52 +11:00
Gregory John Casamento
08fc055321 Override addObject(s):, removeObject(s): update _contentDictionary 2023-02-28 03:17:07 -05:00
Gregory John Casamento
99e25244af Remove uneeded bind: code 2023-02-28 00:40:40 -05:00
Benjamin Johnson
f6f1a7ef82 Remove unnecessary check for _layoutEngine 2023-02-27 21:39:14 +00:00
Benjamin Johnson
2a1c0f88b3 Move layoutEngine ownership to NSWindow 2023-02-27 19:56:37 +11:00
Benjamin Johnson
93769f3a52 Implement bootstrapping auto layout 2023-02-27 17:46:39 +11:00
Gregory John Casamento
5799e4a9c7 Update how key/value is generated in newObject 2023-02-24 17:54:17 -05:00
Gregory John Casamento
917585cfab Update how key/value is generated in newObject 2023-02-24 17:51:54 -05:00
Gregory John Casamento
3fdccf627e Add code to handle strings->dictionary and dictionary->strings for setLocalizedKeyTable/Dictionary methods 2023-02-24 17:38:30 -05:00
Gregory John Casamento
0d5ab325ab update bind:toObject:withKeyPath:options: method for all bindings, sort resulting array of NSDictionaryControllerKeyValuePair objects by key value 2023-02-23 18:39:06 -05:00
Gregory John Casamento
386bec0435 use superclass implementation of valueClassForBinding: 2023-02-23 16:17:44 -05:00
Gregory John Casamento
728968505e Get rid of white space and minor cleanup 2023-02-23 16:17:44 -05:00
Gregory John Casamento
2b20808ddd Add preserves_selection encoding/decoding 2023-02-23 16:17:44 -05:00
Gregory John Casamento
c1ad87a546 Eliminate white space, some experimental changes 2023-02-23 16:17:44 -05:00
Gregory John Casamento
8de600877b simplify existing implementation of dictionary controller 2023-02-23 16:17:44 -05:00
Gregory John Casamento
7250e3fac1 Remove uneeded GSObservableDictionary class declaration and implementation, start to diagnose and fix the issue with NSDictionaryController 2023-02-23 16:17:44 -05:00
Gregory John Casamento
c6c0dc7c3f Expose more bindings and override some methods from NSArrayController 2023-02-23 16:17:44 -05:00
Gregory John Casamento
03f1ddecd5 latest changes 2023-02-23 16:17:44 -05:00
Gregory John Casamento
5958734de0 Implement NSDictionaryControllerKeyValuePair. Add implementation for the rest of the methods. 2023-02-23 16:17:44 -05:00
Gregory John Casamento
8760ff9b7b Add externs for key bindings. 2023-02-23 16:17:44 -05:00
Gregory John Casamento
3d850f7eae Add method definitions. 2023-02-23 16:17:44 -05:00
Gregory John Casamento
67966d6cdd Initial template for NSDictionaryController 2023-02-23 16:17:44 -05:00
Benjamin Johnson
928dd71439 Fix whitespace between argument in method call 2023-02-23 01:29:28 +00:00
Benjamin Johnson
75fcf49b62 Refactor layout core methods implementation to use ivars 2023-02-20 18:09:23 +11:00
Benjamin Johnson
571ad7a613 Implement supporting core layout methods on NSView 2023-02-19 15:21:13 +11:00
Fred Kiefer
72b05b514a
Merge pull request #169 from BennyKJohnson/nsautoresizingMaskLayoutConstraint
Implement NSAutoresizingMaskLayoutConstraint class
2023-02-17 19:58:34 +01:00
Gregory John Casamento
95c7e31ccb Remove uneeded item object 2023-02-12 15:32:21 -05:00
Gregory John Casamento
30c2f1da6b Minor update, remove redundant setSelected: calls 2023-02-12 15:27:50 -05:00
Gregory John Casamento
ea398eab4c Remove extra call to setSelected: in selectAll: deselectAll: etc methods, this should only happen in setSelectionIndexes and setSelectionIndexPaths 2023-02-12 14:25:36 -05:00
Gregory John Casamento
b6048a27f4 Run cleanup-whitespace in emacs to eliminate all extraneous whitespace 2023-02-12 14:19:37 -05:00
Gregory John Casamento
1c879a1522 Add private methods to internal private category 2023-02-12 09:55:29 -05:00
Gregory John Casamento
41e6a45e8d Add private methods to internal private category 2023-02-12 09:33:48 -05:00
Gregory John Casamento
50889771d0 Fix issue with FOR_IN loop 2023-02-11 18:27:55 -05:00
Gregory John Casamento
2eb23858d6 Methods to keep selectionIndexes and selectionIndexPaths in sync per discussion with @fredkiefer 2023-02-11 18:20:36 -05:00
Benjamin Johnson
f46e6596cc Make layout constraint attribute constants static and add comment for ordering 2023-02-12 08:47:55 +11:00
Gregory John Casamento
731f5a248d Fix OVERIDDEN macro, override method in NSCollectionViewGridLayout 2023-02-09 14:39:37 -05:00
Gregory John Casamento
fd4b07ff09 Get rid of extranous include 2023-02-07 21:56:26 -05:00
Gregory John Casamento
b891dea575 Update as discussed, get rid of extra commented out code and of uneeded imports 2023-02-07 21:41:13 -05:00
Gregory John Casamento
0ad9143b39 Add better var names in flow layout 2023-02-07 21:39:05 -05:00
Gregory John Casamento
bb77c072cb Correct spaces 2023-02-07 21:30:46 -05:00
Gregory John Casamento
4bcdf6f5d4 Fix issues mentioned by @fredkiefer in review, remove check in NSViewController 2023-02-07 21:27:39 -05:00
Gregory John Casamento
d6d2f430ad Update encode/decode to remove unecessary 64bit call 2023-02-07 21:09:23 -05:00
Gregory John Casamento
2a33aab039 Update implemention suggested by @fredkiefer 2023-02-07 21:05:12 -05:00
Gregory John Casamento
7244519365 Change call indexPathsForVisibleSupplementaryElementsOfKind to call indexPathForItem: as suggested by @fredkiefer 2023-02-07 20:55:22 -05:00
Gregory John Casamento
330599e248 Inline the frame update 2023-02-04 11:37:36 -05:00
Gregory John Casamento
73759407bb Add delegate call to collectionView:didSelectItemsAtIndexPaths: 2023-02-04 10:28:11 -05:00
Gregory John Casamento
ec6a845cb1 Suggestions by @fredkiefer, correct spacing and fix comment 2023-02-04 09:39:48 -05:00
Gregory John Casamento
99103a83dc Fix more suggestions by @fredkiefer. Add AUTORELEASE for nib, generate indexes for visible items 2023-02-04 09:31:13 -05:00
Gregory John Casamento
cf16dde246 Update selectAll:, deselectAll:, selectItemsAtIndexPaths:..., deselectItemsAtPaths: to correctly update setSelectionIndexPaths: 2023-02-04 07:41:42 -05:00
Benjamin Johnson
4fec29a66b Implement NSAutoresizingMaskLayoutConstraint class 2023-02-04 19:24:03 +11:00
Gregory John Casamento
e754180dcf Add OVERRIDDEN macro per suggestion from @fredkiefer 2023-01-30 18:12:53 -05:00
Gregory John Casamento
19e8a48ba3 Add APPKIT_DECLARE 2023-01-30 10:48:03 -05:00
Gregory John Casamento
4e49c2a8cf Add APPKIT_DECLARE 2023-01-30 10:48:03 -05:00
Gregory John Casamento
8afffbb121 Fix leak and add to maps in makeItemWithIdentifier:forIndexPath:, per review 2023-01-30 10:48:03 -05:00
Gregory John Casamento
cd52649076 Fix encoding issue, formatting issues, per review 2023-01-30 10:48:03 -05:00
Gregory John Casamento
d4d60dd5de Remove strange comment, per review 2023-01-30 10:48:03 -05:00
Gregory John Casamento
e1fa590102 Remove commented out code, per review 2023-01-30 10:48:03 -05:00
Gregory John Casamento
dd01e8b59b Correct formatting, per review 2023-01-30 10:48:03 -05:00
Gregory John Casamento
c7c6d887e2 Correct formatting, per review 2023-01-30 10:48:03 -05:00
Gregory John Casamento
c7c3c65f4e Correct formatting, per review 2023-01-30 10:48:03 -05:00
Gregory John Casamento
03cbc95076 Remove log per review by @fredkiefer 2023-01-30 10:48:03 -05:00
Gregory John Casamento
20a59e45b5 Add code to call viewWillLoad/viewDidLoad into loadView 2023-01-30 10:48:03 -05:00
Gregory John Casamento
5e5e2bd317 Add proper error 2023-01-30 10:48:03 -05:00
Gregory John Casamento
cb8e805d0d Add method to check if method is overriden on layout subclass 2023-01-30 10:48:03 -05:00
Gregory John Casamento
af643cc821 Fix externs for collection view, correct NSFontIdentityMatrix type 2023-01-30 10:48:03 -05:00
Gregory John Casamento
5612120c06 Remove extra #import directives 2023-01-30 10:48:03 -05:00
Gregory John Casamento
3e8b8386b1 Add correct API version defines for NSCollectionViewItem 2023-01-30 10:48:03 -05:00
Gregory John Casamento
fe2a988111 Fix duplicate _size and use the _frame in the attributes class 2023-01-30 10:48:03 -05:00
Gregory John Casamento
95fa4e0368 Add tracking view to allow easier selection 2023-01-30 10:48:03 -05:00
Gregory John Casamento
c95bbcf714 Changes to fix item selection when an NSImageView is present 2023-01-30 10:48:03 -05:00
Gregory John Casamento
7ee05a6869 Make sure to consider when view is flipped when calculating which indexPath was hit; minor cleanup of code; remove uneeded comments 2023-01-30 10:48:03 -05:00
Gregory John Casamento
bfa088fd0e Fix size issue with flow view 2023-01-30 10:48:03 -05:00
Gregory John Casamento
3b44aa3608 Fix size issue with grid view 2023-01-30 10:48:03 -05:00
Gregory John Casamento
bbfa1d84bc Fix proportions of each item 2023-01-30 10:48:03 -05:00
Gregory John Casamento
5ff478ac85 Fix implementation of resize when elements overflow the size of the view 2023-01-30 10:48:03 -05:00
Gregory Casamento
b96dbcba2e Update GSXib5KeyedUnarchiver.m
Remove extra space.
2023-01-30 10:48:03 -05:00
Gregory John Casamento
627c51ec45 Changes to implement grid layout 2023-01-30 10:48:03 -05:00
Gregory John Casamento
a5b878c690 Implement selectAll:, deselectAll:, selectItemsAtIndex:..., deselectItemsAtIndexPaths: 2023-01-30 10:48:03 -05:00
Gregory John Casamento
e9e1615cdb Don't update the delegate unless the selection actually changes 2023-01-30 10:48:03 -05:00
Gregory John Casamento
a6f83ab00b Add code to clean up views when resizing. Prevent recursion. Call reload when 'tile' method is called 2023-01-30 10:48:03 -05:00
Gregory John Casamento
2d70c42790 Fix issue with loading collectionview. Correct sprious calls to reloadData and tile method. Fix call back to delegate when item is clicked 2023-01-30 10:48:03 -05:00
Gregory John Casamento
94f616436f Add mapping to XmlKeyMapTable for NSBackroundColors 2023-01-30 10:48:03 -05:00
Gregory John Casamento
f1552faaee Remove uneeded ivars, release maps 2023-01-30 10:48:03 -05:00
Gregory John Casamento
01ca2cb6c2 Fix compilation error in CI 2023-01-30 10:48:03 -05:00
Gregory John Casamento
2bec53bf0f Switch to using maptables to track some metadata bout items so that we can match items up when we need to find them by indexPath or point. Remove uneeded ivar from layout. Add call to delegate when selecting item 2023-01-30 10:48:03 -05:00
Gregory John Casamento
bf3ddc8cad Add call to delegate when selecting item 2023-01-30 10:48:03 -05:00
Gregory John Casamento
b7156def8f Implement setSelectionIndexPaths: 2023-01-30 10:48:03 -05:00
Gregory John Casamento
8a9185ee84 Update selection methods 2023-01-30 10:48:03 -05:00
Gregory John Casamento
a16ad6168b Update selection methods 2023-01-30 10:48:03 -05:00
Gregory John Casamento
3ea04c0e36 Fix compilation issue, comment out temporary code in _selectWithEvent:indexPath: 2023-01-30 10:48:02 -05:00