* Remove java interface convention (#2997)
* Renamed `IMarker` to `Marker`
following Swift API guidelines.
* Renamed `IAxisValueFormatter` to `AxisValueFormatter`
* Renamed `IFillFormatter` to `FillFormatter`
* Renamed `IValueFormatter` to `ValueFormatter`
* Renamed `IHighlighter` to `Highlighter`
* Renamed `I*DataSet` to `*DataSetProtocol` to follow Swift API guidelines
* Fixed naming of `LineRadarChartDataSetProtocol` and `RadarChartDataSetProtocol` from previous commit
* Renamed "Interfaces" to "DataProviders" for clarity
* Updated Demos to for new type naming
* Renderer protocols (#3136)
* Renderer is now a protocol
Renamed Renderers, and organized the Renderer folder.
* DataRenderer is now a protocol
* AxisRenderer is now a protocol
* Chartviewbase redundant ivar (#3045)
* Fixed using wrong axis (Issue #2257)
* fix#1830. credit from https://github.com/danielgindi/Charts/pull/2049 (#2874)
* fix#1830. credit from https://github.com/danielgindi/Charts/pull/2049
* add combined chart unit tests for iOS, tvOS (macOS only have build process)
* use iterater rather than index
* Removed redundant ivars in BarLineChartViewBase (#3043)
* Removed redundant ivars in favour of proper access control
* Moved initialization of axes to their declaration to keep the same optionality exposed.
* Update 4.0.0 with master (#3135)
* Replaced relevant `ChartUtils` methods with `Double` extensions (#2994)
* Replaced relevant `ChartUtils` methods with `Double` extensions
Improves readability.
`nextUp` is built in and provides the same functionality.
* Updated `ChartUtilsTests` to match changes
* add option to build demo projects unit tests on iOS (#3121)
* add option to build demo projects unit tests on iOS
* add ChartsDemo-OSX build test.
* Update ViewPortHandler.swift (#3143)
fix a small bug
* Refactored ChartUtils method into CGPoint extension (#3087)
* Refactored ChartUtils method into CGPoint extension
* Replaced ChartUtils.defaultValueFormatter()
* Codestyle fixes
* ChartViewBase cleanup
For the most part, condensing logic and using `guard` where appropriate
Removed optionality of many internal variables as they were only optional to allow for deferred initialization. This is now replaced with lazy vars.
Removed empty initializer overrides.
`fileprivate` is now `private`
* Removed redundant ivars
In favour of proper access control
* Fixes after merge
* Renamed `animator` to `chartAnimator`
on `ChartViewBase` to no conflict with `NSView`'s `animator()` method.
* pulled latest master
* Code style fix
* Removed AxisRendererBase.swift
* Fixed demos
* BarChartRenderer Logic cleanup (#3008)
* Logic cleanup
Mostly using guard where appropriate
Few very minor performance improvements
* Made use of `==` where appropriate to simplify logic
* Returned fatalError message
* Replaced `Buffer` class
with simple typealias. There was only one instance where reference semantics might have be helpful, but was easily reimplemented with value semantics.
* Syncing 4.0.0 with master (#3160)
* Fixed using wrong axis (Issue #2257)
* fix#1830. credit from https://github.com/danielgindi/Charts/pull/2049 (#2874)
* fix#1830. credit from https://github.com/danielgindi/Charts/pull/2049
* add combined chart unit tests for iOS, tvOS (macOS only have build process)
* use iterater rather than index
* Removed redundant ivars in BarLineChartViewBase (#3043)
* Removed redundant ivars in favour of proper access control
* Moved initialization of axes to their declaration to keep the same optionality exposed.
* Update 4.0.0 with master (#3135)
* Replaced relevant `ChartUtils` methods with `Double` extensions (#2994)
* Replaced relevant `ChartUtils` methods with `Double` extensions
Improves readability.
`nextUp` is built in and provides the same functionality.
* Updated `ChartUtilsTests` to match changes
* add option to build demo projects unit tests on iOS (#3121)
* add option to build demo projects unit tests on iOS
* add ChartsDemo-OSX build test.
* Update ViewPortHandler.swift (#3143)
fix a small bug
* Refactored ChartUtils method into CGPoint extension (#3087)
* Refactored ChartUtils method into CGPoint extension
* Replaced ChartUtils.defaultValueFormatter()
* Codestyle fixes
* Minor cleanup to Highlighter types (#3003)
* Minor cleanup to Highlighter types
* Fixes for PR
* Pulled master and updated code style
* added DataApproximator+N extension (#2848)
* added DataApproximator+N extension
* fixed PR notes
* Readded in missing files
* Moved ChartUtils drawing methods into CGContext extension (#3086)
* Fixed using wrong axis (Issue #2257)
* fix#1830. credit from https://github.com/danielgindi/Charts/pull/2049 (#2874)
* fix#1830. credit from https://github.com/danielgindi/Charts/pull/2049
* add combined chart unit tests for iOS, tvOS (macOS only have build process)
* use iterater rather than index
* Removed redundant ivars in BarLineChartViewBase (#3043)
* Removed redundant ivars in favour of proper access control
* Moved initialization of axes to their declaration to keep the same optionality exposed.
* Update 4.0.0 with master (#3135)
* Replaced relevant `ChartUtils` methods with `Double` extensions (#2994)
* Replaced relevant `ChartUtils` methods with `Double` extensions
Improves readability.
`nextUp` is built in and provides the same functionality.
* Updated `ChartUtilsTests` to match changes
* add option to build demo projects unit tests on iOS (#3121)
* add option to build demo projects unit tests on iOS
* add ChartsDemo-OSX build test.
* Update ViewPortHandler.swift (#3143)
fix a small bug
* Refactored ChartUtils method into CGPoint extension (#3087)
* Refactored ChartUtils method into CGPoint extension
* Replaced ChartUtils.defaultValueFormatter()
* Codestyle fixes
* Minor cleanup to Highlighter types (#3003)
* Minor cleanup to Highlighter types
* Fixes for PR
* Pulled master and updated code style
* added DataApproximator+N extension (#2848)
* added DataApproximator+N extension
* fixed PR notes
* Moved drawing methods into CGContext extension
Much nicer call sites.
Renamed some parameter names.
Removed `NSAttributedStringKey` where type inference was sufficient.
Minor tidy of drawText calls in AxisRenderers
* Pulled latest master
* Pulled master
* Fixed code style
* Utils Cleanup (#3054)
* Cleanup
Replaced unnecessary getters with proper access control
Replaced unnecessary convenience inits with default parameters
Minor refactoring
* Pulled latest master
* Pulled latest master
* Pulled latest master
* Fix after pulling master
* Fixed using wrong axis (Issue #2257)
* fix#1830. credit from https://github.com/danielgindi/Charts/pull/2049 (#2874)
* fix#1830. credit from https://github.com/danielgindi/Charts/pull/2049
* add combined chart unit tests for iOS, tvOS (macOS only have build process)
* use iterater rather than index
* Removed redundant ivars in BarLineChartViewBase (#3043)
* Removed redundant ivars in favour of proper access control
* Moved initialization of axes to their declaration to keep the same optionality exposed.
* Update 4.0.0 with master (#3135)
* Replaced relevant `ChartUtils` methods with `Double` extensions (#2994)
* Replaced relevant `ChartUtils` methods with `Double` extensions
Improves readability.
`nextUp` is built in and provides the same functionality.
* Updated `ChartUtilsTests` to match changes
* add option to build demo projects unit tests on iOS (#3121)
* add option to build demo projects unit tests on iOS
* add ChartsDemo-OSX build test.
* Update ViewPortHandler.swift (#3143)
fix a small bug
* Refactored ChartUtils method into CGPoint extension (#3087)
* Refactored ChartUtils method into CGPoint extension
* Replaced ChartUtils.defaultValueFormatter()
* Codestyle fixes
* Finished cleanup
* Pulled master
* Chartdata collection conformance (#3023)
* Added Collection conformances
MutableCollection
RandomAccessCollection
RangeReplaceableCollection
* Fixed required initializers
* ChartData adopts ExressibleByArrayLiteral
* Updates for PR
Also added remove subrange.
* PR review fixes
* Removed unnecessary `get` from subscripts.
* Disabled `remove(at:)` for CombinedChartView
* Relocated `appendEntry(_:todataSet:)`
* Removed methods from CombinedChartData
* weak -> unowned (#3039)
* weak -> unowned
`ViewPortJob`s are owned by the Charts that make them. They are guaranteed to only exist while the chart exists. The `Transformer` and `ViewPortHandler` are supplied by the chart, so they will also only exist while the chart exists. Therefor none of them need to be `weak`, but can be `unowned` instead. It's a minor change in the code base (removing some guard statements), but it makes it much easier to discern how the framework is architected.
* pulled latest master
* Removed optionality from valueFormatter where appropriate (#3106)
* Removed optionality from valueFormatter where appropriate
In ChartBaseDataSet, `valueFormatter` never returned nil, and escaped early if trying to set it to nil. It appears this was made optional solely to provide lazy initialization. We now use a lazy var instead.
In AxisBase, the backing var `_axisValueFormatter` would never be treated as nil, and appears to be made optional solely to provide lazy initialization. We now use a lazy var instead. In `valueFormatter` we can remove the `nil` check, but leave it optional to keep the same functionality.
* Pulled 4.0.0
* Pulled latest 4.0.0
* Fixed pro file
* Chartdata collection refactor (#3024)
* Added Collection conformances
MutableCollection
RandomAccessCollection
RangeReplaceableCollection
* [#3018] Refactored use of `ChartData` to use new `Collection` conformances
* Fixed required initializers
* ChartData adopts ExressibleByArrayLiteral
* Modified demos to take advantage of collection conformance.
* Removed unnecessary `get` from subscripts.
* Removed redundant methods
* Relocated `appendEntry(_:todataSet:)`
* Removed methods from CombinedChartData
* Moved the default value formatter (#3088)
* Moved the default value formatter
It is now simply `DefaultValueFomatter()`
Removed unnecessary backing ivars in `DefaultValuetFormatter` in favour of property observers
Deprecated static func constructor in favour of initializer
* Add option to rotate value text for line charts
* Add value text rotation for bar charts
* Add value text rotation for other charts
* Fixed misuse/deprecation of "!" operator
* Updated projects for Xcode 9.3 and Swift 4.1
added a workspace to include all demos with the project to make it easier to test changes
* Pulled master
* Moved travis to Xcode 9.3beta temporarily
* Updated Rakefile for new project names
* Updated demo imports
* Rename valueRotationAngle -> valueLabelAngle
* Make function private & remove line break
* Refactored ChartData (#3169)
* Added Collection conformances
MutableCollection
RandomAccessCollection
RangeReplaceableCollection
* [#3018]
Refactored use of `ChartData` to use new `Collection` conformances
* Fixed required initializers
* ChartData adopts ExressibleByArrayLiteral
* Modified demos
to take advantage of collection conformance.
* Updates for PR
Also added remove subrange.
* Refactored ChartData
Removed redundancy from min/max logic.
Lots of naming changes.
Cleaner implementations.
* PR review fixes
* Removed unnecessary `get` from subscripts.
* Disabled `remove(at:)` for CombinedChartView
* Removed redundant methods
* Relocated `appendEntry(_:todataSet:)`
* pulled latest 4.0.0
* Disabled Collection support for CombinedChartData
* Removed methods from CombinedChartData
* Pulled latest 4.0
* Fixes after merge
* Removed used of dataSet(forIndex:)
* Fixed merge conflicts
* Fixed merge conflicts
* updated demos
* Pulled latest 4.0.0
* Fixed demos
* Fixed objective c demos
* Moved travis to Xcode 9.3 beta temporarily
* Fixed macOS demo info.plist and tv demo device name
* PR Fixes
* Fixed objective-c naming
* PR Fixes
* fix comment
* Remove unnecessary file (#3432)
* Dataset logic cleanup (#3001)
* Cleaned up `ChartDataSet` logic
Added TODOs for areas where simple changes can help improve Swift consistency.
* Tidied up logic for `ChartDataSet` subclasses
Minor changes to take advantage of Swift features and help improve readability.
* Added Collection conformances
MutableCollection
RandomAccessCollection
RangeReplaceableCollection
* [#3018]
Refactored use of `ChartData` to use new `Collection` conformances
* Fixed required initializers
* ChartData adopts ExressibleByArrayLiteral
* Modified demos
to take advantage of collection conformance.
* Pulled latest master
* Pulled latest master
* Updates for PR
Also added remove subrange.
* Refactored ChartData
Removed redundancy from min/max logic.
Lots of naming changes.
Cleaner implementations.
* PR review fixes
* Removed unnecessary `get` from subscripts.
* Disabled `remove(at:)` for CombinedChartView
* Removed redundant methods
* Relocated `appendEntry(_:todataSet:)`
* pulled latest 4.0.0
* Disabled Collection support for CombinedChartData
* Removed methods from CombinedChartData
* Pulled latest 4.0
* Fixes after merge
* Removed used of dataSet(forIndex:)
* Fixed merge conflicts
* Fixed merge conflicts
* updated demos
* Pulled latest 4.0.0
* Fixed demos
* Fixed objective c demos
* Moved travis to Xcode 9.3 beta temporarily
* Fixed macOS demo info.plist and tv demo device name
* PR Fixes
* Fixed objective-c naming
* PR Fixes
* PR Fixes
* Added gradient line drawing to LineChartRenderer
* Stabilize and clean the code
* Extract line drawing into function
* Fix macOS build
* Move `drawGradientLine` out of `drawLine` method
* Remove unused parameters from `drawLine` function
* Fix gradient location calculation
* Add toggle gradient line into demo options
* Improvements after code review
* Code cleanup
* Remove unnecessary function for generating gradient line
- additional code optimizations
* Fix: gradient lines peaks are truncated when line width > 1
* Make legendRenderer property public in order to be externally customizable
* fix build issue in objc demo
* Add minimum slice angle for value labels to PieChartView
* Rename drawSliceTextMinimumAngle to sliceTextDrawingThreshold
* Fix sliceTextDrawingThreshold renaming in demo
* fix build of demos
* Add label colors to legend entries (#3558)
* add label colors to legend entries
* Change interface of LegendEntry
* Add Swift version 4.1 to podspec
* Turned gradient components and locations into constants (#3775)
* Cleaned up `ChartDataSet` logic
Added TODOs for areas where simple changes can help improve Swift consistency.
* Added Collection conformances
MutableCollection
RandomAccessCollection
RangeReplaceableCollection
* [#3018]
Refactored use of `ChartData` to use new `Collection` conformances
* Fixed required initializers
* ChartData adopts ExressibleByArrayLiteral
* Modified demos
to take advantage of collection conformance.
* Pulled latest master
* Unified Style
Replaced custom algorithms with built-in ones
Made axis renderer implementations feel "Swift-ier"
* Updates for PR
Also added remove subrange.
* Refactored ChartData
Removed redundancy from min/max logic.
Lots of naming changes.
Cleaner implementations.
* Fixed horizontal barchart bug,
* Removed unnecessary `get` from subscripts.
* Disabled `remove(at:)` for CombinedChartView
* Relocated `appendEntry(_:todataSet:)`
* Disabled Collection support for CombinedChartData
* Removed used of dataSet(forIndex:)
* Fixed merge conflicts
* updated demos
* PR Fixes
* Fixed axisLabels calculation
* Fill rewrite (#3084)
close#3140
* Fill is now a protocol
Different fill logic is broken up into separate classes. This has a few benefits:
1. It makes the `Fill` types more readable (logic is grouped together)
2. No optionals
3. Most importantly it allows consumers to create new Fill types without looking into the framework.
* Added super.init() for objc
* Updated Fill access
No need to subclass existing fills now that the system is more flexible. If functionality is needed from another fill, user can call it within their own `fillPath(context: CGContext, rect: CGRect)` implementation.
* Updated Fill Names
* Update Fill.swift
update code style
Co-authored-by: Jacob Christie <jchristie@christie.teamspace.ad>
Co-authored-by: Xuan <liuxuan30@gmail.com>
* update to Swift 5, Xcode 13.5.1, and fix warnings
* fix all compile errors and wrong symbols either by git or me.
* revert back to convenience init for BarChartDataSet
fix ChartDataTests compile errors: use new API dataSet(forLabel:, ignorecase: )
* actually, I compared the old master and find this is a mistake while merging to make init(label:) in BarChartDataSet. It should be in ChartDataSet.
* fix -0.0 issue in 4.0 merge. fix func calculateLegendOffsets in BarLineChartViewBase due to mistaking added back offsetBottom += xAxis.labelRotatedHeight. see #4277 for details
now bar & horizontal bar chart tests should pass.
* fix pie chart UT failures. didSet will no be called in init(), so we call it manually
also fix set.valueFormatter in data setter
* fix line chart UT failures
* Remove `isIndirectValuesCall`
* Bump Travis to Xcode 12
* Remove misuse of `count` (#4461)
* Remove misuse of `count`
* Fix protocol method name
* Update ChartColorTemplates.swift
use fallbackColor for `colorFromString()`
* Revert "Update ChartColorTemplates.swift"
This reverts commit b4111fd39b.
Co-authored-by: Xuan <liuxuan30@gmail.com>
* switch to source compiling swift code
* fix Carthage error after changing to source compile. https://github.com/Carthage/Carthage/issues/3019
there is a workaround mentioned [here](https://github.com/Carthage/Carthage/issues/3019#issuecomment-665136323)
making travis to build from carthage.sh until the root issue is fixed.
* update project settings
* recreate iOS+tvOS images due to iOS14 SDK uncertain changes.
* Remove unnecessary ternary in boolean expression (#4435)
* Remove internal use of datasets (#4459)
* Remove internal use of ChartData.dataSets
* Rebased onto ResolveConflicts
* Remove duplicated line
Co-authored-by: jjatie <j.christie@icloud.com>
Co-authored-by: ctran <chinh.tran@mail.de>
Co-authored-by: larryonoff <larryonoff@gmail.com>
Co-authored-by: Jacob Christie <jakechristie@dal.ca>
Co-authored-by: Katalin Nagy <nagy.katalin@codespring.ro>
Co-authored-by: Pierre-Marc Airoldi <pierremarcairoldi@gmail.com>
Co-authored-by: Marshall Weir <marshall.weir@gmail.com>
Co-authored-by: Jacob Christie <jacob.christie@kinduct.com>
Co-authored-by: Jacob Christie <19879272+jjatie@users.noreply.github.com>
Co-authored-by: Jacob Christie <jchristie@christie.teamspace.ad>
Co-authored-by: BJ Miller <2272819+SixFiveSoftware@users.noreply.github.com>
remove the prepare command since its not needed. To lint pod you need to set (export FORK_XCODE_WRITING=true) to get around the prepare_command issue with realm. Update cocoapods and include a swift-version file for safety