Services example

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3319 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-MacDonald 1998-11-24 15:37:49 +00:00
parent 34b0a82040
commit fb25d335f4
2 changed files with 69 additions and 0 deletions

View file

@ -42,12 +42,43 @@
#include <signal.h>
@interface ExampleServices : NSObject
- (void) tolower: (NSPasteboard*)bp
userData: (NSString*)ud
error: (NSString**)err;
- (void) toupper: (NSPasteboard*)bp
userData: (NSString*)ud
error: (NSString**)err;
@end
@implementation ExampleServices
- (void) tolower: (NSPasteboard*)pb
userData: (NSString*)ud
error: (NSString**)err
{
NSString *in;
NSString *out;
NSArray *types;
types = [pb types];
if (![types containsObject: NSStringPboardType])
{
*err = @"No string type supplied on pasteboard";
return;
}
in = [pb stringForType: NSStringPboardType];
if (in == nil)
{
*err = @"No string value supplied on pasteboard";
return;
}
out = [in lowercaseString];
types = [NSArray arrayWithObject: NSStringPboardType];
[pb declareTypes: types owner: nil];
[pb setString: out forType: NSStringPboardType];
}
- (void) toupper: (NSPasteboard*)pb
userData: (NSString*)ud
error: (NSString**)err

38
Tools/exampleInfo.plist Normal file
View file

@ -0,0 +1,38 @@
NSServices = (
{
NSPortName = ExampleServices;
NSMessage = tolower;
NSSendTypes = (
NSStringPboardType
);
NSReturnTypes = (
NSStringPboardType
);
NSMenuItem = {
default = "To lower";
English = "To lower";
};
NSKeyEquivalent = {
default = L;
English = L;
};
},
{
NSPortName = ExampleServices;
NSMessage = toupper;
NSSendTypes = (
NSStringPboardType
);
NSReturnTypes = (
NSStringPboardType
);
NSMenuItem = {
default = "To upper";
English = "To upper";
};
NSKeyEquivalent = {
default = U;
English = U;
};
}
);