some functions with empty bodies so people don't get compiler warnings from
importing AppKit.h
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@35035 72102866-910b-0410-8b05-ffd578937521
* Source/externs.m: Additional binding names.
* Source/GSBindingHelpers.h,
* Source/NSKeyValueBinding.m: Additional helper methods.
* Source/NSObjectController.m: Use helper methods.
* Source/NSArrayController.m: Signal when the arranged objects
change.
* Source/NSTableColumn.m,
* Source/NSTableView.m: First attempt at support for content
binding.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34923 72102866-910b-0410-8b05-ffd578937521
* Headers/AppKit/NSArrayController.h,
* Source/NSArrayController.m: Add some implementation to this class.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34904 72102866-910b-0410-8b05-ffd578937521
is a primitive method which subclasses should override.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34815 72102866-910b-0410-8b05-ffd578937521
* Source/NSImageView.m: Protect image drag with new ivar that
gets set via a new GNUstep extension method.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34580 72102866-910b-0410-8b05-ffd578937521
and unsigned with NSUInteger. This allows to recompile gui on
64 bit systems after the change to NSNotFound in base.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34312 72102866-910b-0410-8b05-ffd578937521
because NSNotFound no longer fits in unsigned int on 64-bit
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34295 72102866-910b-0410-8b05-ffd578937521
* Source/NSToolbar.m:
* Source/GSToolbarCustomizationPalette.m:
* Source/GSToolbarView.m:
* Source/NSToolbarItem.m:
* Source/NSToolbarFrameworkPrivate.h:
* Headers/AppKit/NSToolbar.h: Implement -initWithCoder: for
NSToolbar. This required a bit more work that usual because
toolbars created with -initWithCoder can operate without a delegate.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34189 72102866-910b-0410-8b05-ffd578937521
* 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
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
in place of the _fileTypes ivar. Replace calls to _setupForTypes: with
-setAllowedFileTypes:.
* Headers/AppKit/NSOpenPanel.h: Remove now unused _fileTypes ivar
* Source/NSSavePanel.m: Treat directories whose names have extensions
in the _allowedFileTypes array as file packages.
Previously, we only relied on -[NSWorkspace isFilePackageAtPath:],
to determine if a director is a file package, which only considers the
info.plists of installed applications.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33810 72102866-910b-0410-8b05-ffd578937521
on backends supporting GSdraw: (cairo). This means we don't have to
create a window for every call to draw an image, and gives me a 5-10x
speedup for image drawing.
* Source/NSCachedImageRep.m: Implement private method
-nativeDrawInRect:.. which is called by NSImageRep's
-drawInRect:fromRect:..., and efficiently draw the cached rep
using GSdraw:. Also make some changes so cached image reps can have a
DPI != 72.
* Headers/AppKit/NSCachedImageRep.h: New private init method that lets
you specify diferent pixel size and point size.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33765 72102866-910b-0410-8b05-ffd578937521
-drawInRect:fromRect:operation:fraction:respectFlipped:hints: method
* Source/NSImage.m:
* Source/NSImageRep.m: Refactor drawing code from NSImage to NSImageRep.
This should cause no functionlity change, but it lets NSImageRep
subclasses implement more efficient versions of -drawInRect:fromRect:...
that don't involve the (expensive) drawing of the image in a temporary
offscreen window and then drawing from there on to the destination surface.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33764 72102866-910b-0410-8b05-ffd578937521
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
* 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
* 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
* Headers/AppKit/NSAffineTransform.h,
* Headers/AppKit/NSView.h,
* Source/NSAffineTransform.m,
* Source/NSPrintOperation.m,
* Source/NSView.m: Use CGFlaot instead of float.
* Tests/gui/NSView/NSView_bounds_scale.m: New test file that currently fails.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33398 72102866-910b-0410-8b05-ffd578937521
* 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
Bug point out by Bluna Ratimonkey <object@gmail.com>.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33364 72102866-910b-0410-8b05-ffd578937521
* Source/NSImageCell.m: Add support for NSImageScaleProportionallyUpOrDown
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33309 72102866-910b-0410-8b05-ffd578937521
which chooses the smallest rep larger than or equal to the provided size.
Modify -nativeDrawInRect:... to use the above method for choosing a rep.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33304 72102866-910b-0410-8b05-ffd578937521
the background of the NSSplitView transparent by default.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33139 72102866-910b-0410-8b05-ffd578937521
* 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
* Headers/AppKit/NSSavePanel.h: Implement -showsHiddenFiles
and -setShowsHiddenFiles:. Add a context menu to the browser
to allow toggling this setting.
NOTE: It defaults to not showing hidden files, and no longer
uses the GSFileBrowserHideDotFiles user default.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32560 72102866-910b-0410-8b05-ffd578937521
for old cell.
* Headers/AppKit/NSCursor.h
* gui/Source/NSCursor.m: Add Mac 10.6 methods and implement
keyed coding/decoding properly.
* Images/nsmapping.strings: Add mappings for some new cursors.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32538 72102866-910b-0410-8b05-ffd578937521
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
Macintosh or Windows 95 style menus. Inspired by OS X, the menu
contains items to hide or show the application, to terminate the
application, an item for each window present in the application's
window menu, and the items of the dock menu returned by the
application delegate.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31892 72102866-910b-0410-8b05-ffd578937521
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
_rFlagsType.flipped_view.
Still needs some work to automatically invalidate coordinates when the
flipping changes e.g. between two drawing sessions.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31233 72102866-910b-0410-8b05-ffd578937521
See bug report #27782
In particular, fixed -[NSImage drawXXX] and -[NSImage composite/dissolveXXX]
methods to work exactly as Cocoa when the Cairo backend is used.
Added a new draw operator (in addition to composite) to the backend. Cairo is
the only backend that implements it for now.
Eliminated as many flipping checks as possible.
Warning: Untested with the winlib backend.
You must update, recompile and install both Back and Gui.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30523 72102866-910b-0410-8b05-ffd578937521
* Source/NSOutlineView.m: Add -parentForItem: and -frameOfOutlineCellAtRow:.
Use the later in -drawRow:clipRect:.
Change methods to use NSInteger and CGFloat.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30514 72102866-910b-0410-8b05-ffd578937521
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
-(unsigned int)hash from Object and -(NSUInteger)hash from NSObject, when the
receiver is of type (id).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30429 72102866-910b-0410-8b05-ffd578937521
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
menus. Fixes a bug where the services, windows, and recent documents
menu were defunct when loading the menu from a .nib file.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30363 72102866-910b-0410-8b05-ffd578937521
documents menu. Make the methods to access that menu available to
other classes in -gui.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30362 72102866-910b-0410-8b05-ffd578937521
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
graphics context isn't available (eg - from a subthread).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30226 72102866-910b-0410-8b05-ffd578937521
extension. Try to use higher level NIB loading methods where possible.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30077 72102866-910b-0410-8b05-ffd578937521
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
declaration for updateAllWindowsWithMenu:
* Source/GSThemeMenu.m: Added default implementation of
updateAllWindowsWithMenu:
* Source/NSMenu.m: Added call to updateAllWindowsWithMenu: on
current theme.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29445 72102866-910b-0410-8b05-ffd578937521
pasting, and deleting full words in a text view or text field.
Note: I have changed NSTextView initialization to enable smart insert
and delete by default, since this is the default on OS X. (It is even
documented, though in a maybe obscure place, cf. "Text Editing
Programming Guide for Cocoa: Subclassing NSTextView".) However, this
means that support for this feature will be somewhat inconsistent.
Smart insert and delete is enabled for text views created
programmatically (including the field editor), but not for text views
loaded from existing nib files.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29426 72102866-910b-0410-8b05-ffd578937521
More changes are needed to get proper sorting support (e.g. visual feedback).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29293 72102866-910b-0410-8b05-ffd578937521
back menuHeightForWindow:
* Source/GSThemeMenu.m: Added default implementation of
menuHeightForWindow:. Default implementation returns NSMenuView
menuBarHeight.
* Source/GSWindowDecorationView.m: Use menuHeightForWindow: instead
of getting it directly from the menu view.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29288 72102866-910b-0410-8b05-ffd578937521
to support adding menus and processing commands from windows, if
appropriate.
* Headers/Additions/GNUstepGUI/GSWindowDecorationView.h: Added
new methods for menu and toolbar flags.
* Headers/AppKit/NSInterfaceStyle.h: Added new interface style.
* Source/GNUmakefile: Added header.
* Source/GSStandardWindowDecorationView.m: Change include
to include header in new location.
* Source/GSThemeMenu.m: Default theme implementation for
Menus.
* Source/GSWindowDecorationView.m: Add the setHasMenu:/setHasToolbar:
flags.
* Source/NSWindow.m: Use the theme to set the menu instead of
setting it directly.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29271 72102866-910b-0410-8b05-ffd578937521
- activation of the now happens on mouseUp, not mouseDown
- non-bordered NSColorWells can't be activated by clicking
- non-bordered NSColorWells start a drag operation upon mouseDown
- disabled NSColorWells don't accept colours being dropped on them
- dropping a colour on the well inside the NSColorPanel now
also updates the active NSColorWell
Also moved the static variable for keeping track of where the mouseDown
occurred to an instance variable.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29150 72102866-910b-0410-8b05-ffd578937521
lineBreakMode attribute. Note that with this change cells now wrap by
default, as has always been the case on OS X.
Also fix a related inconsistency where text that is wrapped by the
cell was displayed in a single line during editing.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29134 72102866-910b-0410-8b05-ffd578937521
includes a fix for the problem of properly resizing and redrawing the
editor when the cell is resized or moved during editing (bug #22678).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29133 72102866-910b-0410-8b05-ffd578937521
These new additions remain to be fully implemented and the archiving code to be
updated.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29107 72102866-910b-0410-8b05-ffd578937521
-setStringValue: have an effect while the cell is edited.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29010 72102866-910b-0410-8b05-ffd578937521
Kusterer <witness.of.teachtext@gmx.net>.
-- Diese und die folgenden Zeilen werden ignoriert --
M Source/NSProgressIndicator.m
M Headers/AppKit/NSProgressIndicator.h
M ChangeLog
AM Images/common_ProgressSpinning_4.tiff
AM Images/common_ProgressIndeterminate_3.tiff
AM Images/common_ProgressSpinning_8.tiff
M Images/GNUmakefile
AM Images/common_ProgressSpinning_1.tiff
AM Images/common_ProgressSpinning_5.tiff
AM Images/common_ProgressIndeterminate_4.tiff
AM Images/common_ProgressSpinning_2.tiff
AM Images/common_ProgressIndeterminate_1.tiff
AM Images/common_ProgressSpinning_6.tiff
AM Images/common_ProgressIndeterminate_5.tiff
AM Images/common_ProgressSpinning_3.tiff
AM Images/common_ProgressIndeterminate_2.tiff
AM Images/common_ProgressSpinning_7.tiff
AM Images/common_ProgressIndeterminate_6.tiff
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28900 72102866-910b-0410-8b05-ffd578937521
conform to NSValidatedUserInterfaceItem.
Patch by Quentin Mathe <quentin.mathe@gmail.com>.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28627 72102866-910b-0410-8b05-ffd578937521
* Source/NSSearchFieldCell.m (-encodeWithCoder:, -initWithCoder:):
Correct encoding/decoding of maximumRecents.
Based on patch by Quentin Mathe <quentin.mathe@gmail.com>.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28623 72102866-910b-0410-8b05-ffd578937521
This should be enough for Emacs to compile with GNUstep.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28525 72102866-910b-0410-8b05-ffd578937521
for drawButtonCell:...
* Source/GSThemeDrawing.m: Added implementation for new method. The
purpose of the method is to allow the theme to override images with
native images which may be theme dependent.
* Source/NSButtonCell.m: Use the new method.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28522 72102866-910b-0410-8b05-ffd578937521
* Source/NSAlert.m: Change code to use hightlightWithLevel: method
in resetWindow method.
* Source/NSApplication.m: Stub out setAttachedSheet method.
* Source/NSWindow.m: Remove new ivar for next release and stub out
attachedSheet method.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28415 72102866-910b-0410-8b05-ffd578937521
* Source/NSSpeechSynthesizer.m: Implementation of
NSSpeechSynthesizer.
Patch by David Chisnall <theraven@sucs.org>
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28327 72102866-910b-0410-8b05-ffd578937521
* Source/NSDrawer.m: Don't set the timer since it eats a lot of CPU.
* Source/NSPasteboard.m: Retain the path since it's autoreleased.
* Source/NSTextView.m: Set the textview to allow undos by default.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28186 72102866-910b-0410-8b05-ffd578937521