Skip to content

Commit 4f6200e

Browse files
Added gauge sample
1 parent 260e719 commit 4f6200e

32 files changed

+7363
-3
lines changed

README.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,17 @@ This repository contains sample browser project. Each widgets sample will be fou
3838

3939
## <a name='screenshots'></a>Screenshots ##
4040

41+
### Chart types
4142
<p align="center">
4243
<img src="https://cdn.syncfusion.com/content/images/FTControl/chartTypes.png" alt="Chart Types"/>
43-
</p><p align="center">
44+
</p>
45+
46+
### Axis types
47+
<p align="center">
4448
<img src="https://cdn.syncfusion.com/content/images/FTControl/axisTypes.png" alt="Axis Types"/>
4549
</p>
50+
51+
### User interactions
4652
<p align="center">
4753
<img src="https://cdn.syncfusion.com/content/images/FTControl/userInteraction.gif" alt="User Interaction"/>
4854
</p>
@@ -54,4 +60,4 @@ Syncfusion has no liability for any damage or consequence that may arise by the
5460
## <a name="about-syncfusion"></a>About Syncfusion ##
5561
Founded in 2001 and headquartered in Research Triangle Park, N.C., Syncfusion has more than 20,000 customers and more than 1 million users, including large financial institutions, Fortune 500 companies, and global IT consultancies.
5662

