Bonjour, supposons un GUI avec une classe Menu.
Cette classe Menu serais comme ci-dessous :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
class Menu
{
    private :
        std::vector<Objet*> sous_objets;
        std::vector<Evenement> evenements;
        //Ceci est un exemple simplifier et donc on ne marquera pas tout.
    public :
        void GUI_Main();
        void exit_Menu();
        //Ceci est un exemple simplifier et donc on ne marquera pas tout.
};
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
void Menu::GUI_Main()//équivalent de GTK_main() par exemple
{
    unsigned int i;
    while(1)
    {
        SDL_Delay(10);
        for(i=0;i<evenements.size();i++)
            evenements[i](this);
    }
}
Supposons, que l'on souhaite faire la fonction exit_Menu qui serait appelée depuis un des foncteurs Evenement.
Comment la programmer ?
L'objectif serait de faire l'équivalent de :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
void Menu::GUI_Main()
{
    unsigned int i;
    while(1)
    {
        SDL_Delay(10);
        for(i=0;i<evenements.size();i++)
            evenements[i](this);
    }
    end;
}
 
void Menu::exit_Menu()
{
    goto end;
}
Quelqu'un a t-il une solution ? (Autre chose que se débrouiller pour tester la valeur de retour de evenement (qui renverait un bool))

Ce code n'ayant pas été compilé, il se peut qu'il y ai des erreurs qui ne nous interessent pas : l'important étant la conception.