Example usage for com.google.gwt.user.client.ui CheckBox CheckBox

List of usage examples for com.google.gwt.user.client.ui CheckBox CheckBox

Introduction

In this page you can find the example usage for com.google.gwt.user.client.ui CheckBox CheckBox.

Prototype

public CheckBox() 

Source Link

Document

Creates a check box with no label.

Usage

From source file:org.cleanlogic.cesiumjs4gwt.showcase.examples.Clustering.java

License:Apache License

@Override
public void buildPanel() {
    csVPanel = new ViewerPanel();
    KmlDataSourceLoadStaticOptions kmlDataSourceOptions = KmlDataSourceLoadStaticOptions
            .create(csVPanel.getViewer().camera, csVPanel.getViewer().canvas());
    Promise<KmlDataSource, Void> dataSourcePromise = csVPanel.getViewer().dataSources().add(KmlDataSource
            .load(GWT.getModuleBaseURL() + "SampleData/kml/facilities/facilities.kml", kmlDataSourceOptions));
    dataSourcePromise.then(new Fulfill<KmlDataSource>() {
        @Override//from  w ww . ja va2 s. c o m
        public void onFulfilled(KmlDataSource dataSource) {
            int pixelRange = 25;
            int minimumClusterSize = 3;
            boolean enabled = true;

            dataSource.clustering.enabled = enabled;
            dataSource.clustering.pixelRange = pixelRange;
            dataSource.clustering.minimumClusterSize = minimumClusterSize;

            PinBuilder pinBuilder = new PinBuilder();
            pin50 = pinBuilder.fromText("50+", Color.RED(), 48).toDataUrl();
            pin40 = pinBuilder.fromText("40+", Color.ORANGE(), 48).toDataUrl();
            pin30 = pinBuilder.fromText("30+", Color.YELLOW(), 48).toDataUrl();
            pin20 = pinBuilder.fromText("20+", Color.GREEN(), 48).toDataUrl();
            pin10 = pinBuilder.fromText("10+", Color.BLUE(), 48).toDataUrl();

            singleDigitPins = new String[8];
            for (int i = 0; i < singleDigitPins.length; ++i) {
                singleDigitPins[i] = pinBuilder.fromText("" + (i + 2), Color.VIOLET(), 48).toDataUrl();
            }
            // start with custom style
            customStyle(dataSource);

            _dataSource = dataSource;
        }
    });

    pixelRangeSlider = new Slider("pixelRange", 1, 200, 15);
    pixelRangeSlider.setStep(1);
    pixelRangeSlider.setWidth("150px");
    pixelRangeSlider.addListener(new MSliderListener());
    pixelRangeTBox = new TextBox();
    pixelRangeTBox.addChangeHandler(new MChangeHandler());
    pixelRangeTBox.setText("" + 15);
    pixelRangeTBox.setSize("30px", "12px");

    HorizontalPanel pixelRangeHPanel = new HorizontalPanel();
    pixelRangeHPanel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
    pixelRangeHPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);
    pixelRangeHPanel.setSpacing(10);
    pixelRangeHPanel.add(pixelRangeSlider);
    pixelRangeHPanel.add(pixelRangeTBox);

    minimumClusterSizeSlider = new Slider("minimumClusterSize", 1, 20, 3);
    minimumClusterSizeSlider.setStep(1);
    minimumClusterSizeSlider.setWidth("150px");
    minimumClusterSizeSlider.addListener(new MSliderListener());
    minimumClusterSizeTBox = new TextBox();
    pixelRangeTBox.addChangeHandler(new MChangeHandler());
    minimumClusterSizeTBox.setText("" + 3);
    minimumClusterSizeTBox.setSize("30px", "12px");

    HorizontalPanel minimumClusterSizeHPanel = new HorizontalPanel();
    minimumClusterSizeHPanel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
    minimumClusterSizeHPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);
    minimumClusterSizeHPanel.setSpacing(10);
    minimumClusterSizeHPanel.add(minimumClusterSizeSlider);
    minimumClusterSizeHPanel.add(minimumClusterSizeTBox);

    CheckBox enabledCBox = new CheckBox();
    enabledCBox.setValue(true);
    enabledCBox.addValueChangeHandler(new ValueChangeHandler<Boolean>() {
        @Override
        public void onValueChange(ValueChangeEvent<Boolean> valueChangeEvent) {
            _dataSource.clustering.enabled = valueChangeEvent.getValue();
        }
    });

    CheckBox customStyleCBox = new CheckBox();
    customStyleCBox.setValue(true);
    customStyleCBox.addValueChangeHandler(new ValueChangeHandler<Boolean>() {
        @Override
        public void onValueChange(ValueChangeEvent<Boolean> valueChangeEvent) {
            customStyle(_dataSource);
        }
    });

    FlexTable flexTable = new FlexTable();
    flexTable.setHTML(1, 0, "<font color=\"white\">Pixel Range</font>");
    flexTable.setWidget(1, 1, pixelRangeHPanel);
    flexTable.setHTML(2, 0, "<font color=\"white\">Minimum Cluster Size</font>");
    flexTable.setWidget(2, 1, minimumClusterSizeHPanel);
    flexTable.setHTML(3, 0, "<font color=\"white\">Enabled</font>");
    flexTable.setWidget(3, 1, enabledCBox);
    flexTable.setHTML(4, 0, "<font color=\"white\">Custom Style</font>");
    flexTable.setWidget(4, 1, customStyleCBox);

    AbsolutePanel aPanel = new AbsolutePanel();
    aPanel.add(csVPanel);
    aPanel.add(flexTable, 20, 20);

    contentPanel.add(new HTML("<p>Cluster labels, billboards and points.</p>"));
    contentPanel.add(aPanel);

    initWidget(contentPanel);
}

From source file:org.cleanlogic.cesiumjs4gwt.showcase.examples.DepthOfField.java

License:Apache License