57-
Today we provide 1,000+ controls and frameworks for web ([ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls), [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls), [ASP.NET WebForms](https://www.syncfusion.com/jquery/aspnet-web-forms-ui-controls), [JavaScript](https://www.syncfusion.com/javascript-ui-controls), [Angular](https://www.syncfusion.com/angular-ui-components), [React](https://www.syncfusion.com/react-ui-components), [Vue](https://www.syncfusion.com/vue-ui-components), and [Blazor](https://www.syncfusion.com/blazor-components), mobile ([Xamarin](https://www.syncfusion.com/xamarin-ui-controls), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [JavaScript](https://www.syncfusion.com/javascript-ui-controls)), and desktop development ([WinForms](https://www.syncfusion.com/winforms-ui-controls), [WPF](https://www.syncfusion.com/products/wpf-ui-controls), and [UWP](https://www.syncfusion.com/uwp-ui-controls)). We provide ready-to deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software.
63+
Today we provide 1,000+ controls and frameworks for web ([ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls), [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls), [ASP.NET WebForms](https://www.syncfusion.com/jquery/aspnet-web-forms-ui-controls), [JavaScript](https://www.syncfusion.com/javascript-ui-controls), [Angular](https://www.syncfusion.com/angular-ui-components), [React](https://www.syncfusion.com/react-ui-components), [Vue](https://www.syncfusion.com/vue-ui-components), and [Blazor](https://www.syncfusion.com/blazor-components), mobile ([Xamarin](https://www.syncfusion.com/xamarin-ui-controls), Flutter, [UWP](https://www.syncfusion.com/uwp-ui-controls), and [JavaScript](https://www.syncfusion.com/javascript-ui-controls)), and desktop development ([WinForms](https://www.syncfusion.com/winforms-ui-controls), [WPF](https://www.syncfusion.com/products/wpf-ui-controls), and [UWP](https://www.syncfusion.com/uwp-ui-controls)). We provide ready-to deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software.

lib/model/helper.dart

Lines changed: 202 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,34 @@ import 'package:flutter_examples/samples/chart/user_interactions/zooming_panning
109109
import 'package:flutter_examples/samples/chart/user_interactions/zooming_panning/selection_zooming.dart';
110110
import 'package:flutter_examples/samples/chart/user_interactions/zooming_panning/zooming_with_custom_buttons.dart';
111111
import 'package:flutter_examples/samples/chart/home/radial_gauge.dart';
112+
import 'package:flutter_examples/samples/gauge/axis_feature/default_gauge_view.dart';
113+
import 'package:flutter_examples/samples/gauge/axis_feature/multiple_axis.dart';
114+
import 'package:flutter_examples/samples/gauge/ranges/range_thickness.dart';
115+
import 'package:flutter_examples/samples/gauge/ranges/range_dataLabel.dart';
116+
import 'package:flutter_examples/samples/gauge/pointers/multiple_ranges.dart';
117+
import 'package:flutter_examples/samples/gauge/showcase/gauge_overview.dart';
118+
import 'package:flutter_examples/samples/gauge/showcase/clock_sample.dart';
119+
import 'package:flutter_examples/samples/gauge/showcase/distance_tracker.dart';
120+
import 'package:flutter_examples/samples/gauge/animation/radial_bounceout.dart';
121+
import 'package:flutter_examples/samples/gauge/animation/radial_easeanimation.dart';
122+
import 'package:flutter_examples/samples/gauge/animation/radial_easeincirc.dart';
123+
import 'package:flutter_examples/samples/gauge/animation/radial_linearanimation.dart';
124+
import 'package:flutter_examples/samples/gauge/animation/radial_elasticout.dart';
125+
import 'package:flutter_examples/samples/gauge/animation/radial_slowmiddle.dart';
126+
import 'package:flutter_examples/samples/gauge/animation/radial_easeout.dart';
127+
import 'package:flutter_examples/samples/gauge/ranges/multiple_ranges.dart';
128+
import 'package:flutter_examples/samples/gauge/pointers/multiple_needle.dart';
129+
import 'package:flutter_examples/samples/gauge/pointers/radial_marker.dart';
130+
import 'package:flutter_examples/samples/gauge/pointers/text_pointer.dart';
131+
import 'package:flutter_examples/samples/gauge/annotation/image_annotation.dart';
132+
import 'package:flutter_examples/samples/gauge/annotation/text_annotation.dart';
133+
import 'package:flutter_examples/samples/gauge/annotation/direction_compass.dart';
134+
import 'package:flutter_examples/samples/gauge/axis_feature/radiallabel_customization.dart';
135+
import 'package:flutter_examples/samples/gauge/axis_feature/tick_customization.dart';
136+
import 'package:flutter_examples/samples/gauge/axis_feature/non_linearlabel.dart';
137+
import 'package:flutter_examples/samples/gauge/axis_feature/custom_labels.dart';
138+
import 'package:flutter_examples/samples/gauge/axis_feature/range_colors.dart';
139+
import 'package:flutter_examples/samples/gauge/pointer_interaction/radial_pointerdragging.dart';
112140
import 'model.dart';
113141

114142
void onTapControlItem(
@@ -801,6 +829,180 @@ void onTapSampleItem(BuildContext context, SubItemList sample) {
801829
builder: (BuildContext context) => DefaultSelection(sample)));
802830
}
803831
}
832+
833+
834+
//......................Radial Gauge...............................//
835+
else if (sample.category == 'Showcase') {
836+
if (sample.title == 'Clock') {
837+
Navigator.push<dynamic>(
838+
context,
839+
MaterialPageRoute<dynamic>(
840+
builder: (BuildContext context) => ClockExample(sample)));
841+
} else if (sample.title == 'Temperature Monitor') {
842+
Navigator.push<dynamic>(
843+
context,
844+
MaterialPageRoute<dynamic>(
845+
builder: (BuildContext context) => GaugeOverviewExample(sample)));
846+
} else if (sample.title == 'Distance Tracker') {
847+
Navigator.push<dynamic>(
848+
context,
849+
MaterialPageRoute<dynamic>(
850+
builder: (BuildContext context) =>
851+
DistanceTrackerExample(sample)));
852+
}
853+
} else if (sample.category == 'Axis') {
854+
if (sample.title == 'Default view') {
855+
Navigator.push<dynamic>(
856+
context,
857+
MaterialPageRoute<dynamic>(
858+
builder: (BuildContext context) => RadialGaugeDefault(sample)));
859+
} else if (sample.title == 'Multiple axis') {
860+
Navigator.push<dynamic>(
861+
context,
862+
MaterialPageRoute<dynamic>(
863+
builder: (BuildContext context) => MultipleAxisExample(sample)));
864+
} else if (sample.title == 'Label Customization') {
865+
Navigator.push<dynamic>(
866+
context,
867+
MaterialPageRoute<dynamic>(
868+
builder: (BuildContext context) =>
869+
RadialLabelCustomization(sample)));
870+
} else if (sample.title == 'Tick Customization') {
871+
Navigator.push<dynamic>(
872+
context,
873+
MaterialPageRoute<dynamic>(
874+
builder: (BuildContext context) =>
875+
RadialTickCustomization(sample)));
876+
} else if (sample.title == 'Custom Scale') {
877+
Navigator.push<dynamic>(
878+
context,
879+
MaterialPageRoute<dynamic>(
880+
builder: (BuildContext context) => RadialNonLinearLabel(sample)));
881+
} else if (sample.title == 'Custom Labels') {
882+
Navigator.push<dynamic>(
883+
context,
884+
MaterialPageRoute<dynamic>(
885+
builder: (BuildContext context) => GaugeCustomLabels(sample)));
886+
} else if (sample.title == 'Range colors for axis') {
887+
Navigator.push<dynamic>(
888+
context,
889+
MaterialPageRoute<dynamic>(
890+
builder: (BuildContext context) => RangeColorForLabels(sample)));
891+
}
892+
} else if (sample.category == 'Pointers') {
893+
if (sample.title == 'Range Pointer') {
894+
Navigator.push<dynamic>(
895+
context,
896+
MaterialPageRoute<dynamic>(
897+
builder: (BuildContext context) =>
898+
MultipleRangePointerExample(sample)));
899+
} else if (sample.title == 'Multiple Needle') {
900+
Navigator.push<dynamic>(
901+
context,
902+
MaterialPageRoute<dynamic>(
903+
builder: (BuildContext context) =>
904+
MultipleNeedleExample(sample)));
905+
} else if (sample.title == 'Marker Pointer') {
906+
Navigator.push<dynamic>(
907+
context,
908+
MaterialPageRoute<dynamic>(
909+
builder: (BuildContext context) => RadialMarkerExample(sample)));
910+
} else if (sample.title == 'Text Pointer') {
911+
Navigator.push<dynamic>(
912+
context,
913+
MaterialPageRoute<dynamic>(
914+
builder: (BuildContext context) => RadialTextPointer(sample)));
915+
}
916+
} else if (sample.category == 'Range') {
917+
if (sample.title == 'Multiple Ranges') {
918+
Navigator.push<dynamic>(
919+
context,
920+
MaterialPageRoute<dynamic>(
921+
builder: (BuildContext context) =>
922+
MultipleRangesExample(sample)));
923+
} else if (sample.title == 'Range Label') {
924+
Navigator.push<dynamic>(
925+
context,
926+
MaterialPageRoute<dynamic>(
927+
builder: (BuildContext context) =>
928+
RangeDataLabelExample(sample)));
929+
} else if (sample.title == 'Range Thickness') {
930+
Navigator.push<dynamic>(
931+
context,
932+
MaterialPageRoute<dynamic>(
933+
builder: (BuildContext context) =>
934+
RangeThicknessExample(sample)));
935+
}
936+
} else if (sample.category == 'Gauge Annotation') {
937+
if (sample.title == 'Temperature Tracker') {
938+
Navigator.push<dynamic>(
939+
context,
940+
MaterialPageRoute<dynamic>(
941+
builder: (BuildContext context) =>
942+
RadialImageAnnotation(sample)));
943+
} else if (sample.title == 'Direction Compass') {
944+
Navigator.push<dynamic>(
945+
context,
946+
MaterialPageRoute<dynamic>(
947+
builder: (BuildContext context) => RadialCompass(sample)));
948+
} else if (sample.title == 'Text Annotation') {
949+
Navigator.push<dynamic>(
950+
context,
951+
MaterialPageRoute<dynamic>(
952+
builder: (BuildContext context) => RadialTextAnnotation(sample)));
953+
}
954+
} else if (sample.category == 'Pointer Interaction') {
955+
if (sample.title == 'Pointer Dragging') {
956+
Navigator.push<dynamic>(
957+
context,
958+
MaterialPageRoute<dynamic>(
959+
builder: (BuildContext context) =>
960+
RadialPointerDragging(sample)));
961+
}
962+
} else if (sample.category == 'Pointer Animation') {
963+
if (sample.title == 'Bounce Out') {
964+
Navigator.push<dynamic>(
965+
context,
966+
MaterialPageRoute<dynamic>(
967+
builder: (BuildContext context) =>
968+
RadialBounceOutExample(sample)));
969+
} else if (sample.title == 'Ease') {
970+
Navigator.push<dynamic>(
971+
context,
972+
MaterialPageRoute<dynamic>(
973+
builder: (BuildContext context) => RadialEaseExample(sample)));
974+
} else if (sample.title == 'EaseInCirc') {
975+
Navigator.push<dynamic>(
976+
context,
977+
MaterialPageRoute<dynamic>(
978+
builder: (BuildContext context) =>
979+
RadialEaseInCircExample(sample)));
980+
} else if (sample.title == 'Linear') {
981+
Navigator.push<dynamic>(
982+
context,
983+
MaterialPageRoute<dynamic>(
984+
builder: (BuildContext context) =>
985+
RadialLinearAnimation(sample)));
986+
} else if (sample.title == 'ElasticOut') {
987+
Navigator.push<dynamic>(
988+
context,
989+
MaterialPageRoute<dynamic>(
990+
builder: (BuildContext context) =>
991+
RadialElasticOutAnimation(sample)));
992+
} else if (sample.title == 'SlowMiddle') {
993+
Navigator.push<dynamic>(
994+
context,
995+
MaterialPageRoute<dynamic>(
996+
builder: (BuildContext context) =>
997+
RadialSlowMiddleAnimation(sample)));
998+
} else if (sample.title == 'EaseOutBack') {
999+
Navigator.push<dynamic>(
1000+
context,
1001+
MaterialPageRoute<dynamic>(
1002+
builder: (BuildContext context) =>
1003+
RadialEaseOutAnimation(sample)));
1004+
}
1005+
}
8041006
}
8051007

8061008
String getStatus(List<SubItemList> model) {

0 commit comments

Comments
 (0)