m3_lightmeter/lib/providers/stop_type_provider.dart

37 lines
899 B
Dart
Raw Normal View History

2022-10-30 18:06:51 +00:00
import 'package:flutter/material.dart';
import 'package:lightmeter/utils/inherited_generics.dart';
ML-42 Implement equipment profiles creating (#45) * added Equipment section placeholder * get iso & nd values from equipment profile * use photography values from remote repo * removed equipment section * wip * moved `EquipmentProfileProvider` from iap repo * wip * moved equipment profiles screen from iap * improved equipment profiles screen * mock add/delete * collapse on expand * add profile with name * show selected values count (wip) * fixed profile update * cleanup * Update pubspec.yaml * made `AnimatedDialogPicker` more generic * switched to local `Dimens` * fixed `MeteringTopBarShape` * rename * animated `EquipmentProfileContainer` * added default equipment profile * change equipment profile name via dialog * fixed profile selection * filter equipment profile update/delete * removed `enabled` param from settings section * non-null `EquipmentProfile` * fixed duplicate GlobalKeys * animated equipment list * Update ci.yml * fixed shutter speed anchor issue * autofocus * added firebase to project * save/restore equipment profiles * unified `SliverList` * added SSH key to iap repo * Update ci.yml * ci recursive submodules * try full url * Revert "try full url" This reverts commit a9b692b60ea5b2e88188a5d497467708becb4a02. * restore firebase_options.dart * changed runner to macos * restore options earlier * removed problematic file from analysis :) * removed launch_app * textoverflow * implemented `DialogRangePicker` * add iap repo to cd * typo * added workflow_dispatch to crowdin push * removed `equipmentProfileValuesCount` from intl * fr & ru translations * style * removed iap
2023-03-30 19:24:18 +00:00
import 'package:m3_lightmeter_resources/m3_lightmeter_resources.dart';
2022-10-30 18:06:51 +00:00
class StopTypeProvider extends StatefulWidget {
final Widget child;
2022-10-30 18:06:51 +00:00
const StopTypeProvider({required this.child, super.key});
2022-10-30 18:06:51 +00:00
static StopTypeProviderState of(BuildContext context) {
return context.findAncestorStateOfType<StopTypeProviderState>()!;
}
2022-10-30 18:06:51 +00:00
@override
State<StopTypeProvider> createState() => StopTypeProviderState();
}
class StopTypeProviderState extends State<StopTypeProvider> {
StopType _stopType = StopType.third;
StopType get stopType => _stopType;
void set(StopType type) {
setState(() {
_stopType = type;
});
}
2022-10-30 18:06:51 +00:00
@override
Widget build(BuildContext context) {
return InheritedWidgetBase<StopType>(
data: _stopType,
child: widget.child,
2022-10-30 18:06:51 +00:00
);
}
}