summaryrefslogtreecommitdiff
path: root/tikzit/src/osx/PropertyInspectorController.h
blob: cb14021655e2b8888492a96280934d6241952a60 (plain)
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
//
//  PropertyInspectorController.h
//  TikZiT
//
//  Created by Aleks Kissinger on 17/07/2011.
//  Copyright 2011 Aleks Kissinger. All rights reserved.
//

#import <Cocoa/Cocoa.h>
#import "NodeStyle.h"
#import "GraphElementData.h"

@class SFBInspectorView;
@class StylePaletteController;

@interface PropertyInspectorController : NSWindowController {
	IBOutlet SFBInspectorView *propertyInspectorView;
	IBOutlet NSView *nodePropertiesView;
	IBOutlet NSView *graphPropertiesView;
	IBOutlet NSView *edgePropertiesView;
	IBOutlet NSTextField *edgeNodeLabelField;
	IBOutlet NSButton *edgeNodeCheckbox;
	IBOutlet NSArrayController *nodeDataArrayController;
	IBOutlet NSArrayController *graphDataArrayController;
	IBOutlet NSArrayController *edgeDataArrayController;
	IBOutlet NSArrayController *edgeNodeDataArrayController;
	
    NSMutableArray *selectedNodes;
    IBOutlet NSArrayController *selectedNodesArrayController;
    
    NSMutableArray *selectedEdges;
    IBOutlet NSArrayController *selectedEdgesArrayController;
    
    // this data lists exists solely for displaying messages in disabled data tables
    GraphElementData *noSelection;
    GraphElementData *multipleSelection;
    GraphElementData *noEdgeNode;
    GraphElementData *noGraph;
    
    
	// used to get access to the global style table
	StylePaletteController *stylePaletteController;
}

//@property (readonly) BOOL enableNodeDataControls;
//@property (readonly) BOOL enableEdgeDataControls;
@property (retain) NSMutableArray *selectedNodes;
@property (retain) NSMutableArray *selectedEdges;
@property (retain) StylePaletteController *stylePaletteController;

- (id)initWithWindowNibName:(NSString *)windowNibName;
- (void)graphSelectionChanged:(NSNotification*)notification;

- (IBAction)addNodeProperty:(id)sender;
- (IBAction)addNodeAtom:(id)sender;
- (IBAction)removeNodeProperty:(id)sender;

- (IBAction)addGraphProperty:(id)sender;
- (IBAction)addGraphAtom:(id)sender;
- (IBAction)removeGraphProperty:(id)sender;

- (IBAction)addEdgeProperty:(id)sender;
- (IBAction)addEdgeAtom:(id)sender;
- (IBAction)removeEdgeProperty:(id)sender;

- (IBAction)addEdgeNodeProperty:(id)sender;
- (IBAction)addEdgeNodeAtom:(id)sender;
- (IBAction)removeEdgeNodeProperty:(id)sender;

//- (IBAction)addRemoveChildNode:(id)sender;
- (IBAction)refreshDocument:(id)sender;

@end