Commit graph

5565 commits

Author SHA1 Message Date
rmottola
872adb97f2 Rewrite Open compatibility with a more readable macro
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37936 72102866-910b-0410-8b05-ffd578937521
2014-06-03 12:48:13 +00:00
rmottola
83380d80e5 Add giflib 5.1 compatibility through macro.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37935 72102866-910b-0410-8b05-ffd578937521
2014-06-03 11:18:55 +00:00
buzzdee
be92f3c695 * Headers/AppKit/NSStatusItem.h
* Source/NSStatusItem.m
        make return value of -sendActionOn: match apple documentation


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37925 72102866-910b-0410-8b05-ffd578937521
2014-05-30 12:28:59 +00:00
rmottola
14d9b07b6c Transform 0..255 compression factor to 0..1 quality to match Cocoa specs
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37898 72102866-910b-0410-8b05-ffd578937521
2014-05-21 14:52:09 +00:00
fredkiefer
38af0dc88b * Source/GSXibLoader.m (-awake:inContainer:withContext:): Allow
for subclasses of NSApplication as rootObjects.
        Based on patch by Marcian Lytwyn <gna@advcsi.com>.
        * Source/NSWindow.m (-userSpaceScaleFactor): Handle case where
        _screen is nil.
        Patch by Doug Simons (dsimons@testplant.com).
        * Source/NSWindow.m (-_screenForFrame:): Require real overlapp.
        Patch by Doug Simons (dsimons@testplant.com).
        * Source/NSTextField.m (-textDidChange:): Improve editing
        behavior when formatter returns a new string.
        Patch by Doug Simons (dsimons@testplant.com).


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37830 72102866-910b-0410-8b05-ffd578937521
2014-05-03 21:45:47 +00:00
fredkiefer
fc150231a2 * Source/NSWindow.m: (-setFrame:): Revert last change.
* Source/NSWindow.m: (-encodeWithCoder:, -initWithCoder:): Use
  content min/max size instead of min/max size.
* Source/NSWindow.m: (+initialize): Increase version number to 3.
* Source/GSNibLoading.m (NSWindowTemplate -encodeWithCoder:,
  -initWithCoder:): Use NSWindowContentMinSize/NSWindowContentMaxSize
  instead of NSMinSize/NSMaxSize.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37828 72102866-910b-0410-8b05-ffd578937521
2014-05-03 18:32:20 +00:00
gcasa
80247e6982 Addition of XIBObject base class for handling objects parsed out of the XIB file.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37799 72102866-910b-0410-8b05-ffd578937521
2014-04-16 21:29:08 +00:00
gcasa
fc6a1aadb2 Parse XML into tree for processing.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37785 72102866-910b-0410-8b05-ffd578937521
2014-04-03 04:58:59 +00:00
fredkiefer
c6ca4ff265 2013-04-02 Frank Le Grand <frank.legrand@testplant.com>
* Source/NSToolbarItem.m: Fixed a bug where calling setImage:
          on a toolbar item would draw the image even if the toolbar
          display mode would be set to NSToolbarDisplayModeLabelOnly
        * Source/GSToolbarCustomizationPalette.m: Turn NSLog into
          NSDebugLLog.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37782 72102866-910b-0410-8b05-ffd578937521
2014-04-02 20:55:19 +00:00
gcasa
2459cb7ac8 Add object container.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37762 72102866-910b-0410-8b05-ffd578937521
2014-03-25 08:07:54 +00:00
gcasa
09993f6a6f Initial code for XIB 5 support.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37761 72102866-910b-0410-8b05-ffd578937521
2014-03-25 07:59:36 +00:00
fredkiefer
55e763f106 * Headers/AppKit/NSTextAttachment.h
* Source/NSTextAttachment.m: Use NSUInteger and bring closer to
        the Apple implementation.
        * Source/GSHorizontalTypesetter.m (-layoutLineNewParagraph:):
        For attachments use the cell origin y flipped.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37704 72102866-910b-0410-8b05-ffd578937521
