Commit graph

230 commits

Author SHA1 Message Date
rfm
39fbad9a42 Cleanup/simplify code for handling theme names in defaults system
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34527 72102866-910b-0410-8b05-ffd578937521
2012-01-14 16:10:48 +00:00
qmathe
effd2e71de Improved the menu theming to support some common menu look variations.
Fixed bug #34792 too.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34174 72102866-910b-0410-8b05-ffd578937521
2011-11-16 10:32:15 +00:00
ericwa
5eae61ca3e * Headers/AppKit/NSImageCell.h:
* Headers/AppKit/NSCell.h: Move NSImageScaling constants to NSCell
* Source/NSImageCell.m:
* Source/NSCell.m: Refactor the image scaling logic to a private
method in NSCell, -_scaleImageWithSize:toFitInSize:scalingType:
which can be share by NSImageCell, NSButtonCell, and any other
cell classes that need it.
* Source/NSButtonCell.m:
* Headers/AppKit/NSButtonCell.h: Implement -imageScaling and
-setImageScaling methods. 
* Source/GSThemeDrawing.m:
* Headers/Additions/GNUstepGUI/GSTheme.h: Remove the
-drawImage:inButtonCell:withFrame:position: API intended
to let themes substitute images right before drawing,
as IMHO it's the wrong place to hook in new images (by
the time this method was caleld, sizing/positionging
was already done).


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34160 72102866-910b-0410-8b05-ffd578937521
2011-11-11 23:10:15 +00:00
fredkiefer
a978e01752 Add decoding of class IBInitialTabViewItemAttribute.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34124 72102866-910b-0410-8b05-ffd578937521
2011-11-05 17:45:09 +00:00
qmathe
93988bdfbd Made separator menu item themable, by moving the drawing code from
NSMenuItemCell to a new method in GSThemeDrawing.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34079 72102866-910b-0410-8b05-ffd578937521
2011-10-28 09:40:41 +00:00
fredkiefer
bab8bb2d00 Integrate XIB loading methods used in Gorm.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34055 72102866-910b-0410-8b05-ffd578937521
2011-10-25 09:06:01 +00:00
fredkiefer
0cae3a5134 Big improvement of XIB loading. Now all XIB files from the bug reports
get loaded.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34050 72102866-910b-0410-8b05-ffd578937521
2011-10-24 14:44:29 +00:00
fredkiefer
b2c407e50f Add forward declaration for NSNibBindingConnector.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33935 72102866-910b-0410-8b05-ffd578937521
2011-10-03 20:28:51 +00:00
fredkiefer
cab517b510 Fix XIB loading bug reported by Julian Mayer as bug #34454.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33931 72102866-910b-0410-8b05-ffd578937521
2011-10-03 12:48:15 +00:00
ericwa
abe0bb41f6 * Headers/Additions/GNUstepGUI/GSTheme.h: New GSThemeMargins struct.
Rename buttonBorderForCell:style:state: to buttonMarginsForCell:style:state:
and return the top/bottom/left/right margins instead of just two values.
(This is a theme API break.)
* Source/GSThemeDrawing.m: Implement buttonMarginsForCell:style:state:.
Also reduce the top and left margin of the default button by 1 pt, to
better reflect the button's appearance.
* Source/GSGuiPrivate.h: Add a GSRoundTowardsNegativeInfinity function
* Source/NSButtonCell.m (-drawImage:withFrame:inView:): Round the image
position down and to the right, as this seems to look the best.
* Source/NSButtonCell.m (-cellSize): Call new buttonMarginsForCell: method
* Source/NSButtonCell.m (-drawingRectForBounds:): Call new
buttonMarginsForCell: method


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33743 72102866-910b-0410-8b05-ffd578937521
2011-08-15 23:12:37 +00:00
ericwa
faa4f9b8ce * Source/GSLayoutManager.m:
* Source/GSHorizontalTypesetter.m:
* Headers/Additions/GNUstepGUI/GSLayoutManager_internal.h:
* Headers/Additions/GNUstepGUI/GSLayoutManager.h: Store
glyph advances in the runs in GSLayoutManager. Extend the
NSGlyphStorage protocol to support a case where the glyph
generator provides the glyph advances.

