summaryrefslogtreecommitdiff
path: root/tikzit/src/osx/PropertyInspectorController.h
blob: 0625f9bcc2ceed5fb754e5cf132b44c50824a49a (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
74
75
76
77
78
79
80
81
82
83
//
//  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 NSComboBox *sourceAnchorComboBox;
    IBOutlet NSComboBox *targetAnchorComboBox;
	IBOutlet NSTextField *edgeNodeLabelField;
	IBOutlet NSButton *edgeNodeCheckbox;
	IBOutlet NSArrayController *nodeDataArrayController;
	IBOutlet NSArrayController *graphDataArrayController;
	IBOutlet NSArrayController *edgeDataArrayController;
	IBOutlet NSArrayController *edgeNodeDataArrayController;
	
    NSMutableArray *sourceAnchorNames;
    IBOutlet NSArrayController *sourceAnchorNamesArrayController;
    
    NSMutableArray *targetAnchorNames;
    IBOutlet NSArrayController *targetAnchorNamesArrayController;
    
    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) NSMutableArray *sourceAnchorNames;
@property (retain) NSMutableArray *targetAnchorNames;
@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