package de.lessvoid.nifty.examples.defaultcontrols.scrollpanel; import de.lessvoid.nifty.Nifty; import de.lessvoid.nifty.builder.ControlBuilder; import de.lessvoid.nifty.builder.ControlDefinitionBuilder; import de.lessvoid.nifty.builder.ImageBuilder; import de.lessvoid.nifty.builder.PanelBuilder; import de.lessvoid.nifty.controls.scrollpanel.builder.ScrollPanelBuilder; import de.lessvoid.nifty.controls.textfield.builder.TextFieldBuilder; import de.lessvoid.nifty.examples.defaultcontrols.common.CommonBuilders; import de.lessvoid.nifty.examples.defaultcontrols.common.DialogPanelControlDefinition; import javax.annotation.Nonnull; /** * The ScrollPanelDialogControlDefinition registers a new control with Nifty * that represents the whole Dialog. This gives us later an appropriate * ControlBuilder to actual construct the Dialog (as a control). * @author void */ public class ScrollPanelDialogControlDefinition { public static final String NAME = "dialogScrollPanel"; @Nonnull private static final CommonBuilders builders = new CommonBuilders(); public static void register(@Nonnull final Nifty nifty) { new ControlDefinitionBuilder(NAME) {{ controller(new ScrollPanelDialogController()); control(new ControlBuilder(DialogPanelControlDefinition.NAME) {{ panel(new PanelBuilder() {{ childLayoutHorizontal(); control(builders.createLabel("ScrollPanel:")); control(new ScrollPanelBuilder("scrollPanel") {{ width("*"); height("*"); image(new ImageBuilder() {{ filename("defaultcontrols/background-new.png"); }}); }}); }}); panel(builders.vspacer()); panel(new PanelBuilder() {{ childLayoutHorizontal(); control(builders.createLabel("Position X:")); control(new TextFieldBuilder("scrollpanelXPos") {{ width("50px"); }}); }}); panel(builders.vspacer()); panel(new PanelBuilder() {{ childLayoutHorizontal(); control(builders.createLabel("Position Y:")); control(new TextFieldBuilder("scrollpanelYPos") {{ width("50px"); }}); }}); }}); }}.registerControlDefintion(nifty); } }