musicus_mobile/lib/editors/instrument.dart
Elias Projahn 99e4711cfc Remove seperate role repesentation
The role and instrument tables have been merged into one (the instrument
table). There are not that many roles that aren't instruments and it is
much simpler to mange this way. The role editor and role selector have
been removed and the instrument related UI parts have been modified
accordingly.
2020-03-31 15:49:15 +02:00

66 lines
1.5 KiB
Dart

import 'package:flutter/material.dart';
import '../backend.dart';
import '../database.dart';
class InstrumentEditor extends StatefulWidget {
final Instrument instrument;
InstrumentEditor({
this.instrument,
});
@override
_InstrumentEditorState createState() => _InstrumentEditorState();
}
class _InstrumentEditorState extends State<InstrumentEditor> {
final nameController = TextEditingController();
@override
void initState() {
super.initState();
if (widget.instrument != null) {
nameController.text = widget.instrument.name;
}
}
@override
Widget build(BuildContext context) {
final backend = Backend.of(context);
return Scaffold(
appBar: AppBar(
title: Text('Instrument/Role'),
actions: <Widget>[
FlatButton(
child: Text('DONE'),
onPressed: () async {
final instrument = Instrument(
id: widget.instrument?.id ?? generateId(),
name: nameController.text,
);
await backend.db.updateInstrument(instrument);
Navigator.pop(context, instrument);
},
)
],
),
body: ListView(
children: <Widget>[
Padding(
padding: const EdgeInsets.all(16.0),
child: TextField(
controller: nameController,
decoration: InputDecoration(
labelText: 'Name',
),
),
),
],
),
);
}
}