1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
|
//
// MPreferenceEditor.m
// MySQLGUICommon
//
// Created by Alfredo Kojima on 1/8/05.
// Copyright 2005 MySQL AB. All rights reserved.
//
#import "MPreferenceEditor.h"
#import "MConnectionEditor.h"
#import "MNibOwner.h"
@implementation MPreferenceEditor
- (id)initForConnectionsFile:(NSString*)file
{
self= [super init];
if (self)
{
if (![NSBundle loadNibNamed:@"PreferencesEditor" owner:self])
{
NSLog(@"Could not load PreferencesEditor nib file");
[self release];
return nil;
}
_connectionEditor= [[MConnectionEditor alloc] initForFile:file];
[[tabView tabViewItemAtIndex:0] setView: _connectionEditor->topView];
_pages= [[NSMutableArray alloc] init];
}
return self;
}
- (void)registerPageNib:(NSString*)nibName withLabel:(NSString*)label
{
MNibOwner *owner= [[MNibOwner alloc] init];
NSTabViewItem *tabItem= [[NSTabViewItem alloc] initWithIdentifier:label];
if (![NSBundle loadNibNamed:nibName owner:owner])
NSLog(@"Can't load nib");
[tabItem setLabel:label];
[tabItem setView:owner->view];
[tabView addTabViewItem:tabItem];
[tabItem release];
[_pages addObject:owner];
[owner release];
}
- (void)dealloc
{
[_pages release];
[_connectionEditor release];
[super dealloc];
}
- (NSWindow*)window
{
return window;
}
- (void)windowWillClose:(NSNotification *)aNotification
{
[_connectionEditor save:self];
if (_inModalLoop)
[NSApp stopModal];
if (_releaseOnClose)
[self release];
}
- (void)setReleaseOnClose:(BOOL)flag
{
_releaseOnClose= flag;
}
- (void)show
{
[window makeKeyAndOrderFront:nil];
}
- (int)runConnectionEditor
{
[window makeKeyAndOrderFront:nil];
_inModalLoop= YES;
return [NSApp runModalForWindow:window];
}
@end
|