From 63c4ccf3648f0ead264ddc9c029526bcc2e8f255 Mon Sep 17 00:00:00 2001 From: Elias Projahn Date: Sun, 22 Mar 2020 14:52:56 +0100 Subject: [PATCH] Add ensemble editor --- lib/editors/ensemble.dart | 66 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 lib/editors/ensemble.dart diff --git a/lib/editors/ensemble.dart b/lib/editors/ensemble.dart new file mode 100644 index 0000000..a2539f2 --- /dev/null +++ b/lib/editors/ensemble.dart @@ -0,0 +1,66 @@ +import 'package:flutter/material.dart'; + +import '../backend.dart'; +import '../database.dart'; + +class EnsembleEditor extends StatefulWidget { + final Ensemble ensemble; + + EnsembleEditor({ + this.ensemble, + }); + + @override + _EnsembleEditorState createState() => _EnsembleEditorState(); +} + +class _EnsembleEditorState extends State { + final nameController = TextEditingController(); + + @override + void initState() { + super.initState(); + + if (widget.ensemble != null) { + nameController.text = widget.ensemble.name; + } + } + + @override + Widget build(BuildContext context) { + final backend = Backend.of(context); + + return Scaffold( + appBar: AppBar( + title: Text('Ensemble'), + actions: [ + FlatButton( + child: Text('DONE'), + onPressed: () async { + final ensemble = Ensemble( + id: widget.ensemble?.id ?? generateId(), + name: nameController.text, + ); + + await backend.db.updateEnsemble(ensemble); + Navigator.pop(context, ensemble); + }, + ) + ], + ), + body: ListView( + children: [ + Padding( + padding: const EdgeInsets.all(16.0), + child: TextField( + controller: nameController, + decoration: InputDecoration( + labelText: 'Name', + ), + ), + ), + ], + ), + ); + } +}