home *** CD-ROM | disk | FTP | other *** search
- /*
- $Id: MSController.m,v 3.3 1997/10/28 13:32:44 lukeh Exp $
-
- Copyright (c) 1996, 1997 Luke Howard.
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. All advertising materials mentioning features or use of this software
- must display the following acknowledgement:
- This product includes software developed by Luke Howard.
- 4. The name of the other may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY LUKE HOWARD ``AS IS'' AND
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL LUKE HOWARD BE LIABLE
- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
- */
-
- #import <Foundation/Foundation.h>
- #import <AppKit/AppKit.h>
- #import <AppKit/NSNibLoading.h>
- #import "MSController.h"
- #import "version.h"
-
- @implementation MSController
-
- - (void)awakeFromNib
- {
- messageFont = [NSFont fontWithName:@"Olhfs" size:10.0];
- if (messageFont)
- [messagePad setFont:messageFont];
-
- theMessage = [MSMessage message];
- [MSMessage setLogDelegate:self];
- }
-
- - init
- {
- [super init];
- return self;
- }
-
- - (void)dealloc
- {
- [theMessage release];
- [super dealloc];
- }
-
- - (void)showInfoPanel:sender
- {
- if (!infoPanel) {
- [NSBundle loadNibNamed:@"Info.nib" owner:self];
- [versionString setStringValue:[NSString stringWithFormat:@"Version %s", VERS_NUM]];
- }
- [infoPanel makeKeyAndOrderFront:self];
- }
-
- - (void)broadcastMessage:sender
- {
- broadcasting = YES;
- [self sendMessage:sender];
- broadcasting = NO;
- }
-
- - (void)sendMessage:sender
- {
- NSString *recipient;
-
- recipient = [recipientField stringValue];
-
- if (![recipient cStringLength]) {
- [self log:@"You haven't typed a message!"];
- return;
- }
-
- if (![recipient cStringLength]) {
- [self log:@"You haven't specified a recipient"];
- return;
- }
-
- [theMessage setBroadcasting:broadcasting];
-
- [theMessage setRecipient:recipient];
- [theMessage setMessage:[messagePad string]];
-
- if (![theMessage ready]) {
- [self log:@"Message not ready"];
- } else {
- [theMessage post];
- }
- }
-
- - (void)clearRecipientField:sender
- {
- [recipientField setString:@""];
- }
-
- - (void)clearMessagePad:sender
- {
- [messagePad setString:@""];
- }
-
- - (void)log:(NSString *)msg
- {
- NSRunAlertPanel(@"Message Send", msg, @"OK", nil, nil);
- }
- @end
-