I'm not familiar with the material UI. However, I can see you're missing the "@UiField" on your ListBox declaration. ie: It should be: @UiField ListBox canBeusedBy;
Then you call just call "addItem" to add some items into the list. See http://samples.gwtproject.org/samples/Showcase/Showcase.html#!CwListBox for more detail. On Tuesday, 2 November 2021 at 4:41:25 am UTC+11 [email protected] wrote: > Hi, > I've been struggling for days to display a list of objects in an editor > using UIBinder. > > But I can't figure out which class to use and even less how. > > Here are some code snippets: > > The UIBinder file > <!-- EventImplEditor.ui.xml file --> > <!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent"> > <ui:UiBinder > xmlns:ui="urn:ui:com.google.gwt.uibinder" > xmlns:m="urn:import:gwt.material.design.client.ui" > xmlns:ma="urn:import:gwt.material.design.addins.client" > > xmlns:combobox="urn:import:gwt.material.design.addins.client.combobox" > xmlns:g="urn:import:com.google.gwt.user.client.ui"> > <ui:style> > .widget { > margin: 30px; > } > </ui:style> > <m:MaterialDialog ui:field="dialog" width="300px)"> > <m:MaterialContainer ui:field="container" width="300px)" > addStyleNames="{style.widget}"> > <m:MaterialPanel> > <m:MaterialButton ui:field="exit" text="Exit"/> > </m:MaterialPanel> > <m:MaterialPanel> > <m:MaterialTextBox ui:field="name" label="Name" iconType="FACE" /> > <m:MaterialTextBox ui:field="graphID" label="GraphID" iconType="FACE" > /> > </m:MaterialPanel> > <m:MaterialPanel ui:field="MaterialPanelCombo2"> > </m:MaterialPanel> > <m:MaterialPanel ui:field="MaterialPanelCombo3"> > </m:MaterialPanel> > <m:MaterialPanel ui:field="MaterialPanelCombo4"> > </m:MaterialPanel> > <m:MaterialPanel ui:field="MaterialPanelCombo5"> > </m:MaterialPanel> > <m:MaterialPanel ui:field="MaterialPanelCombo6"> > </m:MaterialPanel> > <m:MaterialPanel> > </m:MaterialPanel> > <m:MaterialPanel> > <!-- Here I tried to put List box but no result --> > <g:ListBox ui:field="canBeusedBy" /> > </m:MaterialPanel> > </m:MaterialContainer> > </m:MaterialDialog> > </ui:UiBinder> > > > > > The Editor Java file > > package com.lacen.gwt.spot.client.ui.mvp.editors.generated; > import com.google.gwt.core.client.GWT; > import com.google.gwt.editor.client.Editor; > import com.google.gwt.editor.client.SimpleBeanEditorDriver; > import com.google.gwt.event.dom.client.ClickEvent; > import com.google.gwt.uibinder.client.UiBinder; > import com.google.gwt.uibinder.client.UiField; > import com.google.gwt.uibinder.client.UiHandler; > import com.google.gwt.user.client.ui.Composite; > import com.google.gwt.user.client.ui.Widget; > import com.lacen.event.Event; > import gwt.material.design.client.ui.MaterialPanel; > import com.lacen.gwt.spot.client.ui.mvp.editors.ComboBoxEnum; > import gwt.material.design.client.ui.MaterialDialog; > import gwt.material.design.client.ui.MaterialTextBox; > import com.google.gwt.user.client.ui.ListBox; > import java.util.List; > import com.lacen.gwt.spot.client.ui.mvp.editors.ListValueSpot; > import com.lacen.users.Stakeholder; > import com.lacen.organisation.Action; > /** > * Create an editor to describe a event. > * @author Antonio > */ > public class EventEditor extends Composite implements Editor<Event> { > /** The Constant driver. */ > // Editor driver > private static final EventDriver driver = > GWT.create(EventDriver.class); > /** > * The Interface EventDriver. > */ > interface EventDriver extends SimpleBeanEditorDriver<Event, > EventEditor> { > } > /** The Constant uiBinder. */ > // UiBinder and fields > private static final EventEditorUiBinder uiBinder = > GWT.create(EventEditorUiBinder.class); > /** > * The Interface EventEditorUiBinder. > */ > interface EventEditorUiBinder extends UiBinder<Widget, EventEditor> { > } > /** The dialog. */ > @UiField > MaterialDialog dialog; > /** The name */ > @UiField > MaterialTextBox name; > /** The graphID */ > @UiField > MaterialTextBox graphID; > /** The eventStatus */ > @UiField > MaterialPanel MaterialPanelCombo2; > ComboBoxEnum<com.lacen.event.HandlingProgress> eventStatus; > /** The relevance */ > @UiField > MaterialPanel MaterialPanelCombo3; > ComboBoxEnum<com.lacen.event.Relevance> relevance; > /** The status */ > @UiField > MaterialPanel MaterialPanelCombo4; > ComboBoxEnum<com.lacen.event.StatusEvent> status; > /** The detectability */ > @UiField > MaterialPanel MaterialPanelCombo5; > ComboBoxEnum<com.lacen.event.Detectability> detectability; > /** The criticity */ > @UiField > MaterialPanel MaterialPanelCombo6; > ComboBoxEnum<com.lacen.event.Criticality> criticity; > /** The canBeusedBy */ > ListBox canBeusedBy; > /** The initial object (Event). */ > private Event initialObject; > /** > * Instantiates a new Event editor. > */ > public EventEditor() { > initWidget(uiBinder.createAndBindUi(this)); //// Create the UI > of the Editor. > eventStatus = new > ComboBoxEnum<com.lacen.event.HandlingProgress>("eventStatus", > com.lacen.event.HandlingProgress.VALUES); > MaterialPanelCombo2.add(eventStatus.getComboBox()); > relevance = new > ComboBoxEnum<com.lacen.event.Relevance>("relevance", > com.lacen.event.Relevance.VALUES); > MaterialPanelCombo3.add(relevance.getComboBox()); > status = new > ComboBoxEnum<com.lacen.event.StatusEvent>("status", > com.lacen.event.StatusEvent.VALUES); > MaterialPanelCombo4.add(status.getComboBox()); > detectability = new > ComboBoxEnum<com.lacen.event.Detectability>("detectability", > com.lacen.event.Detectability.VALUES); > MaterialPanelCombo5.add(detectability.getComboBox()); > criticity = new > ComboBoxEnum<com.lacen.event.Criticality>("criticity", > com.lacen.event.Criticality.VALUES); > MaterialPanelCombo6.add(criticity.getComboBox()); > dialog.open(); //// Visualize the editor. > } > /** > * Initialize and fill in the editors fields with the Event > properties. > * > * @param obj the Event. > */ > public void edit(Event obj) { > this.initialObject = obj; > driver.initialize(this); //// Initialize the driver > driver.edit(this.initialObject); //// Fill the editor with the > object > } > /** > * Exit the editor closing the dialog. > * > * @param event the event > */ > @UiHandler("exit") > public void onExitSelect(ClickEvent event) { > dialog.close(); > } > } > > In my Event object model, "canBeusedBy" is the name of a "Stakeholder" > list that I want to display in the ListBox. > > When I call my editor everything is displayed but not the list? Here > after a copy of the editor displayed: > [image: Editor.PNG] > > Do you have an idea, a specific example with a list of objects. > > Thank you for your help. > > Antonio > -- You received this message because you are subscribed to the Google Groups "GWT Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/google-web-toolkit/88ef9293-7280-45d8-9690-439a7131817an%40googlegroups.com.
