Example usage for com.vaadin.ui CssLayout CssLayout

List of usage examples for com.vaadin.ui CssLayout CssLayout

Introduction

In this page you can find the example usage for com.vaadin.ui CssLayout CssLayout.

Prototype

public CssLayout() 

Source Link

Document

Constructs an empty CssLayout.

Usage

From source file:ed.cracken.pos.ui.products.ProductForm.java

public void initComponents() {
    setId("product-form");
    setStyleName("product-form-wrapper");
    addStyleName("product-form");
    VerticalLayout formLayout = new VerticalLayout();
    formLayout.setHeightUndefined();/*from  w ww .  ja  v a 2 s  .  com*/
    formLayout.setSpacing(true);
    formLayout.setStyleName("form-layout");
    formLayout.addComponent(productName = new TextField("Name"));
    HorizontalLayout priceAndStockLayout = new HorizontalLayout();
    priceAndStockLayout.addComponent(price = new TextField("Price"));
    priceAndStockLayout.addComponent(stockCount = new TextField("Stock"));
    formLayout.addComponent(priceAndStockLayout);
    formLayout.addComponent(availability = new ComboBox("Availability"));
    formLayout.addComponent(category = new CategoryField("Category"));
    CssLayout separator = new CssLayout();
    separator.setStyleName("expander");
    formLayout.addComponent(separator);
    formLayout.addComponent(save = new Button("Save") {
        {
            setStyleName("primary");
            setId("save");
        }
    });
    formLayout.addComponent(cancel = new Button("Cancel") {
        {
            setStyleName("cancel");
            setId("cancel");
        }
    });
    formLayout.addComponent(delete = new Button("Delete") {
        {
            setStyleName("danger");
            setId("delete");
        }
    });
    addComponent(formLayout);

}

From source file:ed.cracken.pos.ui.purchases.PurchaseItemForm.java

