Example usage for com.vaadin.ui Image Image

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

Introduction

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

Prototype

public Image(String caption, Resource source) 

Source Link

Document

Creates a new Image whose contents is loaded from given resource.

Usage

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

License:Open Source License

@SuppressWarnings("serial")
@Override//  w  w w  .java 2 s  .c  o m
public void initGui() {
    VerticalLayout mainLayout = new VerticalLayout();
    mainLayout.setSizeFull();
    mainLayout.setMargin(true); //test
    mainLayout.setSpacing(true);
    MediaLocator medLoc = Mmowgli2UI.getGlobals().getMediaLocator();
    Label sp;
    setContent(mainLayout);

    Panel p = new Panel(imgLay = new HorizontalLayout());
    imgLay.setSpacing(true);

    p.setWidth("100%");
    mainLayout.addComponent(p);

    Collection<?> lis = Avatar.getContainer().getItemIds();
    avIdArr = new Object[lis.size()];

    int idx = 0;

    for (Object id : lis) {
        avIdArr[idx++] = id;
        if (initSelectedID == null)
            initSelectedID = id; // sets first one
        Avatar a = Avatar.getTL(id);
        Image em = new Image(null, medLoc.locate(a.getMedia()));
        em.setWidth("95px");
        em.setHeight("95px");
        em.addClickListener(new ImageClicked());

        if (id.equals(initSelectedID)) {
            em.addStyleName("m-orangeborder5");
            lastSel = em;
        } else
            em.addStyleName("m-greyborder5");
        imgLay.addComponent(em);
    }

    butts = new HorizontalLayout();
    butts.setWidth("100%");
    butts.setSpacing(true);
    mainLayout.addComponent(butts);

    butts.addComponent(sp = new Label());
    sp.setWidth("1px");
    butts.setExpandRatio(sp, 1.0f);

    NativeButton cancelButt = new NativeButton();
    medLoc.decorateCancelButton(cancelButt);
    butts.addComponent(cancelButt);

    NativeButton selectButt = new NativeButton();
    medLoc.decorateSelectButton(selectButt);
    butts.addComponent(selectButt);

    butts.addComponent(sp = new Label(""));
    sp.setWidth("20px");

    mainLayout.addComponent(sp = new Label(""));
    sp.setHeight("1px");
    mainLayout.setExpandRatio(sp, 1.0f);
    ;

    cancelButt.addClickListener(new ClickListener() {
        @Override
        @MmowgliCodeEntry
        public void buttonClick(ClickEvent event) {
            cancelClick();
        }
    });
    selectButt.addClickListener(new ClickListener() {
        @Override
        @MmowgliCodeEntry
        public void buttonClick(ClickEvent event) {
            selectClick();
        }
    });
}

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

License:Open Source License

@Override
public void initGui() {
    setCaption(caption);/*from   w w  w . jav a 2 s  . c  o m*/
    //setScrollable(true);

    imgLay = new HorizontalLayout();
    setContent(imgLay);
    //  imgLay.setHeight("105px");
    imgLay.setSpacing(true);

    @SuppressWarnings("unchecked")
    HbnContainer<Avatar> contr = (HbnContainer<Avatar>) HSess.getContainer(Avatar.class);
    Collection<?> lis = contr.getItemIds();
    avIdArr = new Object[lis.size()];

    int idx = 0;
    MediaLocator loc = Mmowgli2UI.getGlobals().mediaLocator();

    for (Object id : lis) {
        avIdArr[idx++] = id;

        Avatar a = Avatar.getTL(id);
        Image em = new Image(null, loc.locate(a.getMedia()));
        em.setWidth("95px");
        em.setHeight("95px");
        em.addClickListener(new ImageClicked());
        em.addStyleName("m-greyborder5"); //m-orangeborder5
        imgLay.addComponent(em);
    }

}

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

License:Open Source License

