Commit graph

112 commits

Author SHA1 Message Date
Daniel Ferreira
fcb11edca8 NSScroller: define scroller styles
As of macOS 10.7, scrollers gained two types: Legacy and Overlay. Here,
we define these styles as well as a method to determine which is the
"default" style to be used.
2017-07-31 11:22:59 +01: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
Fred Kiefer
b0bf0e98c6 * Source/NSScroller.m (-drawKnobSlot): Draw the slot even when
the scroller is disabled.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37427 72102866-910b-0410-8b05-ffd578937521
2013-12-02 18:59:04 +00:00
Fred Kiefer
313f18786a * Source/Functions.m (NSFrameRectWithWidth): Use one pixel width
if a value of 0 is given. Fixes bug #40760
        * Source/NSScroller.m: Move disable check out of -rectForPart:.
        Fixes bug #40761.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37425 72102866-910b-0410-8b05-ffd578937521
2013-12-01 20:58:06 +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
e72fe86870 * Documentation/GuiUser/DefaultsSummary.gsdoc:
* Headers/Additions/GNUstepGUI/GSTheme.h:
* Source/GSThemeDrawing.m:
* Source/NSScroller.m: Add defaults GSScrollerScrollsByPage
and GSScrollerArrowsSameEnd to allow customizing scroller
behaviour beyond the combinations provided by NSInterfaceStyle.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37200 72102866-910b-0410-8b05-ffd578937521
2013-10-07 03:29:14 +00:00
Eric Wasylishen
894b5b0059 * Source/NSScroller.m: Add GSScrollerKnobOvershoot default which
allows themes to make the scroller knob overlap the scroller buttons
by a specified amount.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37162 72102866-910b-0410-8b05-ffd578937521
2013-09-28 18:51:00 +00:00
Fred Kiefer
0c95f32580 More CGFloat, NSUInteger and NSInteger changes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@36163 72102866-910b-0410-8b05-ffd578937521
2013-02-17 22:44:47 +00:00
Fred Kiefer
d4f80c2258 Change NSEvent to CGFloat, NSUInteger and NSInteger.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@36121 72102866-910b-0410-8b05-ffd578937521
2013-02-13 08:40:36 +00:00
Fred Kiefer
2e738f7ba2 Correct issues with missing or incorrect self
tests in initXXX methods pointed out by static analyser.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32588 72102866-910b-0410-8b05-ffd578937521
2011-03-14 22:59:20 +00:00
Fred Kiefer
d83fb0774b Remove direct usage of isa.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32248 72102866-910b-0410-8b05-ffd578937521
2011-02-20 18:24:44 +00:00
Gregory John Casamento
538432c72f Added method to draw scroller using theme.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31656 72102866-910b-0410-8b05-ffd578937521
2010-11-26 19:16:46 +00:00
Fred Kiefer
63638ee055 Remove compiler warnings from clang.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30117 72102866-910b-0410-8b05-ffd578937521
2010-04-10 17:48:46 +00:00
Fred Kiefer
4b1472cf8a Make the signatures of methods consistent between headers and implementation files.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29687 72102866-910b-0410-8b05-ffd578937521
2010-02-20 13:21:57 +00:00
Riccardo Mottola
83ce1aeeca init scrollerWidth to 0.0, so that GSTheme can properly override it
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29237 72102866-910b-0410-8b05-ffd578937521
2010-01-08 17:58:08 +00:00
Richard Frith-MacDonald
c0913a5c74 MTheming improvment
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28979 72102866-910b-0410-8b05-ffd578937521
2009-11-09 11:33:03 +00:00
Fred Kiefer
1de788cfd3 Partial fix for bug #27638
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28816 72102866-910b-0410-8b05-ffd578937521
2009-10-12 18:54:17 +00:00
Fred Kiefer
d91f2c8dae Fix for bug #27637
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28814 72102866-910b-0410-8b05-ffd578937521
2009-10-12 16:42:45 +00:00
Fred Kiefer
32bb892abd Changed the class NSScroller to be more similar to the the current Apple
specification.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28671 72102866-910b-0410-8b05-ffd578937521
2009-09-14 19:00:07 +00:00
Fred Kiefer
7c2e8efcd8 Replace nil with [NSDate distantFuture] in calls to nextEventMatchingMask:...dequeue:.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28025 72102866-910b-0410-8b05-ffd578937521
2009-03-02 16:26:23 +00:00
Richard Frith-MacDonald
e1e6abaf84 Make sure we repopulate cached parts when needed.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27537 72102866-910b-0410-8b05-ffd578937521
2009-01-06 16:58:07 +00:00
Richard Frith-MacDonald
f97985f224 Click on slot scrolls by a page if in windows insterface style
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27529 72102866-910b-0410-8b05-ffd578937521
2009-01-06 06:57:50 +00:00
Richard Frith-MacDonald
2f75abcf2e Add support for temporary elements which go away when the theme is deactivated.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27528 72102866-910b-0410-8b05-ffd578937521
2009-01-06 05:08:58 +00:00
Richard Frith-MacDonald
23f7bcc0e6 Fix memory leak and commit latest scroller theming workings
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27521 72102866-910b-0410-8b05-ffd578937521
2009-01-05 14:55:34 +00:00
Richard Frith-MacDonald
62492a9158 Some moves towards making scrollers more themable
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27518 72102866-910b-0410-8b05-ffd578937521
2009-01-05 09:43:25 +00:00
Richard Frith-MacDonald
3c16aeb873 Tweak last change so that scrollers have cached info cleared
before any windows are redrawn.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27500 72102866-910b-0410-8b05-ffd578937521
2009-01-02 13:28:07 +00:00
Richard Frith-MacDonald
10964ee37f Try to produce dynamic update of theme for scrollers ... may need more work.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27499 72102866-910b-0410-8b05-ffd578937521
2009-01-02 13:19:23 +00:00
Richard Frith-MacDonald
664c7cadd2 Some code for scroller theming
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27498 72102866-910b-0410-8b05-ffd578937521
2009-01-02 12:40:07 +00:00
Adam Fedor
7afdd32ac1 Revert library license version to 2 until applications can be converted
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@26619 72102866-910b-0410-8b05-ffd578937521
2008-06-10 04:01:49 +00:00
Fred Kiefer
193e31e678 Change all files to use GPL 3 and LGPL 3.
Prepare for next release.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@25536 72102866-910b-0410-8b05-ffd578937521
2007-10-29 21:16:17 +00:00
Fred Kiefer
a66882b17b Add new MacOSX 10.4 methods and constants to NSWindow. Requires
recompilation of all applications!


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@25469 72102866-910b-0410-8b05-ffd578937521
2007-09-09 12:19:01 +00:00
Gregory John Casamento
d68950d71a Nib compatibility code merge.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@22957 72102866-910b-0410-8b05-ffd578937521
2006-05-20 22:12:46 +00:00
Fabien Vallon
7034367441 Improved documentation
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@22097 72102866-910b-0410-8b05-ffd578937521
2005-11-24 15:57:01 +00:00
Adam Fedor
303dd1baf9 Update FSF Address.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@21259 72102866-910b-0410-8b05-ffd578937521
2005-05-26 02:52:46 +00:00
Adrian Robert
f9855fbf42 NSScroller: calculate buttonsWidth dyamically based on +scrollerWidth
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@20851 72102866-910b-0410-8b05-ffd578937521
2005-03-05 16:08:30 +00:00
Alexander Malmberg
2ac6904615 Use floor() instead of floorf().
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@19749 72102866-910b-0410-8b05-ffd578937521
2004-07-19 23:28:33 +00:00
Sergii Stoian
867c0523e0 Use added highlighted images of buttons
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@19691 72102866-910b-0410-8b05-ffd578937521
2004-07-07 21:49:08 +00:00
Sergii Stoian
6de723c6ad Pending knob proportion setting implemented. Handle the case when knob proportion == 1.0
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@19643 72102866-910b-0410-8b05-ffd578937521
2004-06-28 13:21:06 +00:00
Fred Kiefer
df3b584a19 Added keyed decoding.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@18510 72102866-910b-0410-8b05-ffd578937521
2004-01-30 19:49:00 +00:00
Sergii Stoian
0839ec5546 (drawKnobSlot): Always draw background. Even if there's no room
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@18342 72102866-910b-0410-8b05-ffd578937521
2004-01-09 11:25:18 +00:00
Fred Kiefer
4e578145fe Removed some compiler warnings.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@18329 72102866-910b-0410-8b05-ffd578937521
2004-01-07 13:25:29 +00:00
Michael Silva
8512c509e1 Cell modifications to remove unecessary images/color changes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@17406 72102866-910b-0410-8b05-ffd578937521
2003-07-31 20:47:00 +00:00
Adam Fedor
6be9174933 Include <> -> ""
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16917 72102866-910b-0410-8b05-ffd578937521
2003-06-13 15:01:12 +00:00
Alexander Malmberg
accbe13cb3 (-acceptsFirstResponder): Implement to return NO.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16598 72102866-910b-0410-8b05-ffd578937521
2003-05-01 19:50:20 +00:00
Michael Silva
e9ccc289d5 Multiple commits from Michael, see ChangeLog.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16458 72102866-910b-0410-8b05-ffd578937521
2003-04-13 23:45:39 +00:00
Alexander Malmberg
42504c3dd6 (-trackKnob:): Wrap each iteration in an autorelease pool.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16297 72102866-910b-0410-8b05-ffd578937521
2003-03-30 17:24:47 +00:00
Alexander Malmberg
3b7c4e2a12 Minor changes and cleanups.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15925 72102866-910b-0410-8b05-ffd578937521
2003-02-10 14:29:31 +00:00
Nicola Pero
ba494c7cd9 Lock focus / unlock focus optimizations and fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15839 72102866-910b-0410-8b05-ffd578937521
2003-02-01 05:10:00 +00:00
Nicola Pero
2dc798da12 Small optimization - avoid to call the scrollview's _doScroll: on the first
click, if the click is not actually changing the float value


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15735 72102866-910b-0410-8b05-ffd578937521
2003-01-27 03:06:34 +00:00
Nicola Pero
e6832b40aa Updated testPart: and its callers for new semantics; highlight the cell
in -drawArrow:highlight:


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15732 72102866-910b-0410-8b05-ffd578937521
2003-01-27 02:54:00 +00:00