summaryrefslogtreecommitdiff
path: root/tikzit-old/src/osx/CustomNodeCellView.m
diff options
context:
space:
mode:
Diffstat (limited to 'tikzit-old/src/osx/CustomNodeCellView.m')
-rw-r--r--tikzit-old/src/osx/CustomNodeCellView.m83
1 files changed, 83 insertions, 0 deletions
diff --git a/tikzit-old/src/osx/CustomNodeCellView.m b/tikzit-old/src/osx/CustomNodeCellView.m
new file mode 100644
index 0000000..612394b
--- /dev/null
+++ b/tikzit-old/src/osx/CustomNodeCellView.m
@@ -0,0 +1,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