@Override
public void initGui() {
    outerLayout = new VerticalLayout();
    outerLayout.setSpacing(false);//  ww  w.  j a  v a  2 s  .c om
    outerLayout.setSizeUndefined();
    outerLayout.addStyleName("m-transparent");
    setContent(outerLayout);

    Label sp;
    sp = new Label();
    sp.setHeight("100px");
    outerLayout.addComponent(sp);

    HorizontalLayout headerWrapper2 = new HorizontalLayout();
    outerLayout.addComponent(headerWrapper2); // at the top
    headerWrapper2.addStyleName("m-dialog-header");
    headerWrapper2.setHeight("75px");
    headerWrapper2.setWidth("592px");
    headerWrapper2.setSpacing(false);
    headerWrapper2.setMargin(false);
    headerWrapper2.addComponent(sp = new Label()); // indent from left
    sp.setWidth("45px");

    headerHL2 = new HorizontalLayout(); // Where the title gets written
    headerHL2.setSpacing(false);
    headerHL2.setMargin(false);
    headerHL2.setHeight("75px");
    headerWrapper2.addComponent(headerHL2);
    headerWrapper2.setExpandRatio(headerHL2, 1.0f);

    cancelButt = makeCancelButton();
    cancelButt.addClickListener(new MyCancelListener());
    cancelButt.setClickShortcut(KeyCode.ESCAPE);
    headerWrapper2.addComponent(cancelButt);
    headerWrapper2.setComponentAlignment(cancelButt, Alignment.MIDDLE_CENTER);

    headerWrapper2.addComponent(sp = new Label());
    sp.setWidth("15px");

    contentVLayout = new VerticalLayout();
    contentVLayout.addStyleName("m-dialog-content");
    contentVLayout.setSizeUndefined();
    contentVLayout.setWidth("592px"); // but do the width explicitly

    outerLayout.addComponent(contentVLayout);

    Image footer = new Image(null, Mmowgli2UI.getGlobals().mediaLocator().getDialogFooterBackground());
    footer.setWidth("592px");
    footer.setHeight("36px");
    outerLayout.addComponent(footer);
}

From source file:eu.fp7.eagle.portal.ui.dashboard.design.impl.BadgesDesignImpl.java

License:Apache License

