Files
Prod/lib/widgets/editorSelector.dart
Phani Pavan K 4f0503ca50
Some checks failed
Build CI / AMD64 Build (push) Has been cancelled
Build CI / ARM64 Build (push) Has been cancelled
fixed nullable mess with editor ids
2026-02-28 15:20:26 +05:30

48 lines
1.4 KiB
Dart

import "package:flutter/material.dart";
import "package:prod/models/editor.dart";
import "package:prod/models/globalModel.dart";
import "package:prod/models/project.dart";
import "package:provider/provider.dart";
import "package:yaru/yaru.dart";
class EditorSelector extends StatelessWidget {
const EditorSelector(this.turns, this.id, {super.key});
final int id;
final int turns;
@override
Widget build(BuildContext context) {
GlobalModel gm = Provider.of<GlobalModel>(context);
Project prj = gm.nthPrj(id);
return DropdownMenu(
enableSearch: true,
enableFilter: true,
initialSelection: prj.getEditor(turns),
leadingIcon: RotatedBox(
child: Icon(Icons.rounded_corner_rounded),
quarterTurns: turns,
),
onSelected: (a) {
// print("$a");
prj.setEditor(turns, a ?? "");
gm.updatePrj(id, prj);
},
dropdownMenuEntries: Provider.of<GlobalModel>(context).editors.map((a) {
return DropdownMenuEntry(
label: a.name,
labelWidget: Column(
crossAxisAlignment: .start,
mainAxisAlignment: .center,
children: [
Text("${a.name}", style: TextStyle(fontSize: 20)),
Text("${a.commandTemplate}", style: TextStyle(fontSize: 12)),
],
),
value: a.id,
);
}).toList(),
);
}
}