//
//  AMTickerClientProtcol.h
//  Universal Ticker
//
//  Created by Andreas on Wed Aug 27 2003.
//  Copyright (c) 2003 Andreas Mayer. All rights reserved.
//
//	2004-07-14	Andreas Mayer
//	- added performAction:
//	- replaced activateWithServer: with setupWithServer: and activate
//	2004-08-21	Andreas Mayer
//	- added performAction:buttonNumber:modifierFlags:
//	2006-12-25	Andreas Mayer
//	- added AMTickerInformalClientProtocol -fontDidChangeNotification:


#import <AppKit/AppKit.h>


#define AMTickerFontDidChangeNotification @"AMTickerFontDidChangeNotification"
#define AMTickerDidLaunchNotification @"AMTickerDidLaunchNotification"

// Ticker will send this notification through the system's distributed notification center
// when it is launched. The notification object is @"Universal Ticker", the userInfo dictionary
// is similar to that from NSWorkspace's NSWorkspaceDidLaunchApplicationNotification.


@protocol AMTickerClientProtocol
- (void)setupWithServer:(id)theServer;
- (void)activate;
- (void)deactivate;
- (BOOL)hasPrefsPane;
- (NSString *)clientIdentifier;
@optional
- (NSImage *)prefPaneIcon;
- (NSString *)prefPaneIconLabel;
- (NSString *)userInfo;
- (NSString *)helpAnchor;
@optional
// the following three methods are deprecated; use the ones with identifier argument instead
- (void)performAction:(in NSString *)action;
- (void)performAction:(in NSString *)action buttonNumber:(in int)button modifierFlags:(in unsigned int)flags;
- (out NSMenu *)menuForAction:(in NSString *)action;

- (void)performAction:(in NSString *)action forMessage:(in NSString *)identifier;
- (void)performAction:(in NSString *)action forMessage:(in NSString *)identifier buttonNumber:(in int)button modifierFlags:(in unsigned int)flags;
- (out NSMenu *)menuForAction:(in NSString *)action message:(in NSString *)Identifier;
@optional
- (void)fontDidChange:(in NSNotification *)aNotification;
// notification object = server
// @"font" = font object
// @"color" = text color object
@end