private void initImages(Map<String, Boolean> greyParams) {

    basepath = VaadinService.getCurrent().getBaseDirectory().getAbsolutePath();
    FileResource resourceImageBadgeOC = null;
    FileResource resourceImageBadgeStar1OC = null;
    FileResource resourceImageBadgeStar2OC = null;
    FileResource resourceImageBadgeStar3OC = null;
    FileResource resourceImageBadgeFlagOC = null;

    FileResource resourceImageBadgeRev = null;
    FileResource resourceImageBadgeStar1Rev = null;
    FileResource resourceImageBadgeStar2Rev = null;
    FileResource resourceImageBadgeStar3Rev = null;
    FileResource resourceImageBadgeFlagRev = null;

    FileResource resourceImageBadgeNet = null;
    FileResource resourceImageBadgeStar1Net = null;
    FileResource resourceImageBadgeStar2Net = null;
    FileResource resourceImageBadgeStar3Net = null;
    FileResource resourceImageBadgeFlagNet = null;

    if (greyParams.get("OER_CREATOR")) {
        resourceImageBadgeOC = new FileResource(
                new File(basepath + "/VAADIN/themes/eagle/images/grey/badge2.png"));
        resourceImageBadgeStar1OC = new FileResource(
                new File(basepath + "/VAADIN/themes/eagle/images/grey/39l38h/1star_orange.png"));
        resourceImageBadgeStar2OC = new FileResource(
                new File(basepath + "/VAADIN/themes/eagle/images/grey/39l38h/2star_orange.png"));
        resourceImageBadgeStar3OC = new FileResource(
                new File(basepath + "/VAADIN/themes/eagle/images/grey/39l38h/3star_orange.png"));
        resourceImageBadgeFlagOC = new FileResource(
                new File(basepath + "/VAADIN/themes/eagle/images/grey/39l38h/orange_flag.png"));
    }//from w w w . j a va 2 s  .  co  m

    else {
        resourceImageBadgeOC = new FileResource(
                new File(basepath + "/VAADIN/themes/eagle/images/color/badge2.png"));
        resourceImageBadgeStar1OC = new FileResource(
                new File(basepath + "/VAADIN/themes/eagle/images/color/39l38h/1star_green.png"));
        resourceImageBadgeStar2OC = new FileResource(
                new File(basepath + "/VAADIN/themes/eagle/images/color/39l38h/2star_green.png"));
        resourceImageBadgeStar3OC = new FileResource(
                new File(basepath + "/VAADIN/themes/eagle/images/color/39l38h/3star_green.png"));
        resourceImageBadgeFlagOC = new FileResource(
                new File(basepath + "/VAADIN/themes/eagle/images/color/39l38h/green_flag.png"));
    }

    if (greyParams.get("REVIEWER")) {
        resourceImageBadgeRev = new FileResource(
                new File(basepath + "/VAADIN/themes/eagle/images/grey/badge1.png"));
        resourceImageBadgeStar1Rev = new FileResource(
                new File(basepath + "/VAADIN/themes/eagle/images/grey/39l38h/1star_orange.png"));
        resourceImageBadgeStar2Rev = new FileResource(
                new File(basepath + "/VAADIN/themes/eagle/images/grey/39l38h/2star_orange.png"));
        resourceImageBadgeStar3Rev = new FileResource(
                new File(basepath + "/VAADIN/themes/eagle/images/grey/39l38h/3star_orange.png"));
        resourceImageBadgeFlagRev = new FileResource(
                new File(basepath + "/VAADIN/themes/eagle/images/grey/39l38h/orange_flag.png"));
    }

    else {
        resourceImageBadgeRev = new FileResource(
                new File(basepath + "/VAADIN/themes/eagle/images/color/badge1.png"));
        resourceImageBadgeStar1Rev = new FileResource(
                new File(basepath + "/VAADIN/themes/eagle/images/color/39l38h/1star_orange.png"));
        resourceImageBadgeStar2Rev = new FileResource(
                new File(basepath + "/VAADIN/themes/eagle/images/color/39l38h/2star_orange.png"));
        resourceImageBadgeStar3Rev = new FileResource(
                new File(basepath + "/VAADIN/themes/eagle/images/color/39l38h/3star_orange.png"));
        resourceImageBadgeFlagRev = new FileResource(
                new File(basepath + "/VAADIN/themes/eagle/images/color/39l38h/orange_flag.png"));
    }

    if (greyParams.get("NETWORKER")) {
        resourceImageBadgeNet = new FileResource(
                new File(basepath + "/VAADIN/themes/eagle/images/grey/badge3.png"));
        resourceImageBadgeStar1Net = new FileResource(
                new File(basepath + "/VAADIN/themes/eagle/images/grey/39l38h/1star_orange.png"));
        resourceImageBadgeStar2Net = new FileResource(
                new File(basepath + "/VAADIN/themes/eagle/images/grey/39l38h/2star_orange.png"));
        resourceImageBadgeStar3Net = new FileResource(
                new File(basepath + "/VAADIN/themes/eagle/images/grey/39l38h/3star_orange.png"));
        resourceImageBadgeFlagNet = new FileResource(
                new File(basepath + "/VAADIN/themes/eagle/images/grey/39l38h/orange_flag.png"));
    }

    else {
        resourceImageBadgeNet = new FileResource(
                new File(basepath + "/VAADIN/themes/eagle/images/color/badge3.png"));
        resourceImageBadgeStar1Net = new FileResource(
                new File(basepath + "/VAADIN/themes/eagle/images/color/39l38h/1star_blue.png"));
        resourceImageBadgeStar2Net = new FileResource(
                new File(basepath + "/VAADIN/themes/eagle/images/color/39l38h/2star_blue.png"));
        resourceImageBadgeStar3Net = new FileResource(
                new File(basepath + "/VAADIN/themes/eagle/images/color/39l38h/3star_blue.png"));
        resourceImageBadgeFlagNet = new FileResource(
                new File(basepath + "/VAADIN/themes/eagle/images/color/39l38h/blue_flag.png"));
    }

    imageBadgeOC = new Image(null, resourceImageBadgeOC);
    imageBadgeStar1OC = new Image(null, resourceImageBadgeStar1OC);
    imageBadgeStar2OC = new Image(null, resourceImageBadgeStar2OC);
    imageBadgeStar3OC = new Image(null, resourceImageBadgeStar3OC);
    imageBadgeFlagOC = new Image(null, resourceImageBadgeFlagOC);

    imageBadgeRev = new Image(null, resourceImageBadgeRev);
    imageBadgeStar1Rev = new Image(null, resourceImageBadgeStar1Rev);
    imageBadgeStar2Rev = new Image(null, resourceImageBadgeStar2Rev);
    imageBadgeStar3Rev = new Image(null, resourceImageBadgeStar3Rev);
    imageBadgeFlagRev = new Image(null, resourceImageBadgeFlagRev);

    imageBadgeNet = new Image(null, resourceImageBadgeNet);
    imageBadgeStar1Net = new Image(null, resourceImageBadgeStar1Net);
    imageBadgeStar2Net = new Image(null, resourceImageBadgeStar2Net);
    imageBadgeStar3Net = new Image(null, resourceImageBadgeStar3Net);
    imageBadgeFlagNet = new Image(null, resourceImageBadgeFlagNet);

}

From source file:fi.aalto.drumbeat.drumbeatUI.DrumbeatinterfaceUI.java

License:Open Source License

@Override
protected void init(VaadinRequest request) {
    String basepath = VaadinService.getCurrent().getBaseDirectory().getAbsolutePath();

    // Image as a file resource
    FileResource resource = new FileResource(new File(basepath + "/WEB-INF/images/drumbeat_banner.jpg"));

    // Show the image in the application
    Image drumbeat_logo = new Image("Aalto University Drumbeat User Interface", resource);
    final VerticalLayout layout = new VerticalLayout();
    setContent(layout);/*from   w  w  w.  java  2s  .c  o  m*/
    layout.addComponent(drumbeat_logo);

    layout.setMargin(true);
    layout.addComponent(tabsheet);

    createTab_Sites();

    createTab_Datasets();

    createTab_Queries();

    createTab_Links();

    creatTab_Resources();

    updateData();
    listSites();
}

