Datalink and connector improvements.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@20662 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
gcasa 2005-02-05 20:39:49 +00:00
parent 5a9c710034
commit d8aeb282ab
6 changed files with 93 additions and 89 deletions

View file

@ -1,3 +1,15 @@
2005-02-05 15:42 Gregory John Casamento <greg_casamento@yahoo.com>
* Headers/AppKit/NSDataLinkManager.h: Moved NSDataLinkManager delegate
methods to an informal protocol NSDataLinkManagerDelegate.
* Source/Functions.m: Implemented NSFrameLinkRect() to draw the frames
around source and destination links.
* Source/NSBundleAdditions.m: Modified -description method in
NSNibConnector to display the source, destination and label for the
connection. This makes it easier to debug.
* Source/NSDataLink.m: Implemented a few private methods.
* Source/NSDataLinkManager.m: Implemented -breakAllLinks.
2005-02-03 10:54 Alexander Malmberg <alexander@malmberg.org>
* Source/NSImage.m (min, max): Rename to ...

View file

@ -101,10 +101,13 @@
- (NSDataLink *)destinationLinkWithSelection:(NSSelection *)destSel;
- (void)setLinkOutlinesVisible:(BOOL)flag;
- (NSEnumerator *)sourceLinkEnumerator;
@end
//
// Methods Implemented by the Delegate
//
@interface NSObject (NSDataLinkManagerDelegate)
- (BOOL)copyToPasteboard:(NSPasteboard *)pasteboard
at:(NSSelection *)selection
cheapCopyAllowed:(BOOL)flag;
@ -126,15 +129,9 @@
at:(NSSelection *)selection;
- (BOOL)showSelection:(NSSelection *)selection;
- (NSWindow *)windowForSelection:(NSSelection *)selection;
//
// NSCoding protocol
//
- (void)encodeWithCoder: (NSCoder *)aCoder;
- initWithCoder: (NSCoder *)aDecoder;
@end
//
// Draw a Distinctive Outline around Linked Data
//

View file

@ -776,19 +776,27 @@ NSDrawWindowBackground(NSRect aRect)
NSRectFill(aRect);
}
void
NSFrameLinkRect(NSRect aRect, BOOL isDestination)
{
// TODO
}
float
NSLinkFrameThickness(void)
{
// TODO
return 1.5;
}
void
NSFrameLinkRect(NSRect aRect, BOOL isDestination)
{
if (isDestination)
{
[[NSColor redColor] set];
}
else
{
[[NSColor greenColor] set];
}
NSFrameRectWithWidth(aRect, NSLinkFrameThickness());
}
void
NSConvertGlobalToWindowNumber(int globalNum, unsigned int *winNum)
{

View file

@ -134,6 +134,16 @@
ASSIGN(_src, anObject);
}
- (NSString *)description
{
NSString *desc = [NSString stringWithFormat: @"<%@ src=%@ dst=%@ label=%@>",
[super description],
[self source],
[self destination],
[self label]];
return desc;
}
@end
@implementation NSNibControlConnector

View file

@ -27,6 +27,27 @@
#include "AppKit/NSDataLink.h"
#include "AppKit/NSDataLinkManager.h"
@interface NSDataLink (Private)
- (void) setLastUpdateTime: (NSDate *)date;
- (void) setSourceFilename: (NSString *)src;
- (void) setDestinationFilename: (NSString *)src;
@end
@implementation NSDataLink (Private)
- (void) setLastUpdateTime: (NSDate *)date
{
ASSIGN(lastUpdateTime, date);
}
- (void) setSourceFilename: (NSString *)src
{
ASSIGN(sourceFilename,src);
}
- (void) setDestinationFilename: (NSString *)dst
{
ASSIGN(destinationFilename, dst);
}
@end
@implementation NSDataLink
//

View file

@ -24,7 +24,10 @@
*/
#include "config.h"
#include "AppKit/NSDataLinkManager.h"
#include <Foundation/NSDictionary.h>
#include <Foundation/NSEnumerator.h>
#include <AppKit/NSDataLinkManager.h>
#include <AppKit/NSDataLink.h>
@implementation NSDataLinkManager
@ -99,7 +102,19 @@
- (void)breakAllLinks
{
NSLog(@"Break all links.");
NSEnumerator *en = [self destinationLinkEnumerator];
id obj = nil;
while((obj = [en nextObject]) != nil)
{
[obj break];
}
en = [self sourceLinkEnumerator];
while((obj = [en nextObject]) != nil)
{
[obj break];
}
}
- (void)writeLinksToPasteboard:(NSPasteboard *)pasteboard
@ -181,12 +196,23 @@
- (NSEnumerator *)destinationLinkEnumerator
{
return nil;
return [destinationLinks keyEnumerator];
}
- (NSDataLink *)destinationLinkWithSelection:(NSSelection *)destSel
{
return nil;
NSEnumerator *en = [self destinationLinkEnumerator];
id obj = nil;
while((obj = [en nextObject]) != nil)
{
if([obj destinationSelection] == destSel)
{
break;
}
}
return obj;
}
- (void)setLinkOutlinesVisible:(BOOL)flag
@ -196,77 +222,7 @@
- (NSEnumerator *)sourceLinkEnumerator
{
return nil;
}
//
// Methods Implemented by the Delegate
//
- (BOOL)copyToPasteboard:(NSPasteboard *)pasteboard
at:(NSSelection *)selection
cheapCopyAllowed:(BOOL)flag
{
return NO;
}
- (void)dataLinkManager:(NSDataLinkManager *)sender
didBreakLink:(NSDataLink *)link
{
}
- (BOOL)dataLinkManager:(NSDataLinkManager *)sender
isUpdateNeededForLink:(NSDataLink *)link
{
return NO;
}
- (void)dataLinkManager:(NSDataLinkManager *)sender
startTrackingLink:(NSDataLink *)link
{
}
- (void)dataLinkManager:(NSDataLinkManager *)sender
stopTrackingLink:(NSDataLink *)link
{
}
- (void)dataLinkManagerCloseDocument:(NSDataLinkManager *)sender
{
}
- (void)dataLinkManagerDidEditLinks:(NSDataLinkManager *)sender
{
}
- (void)dataLinkManagerRedrawLinkOutlines:(NSDataLinkManager *)sender
{
}
- (BOOL)dataLinkManagerTracksLinksIndividually:(NSDataLinkManager *)sender
{
return NO;
}
- (BOOL)importFile:(NSString *)filename
at:(NSSelection *)selection
{
return NO;
}
- (BOOL)pasteFromPasteboard:(NSPasteboard *)pasteboard
at:(NSSelection *)selection
{
return NO;
}
- (BOOL)showSelection:(NSSelection *)selection
{
return NO;
}
- (NSWindow *)windowForSelection:(NSSelection *)selection
{
return nil;
return [sourceLinks keyEnumerator];
}
//