_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
-(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
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
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
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
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
* 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
document, undoing a number of changes, and then making an equal number
of changes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27219 72102866-910b-0410-8b05-ffd578937521
drag operation no longer changes the current selection of the target
view. Also fix an issue with dropping text into an empty text view.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27125 72102866-910b-0410-8b05-ffd578937521
to handle temporary attributes.
* Source/GSNibCompatibility.m: Corrections to nib loading logic.
* Source/NSLayoutManager.m: Skeleton implementations of new
methods to handle temporary attributes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27124 72102866-910b-0410-8b05-ffd578937521
-beginSheetModalForWindow:delegate:didEndSelector:contextInfo: method.
Fix swapping of title and informative message text in NSAlerts. Also
supply a default title "Alert" if none is set.
Determine key equivalent of NSAlert buttons from their localized titles.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27010 72102866-910b-0410-8b05-ffd578937521
responder chain. Patch by Wolfgang Lux <wolfgang.lux@gmail.com>.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@26956 72102866-910b-0410-8b05-ffd578937521
* Headers/AppKit/NSTokenField.h: Headers for new class.
* Source/GNUmakefile
* Source/NSDocumentController.m: Added code to handle the
CF keys as well as the NS keys for document oriented apps.
* Source/NSTokenFieldCell.m
* Source/NSTokenField.m: Start of implementation for this class
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@26801 72102866-910b-0410-8b05-ffd578937521
* Source/GSNibTemplates.m: Removed call to designated init, since
this is handled by the initWithCOoder method in NSWindow.m.
* Source/NSWindow.m: Correction for calling the designated initializer.
Fix for bug#23336.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@26567 72102866-910b-0410-8b05-ffd578937521
Stronger typing in NSBrowser.
Clearer drawing code in different classes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@26020 72102866-910b-0410-8b05-ffd578937521
Add support for new dragging methods in table view.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@25660 72102866-910b-0410-8b05-ffd578937521
* Source/NSObjectController.m: Changed "class" to "aClass" to
avoid issues with ObjC++ compilation in both the header and the
.m file for consistency. This change was suggested by Rob Burns
and he provided a short patch via IRC.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@25290 72102866-910b-0410-8b05-ffd578937521
- only NSAnimationNonBlocking mode is implemented
- runLoopModesForAnimating is not used
GSAnimator class is in alpha stage : interface may be changed
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@24968 72102866-910b-0410-8b05-ffd578937521
change requires a complete re-compile of GNUstep and all applications!!!
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@24821 72102866-910b-0410-8b05-ffd578937521
this file. Better support for key equivalent display.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@24420 72102866-910b-0410-8b05-ffd578937521
then and use this methods. Also adjusted subclasses tothis changes.
Split off theming code for buttons into two methods.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@24400 72102866-910b-0410-8b05-ffd578937521
Mon. 20-Nov-2006 Mark Tracy <tracy454 at concentric dot net>
Many changes related to bitmap images
1. NSBitmapImateRep attribute global strings were not defined
Fix: add definitions to externs.h, and declarations to NSBitmapImageRep.h
Comment: Two strings defined in Cocoa were commented out: NSImageColorSyncData
is proprietary to Apple, and NSImageEXIFData has no support elsewhere in
GNUstep. I propose adding GSImageICCProfileData if and when color management
is added to GNUstep.
2. LZW compression in TIFF was disabled for lack of a test of its availability
Fix: Implement NSTiffIsCodecConfigured(codec) in tiff.m
Comment: As of libtiff-3.7.0, there is a function call in the API to test
availability at runtime. For libtiff-3.6.0 (earlier?) there are macros
#defined in tiffconf.h. The implementation check the library version at
compile time, and uses one of the two methods. I have not tested the
second method for lack of an installation of an old libtiff.
3. -canCompressUsing: relied on a static list of capabilities
Fix: Use the new NSTiffIsCodecConfigured(codec) in NSBitmapImageRep.m
Comment: The static list could be wrong, as it was on my system. Also
eliminate the supports_lzw_compression flag.
4. +getTIFFCompressionTypes:count: relied on a static list of compressors.
Fix: Use the new NSTiffIsCodecConfigured(codec) in NSBitmapImageRep.m
Comment: Compares GNUstep supported compressors against actual availability.
Also change the private instance methods _localFromCompressionType and
_compressionTypeFromLocal to private class methods so that they can be used
in -initWithTIFFImage:number: and -TIFFRepresentationUsingCompression:factor:
and +getTIFFCompressionTypes:count: This is probably a clumsy implementation
but it works.
5. -setProperty:toValue: and -valueForProperty: were not implemented
Fix: Add a new instance variable NSMutableDictionary * _properties to
NSBitmapImageRep.h and implemented accessors in NSBitmapImageRep.m. Patch
-_initFromTIFFImage to set compression type and factor in _properties.
Comment: This feature is used to pass options to and from JPEG, PNG, TIFF, and
GIF in Cocoa, although the docs are kind of vague. In one case the Cocoa docs
said the properties were set when reading a TIFF, but the implementation
didn't; I chose to implement the docs. Cocoa does use properties when
exporting bitmaps, so I implemented that.
6. Checked and updated NSBitmapImageFileType in NSBitmapImageRep.h
Fix: confirmed the enumeration values against Cocoa, and added
NSJPEG2000FileType = 5
Comment: JPEG-2000 is not implemented, just reserved a space for it.
7. -representationUsingType:properties: was not implemented
Fix: Implement export of TIFF, JPEG, GIF and PNG in NSBitmapImage.m
Comment: See the change notes for JPEG, GIF, and PNG for more. BMP and JPEG-2000
are not implemented; they just log a message to that effect. As apparently
Cocoa does it this way, if you pass nil for properties, it falls back to
the internal _properties, and if that is empty, there are some safe defaults.
8. +representationfOfImageRepsInArray:UsingType:properties: was not implemented
Fix: Partially implement in NSBitmapImageRep.m
Comment: I just stole the incomplete code from
+TIFFRepresentationOfImageRepsInArray: since I have yet to find an explanation
of how this really ought to work.
9. JPEG export didn't handle alpha channel, properties or errors.
Fix: Add -_JPEGRepresentationWithProperties:errorMessage: to
NSBitmapImageRep+JPEG.h and greatly rework Nicolas Roard's code in
NSBitmapImageRep+JPEG.m. Patch -_initBitmapFromJPEG:errorMessage to
write properties.
Comment: Major rewrite of Nicolas Roard's JPEG export code.
To do: Support for planar bitmaps and support for colorspaces other than
RGB(A).
10. PNG export not implemented
Fix: Add -_PNGRepresentationWithProperties: to
NSBitmapImageRep+PNG.h and implement NSBitmapImageRep+PNG.m
Comment: No support yet for planar bitmaps. Only supports
NS*WhiteColorSpace and NS*RGBColorSpace. Does support alpha. Support for
reading and writing NSImageGamma is experimental. In keeping with Cocoa,
the property NSImageGamma ranges from 0.0 to 1.0; representing the range
of minimum supported gamma to maximum supported gamma, in this case 1.0
to 2.5. This is in contrast to GNUstep where by convention the property
would range from 0.0 to 255.0.
To do: proper error message support
11. GIF export not implemented
Fix: Add -_GIFRepresentationWithPropterties:errorMessage: to
NSBitmapImageRep+GIF.h and implement in NSBitmapImageRep+GIF.m
Comments: Supports only RGB(A) colorspaces, but ignores alpha. Supports
planar or interleaved bitmaps. Supports properties NSImageRGBColorTable.
12. -_initBitmapFromGIF:errorMessage: did not support transparency
Fix: Don't ignore control blocks in NSBitmapImageRep+GIF.m; check for
transparency.
Comment: If a transparent color is found, it adds an alpha channel to the
bitmap. Also, save the color table in properties.
13. -_initBitmapFromGIF:errorMessage: would show the last image in a
multi-image GIF file
Fix: Break the parsing loop after the first image in NSBitmapImageRep+GIF.m
Comment: Also check for frame duration, and set that property. There is not
yet any support for animated GIF. This will require some additional
infrastructure, and I won't do it unless asked.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@24140 72102866-910b-0410-8b05-ffd578937521
verticalMotionCanBeginDrag.
* Source/NSTableView.m: Implement verticalMotionCanBeginDrag
bump class version.
* Source/NSTextView_actions.m: Fix method name from previous changes.
* KeyBindings/DefaultKeyBindings.dict: Add new key bindings.
* ChangeLog: Add to description of a previous change.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@24067 72102866-910b-0410-8b05-ffd578937521
* Source/GSNibCompatibility.m: Moved comments to top, for gcc < 3.0
compilation.
* Source/NSDrawer.m: Added GSDrawerWindow implementation and
implementation of some methods in NSDrawer to interact with the
window.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@23482 72102866-910b-0410-8b05-ffd578937521
* Source/NSHelpManager.m:
added -setContextHelp:forObject: as specified in Apple docs;
-setContextHelp:withObject: deprecated.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@23174 72102866-910b-0410-8b05-ffd578937521
* Headers/AppKit/NSHelpManager.h: declaration for new method -pathForHelpResource:
* Source/NSHelpManager.m: implemented -pathForHelpResource: in the NSBundle
category. -pathForHelpResource: looks for help files giving the priority
to localized resources.
-showHelp: looks for rtfd files too.
* Source/GSHelpManagerPanel.m: various fixes to avoid a crash when quitting
and to resize correctly the NSTextView.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@23164 72102866-910b-0410-8b05-ffd578937521
Modify selectors to play nice with C++ compiler.
* Headers/AppKit/NSAffineTransform.h, Headers/AppKit/NSFontManager.h,
Headers/AppKit/NSPageLayout.h: Modify arg name for same purpose.
* Source/NSAffineTransform.m, Source/NSFontManager.m,
Source/NSPageLayout.m: Modify to match header. (Patch from
Francis Franklin, with some modifications).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@20930 72102866-910b-0410-8b05-ffd578937521
* Headers/AppKit/NSImage.h (-drawAtPoint:fromRect:fraction:)
(-drawInRect:fromRect:operation:fraction:): Document.
* Source/NSImage.m -drawAtPoint:fromRect:fraction:)
(-drawInRect:fromRect:operation:fraction:): Implement.
(min, max): New functions.
(-drawRepresentation:inRect:): Save the gstate before drawing
and restore it afterwards.
Fixes bug #11712.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@20611 72102866-910b-0410-8b05-ffd578937521