blob: 612394bebd0d1cf7cbe9cd4831f8b701b843bedc (
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
|
//
// CustomNodeCellView.m
// TikZiT
//
// Created by Johan Paulsson on 12/12/13.
// Copyright (c) 2013 Aleks Kissinger. All rights reserved.
//
#import "CustomNodeCellView.h"
@implementation CustomNodeCellView
- (id)initWithFrame:(NSRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code here.
}
return self;
}
- (void)drawRect:(NSRect)dirtyRect
{
[super drawRect:dirtyRect];
// Drawing code here.
}
- (id) objectValue{
return [super objectValue];
}
-(void)drawLayer:(CALayer *)layer inContext:(CGContextRef)context {
if (nodeLayer!=nil) {
if (![[[self layer] sublayers] containsObject:nodeLayer]) {
[[self layer] addSublayer:nodeLayer];
NSPoint c = NSMakePoint((CGRectGetMinX([[self layer] frame])+CGRectGetWidth([nodeLayer bounds])/2),
CGRectGetMidY([[self layer] frame]));
//c = NSMakePoint(-16.5,-16.5);
[nodeLayer setCenter:c andAnimateWhen:NO];
[[self textField] setFrame:NSMakeRect(CGRectGetWidth([nodeLayer bounds]), CGRectGetMidY([[self layer] frame]), CGRectGetWidth([[self textField] frame]), CGRectGetHeight([[self textField] frame]))];
}
if (selected){
[nodeStyle setStrokeColor:[NSColor whiteColor]];
[[nodeLayer node] setStyle:nodeStyle];
}else{
[nodeStyle setStrokeColor:[NSColor blackColor]];
[[nodeLayer node] setStyle:nodeStyle];
}
[nodeLayer updateFrame];
}
}
- (void) setObjectValue:(id)objectValue{
if(objectValue == nil)
return;
nodeStyle = (NodeStyle *)objectValue;
[[self textField] setStringValue:[nodeStyle shapeName]];
if (nodeLayer == nil) {
nodeLayer = [[NodeLayer alloc] initWithNode:[Node node]
transformer:[Transformer defaultTransformer]];
[nodeLayer setRescale:NO];
}
[nodeStyle setName:[nodeStyle shapeName]];
[[nodeLayer node] setStyle:nodeStyle];
[nodeLayer updateFrame];
NSLog(@"asd");
}
- (void)setBackgroundStyle:(NSBackgroundStyle)backgroundStyle {
[super setBackgroundStyle:backgroundStyle];
selected = (backgroundStyle == NSBackgroundStyleDark);
[self setNeedsDisplay:YES];
}
@end
|