@Override
public void buildPanel() {
    csVPanel = new ViewerPanel();

    for (int i = 0; i < numberOfBalloons; i++) {
        double lon = initialLon + i * lonIncrement;
        createModel(lon, lat, height);//from w  w w .  ja  v  a 2s.c  o  m
    }

    depthOfFieldCBox = new CheckBox();
    depthOfFieldCBox.setValue(true);
    depthOfFieldCBox.addValueChangeHandler(new MValueChangeHandler());

    focalDistanceSlider = new Slider("focalDistanceSlider", 0, 500, 87);
    focalDistanceSlider.setStep(1);
    focalDistanceSlider.setWidth("150px");
    focalDistanceSlider.addListener(new MSliderListener());

    deltaSlider = new Slider("deltaSlider", 10, 200, 100);
    deltaSlider.setStep(1);
    deltaSlider.setWidth("150px");
    deltaSlider.addListener(new MSliderListener());

    sigmaSlider = new Slider("sigmaSlider", 50, 500, 378);
    sigmaSlider.setStep(1);
    sigmaSlider.setWidth("150px");
    sigmaSlider.addListener(new MSliderListener());

    stepSizeSlider = new Slider("stepSizeSlider", 0, 700, 246);
    stepSizeSlider.setStep(1);
    stepSizeSlider.setWidth("150px");
    stepSizeSlider.addListener(new MSliderListener());

    FlexTable flexTable = new FlexTable();
    flexTable.setHTML(1, 0, "<font color=\"white\">Depth Of Field</font>");
    flexTable.setWidget(1, 1, depthOfFieldCBox);
    flexTable.setHTML(2, 0, "<font color=\"white\">Focal Distance</font>");
    flexTable.setWidget(2, 1, focalDistanceSlider);
    flexTable.setHTML(3, 0, "<font color=\"white\">Delta</font>");
    flexTable.setWidget(3, 1, deltaSlider);
    flexTable.setHTML(4, 0, "<font color=\"white\">Sigma</font>");
    flexTable.setWidget(4, 1, sigmaSlider);
    flexTable.setHTML(5, 0, "<font color=\"white\">Step Size</font>");
    flexTable.setWidget(5, 1, stepSizeSlider);

    AbsolutePanel aPanel = new AbsolutePanel();
    aPanel.add(csVPanel);
    aPanel.add(flexTable, 20, 20);

    contentPanel.add(new HTML("<p>Post processing effects.</p>"));
    contentPanel.add(aPanel);

    initWidget(contentPanel);

    depthOfField = (PostProcessStageComposite) csVPanel.getViewer().scene().postProcessStages
            .add(PostProcessStageLibrary.createDepthOfFieldStage());
    if (!PostProcessStageLibrary.isDepthOfFieldSupported(csVPanel.getViewer().scene())) {
        Cesium.log("This browser does not support the depth of field post process.");
    }

    updatePostProcess();

    Cartesian3 target = Cartesian3.fromDegrees(initialLon + lonIncrement, lat, height + 7.5);
    Cartesian3 offset = new Cartesian3(-37.048378684557974, -24.852967044804245, 4.352023653686047);
    csVPanel.getViewer().scene().camera().lookAt(target, offset);
}

From source file:org.cleanlogic.cesiumjs4gwt.showcase.examples.GroundAtmosphere.java

License:Apache License