2014-02-23 21:07:20 +00:00
gcasa
a3f2d12641 Fix for issue with resize when using in-window menus.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37698 72102866-910b-0410-8b05-ffd578937521
2014-02-20 23:49:37 +00:00
fredkiefer
e941843120 * Source/NSTextView.m (-insertText:): Ignore nil argument.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37694 72102866-910b-0410-8b05-ffd578937521
2014-02-18 20:38:31 +00:00
fredkiefer
4d6888a9d9 * Source/NSWindowController.m (-setWindow:): Clear the window
delegate if set by NIB loading.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37681 72102866-910b-0410-8b05-ffd578937521
2014-02-05 22:55:53 +00:00
fredkiefer
2f8b4c6a89 * Headers/AppKit/NSCell.h
* Source/NSCell.m: Add hitTestForEvent:inRect:ofView:.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37639 72102866-910b-0410-8b05-ffd578937521
2014-01-26 22:34:56 +00:00
fredkiefer
0d3147a605 * 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
buzzdee
fc360f7709 * Source/NSFontPanel.m
* Some int -> NSInteger and float -> CGFloat transitions

OK Fred



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37635 72102866-910b-0410-8b05-ffd578937521
2014-01-26 12:01:38 +00:00
wlux
bb52b91896 Pass nil argument to selector called by NSTextView -doCommandBySelector:
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37633 72102866-910b-0410-8b05-ffd578937521
2014-01-24 09:07:31 +00:00
fredkiefer
e7fc793f00 * Source/NSDocument.m: Add some NSError return values.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37619 72102866-910b-0410-8b05-ffd578937521
2014-01-19 21:30:23 +00:00
fredkiefer
f336c2b81f * Source/NSTextAttachment.m: Add keyed coding.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37580 72102866-910b-0410-8b05-ffd578937521
2014-01-12 14:55:03 +00:00
fredkiefer
1226543e89 * Source/NSAttributedString.m (-fixFontAttributeInRange:): Don't
look for substitutions for control or attachment characters.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37575 72102866-910b-0410-8b05-ffd578937521
2014-01-11 18:09:54 +00:00
fredkiefer
f16dddd595 * Source/NSSavePanel.m (-runModal): Use only last component from
filename.
* Source/NSSavePanel.m (-filename): Return autoreleased copy of
  instance variable.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37570 72102866-910b-0410-8b05-ffd578937521
2014-01-10 16:58:18 +00:00
thebeing
eabce8b7c3 Roll back addition of redundant method.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37539 72102866-910b-0410-8b05-ffd578937521
2014-01-05 23:03:35 +00:00
thebeing
4a00176d20 Add a method to GSDisplayServer that allows you to obtain the
identifier used by the backend's windowing system instead of
just the GNUstep-internal window number. On X11, the identifier
is useful, among other things, to implement the D-Bus menu 
protocol.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37533 72102866-910b-0410-8b05-ffd578937521
2014-01-01 19:45:26 +00:00
fredkiefer
aec750d3d5 * Source/NSImage.m: Add description method.
Patch by Johannes Lundberg <johannes@brilliantservice.co.jp>.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37518 72102866-910b-0410-8b05-ffd578937521
2013-12-26 12:34:57 +00:00
fredkiefer
cfdbd263bb * Update release notes to prepare for upcoming release.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37492 72102866-910b-0410-8b05-ffd578937521
2013-12-23 16:57:18 +00:00
fredkiefer
7eca2d4194 * Source/GSXibLoader.m: Handle changed keys for XIB 4.6 format.
Based on patch by Marcian Lytwyn <marcian.lytwyn@advcsi.com>.
* Source/GSXibLoader.m (-parser:...): Warn about unsupported XIB 5 format.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37463 72102866-910b-0410-8b05-ffd578937521
2013-12-13 20:34:52 +00:00
fredkiefer
f4ef0ffb77 * Source/NSTableView.m (-numberOfRows): Return the current number
of rows not the internal cached value.
  Replace some occurences of int with NSInteger
  and unsigned with NSUInteger.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37461 72102866-910b-0410-8b05-ffd578937521
2013-12-13 15:08:32 +00:00
fredkiefer
078ad71cec * Source/NSClipView.m (-setBounds:, -setBoundsSize:): Use
-setNeedsDisplay: to redraw areas no longer covered by the
        document view.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37441 72102866-910b-0410-8b05-ffd578937521
2013-12-08 14:16:17 +00:00
fredkiefer
6440780eb2 * Source/NSClipView.m (-setDocumentView:): Don't take the
background colour from the document view.
  Patch by Jeff Teunissen <deek@d2dc.net>.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37440 72102866-910b-0410-8b05-ffd578937521