From source file:fi.jasoft.draganddrop.demos.DragDemo.java

License:Apache License

@Override
protected Component getDemoContent() {
    HorizontalLayout hl = new HorizontalLayout();
    hl.setSizeFull();//from   w ww. ja v a 2s.  c o  m

    // source-start
    // Create image
    Image image = new Image(null, new ThemeResource("graphics/bin.jpg"));

    // Enable dropping items on image
    DragAndDrop.enable(image, DragAndDropOperation.DROP)

            // Set custom drop handler
            .onDrop(new DropHandler<Image>() {

                @Override
                protected void onDrop(Component component) {

                    // Restor trash bin
                    getSource().setSource(new ThemeResource("graphics/bin.jpg"));

                    // Remove item
                    ((ComponentContainer) component.getParent()).removeComponent(component);
                }
            })

            // Set custom over handler
            .onOver(new DragOverHandler<Image>() {

                @Override
                protected void onOver(Component component) {

                    // Add color to trash bin
                    getSource().setSource(new ThemeResource("graphics/bin2.jpg"));
                }
            })

            // Set custom out handler
            .onOut(new DragOutHandler<Image>() {

                @Override
                protected void onOut(Component component) {

                    // Restore trash bin
                    getSource().setSource(new ThemeResource("graphics/bin.jpg"));
                }
            });

    // source-end

    hl.addComponent(image);
    hl.setComponentAlignment(image, Alignment.TOP_CENTER);

    VerticalLayout vl = new VerticalLayout();
    vl.setSizeUndefined();
    vl.setSpacing(true);
    hl.addComponent(vl);
    hl.setComponentAlignment(vl, Alignment.TOP_CENTER);

    // source-start
    /*
     * Create item list to drag from
     */
    for (int i = 0; i < 5; i++) {
        Label item = new Label("Item " + (i + 1));
        item.setStyleName("item");
        item.setSizeUndefined();

        // Enable dragging the items
        DragAndDrop.enable(item, DragAndDropOperation.DRAG);

        vl.addComponent(item);
    }
    // source-end

    return hl;
}

From source file:fi.semantum.strategia.Updates.java

License:Open Source License

public static void updateTags(final Main main) {

    final Database database = main.getDatabase();

    main.tags.removeAllComponents();//  w  w  w . java2  s.  c  o  m
    main.tags.setMargin(true);

    ArrayList<Tag> sorted = new ArrayList<Tag>(Tag.enumerate(database));
    Collections.sort(sorted, new Comparator<Tag>() {

        @Override
        public int compare(Tag arg0, Tag arg1) {
            return arg0.getId(database).compareTo(arg1.getId(database));
        }

    });

    for (final Tag t : sorted) {

        final HorizontalLayout hl = new HorizontalLayout();
        hl.setSpacing(true);
        Label l = new Label(t.getId(database));
        l.setSizeUndefined();
        l.addStyleName(ValoTheme.LABEL_HUGE);

        hl.addComponent(l);
        hl.setComponentAlignment(l, Alignment.BOTTOM_LEFT);

        final Image select = new Image("", new ThemeResource("cursor.png"));
        select.setHeight("24px");
        select.setWidth("24px");
        select.setDescription("Valitse");
        select.addClickListener(new MouseEvents.ClickListener() {

            private static final long serialVersionUID = 3734678948272593793L;

            @Override
            public void click(com.vaadin.event.MouseEvents.ClickEvent event) {
                main.setCurrentItem(t, main.getUIState().currentPosition);
                Utils.loseFocus(select);
            }

        });
        hl.addComponent(select);
        hl.setComponentAlignment(select, Alignment.BOTTOM_LEFT);

        final Image edit = new Image("", new ThemeResource("table_edit.png"));
        edit.setHeight("24px");
        edit.setWidth("24px");
        edit.setDescription("Muokkaa");
        edit.addClickListener(new MouseEvents.ClickListener() {

            private static final long serialVersionUID = -3792353723974454702L;

            @Override
            public void click(com.vaadin.event.MouseEvents.ClickEvent event) {
                Utils.editTextAndId(main, "Muokkaa aihetunnistetta", t);
                updateTags(main);
            }

        });
        hl.addComponent(edit);
        hl.setComponentAlignment(edit, Alignment.BOTTOM_LEFT);

        main.tags.addComponent(hl);
        main.tags.setComponentAlignment(hl, Alignment.MIDDLE_CENTER);

        Label l2 = new Label(t.getText(database));
        l2.addStyleName(ValoTheme.LABEL_LIGHT);
        l2.setSizeUndefined();
        main.tags.addComponent(l2);
        main.tags.setComponentAlignment(l2, Alignment.MIDDLE_CENTER);

    }

}

