From 000084adfd36c87051fb7df912a00fca35365f4e Mon Sep 17 00:00:00 2001 From: Johan Paulsson Date: Mon, 2 Dec 2013 11:28:52 -0800 Subject: osx gui: Moved preamble window to preferences. Moved the preamble window to the preference panel as a new tab. The PreambleController is now a subclass of NSView with related changes to the Preamble.xib. The toolbar that controlled default or custom preamble has been replaced with buttons in the interface. --- tikzit/src/osx/AppDelegate.m | 4 +- tikzit/src/osx/PreambleController.h | 11 ++--- tikzit/src/osx/PreambleController.m | 30 +++++------- tikzit/src/osx/PreferenceController.h | 3 ++ tikzit/src/osx/PreferenceController.m | 19 +++++++- tikzit/src/osx/Preferences.xib | 91 +++++++++++++++++++++++++++++------ 6 files changed, 115 insertions(+), 43 deletions(-) (limited to 'tikzit/src') diff --git a/tikzit/src/osx/AppDelegate.m b/tikzit/src/osx/AppDelegate.m index affb95c..35484b7 100644 --- a/tikzit/src/osx/AppDelegate.m +++ b/tikzit/src/osx/AppDelegate.m @@ -49,7 +49,7 @@ NSString *preamblePlist = [supportDir stringByAppendingPathComponent:@"preambles.plist"]; preambleController = - [[PreambleController alloc] initWithWindowNibName:@"Preamble" + [[PreambleController alloc] initWithNibName:@"Preamble" plist:preamblePlist styles:[stylePaletteController nodeStyles] edges:[stylePaletteController edgeStyles]]; @@ -67,7 +67,7 @@ preambleController:preambleController tempDir:tempDir]; - preferenceController = [[PreferenceController alloc] initWithWindowNibName:@"Preferences"]; + preferenceController = [[PreferenceController alloc] initWithWindowNibName:@"Preferences" preambleController:preambleController]; // each application has one global preview controller [PreviewController setDefaultPreviewController:previewController]; diff --git a/tikzit/src/osx/PreambleController.h b/tikzit/src/osx/PreambleController.h index fca52ae..3c7a7c3 100644 --- a/tikzit/src/osx/PreambleController.h +++ b/tikzit/src/osx/PreambleController.h @@ -25,17 +25,14 @@ #import "Preambles.h" #import "Preambles+Coder.h" -@interface PreambleController : NSWindowController { +@interface PreambleController : NSViewController { Preambles *preambles; IBOutlet NSTextView *textView; - IBOutlet NSToolbar *toolbar; - IBOutlet NSToolbarItem *defaultToolbarItem; - IBOutlet NSToolbarItem *customToolbarItem; IBOutlet NSDictionaryController *preambleDictionaryController; + NSDictionary *textAttrs; NSAttributedString *preambleText; NSColor *ghostColor; - NSIndexSet *selectionIndexes; } @@ -44,11 +41,13 @@ @property (retain) NSAttributedString *preambleText; @property (retain) NSIndexSet *selectionIndexes; -- (id)initWithWindowNibName:(NSString *)windowNibName plist:(NSString*)plist styles:(NSArray*)sty edges:(NSArray*)edg; +- (id)initWithNibName:(NSString *)nibName plist:(NSString*)plist styles:(NSArray*)sty edges:(NSArray*)edg; - (void)savePreambles:(NSString*)plist; - (NSString*)currentPreamble; - (NSString*)currentPostamble; - (NSString*)buildDocumentForTikz:(NSString*)tikz; + +- (IBAction)setPreambleToDefault:(id)sender; - (IBAction)setPreamble:(id)sender; - (IBAction)insertDefaultStyles:(id)sender; diff --git a/tikzit/src/osx/PreambleController.m b/tikzit/src/osx/PreambleController.m index af9a778..3e55eaf 100644 --- a/tikzit/src/osx/PreambleController.m +++ b/tikzit/src/osx/PreambleController.m @@ -28,8 +28,8 @@ @synthesize preambleText, preambles; -- (id)initWithWindowNibName:(NSString *)windowNibName plist:(NSString*)plist styles:(NSArray*)sty edges:(NSArray*)edg { - [super initWithWindowNibName:windowNibName]; +- (id)initWithNibName:(NSString *)nibName plist:(NSString*)plist styles:(NSArray*)sty edges:(NSArray*)edg { + [super initWithNibName:nibName bundle:Nil]; preambles = (Preambles*)[NSKeyedUnarchiver unarchiveObjectWithFile:plist]; [preambles setStyles:sty]; @@ -83,17 +83,6 @@ attributes:textAttrs]]; } -- (void)showWindow:(id)sender { - [super showWindow:sender]; - if ([self useDefaultPreamble]) { - [toolbar setSelectedItemIdentifier:[defaultToolbarItem itemIdentifier]]; - } else { - [toolbar setSelectedItemIdentifier:[customToolbarItem itemIdentifier]]; - } - - [self setPreamble:self]; -} - - (void)savePreambles:(NSString*)plist { [self flushText]; [NSKeyedArchiver archiveRootObject:preambles toFile:plist]; @@ -125,11 +114,16 @@ return selectionIndexes; } +- (IBAction)setPreambleToDefault:(id)sender{ + [self setCurrentPreamble:@"default"]; + [textView setBackgroundColor:ghostColor]; +} + - (IBAction)setPreamble:(id)sender { - if ([[toolbar selectedItemIdentifier] isEqualToString:[defaultToolbarItem itemIdentifier]]) { - [self setCurrentPreamble:@"default"]; - [textView setBackgroundColor:ghostColor]; - } else if ([[toolbar selectedItemIdentifier] isEqualToString:[customToolbarItem itemIdentifier]]) { + //if ([[toolbar selectedItemIdentifier] isEqualToString:[defaultToolbarItem itemIdentifier]]) { + // [self setCurrentPreamble:@"default"]; + // [textView setBackgroundColor:ghostColor]; + //} else if ([[toolbar selectedItemIdentifier] isEqualToString:[customToolbarItem itemIdentifier]]) { NSString *key = nil; if ([selectionIndexes count]==1) { int i = [selectionIndexes firstIndex]; @@ -143,7 +137,7 @@ //NSLog(@"preamble set to custom"); } [textView setBackgroundColor:[NSColor whiteColor]]; - } + //} } - (IBAction)insertDefaultStyles:(id)sender { diff --git a/tikzit/src/osx/PreferenceController.h b/tikzit/src/osx/PreferenceController.h index 04fd324..5a14b72 100644 --- a/tikzit/src/osx/PreferenceController.h +++ b/tikzit/src/osx/PreferenceController.h @@ -24,14 +24,17 @@ #import #import "UpdatePreferenceController.h" +#import "PreambleController.h" @interface PreferenceController : NSWindowController{ IBOutlet NSView *engineView; IBOutlet NSView *generalView; IBOutlet NSView *updateView; + IBOutlet NSView *preambleView; UpdatePreferenceController *updateController; + PreambleController *preambleController; int currentViewTag; } diff --git a/tikzit/src/osx/PreferenceController.m b/tikzit/src/osx/PreferenceController.m index 6ccedd0..b08cbeb 100644 --- a/tikzit/src/osx/PreferenceController.m +++ b/tikzit/src/osx/PreferenceController.m @@ -30,6 +30,14 @@ @implementation PreferenceController +- (id)initWithWindowNibName:(NSString *)windowNibName preambleController:(PreambleController*)pc{ + [super initWithWindowNibName:windowNibName]; + + preambleController = pc; + + return self; +} + - (NSRect)newFrameForNewContentView:(NSView*)view { NSWindow *window = [self window]; NSRect newFrameRect = [window frameRectForContentRect:[view frame]]; @@ -51,13 +59,16 @@ default: case 0: view = generalView; - break; + break; case 1: view = engineView; - break; + break; case 2: view = updateView; break; + case 3: + view = preambleView; + break; } return view; @@ -80,6 +91,10 @@ [[updateController view] setFrame:[updateView frame]]; [[[self window] contentView] replaceSubview:updateView with:[updateController view]]; updateView = [updateController view]; + + [[preambleController view] setFrame:[preambleView frame]]; + [[[self window] contentView] replaceSubview:preambleView with:[preambleController view]]; + preambleView = [preambleController view]; } - (IBAction)switchView:(id)sender { diff --git a/tikzit/src/osx/Preferences.xib b/tikzit/src/osx/Preferences.xib index 3cf1677..dc2e979 100644 --- a/tikzit/src/osx/Preferences.xib +++ b/tikzit/src/osx/Preferences.xib @@ -60,7 +60,7 @@ 1 1 - + 197F9408-AFB0-404B-B2B6-4DB1250B0A80 @@ -104,6 +104,25 @@ YES 0 + + + A96DC4D4-2171-4D05-8C08-8D01B3829158 + + Preamble + Preamble + + + + + + {0, 0} + {0, 0} + YES + YES + 3 + YES + 0 + F85FE7C2-9847-4E58-8BF6-BE334E918CA7 @@ -126,13 +145,15 @@ - + + - + - + + @@ -142,7 +163,6 @@ {480, 270} - {{0, 0}, {1680, 1028}} {10000000000000, 10000000000000} @@ -158,7 +178,6 @@ {{18, 15}, {214, 18}} - _NS:9 YES @@ -280,7 +299,6 @@ {{214, 40}, {53, 17}} - _NS:1535 YES @@ -304,14 +322,23 @@ _NS:9 NSView - + 12 {480, 115} - + _NS:9 + NSView + + + + 12 + + {557, 354} + + _NS:9 NSView @@ -365,7 +392,7 @@ switchView: - + 116 @@ -373,10 +400,26 @@ updateView - + 117 + + + switchView: + + + + 120 + + + + preambleView + + + + 121 + delegate @@ -464,7 +507,8 @@ - + + @@ -753,13 +797,23 @@ 64 - + 115 - + + + + + 118 + + + + + 119 + @@ -773,6 +827,8 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -819,7 +875,7 @@ - 117 + 121 @@ -848,6 +904,7 @@ NSView NSView + NSView NSView @@ -859,6 +916,10 @@ generalView NSView + + preambleView + NSView + updateView NSView -- cgit v1.2.3