2013-12-07 20:55:26 +00:00
fredkiefer
bbfd47efe3 * 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
fredkiefer
b355e85c95 * Source/NSBitmapImageRep+JPEG.m: Remove CYGWIN specific define
as it is no longer needed. I leave the code for this in for a
  while.
  Patch by Sebastian Reitenbach <sebastia@l00-bugdead-prods.de>.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37435 72102866-910b-0410-8b05-ffd578937521
2013-12-06 17:45:37 +00:00
fredkiefer
3e9e68dd23 * Source/NSClipView.m (-setBounds:, -setBoundsSize:): Mark the
documentView as needing redisplay. Fixes #40776.
        Based on patch by Jeff Teunissen <deek@d2dc.net>.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37429 72102866-910b-0410-8b05-ffd578937521
2013-12-03 22:18:04 +00:00
fredkiefer
99f4bd9648 * 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
fredkiefer
957f817a56 * 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
fredkiefer
b6a7b5ad60 * 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
fredkiefer
ca6ec91a49 * Headers/Additions/GNUstepGUI/GSModelLoaderFactory.h,
* Source/GSModelLoaderFactory.m: Add new method +supportedTypes.
* Source/NSBundleAdditions.m: Use this new method to implement
  NIB resource detection on top of the base methods instead of doing
  it here.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37421 72102866-910b-0410-8b05-ffd578937521
2013-12-01 12:26:12 +00:00
fredkiefer
935c45f00e * Source/NSGradient.m: Rearrange code to avoid duplicate
saveGraphicsState calls.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37407 72102866-910b-0410-8b05-ffd578937521
2013-11-24 20:25:23 +00:00
fredkiefer
803c50651d * Source/NSBitmapImageRep+GIF.m: Add define missing in libgif 5.0.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37405 72102866-910b-0410-8b05-ffd578937521
2013-11-24 11:56:33 +00:00
fredkiefer
be61e98fac * Source/NSBrowser.m (-selectionIndexPaths): Actually do the correction.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37404 72102866-910b-0410-8b05-ffd578937521
2013-11-24 11:08:02 +00:00
fredkiefer
929048423f * Source/NSBrowser.m (-selectionIndexPaths): Correct off by one
error in last change.
  Detected by Sebastian Reitenbach <sebastia@l00-bugdead-prods.de>.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37403 72102866-910b-0410-8b05-ffd578937521
2013-11-23 17:04:56 +00:00
fredkiefer
cf3ba566ca * configure.ac: Detect new GifQuantizeBuffer function.
* configure: regenerate
        * Source/NSBitmapImageRep+GIF.m: Try to handle quantize again
          for libgif 5.0.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37400 72102866-910b-0410-8b05-ffd578937521
2013-11-22 23:02:17 +00:00
fredkiefer
9be38fcc46 * configure.ac: Try to improve the ICU detection.
* configure: regenerate
        * Headers/AppKit/NSTrackingArea.h
        * Source/NSTrackingArea.m: Remove compiler warnings.
        * Headers/AppKit/NSBrowser.h,
        * Source/NSBrowser.m: Add a few new Cocoa methods.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37399 72102866-910b-0410-8b05-ffd578937521
2013-11-22 22:44:37 +00:00
espectador
86c551f017 Set _lastPoint only for mouse entered events.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37398 72102866-910b-0410-8b05-ffd578937521
2013-11-22 19:21:02 +00:00
rmottola
c43f72954e Adapt for newer libgif versions of EGifOpen and renamed GifMakeMapObject.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37369 72102866-910b-0410-8b05-ffd578937521
2013-11-08 09:01:50 +00:00
ericwa
7b78ff24ba * 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
buzzdee
dac39deb37 * Source/NSSpellChecker.m
int -> NSInteger transition

OK Fred



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37355 72102866-910b-0410-8b05-ffd578937521
2013-11-03 16:04:06 +00:00
fredkiefer
bb061a68cd * Source/GSServicesManager.m: Call the more modern
NSDocumentController methods to open documents.
        * Resources/English.lproj/Localizable.strings
        * Resources/Esperanto.lproj/Localizable.strings
        * Resources/French.lproj/Localizable.strings
        * Resources/German.lproj/Localizable.strings
        * Resources/Italian.lproj/Localizable.strings
        * Resources/Lojban.lproj/Localizable.strings
        * Resources/Spanish.lproj/Localizable.strings
        Regenerate string files.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37350 72102866-910b-0410-8b05-ffd578937521