I'm hoping to use this in the future to implement (optional)
glyph generators which are wrappers around HarfBuzz or the ICU
OpenType layout engine.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33684 72102866-910b-0410-8b05-ffd578937521
2011-08-02 23:34:06 +00:00
ericwa
85c8422ca8 Add a new character picker panel. It's accessible
via a button in the font panel.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33470 72102866-910b-0410-8b05-ffd578937521
2011-07-06 18:39:49 +00:00
ericwa
bc9bebe77c * Source/GSDisplayServer.m:
* Headers/Additions/GNUstepGUI/GSDisplayServer.h: Add a new API for taking
screenshots: -contentsOfScreen:inRect:


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33442 72102866-910b-0410-8b05-ffd578937521
2011-07-03 23:43:07 +00:00
ericwa
a589652352 * Headers/Additions/GNUstepGUI/GSImageMagickImageRep.h:
* Source/GNUmakefile:
* Source/NSImageRep.m:
* Source/GSImageMagickImageRep.m:
* configure.ac: New ImageMagick-based NSBitmapImageRep subclass


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33399 72102866-910b-0410-8b05-ffd578937521
2011-06-29 03:35:25 +00:00
ericwa
a22d96f145 * Source/GSGhostscriptImageRep.m:
* Headers/Additions/GNUstepGUI/GSGhostscriptImageRep.h:
* Source/GNUmakefile:
* Source/NSImageRep.m: New image rep which attempts to
invoke Ghostscript to rasterize PS/EPS/PDF images. It needs
some polishing but basically works.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33389 72102866-910b-0410-8b05-ffd578937521
2011-06-27 05:45:40 +00:00
ericwa
4857c9bbd4 * Source/NSLayoutManager.m:
* Source/NSGraphicsContext.m:
* Headers/AppKit/DPSOperators.h:
* Headers/AppKit/NSGraphicsContext.h:
* Headers/Additions/GNUstepGUI/GSMethodTable.h:
New GSShowGlyphsWithAdvances, which replaces
GSShowGlyphs as the primitive text drawing method.
(used by -[NSLayoutManager drawGlyphsForGlyphRange:atPoint:])

Requires r33121 in -back.

Note that the advances aren't actually used by -back yet so
text output should be unchanged.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33122 72102866-910b-0410-8b05-ffd578937521
2011-05-26 03:55:55 +00:00
gcasa
0d33cb856d Add method to ask if the menu should show the icon. In some themes it
is redundant.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32829 72102866-910b-0410-8b05-ffd578937521
2011-04-10 20:14:53 +00:00
fredkiefer
80015b49b4 Remove unused ivars found by static analyser.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32528 72102866-910b-0410-8b05-ffd578937521
2011-03-10 22:18:42 +00:00
fredkiefer
7c45869d3a Change the way the image for the cursor gets passed on to the backend.
The old way could only work for 8 bit data.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32491 72102866-910b-0410-8b05-ffd578937521
2011-03-07 19:45:04 +00:00
fredkiefer
afcef9b696 Remove the GSFusedSilica files as they are obsolete now.
The Opal library is a more complete replacement for CoreGraphics.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32251 72102866-910b-0410-8b05-ffd578937521
2011-02-20 20:10:57 +00:00
fredkiefer
003ea0982a Define new cursor backend methods replacing -setcursorcolor:::. And use
these.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32179 72102866-910b-0410-8b05-ffd578937521
2011-02-15 22:54:23 +00:00
wlux
e86fae67c3 Add some support for help links and markers in RTF documents. These
end up as dedicated attachments in attributed strings.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31828 72102866-910b-0410-8b05-ffd578937521
2011-01-03 11:48:57 +00:00
wlux
23553a5404 Improve implementation of NSWorkspace methods querying volume and file
system information.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31795 72102866-910b-0410-8b05-ffd578937521
2010-12-29 13:03:20 +00:00
fredkiefer
0efb94944b Correct the definition of NSDragOperation and all its usages.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31754 72102866-910b-0410-8b05-ffd578937521
2010-12-22 16:16:14 +00:00
fredkiefer
bbd17d9e16 Implement glyph attribute handling.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31730 72102866-910b-0410-8b05-ffd578937521
2010-12-13 21:26:15 +00:00
gcasa
2ec7e163d8 Additional table view methods for themeing.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31679 72102866-910b-0410-8b05-ffd578937521
2010-11-28 03:55:58 +00:00
gcasa
512eb11afc Added NSTableView to the drawing methods for GSTheme.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31678 72102866-910b-0410-8b05-ffd578937521
2010-11-28 00:05:46 +00:00
gcasa
1ca50afb98 Change to GSThemeDrawing to implement drawTableHeaderRect:inView:
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31673 72102866-910b-0410-8b05-ffd578937521
2010-11-27 18:17:49 +00:00
gcasa
5ccdf70532 Added methods for drawing tableheader cell.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31668 72102866-910b-0410-8b05-ffd578937521
2010-11-27 03:51:13 +00:00
gcasa
892db01056 Adding methods to draw knob and bar to theme.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31666 72102866-910b-0410-8b05-ffd578937521
2010-11-26 22:48:46 +00:00
gcasa
d293aa7273 Correction for previous commit
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31664 72102866-910b-0410-8b05-ffd578937521
2010-11-26 21:41:19 +00:00
gcasa
10fb5175e7 Added theming for NSMenuView into GSTheme.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31660 72102866-910b-0410-8b05-ffd578937521
2010-11-26 20:28:45 +00:00
gcasa
7c12759c52 Adding theme method for NSBrowser drawing.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31658 72102866-910b-0410-8b05-ffd578937521
2010-11-26 19:49:04 +00:00
gcasa
0976649f2a 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
gcasa
5496efbc41 Added method to draw tab view to theme.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31654 72102866-910b-0410-8b05-ffd578937521
2010-11-26 18:08:58 +00:00
fredkiefer
bc53479544 Remove a few compiler warnings.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31587 72102866-910b-0410-8b05-ffd578937521
2010-11-03 20:26:30 +00:00
wlux
10c98c9b2f Correct serious nib loading bug on big endian machines.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30472 72102866-910b-0410-8b05-ffd578937521
2010-05-29 08:32:02 +00:00
gcasa
bb160d2f6a Add Xib loading header so that the classes in the GSXibLoader can be used by applications.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30467 72102866-910b-0410-8b05-ffd578937521
2010-05-29 05:27:04 +00:00
gcasa
ba0e9047b7 * Headers/Additions/GNUstepGUI/GSTheme.h: Added method
displayPopUpMenu:... to handle the display of the popup menus for
	themes.
	* Source/GSThemeMenu.m: Added default implementation.
	* Source/NSPopUpButtonCell.m: Call the displayPopUpMenu:... method
	in the method attachPopUpWithFrame:inView:.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30433 72102866-910b-0410-8b05-ffd578937521
