Files
fforte/lib/screens/excursion/widgets/anzahlen.dart
2025-05-29 16:07:41 +02:00

265 lines
10 KiB
Dart

import 'package:flutter/material.dart';
import 'package:fforte/l10n/app_localizations.dart';
class Anzahlen extends StatefulWidget {
final TextEditingController losungAnz;
final TextEditingController losungGes;
final TextEditingController losungGen;
final TextEditingController urinAnz;
final TextEditingController urinGen;
final TextEditingController oestrAnz;
final TextEditingController oestrGen;
final TextEditingController haarAnz;
final TextEditingController haarGen;
const Anzahlen(
{super.key,
required this.losungAnz,
required this.losungGes,
required this.losungGen,
required this.urinAnz,
required this.urinGen,
required this.oestrAnz,
required this.oestrGen,
required this.haarAnz,
required this.haarGen});
@override
AnzahlenState createState() => AnzahlenState();
}
class AnzahlenState extends State<Anzahlen> {
@override
Widget build(BuildContext context) {
return Column(
children: [
Column(
children: [
Column(
children: [
Row(
children: [
Expanded(
flex: 2,
child: Align(
alignment: Alignment.bottomLeft,
child: Text(
AppLocalizations.of(context)!.anzahlLosungen)),
),
const SizedBox(
width: 20,
),
Expanded(
child: Align(
alignment: Alignment.centerLeft, child: TextField(
keyboardType: TextInputType.number,
controller: widget.losungAnz,
onTap: () => widget.losungAnz.selection = TextSelection(baseOffset: 0, extentOffset: widget.losungAnz.value.text.length),
)),
),
const SizedBox(
width: 20,
),
Expanded(
flex: 2,
child: Align(
alignment: Alignment.bottomLeft,
child: Text(
AppLocalizations.of(context)!.davonEingesammelt)),
),
const SizedBox(
width: 20,
),
Expanded(
child: Align(
alignment: Alignment.centerLeft, child: TextField(
keyboardType: TextInputType.number,
controller: widget.losungGes,
onTap: () => widget.losungGes.selection = TextSelection(baseOffset: 0, extentOffset: widget.losungGes.value.text.length),
)),
),
const SizedBox(
height: 20,
),
],
),
Row(
crossAxisAlignment: CrossAxisAlignment.end,
children: [
Expanded(
flex: 6,
child: Align(
alignment: Alignment.bottomLeft,
child: Text(
AppLocalizations.of(context)!.davonGenetikproben),
),
),
const SizedBox(
width: 20,
),
Expanded(
child: Align(
alignment: Alignment.centerLeft, child: TextField(
keyboardType: TextInputType.number,
controller: widget.losungGen,
onTap: () => widget.losungGen.selection = TextSelection(baseOffset: 0, extentOffset: widget.losungGen.value.text.length),
)),
),
],
),
const Divider(
height: 40,
),
Row(
children: [
Expanded(
flex: 2,
child: Align(
alignment: Alignment.bottomLeft,
child: Text(AppLocalizations.of(context)!
.anzahlUrinMakierstellen)),
),
const SizedBox(
width: 20,
),
Expanded(
child: Align(
alignment: Alignment.centerLeft, child: TextField(
keyboardType: TextInputType.number,
controller: widget.urinAnz,
onTap: () => widget.urinAnz.selection = TextSelection(baseOffset: 0, extentOffset: widget.urinAnz.value.text.length),
)),
),
const SizedBox(
width: 20,
),
Expanded(
flex: 2,
child: Align(
alignment: Alignment.bottomLeft,
child: Text(AppLocalizations.of(context)!
.davonGenetikproben)),
),
const SizedBox(
width: 20,
),
Expanded(
child: Align(
alignment: Alignment.centerLeft, child: TextField(
keyboardType: TextInputType.number,
controller: widget.urinGen,
onTap: () => widget.urinGen.selection = TextSelection(baseOffset: 0, extentOffset: widget.urinGen.value.text.length),
)),
),
const SizedBox(
height: 20,
),
],
),
const Divider(
height: 40,
),
Row(
children: [
Expanded(
flex: 2,
child: Align(
alignment: Alignment.bottomLeft,
child: Text(
AppLocalizations.of(context)!.anzahlOestrusblut)),
),
const SizedBox(
width: 20,
),
Expanded(
child: Align(
alignment: Alignment.centerLeft, child: TextField(
keyboardType: TextInputType.number,
controller: widget.oestrAnz,
onTap: () => widget.oestrAnz.selection = TextSelection(baseOffset: 0, extentOffset: widget.oestrAnz.value.text.length),
)),
),
const SizedBox(
width: 20,
),
Expanded(
flex: 2,
child: Align(
alignment: Alignment.bottomLeft,
child: Text(AppLocalizations.of(context)!
.davonGenetikproben)),
),
const SizedBox(
width: 20,
),
Expanded(
child: Align(
alignment: Alignment.centerLeft, child: TextField(
keyboardType: TextInputType.number,
controller: widget.oestrGen,
onTap: () => widget.oestrGen.selection = TextSelection(baseOffset: 0, extentOffset: widget.oestrGen.value.text.length),
)),
),
const SizedBox(
height: 20,
),
],
),
const Divider(
height: 40,
),
Row(
children: [
Expanded(
flex: 2,
child: Align(
alignment: Alignment.bottomLeft,
child: Text(
AppLocalizations.of(context)!.anzahlHaarproben)),
),
const SizedBox(
width: 20,
),
Expanded(
child: Align(
alignment: Alignment.centerLeft, child: TextField(
keyboardType: TextInputType.number,
controller: widget.haarAnz,
onTap: () => widget.haarAnz.selection = TextSelection(baseOffset: 0, extentOffset: widget.haarAnz.value.text.length),
)),
),
const SizedBox(
width: 20,
),
Expanded(
flex: 2,
child: Align(
alignment: Alignment.bottomLeft,
child: Text(AppLocalizations.of(context)!
.davonGenetikproben)),
),
const SizedBox(
width: 20,
),
Expanded(
child: Align(
alignment: Alignment.centerLeft, child: TextField(
keyboardType: TextInputType.number,
controller: widget.haarGen,
onTap: () => widget.haarGen.selection = TextSelection(baseOffset: 0, extentOffset: widget.haarGen.value.text.length),
)),
),
const SizedBox(
height: 20,
),
],
),
],
)
],
)
],
);
}
}