Search in sources :

Example 61 with Button

use of com.vaadin.ui.Button in project charts by vaadin.

the class MultipleAxesWithResetZoom method getChart.

@Override
protected Component getChart() {
    final Chart chart = (Chart) new MultipleAxes().getChart();
    chart.getConfiguration().getTooltip().setEnabled(false);
    Button button = new Button("Reset zoom", new ClickListener() {

        @Override
        public void buttonClick(ClickEvent event) {
            chart.getConfiguration().resetZoom();
        }
    });
    VerticalLayout verticalLayout = new VerticalLayout(chart, button);
    verticalLayout.setSpacing(false);
    verticalLayout.setMargin(false);
    return verticalLayout;
}
Also used : Button(com.vaadin.ui.Button) ClickEvent(com.vaadin.ui.Button.ClickEvent) VerticalLayout(com.vaadin.ui.VerticalLayout) Chart(com.vaadin.addon.charts.Chart) ClickListener(com.vaadin.ui.Button.ClickListener)

Example 62 with Button

use of com.vaadin.ui.Button in project opennms by OpenNMS.

the class ShowNCSPathOperation method execute.

@Override
public void execute(List<VertexRef> targets, final OperationContext operationContext) {
    // Get the current NCS criteria from here you can get the foreignIds foreignSource and deviceA and Z
    for (Criteria criterium : operationContext.getGraphContainer().getCriteria()) {
        try {
            NCSServiceCriteria ncsCriterium = (NCSServiceCriteria) criterium;
            if (ncsCriterium.getServiceCount() > 0) {
                m_storedCriteria = ncsCriterium;
                break;
            }
        } catch (ClassCastException e) {
        }
    }
    final VertexRef defaultVertRef = targets.get(0);
    final SelectionManager selectionManager = operationContext.getGraphContainer().getSelectionManager();
    // selectionManager.getSelectedVertexRefs();
    final Collection<VertexRef> vertexRefs = getVertexRefsForNCSService(m_storedCriteria);
    final UI mainWindow = operationContext.getMainWindow();
    final Window ncsPathPrompt = new Window("Show NCS Path");
    ncsPathPrompt.setModal(true);
    ncsPathPrompt.setResizable(false);
    ncsPathPrompt.setWidth("300px");
    ncsPathPrompt.setHeight("220px");
    // Items used in form field
    final PropertysetItem item = new PropertysetItem();
    item.addItemProperty("Device A", new ObjectProperty<String>("", String.class));
    item.addItemProperty("Device Z", new ObjectProperty<String>("", String.class));
    FormFieldFactory fieldFactory = new FormFieldFactory() {

        private static final long serialVersionUID = 1L;

        @Override
        public Field<?> createField(Item item, Object propertyId, Component uiContext) {
            String pid = (String) propertyId;
            ComboBox select = new ComboBox();
            for (VertexRef vertRef : vertexRefs) {
                select.addItem(vertRef.getId());
                select.setItemCaption(vertRef.getId(), vertRef.getLabel());
            }
            select.setNewItemsAllowed(false);
            select.setNullSelectionAllowed(false);
            select.setImmediate(true);
            select.setScrollToSelectedItem(true);
            if ("Device A".equals(pid)) {
                select.setCaption("Device A");
            } else {
                select.setCaption("Device Z");
            }
            return select;
        }
    };
    final Form promptForm = new Form() {

        @Override
        public void commit() {
            String deviceA = (String) getField("Device A").getValue();
            String deviceZ = (String) getField("Device Z").getValue();
            if (deviceA.equals(deviceZ)) {
                Notification.show("Device A and Device Z cannot be the same", Notification.Type.WARNING_MESSAGE);
                throw new Validator.InvalidValueException("Device A and Device Z cannot be the same");
            }
            OnmsNode nodeA = m_nodeDao.get(Integer.valueOf(deviceA));
            String deviceANodeForeignId = nodeA.getForeignId();
            // Use nodeA's foreignSource, deviceZ should have the same foreignSource. It's an assumption
            // which might need to changed in the future. Didn't want to hard code it it "space" if they
            // change it in the future
            String nodeForeignSource = nodeA.getForeignSource();
            String deviceZNodeForeignId = m_nodeDao.get(Integer.valueOf(deviceZ)).getForeignId();
            NCSComponent ncsComponent = m_dao.get(m_storedCriteria.getServiceIds().get(0));
            String foreignSource = ncsComponent.getForeignSource();
            String foreignId = ncsComponent.getForeignId();
            String serviceName = ncsComponent.getName();
            try {
                NCSServicePath path = getNcsPathProvider().getPath(foreignId, foreignSource, deviceANodeForeignId, deviceZNodeForeignId, nodeForeignSource, serviceName);
                if (path.getStatusCode() == 200) {
                    NCSServicePathCriteria criteria = new NCSServicePathCriteria(path.getEdges());
                    m_serviceManager.registerCriteria(criteria, operationContext.getGraphContainer().getSessionId());
                    // Select only the vertices in the path
                    selectionManager.setSelectedVertexRefs(path.getVertices());
                } else {
                    LoggerFactory.getLogger(this.getClass()).warn("An error occured while retrieving the NCS Path, Juniper NetworkAppsApi send error code: " + path.getStatusCode());
                    mainWindow.showNotification("An error occurred while retrieving the NCS Path\nStatus Code: " + path.getStatusCode(), Notification.TYPE_ERROR_MESSAGE);
                }
            } catch (Exception e) {
                if (e.getCause() instanceof ConnectException) {
                    LoggerFactory.getLogger(this.getClass()).warn("Connection Exception Occurred while retreiving path {}", e);
                    Notification.show("Connection Refused when attempting to reach the NetworkAppsApi", Notification.Type.TRAY_NOTIFICATION);
                } else if (e.getCause() instanceof HttpOperationFailedException) {
                    HttpOperationFailedException httpException = (HttpOperationFailedException) e.getCause();
                    if (httpException.getStatusCode() == 401) {
                        LoggerFactory.getLogger(this.getClass()).warn("Authentication error when connecting to NetworkAppsApi {}", httpException);
                        Notification.show("Authentication error when connecting to NetworkAppsApi, please check the username and password", Notification.Type.TRAY_NOTIFICATION);
                    } else {
                        LoggerFactory.getLogger(this.getClass()).warn("An error occured while retrieving the NCS Path {}", httpException);
                        Notification.show("An error occurred while retrieving the NCS Path\n" + httpException.getMessage(), Notification.Type.TRAY_NOTIFICATION);
                    }
                } else if (e.getCause() instanceof Validator.InvalidValueException) {
                    Notification.show(e.getMessage(), Notification.Type.ERROR_MESSAGE);
                } else {
                    LoggerFactory.getLogger(this.getClass()).warn("Exception Occurred while retreiving path {}", e);
                    Notification.show("An error occurred while calculating the path please check the karaf.log file for the exception: \n" + e.getMessage(), Notification.Type.TRAY_NOTIFICATION);
                }
            }
        }
    };
    promptForm.setBuffered(true);
    promptForm.setFormFieldFactory(fieldFactory);
    promptForm.setItemDataSource(item);
    Button ok = new Button("OK");
    ok.addClickListener(new ClickListener() {

        private static final long serialVersionUID = -2742886456007926688L;

        @Override
        public void buttonClick(ClickEvent event) {
            promptForm.commit();
            mainWindow.removeWindow(ncsPathPrompt);
        }
    });
    promptForm.getFooter().addComponent(ok);
    Button cancel = new Button("Cancel");
    cancel.addClickListener(new ClickListener() {

        private static final long serialVersionUID = -9026067481179449095L;

        @Override
        public void buttonClick(ClickEvent event) {
            mainWindow.removeWindow(ncsPathPrompt);
        }
    });
    promptForm.getFooter().addComponent(cancel);
    ncsPathPrompt.setContent(promptForm);
    mainWindow.addWindow(ncsPathPrompt);
    promptForm.getField("Device A").setValue(defaultVertRef.getId());
}
Also used : Form(com.vaadin.ui.Form) ClickEvent(com.vaadin.ui.Button.ClickEvent) PropertysetItem(com.vaadin.data.util.PropertysetItem) NCSServiceCriteria(org.opennms.features.topology.plugins.ncs.NCSEdgeProvider.NCSServiceCriteria) NCSServicePathCriteria(org.opennms.features.topology.plugins.ncs.NCSPathEdgeProvider.NCSServicePathCriteria) Criteria(org.opennms.features.topology.api.topo.Criteria) NCSServicePathCriteria(org.opennms.features.topology.plugins.ncs.NCSPathEdgeProvider.NCSServicePathCriteria) FormFieldFactory(com.vaadin.ui.FormFieldFactory) PropertysetItem(com.vaadin.data.util.PropertysetItem) Item(com.vaadin.data.Item) NCSComponent(org.opennms.netmgt.model.ncs.NCSComponent) UI(com.vaadin.ui.UI) Button(com.vaadin.ui.Button) NCSComponent(org.opennms.netmgt.model.ncs.NCSComponent) Component(com.vaadin.ui.Component) ClickListener(com.vaadin.ui.Button.ClickListener) ConnectException(java.net.ConnectException) Window(com.vaadin.ui.Window) SelectionManager(org.opennms.features.topology.api.SelectionManager) OnmsNode(org.opennms.netmgt.model.OnmsNode) ComboBox(com.vaadin.ui.ComboBox) NCSServiceCriteria(org.opennms.features.topology.plugins.ncs.NCSEdgeProvider.NCSServiceCriteria) HttpOperationFailedException(org.apache.camel.component.http.HttpOperationFailedException) ConnectException(java.net.ConnectException) HttpOperationFailedException(org.apache.camel.component.http.HttpOperationFailedException) VertexRef(org.opennms.features.topology.api.topo.VertexRef) Validator(com.vaadin.data.Validator)

