From 46d894569372dea8c3e3f698b361f68d6bbebde6 Mon Sep 17 00:00:00 2001 From: Johan Paulsson Date: Thu, 24 Jan 2013 18:21:59 +0000 Subject: Default preamble will include edges in osx. Added checks for null colour as coloured edges is not an option in osx. --- tikzit/TikZiT.xcodeproj/project.pbxproj | 6 ++++++ tikzit/src/common/EdgeStyle.m | 8 +++++--- tikzit/src/common/Preambles.h | 2 ++ tikzit/src/common/Preambles.m | 16 ++++++++++++++-- tikzit/src/osx/AppDelegate.m | 4 +++- tikzit/src/osx/PreambleController.h | 2 +- tikzit/src/osx/PreambleController.m | 3 ++- 7 files changed, 33 insertions(+), 8 deletions(-) diff --git a/tikzit/TikZiT.xcodeproj/project.pbxproj b/tikzit/TikZiT.xcodeproj/project.pbxproj index 1cc67ab..b8ea5c6 100644 --- a/tikzit/TikZiT.xcodeproj/project.pbxproj +++ b/tikzit/TikZiT.xcodeproj/project.pbxproj @@ -129,6 +129,7 @@ 7F6E2C8916B0091300BFE20D /* maths.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F6E2C8716B0091300BFE20D /* maths.m */; }; 7F6E2C8A16B0096000BFE20D /* SupportDir.m in Sources */ = {isa = PBXBuildFile; fileRef = 55652DF813E1F2030023F4C6 /* SupportDir.m */; }; 7F6E2C8C16B00ABA00BFE20D /* SFBInspectors.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 55CA98D412EF8FCE008F0368 /* SFBInspectors.framework */; }; + 7FEED45716B1A7C500B056CB /* StyleManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 7FEED45616B1A7C500B056CB /* StyleManager.m */; }; 8D15AC2C0486D014006FF6A4 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 2A37F4B9FDCFA73011CA2CEA /* Credits.rtf */; }; 8D15AC2F0486D014006FF6A4 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165FFE840EACC02AAC07 /* InfoPlist.strings */; }; 8D15AC340486D014006FF6A4 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A7FEA54F5311CA2CBB /* Cocoa.framework */; }; @@ -338,6 +339,8 @@ 55F9E04411FF54F000F5659E /* NSString+LatexConstants.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSString+LatexConstants.m"; path = "src/common/NSString+LatexConstants.m"; sourceTree = ""; }; 55FF4E64116A401B000C22B4 /* libicucore.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libicucore.dylib; path = usr/lib/libicucore.dylib; sourceTree = SDKROOT; }; 7F6E2C8716B0091300BFE20D /* maths.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = maths.m; path = src/common/test/maths.m; sourceTree = ""; }; + 7FEED45516B1A7C400B056CB /* StyleManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StyleManager.h; path = src/common/StyleManager.h; sourceTree = ""; }; + 7FEED45616B1A7C500B056CB /* StyleManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = StyleManager.m; path = src/common/StyleManager.m; sourceTree = ""; }; 8D15AC360486D014006FF6A4 /* TikZiT-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "TikZiT-Info.plist"; sourceTree = ""; }; 8D15AC370486D014006FF6A4 /* TikZiT.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TikZiT.app; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ @@ -593,6 +596,8 @@ 558F18BD117B031C009863B2 /* GraphChange.h */, 558F18BE117B031C009863B2 /* GraphChange.m */, 558F18BF117B031C009863B2 /* GraphElementData.h */, + 7FEED45516B1A7C400B056CB /* StyleManager.h */, + 7FEED45616B1A7C500B056CB /* StyleManager.m */, 558F18C0117B031C009863B2 /* GraphElementData.m */, 558F18C1117B031C009863B2 /* Node.h */, 558F18C2117B031C009863B2 /* Node.m */, @@ -875,6 +880,7 @@ 55397C7F144999C4006942FB /* PropertyHolder.m in Sources */, 553A4C5A144ED3D500AA6FAC /* NilToEmptyStringTransformer.m in Sources */, 55598E351635372E0023450A /* DiamondShape.m in Sources */, + 7FEED45716B1A7C500B056CB /* StyleManager.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/tikzit/src/common/EdgeStyle.m b/tikzit/src/common/EdgeStyle.m index 88b1f54..7a638c9 100644 --- a/tikzit/src/common/EdgeStyle.m +++ b/tikzit/src/common/EdgeStyle.m @@ -169,9 +169,11 @@ else if (headStyle == AH_Latex) [buf appendString:@"latex"]; - [buf appendString:@",draw="]; - [buf appendString:colorName]; - + if(colorName != nil){ + [buf appendString:@",draw="]; + [buf appendString:colorName]; + } + if (decorationStyle != ED_None) { [buf appendString:@",postaction={decorate},decoration={markings,mark="]; if (decorationStyle == ED_Arrow) diff --git a/tikzit/src/common/Preambles.h b/tikzit/src/common/Preambles.h index d507ad9..95081c4 100644 --- a/tikzit/src/common/Preambles.h +++ b/tikzit/src/common/Preambles.h @@ -29,6 +29,7 @@ NSMutableDictionary *preambleDict; NSString *selectedPreambleName; NSArray *styles; + NSArray *edges; StyleManager *styleManager; } @@ -40,6 +41,7 @@ + (Preambles*)preambles; - (id)init; - (void)setStyles:(NSArray*)sty; +- (void)setEdges:(NSArray*)edg; - (NSString*)preambleForName:(NSString*)name; - (BOOL)setPreamble:(NSString*)content forName:(NSString*)name; diff --git a/tikzit/src/common/Preambles.m b/tikzit/src/common/Preambles.m index af3bbc4..5343127 100644 --- a/tikzit/src/common/Preambles.m +++ b/tikzit/src/common/Preambles.m @@ -64,6 +64,7 @@ static NSString *POSTAMBLE = preambleDict = [[NSMutableDictionary alloc] initWithCapacity:1]; [preambleDict setObject:[self defaultPreamble] forKey:@"custom"]; styles = nil; + edges = nil; styleManager = nil; return self; } @@ -96,6 +97,12 @@ static NSString *POSTAMBLE = styles = sty; } +- (void)setEdges:(NSArray*)edg { + [edg retain]; + [edges release]; + edges = edg; +} + - (NSString*)styleDefinitions { if (styleManager != nil) { [self setStyles:[styleManager nodeStyles]]; @@ -120,11 +127,16 @@ static NSString *POSTAMBLE = [stroke hexName], [stroke redFloat], [stroke greenFloat], [stroke blueFloat]]; } } + + if (styleManager != nil) { + [self setEdges:[styleManager edgeStyles]]; + } + [buf appendString:@"\n"]; - for (EdgeStyle *st in [styleManager edgeStyles]) { + for (EdgeStyle *st in edges) { [buf appendFormat:@"%@\n", [st tikz]]; ColorRGB *color = [st colorRGB]; - if ([color name] == nil && ![colors containsObject:color]) { + if (color != nil && [color name] == nil && ![colors containsObject:color]) { [colors addObject:color]; [colbuf appendFormat:@"\\definecolor{%@}{rgb}{%.3f,%.3f,%.3f}\n", [color hexName], [color redFloat], [color greenFloat], [color blueFloat]]; diff --git a/tikzit/src/osx/AppDelegate.m b/tikzit/src/osx/AppDelegate.m index edfaf19..bb1b5d6 100644 --- a/tikzit/src/osx/AppDelegate.m +++ b/tikzit/src/osx/AppDelegate.m @@ -51,7 +51,9 @@ preambleController = [[PreambleController alloc] initWithWindowNibName:@"Preamble" plist:preamblePlist - styles:[stylePaletteController nodeStyles]]; + styles:[stylePaletteController nodeStyles] + edges:[stylePaletteController edgeStyles]]; + char template[] = "/tmp/tikzit_tmp_XXXXXXX"; char *dir = mkdtemp(template); diff --git a/tikzit/src/osx/PreambleController.h b/tikzit/src/osx/PreambleController.h index 4f7fb33..2d5a8ab 100644 --- a/tikzit/src/osx/PreambleController.h +++ b/tikzit/src/osx/PreambleController.h @@ -44,7 +44,7 @@ @property (retain) NSAttributedString *preambleText; @property (retain) NSIndexSet *selectionIndexes; -- (id)initWithWindowNibName:(NSString *)windowNibName plist:(NSString*)plist styles:(NSArray*)sty; +- (id)initWithWindowNibName:(NSString *)windowNibName plist:(NSString*)plist styles:(NSArray*)sty edges:(NSArray*)edg; - (void)savePreambles:(NSString*)plist; - (NSString*)currentPreamble; - (NSString*)currentPostamble; diff --git a/tikzit/src/osx/PreambleController.m b/tikzit/src/osx/PreambleController.m index e09a3fc..e424e7b 100644 --- a/tikzit/src/osx/PreambleController.m +++ b/tikzit/src/osx/PreambleController.m @@ -28,11 +28,12 @@ @synthesize preambleText, preambles; -- (id)initWithWindowNibName:(NSString *)windowNibName plist:(NSString*)plist styles:(NSArray*)sty { +- (id)initWithWindowNibName:(NSString *)windowNibName plist:(NSString*)plist styles:(NSArray*)sty edges:(NSArray*)edg { [super initWithWindowNibName:windowNibName]; preambles = (Preambles*)[NSKeyedUnarchiver unarchiveObjectWithFile:plist]; [preambles setStyles:sty]; + [preambles setEdges:edg]; if (preambles == nil) preambles = [[Preambles alloc] init]; preambleText = nil; -- cgit v1.2.3