@Override
public void buildPanel() {
    ViewerOptions viewerOptions = new ViewerOptions();
    viewerOptions.sceneModePicker = false;
    csVPanel = new ViewerPanel(viewerOptions);

    scene = csVPanel.getViewer().scene();
    globe = scene.globe;/* w ww.  j  a  v a  2  s . com*/

    lightingFadeOutDistance = globe.lightingFadeOutDistance;
    lightingFadeInDistance = globe.lightingFadeInDistance;
    nightFadeOutDistance = globe.nightFadeOutDistance;
    nightFadeInDistance = globe.nightFadeInDistance;

    HorizontalPanel lightingFadeOutDistanceHPanel = new HorizontalPanel();
    lightingFadeOutDistanceHPanel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
    lightingFadeOutDistanceHPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);
    lightingFadeOutDistanceHPanel.setSpacing(10);
    lightingFadeOutDistanceSlider = new Slider("lightingFadeOutDistance", 1, 100, 10);
    lightingFadeOutDistanceSlider.setStep(1);
    lightingFadeOutDistanceSlider.setWidth("150px");
    lightingFadeOutDistanceSlider.addListener(new MSliderListener());
    lightingFadeOutDistanceTBox = new TextBox();
    lightingFadeOutDistanceTBox.addChangeHandler(new MChangeHandler());
    lightingFadeOutDistanceTBox.setText("" + 10 * 1e6);
    lightingFadeOutDistanceTBox.setSize("100px", "12px");
    lightingFadeOutDistanceHPanel.add(lightingFadeOutDistanceSlider);
    lightingFadeOutDistanceHPanel.add(lightingFadeOutDistanceTBox);

    HorizontalPanel lightingFadeInDistanceHPanel = new HorizontalPanel();
    lightingFadeInDistanceHPanel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
    lightingFadeInDistanceHPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);
    lightingFadeInDistanceHPanel.setSpacing(10);
    lightingFadeInDistanceSlider = new Slider("lightingFadeInDistance", 1, 100, 20);
    lightingFadeInDistanceSlider.setStep(1);
    lightingFadeInDistanceSlider.setWidth("150px");
    lightingFadeInDistanceSlider.addListener(new MSliderListener());
    lightingFadeInDistanceTBox = new TextBox();
    lightingFadeInDistanceTBox.addChangeHandler(new MChangeHandler());
    lightingFadeInDistanceTBox.setText("" + 20 * 1e6);
    lightingFadeInDistanceTBox.setSize("100px", "12px");
    lightingFadeInDistanceHPanel.add(lightingFadeInDistanceSlider);
    lightingFadeInDistanceHPanel.add(lightingFadeInDistanceTBox);

    HorizontalPanel nightFadeOutDistanceHPanel = new HorizontalPanel();
    nightFadeOutDistanceHPanel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
    nightFadeOutDistanceHPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);
    nightFadeOutDistanceHPanel.setSpacing(10);
    nightFadeOutDistanceSlider = new Slider("nightFadeOutDistance", 1, 100, 10);
    nightFadeOutDistanceSlider.setStep(1);
    nightFadeOutDistanceSlider.setWidth("150px");
    nightFadeOutDistanceSlider.addListener(new MSliderListener());
    nightFadeOutDistanceTBox = new TextBox();
    nightFadeOutDistanceTBox.addChangeHandler(new MChangeHandler());
    nightFadeOutDistanceTBox.setText("" + 10 * 1e6);
    nightFadeOutDistanceTBox.setSize("100px", "12px");
    nightFadeOutDistanceHPanel.add(nightFadeOutDistanceSlider);
    nightFadeOutDistanceHPanel.add(nightFadeOutDistanceTBox);

    HorizontalPanel nightFadeInDistanceHPanel = new HorizontalPanel();
    nightFadeInDistanceHPanel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
    nightFadeInDistanceHPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);
    nightFadeInDistanceHPanel.setSpacing(10);
    nightFadeInDistanceSlider = new Slider("nightFadeInDistance", 1, 100, 50);
    nightFadeInDistanceSlider.setStep(1);
    nightFadeInDistanceSlider.setWidth("150px");
    nightFadeInDistanceSlider.addListener(new MSliderListener());
    nightFadeInDistanceTBox = new TextBox();
    nightFadeInDistanceTBox.addChangeHandler(new MChangeHandler());
    nightFadeInDistanceTBox.setText("" + 50 * 1e6);
    nightFadeInDistanceTBox.setSize("100px", "12px");
    nightFadeInDistanceHPanel.add(nightFadeInDistanceSlider);
    nightFadeInDistanceHPanel.add(nightFadeInDistanceTBox);

    CheckBox groundAtmosphereCBox = new CheckBox();
    groundAtmosphereCBox.setWidth("100px");
    groundAtmosphereCBox.setValue(true);
    groundAtmosphereCBox.addValueChangeHandler(new ValueChangeHandler<Boolean>() {
        @Override
        public void onValueChange(ValueChangeEvent<Boolean> event) {
            globe.showGroundAtmosphere = event.getValue();
        }
    });

    CheckBox lightingBox = new CheckBox();
    lightingBox.setWidth("100px");
    lightingBox.setValue(false);
    lightingBox.addValueChangeHandler(new ValueChangeHandler<Boolean>() {
        @Override
        public void onValueChange(ValueChangeEvent<Boolean> event) {
            globe.enableLighting = event.getValue();
        }
    });

    ListBox terrainsLBox = new ListBox();
    terrainsLBox.setWidth("160px");
    terrainsLBox.addItem("Cesium World Terrain - no effects", "0");
    terrainsLBox.addItem("Cesium World Terrain w/ Vertex Normals", "1");
    terrainsLBox.addItem("Cesium World Terrain w/ Water", "2");
    terrainsLBox.addItem("Cesium World Terrain w/ Vertex Normals and Water", "3");
    terrainsLBox.addItem("EllipsoidTerrainProvider", "4");
    terrainsLBox.addChangeHandler(new ChangeHandler() {
        @Override
        public void onChange(ChangeEvent changeEvent) {
            ListBox source = (ListBox) changeEvent.getSource();
            switch (source.getSelectedValue()) {
            case "0": {
                csVPanel.getViewer().terrainProvider = Cesium.createWorldTerrain();
            }
                break;
            case "1": {
                Cesium.CreateWorldTerrainOptions options = new Cesium.CreateWorldTerrainOptions();
                options.requestVertexNormals = true;
                csVPanel.getViewer().terrainProvider = Cesium.createWorldTerrain(options);
            }
                break;
            case "2": {
                Cesium.CreateWorldTerrainOptions options = new Cesium.CreateWorldTerrainOptions();
                options.requestWaterMask = true;
                csVPanel.getViewer().terrainProvider = Cesium.createWorldTerrain(options);
            }
                break;
            case "3": {
                Cesium.CreateWorldTerrainOptions options = new Cesium.CreateWorldTerrainOptions();
                options.requestVertexNormals = true;
                options.requestWaterMask = true;
                csVPanel.getViewer().terrainProvider = Cesium.createWorldTerrain(options);
            }
                break;
            case "4": {
                csVPanel.getViewer().terrainProvider = new EllipsoidTerrainProvider();
            }
                break;
            default:
                break;
            }
        }
    });

    PushButton resetFadeDistancesPBtn = new PushButton();
    resetFadeDistancesPBtn.setText("Reset Fade Distances");
    resetFadeDistancesPBtn.setWidth("160px");
    resetFadeDistancesPBtn.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent clickEvent) {
            globe.lightingFadeOutDistance = lightingFadeOutDistance;
            globe.lightingFadeInDistance = lightingFadeInDistance;
            globe.nightFadeOutDistance = nightFadeOutDistance;
            globe.nightFadeInDistance = nightFadeInDistance;

            lightingFadeOutDistanceSlider.setValue((int) (lightingFadeOutDistance / 1e6));
            lightingFadeInDistanceSlider.setValue((int) (lightingFadeInDistance / 1e6));
            nightFadeOutDistanceSlider.setValue((int) (nightFadeOutDistance / 1e6));
            nightFadeInDistanceSlider.setValue((int) (nightFadeInDistance / 1e6));

            lightingFadeOutDistanceTBox.setValue(String.valueOf(lightingFadeOutDistance), true);
            lightingFadeInDistanceTBox.setValue(String.valueOf(lightingFadeInDistance), true);
            nightFadeOutDistanceTBox.setValue(String.valueOf(nightFadeOutDistance), true);
            nightFadeInDistanceTBox.setValue(String.valueOf(nightFadeInDistance), true);
        }
    });

    FlexTable flexTable = new FlexTable();
    flexTable.setHTML(1, 0, "<font color=\"white\">Lighting Fade Out Distance</font>");
    flexTable.setWidget(1, 1, lightingFadeOutDistanceHPanel);
    flexTable.setHTML(2, 0, "<font color=\"white\">Lighting Fade In Distance</font>");
    flexTable.setWidget(2, 1, lightingFadeInDistanceHPanel);
    flexTable.setHTML(3, 0, "<font color=\"white\">Night Fade Out Distance</font>");
    flexTable.setWidget(3, 1, nightFadeOutDistanceHPanel);
    flexTable.setHTML(4, 0, "<font color=\"white\">Night Fade In Distance</font>");
    flexTable.setWidget(4, 1, nightFadeInDistanceHPanel);
    flexTable.setHTML(5, 0, "<font color=\"white\">Ground atmosphere</font>");
    flexTable.setWidget(5, 1, groundAtmosphereCBox);
    flexTable.setHTML(6, 0, "<font color=\"white\">Lighting</font>");
    flexTable.setWidget(6, 1, lightingBox);
    flexTable.setWidget(7, 1, terrainsLBox);
    flexTable.setWidget(8, 1, resetFadeDistancesPBtn);

    AbsolutePanel aPanel = new AbsolutePanel();
    aPanel.add(csVPanel);
    aPanel.add(flexTable, 20, 20);

    contentPanel.add(new HTML("<p>Adjust hue, saturation, and brightness of the sky/atmosphere.</p>"));
    contentPanel.add(aPanel);

    initWidget(contentPanel);
}

From source file:org.cleanlogic.cesiumjs4gwt.showcase.examples.HeadingPitchRoll.java

License:Apache License