2013-11-01 20:34:29 +00:00
rfm
a564598e45 fix caching for mutated attribute values
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37343 72102866-910b-0410-8b05-ffd578937521
2013-11-01 06:45:18 +00:00
fredkiefer
43b35bea00 * Source/GSHorizontalTypesetter.m (-layoutLineNewParagraph:):
Only adjust max_line_height to minimumLineHeight if it isn't zero.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37296 72102866-910b-0410-8b05-ffd578937521
2013-10-27 20:02:41 +00:00
rmottola
09ac2ff97f * Source/NSTextView.m (-mouseDown:): Use container origin for attachment cells.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37283 72102866-910b-0410-8b05-ffd578937521
2013-10-26 15:50:02 +00:00
fredkiefer
c2f1410076 * Source/NSMenuView.m (-heightForItem:): Use
-menuItemCellForItemAtIndex: to protect against an index being to
  big. This happens when the menu does not send notifications and a
  non-existing item gets highlighted.
* Source/NSMenuView.m (-menuItemCellForItemAtIndex:): Protect
  against negative index values.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37279 72102866-910b-0410-8b05-ffd578937521
2013-10-25 22:34:18 +00:00
fredkiefer
58829e5f8d * Source/NSBitmapImageRep+PNG.m: Better cleanup on error.
* Source/NSBitmapImageRep.m (_set_bit_value): Correct error in
bit operation. This should allow the code to work with 16 bit images.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37267 72102866-910b-0410-8b05-ffd578937521
2013-10-20 20:41:52 +00:00
fredkiefer
e00ae378c2 Add some OSX 10.6 methods.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37247 72102866-910b-0410-8b05-ffd578937521
2013-10-17 21:05:15 +00:00
ericwa
6ba92fb344 * 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
ericwa
6cb79db929 * 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
ericwa
3245adb05e * 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
ericwa
a6f9c9ab78 * 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
ericwa
a11deb9ea1 * 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
ericwa
240f754c33 * 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
ericwa
7ebdcd6517 * 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
ericwa
cc79a86cb6 * Source/NSButtonCell.m:
* Source/NSMenuItemCell.m: Make a shared -themeControlState in
NSButtonCell and eliminate duplicated code.
* Source/NSPopUpButtonCell.m: Add private declaration for
-[NSButtonCell themeControlState]


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37236 72102866-910b-0410-8b05-ffd578937521
2013-10-15 18:41:17 +00:00
ericwa
d2c40ca934 * 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
ericwa
617357136a * Source/NSTabViewItem.m (-drawLabel:inRect:): Center label vertically
inside the tab.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37233 72102866-910b-0410-8b05-ffd578937521
2013-10-15 07:08:01 +00:00
ericwa
c673a06970 * Source/NSTabView.m (-initWithCoder:): Make non-keyed archives
call -selectTabViewItem: to select the current tab at unarchiving
	time (keyed archives were already doing this.)

	Comment: "N.B.: As a side effect, this discards the subview frame
	and sets it to [self contentRect].

	This is desirable because the subview frame will be different
	depending on whether the arcive is from Cocoa or GNUstep,
	and which GNUstep theme was active at save time.

	However, it does mean that the tab view contents should be
	prepared to resize slightly."

	The immediate need for this is tab views were changed to use
	flipped coordinates, so the subview frames stored in existing
	archives are now in the wrong coordinate system.

	This is essentially the same idea as NSScrollView calling -tile at the
	end of -initWithCoder: so I hope it makes sense for tab views too.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37232 72102866-910b-0410-8b05-ffd578937521
