Package org.terasology.rendering.nui.widgets

Examples of org.terasology.rendering.nui.widgets.UISlider


    @In
    private Config config;

    @Override
    public void initialise() {
        UISlider sound = find("sound", UISlider.class);
        if (sound != null) {
            sound.setIncrement(0.05f);
            sound.setPrecision(2);
            sound.setMinimum(0);
            sound.setRange(1.0f);
            sound.bindValue(BindHelper.bindBeanProperty("soundVolume", config.getAudio(), Float.TYPE));
        }

        UISlider music = find("music", UISlider.class);
        if (music != null) {
            music.setIncrement(0.05f);
            music.setPrecision(2);
            music.setMinimum(0);
            music.setRange(1.0f);
            music.bindValue(BindHelper.bindBeanProperty("musicVolume", config.getAudio(), Float.TYPE));
        }

        WidgetUtil.trySubscribe(this, "close", new ActivateEventListener() {
            @Override
            public void onActivated(UIWidget button) {
View Full Code Here


    }

    private class RangePropertyFactory implements PropertyFactory<Range> {
        @Override
        public Property create(FieldMetadata<Object, ?> fieldMetadata, String id, Range range) {
            UISlider slider = new UISlider();
            slider.setMinimum(range.min());
            slider.setRange(range.max() - range.min());
            slider.setPrecision(range.precision());
            slider.setIncrement(range.increment());
            Binding<Float> binding = createFloatBinding(fieldMetadata);
            slider.bindValue(binding);
            String label = fromLabelOrId(range.label(), id);
            return new Property<>(label, binding, slider, range.description());
        }
View Full Code Here

        if (dynamicShadows != null) {
            dynamicShadows.setOptions(Arrays.asList(DynamicShadows.values()));
            dynamicShadows.bindSelection(new DynamicShadowsBinding(config.getRendering()));
        }

        final UISlider fovSlider = find("fov", UISlider.class);
        if (fovSlider != null) {
            fovSlider.setIncrement(5.0f);
            fovSlider.setPrecision(0);
            fovSlider.setMinimum(70);
            fovSlider.setRange(50);
            fovSlider.bindValue(BindHelper.bindBeanProperty("fieldOfView", config.getRendering(), Float.TYPE));
        }

        final UISlider frameLimitSlider = find("frameLimit", UISlider.class);
        if (frameLimitSlider != null) {
            frameLimitSlider.setIncrement(5.0f);
            frameLimitSlider.setPrecision(0);
            frameLimitSlider.setMinimum(30);
            frameLimitSlider.setRange(175); // Goes up to 205 (which is off)
            // Frame limit > 200 is just displayed and treated as "off"
            frameLimitSlider.setLabelFunction(new Function<Float, String>() {
                @Override
                public String apply(Float input) {
                    if (input > 200) {
                        return " Off "; // Spaces to get wider than "200" (otherwise the display jumps around)
                    } else {
                        return String.valueOf(input.intValue());
                    }
                }
            });
            frameLimitSlider.bindValue(new Binding<Float>() {
                @Override
                public Float get() {
                    if (config.getRendering().getFrameLimit() == -1) {
                        return 205f;
                    } else {
                        return (float) config.getRendering().getFrameLimit();
                    }
                }

                @Override
                public void set(Float value) {
                    int frameLimit = value.intValue();
                    if (frameLimit > 200) {
                        config.getRendering().setFrameLimit(-1);
                    } else {
                        config.getRendering().setFrameLimit(frameLimit);
                    }
                }
            });
        }

        final UISlider fboScaleSlider = find("fboScale", UISlider.class);
        if (fboScaleSlider != null) {
            fboScaleSlider.setIncrement(5.0f);
            fboScaleSlider.setPrecision(0);
            fboScaleSlider.setMinimum(25);
            fboScaleSlider.setRange(200);
            fboScaleSlider.setLabelFunction(new Function<Float, String>() {
                @Override
                public String apply(Float input) {
                return String.valueOf(input.intValue()) + "%";
                }
            });
            fboScaleSlider.bindValue(new Binding<Float>() {
                @Override
                public Float get() {
                    return (float) config.getRendering().getFboScale();
                }
View Full Code Here

        ColumnLayout mainLayout = new ColumnLayout();
        mainLayout.setHorizontalSpacing(8);
        mainLayout.setVerticalSpacing(8);
        mainLayout.setFamily("option-grid");
        UISlider mouseSensitivity = new UISlider("mouseSensitivity");
        mouseSensitivity.setIncrement(0.025f);
        mouseSensitivity.setPrecision(3);

        mainLayout.addWidget(new UILabel("mouseLabel", "heading-input", "Mouse"));
        mainLayout.addWidget(new RowLayout(new UILabel("Mouse Sensitivity:"), mouseSensitivity).setColumnRatios(0.4f).setHorizontalSpacing(horizontalSpacing));
        mainLayout.addWidget(new RowLayout(new UILabel("Invert Mouse:"), new UICheckbox("mouseYAxisInverted")).setColumnRatios(0.4f).setHorizontalSpacing(horizontalSpacing));
View Full Code Here

TOP

Related Classes of org.terasology.rendering.nui.widgets.UISlider

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.