List of usage examples for com.vaadin.ui ComboBox ComboBox
public ComboBox()
From source file:edu.kit.dama.ui.components.FilteredComboBox.java
License:Apache License
@AutoGenerated private VerticalLayout buildMainLayout() { // common part: create layout mainLayout = new VerticalLayout(); mainLayout.setImmediate(false);/*from ww w.ja v a 2 s.c om*/ mainLayout.setWidth("-1px"); mainLayout.setHeight("-1px"); mainLayout.setMargin(false); // top-level component properties setWidth("-1px"); setHeight("-1px"); // comboBox comboBox = new ComboBox(); comboBox.setImmediate(true); comboBox.setWidth("100%"); comboBox.setHeight("-1px"); mainLayout.addComponent(comboBox); return mainLayout; }
From source file:eu.unifiedviews.plugins.transformer.metadata.MetadataVaadinDialog.java
License:Creative Commons License
@Override protected void buildDialogLayout() { // common part: create layout mainLayout = new VerticalLayout(); mainLayout.setImmediate(true);//from w w w . ja v a2 s . c o m mainLayout.setWidth("100%"); mainLayout.setHeight(null); mainLayout.setMargin(false); //mainLayout.setSpacing(true); // top-level component properties setWidth("100%"); setHeight("100%"); txtOutSymbolicName = new TextField(); txtOutSymbolicName.setCaption("Output graph name:"); txtOutSymbolicName.setWidth("100%"); mainLayout.addComponent(txtOutSymbolicName); tfComsodeDatasetId = new TextField(); tfComsodeDatasetId.setCaption("COMSODE Dataset ID (will be used as part of the URI)"); tfComsodeDatasetId.setWidth("100%"); tfComsodeDatasetId.setInputPrompt("MICR_3"); mainLayout.addComponent(tfComsodeDatasetId); tfDatasetUri = new TextField(); tfDatasetUri.setCaption("Dataset URI:"); tfDatasetUri.setWidth("100%"); mainLayout.addComponent(tfDatasetUri); tfDistributionUri = new TextField(); tfDistributionUri.setCaption("Distribution URI:"); tfDistributionUri.setWidth("100%"); mainLayout.addComponent(tfDistributionUri); tfDataDumpUrl = new TextField(); tfDataDumpUrl.setCaption("Data dump URL:"); tfDataDumpUrl.setWidth("100%"); mainLayout.addComponent(tfDataDumpUrl); cbMime = new ComboBox(); cbMime.setCaption("Media Type:"); cbMime.setNewItemsAllowed(false); cbMime.setNullSelectionAllowed(false); cbMime.setWidth("100%"); for (String u : mimes) { cbMime.addItem(u); } mainLayout.addComponent(cbMime); tfSparqlEndpointUrl = new TextField(); tfSparqlEndpointUrl.setCaption("Sparql Endpoint URI:"); tfSparqlEndpointUrl.setWidth("100%"); tfSparqlEndpointUrl.setNullRepresentation(""); tfSparqlEndpointUrl.setNullSettingAllowed(true); mainLayout.addComponent(tfSparqlEndpointUrl); tfContactPoint = new TextField(); tfContactPoint.setCaption("Contact Point URL:"); tfContactPoint.setWidth("100%"); mainLayout.addComponent(tfContactPoint); tfLanguage = new TextField(); tfLanguage.setCaption("Original language - RDF language tag:"); tfLanguage.setInputPrompt("cs|sk|it"); tfLanguage.setWidth("100%"); mainLayout.addComponent(tfLanguage); tfTitle = new TextField(); tfTitle.setCaption("Title original language:"); tfTitle.setWidth("100%"); mainLayout.addComponent(tfTitle); tfTitleEn = new TextField(); tfTitleEn.setCaption("Title in English:"); tfTitleEn.setWidth("100%"); mainLayout.addComponent(tfTitleEn); tfDesc = new TextField(); tfDesc.setCaption("Description original language:"); tfDesc.setWidth("100%"); mainLayout.addComponent(tfDesc); tfDescEn = new TextField(); tfDescEn.setCaption("Description in English:"); tfDescEn.setWidth("100%"); mainLayout.addComponent(tfDescEn); chkQb = new CheckBox(); chkQb.setCaption("Dataset is RDF Data Cube"); chkQb.setWidth("100%"); mainLayout.addComponent(chkQb); dfModified = new DateField(); dfModified.setCaption("Modified:"); dfModified.setWidth("100%"); dfModified.setResolution(Resolution.DAY); mainLayout.addComponent(dfModified); chkNow = new CheckBox(); chkNow.setCaption("Always use current date instead"); chkNow.setWidth("100%"); mainLayout.addComponent(chkNow); cbPeriodicity = new ComboBox(); cbPeriodicity.setCaption("Periodicity:"); cbPeriodicity.setNewItemsAllowed(false); cbPeriodicity.setNullSelectionAllowed(false); cbPeriodicity.setItemCaptionMode(ItemCaptionMode.EXPLICIT); cbPeriodicity.setWidth("100%"); for (URLandCaption u : periodicities) { cbPeriodicity.addItem(u.url.toString()); cbPeriodicity.setItemCaption(u.url.toString(), u.caption); } mainLayout.addComponent(cbPeriodicity); tcsLicenses = new TwinColSelect(); tcsLicenses.setWidth("97%"); tcsLicenses.setNewItemsAllowed(true); tcsLicenses.setLeftColumnCaption("Available licenses"); tcsLicenses.setRightColumnCaption("Selected licenses"); mainLayout.addComponent(tcsLicenses); tcsExamples = new TwinColSelect(); tcsExamples.setWidth("97%"); tcsExamples.setNewItemsAllowed(true); tcsExamples.setLeftColumnCaption("Available example resources"); tcsExamples.setRightColumnCaption("Selected example resources"); mainLayout.addComponent(tcsExamples); tcsSources = new TwinColSelect(); tcsSources.setWidth("97%"); tcsSources.setNewItemsAllowed(true); tcsSources.setLeftColumnCaption("Available sources"); tcsSources.setRightColumnCaption("Selected sources"); mainLayout.addComponent(tcsSources); tcsKeywords = new TwinColSelect(); tcsKeywords.setWidth("97%"); tcsKeywords.setNewItemsAllowed(true); tcsKeywords.setLeftColumnCaption("Available keywords"); tcsKeywords.setRightColumnCaption("Selected keywords"); mainLayout.addComponent(tcsKeywords); tcsThemes = new TwinColSelect(); tcsThemes.setWidth("97%"); tcsThemes.setNewItemsAllowed(true); tcsThemes.setLeftColumnCaption("Available themes"); tcsThemes.setRightColumnCaption("Selected themes"); mainLayout.addComponent(tcsThemes); tcsLanguages = new TwinColSelect(); tcsLanguages.setWidth("97%"); tcsLanguages.setNewItemsAllowed(true); tcsLanguages.setLeftColumnCaption("Available languages"); tcsLanguages.setRightColumnCaption("Selected languages"); mainLayout.addComponent(tcsLanguages); tcsAuthors = new TwinColSelect(); tcsAuthors.setWidth("97%"); tcsAuthors.setNewItemsAllowed(true); tcsAuthors.setLeftColumnCaption("Available authors"); tcsAuthors.setRightColumnCaption("Selected authors"); mainLayout.addComponent(tcsAuthors); tcsPublishers = new TwinColSelect(); tcsPublishers.setWidth("97%"); tcsPublishers.setNewItemsAllowed(true); tcsPublishers.setLeftColumnCaption("Available publishers"); tcsPublishers.setRightColumnCaption("Selected publishers"); mainLayout.addComponent(tcsPublishers); Panel p = new Panel(); p.setSizeFull(); p.setContent(mainLayout); setCompositionRoot(p); }
From source file:fi.hip.sicx.vaadin.GUIComponent.java
License:Open Source License
@AutoGenerated private HorizontalLayout buildHorizontalLayout_1() { // common part: create layout horizontalLayout_1 = new HorizontalLayout(); horizontalLayout_1.setImmediate(false); horizontalLayout_1.setWidth("-1px"); horizontalLayout_1.setHeight("-1px"); horizontalLayout_1.setMargin(false); // reloadR// ww w . ja va 2s . co m reloadR = new Embedded(); reloadR.setImmediate(false); reloadR.setWidth("-1px"); reloadR.setHeight("-1px"); reloadR.setSource( new ExternalResource("http://demo.vaadin.com/sampler/VAADIN/themes/runo/icons/32/reload.png")); reloadR.setType(1); reloadR.setMimeType("image/png"); horizontalLayout_1.addComponent(reloadR); // newfolderU newfolderU = new Embedded(); newfolderU.setImmediate(false); newfolderU.setWidth("-1px"); newfolderU.setHeight("-1px"); newfolderU.setSource( new ExternalResource("http://demo.vaadin.com/sampler/VAADIN/themes/runo/icons/32/folder-add.png")); newfolderU.setType(1); newfolderU.setMimeType("image/png"); horizontalLayout_1.addComponent(newfolderU); // deleteU deleteU = new Embedded(); deleteU.setImmediate(false); deleteU.setWidth("-1px"); deleteU.setHeight("-1px"); deleteU.setSource( new ExternalResource("http://demo.vaadin.com/sampler/VAADIN/themes/runo/icons/32/trash.png")); deleteU.setType(1); deleteU.setMimeType("image/png"); horizontalLayout_1.addComponent(deleteU); // helpU helpU = new Embedded(); helpU.setImmediate(false); helpU.setWidth("-1px"); helpU.setHeight("-1px"); helpU.setSource( new ExternalResource("http://demo.vaadin.com/sampler/VAADIN/themes/runo/icons/32/help.png")); helpU.setType(1); helpU.setMimeType("image/png"); horizontalLayout_1.addComponent(helpU); // SLAselector SLAselector = new ComboBox(); SLAselector.setImmediate(false); SLAselector.setWidth("100px"); SLAselector.setHeight("-1px"); horizontalLayout_1.addComponent(SLAselector); return horizontalLayout_1; }
From source file:fi.semantum.strategia.Main.java
License:Open Source License
@Override protected void init(VaadinRequest request) { getPage().addUriFragmentChangedListener(new UriFragmentChangedListener() { public void uriFragmentChanged(UriFragmentChangedEvent source) { applyFragment(source.getUriFragment(), true); }// w w w. j a va 2s . co m }); String pathInfo = request.getPathInfo(); if (pathInfo.startsWith("/")) pathInfo = pathInfo.substring(1); if (pathInfo.endsWith("/")) pathInfo = pathInfo.substring(0, pathInfo.length() - 1); String databaseId = validatePathInfo(pathInfo); setWindowWidth(Page.getCurrent().getBrowserWindowWidth(), Page.getCurrent().getBrowserWindowHeight()); // Find the application directory String basepath = VaadinService.getCurrent().getBaseDirectory().getAbsolutePath(); // Image as a file resource redResource = new FileResource(new File(basepath + "/WEB-INF/images/bullet_red.png")); greenResource = new FileResource(new File(basepath + "/WEB-INF/images/bullet_green.png")); blackResource = new FileResource(new File(basepath + "/WEB-INF/images/bullet_black.png")); mapMagnify = new FileResource(new File(basepath + "/WEB-INF/images/map_magnify.png")); abs = new AbsoluteLayout(); final VerticalLayout vs = new VerticalLayout(); vs.setSizeFull(); abs.addComponent(vs); setContent(abs); // This will set the login cookie Wiki.login(this); // Make sure that the printing directory exists new File(Main.baseDirectory(), "printing").mkdirs(); database = Database.load(this, databaseId); database.getOrCreateTag("Tavoite"); database.getOrCreateTag("Painopiste"); for (Strategiakartta map : Strategiakartta.enumerate(database)) { Strategiakartta parent = map.getPossibleParent(database); if (parent == null) uiState.setCurrentMap(parent); } if (uiState.getCurrentMap() == null) uiState.setCurrentMap(database.getRoot()); uiState.currentPosition = uiState.getCurrentMap(); uiState.currentItem = uiState.getCurrentMap(); setPollInterval(10000); addPollListener(new PollListener() { @Override public void poll(PollEvent event) { if (database.checkChanges()) { String curr = uiState.getCurrentMap().uuid; database = Database.load(Main.this, database.getDatabaseId()); uiState.setCurrentMap((Strategiakartta) database.find(curr)); Updates.updateJS(Main.this, false); } } }); js.addListener(new MapListener(this, false)); js2.addListener(new MapListener(this, true)); browser_.addListener(new BrowserListener() { @Override public void select(double x, double y, String uuid) { Base b = database.find(uuid); Actions.selectAction(Main.this, x, y, null, b); } @Override public void save(String name, Map<String, BrowserNodeState> states) { UIState state = getUIState().duplicate(name); state.browserStates = states; account.uiStates.add(state); Updates.update(Main.this, true); } }); Page.getCurrent().addBrowserWindowResizeListener(new BrowserWindowResizeListener() { @Override public void browserWindowResized(BrowserWindowResizeEvent event) { setWindowWidth(event.getWidth(), event.getHeight()); Updates.updateJS(Main.this, false); } }); modeLabel = new Label("Katselutila"); modeLabel.setWidth("95px"); modeLabel.addStyleName("viewMode"); mode = new Button(); mode.setDescription("Siirry tiedon sytttilaan"); mode.setIcon(FontAwesome.EYE); mode.addStyleName(ValoTheme.BUTTON_TINY); mode.addClickListener(new ClickListener() { @Override public void buttonClick(ClickEvent event) { if ("Siirry tiedon sytttilaan".equals(mode.getDescription())) { mode.setDescription("Siirry katselutilaan"); mode.setIcon(FontAwesome.PENCIL); modeLabel.setValue("Sytttila"); modeLabel.removeStyleName("viewMode"); modeLabel.addStyleName("editMode"); UIState s = uiState.duplicate(Main.this); s.input = true; setFragment(s, true); } else { mode.setDescription("Siirry tiedon sytttilaan"); mode.setIcon(FontAwesome.EYE); modeLabel.setValue("Katselutila"); modeLabel.removeStyleName("editMode"); modeLabel.addStyleName("viewMode"); UIState s = uiState.duplicate(Main.this); s.input = false; setFragment(s, true); } } }); meterMode = new Button(); meterMode.setDescription("Vaihda toteumamittareihin"); meterMode.setCaption("Ennuste"); meterMode.addStyleName(ValoTheme.BUTTON_TINY); meterMode.addClickListener(new ClickListener() { @Override public void buttonClick(ClickEvent event) { if ("Vaihda toteumamittareihin".equals(meterMode.getDescription())) { meterMode.setDescription("Vaihda ennustemittareihin"); meterMode.setCaption("Toteuma"); UIState s = uiState.duplicate(Main.this); s.setActualMeters(); setFragment(s, true); } else { meterMode.setDescription("Vaihda toteumamittareihin"); meterMode.setCaption("Ennuste"); UIState s = uiState.duplicate(Main.this); s.setForecastMeters(); setFragment(s, true); } } }); pdf = new PDFButton(); pdf.setDescription("Tallenna kartta PDF-muodossa"); pdf.setIcon(FontAwesome.PRINT); pdf.addStyleName(ValoTheme.BUTTON_TINY); pdf.addClickListener(new ClickListener() { @Override public void buttonClick(ClickEvent event) { Utils.print(Main.this); } }); propertyExcelButton = new Button(); propertyExcelButton.setDescription("Tallenna tiedot Excel-tiedostona"); propertyExcelButton.setIcon(FontAwesome.PRINT); propertyExcelButton.addStyleName(ValoTheme.BUTTON_TINY); OnDemandFileDownloader dl = new OnDemandFileDownloader(new OnDemandStreamSource() { private static final long serialVersionUID = 981769438054780731L; File f; Date date = new Date(); @Override public InputStream getStream() { String uuid = UUID.randomUUID().toString(); File printing = new File(Main.baseDirectory(), "printing"); f = new File(printing, uuid + ".xlsx"); Workbook w = new XSSFWorkbook(); Sheet sheet = w.createSheet("Sheet1"); int row = 1; for (List<String> cells : propertyCells) { Row r = sheet.createRow(row++); for (int i = 0; i < cells.size(); i++) { String value = cells.get(i); r.createCell(i).setCellValue(value); } } try { FileOutputStream s = new FileOutputStream(f); w.write(s); s.close(); } catch (Exception e) { e.printStackTrace(); } try { return new FileInputStream(f); } catch (FileNotFoundException e) { e.printStackTrace(); } throw new IllegalStateException(); } @Override public void onRequest() { } @Override public long getFileSize() { return f.length(); } @Override public String getFileName() { return "Strategiakartta_" + Utils.dateString(date) + ".xlsx"; } }); dl.getResource().setCacheTime(0); dl.extend(propertyExcelButton); states = new ComboBox(); states.setWidth("250px"); states.addStyleName(ValoTheme.COMBOBOX_TINY); states.setInvalidAllowed(false); states.setNullSelectionAllowed(false); states.addValueChangeListener(statesListener); saveState = new Button(); saveState.setEnabled(false); saveState.setDescription("Tallenna nykyinen nkym"); saveState.setIcon(FontAwesome.BOOKMARK); saveState.addStyleName(ValoTheme.BUTTON_TINY); saveState.addClickListener(new ClickListener() { @Override public void buttonClick(ClickEvent event) { Utils.saveCurrentState(Main.this); } }); class SearchTextField extends TextField { public boolean hasFocus = false; } final SearchTextField search = new SearchTextField(); search.setWidth("100%"); search.addStyleName(ValoTheme.TEXTFIELD_TINY); search.addStyleName(ValoTheme.TEXTFIELD_BORDERLESS); search.setInputPrompt("hae vapaasanahaulla valitun asian alta"); search.setId("searchTextField"); search.addShortcutListener(new ShortcutListener("Shortcut Name", ShortcutAction.KeyCode.ENTER, null) { @Override public void handleAction(Object sender, Object target) { if (!search.hasFocus) return; String text = search.getValue().toLowerCase(); try { Map<String, String> content = new HashMap<String, String>(); List<String> hits = Lucene.search(database.getDatabaseId(), text + "*"); for (String uuid : hits) { Base b = database.find(uuid); if (b != null) { String report = ""; Map<String, String> map = b.searchMap(database); for (Map.Entry<String, String> e : map.entrySet()) { if (e.getValue().contains(text)) { if (!report.isEmpty()) report += ", "; report += e.getKey(); } } if (!report.isEmpty()) content.put(uuid, report); } } uiState.setCurrentFilter(new SearchFilter(Main.this, content)); Updates.updateJS(Main.this, false); switchToBrowser(); } catch (IOException e) { e.printStackTrace(); } } }); search.addFocusListener(new FocusListener() { @Override public void focus(FocusEvent event) { search.hasFocus = true; } }); search.addBlurListener(new BlurListener() { @Override public void blur(BlurEvent event) { search.hasFocus = false; } }); hallinnoi = new Button("Hallinnoi"); hallinnoi.setWidthUndefined(); hallinnoi.setVisible(false); hallinnoi.addStyleName(ValoTheme.BUTTON_TINY); hallinnoi.addClickListener(new ClickListener() { @Override public void buttonClick(ClickEvent event) { if (account != null) { if (account.isAdmin()) { Utils.manage(Main.this); } } } }); tili = new Button("Kyttjtili"); tili.setWidthUndefined(); tili.setVisible(false); tili.addStyleName(ValoTheme.BUTTON_TINY); tili.addClickListener(new ClickListener() { @Override public void buttonClick(ClickEvent event) { if (account != null) { Utils.modifyAccount(Main.this); } } }); duplicate = new Button("Avaa ikkunassa"); duplicate2 = new Button("Avaa alas"); duplicate.setWidthUndefined(); duplicate.addStyleName(ValoTheme.BUTTON_TINY); duplicate.addClickListener(new ClickListener() { @Override public void buttonClick(ClickEvent event) { MapVis model = js2.getModel(); if (model == null) { UIState s = uiState.duplicate(Main.this); s.reference = s.current; mapDialog = new Window(s.reference.getText(database), new VerticalLayout()); mapDialog.setWidth(dialogWidth()); mapDialog.setHeight(dialogHeight()); mapDialog.setResizable(true); mapDialog.setContent(js2Container); mapDialog.setVisible(true); mapDialog.setResizeLazy(false); mapDialog.addCloseListener(new CloseListener() { @Override public void windowClose(CloseEvent e) { duplicate.setCaption("Avaa ikkunassa"); duplicate2.setVisible(true); UIState s = uiState.duplicate(Main.this); mapDialog.close(); mapDialog = null; s.reference = null; setFragment(s, true); } }); mapDialog.addResizeListener(new ResizeListener() { @Override public void windowResized(ResizeEvent e) { Updates.updateJS(Main.this, false); } }); setFragment(s, true); addWindow(mapDialog); duplicate.setCaption("Sulje referenssi"); duplicate2.setVisible(false); } else { UIState s = uiState.duplicate(Main.this); if (mapDialog != null) { mapDialog.close(); mapDialog = null; } panelLayout.removeComponent(js2Container); s.reference = null; setFragment(s, true); duplicate.setCaption("Avaa ikkunassa"); duplicate2.setVisible(true); } } }); duplicate2.setWidthUndefined(); duplicate2.addStyleName(ValoTheme.BUTTON_TINY); duplicate2.addClickListener(new ClickListener() { @Override public void buttonClick(ClickEvent event) { MapVis model = js2.getModel(); assert (model == null); UIState s = uiState.duplicate(Main.this); s.reference = s.current; setFragment(s, true); panelLayout.addComponent(js2Container); duplicate.setCaption("Sulje referenssi"); duplicate2.setVisible(false); } }); login = new Button("Kirjaudu"); login.setWidthUndefined(); login.addStyleName(ValoTheme.BUTTON_TINY); login.addClickListener(new ClickListener() { @Override public void buttonClick(ClickEvent event) { if (account != null) { account = null; hallinnoi.setVisible(false); tili.setVisible(false); Updates.update(Main.this, true); login.setCaption("Kirjaudu"); } else { Login.login(Main.this); } } }); times = new ComboBox(); times.setWidth("130px"); times.addStyleName(ValoTheme.COMBOBOX_SMALL); times.addItem(Property.AIKAVALI_KAIKKI); times.addItem("2016"); times.addItem("2017"); times.addItem("2018"); times.addItem("2019"); times.select("2016"); times.setInvalidAllowed(false); times.setNullSelectionAllowed(false); times.addValueChangeListener(timesListener); final HorizontalLayout hl0 = new HorizontalLayout(); hl0.setWidth("100%"); hl0.setHeight("32px"); hl0.setSpacing(true); hl0.addComponent(pdf); hl0.setComponentAlignment(pdf, Alignment.MIDDLE_LEFT); hl0.setExpandRatio(pdf, 0.0f); hl0.addComponent(propertyExcelButton); hl0.setComponentAlignment(propertyExcelButton, Alignment.MIDDLE_LEFT); hl0.setExpandRatio(propertyExcelButton, 0.0f); hl0.addComponent(states); hl0.setComponentAlignment(states, Alignment.MIDDLE_LEFT); hl0.setExpandRatio(states, 0.0f); hl0.addComponent(saveState); hl0.setComponentAlignment(saveState, Alignment.MIDDLE_LEFT); hl0.setExpandRatio(saveState, 0.0f); hl0.addComponent(times); hl0.setComponentAlignment(times, Alignment.MIDDLE_LEFT); hl0.setExpandRatio(times, 0.0f); hl0.addComponent(search); hl0.setComponentAlignment(search, Alignment.MIDDLE_LEFT); hl0.setExpandRatio(search, 1.0f); hl0.addComponent(modeLabel); hl0.setComponentAlignment(modeLabel, Alignment.MIDDLE_LEFT); hl0.setExpandRatio(modeLabel, 0.0f); hl0.addComponent(mode); hl0.setComponentAlignment(mode, Alignment.MIDDLE_LEFT); hl0.setExpandRatio(mode, 0.0f); hl0.addComponent(meterMode); hl0.setComponentAlignment(meterMode, Alignment.MIDDLE_LEFT); hl0.setExpandRatio(meterMode, 0.0f); hl0.addComponent(hallinnoi); hl0.setComponentAlignment(hallinnoi, Alignment.MIDDLE_LEFT); hl0.setExpandRatio(hallinnoi, 0.0f); hl0.addComponent(tili); hl0.setComponentAlignment(tili, Alignment.MIDDLE_LEFT); hl0.setExpandRatio(tili, 0.0f); hl0.addComponent(duplicate); hl0.setComponentAlignment(duplicate, Alignment.MIDDLE_LEFT); hl0.setExpandRatio(duplicate, 0.0f); hl0.addComponent(duplicate2); hl0.setComponentAlignment(duplicate2, Alignment.MIDDLE_LEFT); hl0.setExpandRatio(duplicate2, 0.0f); hl0.addComponent(login); hl0.setComponentAlignment(login, Alignment.MIDDLE_LEFT); hl0.setExpandRatio(login, 0.0f); propertiesPanel = new Panel(); propertiesPanel.setSizeFull(); properties = new VerticalLayout(); properties.setSpacing(true); properties.setMargin(true); propertiesPanel.setContent(properties); propertiesPanel.setVisible(false); tags = new VerticalLayout(); tags.setSpacing(true); Updates.updateTags(this); AbsoluteLayout tabs = new AbsoluteLayout(); tabs.setSizeFull(); { panel = new Panel(); panel.addStyleName(ValoTheme.PANEL_BORDERLESS); panel.setSizeFull(); panel.setId("mapContainer1"); panelLayout = new VerticalLayout(); panelLayout.addComponent(js); panelLayout.setHeight("100%"); js2Container = new VerticalLayout(); js2Container.setHeight("100%"); js2Container.addComponent(new Label("<hr />", ContentMode.HTML)); js2Container.addComponent(js2); panel.setContent(panelLayout); tabs.addComponent(panel); } wiki = new BrowserFrame(); wiki.setSource(new ExternalResource(Wiki.wikiAddress() + "/")); wiki.setWidth("100%"); wiki.setHeight("100%"); { wiki_ = new VerticalLayout(); wiki_.setSizeFull(); Button b = new Button("Palaa sovellukseen"); b.setWidth("100%"); b.addClickListener(new ClickListener() { @Override public void buttonClick(ClickEvent event) { applyFragment(backFragment, true); String content = Wiki.get(wikiPage); if (content == null) return; int first = content.indexOf("<rev contentformat"); if (first == -1) return; content = content.substring(first); int term = content.indexOf(">"); content = content.substring(term + 1); int end = content.indexOf("</rev>"); content = content.substring(0, end); if (wikiBase.modifyMarkup(Main.this, content)) { Updates.update(Main.this, true); } } }); wiki_.addComponent(b); wiki_.addComponent(wiki); wiki_.setVisible(false); wiki_.setExpandRatio(b, 0.0f); wiki_.setExpandRatio(wiki, 1.0f); tabs.addComponent(wiki_); } hs = new HorizontalSplitPanel(); hs.setSplitPosition(0, Unit.PIXELS); hs.setHeight("100%"); hs.setWidth("100%"); browser = new VerticalLayout(); browser.setSizeFull(); HorizontalLayout browserWidgets = new HorizontalLayout(); browserWidgets.setWidth("100%"); hori = new Button(); hori.setDescription("Nyt asiat taulukkona"); hori.setEnabled(true); hori.setIcon(FontAwesome.ARROW_RIGHT); hori.addStyleName(ValoTheme.BUTTON_TINY); hori.addClickListener(new ClickListener() { boolean right = false; @Override public void buttonClick(ClickEvent event) { if (right) { hs.setSplitPosition(0, Unit.PIXELS); hori.setIcon(FontAwesome.ARROW_RIGHT); hori.setDescription("Nyt asiat taulukkona"); right = false; } else { hs.setSplitPosition(windowWidth / 2, Unit.PIXELS); hori.setIcon(FontAwesome.ARROW_LEFT); hori.setDescription("Piilota taulukko"); right = true; } } }); more = new Button(); more.setDescription("Laajenna nytettvien asioiden joukkoa"); more.setIcon(FontAwesome.PLUS_SQUARE); more.addStyleName(ValoTheme.BUTTON_TINY); more.addClickListener(new ClickListener() { @Override public void buttonClick(ClickEvent event) { uiState.level++; Updates.updateJS(Main.this, false); if (uiState.level >= 2) less.setEnabled(true); } }); less = new Button(); less.setDescription("Supista nytettvien asioiden joukkoa"); less.setIcon(FontAwesome.MINUS_SQUARE); less.addStyleName(ValoTheme.BUTTON_TINY); less.addClickListener(new ClickListener() { @Override public void buttonClick(ClickEvent event) { if (uiState.level > 1) { uiState.level--; Updates.updateJS(Main.this, false); } if (uiState.level <= 1) less.setEnabled(false); } }); reportAllButton = new Button(); reportAllButton.setCaption("Nkyvt tulokset"); reportAllButton.addStyleName(ValoTheme.BUTTON_TINY); reportAllButton.addClickListener(new ClickListener() { @Override public void buttonClick(ClickEvent event) { if (uiState.reportAll) { reportAllButton.setCaption("Nkyvt tulokset"); uiState.reportAll = false; } else { reportAllButton.setCaption("Kaikki tulokset"); uiState.reportAll = true; } Updates.updateJS(Main.this, false); } }); reportStatus = new Label("0 tulosta."); reportStatus.setWidth("100px"); filter = new ComboBox(); filter.setWidth("100%"); filter.addStyleName(ValoTheme.COMBOBOX_SMALL); filter.setInvalidAllowed(false); filter.setNullSelectionAllowed(false); filter.addValueChangeListener(filterListener); browserWidgets.addComponent(hori); browserWidgets.setComponentAlignment(hori, Alignment.MIDDLE_LEFT); browserWidgets.setExpandRatio(hori, 0.0f); browserWidgets.addComponent(more); browserWidgets.setComponentAlignment(more, Alignment.MIDDLE_LEFT); browserWidgets.setExpandRatio(more, 0.0f); browserWidgets.addComponent(less); browserWidgets.setComponentAlignment(less, Alignment.MIDDLE_LEFT); browserWidgets.setExpandRatio(less, 0.0f); browserWidgets.addComponent(reportAllButton); browserWidgets.setComponentAlignment(reportAllButton, Alignment.MIDDLE_LEFT); browserWidgets.setExpandRatio(reportAllButton, 0.0f); browserWidgets.addComponent(reportStatus); browserWidgets.setComponentAlignment(reportStatus, Alignment.MIDDLE_LEFT); browserWidgets.setExpandRatio(reportStatus, 0.0f); browserWidgets.addComponent(filter); browserWidgets.setComponentAlignment(filter, Alignment.MIDDLE_LEFT); browserWidgets.setExpandRatio(filter, 1.0f); browser.addComponent(browserWidgets); browser.addComponent(hs); browser.setExpandRatio(browserWidgets, 0.0f); browser.setExpandRatio(hs, 1.0f); browser.setVisible(false); tabs.addComponent(browser); { gridPanelLayout = new VerticalLayout(); gridPanelLayout.setMargin(false); gridPanelLayout.setSpacing(false); gridPanelLayout.setSizeFull(); hs.addComponent(gridPanelLayout); } CssLayout browserLayout = new CssLayout(); browserLayout.setSizeFull(); browserLayout.addComponent(browser_); hs.addComponent(browserLayout); tabs.addComponent(propertiesPanel); vs.addComponent(hl0); vs.addComponent(tabs); vs.setExpandRatio(hl0, 0.0f); vs.setExpandRatio(tabs, 1.0f); // Ground state fragments.put("", uiState); setCurrentItem(uiState.currentItem, (Strategiakartta) uiState.currentItem); }
From source file:fi.semantum.strategia.Utils.java
License:Open Source License
public static void manage(final Main main) { final Database database = main.getDatabase(); VerticalLayout content = new VerticalLayout(); content.setSizeFull();/*from w w w .j a v a 2 s . c o m*/ content.setSpacing(true); HorizontalLayout hl1 = new HorizontalLayout(); hl1.setSpacing(true); hl1.setWidth("100%"); final ComboBox users = new ComboBox(); users.setWidth("100%"); users.setNullSelectionAllowed(false); users.addStyleName(ValoTheme.COMBOBOX_SMALL); users.setCaption("Valitse kyttj:"); final Map<String, Account> accountMap = new HashMap<String, Account>(); makeAccountCombo(main, accountMap, users); for (Account a : Account.enumerate(database)) { accountMap.put(a.getId(database), a); users.addItem(a.getId(database)); users.select(a.getId(database)); } final Table table = new Table(); table.setSelectable(true); table.setMultiSelect(true); table.addStyleName(ValoTheme.TABLE_SMALL); table.addStyleName(ValoTheme.TABLE_SMALL); table.addStyleName(ValoTheme.TABLE_COMPACT); users.addValueChangeListener(new ValueChangeListener() { private static final long serialVersionUID = 5036991262418844060L; @Override public void valueChange(ValueChangeEvent event) { users.removeValueChangeListener(this); makeAccountCombo(main, accountMap, users); makeAccountTable(database, users, accountMap, table); users.addValueChangeListener(this); } }); final TextField tf = new TextField(); Validator nameValidator = new Validator() { private static final long serialVersionUID = -4779239111120669168L; @Override public void validate(Object value) throws InvalidValueException { String s = (String) value; if (s.isEmpty()) throw new InvalidValueException("Nimi ei saa olla tyhj"); if (accountMap.containsKey(s)) throw new InvalidValueException("Nimi on jo kytss"); } }; final Button save = new Button("Luo", new Button.ClickListener() { private static final long serialVersionUID = -6053708137324681886L; public void buttonClick(ClickEvent event) { if (!tf.isValid()) return; String pass = Long.toString(Math.abs(UUID.randomUUID().getLeastSignificantBits()), 36); Account.create(database, tf.getValue(), "", Utils.hash(pass)); Updates.update(main, true); makeAccountCombo(main, accountMap, users); makeAccountTable(database, users, accountMap, table); Dialogs.infoDialog(main, "Uusi kyttj '" + tf.getValue() + "' luotu", "Kyttjn salasana on " + pass + "", null); } }); save.addStyleName(ValoTheme.BUTTON_SMALL); final Button remove = new Button("Poista", new Button.ClickListener() { private static final long serialVersionUID = -5359199320445328801L; public void buttonClick(ClickEvent event) { Object selection = users.getValue(); Account state = accountMap.get(selection); // System cannot be removed if ("System".equals(state.getId(database))) return; state.remove(database); Updates.update(main, true); makeAccountCombo(main, accountMap, users); makeAccountTable(database, users, accountMap, table); } }); remove.addStyleName(ValoTheme.BUTTON_SMALL); tf.setWidth("100%"); tf.addStyleName(ValoTheme.TEXTFIELD_SMALL); tf.setCaption("Luo uusi kyttj nimell:"); tf.setValue(findFreshUserName(nameValidator)); tf.setCursorPosition(tf.getValue().length()); tf.setValidationVisible(true); tf.setInvalidCommitted(true); tf.setImmediate(true); tf.addTextChangeListener(new TextChangeListener() { private static final long serialVersionUID = -8274588731607481635L; @Override public void textChange(TextChangeEvent event) { tf.setValue(event.getText()); try { tf.validate(); } catch (InvalidValueException e) { save.setEnabled(false); return; } save.setEnabled(true); } }); tf.addValidator(nameValidator); if (!tf.isValid()) save.setEnabled(false); hl1.addComponent(users); hl1.setExpandRatio(users, 1.0f); hl1.setComponentAlignment(users, Alignment.BOTTOM_CENTER); hl1.addComponent(tf); hl1.setExpandRatio(tf, 1.0f); hl1.setComponentAlignment(tf, Alignment.BOTTOM_CENTER); hl1.addComponent(save); hl1.setExpandRatio(save, 0.0f); hl1.setComponentAlignment(save, Alignment.BOTTOM_CENTER); hl1.addComponent(remove); hl1.setExpandRatio(remove, 0.0f); hl1.setComponentAlignment(remove, Alignment.BOTTOM_CENTER); content.addComponent(hl1); content.setExpandRatio(hl1, 0.0f); table.addContainerProperty("Kartta", String.class, null); table.addContainerProperty("Oikeus", String.class, null); table.addContainerProperty("Laajuus", String.class, null); table.setWidth("100%"); table.setHeight("100%"); table.setNullSelectionAllowed(true); table.setMultiSelect(true); table.setCaption("Kyttjn oikeudet"); makeAccountTable(database, users, accountMap, table); content.addComponent(table); content.setExpandRatio(table, 1.0f); final Button removeRights = new Button("Poista valitut rivit", new Button.ClickListener() { private static final long serialVersionUID = 4699670345358079045L; public void buttonClick(ClickEvent event) { Object user = users.getValue(); Account state = accountMap.get(user); Object selection = table.getValue(); Collection<?> sel = (Collection<?>) selection; List<Right> toRemove = new ArrayList<Right>(); for (Object s : sel) { Integer index = (Integer) s; toRemove.add(state.rights.get(index - 1)); } for (Right r : toRemove) state.rights.remove(r); Updates.update(main, true); makeAccountTable(database, users, accountMap, table); } }); removeRights.addStyleName(ValoTheme.BUTTON_SMALL); table.addValueChangeListener(new ValueChangeListener() { private static final long serialVersionUID = 1188285609779556446L; @Override public void valueChange(ValueChangeEvent event) { Object selection = table.getValue(); Collection<?> sel = (Collection<?>) selection; if (sel.isEmpty()) removeRights.setEnabled(false); else removeRights.setEnabled(true); } }); final ComboBox mapSelect = new ComboBox(); mapSelect.setWidth("100%"); mapSelect.setNullSelectionAllowed(false); mapSelect.addStyleName(ValoTheme.COMBOBOX_SMALL); mapSelect.setCaption("Valitse kartta:"); for (Strategiakartta a : Strategiakartta.enumerate(database)) { mapSelect.addItem(a.uuid); mapSelect.setItemCaption(a.uuid, a.getText(database)); mapSelect.select(a.uuid); } final ComboBox rightSelect = new ComboBox(); rightSelect.setWidth("100px"); rightSelect.setNullSelectionAllowed(false); rightSelect.addStyleName(ValoTheme.COMBOBOX_SMALL); rightSelect.setCaption("Valitse oikeus:"); rightSelect.addItem("Muokkaus"); rightSelect.addItem("Luku"); rightSelect.select("Luku"); final ComboBox propagateSelect = new ComboBox(); propagateSelect.setWidth("130px"); propagateSelect.setNullSelectionAllowed(false); propagateSelect.addStyleName(ValoTheme.COMBOBOX_SMALL); propagateSelect.setCaption("Valitse laajuus:"); propagateSelect.addItem(VALITTU_KARTTA); propagateSelect.addItem(ALATASON_KARTAT); propagateSelect.select(VALITTU_KARTTA); final Button addRight = new Button("Lis rivi", new Button.ClickListener() { private static final long serialVersionUID = -4841787792917761055L; public void buttonClick(ClickEvent event) { Object user = users.getValue(); Account state = accountMap.get(user); String mapUUID = (String) mapSelect.getValue(); Strategiakartta map = database.find(mapUUID); String right = (String) rightSelect.getValue(); String propagate = (String) propagateSelect.getValue(); Right r = new Right(map, right.equals("Muokkaus"), propagate.equals(ALATASON_KARTAT)); state.rights.add(r); Updates.update(main, true); makeAccountTable(database, users, accountMap, table); } }); addRight.addStyleName(ValoTheme.BUTTON_SMALL); table.addValueChangeListener(new ValueChangeListener() { private static final long serialVersionUID = 6439090862804667322L; @Override public void valueChange(ValueChangeEvent event) { Object selection = table.getValue(); Collection<?> selected = (Collection<?>) selection; if (!selected.isEmpty()) { removeRights.setEnabled(true); } else { removeRights.setEnabled(false); } } }); HorizontalLayout hl2 = new HorizontalLayout(); hl2.setSpacing(true); hl2.setWidth("100%"); hl2.addComponent(removeRights); hl2.setComponentAlignment(removeRights, Alignment.TOP_LEFT); hl2.setExpandRatio(removeRights, 0.0f); hl2.addComponent(addRight); hl2.setComponentAlignment(addRight, Alignment.BOTTOM_LEFT); hl2.setExpandRatio(addRight, 0.0f); hl2.addComponent(mapSelect); hl2.setComponentAlignment(mapSelect, Alignment.BOTTOM_LEFT); hl2.setExpandRatio(mapSelect, 1.0f); hl2.addComponent(rightSelect); hl2.setComponentAlignment(rightSelect, Alignment.BOTTOM_LEFT); hl2.setExpandRatio(rightSelect, 0.0f); hl2.addComponent(propagateSelect); hl2.setComponentAlignment(propagateSelect, Alignment.BOTTOM_LEFT); hl2.setExpandRatio(propagateSelect, 0.0f); content.addComponent(hl2); content.setComponentAlignment(hl2, Alignment.BOTTOM_LEFT); content.setExpandRatio(hl2, 0.0f); final VerticalLayout vl = new VerticalLayout(); final Panel p = new Panel(); p.setWidth("100%"); p.setHeight("200px"); p.setContent(vl); final TimeConfiguration tc = TimeConfiguration.getInstance(database); final TextField tf2 = new TextField(); tf2.setWidth("200px"); tf2.addStyleName(ValoTheme.TEXTFIELD_SMALL); tf2.setCaption("Strategiakartan mritysaika:"); tf2.setValue(tc.getRange()); tf2.setCursorPosition(tf.getValue().length()); tf2.setValidationVisible(true); tf2.setInvalidCommitted(true); tf2.setImmediate(true); tf2.addTextChangeListener(new TextChangeListener() { private static final long serialVersionUID = -8274588731607481635L; @Override public void textChange(TextChangeEvent event) { tf2.setValue(event.getText()); try { tf2.validate(); tc.setRange(event.getText()); updateYears(database, vl); Updates.update(main, true); } catch (InvalidValueException e) { return; } } }); tf2.addValidator(new Validator() { private static final long serialVersionUID = -4779239111120669168L; @Override public void validate(Object value) throws InvalidValueException { String s = (String) value; TimeInterval ti = TimeInterval.parse(s); long start = ti.startYear; long end = ti.endYear; if (start < 2015) throw new InvalidValueException("Alkuvuosi ei voi olla aikaisempi kuin 2015."); if (end > 2025) throw new InvalidValueException("Pttymisvuosi ei voi olla myhisempi kuin 2025."); if (end - start > 9) throw new InvalidValueException("Strategiakartta ei tue yli 10 vuoden tarkasteluja."); } }); content.addComponent(tf2); content.setComponentAlignment(tf2, Alignment.BOTTOM_LEFT); content.setExpandRatio(tf2, 0.0f); updateYears(database, vl); content.addComponent(p); content.setComponentAlignment(p, Alignment.BOTTOM_LEFT); content.setExpandRatio(p, 0.0f); HorizontalLayout buttons = new HorizontalLayout(); buttons.setSpacing(true); buttons.setMargin(false); Dialogs.makeDialog(main, main.dialogWidth(), main.dialogHeight(0.8), "Hallinnoi strategiakarttaa", "Sulje", content, buttons); }
From source file:fi.semantum.strategia.Utils.java
License:Open Source License
public static void addMap(final Main main, final Strategiakartta parent) { final Database database = main.getDatabase(); FormLayout content = new FormLayout(); content.setSizeFull();//ww w .j a v a2 s .c om // final TextField tf = new TextField(); // tf.setCaption("Kartan tunniste:"); // tf.setValue("tunniste"); // tf.setWidth("100%"); // content.addComponent(tf); final TextField tf2 = new TextField(); tf2.setCaption("Kartan nimi:"); tf2.setValue("Uusi kartta"); tf2.setWidth("100%"); content.addComponent(tf2); final ComboBox combo = new ComboBox(); combo.setCaption("Kartan tyyppi:"); combo.setNullSelectionAllowed(false); combo.setWidth("100%"); content.addComponent(combo); Collection<Base> subs = Strategiakartta.availableLevels(database); for (Base b : subs) { combo.addItem(b.uuid); combo.setItemCaption(b.uuid, b.getText(database)); combo.select(b.uuid); } HorizontalLayout buttons = new HorizontalLayout(); buttons.setSpacing(true); buttons.setMargin(true); Button ok = new Button("Lis"); buttons.addComponent(ok); final Window dialog = Dialogs.makeDialog(main, "450px", "340px", "Lis alatason kartta", "Peruuta", content, buttons); ok.addClickListener(new Button.ClickListener() { private static final long serialVersionUID = 1422158448876521843L; public void buttonClick(ClickEvent event) { String name = tf2.getValue(); String typeUUID = (String) combo.getValue(); Base type = database.find(typeUUID); database.newMap(main, parent, "", name, type); Updates.updateJS(main, true); main.removeWindow(dialog); } }); }
From source file:fi.semantum.strategia.Utils.java
License:Open Source License
public static void addImplementationMap(final Main main, final Tavoite goal) { final Database database = main.getDatabase(); try {/*from ww w .ja v a 2s.c om*/ Base subType = goal.getPossibleSubmapType(database); if (subType != null) { goal.ensureImplementationMap(main); Updates.updateJS(main, true); return; } } catch (Exception e) { e.printStackTrace(); return; } FormLayout content = new FormLayout(); content.setSizeFull(); final ComboBox combo = new ComboBox(); combo.setCaption("Kartan tyyppi:"); combo.setNullSelectionAllowed(false); combo.setWidth("100%"); content.addComponent(combo); Collection<Base> subs = Strategiakartta.availableLevels(database); for (Base b : subs) { combo.addItem(b.uuid); combo.setItemCaption(b.uuid, b.getText(database)); combo.select(b.uuid); } HorizontalLayout buttons = new HorizontalLayout(); buttons.setSpacing(true); buttons.setMargin(true); Button ok = new Button("Lis"); buttons.addComponent(ok); final Window dialog = Dialogs.makeDialog(main, "450px", "340px", "Lis alatason kartta", "Peruuta", content, buttons); ok.addClickListener(new Button.ClickListener() { private static final long serialVersionUID = 1422158448876521843L; public void buttonClick(ClickEvent event) { String typeUUID = (String) combo.getValue(); Base type = database.find(typeUUID); Strategiakartta parent = database.getMap(goal); Strategiakartta newMap = database.newMap(main, parent, "", "", type); newMap.addRelation(Relation.find(database, Relation.IMPLEMENTS), goal); for (Painopiste pp : goal.painopisteet) { Tavoite.createCopy(main, newMap, pp); } Updates.updateJS(main, true); main.removeWindow(dialog); } }); }
From source file:fi.semantum.strategia.Utils.java
License:Open Source License
public static void insertRootMap(final Main main, final Strategiakartta currentRoot) { final Database database = main.getDatabase(); FormLayout content = new FormLayout(); content.setSizeFull();//from ww w .j a v a 2 s . c om final TextField tf = new TextField(); tf.setCaption("Kartan tunniste:"); tf.setValue("tunniste"); tf.setWidth("100%"); content.addComponent(tf); final TextField tf2 = new TextField(); tf2.setCaption("Kartan nimi:"); tf2.setValue("Uusi kartta"); tf2.setWidth("100%"); content.addComponent(tf2); final ComboBox combo = new ComboBox(); combo.setCaption("Kartan tyyppi:"); combo.setNullSelectionAllowed(false); combo.setWidth("100%"); content.addComponent(combo); Collection<Base> subs = Strategiakartta.availableLevels(database); for (Base b : subs) { combo.addItem(b.uuid); combo.setItemCaption(b.uuid, b.getText(database)); combo.select(b.uuid); } HorizontalLayout buttons = new HorizontalLayout(); buttons.setSpacing(true); buttons.setMargin(true); Button ok = new Button("Lis"); buttons.addComponent(ok); final Window dialog = Dialogs.makeDialog(main, "450px", "340px", "Lis alatason kartta", "Peruuta", content, buttons); ok.addClickListener(new Button.ClickListener() { private static final long serialVersionUID = 1422158448876521843L; public void buttonClick(ClickEvent event) { String id = tf.getValue(); String name = tf2.getValue(); String typeUUID = (String) combo.getValue(); Base type = database.find(typeUUID); Strategiakartta uusi = database.newMap(main, null, id, name, type); uusi.addAlikartta(currentRoot); Updates.updateJS(main, true); main.removeWindow(dialog); } }); }
From source file:fi.semantum.strategia.Utils.java
License:Open Source License
public static void addView(final Main main, final Strategiakartta map) { final Database database = main.getDatabase(); FormLayout content = new FormLayout(); content.setSizeFull();/*from w ww . j a v a2 s. co m*/ final TextField tf = new TextField(); tf.setCaption("Nkymn tunniste:"); tf.setValue("tunniste"); tf.setWidth("100%"); content.addComponent(tf); final TextField tf2 = new TextField(); tf2.setCaption("Nkymn nimi:"); tf2.setValue("Uusi nkym"); tf2.setWidth("100%"); content.addComponent(tf2); final ComboBox combo = new ComboBox(); combo.setCaption("Kartan tyyppi:"); combo.setNullSelectionAllowed(false); combo.setWidth("100%"); content.addComponent(combo); Property levelProperty = Property.find(database, Property.LEVEL); ObjectType level = database.find((String) levelProperty.getPropertyValue(map)); Collection<Base> subs = Strategiakartta.availableLevels(database); for (Base b : subs) { combo.addItem(b.uuid); combo.setItemCaption(b.uuid, b.getText(database)); combo.select(b.uuid); } final ComboBox combo2 = new ComboBox(); combo2.setCaption("Aihetunniste:"); combo2.setNullSelectionAllowed(false); combo2.setWidth("100%"); content.addComponent(combo2); for (Tag t : Tag.enumerate(database)) { combo2.addItem(t.uuid); combo2.setItemCaption(t.uuid, t.getId(database)); combo2.select(t.uuid); } HorizontalLayout buttons = new HorizontalLayout(); buttons.setSpacing(true); buttons.setMargin(true); Button ok = new Button("Lis"); buttons.addComponent(ok); final Window dialog = Dialogs.makeDialog(main, "450px", "380px", "Lis nkym", "Peruuta", content, buttons); ok.addClickListener(new Button.ClickListener() { private static final long serialVersionUID = 1422158448876521843L; public void buttonClick(ClickEvent event) { String id = tf.getValue(); String name = tf2.getValue(); String typeUUID = (String) combo.getValue(); Base type = database.find(typeUUID); String tagUUID = (String) combo2.getValue(); Tag tag = (Tag) database.find(tagUUID); Strategiakartta newMap = database.newMap(main, main.uiState.current, id, name + " (nkym)", type); newMap.generators.add(tag); Updates.updateJS(main, true); main.removeWindow(dialog); } }); }
From source file:fi.semantum.strategia.widget.EnumerationDatatype.java
License:Open Source License
@Override public AbstractField<?> getEditor(final Main main, final Base base, final Indicator indicator, final boolean forecast, final CommentCallback callback) { final Object value = forecast ? indicator.getForecast() : indicator.getValue(); final ComboBox combo = new ComboBox(); for (String s : enumeration) { combo.addItem(s);/*from ww w. ja v a2s .c o m*/ } combo.setStyleName(ValoTheme.COMBOBOX_TINY); combo.select(value); combo.setNullSelectionAllowed(false); combo.setWidth("100%"); if (main.canWrite(base)) { combo.addValueChangeListener(new ValueChangeListener() { private static final long serialVersionUID = 3547126051252580446L; @Override public void valueChange(ValueChangeEvent event) { indicator.updateWithComment(main, base, combo.getValue(), forecast, new AbstractCommentCallback() { @Override public void canceled() { combo.select(value); if (callback != null) callback.canceled(); } @Override public void runWithComment(String shortComment, String comment) { if (callback != null) callback.runWithComment(shortComment, comment); } }); } }); } else { combo.setReadOnly(true); } return combo; }