refactor: flux calibration -> plotting -> placement des impacts
- VALIDER en calibration mène directement au plotting - l'éditeur d'impacts revient toujours au plotting au retour Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
bbf10d7eed
commit
df5f84c87c
@@ -151,10 +151,11 @@ class _AnalysisScreenContentState extends State<_AnalysisScreenContent> {
|
|||||||
/// exactement le même AnalysisProvider que cet écran : les impacts ajoutés,
|
/// exactement le même AnalysisProvider que cet écran : les impacts ajoutés,
|
||||||
/// déplacés ou supprimés sont donc immédiatement répercutés ici.
|
/// déplacés ou supprimés sont donc immédiatement répercutés ici.
|
||||||
///
|
///
|
||||||
/// Au retour : si l'utilisateur a validé (résultat true) on bascule en mode
|
/// Au retour, quel que soit le résultat (validation OU retour arrière), on
|
||||||
/// Plotting (lecture seule) ; sinon on repasse en calibration.
|
/// revient TOUJOURS sur le Plotting. L'éditeur d'impacts n'est ouvert que
|
||||||
|
/// depuis le Plotting : il doit donc y ramener, jamais sur la calibration.
|
||||||
Future<void> _openImpactEditor(AnalysisProvider provider) async {
|
Future<void> _openImpactEditor(AnalysisProvider provider) async {
|
||||||
final validated = await Navigator.of(context).push<bool>(
|
await Navigator.of(context).push<bool>(
|
||||||
MaterialPageRoute(
|
MaterialPageRoute(
|
||||||
builder: (_) => ChangeNotifierProvider<AnalysisProvider>.value(
|
builder: (_) => ChangeNotifierProvider<AnalysisProvider>.value(
|
||||||
value: provider,
|
value: provider,
|
||||||
@@ -165,13 +166,9 @@ class _AnalysisScreenContentState extends State<_AnalysisScreenContent> {
|
|||||||
|
|
||||||
if (!mounted) return;
|
if (!mounted) return;
|
||||||
|
|
||||||
if (validated == true) {
|
|
||||||
setState(() {
|
setState(() {
|
||||||
_isCalibrating = false;
|
_isCalibrating = false;
|
||||||
});
|
});
|
||||||
} else {
|
|
||||||
_enterCalibration();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Chemin à utiliser pour repartir dans le CropScreen lors d'un retour arrière.
|
/// Chemin à utiliser pour repartir dans le CropScreen lors d'un retour arrière.
|
||||||
@@ -289,12 +286,12 @@ class _AnalysisScreenContentState extends State<_AnalysisScreenContent> {
|
|||||||
if (_isCalibrating)
|
if (_isCalibrating)
|
||||||
TextButton(
|
TextButton(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
// On fige la calibration courante AVANT d'ouvrir l'éditeur,
|
// On fige la calibration courante puis on bascule DIRECTEMENT
|
||||||
// puis on passe sur l'écran d'édition d'impacts plein écran
|
// sur le Plotting (lecture seule). Le placement des impacts ne
|
||||||
// (zoom fiable + placement). Le mode Plotting (lecture seule)
|
// s'ouvre plus ici : il se fera depuis le Plotting en tapant la
|
||||||
// s'affichera au retour si l'utilisateur valide.
|
// cible.
|
||||||
_calibrationKey.currentState?.commitCalibration();
|
_calibrationKey.currentState?.commitCalibration();
|
||||||
_openImpactEditor(context.read<AnalysisProvider>());
|
setState(() => _isCalibrating = false);
|
||||||
},
|
},
|
||||||
child: const Text(
|
child: const Text(
|
||||||
'VALIDER',
|
'VALIDER',
|
||||||
|
|||||||
Reference in New Issue
Block a user