List of usage examples for com.google.gwt.user.client.ui CheckBox CheckBox
public CheckBox()
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); }