List of usage examples for com.vaadin.v7.ui OptionGroup OptionGroup
public OptionGroup(String caption, Container dataSource)
From source file:de.symeda.sormas.ui.statistics.StatisticsVisualizationComponent.java
License:Open Source License
public StatisticsVisualizationComponent() { setSpacing(true);/*from w w w . ja v a 2s. com*/ setWidth(100, Unit.PERCENTAGE); visualizationSelect = new OptionGroup(I18nProperties.getCaption(Captions.statisticsVisualizationType), Arrays.asList(StatisticsVisualizationType.values())); visualizationSelect.addValueChangeListener(new ValueChangeListener() { @Override public void valueChange(ValueChangeEvent event) { visualizationType = (StatisticsVisualizationType) event.getProperty().getValue(); updateComponentVisibility(); if (rowsElement != null) { rowsElement.setType(rowsElement.getType(), visualizationType); } if (columnsElement != null) { columnsElement.setType(columnsElement.getType(), visualizationType); } } }); CssStyles.style(visualizationSelect, CssStyles.VSPACE_NONE, ValoTheme.OPTIONGROUP_HORIZONTAL, CssStyles.SOFT_REQUIRED); visualizationSelect.setNullSelectionAllowed(false); addComponent(visualizationSelect); setExpandRatio(visualizationSelect, 0); visualizationMapSelect = new OptionGroup(I18nProperties.getCaption(Captions.statisticsMapType), Arrays.asList(StatisticsVisualizationMapType.values())); visualizationMapSelect.addValueChangeListener(new ValueChangeListener() { @Override public void valueChange(ValueChangeEvent event) { visualizationMapType = (StatisticsVisualizationMapType) event.getProperty().getValue(); } }); CssStyles.style(visualizationMapSelect, CssStyles.VSPACE_NONE, ValoTheme.OPTIONGROUP_HORIZONTAL, CssStyles.SOFT_REQUIRED); visualizationMapSelect.setNullSelectionAllowed(false); addComponent(visualizationMapSelect); setExpandRatio(visualizationSelect, 0); visualizationChartSelect = new OptionGroup(I18nProperties.getCaption(Captions.statisticsChartType), Arrays.asList(StatisticsVisualizationChartType.values())); visualizationChartSelect.addValueChangeListener(new ValueChangeListener() { @Override public void valueChange(ValueChangeEvent event) { visualizationChartType = (StatisticsVisualizationChartType) event.getProperty().getValue(); updateComponentVisibility(); } }); CssStyles.style(visualizationChartSelect, CssStyles.VSPACE_NONE, ValoTheme.OPTIONGROUP_HORIZONTAL, CssStyles.SOFT_REQUIRED); visualizationChartSelect.setNullSelectionAllowed(false); addComponent(visualizationChartSelect); setExpandRatio(visualizationChartSelect, 0); rowsElement = new StatisticsVisualizationElement(StatisticsVisualizationElementType.ROWS, visualizationType); addComponent(rowsElement); setExpandRatio(rowsElement, 0); switchRowsAndColumnsButton = new Button(); CssStyles.style(switchRowsAndColumnsButton, CssStyles.FORCE_CAPTION); switchRowsAndColumnsButton.setIcon(VaadinIcons.EXCHANGE); switchRowsAndColumnsButton.setDescription(I18nProperties.getCaption(Captions.statisticsExchange)); switchRowsAndColumnsButton.addClickListener(new ClickListener() { @Override public void buttonClick(ClickEvent event) { StatisticsVisualizationElement newRowsElement = columnsElement; newRowsElement.setType(StatisticsVisualizationElementType.ROWS, visualizationType); StatisticsVisualizationElement newColumnsElement = rowsElement; newColumnsElement.setType(StatisticsVisualizationElementType.COLUMNS, visualizationType); removeComponent(rowsElement); removeComponent(columnsElement); addComponent(newRowsElement, getComponentIndex(switchRowsAndColumnsButton)); addComponent(newColumnsElement, getComponentIndex(switchRowsAndColumnsButton) + 1); replaceComponent(rowsElement, newRowsElement); replaceComponent(columnsElement, newColumnsElement); rowsElement = newRowsElement; columnsElement = newColumnsElement; } }); addComponent(switchRowsAndColumnsButton); setExpandRatio(switchRowsAndColumnsButton, 0); columnsElement = new StatisticsVisualizationElement(StatisticsVisualizationElementType.COLUMNS, visualizationType); addComponent(columnsElement); setExpandRatio(columnsElement, 0); Label spacer = new Label(); addComponent(spacer); setExpandRatio(spacer, 1); visualizationSelect.setValue(StatisticsVisualizationType.TABLE); visualizationChartSelect.setValue(StatisticsVisualizationChartType.STACKED_COLUMN); visualizationMapSelect.setValue(StatisticsVisualizationMapType.REGIONS); }