From c91da2a76e0dee344791f44d79203fcf55ebea17 Mon Sep 17 00:00:00 2001 From: Maximilian Betz <Maximilian.Betz@awi.de> Date: Tue, 15 Feb 2022 16:37:04 +0100 Subject: [PATCH] added lat long columns in viewevents --- lib/addevent.dart | 19 ++++++++----- lib/viewevents.dart | 66 ++++++++++++++++++++++++++++++++++++--------- 2 files changed, 65 insertions(+), 20 deletions(-) diff --git a/lib/addevent.dart b/lib/addevent.dart index 9b0da63..6a2fc88 100644 --- a/lib/addevent.dart +++ b/lib/addevent.dart @@ -12,7 +12,7 @@ class AddEvent extends StatefulWidget { } class _AddEventPageState extends State<AddEvent> { - bool disableGNSSEditing = true; + bool syncGNSSData = true; final List<bool> _isGNSSSelected = [true]; late LocationPermission permission; late Position position; @@ -39,7 +39,7 @@ class _AddEventPageState extends State<AddEvent> { accuracy = position.accuracy; - if (disableGNSSEditing == true) { + if (syncGNSSData == true) { if(mounted){ setState(() { //refresh UI on update @@ -96,6 +96,7 @@ class _AddEventPageState extends State<AddEvent> { void _storeCurrentEvent() { final EventStoreInstance storedEvents = EventStoreInstance(); final EventCurrentInstance currentEvent = EventCurrentInstance(); + currentEvent.store.status = "PENDING"; storedEvents.store.add( Event( currentEvent.store.id, @@ -104,6 +105,9 @@ class _AddEventPageState extends State<AddEvent> { currentEvent.store.type, currentEvent.store.description, currentEvent.store.status, + currentEvent.store.latitude, + currentEvent.store.longitude, + currentEvent.store.elevation )); } @@ -118,7 +122,7 @@ class _AddEventPageState extends State<AddEvent> { final EventCurrentInstance currentEvent = EventCurrentInstance(); String gnssStatusText = ""; - if (true == disableGNSSEditing){ + if (true == syncGNSSData){ // Update current event coordinates from GNSS stream currentEvent.store.latitude = lat; currentEvent.store.longitude = long; @@ -194,7 +198,7 @@ class _AddEventPageState extends State<AddEvent> { ), TextField( readOnly: false, - enabled: !disableGNSSEditing, + enabled: !syncGNSSData, //controller: _controllerLat, controller: TextEditingController(text: currentEvent.store.latitude.toString()), decoration: const InputDecoration( @@ -204,7 +208,7 @@ class _AddEventPageState extends State<AddEvent> { ), TextField( readOnly: false, - enabled: !disableGNSSEditing, + enabled: !syncGNSSData, controller: TextEditingController(text: currentEvent.store.longitude.toString()), decoration: const InputDecoration( labelText: 'Longitude', @@ -213,7 +217,7 @@ class _AddEventPageState extends State<AddEvent> { ), TextField( readOnly: false, - enabled: !disableGNSSEditing, + enabled: !syncGNSSData, controller: TextEditingController(text: currentEvent.store.elevation.toString()), decoration: const InputDecoration( labelText: 'Elevation', @@ -234,7 +238,8 @@ class _AddEventPageState extends State<AddEvent> { onPressed: (int index) { setState(() { _isGNSSSelected[index] = !_isGNSSSelected[index]; - disableGNSSEditing = _isGNSSSelected[index]; + syncGNSSData = _isGNSSSelected[index]; + //TODO: cancel position stream if GNSS sync disabled here! }); }, ), diff --git a/lib/viewevents.dart b/lib/viewevents.dart index a4ab274..738a64a 100644 --- a/lib/viewevents.dart +++ b/lib/viewevents.dart @@ -47,6 +47,24 @@ class ViewEvents extends StatelessWidget { style: TextStyle(fontStyle: FontStyle.italic), ), ), + DataColumn( + label: Text( + 'Latitude', + style: TextStyle(fontStyle: FontStyle.italic), + ), + ), + DataColumn( + label: Text( + 'Longitude', + style: TextStyle(fontStyle: FontStyle.italic), + ), + ), + DataColumn( + label: Text( + 'Elevation', + style: TextStyle(fontStyle: FontStyle.italic), + ), + ), DataColumn( label: Text( 'Status', @@ -62,6 +80,7 @@ class ViewEvents extends StatelessWidget { DataCell(Text(event.urn)), DataCell( TextFormField( + readOnly: true, initialValue: event.label, onFieldSubmitted: (val) { event.label = val; //Update Database @@ -71,6 +90,7 @@ class ViewEvents extends StatelessWidget { DataCell(Text(event.type)), DataCell( TextFormField( + readOnly: true, initialValue: event.description, onFieldSubmitted: (val) { event.description = val; //Update Database @@ -78,19 +98,39 @@ class ViewEvents extends StatelessWidget { ), ), DataCell( - DropdownButtonFormField( - //value: Text('abe'), - items: <DropdownMenuItem>[ - DropdownMenuItem( - child: Text('abs'), - value: Text('1'), - ), - DropdownMenuItem( - child: Text('abc'), - value: Text('1'), - ), - ], - onChanged: null, + TextFormField( + readOnly: true, + initialValue: event.latitude, + onFieldSubmitted: (val) { + event.latitude = val; //Update Database + }, + ), + ), + DataCell( + TextFormField( + readOnly: true, + initialValue: event.longitude, + onFieldSubmitted: (val) { + event.longitude = val; //Update Database + }, + ), + ), + DataCell( + TextFormField( + readOnly: true, + initialValue: event.elevation, + onFieldSubmitted: (val) { + event.elevation = val; //Update Database + }, + ), + ), + DataCell( + TextFormField( + readOnly: true, + initialValue: event.status, + onFieldSubmitted: (val) { + event.status = val; //Update Database + }, ), ), ], -- GitLab