//
// TikzSourceController.h
// 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 .
//
#import
#import "GraphicsView.h"
#import "TikzGraphAssembler.h"
@interface TikzSourceController : NSObject {
GraphicsView *graphicsView;
NSTextView *sourceView;
NSAttributedString *source;
NSTextField *status;
NSDictionary *textAttrs;
NSColor *successColor;
NSColor *failedColor;
NSUndoManager *documentUndoManager;
BOOL tikzChanged;
BOOL justUndid;
TikzGraphAssembler *assembler;
}
@property BOOL tikzChanged;
@property IBOutlet GraphicsView *graphicsView;
@property IBOutlet NSTextView *sourceView;
@property IBOutlet NSTextField *status;
@property NSUndoManager *documentUndoManager;
@property (copy) NSAttributedString *source;
@property (copy) NSString *tikz;
- (void)updateTikzFromGraph;
- (void)graphChanged:(NSNotification*)n;
// called by code, these do not register an undo
- (BOOL)tryParseTikz;
- (void)doRevertTikz;
// called by user, these do register an undo
- (void)parseTikz:(id)sender;
- (void)revertTikz:(id)sender;
@end