Commit graph

182 commits

Author SHA1 Message Date
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
8d9cb6f933 Add logic to get the column / row for a given view 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
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
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
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
Fred Kiefer
3a6dce02be Remove some gcc compiler warnings 2023-12-28 14:45:16 +01: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
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
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
73c03767df Add tabview enum to header, fix signture issue. 2021-10-13 08:26:37 -04:00
Gregory John Casamento
d41635855f Force tabViewType to be something we support. To be fixed in a later branch to add other renderings for tabview since this branch is specific to controllers 2020-07-26 05:37:25 -04:00
Gregory John Casamento
dd80a3d890 Modify positions 2020-05-07 05:33:34 -04:00
Gregory John Casamento
e0357ebffe Refactor drawPathComponentCellWithFrame:... 2020-05-07 05:29:47 -04:00
Gregory John Casamento
0e7f729f1f Use represented object 2020-05-06 10:38:24 -04:00
Gregory John Casamento
7764903d6d Make drawing use the component cell to render 2020-05-06 08:38:31 -04:00
Gregory John Casamento
8222de40c6 Implement dragging handling and delegate interaction 2020-05-04 05:47:00 -04:00
Gregory John Casamento
636ebfcf0a Complete rendering for all types. 2020-05-03 23:20:42 -04:00
Gregory John Casamento
7dd732f9de Move to GSTheme. 2020-05-03 20:51:51 -04:00
Gregory John Casamento
760b14a2cc Update pixel offset 2020-04-26 10:30:36 -04:00
Gregory John Casamento
6c690312e9 Correct formatting of code. 2020-04-24 06:36:14 -04:00
Gregory John Casamento
627a4894cc Use fred's calculation for moving the knob 2020-04-24 06:34:43 -04:00
Gregory John Casamento
be756441aa Use fred's approach for the colors 2020-04-24 06:25:06 -04:00
Gregory John Casamento
d1beeaa0b7 remove uneeded function 2020-04-24 05:43:39 -04:00
Gregory John Casamento
2fb06e0e7b remove uneeded comment 2020-04-24 05:43:12 -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
57a8720cd8 Reduce repetition of code 2020-04-22 17:39:10 -04:00
Gregory John Casamento
f57e5184c3 Resolve theme issues, change size of knob 2020-04-22 17:34:14 -04:00
Gregory John Casamento
8fd9db5130 Improve position of knob 2020-04-18 16:31:05 -04:00
Gregory John Casamento
6bf8d790ef Improve position of knob 2020-04-18 14:36:26 -04:00
Gregory John Casamento
d083bc061d Improve calculation for knob position when in On state 2020-04-18 11:46:34 -04:00
Gregory John Casamento
da0f7ded36 Better colors 2020-04-17 18:03:26 -04:00
Gregory John Casamento
aa9344c78b Draw elements. 2020-04-17 06:32:05 -04:00
Gregory John Casamento
ecc9791ecf Draw elements. 2020-04-17 06:10:04 -04:00
Gregory John Casamento
a1672a4605 Add skeleton drawing method for switch to GSThemeDrawing. 2020-04-16 12:16:30 -04:00
fredkiefer
00bb2396a6 Diverse imporvements to get my XIB5 test application running. 2020-01-18 16:03:24 +01:00