@Override
public void buildPanel() {
    ViewerPanel csVPanel = new ViewerPanel();

    pathPosition = new SampledPositionProperty();

    PathGraphicsOptions pathGraphicsOptions = new PathGraphicsOptions();
    pathGraphicsOptions.show = new ConstantProperty<>(true);
    pathGraphicsOptions.leadTime = new ConstantProperty<>(0);
    pathGraphicsOptions.trailTime = new ConstantProperty<>(60);
    pathGraphicsOptions.width = new ConstantProperty<>(10);
    pathGraphicsOptions.resolution = new ConstantProperty<>(1);
    pathGraphicsOptions.material = PolylineGlowMaterialProperty.create(Color.PALEGOLDENROD(), 0.3);

    EntityOptions entityOptions = new EntityOptions();
    entityOptions.position = pathPosition;
    entityOptions.name = "path";
    entityOptions.path = new PathGraphics(pathGraphicsOptions);
    Entity entityPath = csVPanel.getViewer().entities().add(entityOptions);

    final org.cesiumjs.cs.scene.Camera camera = csVPanel.getViewer().camera;
    final ScreenSpaceCameraController controller = csVPanel.getViewer().scene().screenSpaceCameraController();
    final Cartesian3 center = new Cartesian3();

    final org.cesiumjs.cs.core.HeadingPitchRoll hpRoll = new org.cesiumjs.cs.core.HeadingPitchRoll();
    final HeadingPitchRange hpRange = new HeadingPitchRange();

    position = Cartesian3.fromDegrees(-123.0744619, 44.0503706, 5000.0);
    speedVector = new Cartesian3();
    final Transforms.LocalFrameToFixedFrame fixedFrameTransform = Transforms
            .localFrameToFixedFrameGenerator("north", "west");

    FromGltfOptions fromGltfOptions = new FromGltfOptions();
    fromGltfOptions.url = GWT.getModuleBaseURL() + "SampleData/models/CesiumAir/Cesium_Air.glb";
    fromGltfOptions.modelMatrix = Transforms.headingPitchRollToFixedFrame(position, hpRoll, Ellipsoid.WGS84());//, fixedFrameTransform);
    fromGltfOptions.minimumPixelSize = 128;
    planePrimitive = (Model) csVPanel.getViewer().scene().primitives().add(Model.fromGltf(fromGltfOptions));
    planePrimitive.readyPromise().then(new Fulfill<Model>() {
        @Override// w w  w  . j  a v  a 2 s  .c o  m
        public void onFulfilled(Model model) {
            ModelAnimationOptions modelAnimationOptions = new ModelAnimationOptions();
            modelAnimationOptions.multiplier = 0.5;
            modelAnimationOptions.loop = ModelAnimationLoop.REPEAT();
            model.activeAnimations.addAll(modelAnimationOptions);
            // Zoom to model
            r = 2.0 * max(model.boundingSphere().radius, ((PerspectiveFrustum) camera.frustum).near);
            controller.minimumZoomDistance = r * 0.5;
            Matrix4.multiplyByPoint(model.modelMatrix, model.boundingSphere().center, center);
            double heading = Math.toRadians(230.0);
            double pitch = Math.toRadians(-20.0);
            hpRange.heading = heading;
            hpRange.pitch = pitch;
            hpRange.range = r * 50.0;
            camera.lookAt(center, hpRange);
        }
    });

    fromBehind = new CheckBox();
    fromBehind.getElement().getStyle().setColor("white");
    fromBehind.setWidth("100px");
    fromBehind.setValue(false);

    final com.google.gwt.user.client.ui.Label headingLabel = new Label();
    headingLabel.getElement().getStyle().setColor("white");
    headingLabel.setText("Heading:");

    final com.google.gwt.user.client.ui.Label pitchLabel = new Label();
    pitchLabel.getElement().getStyle().setColor("white");
    pitchLabel.setText("Pitch:");

    final com.google.gwt.user.client.ui.Label rollLabel = new Label();
    rollLabel.getElement().getStyle().setColor("white");
    rollLabel.setText("Roll:");

    final com.google.gwt.user.client.ui.Label speedLabel = new Label();
    speedLabel.getElement().getStyle().setColor("white");
    speedLabel.setText("Speed:m/s");

    FlexTable flexTable = new FlexTable();
    flexTable.setWidget(0, 0, headingLabel);
    flexTable.setHTML(1, 0, "<font color=\"white\">? to left/ to right</font>");
    flexTable.setWidget(2, 0, pitchLabel);
    flexTable.setHTML(3, 0, "<font color=\"white\"> to up/ to down</font>");
    flexTable.setWidget(4, 0, rollLabel);
    flexTable.setHTML(5, 0, "<font color=\"white\">? +  left/ +  right</font>");
    flexTable.setWidget(6, 0, speedLabel);
    flexTable.setHTML(7, 0, "<font color=\"white\"> +  to speed up/ +  to speed down</font>");
    flexTable.setHTML(8, 0, "<font color=\"white\">Following aircraft</font>");
    flexTable.setWidget(8, 1, fromBehind);

    AbsolutePanel aPanel = new AbsolutePanel();
    aPanel.add(csVPanel);
    aPanel.add(flexTable, 20, 20);

    contentPanel.add(new HTML("<p>Click on the 3D window then use the keyboard to change settings.</p>"));
    contentPanel.add(aPanel);

    csVPanel.getViewer().scene().preRender().addEventListener(new Scene.Listener() {
        @Override
        public void function(Scene scene, JulianDate time) {
            headingLabel.setText("Heading:" + Math.toDegrees(hpRoll.heading) + "");
            pitchLabel.setText("Pitch:" + Math.toDegrees(hpRoll.pitch) + "");
            rollLabel.setText("Roll:" + Math.toDegrees(hpRoll.roll) + "");
            speedLabel.setText("Speed:" + speed + "m/s");

            speedVector = Cartesian3.multiplyByScalar(Cartesian3.UNIT_X(), speed / 10, speedVector);
            position = Matrix4.multiplyByPoint(planePrimitive.modelMatrix, speedVector, position);
            pathPosition.addSample(JulianDate.now(), position);
            Transforms.headingPitchRollToFixedFrame(position, hpRoll, Ellipsoid.WGS84(), fixedFrameTransform,
                    planePrimitive.modelMatrix);

            if (fromBehind.getValue()) {
                // Zoom to model
                Matrix4.multiplyByPoint(planePrimitive.modelMatrix, planePrimitive.boundingSphere().center,
                        center);
                hpRange.heading = hpRoll.heading;
                hpRange.pitch = hpRoll.pitch;
                camera.lookAt(center, hpRange);
            }
        }
    });

    RootPanel.get().addDomHandler(new KeyDownHandler() {
        @Override
        public void onKeyDown(KeyDownEvent keyDownEvent) {
            switch (keyDownEvent.getNativeKeyCode()) {
            case 40:
                if (keyDownEvent.getNativeEvent().getShiftKey()) {
                    speed = max(--speed, 1);
                } else {
                    hpRoll.pitch -= deltaRadians;
                    if (hpRoll.pitch < -Math.TWO_PI()) {
                        hpRoll.pitch += Math.TWO_PI();
                    }
                }
                break;
            case 38:
                if (keyDownEvent.getNativeEvent().getShiftKey()) {
                    // speed up
                    speed = min(++speed, 100);
                } else {
                    // pitch up
                    hpRoll.pitch += deltaRadians;
                    if (hpRoll.pitch > Math.TWO_PI()) {
                        hpRoll.pitch -= Math.TWO_PI();
                    }
                }
                break;
            case 39:
                if (keyDownEvent.getNativeEvent().getShiftKey()) {
                    // roll right
                    hpRoll.roll += deltaRadians;
                    if (hpRoll.roll > Math.TWO_PI()) {
                        hpRoll.roll -= Math.TWO_PI();
                    }
                } else {
                    // turn right
                    hpRoll.heading += deltaRadians;
                    if (hpRoll.heading > Math.TWO_PI()) {
                        hpRoll.heading -= Math.TWO_PI();
                    }
                }
                break;
            case 37:
                if (keyDownEvent.getNativeEvent().getShiftKey()) {
                    // roll left until
                    hpRoll.roll -= deltaRadians;
                    if (hpRoll.roll < 0.0) {
                        hpRoll.roll += Math.TWO_PI();
                    }
                } else {
                    // turn left
                    hpRoll.heading -= deltaRadians;
                    if (hpRoll.heading < 0.0) {
                        hpRoll.heading += Math.TWO_PI();
                    }
                }
                break;
            default:
                break;
            }
        }
    }, KeyDownEvent.getType());

    initWidget(contentPanel);
}

