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)
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.
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
* Images/common_StepperDownHighlighted.tiff,
* Images/common_StepperUp.tiff,
* Images/common_StepperUpHighlighted.tiff: new images with arrows
similar to scroll view buttons'.
* Source/GSThemeDrawing.m (stepperUpButtonRectWithFrame:),
(stepperDownButtonRectWithFrame:): center buttons horizontally; simplify
and cleanup.
* Source/NSStepper.m (acceptsFirstResponder): return NO. Returning
YES makes sense only if `keyDown:` is implemented.
(acceptsFirstMouse:): return YES.
* Source/NSStepperCell.m (cellSize): initial implementation. Retruns
minimum size based on up and button sizes.
scroller if header or corner view available.
* Source/GSThemeDrawing.m: (drawTableCornerView:withClip:): do not draw
black rectangle because -drawDarkButton:withClip: draws all necessary
elements.
* Source/GSThemeDrawing.m (drawScrollViewRect:inView:): further cleanup
of method implementation. Removed all tweaks of scroller length - all
required calculations must be done in NSScrollView's -tile method. Simplified
caluclations of X and Y positions of scroller.
correct imp type.
* Source/NSButtonCell.m (-setBackgroundColor:): Update the
control view.
* Source/NSSegmentedCell.m (-drawSegment:inFrame:withView:):
* Draw
image if available.
* Source/NSPopUpButtonCell.m (-initWithCoder:): Add work around
for NSClassSwapper cell replacement.
Patches based on changes by Josh Freeman
<pikopixel@twilightedge.com>
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@39006 72102866-910b-0410-8b05-ffd578937521
scrollview bounds instead of the scroller frame for drawing the
border.
Patch by Jeff Teunissen <deek@d2dc.net>.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37438 72102866-910b-0410-8b05-ffd578937521
NSRectFill() instead of line drawing to get sharper separator
lines.
* Source/GSThemeDrawing.m (-drawScrollerRect:...): Don't fill
with window background colour.
* Source/NSScroller.m (-drawRect:): Draw only the knob slot when
disabled.
* Source/NSScroller.m (-mouseDown:): Don't handle mouse down
event when disabled.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37428 72102866-910b-0410-8b05-ffd578937521
Use color named @"highlightedTableRowBackgroundColor", if present in
the theme, to fill the selected row background.
* Source/GSThemeDrawing.m (-drawTableViewRow:clipRect:inView:):
When the row/column is selected, if the cell is a NSTextFieldCell,
set the text color to @"highlightedTableRowTextColor" before drawing the
cell (only if the theme defines that color).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37363 72102866-910b-0410-8b05-ffd578937521