public PurchaseItemForm(PurchaserLogic viewLogic) {

    setId("product-form");
    setStyleName("product-form-wrapper");
    addStyleName("product-form");
    VerticalLayout formLayout = new VerticalLayout();
    formLayout.setHeightUndefined();//from w  w w  .ja va 2s  .  c  om
    formLayout.setSpacing(true);
    formLayout.setStyleName("form-layout");
    formLayout.addComponent(productId = new TextField("Code"));
    formLayout.addComponent(description = new TextField("Description"));
    formLayout.addComponent(price = new DecimalNumberField("Price"));
    formLayout.addComponent(quantity = new DecimalNumberField("Quantity"));
    formLayout.addComponent(discount = new DecimalNumberField("Discount"));
    formLayout.addComponent(subtotal = new DecimalNumberField("Subtotal"));
    price.setConverter(BigDecimal.class);
    quantity.addTextChangeListener((FieldEvents.TextChangeEvent event) -> {
        if (!event.getText().isEmpty()) {
            try {
                NumberFormat nf = DecimalFormat.getInstance();
                nf.setMaximumFractionDigits(2);

                ItemTo item;
                BigDecimal r = BigDecimal.valueOf(nf.parse(event.getText()).longValue())
                        .multiply((item = fieldGroup.getItemDataSource().getBean()).getPrice());
                subtotal.setReadOnly(false);

                subtotal.setValue(nf.format(r.doubleValue()));
                subtotal.setReadOnly(true);
            } catch (ParseException ex) {
                Logger.getLogger(PurchaseItemForm.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    });

    CssLayout separator = new CssLayout();
    separator.setStyleName("expander");
    formLayout.addComponent(separator);
    formLayout.addComponent(save = new StyledButton("Aplicar", "primary", "save"));
    formLayout.addComponent(cancel = new StyledButton("Cancelar", "cancel", "cancel"));
    formLayout.addComponent(delete = new StyledButton("Quitar", "danger", "delete"));
    save.addClickListener((Button.ClickEvent event) -> {
        try {
            fieldGroup.commit();
            viewLogic.updateItem(fieldGroup.getItemDataSource().getBean());
        } catch (FieldGroup.CommitException e) {
            e.printStackTrace(System.err);
        }
    });
    cancel.addClickListener((Button.ClickEvent event) -> {
        viewLogic.cancelItemChanges();
    });
    delete.addClickListener((Button.ClickEvent event) -> {
        viewLogic.removeItem(fieldGroup.getItemDataSource().getBean());
    });

    addComponent(formLayout);
    configBinding();
}

From source file:ed.cracken.pos.ui.seller.SellItemForm.java

public SellItemForm(SellerLogic viewLogic) {

    setId("product-form");
    setStyleName("product-form-wrapper");
    addStyleName("product-form");
    VerticalLayout formLayout = new VerticalLayout();
    formLayout.setHeightUndefined();//  w w w.j a  v  a 2 s .  c o  m
    formLayout.setSpacing(true);
    formLayout.setStyleName("form-layout");
    formLayout.addComponent(productId = new TextField("Code"));
    formLayout.addComponent(description = new TextField("Description"));
    formLayout.addComponent(price = new DecimalNumberField("Price"));
    formLayout.addComponent(quantity = new DecimalNumberField("Quantity"));
    formLayout.addComponent(discount = new DecimalNumberField("Discount"));
    formLayout.addComponent(subtotal = new DecimalNumberField("Subtotal"));
    price.setConverter(BigDecimal.class);
    quantity.addTextChangeListener((FieldEvents.TextChangeEvent event) -> {
        if (!event.getText().isEmpty()) {
            try {
                NumberFormat nf = DecimalFormat.getInstance();
                nf.setMaximumFractionDigits(2);

                ItemTo item;
                BigDecimal r = BigDecimal.valueOf(nf.parse(event.getText()).longValue())
                        .multiply((item = fieldGroup.getItemDataSource().getBean()).getPrice());
                subtotal.setReadOnly(false);

                subtotal.setValue(nf.format(r.doubleValue()));
                subtotal.setReadOnly(true);
            } catch (ParseException ex) {
                Logger.getLogger(SellItemForm.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    });

    CssLayout separator = new CssLayout();
    separator.setStyleName("expander");
    formLayout.addComponent(separator);
    formLayout.addComponent(save = new StyledButton("Aplicar", "primary", "save"));
    formLayout.addComponent(cancel = new StyledButton("Cancelar", "cancel", "cancel"));
    formLayout.addComponent(delete = new StyledButton("Quitar", "danger", "delete"));
    save.addClickListener((Button.ClickEvent event) -> {
        try {
            fieldGroup.commit();
            viewLogic.updateItem(fieldGroup.getItemDataSource().getBean());
        } catch (FieldGroup.CommitException e) {
            e.printStackTrace(System.err);
        }
    });
    cancel.addClickListener((Button.ClickEvent event) -> {
        viewLogic.cancelItemChanges();
    });
    delete.addClickListener((Button.ClickEvent event) -> {
        viewLogic.removeItem(fieldGroup.getItemDataSource().getBean());
    });

    addComponent(formLayout);
    configBinding();
}

From source file:edu.nps.moves.mmowgli.components.WordCloudPanel.java

License:Open Source License

public WordCloudPanel(ClickListener lis) {
    super("Word root cloud");
    listener = lis;/*  w  w w . ja v a2  s  .  c o m*/
    scaler = new Scaler(NUMLEVELS);
    //scaler.setLevelMapper(mapper);
    scaler.setStyleMapper(styles);
    isIE7 = Mmowgli2UI.getGlobals().isIE7();
    if (!isIE7)
        setContent(meat = new CssLayout());
    else
        setContent(meat = new VerticalLayout());
}

From source file:edu.nps.moves.mmowgli.modules.maps.OpenLayersMap.java

License:Open Source License

public void initGuiTL() {
    setSpacing(true);/*from w w  w  .  j  a  v  a  2s  .  c  om*/
    setSizeUndefined();
    setWidth("100%");
    addStyleName("m-marginleft-20");

    Label lab;
    addComponent(lab = new HtmlLabel(title));
    lab.setWidth(null);
    setComponentAlignment(lab, Alignment.MIDDLE_CENTER);

    CssLayout cssLay = new CssLayout();
    cssLay.addStyleName("m-greybackground");
    cssLay.addStyleName("m-darkgreyborder");
    cssLay.setWidth("960px");
    cssLay.setHeight("600px");
    cssLay.setId("mmowgliMap");
    addComponent(cssLay);
    setComponentAlignment(cssLay, Alignment.TOP_CENTER);

    /* See http://wiki.openstreetmap.org/wiki/OpenLayers_Simple_Example
       This requires the  "http://openlayers.org/api/OpenLayers.js" file to be loaded:
       see the annotation in Mmowgli2UI.java. */

    /* One example layer:
        String js = 
        "var m_map = new OpenLayers.Map('mmowgliMap');"+
        "var m_wms = new OpenLayers.Layer.WMS( \"OpenLayers WMS\","+
            "\"http://vmap0.tiles.osgeo.org/wms/vmap0\", {layers: 'basic'} );"+
        "m_map.addLayer(m_wms);"+
        "m_map.zoomToMaxExtent();";
    */

    String jsOSM =

            "mMap = new OpenLayers.Map('mmowgliMap');" +

            //  "shadeLayer = new OpenLayers.Layer.WMS("+
            //  "\"Shaded Relief\"," +   
            //  "\"http://ims.cr.usgs.gov:80/servlet19/com.esri.wms.Esrimap/USGS_EDC_Elev_NED_3\","+
            //  "{layers: HR-NED.IMAGE, reaspect: false, transparent: true, visibility: false}); "+ 

                    "var osLay        = new OpenLayers.Layer.OSM();"
                    + "var fromProjection = new OpenLayers.Projection(\"EPSG:4326\");" + // Transform from WGS 1984
                    "var toProjection   = new OpenLayers.Projection(\"EPSG:900913\");" + // to Spherical Mercator Projection
                    "var position       = new OpenLayers.LonLat(-121.875267, 36.599878).transform( fromProjection, toProjection);"
                    + "var zoom           = 15;" +

                    " mMap.addLayer(osLay);" +
                    //" mMap.addLayer(shadeLayer);"+
                    //" mMap.addControl(new OpenLayers.Control.LayerSwitcher());"+
                    " mMap.setCenter(position, zoom );";

    /*
    String worldWind = 
    "mMap = new OpenLayers.Map('mmowgliMap', {'maxResolution': .28125, tileSize: new OpenLayers.Size(512, 512)});"+
    "var osLay        = new OpenLayers.Layer.OSM();"+      
            
    "var ol_wms = new OpenLayers.Layer.WMS( \"OpenLayers WMS\", \"http://vmap0.tiles.osgeo.org/wms/vmap0?\", {layers: 'basic'} );"+
    //  "var ww     = new OpenLayers.Layer.WorldWind( \"Bathy\",\"http://worldwind25.arc.nasa.gov/tile/tile.aspx?\", 36, 4,{T:\"bmng.topo.bathy.200406\"});"+
    //  "var ww2    = new OpenLayers.Layer.WorldWind( \"LANDSAT\",\"http://worldwind25.arc.nasa.gov/tile/tile.aspx\", 2.25, 4,{T:\"105\"});"+
    "mMap.addLayers([osLay]); //,ol_wms]);"+ //, ww, ww2]);"+
    //  "mMap.addControl(new OpenLayers.Control.LayerSwitcher());"+
    "var fromProjection = new OpenLayers.Projection(\"EPSG:4326\");"+   // Transform from WGS 1984
    "var toProjection   = new OpenLayers.Projection(\"EPSG:900913\");"+ // to Spherical Mercator Projection
    "var position       = new OpenLayers.LonLat(-121.875267, 36.599878).transform( fromProjection, toProjection);"+
    "var zoom           = 15;"+
            
    //"mMap.setCenter(new OpenLayers.LonLat(-71.4, 42.3), 6);"+
    " mMap.setCenter(position, zoom );"+
            
    ""; */

    JavaScript.getCurrent().execute(jsOSM);
}

From source file:edu.nps.moves.mmowgliMobile.ui.GameDataCategoriesView2.java

License:Open Source License

public GameDataCategoriesView2() {
    HSess.init();//from  w w  w.  j a  v a 2s  .  co  m
    setCaption(Game.getTL().getTitle());
    setWidth("100%");
    setHeight("100%");

    CssLayout root = new CssLayout();

    VerticalComponentGroup accounts = new VerticalComponentGroup();

    // Cards
    NavigationButton butt = new NavigationButton("Idea Cards");
    butt.setIcon(VaadinIcons.LIGHTBULB); //cardsIcon);
    butt.addStyleName("m-touchkit-blueicon");
    accounts.addComponent(butt);
    butt.addClickListener(new NavigationButton.NavigationButtonClickListener() {
        private static final long serialVersionUID = 1L;

        @Override
        public void buttonClick(NavigationButtonClickEvent event) {
            HSess.init();
            Folder[] fa = new Folder[2];
            CardType posTyp = CardType.getCurrentPositiveIdeaCardTypeTL(); // CardTypeManager.getPositiveIdeaCardTypeTL();
            Container cntr = new CardsByTypeContainer<Card>(posTyp);
            fa[0] = new Folder(posTyp.getTitle(), cntr, Card.class);
            fa[0].addParam(CardType.class.getSimpleName(), posTyp);

            CardType negTyp = CardType.getCurrentNegativeIdeaCardTypeTL(); //CardTypeManager.getNegativeIdeaCardTypeTL();
            cntr = new CardsByTypeContainer<Card>(negTyp);
            fa[1] = new Folder(negTyp.getTitle(), cntr, Card.class);
            fa[1].addParam(CardType.class.getSimpleName(), negTyp);

            // Go to a FolderView
            FolderView2 v = new FolderView2(fa, "Top Level Cards");
            getNavigationManager().navigateTo(v);
            HSess.close();
        }
    });

    // Action Plans
    butt = new NavigationButton("Action Plans");
    butt.setIcon(VaadinIcons.LIST);//apIcon
    butt.addStyleName("m-touchkit-blueicon");
    accounts.addComponent(butt);
    butt.addClickListener(new NavigationButton.NavigationButtonClickListener() {
        private static final long serialVersionUID = 1L;

        @Override
        public void buttonClick(NavigationButtonClickEvent event) {
            // go to a ListView
            Folder f = new Folder("Action Plans", new AllActionPlansContainer<Object>(), ActionPlan.class);
            getNavigationManager().navigateTo(new ListView2(f));
        }
    });

    butt = new NavigationButton("Player Profiles");
    butt.setIcon(VaadinIcons.USERS); //usersIcon);
    butt.addStyleName("m-touchkit-blueicon");
    accounts.addComponent(butt);
    butt.addClickListener(new NavigationButton.NavigationButtonClickListener() {
        private static final long serialVersionUID = 1L;

        @Override
        public void buttonClick(NavigationButtonClickEvent event) {
            // go to a ListView
            Folder f = new Folder("Player Profiles", new AllUsersContainer<Object>(), User.class);
            getNavigationManager().navigateTo(new ListView2(f));
        }
    });

    root.addComponent(accounts);
    setContent(root);
    setToolbar(new MmowgliFooter2());

    HSess.close();
}

From source file:fi.jasoft.dragdroplayouts.demo.views.DragdropHorizontalSplitPanelDemo.java

License:Apache License

@Override
public Component getLayout() {
    // start-source
    CssLayout root = new CssLayout();
    root.setSizeFull();/*from w ww .  j a v  a 2s .co m*/

    Label lbl = new Label("To the left are some buttons, and to the right is a horizontal split panel. "
            + "Try dragging the buttons on to the splitpanel. If a component already exists in the SplitPanel it is replaced with the dragged one.");
    root.addComponent(lbl);

    // Wrapping components in a horizontal layout
    HorizontalLayout inner = new HorizontalLayout();
    inner.setMargin(true);
    inner.setSizeFull();
    inner.setSpacing(true);
    root.addComponent(inner);

    // Add some buttons to a vertical layout with dragging enabled
    final DDVerticalLayout btns = new DDVerticalLayout();
    btns.setDragMode(LayoutDragMode.CLONE);
    btns.setSizeUndefined();
    btns.setSpacing(true);
    String caption = "Button ";
    btns.addComponent(new Button(caption + buttonCount++));
    btns.addComponent(new Button(caption + buttonCount++));
    btns.addComponent(new Button(caption + buttonCount++));
    btns.addComponent(new Button(caption + buttonCount++));
    btns.addComponent(new Button(caption + buttonCount++));
    inner.addComponent(btns);

    // Create a drag & drop horizontal split panel
    final DDHorizontalSplitPanel panel = new DDHorizontalSplitPanel();
    panel.setSizeFull();

    inner.addComponent(panel);
    inner.setExpandRatio(panel, 1);

    // Enable dragging
    panel.setDragMode(LayoutDragMode.CLONE);

    // Enable dropping
    panel.setDropHandler(new DefaultHorizontalSplitPanelDropHandler());

    // end-source
    return root;
}

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);
        }/*from  w ww.j  a v a 2s.  c o  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 editTags(final Main main, String title, final Base container) {

    final Database database = main.getDatabase();

    final Window subwindow = new Window(title, new VerticalLayout());
    subwindow.setModal(true);/*from  w  w  w  . jav  a2  s . co m*/
    subwindow.setWidth("400px");
    subwindow.setHeight("360px");
    subwindow.setResizable(true);

    VerticalLayout winLayout = (VerticalLayout) subwindow.getContent();
    winLayout.setMargin(true);
    winLayout.setSpacing(true);

    // Add some content; a label and a close-button
    final List<String> tags = new ArrayList<String>();
    for (Tag t : container.getRelatedTags(database))
        tags.add(t.getId(database));

    final CssLayout vl = new CssLayout();
    vl.setCaption("Kytss olevat aihetunnisteet:");
    fillTagEditor(database, vl, tags, Account.canWrite(main, container));
    winLayout.addComponent(vl);

    HorizontalLayout hl = new HorizontalLayout();
    hl.setWidth("100%");
    hl.setSpacing(true);

    final TagCombo combo = new TagCombo();
    final CustomLazyContainer comboContainer = new CustomLazyContainer(database, combo,
            Tag.enumerate(database));
    combo.setWidth("100%");
    combo.setCaption("Uusi aihetunniste:");
    combo.setInputPrompt("valitse listasta tai kirjoita");
    combo.setFilteringMode(FilteringMode.STARTSWITH);
    combo.setTextInputAllowed(true);
    combo.setImmediate(true);
    combo.setNullSelectionAllowed(false);
    combo.setInvalidAllowed(true);
    combo.setInvalidCommitted(true);
    combo.setItemCaptionMode(ItemCaptionMode.PROPERTY);
    combo.setItemCaptionPropertyId("id"); //should set
    combo.setContainerDataSource(comboContainer);

    hl.addComponent(combo);
    hl.setExpandRatio(combo, 1.0f);

    Button add = new Button("Lis", new Button.ClickListener() {

        private static final long serialVersionUID = -2848576385076605664L;

        public void buttonClick(ClickEvent event) {
            String filter = (String) combo.getValue();
            if (filter != null && filter.length() > 0) {
                Tag t = database.getOrCreateTag(filter);
                if (tags.contains(t.getId(database)))
                    return;
                tags.add(t.getId(database));
                fillTagEditor(database, vl, tags, main.account != null);
                combo.clear();
            }
        }
    });
    hl.addComponent(add);
    hl.setComponentAlignment(add, Alignment.BOTTOM_LEFT);
    hl.setExpandRatio(add, 0.0f);

    winLayout.addComponent(hl);

    Button close = new Button("Tallenna", new Button.ClickListener() {

        private static final long serialVersionUID = -451523776456589591L;

        public void buttonClick(ClickEvent event) {
            main.removeWindow(subwindow);
            List<Tag> newTags = new ArrayList<Tag>();
            for (String s : tags)
                newTags.add(database.getOrCreateTag(s));
            container.setRelatedTags(database, newTags);
            Updates.update(main, true);
        }
    });
    Button discard = new Button("Peru muutokset", new Button.ClickListener() {

        private static final long serialVersionUID = -2387057110951581993L;

        public void buttonClick(ClickEvent event) {
            main.removeWindow(subwindow);
        }
    });

    HorizontalLayout hl2 = new HorizontalLayout();
    hl2.setSpacing(true);
    hl2.addComponent(close);
    hl2.addComponent(discard);
    winLayout.addComponent(hl2);
    winLayout.setComponentAlignment(hl2, Alignment.MIDDLE_CENTER);

    main.addWindow(subwindow);

}

From source file:fr.amapj.view.engine.menu.MenuPart.java

License:Open Source License

public void buildMainView(final AmapUI ui, ValoMenuLayout root) {
    root.prepareForMainPage();// w  w w .jav  a 2 s.  c o  m

    viewNameToMenuButton = new HashMap<String, Button>();

    CssLayout menu = new CssLayout();
    CssLayout menuItemsLayout = new CssLayout();

    if (ui.getPage().getWebBrowser().isIE() && ui.getPage().getWebBrowser().getBrowserMajorVersion() == 9) {
        menu.setWidth("320px");
    }

    // Chargement de tous les menus accesibles par l'utilisateur
    // et cration du "navigator"
    List<MenuDescription> allMenus = MenuInfo.getInstance().getMenu();

    Navigator nav = new Navigator(ui, root.getContentContainer());
    nav.addViewChangeListener(new ViewChangeListener() {

        @Override
        public boolean beforeViewChange(ViewChangeEvent event) {
            logger.info("Entre dans l'cran {}", event.getViewName());
            return true;
        }

        @Override
        public void afterViewChange(ViewChangeEvent event) {
            menu.removeStyleName("valo-menu-visible");
        }
    });

    if (allMenus.size() > 0) {
        MenuDescription first = allMenus.get(0);
        nav.setErrorView(first.getViewClass());
    }

    for (MenuDescription mD : allMenus) {
        nav.addView("/" + mD.getMenuName().name().toLowerCase(), mD.getViewClass());
    }

    // Cration du menu 
    root.addMenu(buildMenu(menu, menuItemsLayout, allMenus, nav, ui));

}