//
// $Id: EmInspector.m,v 1.7 1997/10/31 04:51:42 nygard Exp $
//

//
//  This file is a part of Empire, a game of exploration and conquest.
//  Copyright (C) 1996  Steve Nygard
//
//  This program is free software; you can redistribute it and/or modify
//  it under the terms of the GNU General Public License as published by
//  the Free Software Foundation; either version 2 of the License, or
//  (at your option) any later version.
//
//  This program is distributed in the hope that it will be useful,
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//  GNU General Public License for more details.
//
//  You should have received a copy of the GNU General Public License
//  along with this program; if not, write to the Free Software
//  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
//  You may contact the author by:
//     e-mail:  nygard@telusplanet.net
//

#import "Empire.h"

RCSID ("$Id: EmInspector.m,v 1.7 1997/10/31 04:51:42 nygard Exp $");

#import "EmInspector.h"
#import "EmInspectorManager.h"

//======================================================================
// Provide the basic services for an inspector that are required by
// the inspector manager.
//======================================================================

@implementation EmInspector

+ instance
{
    NSLog (@"This shouldn't be called!");

    return nil;
}

//----------------------------------------------------------------------

- (void) awakeFromNib
{
    //NSLog (@"retaining %@", inspector_view);
    [inspectorView retain];
}

//----------------------------------------------------------------------

- initWithInspectorNibNamed:(NSString *)nibFile
{
    BOOL loaded;

    [super init];

    inspectorView = nil;

    loaded = [NSBundle loadNibNamed:nibFile owner:self];
    if (loaded == NO)
    {
        NSLog (@"Could not load %@.", nibFile);
        [super dealloc];
        return nil;
    }

    inspectorManager = [EmInspectorManager instance];

    return self;
}

//----------------------------------------------------------------------

- (void) dealloc
{
    SNRelease (inspectorView);

    [super dealloc];
}

//----------------------------------------------------------------------

- (NSView *) inspectorView
{
    return inspectorView;
}

//----------------------------------------------------------------------

- subject
{
    return subject;
}

//----------------------------------------------------------------------

- (void) ok
{
    [[inspectorView window] setDocumentEdited:NO];

    [inspectorManager setOkButtonEnabled:NO];
    [inspectorManager setRevertButtonEnabled:NO];
}

//----------------------------------------------------------------------

- (void) revert
{
    [[inspectorView window] setDocumentEdited:NO];

    [inspectorManager setOkButtonEnabled:NO];
    [inspectorManager setRevertButtonEnabled:NO]; 
}

//----------------------------------------------------------------------

- (BOOL) wantsButtons
{
    return NO;
}

//----------------------------------------------------------------------

- (void) setSubject:anObject
{
    subject = anObject; 
}

//----------------------------------------------------------------------

- (void) willStopInspecting
{
}

@end
