mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-05-31 20:50:48 +00:00
Implemented dragFile:fromRect:slideBack:event:]. Moved code from
[dragImage:...slideBack:] to NSWindow and call this. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@11854 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
de5a159d50
commit
2cae54f0d9
1 changed files with 27 additions and 10 deletions
|
@ -64,6 +64,7 @@
|
||||||
#include <AppKit/NSScrollView.h>
|
#include <AppKit/NSScrollView.h>
|
||||||
#include <AppKit/NSView.h>
|
#include <AppKit/NSView.h>
|
||||||
#include <AppKit/NSWindow.h>
|
#include <AppKit/NSWindow.h>
|
||||||
|
#include <AppKit/NSWorkspace.h>
|
||||||
#include <AppKit/PSOperators.h>
|
#include <AppKit/PSOperators.h>
|
||||||
|
|
||||||
/* Variable tells this view and subviews that we're printing. Not really
|
/* Variable tells this view and subviews that we're printing. Not really
|
||||||
|
@ -2523,7 +2524,26 @@ static NSView* findByTag(NSView *view, int aTag, unsigned *level)
|
||||||
slideBack: (BOOL)slideFlag
|
slideBack: (BOOL)slideFlag
|
||||||
event: (NSEvent*)event
|
event: (NSEvent*)event
|
||||||
{
|
{
|
||||||
return NO;
|
NSImage *anImage = [[NSWorkspace sharedWorkspace] iconForFile: filename];
|
||||||
|
NSPasteboard *pboard = [NSPasteboard pasteboardWithName: NSDragPboard];
|
||||||
|
|
||||||
|
if (anImage == nil)
|
||||||
|
return NO;
|
||||||
|
|
||||||
|
[pboard declareTypes: [NSArray arrayWithObject: NSFilenamesPboardType]
|
||||||
|
owner: self];
|
||||||
|
if (![pboard setPropertyList: filename
|
||||||
|
forType: NSFilenamesPboardType])
|
||||||
|
return NO;
|
||||||
|
|
||||||
|
[self dragImage: anImage
|
||||||
|
at: rect.origin
|
||||||
|
offset: NSMakeSize(0, 0)
|
||||||
|
event: event
|
||||||
|
pasteboard: pboard
|
||||||
|
source: self
|
||||||
|
slideBack: slideFlag];
|
||||||
|
return YES;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void) dragImage: (NSImage*)anImage
|
- (void) dragImage: (NSImage*)anImage
|
||||||
|
@ -2534,16 +2554,13 @@ static NSView* findByTag(NSView *view, int aTag, unsigned *level)
|
||||||
source: (id)sourceObject
|
source: (id)sourceObject
|
||||||
slideBack: (BOOL)slideFlag
|
slideBack: (BOOL)slideFlag
|
||||||
{
|
{
|
||||||
NSView *dragView = (NSView*)[GSCurrentContext() _dragInfo];
|
[_window dragImage: anImage
|
||||||
|
at: [self convertPoint: viewLocation toView: nil]
|
||||||
[NSApp preventWindowOrdering];
|
offset: initialOffset
|
||||||
[dragView dragImage: anImage
|
event: event
|
||||||
at: viewLocation
|
|
||||||
offset: initialOffset
|
|
||||||
event: event
|
|
||||||
pasteboard: pboard
|
pasteboard: pboard
|
||||||
source: sourceObject
|
source: sourceObject
|
||||||
slideBack: slideFlag];
|
slideBack: slideFlag];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void) registerForDraggedTypes: (NSArray*)types
|
- (void) registerForDraggedTypes: (NSArray*)types
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue