Commit graph

157 commits

Author SHA1 Message Date
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
Sergii Stoian
9a58a93ee5 * Images/common_StepperDown.tiff,
* 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.
2020-01-10 15:46:22 +02:00
Sergii Stoian
3086184b2b * Source/GSThemeDrawing.m (drawScrollViewRect:inView:): minor variables fixes for
variables usage.
2019-12-17 19:50:45 +02:00
Sergii Stoian
7c6a22d174 * Source/NSScrollView.m (tile): tweak location and height of vertical
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.
2019-12-17 17:30:51 +02:00
Sergii Stoian
20db33e008 * Source/GSThemeDrawing.m (drawScrollViewRect:inView:):
Use [self sizeForBorderType: borderType] to determine border width.
2019-12-17 13:29:30 +02:00
Sergii Stoian
5c96e8ba02 * Source/GSThemeDrawing.m (drawScrollViewRect:inView:): fixed scroller
border positionning and length - do not overlap border if any.
2019-12-17 02:16:05 +02:00
fredkiefer
3ad98f9474 * Headers/Additions/GNUstepGUI/GSTheme.h,
* Source/GSThemeDrawing.m: Correct int/NSInteger mismatch detected
by Josh Freeman <pikopixel@twilightedge.com>.
2018-02-27 22:02:54 +01:00
Fred Kiefer
6974bf8a4f Some int -> NSInteger and float -> CGFloat transitions.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@40138 72102866-910b-0410-8b05-ffd578937521
2016-10-08 21:17:53 +00:00
Richard Frith-MacDonald
1b8dd0b36b Regression test improvments
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@39755 72102866-910b-0410-8b05-ffd578937521
2016-05-13 15:41:27 +00:00
Ivan Vučica
ba42ad0333 Use controlShadowColor when the color for NSBoxSeparator is not set. Xcode is not setting colors for these types of boxes in xibs.
Cherrypicking paullanders' r39276 (Testplant branch).

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@39285 72102866-910b-0410-8b05-ffd578937521
2016-01-17 21:36:11 +00:00
Fred Kiefer
be98a77769 * Source/GSThemeDrawing.m (-drawTableViewRect:inView:): Use
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
2015-09-20 21:16:33 +00:00
Gregory John Casamento
971a573445 Add drawing methods for theming NSBrowserCell.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@38690 72102866-910b-0410-8b05-ffd578937521
2015-06-26 05:27:12 +00:00
Gregory John Casamento
0ff0a07742 Added methods to retrieve dimensions for titlebar buttons and padding dimensions in a theme specific way rather than having them hard-coded.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@38681 72102866-910b-0410-8b05-ffd578937521
2015-06-25 18:18:41 +00:00
Fred Kiefer
db2cf18bfe * Source/GSThemeDrawing.m (-drawTableViewRow:clipRect:inView:):
Don't change the value of an edited cell.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37638 72102866-910b-0410-8b05-ffd578937521
2014-01-26 22:01:07 +00:00
Fred Kiefer
004c87b9a5 * Source/GSThemeDrawing.m (-drawScrollViewRect:inView:): Use the
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
2013-12-07 20:40:47 +00:00
Fred Kiefer
ab576bf677 * Source/GSThemeDrawing.m (-drawScrollViewRect:inView:): Use
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
2013-12-03 21:37:41 +00:00
Eric Wasylishen
0bd1257321 * Source/GSThemeDrawing.m (-highlightTableViewSelectionInClipRect:...):
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
2013-11-05 21:34:52 +00:00
Eric Wasylishen
d9da770d5b * Source/GSThemeDrawing.m:
* Source/GSThemeTools.m:
	* Headers/Additions/GNUstepGUI/GSTheme.h: Small refactor:
	most uses of -[GSTheme fillRect:withTiles:background:] use
	[NSColor clearColor], so add a version without the background:
	param.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37244 72102866-910b-0410-8b05-ffd578937521