From source file:fi.semantum.strategia.widget.Indicator.java

License:Open Source License

public static void updateIndicators(final Main main, final Base base, boolean canWrite) {

    final Database database = main.getDatabase();

    List<IndicatorDescription> descs = new ArrayList<IndicatorDescription>();
    fillIndicatorDescriptions(main, base, "", descs);

    boolean isMap = base instanceof Strategiakartta;

    if (isMap && (!descs.isEmpty() || canWrite)) {

        HorizontalLayout indiHeader = new HorizontalLayout();
        indiHeader.setSpacing(true);//  w w w  .  jav  a 2  s .  c o m

        Label header = new Label("Indikaattorit (ennuste)");
        main.propertyCells.add(Utils.excelRow(header.getValue()));
        header.setHeight("32px");
        header.addStyleName(ValoTheme.LABEL_HUGE);
        header.addStyleName(ValoTheme.LABEL_BOLD);
        indiHeader.addComponent(header);
        indiHeader.setComponentAlignment(header, Alignment.BOTTOM_CENTER);

        if (canWrite) {

            final Image editIndicators = new Image(null, new ThemeResource("chart_line_edit.png"));
            editIndicators.setHeight("24px");
            editIndicators.setWidth("24px");
            editIndicators.addClickListener(new MouseEvents.ClickListener() {

                private static final long serialVersionUID = 2661060702097338722L;

                @Override
                public void click(com.vaadin.event.MouseEvents.ClickEvent event) {
                    Utils.loseFocus(editIndicators);
                    manageIndicators(main, main.getUIState().currentItem);
                }

            });

            indiHeader.addComponent(editIndicators);
            indiHeader.setComponentAlignment(editIndicators, Alignment.BOTTOM_CENTER);

        }

        main.properties.addComponent(indiHeader);
        main.properties.setComponentAlignment(indiHeader, Alignment.MIDDLE_CENTER);

        VerticalLayout indicators = new VerticalLayout();

        boolean showYears = main.getUIState().time.equals(Property.AIKAVALI_KAIKKI);

        Property time = Property.find(database, Property.AIKAVALI);

        int index = 0;
        for (final IndicatorDescription desc : descs) {

            ArrayList<String> excelRow = new ArrayList<String>();

            Indicator indicator = desc.indicator;

            final HorizontalLayout hl = new HorizontalLayout();
            hl.addStyleName((((index++) & 1) == 0) ? "evenProperty" : "oddProperty");
            hl.setSpacing(true);

            Label l = new Label(desc.caption);
            excelRow.add(l.getValue().replace("%nbsp", ""));
            l.setContentMode(ContentMode.HTML);
            l.setWidth("450px");
            l.addStyleName("propertyName");
            l.setData(desc);
            hl.addComponent(l);
            hl.setComponentAlignment(l, Alignment.MIDDLE_LEFT);

            String value = updateIndicatorValue(main, hl, base, indicator, canWrite);
            excelRow.add(value);

            Label unit = new Label(indicator.getUnit());
            unit.setWidth("100px");
            hl.addComponent(unit);
            hl.setComponentAlignment(unit, Alignment.MIDDLE_LEFT);
            excelRow.add(unit.getValue());

            Label comment = new Label(indicator.getValueShortComment());
            comment.setWidth("150px");
            hl.addComponent(comment);
            hl.setComponentAlignment(comment, Alignment.MIDDLE_LEFT);
            excelRow.add(comment.getValue());

            if (showYears) {

                HorizontalLayout hl2 = new HorizontalLayout();
                hl2.setWidth("70px");
                hl2.setHeight("100%");
                hl.addComponent(hl2);
                hl.setComponentAlignment(hl2, Alignment.MIDDLE_LEFT);

                String years = time.getPropertyValue(indicator);
                if (years == null)
                    years = Property.AIKAVALI_KAIKKI;

                final Label region = new Label(years);
                region.setWidthUndefined();

                excelRow.add(region.getValue());

                hl2.addComponent(region);
                hl2.setComponentAlignment(region, Alignment.MIDDLE_CENTER);

            }

            final Image wiki = new Image();
            wiki.setSource(new ThemeResource("table_edit.png"));
            wiki.setHeight("24px");
            wiki.setWidth("24px");
            wiki.addClickListener(new MouseEvents.ClickListener() {

                private static final long serialVersionUID = 2661060702097338722L;

                @Override
                public void click(com.vaadin.event.MouseEvents.ClickEvent event) {
                    Wiki.openWiki(main, desc.indicator);
                }

            });

            hl.addComponent(wiki);
            hl.setComponentAlignment(wiki, Alignment.MIDDLE_CENTER);

            indicators.addComponent(hl);
            indicators.setComponentAlignment(hl, Alignment.MIDDLE_CENTER);

            main.propertyCells.add(excelRow);

        }

        indicators.addLayoutClickListener(new LayoutClickListener() {

            private static final long serialVersionUID = 3295743025581923380L;

            private String extractData(Component c) {
                if (c instanceof AbstractComponent) {
                    Object data = ((AbstractComponent) c).getData();
                    if (data instanceof IndicatorDescription) {
                        IndicatorDescription desc = (IndicatorDescription) data;
                        return desc.indicator.getDescription(database);
                    }
                }
                return null;
            }

            @Override
            public void layoutClick(LayoutClickEvent event) {

                String desc = extractData(event.getClickedComponent());
                if (desc == null)
                    return;

                String content = "<div style=\"width: 700px; border: 2px solid; padding: 5px\">";
                content += "<div style=\"text-align: center; white-space:normal; font-size: 36px; padding: 10px\">"
                        + desc + "</div>";
                content += "</div>";

                Notification n = new Notification(content, Notification.Type.HUMANIZED_MESSAGE);
                n.setHtmlContentAllowed(true);
                n.show(Page.getCurrent());

            }

        });

        main.properties.addComponent(indicators);
        main.properties.setComponentAlignment(indicators, Alignment.MIDDLE_CENTER);

    }

}