2010-05-20 08:09:08 +00:00
gcasa
c78d98f976 * Headers/Additions/GNUstepGUI/GSTheme.h: Added method
rightMouseMenu:forEvent: to allow theming of transient and
	context menus.
	* Source/GSThemeMenu.m: Implementation of method 
	rightMouseMenu:forEvent: to allow theming of transient and
	context menus.
	* Source/NSMenu.m: use the theming code implemented above instead
	of rendering the menu directly.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30370 72102866-910b-0410-8b05-ffd578937521
2010-05-12 22:47:10 +00:00
fredkiefer
e45e3bc0b0 Remove compiler warning for NSBrowser header cell drawing.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30360 72102866-910b-0410-8b05-ffd578937521
2010-05-11 16:48:44 +00:00
fedor
f95229cbbc * configure, configure.ac, Headers/Additions/GNUstepGUI/config.h.in,
Source/NSSliderCell.m: Check for atan2f function (not present on
old Solaris systems for instance).


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30254 72102866-910b-0410-8b05-ffd578937521
2010-04-28 18:14:43 +00:00
dpsimons
cbd4e61f7b update header to eliminate warning
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30208 72102866-910b-0410-8b05-ffd578937521
2010-04-20 19:59:42 +00:00
ericwa
dcebe1ef37 NSBrowser header themeing
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30189 72102866-910b-0410-8b05-ffd578937521
2010-04-19 03:14:36 +00:00
dpsimons
1f5719db0b Fix numerous issues with toolbar customization
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30143 72102866-910b-0410-8b05-ffd578937521
2010-04-13 21:38:31 +00:00
fredkiefer
851b8ece4d Final set of #include -> #import replacement in additional headers.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30097 72102866-910b-0410-8b05-ffd578937521
2010-04-07 08:59:43 +00:00
fredkiefer
3d559c477e Yet another set of #include -> #import replacement.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30083 72102866-910b-0410-8b05-ffd578937521
2010-03-31 08:14:50 +00:00
fredkiefer
444b0fc6db Get the class NSNib to work and use it in NSBundleAdditions.
Restructure top level object handling for NIB loading.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30018 72102866-910b-0410-8b05-ffd578937521
2010-03-22 09:08:50 +00:00
fredkiefer
fa7360af1e Clean up includes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30009 72102866-910b-0410-8b05-ffd578937521
2010-03-20 14:09:02 +00:00
gcasa
1e25c52b89 * Headers/Additions/GNUstepGUI/GSTheme.h: Add category to allow
overriding of classes used for save/open panels.
	* Source/GNUmakefile: Build new category.
	* Source/GSThemeOpenSavePanels.m: Implementation of methods
	-savePanelClass and -openPanelClass.
	* Source/NSOpenPanel.m: Modifications to use class from current 
	theme.
	* Source/NSSavePanel.m: Modifications to use class from current 
	theme.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29791 72102866-910b-0410-8b05-ffd578937521
2010-02-28 04:31:54 +00:00