2013-10-16 07:19:45 +00:00
Eric Wasylishen
326a3d57f4 * Source/GSThemeDrawing.m:
* Headers/Additions/GNUstepGUI/GSTheme.h: Add methods
	-menuSubmenuHorizontalOverlap and -menuSubmenuVerticalOverlap
	wrapping user defaults GSMenuSubmenuHorizontalOverlap and
	GSMenuSubmenuVerticalOverlap
	* Source/NSMenuView.m (-locationForSubmenu:): Offset calculations
	by -[GSTheme menuSubmenuHorizontalOverlap] and
	-[GSTheme menuSubmenuVerticalOverlap]


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37243 72102866-910b-0410-8b05-ffd578937521
2013-10-16 07:08:15 +00:00
Eric Wasylishen
64432f901d * Source/GSThemePrivate.h:
* Source/GSTheme.m: Add GSStringFromImageFrameStyle
	* Source/GSThemeDrawing.m (-drawBorderForImageFrameStyle:...):
	Use GSStringFromImageFrameStyle to get tiles, if presentwq


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37242 72102866-910b-0410-8b05-ffd578937521
2013-10-16 05:14:32 +00:00
Eric Wasylishen
c05595c8be * Source/GSThemeDrawing.m (-drawColorWellBorder:...): Draw inner
border using part GSColorWellInnerBorder
	* Source/GSTheme.m:
	* Headers/Additions/GNUstepGUI/GSTheme.h: Add GSColorWellInnerBorder
	part name


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37240 72102866-910b-0410-8b05-ffd578937521
2013-10-16 04:11:41 +00:00
Eric Wasylishen
a4fa237d9e * Source/GSThemePrivate.h:
* Source/GSThemeTools.m:
	* Source/GSThemeDrawing.m: Add explicit isFlipped: param to
	-[GSDrawTiles contentRectForRect:]


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37239 72102866-910b-0410-8b05-ffd578937521
2013-10-16 03:36:01 +00:00
Eric Wasylishen
310b7d5786 * Headers/Additions/GNUstepGUI/GSTheme.h: Remove GSScrollViewBottomCorner
part name, instead themes should just provide a part called NSScrollView.

	Add -scrollViewScrollersOverlapBorders method.

	* Source/GSTheme.m: Remove GSScrollViewBottomCorner part name.
	* Source/GSThemeDrawing.m: Add -scrollViewScrollersOverlapBorders.
	* Source/GSThemeDrawing.m (-drawBrowserRect:...): If
	-scrollViewScrollersOverlapBorders is enabled, fill the browser background
	with the NSScrollView tile.
	* Source/GSThemeDrawing.m (-drawScrollViewRect:...): If
	-scrollViewScrollersOverlapBorders is enabled, fill the scroll view background
	with the NSScrollView tile.
	* Source/NSScroller.m (-rectForPart:): Change the meaning of the
	GSScrollerKnobOvershoot default so the knob only overlaps the buttons
	by this much (rather than both ends of the track). Turns out this is more
	useful for themes.
	* Source/NSScrollView.m (-tile): Add support for
	-[GSTheme scrollViewScrollersOverlapBorders]
	* Source/NSBrowser.m (-tile): Add support for
	-[GSTheme scrollViewScrollersOverlapBorders] and
	-[GSTheme scrollViewUseBottomCorner]

	The overall point of these additions is to support NSScrollView and
	NSBrowser looking like: http://jesseross.com/clients/gnustep/ui/concepts/


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37238 72102866-910b-0410-8b05-ffd578937521
2013-10-15 23:26:51 +00:00
Eric Wasylishen
4e1aeabe94 * Source/NSTableView.m (-tile): Check the GSScrollViewNoInnerBorder
user default to see whether to expand the corner view by 1pt or not.
* Source/GSThemeDrawing.m (-drawTableHeaderRect:inView:): Remove
special case which reduced the width of the last column header by 1pt.

I don't see any reason for doing that and it looks better to me without
the gap, and more uniform for themeing.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37237 72102866-910b-0410-8b05-ffd578937521
2013-10-15 20:33:46 +00:00
Eric Wasylishen
1fdf58e506 * Headers/Additions/GNUstepGUI/GSTheme.h: Add -tabViewContentRectForBounds:
method.
* Source/GSThemeDrawing.m:
* Source/NSTabView.m: Move the -contentRect implementation to GSTheme
so we can delegate to GSDrawTiles, if used.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37234 72102866-910b-0410-8b05-ffd578937521
2013-10-15 07:27:44 +00:00
Eric Wasylishen
a55c2a9189 * Source/GSThemeDrawing.m (-tabHeightForType:): Check for nil
before calling -size on an NSImage, for systems where this
corrupts the stack.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37231 72102866-910b-0410-8b05-ffd578937521
2013-10-15 04:21:45 +00:00