From source file:org.cleanlogic.cesiumjs4gwt.showcase.examples.LensFlare.java

License:Apache License

@Override
public void buildPanel() {
    csVPanel = new ViewerPanel();

    lensFlareCBox = new CheckBox();
    lensFlareCBox.setValue(false);/*from  w w w.j av  a  2  s  . co m*/
    lensFlareCBox.addValueChangeHandler(new MValueChangeHandler());

    intensitySlider = new Slider("intensitySlider", 0, 1000, 200);
    intensitySlider.setStep(1);
    intensitySlider.setWidth("150px");
    intensitySlider.addListener(new MSliderListener());

    distortionSlider = new Slider("distortionSlider", 100, 2000, 1000);
    distortionSlider.setStep(1);
    distortionSlider.setWidth("150px");
    distortionSlider.addListener(new MSliderListener());

    dispersionSlider = new Slider("dispersionSlider", 0, 100, 40);
    dispersionSlider.setStep(1);
    dispersionSlider.setWidth("150px");
    dispersionSlider.addListener(new MSliderListener());

    haloWidthSlider = new Slider("haloWidthSlider", 0, 100, 40);
    haloWidthSlider.setStep(1);
    haloWidthSlider.setWidth("150px");
    haloWidthSlider.addListener(new MSliderListener());

    FlexTable flexTable = new FlexTable();
    flexTable.setHTML(1, 0, "<font color=\"white\">Lens Flare</font>");
    flexTable.setWidget(1, 1, lensFlareCBox);
    flexTable.setHTML(2, 0, "<font color=\"white\">Intensity</font>");
    flexTable.setWidget(2, 1, intensitySlider);
    flexTable.setHTML(3, 0, "<font color=\"white\">Distortion</font>");
    flexTable.setWidget(3, 1, distortionSlider);
    flexTable.setHTML(4, 0, "<font color=\"white\">Dispersion</font>");
    flexTable.setWidget(4, 1, dispersionSlider);
    flexTable.setHTML(5, 0, "<font color=\"white\">Halo Width</font>");
    flexTable.setWidget(5, 1, haloWidthSlider);

    AbsolutePanel aPanel = new AbsolutePanel();
    aPanel.add(csVPanel);
    aPanel.add(flexTable, 20, 20);

    contentPanel.add(new HTML("<p>Post processing effects.</p>"));
    contentPanel.add(aPanel);

    initWidget(contentPanel);

    lensFlare = (PostProcessStage) csVPanel.getViewer().scene().postProcessStages
            .add(PostProcessStageLibrary.createLensFlareStage());

    updatePostProcess();

    org.cesiumjs.cs.scene.Camera camera = csVPanel.getViewer().scene().camera();
    camera.position = new Cartesian3(40010447.97500168, 56238683.46406788, 20776576.752223067);
    camera.direction = new Cartesian3(-0.5549701431494752, -0.7801872010801355, -0.2886452346452218);
    camera.up = new Cartesian3(-0.3016252360948521, -0.13464820558887716, 0.9438707950150912);
    camera.right = Cartesian3.cross(camera.direction, camera.up, new Cartesian3());

    csVPanel.getViewer().clock().currentTime = new JulianDate(2458047, 27399.860215000022);
}

From source file:org.cleanlogic.cesiumjs4gwt.showcase.examples.ParticleSystem.java

License:Apache License

