wxDev.fr, le portail francophone consacré à wxWidgets ! ( The french portal for wxWidgets )  
Esp. membre
Recheche rapide



Recherche avancée
Statistiques
Membres inscrits :2359

Membres en ligne : 0
Invités en ligne : 3

Valid XHTML 1.0 Transitional

Valid CSS2

Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Utilisation générale wxWidgets
» command enabling
Conversation : command enabling
17-04-2013 18:29:06  command enabling #1
c.panel (Membre)
Lieu: Isere
Inscrit le : 01-05-2008
Messages: 10
Snippets: 0
Tutoriels: 0
Site web
Hors ligne
Bonjour,

Je suis débutant avec wxWidgets et essaye de saisir ses forces et ses faiblesses dans le but de peut être basculer sur ce framework, et n'en suis qu'au début de l'apprentissage.

exite t-il un moyen de faire en sorte qu'une commande soit validée ou non (par ex dans un menu grisée ou non) automatiquement en fonction d'une procédure qui déterminerait suivant l'état de l'application si la commande est valide ou non ?

J'essaye en fait de retrouver les fonctionnalités d'autres frameworks dans wxWidgets : un evénement "wxCommandEnable" qui serait déclenché lors de l'affichage du menu ou bouton et qui permettrait à l'application par l'intermédaire d'une réponse implémentée de la part de l'utilisateur de savoir si une commande doit être validée ou non.

sinon, faut il alors chaque fois que l'application change "d'état" gérer soi même les validations des commandes... ?
17-04-2013 19:00:24  Re: command enabling #2
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1390
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
Salut.

Il y a effectivement une méthode très facile à mettre en oeuvre pour activer ou non un élément de menu et/ou un bouton de barre d'outil.

Il s'agit de l'événement "UpdateUI".

Par exemple, pour gérer l'état "activé/désactivé" d'une entrée de menu "Enregistrer" dont l'ID est wxID_SAVE, tu connectes une méthode de ta wxFrame à l'événement wxUpdateUI relatif à cet ID.

Code wxWidgets:

BEGIN_EVENT_TABLE(MainFrame, wxFrame)
    ......
    EVT_UPDATE_UI(wxID_SAVE, MainFrame::OnUpdateUI_Save)
    ......
END_EVENT_TABLE()
 
void MainFrame::OnUpdateUI_Save(wxUpdateUIEvent &event)
{
    event.Enable(true ou false);
}
 


A savoir que ça marche aussi pour un simple bouton.

En espérant avoir répondu à ta question.
Si tu as besoin de plus d'infos, n'hésite-pas.

@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà... et effectivement, depuis le temps, ce n'est plus tellement nouveau....
17-04-2013 20:49:12  Re: command enabling #3
c.panel (Membre)
Lieu: Isere
Inscrit le : 01-05-2008
Messages: 10
Snippets: 0
Tutoriels: 0
Site web
Hors ligne
Ok! et merci xaviou, je veux aller trop vite, "UI Updates" est effectivement détaillé page 250 du livre "wxWidgets". question subsidiaire : que veux dire UI ? user Interface ?
17-04-2013 20:51:19  Re: command enabling #4
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1390
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
c.panel:
question subsidiaire : que veux dire UI ? user Interface ?
C'est exactement ça.

Donc littéralement : UpdateUI = Mise à jour de l'interface utilisateur.

@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà... et effectivement, depuis le temps, ce n'est plus tellement nouveau....
Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Utilisation générale wxWidgets
» command enabling