From source file:fi.semantum.strategia.widget.Meter.java

License:Open Source License

public static void updateMeters(final Main main, boolean canWrite) {

    if (main.getUIState().currentItem instanceof Strategiakartta)
        return;//  w w w . j  av  a 2 s.  c  o  m

    final Database database = main.getDatabase();

    final Base base = main.getUIState().currentItem;

    List<MeterDescription> descs = makeMeterDescriptions(main, base, false);
    if (!descs.isEmpty() || canWrite) {

        HorizontalLayout meterHeader = new HorizontalLayout();
        meterHeader.setSpacing(true);

        Label header = new Label("Mittarit");
        main.propertyCells.add(Utils.excelRow(header.getValue()));
        header.setHeight("32px");
        header.addStyleName(ValoTheme.LABEL_HUGE);
        header.addStyleName(ValoTheme.LABEL_BOLD);
        meterHeader.addComponent(header);
        meterHeader.setComponentAlignment(header, Alignment.BOTTOM_CENTER);

        if (canWrite) {

            final Image editMeters = new Image(null, new ThemeResource("chart_bar_edit.png"));
            editMeters.setHeight("24px");
            editMeters.setWidth("24px");
            editMeters.addClickListener(new MouseEvents.ClickListener() {

                private static final long serialVersionUID = 2661060702097338722L;

                @Override
                public void click(com.vaadin.event.MouseEvents.ClickEvent event) {
                    Utils.loseFocus(editMeters);
                    manageMeters(main, main.getUIState().currentItem);
                }

            });

            meterHeader.addComponent(editMeters);
            meterHeader.setComponentAlignment(editMeters, Alignment.BOTTOM_CENTER);

        }

        main.properties.addComponent(meterHeader);
        main.properties.setComponentAlignment(meterHeader, Alignment.MIDDLE_CENTER);

        VerticalLayout meters = new VerticalLayout();

        boolean showYears = main.getUIState().time.equals(Property.AIKAVALI_KAIKKI);

        Property time = Property.find(database, Property.AIKAVALI);

        int index = 0;
        for (final MeterDescription desc : descs) {

            ArrayList<String> excelRow = new ArrayList<String>();

            final Meter meter = desc.meter;

            final HorizontalLayout hl = new HorizontalLayout();
            hl.addStyleName((((index++) & 1) == 0) ? "evenProperty" : "oddProperty");
            hl.setSpacing(true);

            Label l = new Label(desc.caption);
            excelRow.add(l.getValue().replace("%nbsp", ""));
            l.setContentMode(ContentMode.HTML);
            l.setWidth("450px");
            l.addStyleName("propertyName");
            l.setData(desc);
            hl.addComponent(l);
            hl.setComponentAlignment(l, Alignment.MIDDLE_LEFT);

            String value = updateMeterValue(main, hl, base, meter, canWrite);
            excelRow.add(value);

            String shortComment = "";
            Indicator indicator = meter.getPossibleIndicator(database);
            if (indicator != null)
                shortComment = indicator.getValueShortComment();
            Label comment = new Label(shortComment);
            comment.setWidth("150px");
            hl.addComponent(comment);
            hl.setComponentAlignment(comment, Alignment.MIDDLE_LEFT);
            excelRow.add(comment.getValue());

            if (showYears) {

                HorizontalLayout hl2 = new HorizontalLayout();
                hl2.setWidth("70px");
                hl2.setHeight("100%");
                hl.addComponent(hl2);
                hl.setComponentAlignment(hl2, Alignment.MIDDLE_LEFT);

                String years = time.getPropertyValue(meter);
                if (years == null)
                    years = Property.AIKAVALI_KAIKKI;

                final Label region = new Label(years);
                region.setWidthUndefined();

                excelRow.add(region.getValue());

                hl2.addComponent(region);
                hl2.setComponentAlignment(region, Alignment.MIDDLE_CENTER);

            }

            AbsoluteLayout image = new AbsoluteLayout();
            image.setWidth("32px");
            image.setHeight("32px");
            image.addStyleName("meterColor" + index);

            String color = meter.getTrafficColor(database);

            Styles styles = Page.getCurrent().getStyles();
            styles.add(
                    ".fi_semantum_strategia div." + "meterColor" + index + " { background: " + color + "; }");

            hl.addComponent(image);
            hl.setComponentAlignment(image, Alignment.MIDDLE_CENTER);
            hl.setExpandRatio(image, 0.0f);

            meters.addComponent(hl);
            meters.setComponentAlignment(hl, Alignment.MIDDLE_CENTER);

            ThemeResource res = desc.meter.showInMap ? new ThemeResource("zoom.png")
                    : new ThemeResource("zoom_out.png");

            final Image show = new Image();
            show.setSource(res);
            show.setHeight("24px");
            show.setWidth("24px");
            if (canWrite) {
                show.setDescription("Klikkaamalla voit valita, nytetnk mittaria strategiakartassa");
                show.addClickListener(new MouseEvents.ClickListener() {

                    private static final long serialVersionUID = 7156984656942915939L;

                    @Override
                    public void click(com.vaadin.event.MouseEvents.ClickEvent event) {
                        desc.meter.setShowInMap(!desc.meter.showInMap);
                        Updates.update(main, true);
                    }

                });
            }

            hl.addComponent(show);
            hl.setComponentAlignment(show, Alignment.MIDDLE_CENTER);

            final Image wiki = new Image();
            wiki.setSource(new ThemeResource("table_edit.png"));
            wiki.setHeight("24px");
            wiki.setWidth("24px");
            wiki.setDescription("Klikkaamalla voit siirty tausta-asiakirjaan");
            wiki.addClickListener(new MouseEvents.ClickListener() {

                private static final long serialVersionUID = 7156984656942915939L;

                @Override
                public void click(com.vaadin.event.MouseEvents.ClickEvent event) {
                    Wiki.openWiki(main, desc.meter);
                }

            });

            hl.addComponent(wiki);
            hl.setComponentAlignment(wiki, Alignment.MIDDLE_CENTER);

            if (canWrite) {
                final Button principalButton = new Button();
                if (meter.isPrincipal) {
                    principalButton.setCaption("Poista kokonaisarvio");
                } else {
                    principalButton.setCaption("Aseta kokonaisarvioksi");
                }
                principalButton.setStyleName(ValoTheme.BUTTON_TINY);
                principalButton.addClickListener(new ClickListener() {

                    private static final long serialVersionUID = 8247560202892661226L;

                    @Override
                    public void buttonClick(ClickEvent event) {
                        if (meter.isPrincipal) {
                            meter.isPrincipal = false;
                        } else {
                            for (Meter m : base.getMeters(database))
                                m.isPrincipal = false;
                            meter.isPrincipal = true;
                        }
                        Updates.update(main, true);

                    }

                });
                hl.addComponent(principalButton);
                hl.setComponentAlignment(principalButton, Alignment.MIDDLE_CENTER);
            }

            main.propertyCells.add(excelRow);

        }

        meters.addLayoutClickListener(new LayoutClickListener() {

            private static final long serialVersionUID = 3295743025581923380L;

            private String extractData(Component c) {
                if (c instanceof AbstractComponent) {
                    Object data = ((AbstractComponent) c).getData();
                    if (data instanceof MeterDescription) {
                        MeterDescription desc = (MeterDescription) data;
                        return desc.meter.getDescription(database);
                    }
                }
                return null;
            }

            @Override
            public void layoutClick(LayoutClickEvent event) {

                String desc = extractData(event.getClickedComponent());
                if (desc == null)
                    return;

                String content = "<div style=\"width: 700px; border: 2px solid; padding: 5px\">";
                content += "<div style=\"text-align: center; white-space:normal; font-size: 36px; padding: 10px\">"
                        + desc + "</div>";
                content += "</div>";

                Notification n = new Notification(content, Notification.Type.HUMANIZED_MESSAGE);
                n.setHtmlContentAllowed(true);
                n.show(Page.getCurrent());

            }

        });

        main.properties.addComponent(meters);
        main.properties.setComponentAlignment(meters, Alignment.MIDDLE_CENTER);

    }

}

