Commit graph

358 commits

Author SHA1 Message Date
Gregory John Casamento
9568ec7fb9 Add method that tells the app/backend that we are using a dark mode theme 2025-01-05 20:42:06 -05:00
Gregory John Casamento
c4e5d6b223 Add method that tells the app/backend that we are using a dark mode theme 2025-01-05 05:17:07 -05:00
Frederik Carlier
c89d7432a4
Expose additional GSTheme method(s) for adding NSTabView theming to WinUXTheme (#308)
Co-authored-by: Marcian Lytwyn <marcian.lytwyn@eggplant.io>
2024-11-05 09:00:07 +01:00
Frederik Carlier
acf00ce5d2
Allow themes to override [NSMenu _isVisible] (#307)
The default implementation of `[NSMenu]` uses `_aWindow` and `_bWindow` to determine the visibility of the menu.  Not all themes use these windows to build a menu.  For example, the WinUXTheme will use Win32 APIs to build a menu.

Allow themes to override the value of `[NSMenu _isVisible]` by introducing a `[GSTheme proposedVisibility: (BOOL)visible forMenu: (NSMenu *) menu]` method.  The default implementation simply eturns the proposed visibility.
2024-10-27 22:02:20 +01:00
Frederik Carlier
6a3681aa82
Add APPKIT_EXPORT_CLASS, APPKIT_EXPORT annotations (#288)
Some GS* classes and methods are used by the ColorPicker or Printing bundles.  That means that they are referenced from an external module.  For this module to be able to resolve these symbols, on Windows, they need to be exported.

This commit adds `APPKIT_EXPORT_CLASS` and `APPKIT_EXPORT` annotations, allowing ColorPickers to compile on Windows.
2024-09-12 22:45:55 +02:00
Gregory John Casamento
cf7b9ebd39 Final changes suggested by @fredkiefer and some small fixes before merge 2024-06-16 20:52:06 -04:00
Gregory John Casamento
77bf2f823b Move method back, eliminate possible duplicate call to render outline cell, changes suggested by review with @fredkiefer 2024-06-16 16:25:00 -04:00
Gregory John Casamento
b4c98b329b Move method that renders the outline icon per discussion with @fredkiefer, also includes some whitespace fixes 2024-06-16 08:38:12 -04:00
Gregory John Casamento
4d5957eaf7 Fully refactor delegate calls into NSTableView/NSOutlineView and move outlineColumn drawing to a public method 2024-04-28 09:49:19 -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
64b35d46ca Fixed issues recommended by @fredkiefer 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
f71ee8641b Initial changes for NSOutlineView view-based support 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
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
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
Sergei Golovin
53cb373976
Support tab renaming in terminal (#243)
* add missed methods declarations to GSTheme.h

* style tweaks
2024-02-19 09:11:56 +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
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
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
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
Gregory John Casamento
30d0dc66ee Quick fix adding export to GSMemoryPanel class 2022-11-03 20:56:48 -04: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
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
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 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
Fred Kiefer
b84d8cc3fd * Headers/Additions/GNUstepGUI/GSWindowDecorationView.h:
Move new addon methods for Wayland to correct class
GSStandardWindowDecorationView.
* Source/GSWindowDecorationView.m: Keep variables declarations together.
2021-12-28 17:23:48 +01:00
Riccardo Canalicchio
4eafb6f34c Add helper methods in GSWindowDecorator protocol for pointer hit test on window decorations 2021-12-17 09:09:37 +01:00
Gregory John Casamento
73c03767df Add tabview enum to header, fix signture issue. 2021-10-13 08:26:37 -04:00
Gregory Casamento
91fe895197
Merge branch 'master' into xib_gorm_integration 2021-05-02 12:17:13 -04:00
Gregory John Casamento
9534755dbb Add logic to build an array which contains information to recreate custom class associations in GSXib5KeyedUnarchiver 2021-04-28 19:04:04 -04:00
Gregory John Casamento
79fa1b68cd Changes to facilitate XIB loading in IB/Gorm. Added customClassNames to IBObjectContainer and skipped instantiation of custom classes in GSXib5KeyedUnarchiver if we are currently loading as a model in IB/Gorm. 2021-04-25 10:04:34 -04:00
Gregory John Casamento
b97aca9cd4 Removed unused GSXibObjectContainer.[hm] files from directory and from GNUmakefile 2021-04-24 11:08:21 -04:00
Gregory John Casamento
0d3c3d1b2a Add interface and abstract implementation of modelLoaderForData: 2021-04-24 06:06:45 -04:00
Riccardo Mottola
4004f549d7 height is CGFloat 2020-12-12 02:20:01 +01:00
Gregory John Casamento
7764903d6d Make drawing use the component cell to render 2020-05-06 08:38:31 -04:00
Gregory John Casamento
7dd732f9de Move to GSTheme. 2020-05-03 20:51:51 -04:00
Gregory John Casamento
fdd51ae2df Add color for disabled state 2020-04-24 02:34:59 -04:00
Gregory John Casamento
5d1ec31ef2 Move color selection into the theme 2020-04-22 17:44:04 -04:00
Gregory John Casamento
f57e5184c3 Resolve theme issues, change size of knob 2020-04-22 17:34:14 -04:00
Gregory John Casamento
da0f7ded36 Better colors 2020-04-17 18:03:26 -04:00