mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-05-30 13:10:38 +00:00
Added priovate notifcation center class
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@4991 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
adba2520a6
commit
4f9d846b9c
2 changed files with 81 additions and 1 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
Tue Oct 12 1999 Richard Frith-Macdonald <richard@brainstorm.co.uk>
|
||||||
|
|
||||||
|
* Source/NSWorkspace.m: Added private notification center class to
|
||||||
|
handle notifications to be passed between applications.
|
||||||
|
|
||||||
Sat Oct 9 1999 Nicola Pero <n.pero@mi.flashnet.it>
|
Sat Oct 9 1999 Nicola Pero <n.pero@mi.flashnet.it>
|
||||||
|
|
||||||
* Source/NSButton.m ([-keyDown:]): Perform a click if
|
* Source/NSButton.m ([-keyDown:]): Perform a click if
|
||||||
|
|
|
@ -44,11 +44,86 @@
|
||||||
#include <Foundation/NSProcessInfo.h>
|
#include <Foundation/NSProcessInfo.h>
|
||||||
#include <Foundation/NSFileManager.h>
|
#include <Foundation/NSFileManager.h>
|
||||||
#include <Foundation/NSNotificationQueue.h>
|
#include <Foundation/NSNotificationQueue.h>
|
||||||
|
#include <Foundation/NSDistributedNotificationCenter.h>
|
||||||
#include <Foundation/NSConnection.h>
|
#include <Foundation/NSConnection.h>
|
||||||
|
|
||||||
#define stringify_it(X) #X
|
#define stringify_it(X) #X
|
||||||
#define mkpath(X) stringify_it(X) "/Tools"
|
#define mkpath(X) stringify_it(X) "/Tools"
|
||||||
|
|
||||||
|
static NSString *GSWorkspaceNotification = @"GSWorkspaceNotification";
|
||||||
|
|
||||||
|
@interface _GSWorkspaceCenter: NSNotificationCenter
|
||||||
|
{
|
||||||
|
NSDistributedNotificationCenter *remote;
|
||||||
|
}
|
||||||
|
- (void) _handleRemoteNotification: (NSNotification*)aNotification;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@implementation _GSWorkspaceCenter
|
||||||
|
|
||||||
|
- (void) dealloc
|
||||||
|
{
|
||||||
|
[remote removeObserver: self name: nil object: GSWorkspaceNotification];
|
||||||
|
RELEASE(remote);
|
||||||
|
[super dealloc];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (id) init
|
||||||
|
{
|
||||||
|
self = [super init];
|
||||||
|
if (self != nil)
|
||||||
|
{
|
||||||
|
remote = RETAIN([NSDistributedNotificationCenter defaultCenter]);
|
||||||
|
[remote addObserver: self
|
||||||
|
selector: @selector(_handleRemoteNotification:)
|
||||||
|
name: nil
|
||||||
|
object: GSWorkspaceNotification];
|
||||||
|
}
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Post notification both locally and remotely.
|
||||||
|
*/
|
||||||
|
- (void) postNotification: (NSNotification*)aNotification
|
||||||
|
{
|
||||||
|
NSNotification *rem;
|
||||||
|
|
||||||
|
rem = [NSNotification notificationWithName: [aNotification name]
|
||||||
|
object: GSWorkspaceNotification
|
||||||
|
userInfo: [aNotification userInfo]];
|
||||||
|
[remote postNotification: rem];
|
||||||
|
[super postNotification: aNotification];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) postNotificationName: (NSString*)name
|
||||||
|
object: (id)object
|
||||||
|
{
|
||||||
|
[self postNotification: [NSNotification notificationWithName: name
|
||||||
|
object: object]];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) postNotificationName: (NSString*)name
|
||||||
|
object: (id)object
|
||||||
|
userInfo: (NSDictionary*)info
|
||||||
|
{
|
||||||
|
[self postNotification: [NSNotification notificationWithName: name
|
||||||
|
object: object
|
||||||
|
userInfo: info]];
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Forward a notification from a remote application to observers in this
|
||||||
|
* application.
|
||||||
|
*/
|
||||||
|
- (void) _handleRemoteNotification: (NSNotification*)aNotification
|
||||||
|
{
|
||||||
|
[super postNotification: aNotification];
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@implementation NSWorkspace
|
@implementation NSWorkspace
|
||||||
|
|
||||||
|
@ -92,7 +167,7 @@ static NSString *_rootPath = @"/";
|
||||||
|
|
||||||
beenHere = YES;
|
beenHere = YES;
|
||||||
|
|
||||||
workspaceCenter = [NSNotificationCenter new];
|
workspaceCenter = [_GSWorkspaceCenter new];
|
||||||
iconMap = [NSMutableDictionary new];
|
iconMap = [NSMutableDictionary new];
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue