diff options
Diffstat (limited to 'tikzit-old/src/osx/TikzDocument.m')
-rw-r--r-- | tikzit-old/src/osx/TikzDocument.m | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/tikzit-old/src/osx/TikzDocument.m b/tikzit-old/src/osx/TikzDocument.m new file mode 100644 index 0000000..ef5908d --- /dev/null +++ b/tikzit-old/src/osx/TikzDocument.m @@ -0,0 +1,84 @@ +// +// TikzDocument.m +// TikZiT +// +// Copyright 2010 Aleks Kissinger. All rights reserved. +// +// +// This file is part of TikZiT. +// +// TikZiT 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 3 of the License, or +// (at your option) any later version. +// +// TikZiT 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 TikZiT. If not, see <http://www.gnu.org/licenses/>. +// + +#import "TikzDocument.h" +#import "TikzWindowController.h" + +@implementation TikzDocument + +@synthesize tikz; + +- (id)init { + self = [super init]; + if (self) { + tikz = nil; + } + return self; +} + +//- (NSString *)windowNibName { +// // Override returning the nib file name of the document +// // If you need to use a subclass of NSWindowController or if your document supports multiple NSWindowControllers, you should remove this method and override -makeWindowControllers instead. +// return @"TikzDocument"; +//} + +- (void)makeWindowControllers { + TikzWindowController *wc = [[TikzWindowController alloc] initWithDocument:self]; + [self addWindowController:wc]; +} + +- (void)windowControllerDidLoadNib:(NSWindowController *) aController { + [super windowControllerDidLoadNib:aController]; + [[self graphicsView] refreshLayers]; + // Add any code here that needs to be executed once the windowController has loaded the document's window. +} + +- (NSData *)dataOfType:(NSString *)typeName error:(NSError **)outError { + TikzWindowController *wc = + (TikzWindowController*)[[self windowControllers] objectAtIndex:0]; + NSData *outData = [[[wc tikzSourceController] tikz] dataUsingEncoding:NSUTF8StringEncoding]; + + if ( outError != NULL ) { + *outError = [NSError errorWithDomain:NSOSStatusErrorDomain code:unimpErr userInfo:NULL]; + } + return outData; +} + +- (BOOL)readFromData:(NSData *)data ofType:(NSString *)typeName error:(NSError **)outError { + tikz = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; + + if ( outError != NULL ) { + *outError = [NSError errorWithDomain:NSOSStatusErrorDomain code:unimpErr userInfo:NULL]; + } + + return YES; +} + +- (GraphicsView*)graphicsView { + TikzWindowController *wc = + (TikzWindowController*)[[self windowControllers] objectAtIndex:0]; + return [wc graphicsView]; +} + + +@end |