//
// $Id$
//
// SPTableRelations.h
// sequel-pro
//
// Created by J Knight on 13/05/09.
// Copyright 2009 J Knight. All rights reserved.
//
// 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
// More info at
#import
@class SPTableView;
@interface SPTableRelations : NSObject
{
IBOutlet id tableDocumentInstance;
IBOutlet id tablesListInstance;
IBOutlet id tableDataInstance;
IBOutlet id tableList;
IBOutlet NSButton *addRelationButton;
IBOutlet NSButton *removeRelationButton;
IBOutlet NSButton *refreshRelationsButton;
IBOutlet NSTextField *labelTextField;
IBOutlet SPTableView *relationsTableView;
IBOutlet NSPanel *addRelationPanel;
IBOutlet NSTextField *constraintName;
IBOutlet NSBox *addRelationTableBox;
IBOutlet NSPopUpButton *columnPopUpButton;
IBOutlet NSPopUpButton *refTablePopUpButton;
IBOutlet NSPopUpButton *refColumnPopUpButton;
IBOutlet NSPopUpButton *onUpdatePopUpButton;
IBOutlet NSPopUpButton *onDeletePopUpButton;
IBOutlet NSButton *confirmAddRelationButton;
IBOutlet NSProgressIndicator *dataProgressIndicator;
IBOutlet NSTextField *progressStatusTextField;
MCPConnection *connection;
NSUserDefaults *prefs;
NSMutableArray *relationData;
NSMutableArray *takenConstraintNames;
BOOL isRetrievingRelationNames;
}
@property (readonly) NSMutableArray *relationData;
@property (readwrite, assign) MCPConnection *connection;
// IB action methods
- (IBAction)addRelation:(id)sender;
- (IBAction)removeRelation:(id)sender;
- (IBAction)closeRelationSheet:(id)sender;
- (IBAction)confirmAddRelation:(id)sender;
- (IBAction)selectTableColumn:(id)sender;
- (IBAction)selectReferenceTable:(id)sender;
- (IBAction)refreshRelations:(id)sender;
- (void)tableSelectionChanged:(NSNotification *)notification;
// Task interaction
- (void)startDocumentTaskForTab:(NSNotification *)aNotification;
- (void)endDocumentTaskForTab:(NSNotification *)aNotification;
// Other
- (void)loadUsedRelationNames;
- (NSArray *)relationDataForPrinting;
- (void)alertDidEnd:(NSAlert *)alert returnCode:(NSInteger)returnCode contextInfo:(NSString *)contextInfo;
@end