/* IBInspector.m * * Copyright (C) 2003 Free Software Foundation, Inc. * * Author: Gregory John Casamento * Date: 2003 * * This file is part of GNUstep. * * 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. */ #include #include #include #include #include static NSNotificationCenter *nc = nil; @implementation IBInspector + (void) initialize { if(self == [IBInspector class]) { nc = [NSNotificationCenter defaultCenter]; } } - (id) init { if((self = [super init]) != nil) { [nc addObserver: self selector: @selector(handleNotification:) name: IBWillCloseDocumentNotification object: nil]; } return self; } - (void) dealloc { [nc removeObserver: self]; RELEASE(object); [super dealloc]; } - (void) handleNotification: (NSNotification *)notification { id doc = [notification object]; if([doc nameForObject: object] != nil) { [self setObject: nil]; } } - (NSView*) initialFirstResponder { return nil; } - (id) object { return object; } - (void) ok: sender { } - (NSButton*) okButton { return okButton; } - (void) revert: (id)sender { } - (NSButton*) revertButton { return revertButton; } - (void) setObject: (id)anObject { ASSIGN(object, anObject); } - (void) textDidBeginEditing: (NSNotification*)aNotification { } - (void) touch: (id)sender { [window setDocumentEdited: YES]; } - (BOOL) wantsButtons { return NO; } - (NSWindow*) window { return window; } @end