public FlexTable createWidget() {
    MSliderListener sliderListener = new MSliderListener();
    MChangeHandler tboxListener = new MChangeHandler();

    rateSlider = new Slider("rate", 0, 100, (int) viewModel.emissionRate);
    rateSlider.setStep(1);/* w ww  .  ja  v  a  2 s .c om*/
    rateSlider.setWidth("150px");
    rateSlider.addListener(sliderListener);
    rateTBox = new TextBox();
    rateTBox.setValue("" + (int) viewModel.emissionRate);
    rateTBox.setSize("30px", "12px");
    rateTBox.addChangeHandler(tboxListener);

    sizeSlider = new Slider("size", 2, 60, (int) viewModel.particleSize);
    sizeSlider.setStep(1);
    sizeSlider.setWidth("150px");
    sizeSlider.addListener(sliderListener);
    sizeTBox = new TextBox();
    sizeTBox.setValue("" + (int) viewModel.particleSize);
    sizeTBox.setSize("30px", "12px");
    sizeTBox.addChangeHandler(tboxListener);

    minLifeSlider = new Slider("minLife", 1, 30, (int) viewModel.minimumParticleLife);
    minLifeSlider.setStep(1);
    minLifeSlider.setWidth("150px");
    minLifeSlider.addListener(sliderListener);
    minLifeTBox = new TextBox();
    minLifeTBox.setValue("" + (int) viewModel.minimumParticleLife);
    minLifeTBox.setSize("30px", "12px");
    minLifeTBox.addChangeHandler(tboxListener);

    maxLifeSlider = new Slider("maxLife", 1, 30, (int) viewModel.maximumParticleLife);
    maxLifeSlider.setStep(1);
    maxLifeSlider.setWidth("150px");
    maxLifeSlider.addListener(sliderListener);
    maxLifeTBox = new TextBox();
    maxLifeTBox.setValue("" + (int) viewModel.maximumParticleLife);
    maxLifeTBox.setSize("30px", "12px");
    maxLifeTBox.addChangeHandler(tboxListener);

    minSpeedSlider = new Slider("minSpeed", 0, 30, (int) viewModel.minimumSpeed);
    minSpeedSlider.setStep(1);
    minSpeedSlider.setWidth("150px");
    minSpeedSlider.addListener(sliderListener);
    minSpeedTBox = new TextBox();
    minSpeedTBox.setValue("" + (int) viewModel.minimumSpeed);
    minSpeedTBox.setSize("30px", "12px");
    minSpeedTBox.addChangeHandler(tboxListener);

    maxSpeedSlider = new Slider("maxSpeed", 0, 30, (int) viewModel.maximumSpeed);
    maxSpeedSlider.setStep(1);
    maxSpeedSlider.setWidth("150px");
    maxSpeedSlider.addListener(sliderListener);
    maxSpeedTBox = new TextBox();
    maxSpeedTBox.setValue("" + (int) viewModel.maximumSpeed);
    maxSpeedTBox.setSize("30px", "12px");
    maxSpeedTBox.addChangeHandler(tboxListener);

    startScaleSlider = new Slider("startScale", 0, 10, (int) viewModel.startScale);
    startScaleSlider.setStep(1);
    startScaleSlider.setWidth("150px");
    startScaleSlider.addListener(sliderListener);
    startScaleTBox = new TextBox();
    startScaleTBox.setValue("" + (int) viewModel.startScale);
    startScaleTBox.setSize("30px", "12px");
    startScaleTBox.addChangeHandler(tboxListener);

    endScaleSlider = new Slider("endScale", 0, 10, (int) viewModel.endScale);
    endScaleSlider.setStep(1);
    endScaleSlider.setWidth("150px");
    endScaleSlider.addListener(sliderListener);
    endScaleTBox = new TextBox();
    endScaleTBox.setValue("" + (int) viewModel.endScale);
    endScaleTBox.setSize("30px", "12px");
    endScaleTBox.addChangeHandler(tboxListener);

    gravitySlider = new Slider("gravity", -20, 20, (int) viewModel.gravity);
    gravitySlider.setStep(1);
    gravitySlider.setWidth("150px");
    gravitySlider.addListener(sliderListener);
    gravityTBox = new TextBox();
    gravityTBox.setValue("" + (int) viewModel.gravity);
    gravityTBox.setSize("30px", "12px");
    gravityTBox.addChangeHandler(tboxListener);

    translationXTBox = new TextBox();
    translationXTBox.setSize("30px", "12px");
    translationXTBox.setValue(viewModel.transX + "");
    translationXTBox.addChangeHandler(tboxListener);
    translationYTBox = new TextBox();
    translationYTBox.setSize("30px", "12px");
    translationYTBox.setValue(viewModel.transY + "");
    translationYTBox.addChangeHandler(tboxListener);
    translationZTBox = new TextBox();
    translationZTBox.setSize("30px", "12px");
    translationZTBox.setValue(viewModel.transZ + "");
    translationZTBox.addChangeHandler(tboxListener);

    rotationHTBox = new TextBox();
    rotationHTBox.setSize("30px", "12px");
    rotationHTBox.setValue(viewModel.heading + "");
    rotationHTBox.addChangeHandler(tboxListener);
    rotationPTBox = new TextBox();
    rotationPTBox.setSize("30px", "12px");
    rotationPTBox.setValue(viewModel.pitch + "");
    rotationPTBox.addChangeHandler(tboxListener);
    rotationRTBox = new TextBox();
    rotationRTBox.setSize("30px", "12px");
    rotationRTBox.setValue(viewModel.roll + "");
    rotationRTBox.addChangeHandler(tboxListener);

    spinCBox = new CheckBox();
    spinCBox.setHTML("<font color=\"white\">Spin</font>");
    spinCBox.addValueChangeHandler(new MValueChangeHandler());

    flyCBox = new CheckBox();
    flyCBox.setHTML("<font color=\"white\">Fly</font>");
    flyCBox.addValueChangeHandler(new MValueChangeHandler());

    showCBox = new CheckBox();
    showCBox.setHTML("<font color=\"white\">Show</font>");
    showCBox.setValue(true);
    showCBox.addValueChangeHandler(new MValueChangeHandler());

    ListBox emitterLBox = new ListBox();
    emitterLBox.addItem("Circle", "Circle");
    emitterLBox.addItem("Cone", "Cone");
    emitterLBox.addItem("Box", "Box");
    emitterLBox.addItem("Sphere", "Sphere");
    emitterLBox.addChangeHandler(new ChangeHandler() {
        @Override
        public void onChange(ChangeEvent changeEvent) {
            ListBox source = (ListBox) changeEvent.getSource();
            switch (source.getSelectedValue()) {
            case "Circle":
                particleSystem.emitter = new CircleEmitter(0.5);
                break;
            case "Cone":
                particleSystem.emitter = new ConeEmitter(Math.toRadians(45.0));
                break;
            case "Box":
                particleSystem.emitter = new BoxEmitter(new Cartesian3(10.0, 10.0, 10.0));
                break;
            case "Sphere":
                particleSystem.emitter = new SphereEmitter(5.0);
                break;
            default:
                break;
            }
        }
    });

    FlexTable flexTable = new FlexTable();
    flexTable.getElement().getStyle().setBackgroundColor("rgba(0, 0, 0, 0.5)");
    flexTable.setCellSpacing(2);
    flexTable.setCellPadding(2);

    flexTable.setHTML(0, 0, "<font color=\"white\">Rate</font>");
    flexTable.setWidget(0, 1, rateSlider);
    flexTable.setWidget(0, 2, rateTBox);

    flexTable.setHTML(1, 0, "<font color=\"white\">Size</font>");
    flexTable.setWidget(1, 1, sizeSlider);
    flexTable.setWidget(1, 2, sizeTBox);

    flexTable.setHTML(2, 0, "<font color=\"white\">Min Life</font>");
    flexTable.setWidget(2, 1, minLifeSlider);
    flexTable.setWidget(2, 2, minLifeTBox);

    flexTable.setHTML(3, 0, "<font color=\"white\">Max Life</font>");
    flexTable.setWidget(3, 1, maxLifeSlider);
    flexTable.setWidget(3, 2, maxLifeTBox);

    flexTable.setHTML(4, 0, "<font color=\"white\">Min Speed</font>");
    flexTable.setWidget(4, 1, minSpeedSlider);
    flexTable.setWidget(4, 2, minSpeedTBox);

    flexTable.setHTML(5, 0, "<font color=\"white\">Max Speed</font>");
    flexTable.setWidget(5, 1, maxSpeedSlider);
    flexTable.setWidget(5, 2, maxSpeedTBox);

    flexTable.setHTML(6, 0, "<font color=\"white\">Start Scale</font>");
    flexTable.setWidget(6, 1, startScaleSlider);
    flexTable.setWidget(6, 2, startScaleTBox);

    flexTable.setHTML(7, 0, "<font color=\"white\">End Scale</font>");
    flexTable.setWidget(7, 1, endScaleSlider);
    flexTable.setWidget(7, 2, endScaleTBox);

    flexTable.setHTML(8, 0, "<font color=\"white\">Gravity</font>");
    flexTable.setWidget(8, 1, gravitySlider);
    flexTable.setWidget(8, 2, gravityTBox);

    FlexTable transactionFTable = new FlexTable();
    transactionFTable.setHTML(0, 0, "<font color=\"white\">X</font>");
    transactionFTable.setWidget(0, 1, translationXTBox);
    transactionFTable.setHTML(0, 2, "<font color=\"white\">Y</font>");
    transactionFTable.setWidget(0, 3, translationYTBox);
    transactionFTable.setHTML(0, 4, "<font color=\"white\">Z</font>");
    transactionFTable.setWidget(0, 5, translationZTBox);

    flexTable.setHTML(9, 0, "<font color=\"white\">Translation</font>");
    flexTable.setWidget(9, 1, transactionFTable);

    FlexTable rotationFTable = new FlexTable();
    rotationFTable.setHTML(0, 0, "<font color=\"white\">H</font>");
    rotationFTable.setWidget(0, 1, rotationHTBox);
    rotationFTable.setHTML(0, 2, "<font color=\"white\">P</font>");
    rotationFTable.setWidget(0, 3, rotationPTBox);
    rotationFTable.setHTML(0, 4, "<font color=\"white\">R</font>");
    rotationFTable.setWidget(0, 5, rotationRTBox);

    flexTable.setHTML(10, 0, "<font color=\"white\">Rotation</font>");
    flexTable.setWidget(10, 1, rotationFTable);

    FlexTable btnFTable = new FlexTable();
    btnFTable.setWidget(0, 0, spinCBox);
    btnFTable.setWidget(0, 1, flyCBox);
    btnFTable.setWidget(0, 2, showCBox);
    btnFTable.setWidget(0, 3, emitterLBox);

    flexTable.setWidget(11, 1, btnFTable);

    return flexTable;
}

