#0 

22-05-2013 13:38:19

Neckara
Membre
Date d'inscription: 29-04-2013
Messages: 13

Bonjour,

Je souhaiterais que lorsque l'utilisateur tente de quitter mon programme en cliquant sur la croix de la fenêtre ou en appuyant sur Ctrl + F4, une fenêtre s'ouvre pour lui demander s'il veut vraiment quitter sans sauvegarder, s'il veut quitter et sauvegarder ou s'il veut ignorer l'événement.

Ensuite, s'il décide de vraiment quitter l'application, je souhaiterais lui afficher une petite image pendant 1 seconde.


Malheureusement, dès que device.run() retourne false, je ne peux plus récupérer les événements de l'utilisateur pour savoir s'il veut quitter, quitter & sauvegarder ou ne rien faire.

J'ai beau rechercher, mais je ne trouve pas de solution à part recréer un device() :aie:.

Auriez-vous une idée de la manière dont je pourrais procéder ?

Cordialement,
Neckara.

Dernière modification par Neckara (22-05-2013 13:39:07)

Hors ligne


#1 

22-05-2013 14:45:41

johnplayer
Habitué
Date d'inscription: 30-09-2007
Messages: 431

J'ai eu le même problème mais à part toucher les sources tu ne peux rien y faire. Sinon si c'est une application pourquoi ne pas utiliser une bibliothèque de fenêtrage (Qt par exemple) avec laquelle tu créerai la fenêtre. ensuite tu y intègre ta vue irrlicht. Tu auras accès à la fermeture de la fenêtre et certainement un meilleur rendu (la gui d'Irrlicht est basique et pas très pratique).


core i7 4970K @ 4GHz - 32GB ddr3 19200(2400MHz) - ssd samsung 840 evo 250GB - GTX1080Ti (4K) - Cooler master storm stryker blanc.
"L'alcool, c'est comme Activia, c'est actif à l'intérieur et ça se voit à l'extérieur."

Hors ligne


#2 

22-05-2013 17:46:49

Neckara
Membre
Date d'inscription: 29-04-2013
Messages: 13

Merci pour votre réponse,

Je n'aime pas vraiment Qt et pour la gui j'utilise CEGUI intégré à Irrlicht.

Je vais essayer de voir les sources d'Irrlicht pour voir si je ne peux pas m'en tirer avec un héritage du device.

Mais c'est vraiment dommage qu'on ne puisse pas intercepter les événements de fermeture de la fenêtre...

Hors ligne


#3 

22-05-2013 19:09:22

Neckara
Membre
Date d'inscription: 29-04-2013
Messages: 13

J'ai trouvé une solution, je crée une classe IrrlichtHack qui hérite de CIrrDevice.
Dans cette classe, j'ajoute une méthode restart() qui passe la variable Close à true.

Il me reste ensuite plus qu'à faire un cast assez sale (mais 100% sûr) du device vers IrrlichtHack, ainsi je peux relancer le device quand je veux wink

Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Corrections
irrlicht
irrklang
irredit
irrxml
xhtml 1.0
css 2.1
Propulsé par FluxBB
Traduit par FluxBB.fr
883 membres
1429 sujets
11121 messages
Dernier membre inscrit: Saidov17
43 invités en ligne
Aucun membre connecté
RSS Feed