2013-10-15 06:17:36 +00:00
ericwa
58a7b10047 * 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
ericwa
1c0c80227c * Source/GSThemeDrawing.m: Change stepper drawing methods to use
images. The stepper is too small to make decomposing it in to
border + bezel + arrow worthwhile; it's simpler to just use images.
* Images/GNUmakefile:
* Images/common_StepperDown.tiff:
* Images/common_StepperDownHighlighted.tiff:
* Images/common_StepperUp.tiff:
* Images/common_StepperUpHighlighted.tiff: Add stepper images


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37229 72102866-910b-0410-8b05-ffd578937521
2013-10-14 20:52:55 +00:00
ericwa
c8c8f845ce * Headers/Additions/GNUstepGUI/GSTheme.h: Add three new theme
control state: GSThemeFirstResponderState,
GSThemeHighlightedFirstResponderState,
and GSThemeSelectedFirstResponderState. This lets themes draw
custom first responder tiles, if the desired effect can't be
accomplished by drawing on top of an existing button.
* Source/GSThemeDrawing.m (-drawFocusFrame:inRect:):
Use tiles named "NSFocusRing" if available, else draw dotted
rect.
* Source/GSTheme.m:
* Source/NSButtonCell.m: Use new GSTheme*FirstResponderState
states


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37227 72102866-910b-0410-8b05-ffd578937521
2013-10-14 17:18:38 +00:00
ericwa
fe37bc668a * Source/GSThemeDrawing.m (-drawTableViewBackgroundInClipRect:...):
Add support for drawing striped table backgrounds, using the colors
returned by [NSColor controlAlternatingRowBackgroundColors].
Currently not used because
-[NSTableView usesAlternatingRowBackgroundColors] is hardcoded to
return NO.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37226 72102866-910b-0410-8b05-ffd578937521
2013-10-14 07:05:05 +00:00
ericwa
7267a3cd1a * Source/NSSliderCell.m (-drawKnob:): Don't fill the knob
with a background color before drawing the cell. Seems pointless
- GNUstep's default knob image is opaque, but filling with a solid
color prevents transparent knob images from looking good.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37224 72102866-910b-0410-8b05-ffd578937521
2013-10-14 04:16:30 +00:00
ericwa
25d6d5d2f2 * Headers/Additions/GNUstepGUI/GSTheme.h:
* Source/GSTheme.m: Add GSProgressIndicatorBezel part name
* Source/GSThemeDrawing.m (-drawProgressIndicatorBezel:withClip:):
Use GSProgressIndicatorBezel to draw bezel if available.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37222 72102866-910b-0410-8b05-ffd578937521
2013-10-14 03:31:54 +00:00
ericwa
4ee6d51fd0 * Source/GSThemeTools.m (-initWithNinePatchImage:): Parse the
"optiacal bounds" metadata in 9-patch images. It's stored
in the layoutRect ivar but not used otherwise.