From source file:org.cleanlogic.cesiumjs4gwt.showcase.examples.PostProcessing.java

License:Apache License

@Override
public void buildPanel() {
    ViewerOptions viewerOptions = new ViewerOptions();
    viewerOptions.shouldAnimate = true;//from   w w  w. j a v  a2 s .  c o  m
    ViewerPanel csVPanel = new ViewerPanel(viewerOptions);

    ModelGraphicsOptions modelGraphicsOptions = new ModelGraphicsOptions();
    modelGraphicsOptions.uri = new ConstantProperty<>(
            GWT.getModuleBaseURL() + "SampleData/models/CesiumMan/Cesium_Man.glb");

    EntityOptions options = new EntityOptions();
    options.name = GWT.getModuleBaseURL() + "SampleData/models/CesiumMan/Cesium_Man.glb";
    options.position = new ConstantPositionProperty(Cartesian3.fromDegrees(-123.0744619, 44.0503706));
    options.model = new ModelGraphics(modelGraphicsOptions);
    csVPanel.getViewer().trackedEntity = csVPanel.getViewer().entities().add(options);

    collection = csVPanel.getViewer().scene().postProcessStages;
    silhouette = (PostProcessStageComposite) collection.add(PostProcessStageLibrary.createSilhouetteStage());
    blackAndWhite = (PostProcessStage) collection.add(PostProcessStageLibrary.createBlackAndWhiteStage());
    brightness = (PostProcessStage) collection.add(PostProcessStageLibrary.createBrightnessStage());
    nightVision = (PostProcessStage) collection.add(PostProcessStageLibrary.createNightVisionStage());

    if (!PostProcessStageLibrary.isSilhouetteSupported(csVPanel.getViewer().scene())) {
        Cesium.log("This browser does not support the silhouette post process.");
    }

    silhouetteCBox = new CheckBox();
    silhouetteCBox.setValue(true);
    silhouetteCBox.addValueChangeHandler(new MValueChangeHandler());

    blackAndWhiteCBox = new CheckBox();
    blackAndWhiteCBox.addValueChangeHandler(new MValueChangeHandler());

    blackAndWhiteSlider = new Slider("blackAndWhiteSlider", 1, 10, 5);
    blackAndWhiteSlider.setStep(1);
    blackAndWhiteSlider.setWidth("150px");
    blackAndWhiteSlider.addListener(new MSliderListener());

    brightnessCBox = new CheckBox();
    brightnessCBox.addValueChangeHandler(new MValueChangeHandler());

    brightnessSlider = new Slider("brightnessSlider", 0, 100, 50);
    brightnessSlider.setStep(1);
    brightnessSlider.setWidth("150px");
    brightnessSlider.addListener(new MSliderListener());

    nightVisionCBox = new CheckBox();
    nightVisionCBox.addValueChangeHandler(new MValueChangeHandler());

    FlexTable flexTable = new FlexTable();
    flexTable.setHTML(1, 0, "<font color=\"white\">Silhouette</font>");
    flexTable.setWidget(1, 1, silhouetteCBox);
    flexTable.setHTML(2, 0, "<font color=\"white\">Black and White</font>");
    flexTable.setWidget(2, 1, blackAndWhiteCBox);
    flexTable.setWidget(2, 2, blackAndWhiteSlider);
    flexTable.setHTML(3, 0, "<font color=\"white\">Brightness</font>");
    flexTable.setWidget(3, 1, brightnessCBox);
    flexTable.setWidget(3, 2, brightnessSlider);
    flexTable.setHTML(4, 0, "<font color=\"white\">Night Vision</font>");
    flexTable.setWidget(4, 1, nightVisionCBox);

    AbsolutePanel aPanel = new AbsolutePanel();
    aPanel.add(csVPanel);
    aPanel.add(flexTable, 20, 20);

    contentPanel.add(new HTML("<p>Post processing effects.</p>"));
    contentPanel.add(aPanel);

    initWidget(contentPanel);
    updatePostProcess();
}

From source file:org.cleanlogic.cesiumjs4gwt.showcase.examples.SkyAtmosphere.java

License:Apache License

