pax_global_header00006660000000000000000000000064123052527500014513gustar00rootroot0000000000000052 comment=33f41509f7d527adb0b66bd4d390994e785516f9 gnustep-OresmeKit-0.1/000075500000000000000000000000001230525275000147365ustar00rootroot00000000000000gnustep-OresmeKit-0.1/.gear/000075500000000000000000000000001230525275000157325ustar00rootroot00000000000000gnustep-OresmeKit-0.1/.gear/OresmeKit.spec000064400000000000000000000063721230525275000205200ustar00rootroot00000000000000%set_verify_elf_method unresolved=strict Name: gnustep-OresmeKit Version: 0.1 Release: alt3.svn20140221 Summary: Oresme is a plotting framework for GNUstep License: GPLv2+ Group: Graphical desktop/GNUstep Url: http://gap.nongnu.org/oresmekit/index.html Packager: Eugeny A. Rostovtsev (REAL) # http://svn.savannah.nongnu.org/svn/gap/trunk/libs/Oresme/OresmeKit/ Source: %name-%version.tar BuildPreReq: clang-devel gnustep-make-devel libgnustep-objc2-devel /proc BuildPreReq: gnustep-gui-devel BuildPreReq: libgmp-devel libgnutls-devel libgcrypt-devel BuildPreReq: libxslt-devel libffi-devel libicu-devel zlib-devel Requires: lib%name = %EVR Requires: gnustep-back %description OresmeKit, a plotting and charting framework for Objective-C, GNUstep (and Cocoa/Macintosh). The kit offers custom Views that can be embedded in the application and display data at need. Why OresmeKit? In honour of Nicolas Oresme the antique philosopher who thought about coordinates long before Cartesius. Because Cartesius was too predictable as a name and too tied to X-Y plotting, while OresmeKit shall support more chart types in the future. %package -n lib%name Summary: Shared libraries of OresmeKit Group: System/Libraries %description -n lib%name OresmeKit, a plotting and charting framework for Objective-C, GNUstep (and Cocoa/Macintosh). This package contains shared libraries of OresmeKit. %package -n lib%name-devel Summary: Development files of OresmeKit Group: Development/Objective-C Provides: %name-devel = %EVR Requires: %name = %EVR Requires: lib%name = %EVR %description -n lib%name-devel OresmeKit, a plotting and charting framework for Objective-C, GNUstep (and Cocoa/Macintosh). This package contains development files of OresmeKit. %prep %setup %build . %_datadir/GNUstep/Makefiles/GNUstep.sh %make_build \ messages=yes \ debug=yes \ strip=no \ shared=yes \ CONFIG_SYSTEM_LIBS='-lgnustep-gui -lgnustep-base -lobjc2 -lm' %install . %_datadir/GNUstep/Makefiles/GNUstep.sh %makeinstall_std GNUSTEP_INSTALLATION_DOMAIN=SYSTEM pushd %buildroot%_libdir for j in OresmeKit; do for i in lib$j.so*; do rm -f $i mv GNUstep/Frameworks/$j.framework/Versions/Current/$i ./ for k in lib$j.so.*.*; do ln -s %_libdir/$k GNUstep/Frameworks/$j.framework/Versions/Current/$i rm GNUstep/Frameworks/$j.framework/Versions/Current/$j ln -s %_libdir/$k GNUstep/Frameworks/$j.framework/Versions/Current/$j done done done popd %files %_libdir/GNUstep %exclude %_libdir/GNUstep/Frameworks/OresmeKit.framework/Versions/0.1/Headers %exclude %_libdir/GNUstep/Frameworks/OresmeKit.framework/Headers %files -n lib%name %_libdir/*.so.* %files -n lib%name-devel %_includedir/* %_libdir/*.so %_libdir/GNUstep/Frameworks/OresmeKit.framework/Versions/0.1/Headers %_libdir/GNUstep/Frameworks/OresmeKit.framework/Headers %changelog * Tue Mar 04 2014 Eugeny A. Rostovtsev (REAL) 0.1-alt3.svn20140221 - New snapshot * Sat Feb 15 2014 Eugeny A. Rostovtsev (REAL) 0.1-alt3.cvs20140127 - Built with clang * Thu Jan 30 2014 Eugeny A. Rostovtsev (REAL) 0.1-alt2.cvs20140127 - Added Requires: gnustep-back * Mon Jan 27 2014 Eugeny A. Rostovtsev (REAL) 0.1-alt1.cvs20140127 - Initial build for Sisyphus gnustep-OresmeKit-0.1/.gear/rules000064400000000000000000000001161230525275000170050ustar00rootroot00000000000000spec: .gear/OresmeKit.spec tar: . name=@name@-@version@ base=@name@-@version@ gnustep-OresmeKit-0.1/English.lproj/000075500000000000000000000000001230525275000174545ustar00rootroot00000000000000gnustep-OresmeKit-0.1/English.lproj/InfoPlist.strings000064400000000000000000000004041230525275000227740ustar00rootroot00000000000000þÿ/* Localized versions of Info.plist keys */ CFBundleName = "OresmeKit"; NSHumanReadableCopyright = "© __MyCompanyName__, 2011"; gnustep-OresmeKit-0.1/GNUmakefile000064400000000000000000000015771230525275000170220ustar00rootroot00000000000000# # GNUmakefile - Generated by ProjectCenter # ifeq ($(GNUSTEP_MAKEFILES),) GNUSTEP_MAKEFILES := $(shell gnustep-config --variable=GNUSTEP_MAKEFILES 2>/dev/null) endif ifeq ($(GNUSTEP_MAKEFILES),) $(error You need to set GNUSTEP_MAKEFILES before compiling!) endif include $(GNUSTEP_MAKEFILES)/common.make # # Framework # VERSION = 0.1 FRAMEWORK_NAME = OresmeKit OresmeKit_CURRENT_VERSION_NAME = 0.1 OresmeKit_DEPLOY_WITH_CURRENT_VERSION = yes # # Public headers (will be installed) # OresmeKit_HEADER_FILES = \ OresmeKit.h \ OKCartesius.h \ OKChart.h \ OKSeries.h \ OKLineChart.h \ OresmeKit.h \ OKPieChart.h # # Class files # OresmeKit_OBJC_FILES = \ OKCartesius.m \ OKChart.m \ OKSeries.m \ OKLineChart.m \ OKPieChart.m # # Makefiles # -include GNUmakefile.preamble include $(GNUSTEP_MAKEFILES)/aggregate.make include $(GNUSTEP_MAKEFILES)/framework.make -include GNUmakefile.postamble gnustep-OresmeKit-0.1/Info.plist000064400000000000000000000013221230525275000167040ustar00rootroot00000000000000 CFBundleDevelopmentRegion English CFBundleExecutable OresmeKit CFBundleIconFile CFBundleIdentifier com.yourcompany.yourcocoaframework CFBundleInfoDictionaryVersion 6.0 CFBundlePackageType FMWK CFBundleSignature ???? CFBundleVersion 1.0 NSPrincipalClass gnustep-OresmeKit-0.1/OKCartesius.h000064400000000000000000000034471230525275000173130ustar00rootroot00000000000000/* Project: OresmeKit Copyright (C) 2011 Free Software Foundation Author: Riccardo Mottola Created: 2011-08-21 23:58:53 +0200 by multix This application 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 2 of the License, or (at your option) any later version. This application 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 Library General Public License for more details. You should have received a copy of the GNU General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA. */ #import #import typedef enum { OKQuadrantCentered = 0, OKQuadrantI = 1, OKQuadrantII = 2, OKQuadrantIII = 3, OKQuadrantIV = 4, OKQuadrantAuto = 5 } OKQuadrantPositioning; @interface OKCartesius : NSView { OKQuadrantPositioning quadrantPositioning; NSMutableArray *curve1; /** array of NSPoints in NSValues */ NSMutableArray *curve2; /** array of NSPoints in NSValues */ NSColor *backgroundColor; NSColor *axisColor; NSColor *curve1Color; NSColor *curve2Color; float visibleXUnits; float visibleYUnits; } -(NSMutableArray *)curve1; -(NSMutableArray *)curve2; -(void)setVisibleXUnits: (float)units; -(void)setVisibleYUnits: (float)units; -(void)setQuadrantPositioning:(OKQuadrantPositioning)p; -(void)setBackgroundColor:(NSColor *)color; -(void)setAxisColor:(NSColor *)color; -(void)setCurve1Color:(NSColor *)color; -(void)setCurve2Color:(NSColor *)color; @end gnustep-OresmeKit-0.1/OKCartesius.m000064400000000000000000000131101230525275000173040ustar00rootroot00000000000000/* Project: OresmeKit Carthesius: Abscissa/Ordinata Charts Copyright (C) 2011 Free Software Foundation Author: Riccardo Mottola Created: 2011-08-21 23:58:53 +0200 by multix This application 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 2 of the License, or (at your option) any later version. This application 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 Library General Public License for more details. You should have received a copy of the GNU General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA. */ #import #import #import "OKCartesius.h" @implementation OKCartesius -(id)initWithFrame: (NSRect)frameRect { self = [super initWithFrame: frameRect]; if (self) { quadrantPositioning = OKQuadrantCentered; curve1 = [[NSMutableArray alloc] initWithCapacity: 10]; curve2 = [[NSMutableArray alloc] initWithCapacity: 10]; backgroundColor = [[NSColor whiteColor] retain]; axisColor = [[NSColor blackColor] retain]; curve1Color = [[NSColor blueColor] retain]; curve2Color = [[NSColor redColor] retain]; visibleXUnits = 10; visibleYUnits = 10; } return self; } -(void)drawRect: (NSRect)rect { NSPoint origo; NSRect boundsRect; NSBezierPath *path; NSBezierPath *path2; int i; NSPoint p; float xScale, yScale; float hugeVal; NSLog(@"Draw"); [backgroundColor set]; [NSBezierPath fillRect: [self bounds]]; if ([curve1 count] == 0) { NSLog(@"nothing to draw"); return; } if ([curve1 count] != [curve1 count]) { NSLog(@"X-Y series array differ insize, incoherency detected."); return; } boundsRect = [self bounds]; xScale = boundsRect.size.width / visibleXUnits; yScale = boundsRect.size.height / visibleYUnits; hugeVal = boundsRect.size.width * 100; origo = NSMakePoint(0, 0); if (quadrantPositioning == OKQuadrantCentered) { origo = NSMakePoint(boundsRect.size.width/2, boundsRect.size.height/2); } else if (quadrantPositioning == OKQuadrantI) { origo = NSMakePoint(0,0); } else if (quadrantPositioning == OKQuadrantII) { origo = NSMakePoint(boundsRect.size.width, 0); } else if (quadrantPositioning == OKQuadrantIII) { origo = NSMakePoint(boundsRect.size.width, boundsRect.size.height); } else if (quadrantPositioning == OKQuadrantIV) { origo = NSMakePoint(0, boundsRect.size.height); } [axisColor set]; [NSBezierPath strokeRect: NSMakeRect(0, origo.y, boundsRect.size.width, 0)]; [NSBezierPath strokeRect: NSMakeRect(origo.x, 0, 0, boundsRect.size.height)]; if (curve1 != NULL && [curve1 count] > 0) { [curve1Color set]; path = [[NSBezierPath alloc] init]; i = 0; p = NSMakePoint([[curve1 objectAtIndex: i] pointValue].x * xScale + origo.x, [[curve1 objectAtIndex: i] pointValue].y * yScale + origo.y ); [path moveToPoint: p]; i++; while (i < [curve1 count]) { p = NSMakePoint([[curve1 objectAtIndex: i] pointValue].x * xScale + origo.x, [[curve1 objectAtIndex: i] pointValue].y * yScale + origo.y ); if (isnan(p.x)) { if (p.x > 0) p.x = hugeVal; else p.x = -hugeVal; } if (isnan(p.y)) { if (p.y > 0) p.y = hugeVal; else p.y = -hugeVal; } NSLog(@"%f %f", p.x, p.y); [path lineToPoint: p]; i++; } [path stroke]; [path release]; } if (curve2 != NULL && [curve2 count] > 0) { [curve2Color set]; path2 = [[NSBezierPath alloc] init]; i = 0; p = NSMakePoint([[curve2 objectAtIndex: i] pointValue].x * xScale + origo.x, [[curve2 objectAtIndex: i] pointValue].y * yScale + origo.y ); [path2 moveToPoint: p]; i++; while (i < [curve2 count]) { p = NSMakePoint([[curve2 objectAtIndex: i] pointValue].x * xScale + origo.x, [[curve2 objectAtIndex: i] pointValue].y * yScale + origo.y ); if (isnan(p.x)) { if (p.x > 0) p.x = hugeVal; else p.x = -hugeVal; } if (isnan(p.y)) { if (p.y > 0) p.y = hugeVal; else p.y = -hugeVal; } NSLog(@"%f %f", p.x, p.y); [path2 lineToPoint: p]; i++; } [path2 stroke]; [path2 release]; } } -(void)dealloc { [curve1 release]; [curve2 release]; [backgroundColor release]; [curve1Color release]; [curve2Color release]; [super dealloc]; } /** series 1 array of NSPoints */ -(NSMutableArray *)curve1 { return curve1; } /** series 2 array of NSPoints */ -(NSMutableArray *)curve2 { return curve2; } -(void)setVisibleXUnits: (float)units { visibleXUnits = units; } -(void)setVisibleYUnits: (float)units { visibleYUnits = units; } -(void)setQuadrantPositioning:(OKQuadrantPositioning)p { quadrantPositioning = p; } -(void)setBackgroundColor:(NSColor *)color { [backgroundColor release]; backgroundColor = [color retain]; } -(void)setAxisColor:(NSColor *)color { [axisColor release]; axisColor = [color retain]; } -(void)setCurve1Color:(NSColor *)color { [curve1Color release]; curve1Color = [color retain]; } -(void)setCurve2Color:(NSColor *)color { [curve2Color release]; curve2Color = [color retain]; } @end gnustep-OresmeKit-0.1/OKChart.h000064400000000000000000000051221230525275000164020ustar00rootroot00000000000000/* -*- mode: objc -*- Project: OresmeKit Chart: Generic chart superclass Copyright (C) 2011-2013 Free Software Foundation Author: Riccardo Mottola Created: 2011-09-08 12:14:11 +0200 by multix This application 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 2 of the License, or (at your option) any later version. This application 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 Library General Public License for more details. You should have received a copy of the GNU General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA. */ #import #import #import #import #if !defined (GNUSTEP) && (MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_4) #define NSUInteger unsigned #endif typedef enum { OKGridNone = 1, OKGridHorizontal, OKGridVertical, OKGridBoth } OKGridStyle; typedef enum { OKNumFmtPlain = 0, OKNumFmtKiloMega } OKNumberFormatting; typedef enum { OKNoLabels = 0, OKMinMaxLabels, OKAllLabels } OKLabelStyle; @class OKSeries; @interface OKChart : NSView { NSColor *backgroundColor; NSColor *axisColor; NSColor *gridColor; NSMutableArray *seriesArray; OKGridStyle gridStyle; OKLabelStyle xAxisLabelStyle; OKLabelStyle yAxisLabelStyle; OKNumberFormatting yLabelNumberFmt; float marginRight; float marginLeft; float marginTop; float marginBottom; float graphMinYVal; float graphMaxYVal; float graphMaxXVal; } + (NSString *) format:(NSNumber *)number withFormat:(OKNumberFormatting) fmt; - (void)setMarginLeft:(float)margin; - (void)setMarginRight:(float)margin; - (void)setMarginBottom:(float)margin; - (void)setMarginTop:(float)margin; - (void)setxAxisLabelStyle:(OKLabelStyle)style; - (void)setyAxisLabelStyle:(OKLabelStyle)style; - (void)setYLabelNumberFormatting:(OKNumberFormatting)fmt; - (IBAction)setAxisColor:(NSColor *)color; - (IBAction)setBackgroundColor:(NSColor *)color; - (IBAction)setGridStyle:(OKGridStyle)style; - (IBAction)setGridColor:(NSColor *)color; - (NSUInteger)seriesCount; - (OKSeries *)seriesAtIndex:(NSUInteger)index; - (void)addSeries: (OKSeries *)series; - (void)removeSeriesAtIndex: (NSUInteger)index; - (void)removeAllSeries; @end gnustep-OresmeKit-0.1/OKChart.m000064400000000000000000000132531230525275000164130ustar00rootroot00000000000000/* Project: OresmeKit Chart: Generic chart superclass Copyright (C) 2011-2013 Free Software Foundation Author: Riccardo Mottola Created: 2011-09-08 12:14:11 +0200 by multix This application 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 2 of the License, or (at your option) any later version. This application 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 Library General Public License for more details. You should have received a copy of the GNU General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA. */ #import #import #import "OKChart.h" #import "OKSeries.h" @implementation OKChart + (NSString *) format:(NSNumber *)number withFormat:(OKNumberFormatting) fmt { NSString *strRes; strRes = nil; if (fmt == OKNumFmtPlain) { strRes = [number stringValue]; } else if (fmt == OKNumFmtKiloMega) { double d; int c; NSString *s; d = [number doubleValue]; c = 0; if (abs(d) > 1) { while (abs(d) > 1000) { d /= 1000; c++; } } else { while (abs(d) < 1) { d *= 1000; c--; } } s = [[NSNumber numberWithDouble:d] stringValue]; if (c == -3) s = [s stringByAppendingString:@"p"]; else if (c == -2) s = [s stringByAppendingString:@"u"]; else if (c == -1) s = [s stringByAppendingString:@"m"]; else if (c == 1) s = [s stringByAppendingString:@"K"]; else if (c == 2) s = [s stringByAppendingString:@"M"]; else if (c == 3) s = [s stringByAppendingString:@"G"]; else if (c == 3) s = [s stringByAppendingString:@"T"]; else if (c != 0) NSLog(@"Number %@ too big or too small", number); return s; } return strRes; } -(id)initWithFrame: (NSRect)frameRect { self = [super initWithFrame: frameRect]; if (self) { backgroundColor = [[NSColor whiteColor] retain]; axisColor = [[NSColor blackColor] retain]; gridColor = [[NSColor lightGrayColor] retain]; gridStyle = OKGridBoth; yLabelNumberFmt = OKNumFmtPlain; seriesArray = [[NSMutableArray alloc] initWithCapacity: 1]; marginRight = 5; marginLeft = 5; marginTop = 5; marginBottom = 5; } return self; } -(void)dealloc { [seriesArray release]; [backgroundColor release]; [super dealloc]; } -(void)drawRect: (NSRect)rect { unsigned i, j; NSLog(@"OKChart Draw"); /* search for min and max */ /* since we want always to have the X axis, we start with 0, not the first value */ graphMinYVal = 0; graphMaxYVal = 0; for (i = 0; i < [seriesArray count]; i++) { OKSeries *s; s = [seriesArray objectAtIndex: i]; for (j = 0; j < [s count]; j++) { float val; val = [[s objectAtIndex: j] floatValue]; NSLog(@"val: %f", val); if (val > graphMaxYVal) graphMaxYVal = val; if (val < graphMinYVal) graphMinYVal = val; } } NSLog(@"graph Y limits: %f %f", graphMinYVal, graphMaxYVal); /* we look for the maximum count among all series */ graphMaxXVal = 0; for (i = 0; i < [seriesArray count]; i++) { OKSeries *s; s = [seriesArray objectAtIndex: i]; if ([s count] > graphMaxXVal) graphMaxXVal = [s count]; } [backgroundColor set]; [NSBezierPath fillRect: [self bounds]]; NSLog(@"end super draw"); } /** set left margin */ - (void)setMarginLeft:(float)margin { marginLeft = margin; } /** set right margin */ - (void)setMarginRight:(float)margin { marginRight = margin; } /** set bottom margin */ - (void)setMarginBottom:(float)margin { marginBottom = margin; } /** set Top margin */ - (void)setMarginTop:(float)margin { marginTop = margin; } /** sets if and how axis labels are drawn */ - (void)setxAxisLabelStyle:(OKLabelStyle)style { xAxisLabelStyle = style; } /** sets if and how axis labels are drawn */ - (void)setyAxisLabelStyle:(OKLabelStyle)style { yAxisLabelStyle = style; } /** set label number formatting */ - (void)setYLabelNumberFormatting:(OKNumberFormatting)fmt { yLabelNumberFmt = fmt; } /** Sets the chart axis and lines color */ -(IBAction)setAxisColor:(NSColor *)color { [axisColor release]; axisColor = [color retain]; } /** Sets the graph background color */ -(IBAction)setBackgroundColor:(NSColor *)color { [backgroundColor release]; backgroundColor = [color retain]; } /** grid drawing style according to OKGridStyle */ - (IBAction)setGridStyle:(OKGridStyle)style { gridStyle = style; } /** Set the grid color */ - (IBAction)setGridColor:(NSColor *)color { [gridColor release]; gridColor = [color retain]; } /* returns the number of series arrays */ - (NSUInteger)seriesCount { return [seriesArray count]; } /** returns the series array identified by index */ - (OKSeries *)seriesAtIndex:(NSUInteger)index { return [seriesArray objectAtIndex: index]; } /** add the series */ - (void)addSeries: (OKSeries *)series { [seriesArray addObject: series]; } /** removes the series identified by index */ - (void)removeSeriesAtIndex: (NSUInteger)index { [seriesArray removeObjectAtIndex: index]; } /** removes all current series */ - (void)removeAllSeries { [seriesArray removeAllObjects]; } @end gnustep-OresmeKit-0.1/OKLineChart.h000064400000000000000000000017701230525275000172170ustar00rootroot00000000000000/* Project: OresmeKit Copyright (C) 2011-2013 Free Software Foundation Author: multix Created: 2011-09-08 15:09:41 +0200 by multix This application 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 2 of the License, or (at your option) any later version. This application 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 Library General Public License for more details. You should have received a copy of the GNU General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA. */ #import #import "OKChart.h" @interface OKLineChart : OKChart { float minXUnitSize; float minYUnitSize; } @end gnustep-OresmeKit-0.1/OKLineChart.m000064400000000000000000000145031230525275000172220ustar00rootroot00000000000000/* Project: OresmeKit Copyright (C) 2011-2013 Free Software Foundation Author: multix Created: 2011-09-08 15:09:20 +0200 by multix This application 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 2 of the License, or (at your option) any later version. This application 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 Library General Public License for more details. You should have received a copy of the GNU General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA. */ #import #import #import "OKLineChart.h" #import "OKSeries.h" #define around(x) floor(x+0.5) @implementation OKLineChart -(id)initWithFrame: (NSRect)frameRect { self = [super initWithFrame: frameRect]; if (self) { minXUnitSize = 10; minYUnitSize = 10; NSLog (@"minimum sizes inited"); } return self; } -(void)drawRect: (NSRect)rect { NSBezierPath *path; unsigned i, j; float oneXUnit; float oneYUnit; float xUnitSize; float yUnitSize; float availableHeight; float availableWidth; float rangeToRepresent; float axisLevel; float minXPos; float minYPos; float maxXPos; float maxYPos; unsigned xSteps; unsigned ySteps; [super drawRect: rect]; /* the super method will have calculated the limits */ rangeToRepresent = graphMaxYVal - graphMinYVal; if (rangeToRepresent == 0) { NSLog(@"No Y range to represent"); return; } /* bottom and left limits of the graph absolute margin plus defined space */ minXPos = 10 + marginLeft; minYPos = 10 + marginBottom; maxXPos = [self bounds].size.width - marginRight; maxYPos = [self bounds].size.height - marginTop; availableHeight = maxYPos - minYPos; availableWidth = maxXPos - minXPos; /* data range */ oneYUnit = availableHeight / rangeToRepresent; oneXUnit = availableWidth / graphMaxXVal; axisLevel = minYPos; if (graphMinYVal < 0) axisLevel += around(-oneYUnit * graphMinYVal); NSLog(@"x-y unit: %f, %f:, axisLevel: %f", oneXUnit, oneYUnit, axisLevel); xUnitSize = oneXUnit; if (xUnitSize < minXUnitSize) { while (xUnitSize < minXUnitSize) xUnitSize += oneXUnit; } else xUnitSize = oneXUnit; yUnitSize = oneYUnit; if (yUnitSize < minYUnitSize) { while (yUnitSize < minYUnitSize) yUnitSize += oneYUnit; } else yUnitSize = oneYUnit; NSLog(@"unit sizes: %f, %f", xUnitSize, yUnitSize); xSteps = ceil(availableWidth / xUnitSize); ySteps = ceil(availableHeight / yUnitSize); NSLog(@"x-y steps: %u-%u", xSteps, ySteps); /* draw grid */ if (gridStyle != OKGridNone) { [gridColor set]; if (gridStyle == OKGridHorizontal || gridStyle == OKGridBoth) { for (i = 0; i < ySteps; i++) { float y; y = around(minYPos + i * yUnitSize)+0.5; [NSBezierPath strokeRect: NSMakeRect(minXPos, y, availableWidth, 0)]; } } if (gridStyle == OKGridVertical || gridStyle == OKGridBoth) { for (i = 0; i < xSteps; i++) { float x; x = around(minXPos + i * xUnitSize)+0.5; [NSBezierPath strokeRect: NSMakeRect(x, minYPos, 0, availableHeight)]; } } } /* draw axes */ [axisColor set]; [NSBezierPath strokeRect: NSMakeRect(minXPos, axisLevel+0.5, maxXPos-minXPos, 0)]; [NSBezierPath strokeRect: NSMakeRect(minXPos+0.5, minYPos, 0, maxYPos-minYPos)]; /* draw units */ for (i = 0; i < xSteps; i++) { float x; x = around(minXPos + i * xUnitSize)+0.5; [NSBezierPath strokeRect: NSMakeRect(x, axisLevel-1, 0, 2)]; } for (i = 0; i < ySteps; i++) { float y; y = around(minYPos + i * yUnitSize)+0.5; [NSBezierPath strokeRect: NSMakeRect(minXPos, y, 2, 0)]; } NSLog(@"top is: %f", i * (yUnitSize / oneYUnit)); /* draw graph */ for (i = 0; i < [seriesArray count]; i++) { OKSeries *series; float x; float y; NSPoint p; series = [seriesArray objectAtIndex: i]; if ([series count] > 0) { path = [[NSBezierPath alloc] init]; [[series color] set]; x = minXPos; y = axisLevel + [[series objectAtIndex: 0] floatValue] * oneYUnit; p = NSMakePoint(x, y); [path moveToPoint: p]; x += oneXUnit; for (j = 1; j < [series count]; j++) { y = axisLevel + [[series objectAtIndex: j] floatValue] * oneYUnit; p = NSMakePoint(x, y); [path lineToPoint: p]; x += oneXUnit; } [path stroke]; [path release]; } } /* draw axis labels */ if (yAxisLabelStyle == OKMinMaxLabels || yAxisLabelStyle == OKAllLabels ) { NSMutableParagraphStyle *style; NSDictionary *strAttr; NSFont *tempFont; NSPoint labelP; NSString *label; NSSize labelSize; style = [[NSMutableParagraphStyle alloc] init]; [style setParagraphStyle:[NSParagraphStyle defaultParagraphStyle]]; tempFont = [NSFont systemFontOfSize:6]; strAttr = [[NSDictionary dictionaryWithObjectsAndKeys: tempFont, NSFontAttributeName, [NSColor blackColor], NSForegroundColorAttributeName, style, NSParagraphStyleAttributeName, nil] retain]; [style release]; i = 0; while (i < ySteps) { float y; y = around(minYPos + i * yUnitSize)+0.5; [NSBezierPath strokeRect: NSMakeRect(minXPos, y, 2, 0)]; label = [OKChart format:[NSNumber numberWithFloat: i * (yUnitSize / oneYUnit) + graphMinYVal] withFormat:yLabelNumberFmt]; labelSize = [label sizeWithAttributes:strAttr]; labelP = NSMakePoint(2, (minYPos + i * yUnitSize) - labelSize.height / 2); [label drawAtPoint:labelP withAttributes:strAttr]; if (i == 0 && yAxisLabelStyle == OKMinMaxLabels) i = ySteps -1; else i++; } [strAttr release]; } } @end gnustep-OresmeKit-0.1/OKPieChart.h000064400000000000000000000017211230525275000170410ustar00rootroot00000000000000/* Project: OresmeKit Copyright (C) 2012 Free Software Foundation Author: Riccardo Mottola Created: 2012-10-25 23:01:18 +0200 by multix This application 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 2 of the License, or (at your option) any later version. This application 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 Library General Public License for more details. You should have received a copy of the GNU General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA. */ #import #import "OKChart.h" @interface OKPieChart : OKChart { } @end gnustep-OresmeKit-0.1/OKPieChart.m000064400000000000000000000121041230525275000170430ustar00rootroot00000000000000/* Project: OresmeKit Copyright (C) 2012-2013 Free Software Foundation Author: Riccardo Mottola Created: 2012-10-25 23:01:18 +0200 by multix This application 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 2 of the License, or (at your option) any later version. This application 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 Library General Public License for more details. You should have received a copy of the GNU General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA. */ #import #import #import "OKSeries.h" #import "OKPieChart.h" @implementation OKPieChart -(void)drawRect: (NSRect)rect { NSRect boundsRect; unsigned i; float availableHeight; float availableWidth; float radius; NSPoint center; NSMutableArray *valuesArray; NSMutableArray *colorsArray; double positiveSum; float currAngle; /* the super method will have calculated the limits */ [super drawRect: rect]; boundsRect = [self bounds]; availableHeight = boundsRect.size.height - (marginTop + marginBottom); availableWidth = boundsRect.size.width - (marginLeft + marginRight); radius = availableWidth / 2; if (availableHeight < availableWidth) radius = availableHeight / 2; center = NSMakePoint(marginLeft + availableWidth / 2, marginBottom + availableHeight / 2); NSLog(@"draw Pie chart! radius: %f", radius); /* we scan all series to construct the an arrays of values by considering only positive values the respective color gets extracted and the total is calculated */ positiveSum = 0; valuesArray = [[NSMutableArray alloc] initWithCapacity:[seriesArray count]]; colorsArray = [[NSMutableArray alloc] initWithCapacity:[seriesArray count]]; for (i = 0; i < [seriesArray count]; i++) { OKSeries *series; series = [seriesArray objectAtIndex: i]; if ([series count] > 0) { double v; v = [[series objectAtIndex:0] doubleValue]; if (v > 0) { positiveSum += v; [colorsArray addObject:[series color]]; [valuesArray addObject:[series objectAtIndex:0]]; } } } currAngle = 0; for (i = 0; i < [valuesArray count]; i++) { NSBezierPath *path; double v; float angle; path = [[NSBezierPath alloc] init]; v = [[valuesArray objectAtIndex:i] doubleValue]; /* alpha : 360 = value : total */ angle = (v * 360.0) / positiveSum; [[colorsArray objectAtIndex:i] set]; [path moveToPoint: center]; [path lineToPoint: NSMakePoint(center.x + cos(currAngle*6.2831853/360)*radius, center.y + sin(currAngle*6.2831853/360)*radius)]; [path appendBezierPathWithArcWithCenter:center radius:radius startAngle:currAngle endAngle:currAngle+angle]; [path moveToPoint: center]; [path lineToPoint: NSMakePoint(center.x + cos((currAngle+angle)*6.2831853/360)*radius, center.y + sin((currAngle+angle)*6.2831853/360)*radius)]; [path closePath]; [path fill]; [axisColor set]; [path moveToPoint: center]; [path lineToPoint: NSMakePoint(center.x + cos(currAngle*6.2831853/360)*radius, center.y + sin(currAngle*6.2831853/360)*radius)]; [path appendBezierPathWithArcWithCenter:center radius:radius startAngle:currAngle endAngle:currAngle+angle]; [path moveToPoint: center]; [path lineToPoint: NSMakePoint(center.x + cos((currAngle+angle)*6.2831853/360)*radius, center.y + sin((currAngle+angle)*6.2831853/360)*radius)]; [path closePath]; [path stroke]; if (1) { NSMutableParagraphStyle *style; NSDictionary *strAttr; NSFont *tempFont; NSPoint labelP; NSString *label; NSSize labelSize; style = [[NSMutableParagraphStyle alloc] init]; [style setParagraphStyle:[NSParagraphStyle defaultParagraphStyle]]; tempFont = [NSFont systemFontOfSize:8]; strAttr = [[NSDictionary dictionaryWithObjectsAndKeys: tempFont, NSFontAttributeName, [NSColor blackColor], NSForegroundColorAttributeName, style, NSParagraphStyleAttributeName, nil] retain]; [style release]; label = [OKChart format:[valuesArray objectAtIndex:i] withFormat:OKNumFmtPlain]; labelSize = [label sizeWithAttributes:strAttr]; labelP = NSMakePoint(center.x + cos((currAngle + angle/2)*6.2831853/360)*radius/2, center.y + sin((currAngle + angle/2)*6.2831853/360)*radius/2); [label drawAtPoint:labelP withAttributes:strAttr]; [strAttr release]; } currAngle += angle; [path release]; } [valuesArray release]; [colorsArray release]; } @end gnustep-OresmeKit-0.1/OKSeries.h000064400000000000000000000031131230525275000165710ustar00rootroot00000000000000/* Project: OresmeKit Numeric Series representation Copyright (C) 2011-2014 Free Software Foundation Author: Riccardo Mottola Created: 2011-09-08 12:16:05 +0200 by multix This application 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 2 of the License, or (at your option) any later version. This application 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 Library General Public License for more details. You should have received a copy of the GNU General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA. */ #import #import #if !defined (GNUSTEP) && (MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_4) #define NSUInteger unsigned #endif @interface OKSeries : NSObject { NSString *description; NSString *title; NSColor *color; NSMutableArray *seriesArray; } - (NSColor*) color; - (void) setColor: (NSColor *)c; - (NSString*) title; - (void) setTitle:(NSString*)aTitle; - (NSString*) description; - (void) setDescription:(NSString*)aDescription; - (id) objectAtIndex: (NSUInteger)index; - (void) addObject: (id)obj; - (NSUInteger) count; - (void) removeAllObjects; - (void) removeObjectAtIndex: (NSUInteger)index; @end gnustep-OresmeKit-0.1/OKSeries.m000064400000000000000000000044601230525275000166040ustar00rootroot00000000000000/* Project: OresmeKit Numeric Series representation Copyright (C) 2011-2014 Free Software Foundation Author: Riccardo Mottola Created: 2011-09-08 12:16:05 +0200 by multix This application 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 2 of the License, or (at your option) any later version. This application 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 Library General Public License for more details. You should have received a copy of the GNU General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA. */ #import "OKSeries.h" @implementation OKSeries -(id)init { self = [super init]; if (self) { description = @"No description"; title = @"Untitled"; color = [[NSColor blueColor] retain]; seriesArray = [[NSMutableArray alloc] initWithCapacity: 1]; } return self; } -(void)dealloc { [description release]; [title release]; [color release]; [seriesArray release]; [super dealloc]; } - (NSColor*)color { return color; } -(void)setColor: (NSColor *)c { if (color != c) { [color release]; color = [c retain]; } } - (NSString*)title { return title; } - (void)setTitle: (NSString*)aTitle { if (title != aTitle) { [title release]; title = [aTitle retain]; } } - (NSString*)description { return description; } - (void)setDescription: (NSString*)aDescription { if (description != aDescription) { [description release]; description = [aDescription retain]; } } /* --- NSArray bridge methods ---*/ - (id) objectAtIndex: (NSUInteger)index { return [seriesArray objectAtIndex: index]; } - (void) addObject: (id)obj { [seriesArray addObject: obj]; } - (NSUInteger) count { return [seriesArray count]; } - (void) removeAllObjects { [seriesArray removeAllObjects]; } - (void) removeObjectAtIndex: (NSUInteger)index { [seriesArray removeObjectAtIndex: index]; } /* --- end of NSArray bridge methods ---*/ @end gnustep-OresmeKit-0.1/OresmeKit.h000064400000000000000000000020031230525275000170040ustar00rootroot00000000000000/* Project: OresmeKit Copyright (C) 2011 Free Software Foundation Author: multix Created: 2011-09-08 17:16:23 +0200 by multix This application 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 2 of the License, or (at your option) any later version. This application 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 Library General Public License for more details. You should have received a copy of the GNU General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA. */ #import #import #import #import #import gnustep-OresmeKit-0.1/OresmeKit.pcproj/000075500000000000000000000000001230525275000201345ustar00rootroot00000000000000gnustep-OresmeKit-0.1/OresmeKit.pcproj/PC.project000064400000000000000000000032661230525275000220350ustar00rootroot00000000000000{ "BUILDER_TARGETS" = ( all, install, uninstall, clean, distclean, dist ); "CLASS_FILES" = ( "OKCartesius.m", "OKChart.m", "OKSeries.m", "OKLineChart.m", "OKPieChart.m" ); COMPILEROPTIONS = ""; CPPOPTIONS = ""; "CREATION_DATE" = ""; "DOCU_FILES" = ( ); FRAMEWORKS = ( ); "HEADERS_INSTALL_DIR" = ""; "HEADER_FILES" = ( "OKCartesius.h", "OKChart.h", "OKSeries.h", "OKLineChart.h", "OresmeKit.h", "OKPieChart.h" ); IMAGES = ( ); INSTALLDIR = "$(HOME)/GNUstep/Library/Frameworks"; INTERFACES = ( ); LANGUAGE = English; LIBRARIES = ( "gnustep-base", "gnustep-gui" ); LINKEROPTIONS = ""; MAKEFILEDIR = "$(GNUSTEP_MAKEFILES)"; "OBJC_COMPILEROPTIONS" = ""; "OTHER_RESOURCES" = ( ); "OTHER_SOURCES" = ( ); "PROJECT_AUTHORS" = ( "Riccardo Mottola" ); "PROJECT_COPYRIGHT" = "Copyright (C) 2011-2012"; "PROJECT_COPYRIGHT_DESC" = "Released under LGPL v3+"; "PROJECT_CREATOR" = ""; "PROJECT_DESCRIPTION" = "Oresme charting Kit"; "PROJECT_GROUP" = "No group avaliable!"; "PROJECT_MAINTAINER" = ""; "PROJECT_NAME" = OresmeKit; "PROJECT_RELEASE" = "0.1"; "PROJECT_SUMMARY" = "No summary avaliable!"; "PROJECT_TYPE" = Framework; "PROJECT_URL" = ""; "PUBLIC_HEADERS" = ( "OresmeKit.h", "OKCartesius.h", "OKChart.h", "OKSeries.h", "OKLineChart.h", "OresmeKit.h", "OKPieChart.h", "OKFunctions.h" ); "SEARCH_HEADER_DIRS" = ( ); "SEARCH_LIB_DIRS" = ( ); SUBPROJECTS = ( ); "SUPPORTING_FILES" = ( "GNUmakefile.preamble", GNUmakefile, "GNUmakefile.postamble" ); "USER_LANGUAGES" = ( English ); }gnustep-OresmeKit-0.1/OresmeKit.xcode/000075500000000000000000000000001230525275000177415ustar00rootroot00000000000000gnustep-OresmeKit-0.1/OresmeKit.xcode/project.pbxproj000064400000000000000000000241511230525275000230200ustar00rootroot00000000000000// !$*UTF8*$! { archiveVersion = 1; classes = { }; objectVersion = 39; objects = { 014CEA440018CDF011CA2923 = { buildSettings = { COPY_PHASE_STRIP = NO; GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_GENERATE_DEBUGGING_SYMBOLS = YES; GCC_OPTIMIZATION_LEVEL = 0; ZERO_LINK = YES; }; isa = PBXBuildStyle; name = Development; }; 014CEA450018CDF011CA2923 = { buildSettings = { COPY_PHASE_STRIP = YES; GCC_ENABLE_FIX_AND_CONTINUE = NO; ZERO_LINK = NO; }; isa = PBXBuildStyle; name = Deployment; }; //010 //011 //012 //013 //014 //030 //031 //032 //033 //034 034768DFFF38A50411DB9C8B = { children = ( 8DC2EF5B0486A6940098B216, ); isa = PBXGroup; name = Products; refType = 4; sourceTree = ""; }; //030 //031 //032 //033 //034 //080 //081 //082 //083 //084 0867D690FE84028FC02AAC07 = { buildSettings = { }; buildStyles = ( 014CEA440018CDF011CA2923, 014CEA450018CDF011CA2923, ); hasScannedForEncodings = 1; isa = PBXProject; mainGroup = 0867D691FE84028FC02AAC07; productRefGroup = 034768DFFF38A50411DB9C8B; projectDirPath = ""; targets = ( 8DC2EF4F0486A6940098B216, ); }; 0867D691FE84028FC02AAC07 = { children = ( 08FB77AEFE84172EC02AAC07, 089C1665FE841158C02AAC07, 0867D69AFE84028FC02AAC07, 034768DFFF38A50411DB9C8B, ); isa = PBXGroup; name = OresmeKit; refType = 4; sourceTree = ""; }; 0867D69AFE84028FC02AAC07 = { children = ( 1058C7B0FEA5585E11CA2CBB, 1058C7B2FEA5585E11CA2CBB, ); isa = PBXGroup; name = "External Frameworks and Libraries"; refType = 4; sourceTree = ""; }; 0867D69BFE84028FC02AAC07 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; refType = 0; sourceTree = ""; }; 0867D6A5FE840307C02AAC07 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; refType = 0; sourceTree = ""; }; 089C1665FE841158C02AAC07 = { children = ( 8DC2EF5A0486A6940098B216, 089C1666FE841158C02AAC07, ); isa = PBXGroup; name = Resources; refType = 4; sourceTree = ""; }; 089C1666FE841158C02AAC07 = { children = ( 089C1667FE841158C02AAC07, ); isa = PBXVariantGroup; name = InfoPlist.strings; refType = 4; sourceTree = ""; }; 089C1667FE841158C02AAC07 = { fileEncoding = 10; isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; refType = 4; sourceTree = ""; }; 08FB77AEFE84172EC02AAC07 = { children = ( 8593C908167D47AB0088310C, 8593C909167D47AB0088310C, 85777E17142500CE00DABF4A, 85085025141CD74600FD33EA, 85085026141CD74600FD33EA, 85085027141CD74600FD33EA, 85085028141CD74600FD33EA, 85085029141CD74600FD33EA, 8508502A141CD74600FD33EA, 8577BEDD1416C4AD0017A4AE, 8577BEDE1416C4AD0017A4AE, ); isa = PBXGroup; name = Classes; refType = 4; sourceTree = ""; }; //080 //081 //082 //083 //084 //100 //101 //102 //103 //104 1058C7B0FEA5585E11CA2CBB = { children = ( 1058C7B1FEA5585E11CA2CBB, ); isa = PBXGroup; name = "Linked Frameworks"; refType = 4; sourceTree = ""; }; 1058C7B1FEA5585E11CA2CBB = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; refType = 0; sourceTree = ""; }; 1058C7B2FEA5585E11CA2CBB = { children = ( 0867D69BFE84028FC02AAC07, 0867D6A5FE840307C02AAC07, ); isa = PBXGroup; name = "Other Frameworks"; refType = 4; sourceTree = ""; }; //100 //101 //102 //103 //104 //850 //851 //852 //853 //854 85085025141CD74600FD33EA = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OKChart.h; refType = 4; sourceTree = ""; }; 85085026141CD74600FD33EA = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = OKChart.m; refType = 4; sourceTree = ""; }; 85085027141CD74600FD33EA = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OKLineChart.h; refType = 4; sourceTree = ""; }; 85085028141CD74600FD33EA = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = OKLineChart.m; refType = 4; sourceTree = ""; }; 85085029141CD74600FD33EA = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OKSeries.h; refType = 4; sourceTree = ""; }; 8508502A141CD74600FD33EA = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = OKSeries.m; refType = 4; sourceTree = ""; }; 8508502B141CD74600FD33EA = { fileRef = 85085025141CD74600FD33EA; isa = PBXBuildFile; settings = { ATTRIBUTES = ( Public, ); }; }; 8508502C141CD74600FD33EA = { fileRef = 85085026141CD74600FD33EA; isa = PBXBuildFile; settings = { }; }; 8508502D141CD74600FD33EA = { fileRef = 85085027141CD74600FD33EA; isa = PBXBuildFile; settings = { ATTRIBUTES = ( Public, ); }; }; 8508502E141CD74600FD33EA = { fileRef = 85085028141CD74600FD33EA; isa = PBXBuildFile; settings = { }; }; 8508502F141CD74600FD33EA = { fileRef = 85085029141CD74600FD33EA; isa = PBXBuildFile; settings = { ATTRIBUTES = ( Public, ); }; }; 85085030141CD74600FD33EA = { fileRef = 8508502A141CD74600FD33EA; isa = PBXBuildFile; settings = { }; }; 85777E17142500CE00DABF4A = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OresmeKit.h; refType = 4; sourceTree = ""; }; 85777E18142500CE00DABF4A = { fileRef = 85777E17142500CE00DABF4A; isa = PBXBuildFile; settings = { ATTRIBUTES = ( Public, ); }; }; 8577BEDD1416C4AD0017A4AE = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OKCartesius.h; refType = 4; sourceTree = ""; }; 8577BEDE1416C4AD0017A4AE = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = OKCartesius.m; refType = 4; sourceTree = ""; }; 8577BEDF1416C4AD0017A4AE = { fileRef = 8577BEDD1416C4AD0017A4AE; isa = PBXBuildFile; settings = { ATTRIBUTES = ( Public, ); }; }; 8577BEE01416C4AD0017A4AE = { fileRef = 8577BEDE1416C4AD0017A4AE; isa = PBXBuildFile; settings = { }; }; 8593C908167D47AB0088310C = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OKPieChart.h; refType = 4; sourceTree = ""; }; 8593C909167D47AB0088310C = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = OKPieChart.m; refType = 4; sourceTree = ""; }; 8593C90A167D47AB0088310C = { fileRef = 8593C908167D47AB0088310C; isa = PBXBuildFile; settings = { ATTRIBUTES = ( Public, ); }; }; 8593C90B167D47AB0088310C = { fileRef = 8593C909167D47AB0088310C; isa = PBXBuildFile; settings = { }; }; //850 //851 //852 //853 //854 //8D0 //8D1 //8D2 //8D3 //8D4 8DC2EF4F0486A6940098B216 = { buildPhases = ( 8DC2EF500486A6940098B216, 8DC2EF520486A6940098B216, 8DC2EF540486A6940098B216, 8DC2EF560486A6940098B216, ); buildRules = ( ); buildSettings = { DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_PRECOMPILE_PREFIX_HEADER = NO; GCC_PREFIX_HEADER = ""; INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Library/Frameworks"; LIBRARY_STYLE = DYNAMIC; PRODUCT_NAME = OresmeKit; WRAPPER_EXTENSION = framework; }; dependencies = ( ); isa = PBXNativeTarget; name = OresmeKit; productInstallPath = "$(HOME)/Library/Frameworks"; productName = OresmeKit; productReference = 8DC2EF5B0486A6940098B216; productType = "com.apple.product-type.framework"; }; 8DC2EF500486A6940098B216 = { buildActionMask = 2147483647; files = ( 8577BEDF1416C4AD0017A4AE, 8508502B141CD74600FD33EA, 8508502D141CD74600FD33EA, 8508502F141CD74600FD33EA, 85777E18142500CE00DABF4A, 8593C90A167D47AB0088310C, ); isa = PBXHeadersBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; 8DC2EF520486A6940098B216 = { buildActionMask = 2147483647; files = ( 8DC2EF530486A6940098B216, ); isa = PBXResourcesBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; 8DC2EF530486A6940098B216 = { fileRef = 089C1666FE841158C02AAC07; isa = PBXBuildFile; settings = { }; }; 8DC2EF540486A6940098B216 = { buildActionMask = 2147483647; files = ( 8577BEE01416C4AD0017A4AE, 8508502C141CD74600FD33EA, 8508502E141CD74600FD33EA, 85085030141CD74600FD33EA, 8593C90B167D47AB0088310C, ); isa = PBXSourcesBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; 8DC2EF560486A6940098B216 = { buildActionMask = 2147483647; files = ( 8DC2EF570486A6940098B216, ); isa = PBXFrameworksBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; 8DC2EF570486A6940098B216 = { fileRef = 1058C7B1FEA5585E11CA2CBB; isa = PBXBuildFile; settings = { }; }; 8DC2EF5A0486A6940098B216 = { fileEncoding = 4; isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; refType = 4; sourceTree = ""; }; 8DC2EF5B0486A6940098B216 = { explicitFileType = wrapper.framework; includeInIndex = 0; isa = PBXFileReference; path = OresmeKit.framework; refType = 3; sourceTree = BUILT_PRODUCTS_DIR; }; }; rootObject = 0867D690FE84028FC02AAC07; } gnustep-OresmeKit-0.1/version.plist000064400000000000000000000007231230525275000175020ustar00rootroot00000000000000 BuildVersion 12 CFBundleVersion 1.0 ProductBuildVersion 7K571 ProjectName DevToolsWizardTemplates SourceVersion 3870000