Example 63 with Button

use of com.vaadin.ui.Button in project opennms by OpenNMS.

the class SurveillanceViewDetailTable method getClickableIcon.

/**
 * Returns a clickable glyph icon with the given {@link com.vaadin.ui.Button.ClickListener}.
 *
 * @param glyphIcon     the icon to be used
 * @param clickListener the listener
 * @return the button instance
 */
protected Button getClickableIcon(String glyphIcon, Button.ClickListener clickListener) {
    Button button = new Button("<span class=\"" + glyphIcon + "\" aria-hidden=\"true\"></span>");
    button.setHtmlContentAllowed(true);
    button.setStyleName(BaseTheme.BUTTON_LINK);
    button.addStyleName("icon");
    button.setEnabled(m_enabled);
    button.addClickListener(clickListener);
    return button;
}
Also used : Button(com.vaadin.ui.Button)

Example 64 with Button

use of com.vaadin.ui.Button in project opennms by OpenNMS.

the class CriteriaBuilderComponent method renderComponents.

/**
 * This method updates the criteria components.
 */
private void renderComponents() {
    m_criteriaLayout.removeAllComponents();
    boolean isFirst = true;
    boolean isLast;
    for (int i = 0; i < m_criteriaRestrictionComponents.size(); i++) {
        final CriteriaRestrictionComponent criteriaRestrictionComponent = m_criteriaRestrictionComponents.get(i);
        final int index = i;
        isLast = (i == m_criteriaRestrictionComponents.size() - 1);
        criteriaRestrictionComponent.getRightLayout().removeAllComponents();
        Button plusButton = new Button();
        plusButton.setStyleName("small");
        plusButton.setIcon(new ThemeResource("../runo/icons/16/document-add.png"));
        plusButton.setDescription("Add a new criteria entry");
        Button minusButton = new Button();
        minusButton.setStyleName("small");
        minusButton.setIcon(new ThemeResource("../runo/icons/16/document-delete.png"));
        minusButton.setDescription("Remove this criteria entry");
        Button upButton = new Button();
        upButton.setStyleName("small");
        upButton.setIcon(new ThemeResource("../runo/icons/16/arrow-up.png"));
        upButton.setDescription("Move this a criteria entry one position up");
        Button downButton = new Button();
        downButton.setStyleName("small");
        downButton.setIcon(new ThemeResource("../runo/icons/16/arrow-down.png"));
        downButton.setDescription("Move this a criteria entry one position down");
        criteriaRestrictionComponent.getRightLayout().addComponent(upButton);
        criteriaRestrictionComponent.getRightLayout().addComponent(downButton);
        criteriaRestrictionComponent.getRightLayout().addComponent(plusButton);
        criteriaRestrictionComponent.getRightLayout().addComponent(minusButton);
        if (m_criteriaRestrictionComponents.size() == 1) {
            minusButton.setEnabled(false);
            upButton.setEnabled(false);
            downButton.setEnabled(false);
        } else {
            if (isFirst) {
                upButton.setEnabled(false);
            }
            if (isLast) {
                downButton.setEnabled(false);
            }
        }
        upButton.addClickListener(new Button.ClickListener() {

            @Override
            public void buttonClick(Button.ClickEvent clickEvent) {
                Collections.swap(m_criteriaRestrictionComponents, index, index - 1);
                renderComponents();
            }
        });
        downButton.addClickListener(new Button.ClickListener() {

            @Override
            public void buttonClick(Button.ClickEvent clickEvent) {
                Collections.swap(m_criteriaRestrictionComponents, index, index + 1);
                renderComponents();
            }
        });
        minusButton.addClickListener(new Button.ClickListener() {

            public void buttonClick(Button.ClickEvent clickEvent) {
                m_criteriaRestrictionComponents.remove(criteriaRestrictionComponent);
                renderComponents();
            }
        });
        plusButton.addClickListener(new Button.ClickListener() {

            public void buttonClick(Button.ClickEvent clickEvent) {
                m_criteriaRestrictionComponents.add(index + 1, new CriteriaRestrictionComponent(m_criteriaBuilderHelper, "Limit(10)"));
                renderComponents();
            }
        });
        isFirst = false;
        m_criteriaLayout.addComponent(criteriaRestrictionComponent);
    }
}
Also used : Button(com.vaadin.ui.Button) ThemeResource(com.vaadin.server.ThemeResource)