@Override
public void buildPanel() {
    _csVPanel = new ViewerPanel();
    Camera camera = _csVPanel.getViewer().camera;
    ViewOptions viewOptions = new ViewOptions();
    viewOptions.destinationPos = Cartesian3.fromDegrees(-75.5847, 40.0397, 1000.0);
    viewOptions.orientation = new HeadingPitchRoll(-Math.PI_OVER_TWO(), 0.2, 0.0);
    camera.setView(viewOptions);/*from  ww  w . j  a v  a2  s. c  o  m*/

    HorizontalPanel hueShiftHPanel = new HorizontalPanel();
    hueShiftHPanel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
    hueShiftHPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);
    hueShiftHPanel.setSpacing(10);
    _hueShiftSlider = new Slider("hueShift", -100, 100, 0);
    _hueShiftSlider.setStep(1);
    _hueShiftSlider.setWidth("150px");
    _hueShiftSlider.addListener(new MSliderListener());
    _hueShiftTBox = new TextBox();
    _hueShiftTBox.addChangeHandler(new MChangeHandler());
    _hueShiftTBox.setText("0");
    _hueShiftTBox.setSize("30px", "12px");
    hueShiftHPanel.add(_hueShiftSlider);
    hueShiftHPanel.add(_hueShiftTBox);

    HorizontalPanel saturationShiftHPanel = new HorizontalPanel();
    saturationShiftHPanel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
    saturationShiftHPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);
    saturationShiftHPanel.setSpacing(10);
    _saturationShiftSlider = new Slider("saturationShift", -100, 100, 0);
    _saturationShiftSlider.setStep(1);
    _saturationShiftSlider.setWidth("150px");
    _saturationShiftSlider.addListener(new MSliderListener());
    _saturationShiftTBox = new TextBox();
    _saturationShiftTBox.addChangeHandler(new MChangeHandler());
    _saturationShiftTBox.setText("0");
    _saturationShiftTBox.setSize("30px", "12px");
    saturationShiftHPanel.add(_saturationShiftSlider);
    saturationShiftHPanel.add(_saturationShiftTBox);

    HorizontalPanel brightnessShiftHPanel = new HorizontalPanel();
    brightnessShiftHPanel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
    brightnessShiftHPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);
    brightnessShiftHPanel.setSpacing(10);
    _brightnessShiftSlider = new Slider("brightnessShift", -100, 100, 0);
    _brightnessShiftSlider.setStep(1);
    _brightnessShiftSlider.setWidth("150px");
    _brightnessShiftSlider.addListener(new MSliderListener());
    _brightnessShiftTBox = new TextBox();
    _brightnessShiftTBox.addChangeHandler(new MChangeHandler());
    _brightnessShiftTBox.setText("0");
    _brightnessShiftTBox.setSize("30px", "12px");
    brightnessShiftHPanel.add(_brightnessShiftSlider);
    brightnessShiftHPanel.add(_brightnessShiftTBox);

    CheckBox lightingCBox = new CheckBox();
    lightingCBox.setWidth("100px");
    lightingCBox.setValue(true);
    lightingCBox.addValueChangeHandler(new ValueChangeHandler<Boolean>() {
        @Override
        public void onValueChange(ValueChangeEvent<Boolean> valueChangeEvent) {
            _csVPanel.getViewer()
                    .scene().globe.enableLighting = !_csVPanel.getViewer().scene().globe.enableLighting;
        }
    });

    CheckBox fogCBox = new CheckBox();
    fogCBox.setWidth("100px");
    fogCBox.setValue(true);
    fogCBox.addValueChangeHandler(new ValueChangeHandler<Boolean>() {
        @Override
        public void onValueChange(ValueChangeEvent<Boolean> valueChangeEvent) {
            _csVPanel.getViewer().scene().fog.enabled = !_csVPanel.getViewer().scene().fog.enabled;
        }
    });

    FlexTable flexTable = new FlexTable();
    flexTable.setHTML(1, 0, "<font color=\"white\">hueShift</font>");
    flexTable.setWidget(1, 1, hueShiftHPanel);
    flexTable.setHTML(2, 0, "<font color=\"white\">saturationShift</font>");
    flexTable.setWidget(2, 1, saturationShiftHPanel);
    flexTable.setHTML(3, 0, "<font color=\"white\">brightnessShift</font>");
    flexTable.setWidget(3, 1, brightnessShiftHPanel);
    flexTable.setHTML(4, 0, "<font color=\"white\">Toggle Lighting</font>");
    flexTable.setWidget(4, 1, lightingCBox);
    flexTable.setHTML(5, 0, "<font color=\"white\">Toggle Fog</font>");
    flexTable.setWidget(5, 1, fogCBox);

    AbsolutePanel aPanel = new AbsolutePanel();
    aPanel.add(_csVPanel);
    aPanel.add(flexTable, 20, 20);

    contentPanel.add(new HTML("<p>Adjust hue, saturation, and brightness of the sky/atmosphere.</p>"));
    contentPanel.add(aPanel);

    initWidget(contentPanel);
}

From source file:org.cruxframework.crux.widgets.client.grid.AbstractGrid.java

License:Apache License

/**
 * Creates a cell which will contain a check box or radio button, used to select the row
 * @param row/*from   w w w  .jav  a 2s .com*/
 * @return the newly created cell
 */
private Cell createSelectionCell(R row) {
    Widget w = null;

    if (RowSelectionModel.multipleCheckBox.equals(rowSelection)
            || RowSelectionModel.multipleCheckBoxSelectAll.equals(rowSelection)) {
        CheckBox checkBox = new CheckBox();
        checkBox.addClickHandler(new RowSelectionHandler<R>(this, row));
        w = checkBox;

    } else if (RowSelectionModel.singleRadioButton.equals(rowSelection)) {
        RadioButton radio = new RadioButton(generatedId + "_selector");
        radio.addClickHandler(new RowSelectionHandler<R>(this, row));
        w = radio;
    } else if (RowSelectionModel.singleCheckBox.equals(rowSelection)) {

        CheckBox checkBox = new CheckBox();
        checkBox.addClickHandler(new RowSelectionHandler<R>(this, row));
        w = checkBox;

        final int indexRowSelected = row.getIndex();
        checkBox.addClickHandler(new ClickHandler() {

            @Override
            public void onClick(ClickEvent event) {
                Iterator<R> iterator = getRowIterator();

                while (iterator.hasNext()) {
                    R r = iterator.next();

                    if (indexRowSelected != r.getIndex()) {
                        r.setSelected(false);
                    }

                }
            }
        });
    }

    Cell cell = createCell(w, false, false);
    cell.addStyleName("rowSelector");

    return cell;
}

From source file:org.cruxframework.crux.widgets.client.grid.AbstractGrid.java

License:Apache License

/**
 * Creates a cell to be used as first header cell. 
 * If the row selection model is <code>multipleCheckBoxSelectAll</code>, 
 *    this cell will contain a check box which when clicked selects or deselects all enabled rows.  
 * @param rowCount// ww w.  j a v a 2 s  .  c o m
 * @return the created cell
 */
private Cell createHeaderFristColumnCell(int rowCount) {
    Widget w = null;

    if (hasSelectionColumn()) {
        if (RowSelectionModel.multipleCheckBoxSelectAll.equals(rowSelection)) {
            CheckBox checkBox = new CheckBox();
            checkBox.addClickHandler(createSelectAllRowsClickHandler());

            if (rowCount <= 1) {
                checkBox.setEnabled(false);
            }

            w = checkBox;
        }
    }

    if (w == null) {
        w = new Label(" ");
    }

    return createHeaderCell(w);
}