6
votes

GWT: menus dans UIBINDRE

Je voudrais mettre en œuvre des menus ( menubar , menuitem ) à l'aide de l'approche déclarative via Uibinder dans GWT 2.0.

J'ai rencontré deux problèmes:

  1. Y a-t-il un moyen d'ajouter des ménulseurs dans le fichier .ui.xml? Alors loin, j'ai seulement réussi à mettre des balises de menuzarre et de menuitem dans le Fichier.

  2. à l'aide de @UIHHERLER , GWT écrit le code de la chaudière pour l'événement gestionnaires pour moi. Pour les menus, j'ai besoin d'écrire des commandes. Comment suis-je censé faire cela en utilisant l'approche uibinder? Y a-t-il une commande tag à mettre dans le fichier .ui.xml ? Dois-je écrire la chaudière Code pour les gestionnaires de commandes moi-même?

    Merci d'avoir réfléchi à ces questions!


0 commentaires

6 Réponses :


2
votes

pour (1) Javadoc dit:

Utilisation dans les modèles d'uibinder Les éléments de Menubar dans les fichiers de modèle UIBINDIN peuvent avoir un attribut booléen vertical (qui par défaut sur FALSE) et ne peut avoir que des éléments Menuitem comme enfants. Les ménulseurs peuvent contenir HTML et des menus.

Par exemple: xxx

prenant l'indice des mots " seuls éléments menuiem comme enfants ", je suppose que MenuitemSeparator S ne sont pas pris en charge


1 commentaires

Je me demandais parce que le plugin Eclipse semble reconnaître ...



7
votes

Je suis d'accord, si vous essayez de mettre un menuitemseparator dans, il se placera uniquement en indiquant qu'un Menuitem peut être un enfant lorsque GWT tente de créer le widget. Comme cela n'est pas actuellement pris en charge, je vous suggère de demander cela comme une amélioration future à l'équipe GWT.

Entre-temps, vous pouvez ajouter un séparateur de manière programmatique et ajouter une commande de la manière suivante: Le fichier XML: xxx

Le (s) fichier (s) java (s): xxx

Ailleurs dans mon code, j'ai implémenté un historylistener pour attraper des modifications, c'est-à-dire. xxx


0 commentaires

1
votes

Je sais que cette question est vieille, mais je continue à courir sur cette question dans mes recherches de Google, j'ai donc pensé qu'il serait important de noter que, même si je ne l'ai pas vu documenté, j'ai utilisé:

avec succès dans mon modèle uibinder. Le plug-in GWT Eclipse me donne un marqueur d'erreur rouge, mais le menuitemseparator compile et se présente OK. J'utilise GWT 2.1.

Je pensais que quelqu'un pourrait être intéressé à savoir.

Malheureusement, je n'ai pas vu de solution pour le n ° 2 encore - mais j'espère qu'ils nous donnent quelque chose bientôt.


0 commentaires

0
votes

Il est possible d'ajouter un menuitemseparator dans le fichier ui.xml . Voici un exemple avec séparateur et sous-menu de la page officielle GWT-API .


1 commentaires

où est-ce? Ce lien ne fournit pas de réponse.



2
votes

Voici un exemple de ma solution à cela, ce qui semble fonctionner assez bien avec GWT 2.4.0.

UIBINDRE: P>

@UiField MenuItem item1;
@UiField MenuItem item2;
@UiField MenuBar subMenu;
@UiField MenuItem sub;

...

this.setWidget(uiBinder.createAndBindUi(this));
item1.setCommand(new Command() {
    public void execute() {
        History.newItem("item1");
    }
});


0 commentaires

0
votes

Eh bien, je pense avoir trouvé un moyen de mettre en œuvre cela. (Il s'agit d'une solution si vous souhaitez déclarer le séparateur à l'intérieur du fichier * .ui.xml.)

hocusview.java xxx

hocusview.ui.xml xxx

c'est aussi simple que cela. C'est ajouter un séparateur entre les éléments de menu.

Bravo!


0 commentaires