Example 65 with Button

use of com.vaadin.ui.Button in project vaadin-samples by xpoft.

the class LabelView method PostConstruct.

@PostConstruct
public void PostConstruct() {
    setSizeFull();
    VerticalLayout layout = new VerticalLayout();
    layout.setSpacing(true);
    layout.setMargin(true);
    layout.addComponent(new Label("It's a label!"));
    layout.addComponent(new Button("Go back", new Button.ClickListener() {

        @Override
        public void buttonClick(Button.ClickEvent event) {
            Page.getCurrent().setUriFragment("!" + MainView.NAME);
        }
    }));
    setContent(layout);
}
Also used : Button(com.vaadin.ui.Button) Label(com.vaadin.ui.Label) VerticalLayout(com.vaadin.ui.VerticalLayout) PostConstruct(javax.annotation.PostConstruct)

Aggregations

Button (com.vaadin.ui.Button)114 ClickEvent (com.vaadin.ui.Button.ClickEvent)72 ClickListener (com.vaadin.ui.Button.ClickListener)64 HorizontalLayout (com.vaadin.ui.HorizontalLayout)33 VerticalLayout (com.vaadin.ui.VerticalLayout)25 Label (com.vaadin.ui.Label)21 Chart (com.vaadin.addon.charts.Chart)8 ListSeries (com.vaadin.addon.charts.model.ListSeries)8 TextField (com.vaadin.ui.TextField)8 SubmitEvent (org.activiti.explorer.ui.event.SubmitEvent)7 Configuration (com.vaadin.addon.charts.model.Configuration)6 LayoutClickEvent (com.vaadin.event.LayoutEvents.LayoutClickEvent)6 LayoutClickListener (com.vaadin.event.LayoutEvents.LayoutClickListener)6 ClaimTaskClickListener (org.activiti.explorer.ui.task.listener.ClaimTaskClickListener)5 ComboBox (com.vaadin.ui.ComboBox)4 FormLayout (com.vaadin.ui.FormLayout)4 Window (com.vaadin.ui.Window)4 SimpleDateFormat (java.text.SimpleDateFormat)4 SubmitEventListener (org.activiti.explorer.ui.event.SubmitEventListener)4 VertexRef (org.opennms.features.topology.api.topo.VertexRef)4