Add initial selection to instrument selector

Also use this from the work editor.
This commit is contained in:
Elias Projahn 2019-12-11 13:19:56 +01:00
parent 4855cafdf3
commit 40acc2b555
2 changed files with 19 additions and 2 deletions

View file

@ -119,7 +119,9 @@ class _WorkEditorState extends State<WorkEditor> {
final List<Instrument> selection = await Navigator.push( final List<Instrument> selection = await Navigator.push(
context, context,
MaterialPageRoute( MaterialPageRoute(
builder: (context) => InstrumentsSelector(), builder: (context) => InstrumentsSelector(
selection: instruments,
),
fullscreenDialog: true, fullscreenDialog: true,
)); ));

View file

@ -5,6 +5,12 @@ import '../database.dart';
import '../editors/instrument.dart'; import '../editors/instrument.dart';
class InstrumentsSelector extends StatefulWidget { class InstrumentsSelector extends StatefulWidget {
final List<Instrument> selection;
InstrumentsSelector({
this.selection,
});
@override @override
_InstrumentsSelectorState createState() => _InstrumentsSelectorState(); _InstrumentsSelectorState createState() => _InstrumentsSelectorState();
} }
@ -12,6 +18,15 @@ class InstrumentsSelector extends StatefulWidget {
class _InstrumentsSelectorState extends State<InstrumentsSelector> { class _InstrumentsSelectorState extends State<InstrumentsSelector> {
Set<Instrument> selection = {}; Set<Instrument> selection = {};
@override
void initState() {
super.initState();
if (widget.selection != null) {
selection = widget.selection.toSet();
}
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final backend = Backend.of(context); final backend = Backend.of(context);