Utiliser une méthode d'une autre classe

Bonjour,
Je débute dans le développement avec dart et Flutter, et j’ai rencontré un problème
J’ai commencé une application avec 3 pages différentes : HomePage(), EventPage() et DataPage()
L’utilisateur peut naviguer entre ces trois pages grâce à la BottomNavigationBar().
Jusqu’ici tout va bien, mais je souhaite proposer un formulaire a partir d’un bouton dans ma page DataPage(). J’ai donc construit un bouton, mais je galère un peu pour relier le formulaire AddEventPage() avec celui-ci.

Voici le code du fichier principal main.dart, qui gère le Scaffold et la BottomBavigationBar() :

import 'package:bonapp/pages/add_event_page.dart';
import 'package:bonapp/pages/data_page.dart';
import 'package:bonapp/pages/event_page.dart';
import 'package:bonapp/pages/home_page.dart';
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {

  int _currentIndex = 0;

  setCurrentIndex(int index) {
    setState(() {
      _currentIndex = index;
    });
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: [
            const Text("Accueil"),
            const Text("Calendrier des repas"),
            const Text("Liste des repas"),
          ][_currentIndex],
        ),
        body: [
          HomePage(),
          EventPage(),
          DataPage(),
          AddEventPage(),
        ][_currentIndex],
        bottomNavigationBar: BottomNavigationBar(
          currentIndex: _currentIndex,
          onTap: (index) => setCurrentIndex(index),
          type : BottomNavigationBarType.fixed,
          selectedItemColor: Colors.green,
          unselectedItemColor: Colors.grey,
          iconSize: 32,
          elevation: 10,
          items: const [
            BottomNavigationBarItem(
                icon: Icon(Icons.home),
                label: "Accueil"
            ),
            BottomNavigationBarItem(
                icon: Icon(Icons.calendar_month),
                label: "Planning"
            ),
            BottomNavigationBarItem(
                icon: Icon(Icons.list),
                label: "Liste"
            ),
          ],
        ),
      ),
    );
  }
}

J’ai choisi de changer de page avec la BottomNavigationPage() en utilisant la méthode setCurrentIndex().

Voici le code de la DataPage() :

import 'package:bonapp/pages/add_event_page.dart';
import 'package:flutter/material.dart';
import 'package:bonapp/main.dart';

class DataPage extends StatefulWidget {
  const DataPage({Key? key}) : super(key: key);

  @override
  State<DataPage> createState() => _DataPageState();
}

class _DataPageState extends State<DataPage> {
  final events = [
    {
      "plat": "Pizza Royale",
      "date": "Lundi 3 février",
      "avatar": "pizza",
      "moment": "soir",
    },
    {
      "plat": "Croque-Monsieur",
      "date": "Mardi 4 février",
      "avatar": "croque-monsieur",
      "moment": "midi",
    },
    {
      "plat": "Raclette",
      "date": "Mercredi 5 février",
      "avatar": "raclette",
      "moment": "midi",
    }
  ];

  @override
  Widget build(BuildContext context) {
    return Column(
      children: [
        Expanded(
          child: ListView.builder(
            itemCount: events.length,
            itemBuilder: (context, index) {
              final event = events[index];
              final avatar = event["avatar"];
              final plat = event["plat"];
              final date = event["date"];
              final moment = event["moment"];


              return Card(
                child: ListTile(
                  leading: Image.asset("assets/images/$avatar.jpg"),
                  title: Text("$plat"),
                  subtitle: Text('$date - $moment'),
                  trailing: const Icon(Icons.more_vert),
                ),
              );
            },
          ),
        ),
        Align(
          alignment: const Alignment(1,1),
          child: FloatingActionButton(
            onPressed: () {}, //la je voudrais utiliser la methode pour changer de page mais sans la bar de navigation
            child: const Icon(Icons.add),
          ),
        ),
      ],
    );
  }
}

Je ne vois pas trop comment utiliser cette fonction provenant du fichier main.dart dans le fichier data_page.dart…
Quelqu’un aurait une idée ?

Bonjour, il faudrait le code de la fonction pour voir ce que l’on peut faire, si je comprends bien il s’agit de la fonction présente dans le fichier add_event_page.dart.