From f1ded2518c4d657de30ce684c349924b3a26fb70 Mon Sep 17 00:00:00 2001 From: imaNNeoFighT Date: Wed, 5 Jun 2019 19:08:45 +0430 Subject: [PATCH 1/2] renamed FlChartWidget to FlChart, renamed fl_chart to base_chart, renamed fl_axis_chart to axis_chart, and removed relative to parent imports --- .../bar_chart/samples/bar_chart_sample1.dart | 6 +-- .../bar_chart/samples/bar_chart_sample2.dart | 6 +-- .../samples/line_chart_sample1.dart | 6 +-- .../samples/line_chart_sample2.dart | 6 +-- .../samples/line_chart_sample3.dart | 6 +-- .../samples/line_chart_sample4.dart | 6 +-- .../samples/line_chart_sample5.dart | 6 +-- .../pie_chart/samples/pie_chart_sample1.dart | 6 +-- .../pie_chart/samples/pie_chart_sample2.dart | 6 +-- lib/fl_chart.dart | 49 +++++++++++++++++++ lib/fl_chart_widget.dart | 45 ----------------- lib/src/chart/bar_chart/bar_chart.dart | 11 +++-- lib/src/chart/bar_chart/bar_chart_data.dart | 9 ++-- .../chart/bar_chart/bar_chart_painter.dart | 7 ++- lib/src/chart/base/axis_chart/axis_chart.dart | 8 +++ .../axis_chart_data.dart} | 6 +-- .../axis_chart_painter.dart} | 10 ++-- lib/src/chart/base/base_chart/base_chart.dart | 13 +++++ .../base_chart_data.dart} | 11 +++-- .../base_chart_painter.dart} | 14 +++--- .../base/fl_axis_chart/fl_axis_chart.dart | 8 --- lib/src/chart/base/fl_chart/fl_chart.dart | 12 ----- lib/src/chart/line_chart/line_chart.dart | 9 ++-- lib/src/chart/line_chart/line_chart_data.dart | 7 ++- .../chart/line_chart/line_chart_painter.dart | 6 +-- lib/src/chart/pie_chart/pie_chart.dart | 11 +++-- lib/src/chart/pie_chart/pie_chart_data.dart | 4 +- .../chart/pie_chart/pie_chart_painter.dart | 6 +-- repo_files/documentations/bar_chart.md | 12 ++--- repo_files/documentations/base_chart.md | 2 +- repo_files/documentations/line_chart.md | 12 ++--- repo_files/documentations/pie_chart.md | 12 ++--- 32 files changed, 174 insertions(+), 164 deletions(-) create mode 100644 lib/fl_chart.dart delete mode 100644 lib/fl_chart_widget.dart create mode 100644 lib/src/chart/base/axis_chart/axis_chart.dart rename lib/src/chart/base/{fl_axis_chart/fl_axis_chart_data.dart => axis_chart/axis_chart_data.dart} (94%) rename lib/src/chart/base/{fl_axis_chart/fl_axis_chart_painter.dart => axis_chart/axis_chart_painter.dart} (90%) create mode 100644 lib/src/chart/base/base_chart/base_chart.dart rename lib/src/chart/base/{fl_chart/fl_chart_data.dart => base_chart/base_chart_data.dart} (87%) rename lib/src/chart/base/{fl_chart/fl_chart_painter.dart => base_chart/base_chart_painter.dart} (88%) delete mode 100644 lib/src/chart/base/fl_axis_chart/fl_axis_chart.dart delete mode 100644 lib/src/chart/base/fl_chart/fl_chart.dart diff --git a/example/lib/bar_chart/samples/bar_chart_sample1.dart b/example/lib/bar_chart/samples/bar_chart_sample1.dart index fdee321a5..4856cd212 100644 --- a/example/lib/bar_chart/samples/bar_chart_sample1.dart +++ b/example/lib/bar_chart/samples/bar_chart_sample1.dart @@ -1,4 +1,4 @@ -import 'package:fl_chart/fl_chart_widget.dart'; +import 'package:fl_chart/fl_chart.dart'; import 'package:flutter/material.dart'; class BarChartSample1 extends StatelessWidget { @@ -40,8 +40,8 @@ class BarChartSample1 extends StatelessWidget { Expanded( child: Padding( padding: const EdgeInsets.symmetric(horizontal: 8.0), - child: FlChartWidget( - flChart: BarChart(BarChartData( + child: FlChart( + chart: BarChart(BarChartData( titlesData: FlTitlesData( show: true, showHorizontalTitles: true, diff --git a/example/lib/bar_chart/samples/bar_chart_sample2.dart b/example/lib/bar_chart/samples/bar_chart_sample2.dart index 96bcbe991..0845a56f7 100644 --- a/example/lib/bar_chart/samples/bar_chart_sample2.dart +++ b/example/lib/bar_chart/samples/bar_chart_sample2.dart @@ -1,4 +1,4 @@ -import 'package:fl_chart/fl_chart_widget.dart'; +import 'package:fl_chart/fl_chart.dart'; import 'package:flutter/material.dart'; class BarChartSample2 extends StatelessWidget { @@ -50,8 +50,8 @@ class BarChartSample2 extends StatelessWidget { Expanded( child: Padding( padding: const EdgeInsets.symmetric(horizontal: 8.0), - child: FlChartWidget( - flChart: BarChart(BarChartData( + child: FlChart( + chart: BarChart(BarChartData( titlesData: FlTitlesData( show: true, showHorizontalTitles: true, diff --git a/example/lib/line_chart/samples/line_chart_sample1.dart b/example/lib/line_chart/samples/line_chart_sample1.dart index 75f05dacf..e9707822d 100644 --- a/example/lib/line_chart/samples/line_chart_sample1.dart +++ b/example/lib/line_chart/samples/line_chart_sample1.dart @@ -1,4 +1,4 @@ -import 'package:fl_chart/fl_chart_widget.dart'; +import 'package:fl_chart/fl_chart.dart'; import 'package:flutter/material.dart'; class LineChartSample1 extends StatelessWidget { @@ -36,8 +36,8 @@ class LineChartSample1 extends StatelessWidget { Expanded( child: Padding( padding: const EdgeInsets.only(right: 16.0, left: 6.0), - child: FlChartWidget( - flChart: LineChart( + child: FlChart( + chart: LineChart( LineChartData( gridData: FlGridData( show: false, diff --git a/example/lib/line_chart/samples/line_chart_sample2.dart b/example/lib/line_chart/samples/line_chart_sample2.dart index 74398275c..3d3e9175a 100644 --- a/example/lib/line_chart/samples/line_chart_sample2.dart +++ b/example/lib/line_chart/samples/line_chart_sample2.dart @@ -1,4 +1,4 @@ -import 'package:fl_chart/fl_chart_widget.dart'; +import 'package:fl_chart/fl_chart.dart'; import 'package:flutter/material.dart'; class LineChartSample2 extends StatelessWidget { @@ -18,8 +18,8 @@ class LineChartSample2 extends StatelessWidget { ), child: Padding( padding: const EdgeInsets.only(right: 18.0, left: 12.0, top: 24, bottom: 12), - child: FlChartWidget( - flChart: LineChart( + child: FlChart( + chart: LineChart( LineChartData( gridData: FlGridData( show: true, diff --git a/example/lib/line_chart/samples/line_chart_sample3.dart b/example/lib/line_chart/samples/line_chart_sample3.dart index bc427dead..4e118676e 100644 --- a/example/lib/line_chart/samples/line_chart_sample3.dart +++ b/example/lib/line_chart/samples/line_chart_sample3.dart @@ -1,4 +1,4 @@ -import 'package:fl_chart/fl_chart_widget.dart'; +import 'package:fl_chart/fl_chart.dart'; import 'package:flutter/material.dart'; class LineChartSample3 extends StatelessWidget { @@ -8,8 +8,8 @@ class LineChartSample3 extends StatelessWidget { return SizedBox( width: 300, height: 140, - child: FlChartWidget( - flChart: LineChart( + child: FlChart( + chart: LineChart( LineChartData( lineBarsData: [ LineChartBarData( diff --git a/example/lib/line_chart/samples/line_chart_sample4.dart b/example/lib/line_chart/samples/line_chart_sample4.dart index 8ee275715..bed4e72d1 100644 --- a/example/lib/line_chart/samples/line_chart_sample4.dart +++ b/example/lib/line_chart/samples/line_chart_sample4.dart @@ -1,4 +1,4 @@ -import 'package:fl_chart/fl_chart_widget.dart'; +import 'package:fl_chart/fl_chart.dart'; import 'package:flutter/material.dart'; class LineChartSample4 extends StatelessWidget { @@ -8,8 +8,8 @@ class LineChartSample4 extends StatelessWidget { return SizedBox( width: 300, height: 140, - child: FlChartWidget( - flChart: LineChart( + child: FlChart( + chart: LineChart( LineChartData( lineBarsData: [ LineChartBarData( diff --git a/example/lib/line_chart/samples/line_chart_sample5.dart b/example/lib/line_chart/samples/line_chart_sample5.dart index 4d0307577..a0a252912 100644 --- a/example/lib/line_chart/samples/line_chart_sample5.dart +++ b/example/lib/line_chart/samples/line_chart_sample5.dart @@ -1,4 +1,4 @@ -import 'package:fl_chart/fl_chart_widget.dart'; +import 'package:fl_chart/fl_chart.dart'; import 'package:flutter/material.dart'; class LineChartSample5 extends StatelessWidget { @@ -8,8 +8,8 @@ class LineChartSample5 extends StatelessWidget { return SizedBox( width: 300, height: 140, - child: FlChartWidget( - flChart: LineChart( + child: FlChart( + chart: LineChart( LineChartData( lineBarsData: [ LineChartBarData( diff --git a/example/lib/pie_chart/samples/pie_chart_sample1.dart b/example/lib/pie_chart/samples/pie_chart_sample1.dart index 5618ab825..c1cf3494c 100644 --- a/example/lib/pie_chart/samples/pie_chart_sample1.dart +++ b/example/lib/pie_chart/samples/pie_chart_sample1.dart @@ -1,4 +1,4 @@ -import 'package:fl_chart/fl_chart_widget.dart'; +import 'package:fl_chart/fl_chart.dart'; import 'package:flutter/material.dart'; import 'indicator.dart'; @@ -67,8 +67,8 @@ class PieChartSample1 extends StatelessWidget { Expanded( child: AspectRatio( aspectRatio: 1, - child: FlChartWidget( - flChart: PieChart( + child: FlChart( + chart: PieChart( PieChartData( startDegreeOffset: 180, borderData: FlBorderData( diff --git a/example/lib/pie_chart/samples/pie_chart_sample2.dart b/example/lib/pie_chart/samples/pie_chart_sample2.dart index 4e4acbad8..d28d7f1bb 100644 --- a/example/lib/pie_chart/samples/pie_chart_sample2.dart +++ b/example/lib/pie_chart/samples/pie_chart_sample2.dart @@ -1,4 +1,4 @@ -import 'package:fl_chart/fl_chart_widget.dart'; +import 'package:fl_chart/fl_chart.dart'; import 'package:flutter/material.dart'; import 'indicator.dart'; @@ -50,8 +50,8 @@ class PieChartSample2 extends StatelessWidget { Expanded( child: AspectRatio( aspectRatio: 1, - child: FlChartWidget( - flChart: PieChart( + child: FlChart( + chart: PieChart( PieChartData( borderData: FlBorderData( show: false, diff --git a/lib/fl_chart.dart b/lib/fl_chart.dart new file mode 100644 index 000000000..6aa280bba --- /dev/null +++ b/lib/fl_chart.dart @@ -0,0 +1,49 @@ +library fl_chart; + +import 'package:flutter/material.dart'; + +import 'src/chart/bar_chart/bar_chart.dart'; +import 'src/chart/base/base_chart/base_chart.dart'; +import 'src/chart/base/base_chart/base_chart_painter.dart'; +import 'src/chart/line_chart/line_chart.dart'; +import 'src/chart/pie_chart/pie_chart.dart'; + +export 'src/chart/bar_chart/bar_chart.dart'; +export 'src/chart/bar_chart/bar_chart_data.dart'; +export 'src/chart/base/axis_chart/axis_chart_data.dart'; +export 'src/chart/base/base_chart/base_chart_data.dart'; +export 'src/chart/line_chart/line_chart.dart'; +export 'src/chart/line_chart/line_chart_data.dart'; +export 'src/chart/pie_chart/pie_chart.dart'; +export 'src/chart/pie_chart/pie_chart_data.dart'; + + +/// A base widget that holds a [BaseChart] class +/// that contains [BaseChartPainter] extends from [CustomPainter] +/// to paint the relative content on our [CustomPaint] class +/// [BaseChart] is an abstract class and we should use a concrete class +/// such as [LineChart], [BarChart], [PieChart]. +class FlChart extends StatefulWidget { + final BaseChart chart; + + FlChart({ + Key key, + @required this.chart, + }) : super(key: key) { + if (chart == null) { + throw Exception('chart might not be null'); + } + } + + @override + State createState() => _FlChartState(); +} + +class _FlChartState extends State { + @override + Widget build(BuildContext context) { + return CustomPaint( + painter: widget.chart.painter(), + ); + } +} \ No newline at end of file diff --git a/lib/fl_chart_widget.dart b/lib/fl_chart_widget.dart deleted file mode 100644 index a3d908611..000000000 --- a/lib/fl_chart_widget.dart +++ /dev/null @@ -1,45 +0,0 @@ -library fl_chart; - -import 'package:flutter/material.dart'; - -import 'src/chart/base/fl_chart/fl_chart.dart'; - -export 'src/chart/bar_chart/bar_chart.dart'; -export 'src/chart/bar_chart/bar_chart_data.dart'; -export 'src/chart/base/fl_axis_chart/fl_axis_chart_data.dart'; -export 'src/chart/base/fl_chart/fl_chart_data.dart'; -export 'src/chart/line_chart/line_chart.dart'; -export 'src/chart/line_chart/line_chart_data.dart'; -export 'src/chart/pie_chart/pie_chart.dart'; -export 'src/chart/pie_chart/pie_chart_data.dart'; - - -/// A widget that holds a [FlChart] class -/// that contains [FlChartPainter] extends from [CustomPainter] -/// to paint the relative content on our [CustomPaint] class -/// [FlChart] is an abstract class and we should use a concrete class -/// such as [LineChart], [BarChart], [PieChart]. -class FlChartWidget extends StatefulWidget { - final FlChart flChart; - - FlChartWidget({ - Key key, - @required this.flChart, - }) : super(key: key) { - if (flChart == null) { - throw Exception('flChart might not be null'); - } - } - - @override - State createState() => _FlChartState(); -} - -class _FlChartState extends State { - @override - Widget build(BuildContext context) { - return CustomPaint( - painter: widget.flChart.painter(), - ); - } -} \ No newline at end of file diff --git a/lib/src/chart/bar_chart/bar_chart.dart b/lib/src/chart/bar_chart/bar_chart.dart index 2a87ca711..26e6da197 100644 --- a/lib/src/chart/bar_chart/bar_chart.dart +++ b/lib/src/chart/bar_chart/bar_chart.dart @@ -1,10 +1,11 @@ -import '../base/fl_axis_chart/fl_axis_chart.dart'; -import '../base/fl_chart/fl_chart_data.dart'; -import '../base/fl_chart/fl_chart_painter.dart'; +import 'package:fl_chart/src/chart/base/axis_chart/axis_chart.dart'; +import 'package:fl_chart/src/chart/base/base_chart/base_chart_data.dart'; +import 'package:fl_chart/src/chart/base/base_chart/base_chart_painter.dart'; + import 'bar_chart_data.dart'; import 'bar_chart_painter.dart'; -class BarChart extends FlAxisChart { +class BarChart extends AxisChart { final BarChartData barChartData; BarChart( @@ -12,5 +13,5 @@ class BarChart extends FlAxisChart { ); @override - FlChartPainter painter() => BarChartPainter(barChartData); + BaseChartPainter painter() => BarChartPainter(barChartData); } diff --git a/lib/src/chart/bar_chart/bar_chart_data.dart b/lib/src/chart/bar_chart/bar_chart_data.dart index 3815579cb..4b4ca07a1 100644 --- a/lib/src/chart/bar_chart/bar_chart_data.dart +++ b/lib/src/chart/bar_chart/bar_chart_data.dart @@ -1,15 +1,14 @@ import 'dart:ui'; +import 'package:fl_chart/src/chart/base/axis_chart/axis_chart_data.dart'; +import 'package:fl_chart/src/chart/base/base_chart/base_chart_data.dart'; import 'package:flutter/material.dart'; -import '../base/fl_axis_chart/fl_axis_chart_data.dart'; -import '../base/fl_chart/fl_chart_data.dart'; - /// This class is responsible to holds data to draw Bar Chart /// [barGroups] holds list of bar groups to show together, /// [alignment] is the alignment of showing groups, /// [titlesData] holds data about drawing left and bottom titles. -class BarChartData extends FlAxisChartData { +class BarChartData extends AxisChartData { final List barGroups; final BarChartAlignment alignment; final FlTitlesData titlesData; @@ -33,7 +32,7 @@ class BarChartData extends FlAxisChartData { initSuperMinMaxValues(minX, maxX, minY, maxY); } - /// we have to tell [FlAxisChartData] how much is our + /// we have to tell [AxisChartData] how much is our /// minX, maxX, minY, maxY, values. /// here we get them in our constructor, but if each of them was null, /// we calculate it with the barGroups, and barRods data. diff --git a/lib/src/chart/bar_chart/bar_chart_painter.dart b/lib/src/chart/bar_chart/bar_chart_painter.dart index cd2cef920..77c43fd33 100644 --- a/lib/src/chart/bar_chart/bar_chart_painter.dart +++ b/lib/src/chart/bar_chart/bar_chart_painter.dart @@ -1,10 +1,9 @@ +import 'package:fl_chart/src/chart/bar_chart/bar_chart_data.dart'; +import 'package:fl_chart/src/chart/base/axis_chart/axis_chart_painter.dart'; import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; -import '../bar_chart/bar_chart_data.dart'; -import '../base/fl_axis_chart/fl_axis_chart_painter.dart'; - -class BarChartPainter extends FlAxisChartPainter { +class BarChartPainter extends AxisChartPainter { final BarChartData data; Paint barPaint; diff --git a/lib/src/chart/base/axis_chart/axis_chart.dart b/lib/src/chart/base/axis_chart/axis_chart.dart new file mode 100644 index 000000000..1cd789448 --- /dev/null +++ b/lib/src/chart/base/axis_chart/axis_chart.dart @@ -0,0 +1,8 @@ +import 'package:fl_chart/src/chart/bar_chart/bar_chart.dart'; +import 'package:fl_chart/src/chart/base/base_chart/base_chart.dart'; +import 'package:fl_chart/src/chart/line_chart/line_chart.dart'; + +/// This class is suitable for axis base charts +/// in the axis base charts we have a grid behind the charts +/// the direct subclasses are [LineChart], [BarChart] +abstract class AxisChart extends BaseChart {} \ No newline at end of file diff --git a/lib/src/chart/base/fl_axis_chart/fl_axis_chart_data.dart b/lib/src/chart/base/axis_chart/axis_chart_data.dart similarity index 94% rename from lib/src/chart/base/fl_axis_chart/fl_axis_chart_data.dart rename to lib/src/chart/base/axis_chart/axis_chart_data.dart index 1235c8dc0..9d0e00d28 100644 --- a/lib/src/chart/base/fl_axis_chart/fl_axis_chart_data.dart +++ b/lib/src/chart/base/axis_chart/axis_chart_data.dart @@ -1,6 +1,6 @@ +import 'package:fl_chart/src/chart/base/base_chart/base_chart_data.dart'; import 'package:flutter/material.dart'; -import '../fl_chart/fl_chart_data.dart'; /// This is the base class for axis base charts data /// that contains a [FlGridData] that holds data for showing grid lines, @@ -8,13 +8,13 @@ import '../fl_chart/fl_chart_data.dart'; /// we use them to determine how much is the scale of chart, /// and calculate x and y according to the scale. /// each child have to set it in their constructor. -class FlAxisChartData extends FlChartData { +class AxisChartData extends BaseChartData { final FlGridData gridData; double minX, maxX; double minY, maxY; - FlAxisChartData({ + AxisChartData({ this.gridData = const FlGridData(), FlBorderData borderData, this.minX, this.maxX, diff --git a/lib/src/chart/base/fl_axis_chart/fl_axis_chart_painter.dart b/lib/src/chart/base/axis_chart/axis_chart_painter.dart similarity index 90% rename from lib/src/chart/base/fl_axis_chart/fl_axis_chart_painter.dart rename to lib/src/chart/base/axis_chart/axis_chart_painter.dart index 479dbdcef..141b7076f 100644 --- a/lib/src/chart/base/fl_axis_chart/fl_axis_chart_painter.dart +++ b/lib/src/chart/base/axis_chart/axis_chart_painter.dart @@ -1,18 +1,18 @@ +import 'package:fl_chart/src/chart/bar_chart/bar_chart_painter.dart'; +import 'package:fl_chart/src/chart/base/base_chart/base_chart_painter.dart'; import 'package:flutter/material.dart'; -import '../../bar_chart/bar_chart_painter.dart'; -import '../../base/fl_chart/fl_chart_painter.dart'; -import 'fl_axis_chart_data.dart'; +import 'axis_chart_data.dart'; /// This class is responsible to draw the grid behind all axis base charts. /// also we have two useful function [getPixelX] and [getPixelY] that used /// in child classes -> [BarChartPainter], [LineChartPainter] -abstract class FlAxisChartPainter extends FlChartPainter { +abstract class AxisChartPainter extends BaseChartPainter { final D data; Paint gridPaint; - FlAxisChartPainter(this.data) : super(data) { + AxisChartPainter(this.data) : super(data) { gridPaint = Paint()..style = PaintingStyle.fill; } diff --git a/lib/src/chart/base/base_chart/base_chart.dart b/lib/src/chart/base/base_chart/base_chart.dart new file mode 100644 index 000000000..aca9abc07 --- /dev/null +++ b/lib/src/chart/base/base_chart/base_chart.dart @@ -0,0 +1,13 @@ +import 'package:fl_chart/fl_chart.dart'; + +import 'base_chart_painter.dart'; + +/// BaseChart is a base class for our charts, +/// each chart should extends this class and implement the [painter] method. +/// and the Painter should extends from [BaseChartPainter]. +/// the painter content will be painted on the [FlChart] class. +/// you can find concrete examples here : +/// [LineChart], [BarChart], [PieChart] +abstract class BaseChart { + BaseChartPainter painter(); +} diff --git a/lib/src/chart/base/fl_chart/fl_chart_data.dart b/lib/src/chart/base/base_chart/base_chart_data.dart similarity index 87% rename from lib/src/chart/base/fl_chart/fl_chart_data.dart rename to lib/src/chart/base/base_chart/base_chart_data.dart index 79712cd9a..4fca4607e 100644 --- a/lib/src/chart/base/fl_chart/fl_chart_data.dart +++ b/lib/src/chart/base/base_chart/base_chart_data.dart @@ -1,14 +1,19 @@ +import 'package:fl_chart/src/chart/bar_chart/bar_chart_data.dart'; +import 'package:fl_chart/src/chart/line_chart/line_chart_data.dart'; +import 'package:fl_chart/src/chart/pie_chart/pie_chart_data.dart'; import 'package:flutter/material.dart'; -/// This class holds all data needed to [FlChartPainter], +import 'base_chart_painter.dart'; + +/// This class holds all data needed to [BaseChartPainter], /// in this phase just the [FlBorderData] provided /// to drawing chart border line, /// see inherited samples: /// [LineChartData], [BarChartData], [PieChartData] -class FlChartData { +class BaseChartData { FlBorderData borderData; - FlChartData({ + BaseChartData({ this.borderData, }) { borderData ??= FlBorderData(); diff --git a/lib/src/chart/base/fl_chart/fl_chart_painter.dart b/lib/src/chart/base/base_chart/base_chart_painter.dart similarity index 88% rename from lib/src/chart/base/fl_chart/fl_chart_painter.dart rename to lib/src/chart/base/base_chart/base_chart_painter.dart index 580f43324..b397d6da6 100644 --- a/lib/src/chart/base/fl_chart/fl_chart_painter.dart +++ b/lib/src/chart/base/base_chart/base_chart_painter.dart @@ -1,21 +1,21 @@ +import 'package:fl_chart/src/chart/bar_chart/bar_chart_painter.dart'; +import 'package:fl_chart/src/chart/line_chart/line_chart_painter.dart'; +import 'package:fl_chart/src/chart/pie_chart/pie_chart_painter.dart'; import 'package:flutter/material.dart'; -import '../../bar_chart/bar_chart_painter.dart'; -import '../../line_chart/line_chart_painter.dart'; -import '../../pie_chart/pie_chart_painter.dart'; -import 'fl_chart_data.dart'; +import 'base_chart_data.dart'; /// this class is base class of our painters and /// it is responsible to draw borders of charts. /// concrete samples : /// [LineChartPainter], [BarChartPainter], [PieChartPainter] -/// there is a data [D] that extends from [FlChartData], +/// there is a data [D] that extends from [BaseChartData], /// that contains needed data to draw chart border in this phase. -abstract class FlChartPainter extends CustomPainter { +abstract class BaseChartPainter extends CustomPainter { final D data; Paint borderPaint; - FlChartPainter(this.data) { + BaseChartPainter(this.data) { borderPaint = Paint() ..style = PaintingStyle.stroke; } diff --git a/lib/src/chart/base/fl_axis_chart/fl_axis_chart.dart b/lib/src/chart/base/fl_axis_chart/fl_axis_chart.dart deleted file mode 100644 index 8f644ad6f..000000000 --- a/lib/src/chart/base/fl_axis_chart/fl_axis_chart.dart +++ /dev/null @@ -1,8 +0,0 @@ -import '../../bar_chart/bar_chart.dart'; -import '../../base/fl_chart/fl_chart.dart'; -import '../../line_chart/line_chart.dart'; - -/// This class is suitable for axis base charts -/// in the axis base charts we have a grid behind the charts -/// the direct subclasses are [LineChart], [BarChart] -abstract class FlAxisChart extends FlChart {} \ No newline at end of file diff --git a/lib/src/chart/base/fl_chart/fl_chart.dart b/lib/src/chart/base/fl_chart/fl_chart.dart deleted file mode 100644 index be8fe5c8f..000000000 --- a/lib/src/chart/base/fl_chart/fl_chart.dart +++ /dev/null @@ -1,12 +0,0 @@ -import '../../../../fl_chart_widget.dart'; -import 'fl_chart_painter.dart'; - -/// FlChart is a base class for our charts, -/// each chart should extends this class and implement the [painter] method. -/// and the Painter should extends from [FlChartPainter]. -/// the painter content will be painted on the [FlChartWidget] class. -/// you can find concrete examples here : -/// [LineChart], [BarChart], [PieChart] -abstract class FlChart { - FlChartPainter painter(); -} diff --git a/lib/src/chart/line_chart/line_chart.dart b/lib/src/chart/line_chart/line_chart.dart index 9f4085207..7a4b040fa 100644 --- a/lib/src/chart/line_chart/line_chart.dart +++ b/lib/src/chart/line_chart/line_chart.dart @@ -1,9 +1,10 @@ -import '../base/fl_axis_chart/fl_axis_chart.dart'; -import '../base/fl_chart/fl_chart_painter.dart'; +import 'package:fl_chart/src/chart/base/axis_chart/axis_chart.dart'; +import 'package:fl_chart/src/chart/base/base_chart/base_chart_painter.dart'; + import 'line_chart_data.dart'; import 'line_chart_painter.dart'; -class LineChart extends FlAxisChart { +class LineChart extends AxisChart { final LineChartData lineChartData; LineChart( @@ -11,5 +12,5 @@ class LineChart extends FlAxisChart { ); @override - FlChartPainter painter() => LineChartPainter(lineChartData); + BaseChartPainter painter() => LineChartPainter(lineChartData); } diff --git a/lib/src/chart/line_chart/line_chart_data.dart b/lib/src/chart/line_chart/line_chart_data.dart index 6f50b8666..d30e9254e 100644 --- a/lib/src/chart/line_chart/line_chart_data.dart +++ b/lib/src/chart/line_chart/line_chart_data.dart @@ -1,14 +1,13 @@ import 'dart:ui'; +import 'package:fl_chart/src/chart/base/axis_chart/axis_chart_data.dart'; +import 'package:fl_chart/src/chart/base/base_chart/base_chart_data.dart'; import 'package:flutter/material.dart'; -import '../base/fl_axis_chart/fl_axis_chart_data.dart'; -import '../base/fl_chart/fl_chart_data.dart'; - /// This class holds data to draw the line chart /// List [LineChartBarData] the data to draw the bar lines independently, /// [FlTitlesData] to show the bottom and left titles -class LineChartData extends FlAxisChartData { +class LineChartData extends AxisChartData { final List lineBarsData; final FlTitlesData titlesData; diff --git a/lib/src/chart/line_chart/line_chart_painter.dart b/lib/src/chart/line_chart/line_chart_painter.dart index 08acebd5f..50760c847 100644 --- a/lib/src/chart/line_chart/line_chart_painter.dart +++ b/lib/src/chart/line_chart/line_chart_painter.dart @@ -1,13 +1,13 @@ import 'dart:ui' as ui; +import 'package:fl_chart/src/chart/base/axis_chart/axis_chart_data.dart'; +import 'package:fl_chart/src/chart/base/axis_chart/axis_chart_painter.dart'; import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; -import '../base/fl_axis_chart/fl_axis_chart_data.dart'; -import '../base/fl_axis_chart/fl_axis_chart_painter.dart'; import 'line_chart_data.dart'; -class LineChartPainter extends FlAxisChartPainter { +class LineChartPainter extends AxisChartPainter { final LineChartData data; /// [barPaint] is responsible to painting the bar line diff --git a/lib/src/chart/pie_chart/pie_chart.dart b/lib/src/chart/pie_chart/pie_chart.dart index c3d148c5b..5564020b2 100644 --- a/lib/src/chart/pie_chart/pie_chart.dart +++ b/lib/src/chart/pie_chart/pie_chart.dart @@ -1,14 +1,15 @@ -import '../base/fl_chart/fl_chart.dart'; -import '../base/fl_chart/fl_chart_data.dart'; -import '../base/fl_chart/fl_chart_painter.dart'; +import 'package:fl_chart/src/chart/base/base_chart/base_chart.dart'; +import 'package:fl_chart/src/chart/base/base_chart/base_chart_data.dart'; +import 'package:fl_chart/src/chart/base/base_chart/base_chart_painter.dart'; + import 'pie_chart_data.dart'; import 'pie_chart_painter.dart'; -class PieChart extends FlChart { +class PieChart extends BaseChart { final PieChartData pieChartData; PieChart(this.pieChartData); @override - FlChartPainter painter() => PieChartPainter(pieChartData); + BaseChartPainter painter() => PieChartPainter(pieChartData); } diff --git a/lib/src/chart/pie_chart/pie_chart_data.dart b/lib/src/chart/pie_chart/pie_chart_data.dart index 592f2d621..c0d504b89 100644 --- a/lib/src/chart/pie_chart/pie_chart_data.dart +++ b/lib/src/chart/pie_chart/pie_chart_data.dart @@ -2,11 +2,11 @@ import 'dart:ui'; import 'package:flutter/material.dart'; -import '../base/fl_chart/fl_chart_data.dart'; +import '../base/base_chart/base_chart_data.dart'; import 'pie_chart.dart'; /// Holds all data needed to draw [PieChart], -class PieChartData extends FlChartData { +class PieChartData extends BaseChartData { final List sections; final double centerSpaceRadius; final Color centerSpaceColor; diff --git a/lib/src/chart/pie_chart/pie_chart_painter.dart b/lib/src/chart/pie_chart/pie_chart_painter.dart index 4d6a0c5b0..b301d8c65 100644 --- a/lib/src/chart/pie_chart/pie_chart_painter.dart +++ b/lib/src/chart/pie_chart/pie_chart_painter.dart @@ -1,16 +1,16 @@ import 'dart:math' as math; +import 'package:fl_chart/src/chart/base/base_chart/base_chart_painter.dart'; +import 'package:fl_chart/src/utils/utils.dart'; import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; -import '../../utils/utils.dart'; -import '../base/fl_chart/fl_chart_painter.dart'; import 'pie_chart.dart'; import 'pie_chart_data.dart'; /// this class will paint the [PieChart] based on the [PieChartData] -class PieChartPainter extends FlChartPainter { +class PieChartPainter extends BaseChartPainter { final PieChartData data; /// [sectionPaint] responsible to paint each section diff --git a/repo_files/documentations/bar_chart.md b/repo_files/documentations/bar_chart.md index 8518b2f8c..969623187 100644 --- a/repo_files/documentations/bar_chart.md +++ b/repo_files/documentations/bar_chart.md @@ -4,13 +4,13 @@ ### How to use ``` -FlChartWidget( - flChart: BarChart( - BarChartData( - // read about it in the below section - ), +FlChart( + chart: BarChart( + BarChartData( + // read about it in the below section ), - ); + ), +); ``` ### BarChartData diff --git a/repo_files/documentations/base_chart.md b/repo_files/documentations/base_chart.md index 4ee7e1a79..52507b804 100644 --- a/repo_files/documentations/base_chart.md +++ b/repo_files/documentations/base_chart.md @@ -28,7 +28,7 @@ -# BaseAxisChart (Line and Bar Charts) +# AxisChart (Line and Bar Charts) ### FlGridData diff --git a/repo_files/documentations/line_chart.md b/repo_files/documentations/line_chart.md index 4aaa5548c..75a003004 100644 --- a/repo_files/documentations/line_chart.md +++ b/repo_files/documentations/line_chart.md @@ -4,13 +4,13 @@ ### How to use ``` -FlChartWidget( - flChart: LineChart( - LineChartData( - // read about it in the below section - ), +FlChart( + chart: LineChart( + LineChartData( + // read about it in the below section ), - ); + ), +); ``` ### LineChartData diff --git a/repo_files/documentations/pie_chart.md b/repo_files/documentations/pie_chart.md index 877973a90..6dcb03b9d 100644 --- a/repo_files/documentations/pie_chart.md +++ b/repo_files/documentations/pie_chart.md @@ -4,13 +4,13 @@ ### How to use ``` -FlChartWidget( - flChart: PieChart( - PieChartData( - // read about it in the below section - ), +FlChart( + chart: PieChart( + PieChartData( + // read about it in the below section ), - ); + ), +); ``` ### PieChartData From feaaf43db6031d13c7266f1dfd01af941313148b Mon Sep 17 00:00:00 2001 From: imaNNeoFighT Date: Wed, 5 Jun 2019 19:16:19 +0430 Subject: [PATCH 2/2] upgraded version to 0.0.3 --- CHANGELOG.md | 7 ++++++- README.md | 2 +- pubspec.yaml | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 07155921f..1b4ace3fe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,4 +2,9 @@ ## 0.0.2 * fixed `minX`, `maxX` functionality on LineChart -* restricted to access private classes of the library \ No newline at end of file +* restricted to access private classes of the library + +## 0.0.3 +* renamed `FlChartWidget` to `FlChart` (our main widget) and now you have to import `package:fl_chart/fl_chart.dart` instead of `package:fl_chart/fl_chart_widget.dart` +* renamed `FlChart*` to `BaseChart*` (parent class of our charts like `PieChart`) +* renamed `FlAxisChart*` to `AxisChart*` \ No newline at end of file diff --git a/README.md b/README.md index c298b8f78..0d0150af9 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ Thank you all! ```kotlin dependencies: - fl_chart: ^0.0.2 + fl_chart: ^0.0.3 ``` diff --git a/pubspec.yaml b/pubspec.yaml index b230850eb..21409a946 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: fl_chart description: A powerful Flutter chart library, currently supporting Line Chart, Bar Chart and Pie Chart. -version: 0.0.2 +version: 0.0.3 author: Iman Khoshabi homepage: https://github.com/imaNNeoFighT/fl_chart