From source file:fi.semantum.strategia.widget.Tag.java

License:Open Source License

public static void updateRelatedTags(final Main main, boolean canWrite) {

    final Database database = main.getDatabase();

    final Base base = main.getUIState().currentItem;

    Collection<Tag> tags = base.getRelatedTags(database);
    if (!tags.isEmpty() || canWrite) {

        HorizontalLayout tagHeader = new HorizontalLayout();
        tagHeader.setSpacing(true);// w w w  . j a  va2  s .  c  o  m

        Label header2 = new Label("Aihetunnisteet");
        header2.setHeight("32px");
        header2.addStyleName(ValoTheme.LABEL_HUGE);
        header2.addStyleName(ValoTheme.LABEL_BOLD);
        tagHeader.addComponent(header2);
        tagHeader.setComponentAlignment(header2, Alignment.BOTTOM_CENTER);

        if (canWrite) {
            final Image editTags = new Image("", new ThemeResource("tag_blue_edit.png"));
            editTags.setHeight("24px");
            editTags.setWidth("24px");
            editTags.addClickListener(new MouseEvents.ClickListener() {

                private static final long serialVersionUID = -6140867347404571880L;

                @Override
                public void click(com.vaadin.event.MouseEvents.ClickEvent event) {
                    Utils.loseFocus(editTags);
                    Utils.editTags(main, "Muokkaa aihetunnisteita", main.getUIState().currentItem);
                }

            });
            tagHeader.addComponent(editTags);
            tagHeader.setComponentAlignment(editTags, Alignment.BOTTOM_CENTER);
        }

        main.properties.addComponent(tagHeader);
        main.properties.setComponentAlignment(tagHeader, Alignment.MIDDLE_CENTER);

        HorizontalLayout divider = new HorizontalLayout();
        main.properties.addComponent(divider);
        main.properties.setComponentAlignment(divider, Alignment.MIDDLE_CENTER);

        VerticalLayout left = new VerticalLayout();
        left.setSpacing(true);
        left.setWidth("400px");
        left.setMargin(true);
        divider.addComponent(left);
        VerticalLayout right = new VerticalLayout();
        right.setSpacing(true);
        right.setWidth("400px");
        right.setMargin(true);
        divider.addComponent(right);

        Set<Tag> monitoredTags = getMonitoredTags(database, base);

        int i = 0;
        for (final Tag tag : tags) {

            final boolean monitor = base.hasMonitorTag(database, tag);
            String tagId = tag.getId(database);

            HorizontalLayout hl = new HorizontalLayout();
            hl.setSpacing(true);
            hl.setHeight("37px");

            Button tagButton = Utils.tagButton(database, "list", tagId, i++);
            left.addComponent(tagButton);
            left.setComponentAlignment(tagButton, Alignment.MIDDLE_RIGHT);

            if (canWrite) {
                Button b = new Button();
                b.addStyleName(ValoTheme.BUTTON_BORDERLESS);
                b.setIcon(FontAwesome.TIMES_CIRCLE);
                b.addClickListener(new ClickListener() {

                    private static final long serialVersionUID = -4473258383318654850L;

                    @Override
                    public void buttonClick(ClickEvent event) {
                        base.removeRelatedTags(database, tag);
                        Utils.loseFocus(main.properties);
                        Updates.update(main, true);
                    }

                });
                hl.addComponent(b);
                hl.setComponentAlignment(b, Alignment.MIDDLE_LEFT);
            }

            if (base instanceof Strategiakartta) {

                Button tagButton2 = new Button();
                tagButton2.setCaption(monitor ? "Seurataan toteutuksessa" : "Ei seurata toteutuksessa");
                tagButton2.addStyleName(monitor ? "greenButton" : "redButton");
                tagButton2.addStyleName(ValoTheme.BUTTON_SMALL);
                tagButton2.setWidth("200px");
                if (canWrite) {
                    tagButton2.addClickListener(new ClickListener() {

                        private static final long serialVersionUID = -1769769368034323594L;

                        @Override
                        public void buttonClick(ClickEvent event) {
                            if (monitor) {
                                base.removeMonitorTags(database, tag);
                            } else {
                                base.assertMonitorTags(database, tag);
                            }
                            Utils.loseFocus(main.properties);
                            Updates.update(main, true);
                        }

                    });
                    tagButton2.setEnabled(true);
                } else {
                    tagButton2.setEnabled(false);
                }

                hl.addComponent(tagButton2);
                hl.setComponentAlignment(tagButton2, Alignment.MIDDLE_LEFT);

            } else {

                if (monitoredTags.contains(tag)) {
                    Label l = new Label(" toteuttaa seurattavaa aihetta ");
                    hl.addComponent(l);
                    hl.setComponentAlignment(l, Alignment.MIDDLE_LEFT);
                }

            }

            right.addComponent(hl);
            right.setComponentAlignment(hl, Alignment.MIDDLE_LEFT);

        }

    }

}