See "Optical bounds layout" section of:
http://developer.android.com/about/versions/android-4.3.html
* Source/GSThemePrivate.h (GSDrawTiles): Add layoutRect ivar


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37219 72102866-910b-0410-8b05-ffd578937521
2013-10-12 18:24:33 +00:00
ericwa
a92ca7df32 * Source/NSColorWell.m (-drawRect:): Remove incorrect intersection
with clipping rect that was causing artifacts when scrolling a list
of color wells in Thematic.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37218 72102866-910b-0410-8b05-ffd578937521
2013-10-12 04:48:04 +00:00
ericwa
4444c54901 * Source/GSThemeTools.m: Fix unflipped/flipped coordinates bug
in the 9-patch content rect parsing code. Add some comments.
Simplify contentRectForRect: implementation.
* Source/GSThemeDrawing.m (-browserHeaderDrawingRectForCell:...):
Use -contentRectForRect: to get the content rect instead of
incorrectly reading from ivar. Fixes broken text positioning
in browser header with Nesedah theme.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37217 72102866-910b-0410-8b05-ffd578937521
2013-10-12 04:33:59 +00:00
espectador
7a7cc128b9 Fix last commit.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37215 72102866-910b-0410-8b05-ffd578937521
2013-10-09 19:45:55 +00:00
espectador
1cd93b15a4 Send events mouse entered only if the cursor rectangle is valid.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37214 72102866-910b-0410-8b05-ffd578937521
2013-10-09 19:07:36 +00:00
espectador
f96885c63e Set _lastPoint after update the cursor in NSWindow.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37213 72102866-910b-0410-8b05-ffd578937521
2013-10-09 18:52:39 +00:00
ericwa
ddbcf53054 * Source/GSThemeDrawing.m:
* Source/GSTheme.m:
* Headers/Additions/GNUstepGUI/GSTheme.h: Add part names for
themeing bottom tabs.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37211 72102866-910b-0410-8b05-ffd578937521
2013-10-09 01:48:50 +00:00
ericwa
37404490a1 * Source/GSThemeDrawing.m (-drawBoxInClipRect:...):
* Source/NSBox.m (-calcSizesAllowingNegative):
Special case for box type NSBoxSeparator to draw a centered line


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37210 72102866-910b-0410-8b05-ffd578937521
2013-10-08 23:42:30 +00:00
ericwa
88a3f4a16e * Source/NSTabView.m: Fix incorrect content rect now that view
is flipped.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37209 72102866-910b-0410-8b05-ffd578937521
2013-10-08 20:30:28 +00:00
ericwa
3b991352f8 * Source/GSTheme.m (-tilesNamed:state:): Interpret .9.png files
as NinePatch=YES. If a tile isn't listed in GSThemeTiles in the
plist, try to find it in the ThemeTiles directory anyway. This
lets you avoid declaring tiles in the info plist.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37208 72102866-910b-0410-8b05-ffd578937521
2013-10-08 19:32:09 +00:00
ericwa
b1340d7958 * Source/GSThemeDrawing.m (NSBox): If drawing with theme tiles,
use actual clipping to clip a hole in the border, so we can avoid
filling anything with the background color.
* Source/NSBox.m (-isOpaque:): change to NO.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37207 72102866-910b-0410-8b05-ffd578937521
2013-10-08 18:22:15 +00:00
ericwa
d015c4a1c8 * Source/NSTabView.m: Uncomment - (BOOL) isFlipped { return YES; }
* Source/GSThemeDrawing.m: Change tab drawing to assume flipped
coordinates


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37206 72102866-910b-0410-8b05-ffd578937521
2013-10-08 17:35:44 +00:00
ericwa
4b5afa085d * Source/GSThemeDrawing.m: Rewrite tab drawing code to be more
organized, lay out the images in a straightforward way, and
allow themeing the fill part of the tab between the end images.
The output is almost pixel-identical to
the old code (only some unnoticable 1-pixel differences
in where shadows end). It's also organized so that adding support
for left and right tabs should be easy.
* Headers/Additions/GNUstepGUI/GSTheme.h: Add some part names
* Images/common_Tab*.tiff: Tweak to work with the new layout code.
All top images are now the same size, as are all bottom images.
* Images/GNUmakefile:
* Images/common_TabUnSelectToSelectedJunction.tiff: Renamed to
Images/common_TabUnSelectedToSelectedJunction.tiff
* Source/GSThemePrivate.h:
* Source/GSTheme.m: Add GSStringFromTabViewType utility function


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37205 72102866-910b-0410-8b05-ffd578937521
2013-10-08 08:01:23 +00:00
ericwa
8253cb0c29 * Source/GSThemeDrawing.m (-drawTableViewGridInClipRect:inView:):
Clean up grid drawing code; use rect fills to avoid blurriness.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37204 72102866-910b-0410-8b05-ffd578937521
2013-10-07 23:32:14 +00:00
ericwa
cb7205389d * Headers/Additions/GNUstepGUI/GSTheme.h:
* Source/GSThemeDrawing.m:
* Source/NSPopUpButtonCell.m:
Remove -[GSTheme drawBorderAndBackgroundForPopUpButtonCell:
withFrame:inView:state:] which I added recently, and just use
-[GSTheme drawButton:in:view:style:state]. This way,
NSPopUpButtonCell automatically supports all of the different
NSBezelStyles.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37202 72102866-910b-0410-8b05-ffd578937521
2013-10-07 07:29:13 +00:00
ericwa
703f72ff3c * Source/GSTitleView.m: Use the GSTheme
-setName:forElement:temporary: mechanism to bind the menu close
button's cell to the name GSMenuCloseButton, so themes can provide
a custom border for this button.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37201 72102866-910b-0410-8b05-ffd578937521
2013-10-07 06:23:02 +00:00
ericwa
3009711bf0 * 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
ericwa
a2975a65f0 * Source/NSColor.m:
* Source/NSColorWell.m: Move code to draw the black and white
triangles background for transparent colors to
-[NSColor drawSwatchInRect:].


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37194 72102866-910b-0410-8b05-ffd578937521
2013-10-04 07:18:27 +00:00
ericwa
e6357523a4 * Headers/Additions/GNUstepGUI/GSTheme.h:
* Source/GSThemeDrawing.m:
* Source/NSBrowser.m:
* Source/NSTableHeaderCell.m: Add custom color names
tableHeaderTextColor and browserHeaderTextColor for
table and browser headers.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37193 72102866-910b-0410-8b05-ffd578937521
2013-10-04 02:23:16 +00:00
ericwa
07d2fc465b * Source/NSMenuItemCell.m: If the cell is highlighted, draw
the arrow using NSHighlightedMenuArrow (if available).


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37192 72102866-910b-0410-8b05-ffd578937521
2013-10-04 00:50:45 +00:00
ericwa
ddba9eefa8 * Source/GSThemeDrawing.m: Use new -[GSDrawTiles themeMargins]
to get the margins for draw tiles.
* Source/GSThemePrivate.h:
* Source/GSThemeTools.m: Get the 9-patch content rect support
working from end-to-end.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37191 72102866-910b-0410-8b05-ffd578937521
2013-10-03 22:24:57 +00:00
ericwa
edfc7a3923 * Headers/Additions/GNUstepGUI/GSTheme.h:
* Source/GSTheme.m:
* Source/GSThemeDrawing.m:
* Source/NSBox.m: Factor out -[NSBox drawRect:] to GSTheme
method -drawBoxInClipRect:boxType:borderType:inView:.
Add a tiles name GSBoxBorder for themeing the box border.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37188 72102866-910b-0410-8b05-ffd578937521
2013-10-03 19:52:05 +00:00
ericwa
97d5edec42 * Source/NSSliderCell.m: Support themeing the circular slider
with the image @"common_CircularSlider". Draw the dimple
with @"common_Dimple" instead of an NSBezierPath.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37186 72102866-910b-0410-8b05-ffd578937521
2013-10-03 06:55:45 +00:00
ericwa
d34a33eef0 * Headers/Additions/GNUstepGUI/GSTheme.h:
* Source/GSTheme.m:
Declare GSSliderHorizontalTrack and GSSliderVerticalTrack
part names for themeing the background of NSSlider
* Source/GSThemeDrawing.m:
Add new drawSliderBorderAndBackground:frame:inCell:isHorizontal:
method to draw the slider border and background.
* Source/GSThemePrivate.h:
* Source/GSThemeTools.m:
Add a -size method on GSDrawTiles which returns the total
original size of the tiles, so we can easily compute a rect
that scales the tiles in only one dimension.
* Source/NSSliderCell.m:
Override _drawBorderAndBackgroundWithFrame: to call new
GSTheme method. Also, tweak the knob drawing code; the knob
is now centered and drawn at its native size. This still looks
correct with the default slider sizes create by Gorm.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37185 72102866-910b-0410-8b05-ffd578937521
2013-10-03 04:51:10 +00:00
ericwa
2d9baa6c5e * Source/NSMenuView.m (heightForItem:, yOriginForItem:):
Accept negative item indicies, which are passed in when
opening the preferences window in TextEdit. Need to investigate
further why that is happening.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37184 72102866-910b-0410-8b05-ffd578937521
2013-10-03 00:35:27 +00:00
ericwa
93eeb1101c * Headers/Additions/GNUstepGUI/GSTheme.h:
* Source/GSTheme.m:
* Source/GSThemeDrawing.m:
* Source/NSPopUpButtonCell.m: Add a theme part GSPopUpButton
so NSPopUpButtonCell can be drawn with a different background
than NSMenuItemCell.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37183 72102866-910b-0410-8b05-ffd578937521
2013-10-02 23:56:16 +00:00
ericwa
3b57b63430 * Source/NSMenuView.m: Read the menu item/menu bar/separator
height from GSTheme.
* Headers/Additions/GNUstepGUI/GSTheme.h:
* Source/GSThemeDrawing.m: Add -menuBarHeight, -menuItemHeight,
-menuSeparatorHeight. Corresponding defaults are GSMenuBarHeight,
GSMenuItemHeight, GSMenuSeparatorHeight


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37182 72102866-910b-0410-8b05-ffd578937521
2013-10-02 22:06:24 +00:00
ericwa
31c0b939b2 * Headers/Additions/GNUstepGUI/GSTheme.h:
* Source/NSScrollView.m:
* Source/GSThemeDrawing.m:
* Source/GSTheme.m: Add GSScrollViewUseBottomCorner default,
which themes can set to NO to leave a square gap in the bottom-
left (or bottom-right) corner where the horizontal and vertical
scrollers meet.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37176 72102866-910b-0410-8b05-ffd578937521
2013-09-30 05:53:21 +00:00