Example usage for com.google.gwt.dom.client NodeList getLength

List of usage examples for com.google.gwt.dom.client NodeList getLength

Introduction

In this page you can find the example usage for com.google.gwt.dom.client NodeList getLength.

Prototype

public int getLength() 

Source Link

Usage

From source file:org.eclipse.che.ide.part.perspectives.general.PerspectiveViewImpl.java

License:Open Source License

/** Makes splitter better. */
public void tuneSplitters() {
    NodeList<Node> nodes = splitPanel.getElement().getChildNodes();
    boolean firstFound = false;
    for (int i = 0; i < nodes.getLength(); i++) {
        Node node = nodes.getItem(i);
        if (node.hasChildNodes()) {
            com.google.gwt.dom.client.Element el = node.getFirstChild().cast();
            if ("gwt-SplitLayoutPanel-HDragger".equals(el.getClassName())) {
                if (!firstFound) {
                    firstFound = true;//from w  ww. ja  v  a 2s  .c  om
                    tuneLeftSplitter(el);
                } else {
                    tuneRightSplitter(el);
                }
            } else if ("gwt-SplitLayoutPanel-VDragger".equals(el.getClassName())) {
                tuneBottomSplitter(el);
            }
        }
    }
}

From source file:org.eclipse.che.ide.ui.listbox.CustomComboBox.java

License:Open Source License

/**
 * Creates an empty custom list box.//from w  w  w .  j ava  2 s. com
 */
public CustomComboBox() {
    super(Document.get().createDivElement());

    Element comboBoxElement = getElement();

    comboBoxElement.appendChild(currentInputElement);
    comboBoxElement.appendChild(optionsPanel.getElement());
    comboBoxElement.appendChild(RESOURCES.arrow().getSvg().getElement());

    optionsPanel.setVisible(false);

    addDomHandler(new BlurHandler() {
        @Override
        public void onBlur(BlurEvent event) {
            optionsPanel.setVisible(false);
            isActive = false;
        }
    }, BlurEvent.getType());

    addDomHandler(new MouseDownHandler() {
        @Override
        public void onMouseDown(MouseDownEvent event) {
            //Update isActive state. It actually when we lose onBlur event in the parent widget.
            isActive = isActive(getElement());
            if (!isActive) {
                optionsPanel.setVisible(true);
            }
        }
    }, MouseDownEvent.getType());

    addDomHandler(new MouseUpHandler() {
        @Override
        public void onMouseUp(MouseUpEvent event) {
            if (isActive) {
                optionsPanel.setVisible(!optionsPanel.isVisible());
            } else {
                isActive = true;
            }
        }
    }, MouseUpEvent.getType());

    addDomHandler(new KeyDownHandler() {
        @Override
        public void onKeyDown(KeyDownEvent event) {
            resetSelectedIndex();
        }
    }, KeyDownEvent.getType());

    addChangeHandler(new ChangeHandler() {
        @Override
        public void onChange(ChangeEvent event) {
            NodeList<Element> selectionElements = optionsPanel.getElement().getElementsByTagName("input");
            for (int pos = 0; pos < selectionElements.getLength(); pos++) {
                InputElement inputElement = (InputElement) selectionElements.getItem(pos);
                if (inputElement.isChecked()) {
                    currentInputElement.setValue(getItemText(pos));
                    selectedIndex = pos;
                    break;
                }
            }
        }
    });

    setStyleName(RESOURCES.getCSS().listBox());
}

From source file:org.eclipse.che.ide.ui.listbox.CustomComboBox.java

License:Open Source License

/**
 * Ensures that no item is selected./*from  w w  w  .  jav a2 s. c  o  m*/
 */
private void resetSelectedIndex() {
    if (getSelectedIndex() != -1) {
        selectedIndex = -1;
        NodeList<Element> selectionElements = optionsPanel.getElement().getElementsByTagName("input");
        for (int pos = 0; pos < selectionElements.getLength(); pos++) {
            InputElement inputElement = (InputElement) selectionElements.getItem(pos);
            inputElement.setChecked(false);
        }
    }
}

From source file:org.eclipse.che.ide.ui.listbox.CustomListBox.java

License:Open Source License

/**
 * Creates an empty custom list box./*from   w  w  w.jav a 2 s . com*/
 */
public CustomListBox() {
    super(Document.get().createDivElement());

    Element listBoxElement = getElement();

    listBoxElement.appendChild(currentItemLabel);
    listBoxElement.appendChild(optionsPanel.getElement());
    listBoxElement.appendChild(RESOURCES.arrow().getSvg().getElement());

    optionsPanel.setVisible(false);

    addDomHandler(new BlurHandler() {
        @Override
        public void onBlur(BlurEvent event) {
            optionsPanel.setVisible(false);
            isActive = false;
        }
    }, BlurEvent.getType());

    addDomHandler(new MouseDownHandler() {
        @Override
        public void onMouseDown(MouseDownEvent event) {
            //Update isActive state. It actually when we lose onBlur event in the parent widget.
            isActive = isActive(getElement());
            if (!isActive) {
                optionsPanel.setVisible(true);
            }
        }
    }, MouseDownEvent.getType());

    addDomHandler(new MouseUpHandler() {
        @Override
        public void onMouseUp(MouseUpEvent event) {
            if (isActive) {
                optionsPanel.setVisible(!optionsPanel.isVisible());
            } else {
                isActive = true;
            }
        }
    }, MouseUpEvent.getType());

    addChangeHandler(new ChangeHandler() {
        @Override
        public void onChange(ChangeEvent event) {
            selectedIndex = -1;
            NodeList<Element> selectionElements = optionsPanel.getElement().getElementsByTagName("input");
            for (int pos = 0; pos < selectionElements.getLength(); pos++) {
                InputElement inputElement = (InputElement) selectionElements.getItem(pos);
                if (inputElement.isChecked()) {
                    //update currentItemLabel
                    currentItemLabel.setInnerText(getItemText(pos));
                    selectedIndex = pos;
                    break;
                }
            }
            if (selectedIndex == -1) {
                currentItemLabel.setInnerText("");
            }
        }
    });

    setStyleName(RESOURCES.getCSS().listBox());
}

From source file:org.eclipse.che.ide.ui.SplitterFancyUtil.java

License:Open Source License

/** Improves splitter visibility. */
public void tuneSplitter(SplitLayoutPanel splitLayoutPanel) {
    NodeList<Node> nodes = splitLayoutPanel.getElement().getChildNodes();
    for (int i = 0; i < nodes.getLength(); i++) {
        Node node = nodes.getItem(i);
        if (node.hasChildNodes()) {
            com.google.gwt.dom.client.Element el = node.getFirstChild().cast();
            if ("gwt-SplitLayoutPanel-HDragger".equals(el.getClassName())) {
                tuneSplitter(el);/*from w ww  .  j ava 2  s .  co  m*/
            }
        }
    }
}

From source file:org.eclipse.kapua.app.console.client.device.DeviceConfigPanel.java

License:Open Source License

private void paintConfig() {

    LayoutContainer lcAction = new LayoutContainer();
    lcAction.setLayout(new BorderLayout());
    lcAction.setBorders(true);//from w  w  w . j  av  a 2  s.  co  m
    lcAction.setSize(475, -1);
    add(lcAction);

    // center panel: action form
    BorderLayoutData centerData = new BorderLayoutData(LayoutRegion.CENTER, .75F);
    centerData.setSplit(false);
    centerData.setMargins(new Margins(0, 0, 0, 0));

    FormData formData = new FormData("-20");
    formData.setMargins(new Margins(0, 10, 0, 0));

    if (!UserAgentUtils.isIE()) {
        m_actionFormPanel = new FormPanel();
        m_actionFormPanel.setFrame(false);
        m_actionFormPanel.setBodyBorder(false);
        m_actionFormPanel.setHeaderVisible(false);
        m_actionFormPanel.setLabelWidth(Constants.LABEL_WIDTH_CONFIG_FORM);
        m_actionFormPanel.setStyleAttribute("padding", "0px");
        m_actionFormPanel.setScrollMode(Scroll.AUTO);
        m_actionFormPanel.setLayout(new FlowLayout());
        m_actionFormPanel.addListener(Events.Render, new Listener<BaseEvent>() {
            public void handleEvent(BaseEvent be) {
                NodeList<Element> nl = m_actionFormPanel.getElement().getElementsByTagName("form");
                if (nl.getLength() > 0) {
                    Element elemForm = nl.getItem(0);
                    elemForm.setAttribute("autocomplete", "off");
                }
            }
        });
    }

    m_actionFieldSet = new FieldSet();
    m_actionFieldSet.setId("configuration-form");
    m_actionFieldSet.setBorders(false);
    m_actionFieldSet.setStyleAttribute("padding", "0px");
    m_actionFieldSet.setScrollMode(Scroll.AUTO);
    if (m_configComponent.getComponentDescription() != null
            && m_configComponent.getComponentDescription().trim().length() > 0) {
        m_actionFieldSet.addText(KapuaSafeHtmlUtils.htmlEscape(m_configComponent.getComponentDescription()));
    }

    FormLayout layout = new FormLayout();
    layout.setLabelWidth(Constants.LABEL_WIDTH_CONFIG_FORM);
    m_actionFieldSet.setLayout(layout);

    Field<?> field = null;
    for (GwtConfigParameter param : m_configComponent.getParameters()) {

        if (param.getCardinality() == 0 || param.getCardinality() == 1 || param.getCardinality() == -1) {
            field = paintConfigParameter(param);
        } else {
            field = paintMultiFieldConfigParameter(param);
        }
        m_actionFieldSet.add(field, formData);
    }

    if (!UserAgentUtils.isIE()) {
        m_actionFormPanel.add(m_actionFieldSet, formData);
        lcAction.add(m_actionFormPanel, centerData);
    } else {
        lcAction.add(m_actionFieldSet, centerData);
    }
}

From source file:org.eclipse.kapua.app.console.client.device.DeviceTabCommand.java

License:Open Source License

private void initCommandInput() {
    FormData formData = new FormData("-20");

    FormLayout layout = new FormLayout();
    layout.setLabelWidth(Constants.LABEL_WIDTH_FORM);

    FieldSet fieldSet = new FieldSet();
    fieldSet.setBorders(false);//from w ww .  j  a v  a 2  s  .  co m
    fieldSet.setLayout(layout);
    fieldSet.setStyleAttribute("margin", "0px");
    fieldSet.setStyleAttribute("padding", "0px");

    m_formPanel = new FormPanel();
    m_formPanel.setFrame(true);
    m_formPanel.setHeaderVisible(false);
    m_formPanel.setBorders(false);
    m_formPanel.setBodyBorder(false);
    m_formPanel.setAction(SERVLET_URL);
    m_formPanel.setEncoding(Encoding.MULTIPART);
    m_formPanel.setMethod(Method.POST);
    m_formPanel.add(fieldSet);
    m_formPanel.addListener(Events.Render, new Listener<BaseEvent>() {

        public void handleEvent(BaseEvent be) {
            NodeList<com.google.gwt.dom.client.Element> nl = m_formPanel.getElement()
                    .getElementsByTagName("form");
            if (nl.getLength() > 0) {
                com.google.gwt.dom.client.Element elemForm = nl.getItem(0);
                elemForm.setAttribute("autocomplete", "off");
            }
        }
    });

    m_formPanel.setButtonAlign(HorizontalAlignment.RIGHT);
    m_buttonBar = m_formPanel.getButtonBar();
    initButtonBar();

    m_formPanel.addListener(Events.BeforeSubmit, new Listener<BaseEvent>() {

        @Override
        public void handleEvent(BaseEvent be) {
            if (!m_selectedDevice.isOnline()) {
                MessageBox.alert(MSGS.alerts(), MSGS.deviceOffline(), new Listener<MessageBoxEvent>() {

                    @Override
                    public void handleEvent(MessageBoxEvent be) {
                        m_commandInput.unmask();
                    }
                });
                be.setCancelled(true);
            }
        }
    });

    m_formPanel.addListener(Events.Submit, new Listener<FormEvent>() {

        @Override
        public void handleEvent(FormEvent be) {
            String htmlResult = be.getResultHtml();

            //
            // Some browsers will return <pre> (i.e. Firefox)
            // Other add styles and return <pre {some style}> (i.e. Safari, Chrome)
            //
            if (!htmlResult.startsWith("<pre")) {
                int errorMessageStartIndex = htmlResult.indexOf("<pre");
                errorMessageStartIndex = htmlResult.indexOf(">", errorMessageStartIndex) + 1;
                int errorMessageEndIndex = htmlResult.indexOf("</pre>");

                String errorMessage = htmlResult.substring(errorMessageStartIndex, errorMessageEndIndex);

                MessageBox.alert(MSGS.error(), MSGS.fileUploadFailure() + ":<br/>" + errorMessage, null);
                m_commandInput.unmask();
            } else {
                int outputMessageStartIndex = htmlResult.indexOf("<pre");
                outputMessageStartIndex = htmlResult.indexOf(">", outputMessageStartIndex) + 1;
                int outputMessageEndIndex = htmlResult.indexOf("</pre>");

                String output = htmlResult.substring(outputMessageStartIndex, outputMessageEndIndex);

                m_result.setValue(KapuaSafeHtmlUtils.htmlUnescape(output));
                m_commandInput.unmask();
            }
        }
    });

    m_accountField = new HiddenField<String>();
    m_accountField.setName("scopeIdString");
    fieldSet.add(m_accountField);

    m_deviceIdField = new HiddenField<String>();
    m_deviceIdField.setName("deviceIdString");
    fieldSet.add(m_deviceIdField);

    m_timeoutField = new HiddenField<Integer>();
    m_timeoutField.setName("timeout");
    fieldSet.add(m_timeoutField);

    //
    // xsrfToken Hidden field
    //
    xsrfTokenField = new HiddenField<String>();
    xsrfTokenField.setId("xsrfToken");
    xsrfTokenField.setName("xsrfToken");
    xsrfTokenField.setValue("");
    fieldSet.add(xsrfTokenField);

    m_commandField = new TextField<String>();
    m_commandField.setName("command");
    m_commandField.setAllowBlank(false);
    m_commandField.setFieldLabel("* " + MSGS.deviceCommandExecute());
    m_commandField.setLayoutData(layout);
    fieldSet.add(m_commandField, formData);

    m_fileUploadField = new FileUploadField();
    m_fileUploadField.setAllowBlank(true);
    m_fileUploadField.setName("file");
    m_fileUploadField.setLayoutData(layout);
    m_fileUploadField.setFieldLabel(MSGS.deviceCommandFile());
    fieldSet.add(m_fileUploadField, formData);

    m_passwordField = new TextField<String>();
    m_passwordField.setName("password");
    m_passwordField.setFieldLabel(MSGS.deviceCommandPassword());
    m_passwordField.setToolTip(MSGS.deviceCommandPasswordTooltip());
    m_passwordField.setPassword(true);
    m_passwordField.setLayoutData(layout);
    fieldSet.add(m_passwordField, formData);

    m_commandInput = m_formPanel;

    m_commandInput.mask(MSGS.deviceNoDeviceSelected());
}

From source file:org.eclipse.kura.web.client.configuration.DeviceConfigPanel.java

License:Open Source License

private void paintConfig() {

    LayoutContainer lcAction = new LayoutContainer();
    lcAction.setLayout(new BorderLayout());
    lcAction.setBorders(true);/* w  w  w .  j  a va 2 s  . co  m*/
    lcAction.setSize(475, -1);
    add(lcAction);

    // center panel: action form
    BorderLayoutData centerData = new BorderLayoutData(LayoutRegion.CENTER, .75F);
    centerData.setSplit(false);
    centerData.setMargins(new Margins(0, 0, 0, 0));

    FormData formData = new FormData("-20");
    formData.setMargins(new Margins(0, 10, 0, 0));

    if (!UserAgentUtils.isIE()) {
        m_actionFormPanel = new FormPanel();
        m_actionFormPanel.setId("config-panel-id");
        m_actionFormPanel.setFrame(false);
        m_actionFormPanel.setBodyBorder(false);
        m_actionFormPanel.setHeaderVisible(false);
        m_actionFormPanel.setLabelWidth(Constants.LABEL_WIDTH_CONFIG_FORM);
        m_actionFormPanel.setStyleAttribute("padding", "0px");
        m_actionFormPanel.setScrollMode(Scroll.AUTO);
        m_actionFormPanel.setLayout(new FlowLayout());
        m_actionFormPanel.addListener(Events.Render, new Listener<BaseEvent>() {
            public void handleEvent(BaseEvent be) {
                NodeList<Element> nl = m_actionFormPanel.getElement().getElementsByTagName("form");
                if (nl.getLength() > 0) {
                    Element elemForm = nl.getItem(0);
                    elemForm.setAttribute("autocomplete", "off");

                }
            }
        });
        m_actionFormPanel.getElement().setAttribute("autocomplete", "off");
    }

    m_actionFieldSet = new FieldSet();
    m_actionFieldSet.setId("configuration-form");
    m_actionFieldSet.setBorders(false);
    m_actionFieldSet.setStyleAttribute("padding", "0px");
    m_actionFieldSet.setScrollMode(Scroll.AUTO);
    if (m_configComponent.getComponentDescription() != null
            && m_configComponent.getComponentDescription().trim().length() > 0) {
        m_actionFieldSet.addText(m_configComponent.getComponentDescription());
    }

    FormLayout layout = new FormLayout();
    layout.setLabelWidth(Constants.LABEL_WIDTH_CONFIG_FORM);
    m_actionFieldSet.setLayout(layout);

    Field<?> field = null;
    for (GwtConfigParameter param : m_configComponent.getParameters()) {

        if (param.getCardinality() == 0 || param.getCardinality() == 1 || param.getCardinality() == -1) {
            field = paintConfigParameter(param);
        } else {
            field = paintMultiFieldConfigParameter(param);
        }
        m_actionFieldSet.add(field, formData);
    }

    if (!UserAgentUtils.isIE()) {
        m_actionFormPanel.add(m_actionFieldSet, formData);
        lcAction.add(m_actionFormPanel, centerData);
    } else {
        lcAction.add(m_actionFieldSet, centerData);
    }
}

From source file:org.eclipse.kura.web.client.network.WirelessConfigTab.java

License:Open Source License

protected void onRender(Element parent, int index) {
    super.onRender(parent, index);

    setLayout(new FitLayout());
    setId("network-wireless");

    FormData formData = new FormData();
    formData.setWidth(250);/*from w  w  w .ja  v a 2s .com*/

    m_formPanel = new FormPanel();
    m_formPanel.setFrame(false);
    m_formPanel.setBodyBorder(false);
    m_formPanel.setHeaderVisible(false);
    m_formPanel.setLayout(new FlowLayout());
    m_formPanel.setStyleAttribute("min-width", "775px");
    m_formPanel.setStyleAttribute("padding-left", "30px");

    FieldSet fieldSet = new FieldSet();
    FormLayout layoutAccount = new FormLayout();
    layoutAccount.setLabelWidth(Constants.LABEL_WIDTH_FORM);
    fieldSet.setLayout(layoutAccount);
    fieldSet.setBorders(false);

    //
    // Tool Tip Box
    //
    toolTipField.setText(defaultToolTip);
    fieldSet.add(toolTipField);

    //
    // Wireless Mode
    //
    m_wirelessModeListStore = new ListStore<GwtWifiWirelessModeModel>();
    /*
      m_wirelessModeListStore.add(new GwtWifiWirelessModeModel(GwtWifiWirelessMode.netWifiWirelessModeDisabled,
        MessageUtils.get("netWifiWirelessModeDisabled"),
        MSGS.netWifiToolTipWirelessModeDisabled()));
     */
    m_wirelessModeListStore.add(new GwtWifiWirelessModeModel(GwtWifiWirelessMode.netWifiWirelessModeStation,
            MessageUtils.get("netWifiWirelessModeStation"), MSGS.netWifiToolTipWirelessModeStation()));
    m_wirelessModeListStore.add(new GwtWifiWirelessModeModel(GwtWifiWirelessMode.netWifiWirelessModeAccessPoint,
            MessageUtils.get("netWifiWirelessModeAccessPoint"), MSGS.netWifiToolTipWirelessModeAccessPoint()));
    /*
      m_wirelessModeListStore.add(new GwtWifiWirelessModeModel(GwtWifiWirelessMode.netWifiWirelessModeAdHoc,
        MessageUtils.get("netWifiWirelessModeAdHoc"),
        MSGS.netWifiToolTipWirelessModeAdhoc()));
     */

    m_modeCombo = new ComboBox<GwtWifiWirelessModeModel>();
    m_modeCombo.setName("comboMode");
    m_modeCombo.setDisplayField(GwtWifiWirelessModeModel.NAME);
    m_modeCombo.setFieldLabel(MSGS.netWifiWirelessMode());
    m_modeCombo.setEditable(false);
    m_modeCombo.setTypeAhead(true);
    m_modeCombo.setTriggerAction(TriggerAction.ALL);
    m_modeCombo.addStyleName("kura-combobox");
    m_modeCombo.setStore(m_wirelessModeListStore);
    m_modeCombo.setTemplate(getTemplate());
    m_modeCombo.setValue(m_wirelessModeListStore.findModel(GwtWifiWirelessModeModel.MODE,
            GwtWifiWirelessMode.netWifiWirelessModeStation.name()));
    m_modeCombo.setValidator(new Validator() {

        public String validate(Field<?> field, String value) {
            if (m_tcpIpConfigTab.getStatus().equals(GwtNetIfStatus.netIPv4StatusEnabledWAN) && value
                    .equals(MessageUtils.get(GwtWifiWirelessMode.netWifiWirelessModeAccessPoint.name()))) {
                return MSGS.netWifiWirelessEnabledForWANError();
            }

            return null;
        }
    });

    m_modeCombo.addSelectionChangedListener(new SelectionChangedListener<GwtWifiWirelessModeModel>() {
        @Override
        public void selectionChanged(SelectionChangedEvent<GwtWifiWirelessModeModel> se) {

            // Station mode selected
            if (GwtWifiWirelessMode.netWifiWirelessModeStation.equals(se.getSelectedItem().getMode())) {
                // Use values from station config
                m_activeWifiConfig = m_selectNetIfConfig.getStationWifiConfig();

            } else {
                // Use values from access point config
                m_activeWifiConfig = m_selectNetIfConfig.getAccessPointWifiConfig();
            }
            setPasswordValidation();
            setValues(false);
            refreshForm();
        }
    });
    m_modeCombo.addListener(Events.OnMouseOver, new MouseOverListener(MSGS.netWifiToolTipWirelessMode()));
    m_modeCombo.addPlugin(m_dirtyPlugin);

    Button ssidPickerButton = new Button("", AbstractImagePrototype.create(Resources.INSTANCE.magnifier16()),
            new SelectionListener<ButtonEvent>() {
                @Override
                public void componentSelected(ButtonEvent ce) {
                    m_wifiNetworksWindow = createWifiNetworksWindow();
                    m_wifiNetworksWindow.show();
                    m_wifiHotspotLoader.load();
                }
            });

    //
    // SSID
    // 
    m_ssidField = new TextFieldWithButton<String>(ssidPickerButton, 10);
    m_ssidField.setAllowBlank(true);
    m_ssidField.setId("ssid-input");
    m_ssidField.setName("ssid");
    m_ssidField.setFieldLabel(MSGS.netWifiNetworkName());
    m_ssidField.setEnabled(true, false);
    m_ssidField.addPlugin(m_dirtyPlugin);
    m_ssidField.addListener(Events.OnMouseOver, new MouseOverListener(MSGS.netWifiToolTipNetworkName()));
    m_ssidField.setStyleAttribute("margin-top", Constants.LABEL_MARGIN_TOP_SEPARATOR);
    m_ssidField.setMaxLength(MAX_SSID_LENGTH);

    //
    // Radio Mode
    // 
    m_radioModeCombo = new SimpleComboBox<String>();
    m_radioModeCombo.setName("radioMode");
    m_radioModeCombo.setFieldLabel(MSGS.netWifiRadioMode());
    m_radioModeCombo.setEditable(false);
    m_radioModeCombo.setTypeAhead(true);
    m_radioModeCombo.setTriggerAction(TriggerAction.ALL);
    for (GwtWifiRadioMode mode : GwtWifiRadioMode.values()) {
        if (mode != GwtWifiRadioMode.netWifiRadioModeA) { // we don't support 802.11a yet
            m_radioModeCombo.add(MessageUtils.get(mode.name()));
        }
    }
    m_radioModeCombo.setSimpleValue(MessageUtils.get(GwtWifiRadioMode.netWifiRadioModeBGN.name()));
    m_radioModeCombo.addSelectionChangedListener(new SelectionChangedListener<SimpleComboValue<String>>() {
        @Override
        public void selectionChanged(SelectionChangedEvent<SimpleComboValue<String>> se) {
            refreshForm();
        }
    });
    m_radioModeCombo.addListener(Events.OnMouseOver, new MouseOverListener(MSGS.netWifiToolTipRadioMode()));
    m_radioModeCombo.addStyleName("kura-combobox");
    m_radioModeCombo.addPlugin(m_dirtyPlugin);

    //
    // Wireless Security
    // 
    m_securityCombo = new SimpleComboBox<String>();
    m_securityCombo.setName("security");
    m_securityCombo.setFieldLabel(MSGS.netWifiWirelessSecurity());
    m_securityCombo.setEditable(false);
    m_securityCombo.setTypeAhead(true);
    m_securityCombo.setTriggerAction(TriggerAction.ALL);
    m_securityCombo.setStyleAttribute("margin-top", Constants.LABEL_MARGIN_TOP_SEPARATOR);
    for (GwtWifiSecurity mode : GwtWifiSecurity.values()) {
        m_securityCombo.add(MessageUtils.get(mode.name()));
    }
    m_securityCombo.setSimpleValue(MessageUtils.get(GwtWifiSecurity.netWifiSecurityWPA2.name()));
    m_securityCombo.addSelectionChangedListener(new SelectionChangedListener<SimpleComboValue<String>>() {
        @Override
        public void selectionChanged(SelectionChangedEvent<SimpleComboValue<String>> se) {
            setPasswordValidation();
            refreshForm();
        }
    });
    m_securityCombo.addListener(Events.OnMouseOver, new MouseOverListener(MSGS.netWifiToolTipSecurity()));
    m_securityCombo.addStyleName("kura-combobox");
    m_securityCombo.addPlugin(m_dirtyPlugin);

    Button passwordButton = new Button("", AbstractImagePrototype.create(Resources.INSTANCE.connect16()),
            new SelectionListener<ButtonEvent>() {
                @Override
                public void componentSelected(ButtonEvent ce) {

                    m_passwordField.setIcon(AbstractImagePrototype.create(Resources.INSTANCE.hourglass16()));
                    m_passwordField.setEnabled(true, false);

                    gwtXSRFService.generateSecurityToken(new AsyncCallback<GwtXSRFToken>() {
                        @Override
                        public void onFailure(Throwable ex) {
                            FailureHandler.handle(ex);
                        }

                        @Override
                        public void onSuccess(GwtXSRFToken token) {
                            GwtWifiConfig gwtWifiConfig = getGwtWifiConfig();
                            gwtNetworkService.verifyWifiCredentials(token, m_selectNetIfConfig.getName(),
                                    gwtWifiConfig, new AsyncCallback<Boolean>() {
                                        public void onSuccess(Boolean result) {
                                            Log.warn("verifyWifiCredentials() :: result=" + result);
                                            if (!result.booleanValue()) {
                                                m_passwordField.setValue("");
                                            }

                                            m_passwordField.setIcon(AbstractImagePrototype
                                                    .create(Resources.INSTANCE.connect16()));
                                            m_passwordField.setEnabled(true, true);
                                        }

                                        public void onFailure(Throwable caught) {
                                            Log.warn("verifyWifiCredentials() :: caught: " + caught.toString());
                                            m_passwordField.setIcon(AbstractImagePrototype
                                                    .create(Resources.INSTANCE.connect16()));
                                            m_passwordField.setEnabled(true, true);
                                        }
                                    });
                        }
                    });
                }
            });

    //
    // Password
    // 
    m_passwordField = new TextFieldWithButton<String>(passwordButton, 10);
    m_passwordField.setId("wifi-password");
    m_passwordField.setName("password");
    m_passwordField.setFieldLabel(MSGS.netWifiWirelessPassword());
    m_passwordField.setPassword(true);
    m_passwordField.setRegex(PASSWORD_REGEX_ANY);
    m_passwordField.getMessages().setRegexText(MSGS.netWifiWirelessInvalidWPAPassword());
    m_passwordField.addPlugin(m_dirtyPlugin);
    m_passwordField.setAutoValidate(true);
    m_passwordField.setAllowBlank(false);
    m_passwordField.addKeyListener(new KeyListener() {
        @Override
        public void componentKeyUp(ComponentEvent event) {
            super.componentKeyUp(event);
            m_verifyPasswordField.validate();
        }
    });

    m_passwordField.addListener(Events.OnMouseOver, new MouseOverListener(MSGS.netWifiToolTipPassword()));

    m_passwordField.addListener(Events.OnChange, new Listener<BaseEvent>() {
        public void handleEvent(BaseEvent be) {
            setPasswordValidation();
            refreshForm();
        }
    });

    //
    // Verify Password
    // 
    m_verifyPasswordField = new TextField<String>();
    m_verifyPasswordField.setName("verifyPassword");
    m_verifyPasswordField.setFieldLabel(MSGS.netWifiWirelessVerifyPassword());
    m_verifyPasswordField.setPassword(true);
    m_verifyPasswordField.addPlugin(m_dirtyPlugin);
    m_verifyPasswordField.getMessages().setInvalidText("Invalid text 123"); //TODO:
    m_verifyPasswordField.setAutoValidate(true);
    m_verifyPasswordField.setAllowBlank(false);
    m_verifyPasswordField.setValidator(new Validator() {
        public String validate(Field<?> field, String value) {
            if (m_modeCombo != null && GwtWifiWirelessMode.netWifiWirelessModeAccessPoint
                    .equals(m_modeCombo.getValue().getMode())) {
                // Check that the verify password field matches
                if (m_passwordField == null || !value.equals(m_passwordField.getValue())) {
                    return MSGS.netWifiWirelessPasswordDoesNotMatch();
                }
            }
            return null;
        }
    });
    m_verifyPasswordField.addListener(Events.OnMouseOver,
            new MouseOverListener(MSGS.netWifiToolTipVerifyPassword()));
    m_verifyPasswordField.addStyleName("kura-textfield");

    // pairwise ciphers
    m_pairwiseCiphersCombo = new SimpleComboBox<String>();
    m_pairwiseCiphersCombo.setName("pairwiseCiphers");
    m_pairwiseCiphersCombo.setFieldLabel(MSGS.netWifiWirelessPairwiseCiphers());
    m_pairwiseCiphersCombo.setEditable(false);
    m_pairwiseCiphersCombo.setTypeAhead(true);
    m_pairwiseCiphersCombo.setTriggerAction(TriggerAction.ALL);
    //m_pairwiseCiphersCombo.setStyleAttribute("margin-top", Constants.LABEL_MARGIN_TOP_SEPARATOR);
    for (GwtWifiCiphers ciphers : GwtWifiCiphers.values()) {
        m_pairwiseCiphersCombo.add(MessageUtils.get(ciphers.name()));
    }
    m_pairwiseCiphersCombo.setSimpleValue(MessageUtils.get(GwtWifiCiphers.netWifiCiphers_CCMP_TKIP.name()));
    m_pairwiseCiphersCombo
            .addSelectionChangedListener(new SelectionChangedListener<SimpleComboValue<String>>() {
                @Override
                public void selectionChanged(SelectionChangedEvent<SimpleComboValue<String>> se) {
                    refreshForm();
                }
            });
    m_pairwiseCiphersCombo.addListener(Events.OnMouseOver,
            new MouseOverListener(MSGS.netWifiToolTipPairwiseCiphers()));
    m_pairwiseCiphersCombo.addStyleName("kura-combobox");
    m_pairwiseCiphersCombo.addPlugin(m_dirtyPlugin);

    // group ciphers
    m_groupCiphersCombo = new SimpleComboBox<String>();
    m_groupCiphersCombo.setName("groupCiphers");
    m_groupCiphersCombo.setFieldLabel(MSGS.netWifiWirelessGroupCiphers());
    m_groupCiphersCombo.setEditable(false);
    m_groupCiphersCombo.setTypeAhead(true);
    m_groupCiphersCombo.setTriggerAction(TriggerAction.ALL);
    //m_groupCiphersCombo.setStyleAttribute("margin-top", Constants.LABEL_MARGIN_TOP_SEPARATOR);
    for (GwtWifiCiphers ciphers : GwtWifiCiphers.values()) {
        m_groupCiphersCombo.add(MessageUtils.get(ciphers.name()));
    }
    m_groupCiphersCombo.setSimpleValue(MessageUtils.get(GwtWifiCiphers.netWifiCiphers_CCMP_TKIP.name()));
    m_groupCiphersCombo.addSelectionChangedListener(new SelectionChangedListener<SimpleComboValue<String>>() {
        @Override
        public void selectionChanged(SelectionChangedEvent<SimpleComboValue<String>> se) {
            refreshForm();
        }
    });
    m_groupCiphersCombo.addListener(Events.OnMouseOver,
            new MouseOverListener(MSGS.netWifiToolTipGroupCiphers()));
    m_groupCiphersCombo.addStyleName("kura-combobox");
    m_groupCiphersCombo.addPlugin(m_dirtyPlugin);

    // bgscan module
    m_bgscanModuleCombo = new SimpleComboBox<String>();
    m_bgscanModuleCombo.setName("groupCiphers");
    m_bgscanModuleCombo.setFieldLabel(MSGS.netWifiWirelessBgscanModule());
    m_bgscanModuleCombo.setEditable(false);
    m_bgscanModuleCombo.setTypeAhead(true);
    m_bgscanModuleCombo.setTriggerAction(TriggerAction.ALL);
    m_bgscanModuleCombo.setStyleAttribute("margin-top", Constants.LABEL_MARGIN_TOP_SEPARATOR);
    for (GwtWifiBgscanModule module : GwtWifiBgscanModule.values()) {
        m_bgscanModuleCombo.add(MessageUtils.get(module.name()));
    }
    m_bgscanModuleCombo.setSimpleValue(MessageUtils.get(GwtWifiBgscanModule.netWifiBgscanMode_NONE.name()));
    m_bgscanModuleCombo.addSelectionChangedListener(new SelectionChangedListener<SimpleComboValue<String>>() {
        @Override
        public void selectionChanged(SelectionChangedEvent<SimpleComboValue<String>> se) {
            refreshForm();
        }
    });
    m_bgscanModuleCombo.addListener(Events.OnMouseOver, new MouseOverListener(MSGS.netWifiToolTipBgScan()));
    m_bgscanModuleCombo.addStyleName("kura-combobox");
    m_bgscanModuleCombo.addPlugin(m_dirtyPlugin);

    // bgscan RSSI Threshold
    m_bgscanRssiThresholdSlider = new Slider();

    m_bgscanRssiThresholdSlider.setWidth(200);
    m_bgscanRssiThresholdSlider.setIncrement(1);
    m_bgscanRssiThresholdSlider.setMinValue(-90);
    m_bgscanRssiThresholdSlider.setMaxValue(-20);
    m_bgscanRssiThresholdSlider.addListener(Events.OnMouseOver,
            new MouseOverListener(MSGS.netWifiToolTipBgScanStrength()));
    m_bgscanRssiThresholdSlider.setClickToChange(false);
    m_bgscanRssiThresholdSliderField = new SliderField(m_bgscanRssiThresholdSlider);
    m_bgscanRssiThresholdSliderField.setFieldLabel(MSGS.netWifiWirelessBgscanSignalStrengthThreshold());

    // bgscan short interval
    m_bgscanShortIntervalField = new NumberField();
    m_bgscanShortIntervalField.setPropertyEditorType(Integer.class);
    m_bgscanShortIntervalField.setAllowDecimals(false);
    m_bgscanShortIntervalField.setAllowNegative(false);
    m_bgscanShortIntervalField.setAllowBlank(true);
    m_bgscanShortIntervalField.setName("bgscanShortInterval");
    m_bgscanShortIntervalField.setFieldLabel(MSGS.netWifiWirelessBgscanShortInterval());
    m_bgscanShortIntervalField.addListener(Events.OnMouseOver,
            new MouseOverListener(MSGS.netWifiToolTipBgScanShortInterval()));
    m_bgscanShortIntervalField.addPlugin(m_dirtyPlugin);
    //m_bgscanShortInterval.setStyleAttribute("margin-top", Constants.LABEL_MARGIN_TOP_SEPARATOR);

    // bgscan long interval
    m_bgscanLongIntervalField = new NumberField();
    m_bgscanLongIntervalField.setPropertyEditorType(Integer.class);
    m_bgscanLongIntervalField.setAllowDecimals(false);
    m_bgscanLongIntervalField.setAllowNegative(false);
    m_bgscanLongIntervalField.setAllowBlank(true);
    m_bgscanLongIntervalField.setName("bgscanLongInterval");
    m_bgscanLongIntervalField.setFieldLabel(MSGS.netWifiWirelessBgscanLongInterval());
    m_bgscanLongIntervalField.addListener(Events.OnMouseOver,
            new MouseOverListener(MSGS.netWifiToolTipBgScanLongInterval()));
    m_bgscanLongIntervalField.addPlugin(m_dirtyPlugin);

    m_pingAccessPointRadioTrue = new Radio();
    m_pingAccessPointRadioTrue.setBoxLabel(MSGS.trueLabel());
    m_pingAccessPointRadioTrue.setItemId("true");
    m_pingAccessPointRadioTrue.addListener(Events.OnMouseOver,
            new MouseOverListener(MSGS.netWifiToolTipPingAccessPoint()));

    m_pingAccessPointRadioFalse = new Radio();
    m_pingAccessPointRadioFalse.setBoxLabel(MSGS.falseLabel());
    m_pingAccessPointRadioFalse.setItemId("false");
    m_pingAccessPointRadioFalse.addListener(Events.OnMouseOver,
            new MouseOverListener(MSGS.netWifiToolTipPingAccessPoint()));

    m_pingAccessPointRadioGroup = new RadioGroup();
    m_pingAccessPointRadioGroup.setName("pingAccessPoint");
    m_pingAccessPointRadioGroup.setFieldLabel(MSGS.netWifiWirelessPingAccessPoint());
    m_pingAccessPointRadioGroup.add(m_pingAccessPointRadioTrue);
    m_pingAccessPointRadioGroup.add(m_pingAccessPointRadioFalse);
    m_pingAccessPointRadioGroup.addPlugin(m_dirtyPlugin);
    m_pingAccessPointRadioGroup.setStyleAttribute("margin-top", Constants.LABEL_MARGIN_TOP_SEPARATOR);

    m_ignoreSsidRadioTrue = new Radio();
    m_ignoreSsidRadioTrue.setBoxLabel(MSGS.trueLabel());
    m_ignoreSsidRadioTrue.setItemId("true");
    m_ignoreSsidRadioTrue.addListener(Events.OnMouseOver,
            new MouseOverListener(MSGS.netWifiToolTipIgnoreSSID()));

    m_ignoreSsidRadioFalse = new Radio();
    m_ignoreSsidRadioFalse.setBoxLabel(MSGS.falseLabel());
    m_ignoreSsidRadioFalse.setItemId("false");
    m_ignoreSsidRadioFalse.addListener(Events.OnMouseOver,
            new MouseOverListener(MSGS.netWifiToolTipIgnoreSSID()));

    m_ignoreSsidRadioGroup = new RadioGroup();
    m_ignoreSsidRadioGroup.setName("ignoreSSID");
    m_ignoreSsidRadioGroup.setFieldLabel(MSGS.netWifiWirelessIgnoreSSID());
    m_ignoreSsidRadioGroup.add(m_ignoreSsidRadioTrue);
    m_ignoreSsidRadioGroup.add(m_ignoreSsidRadioFalse);
    m_ignoreSsidRadioGroup.addPlugin(m_dirtyPlugin);
    m_ignoreSsidRadioGroup.setStyleAttribute("margin-top", Constants.LABEL_MARGIN_TOP_SEPARATOR);

    //
    // Channel
    // 
    GroupingStore<GwtWifiChannelModel> grtoupingStore = new GroupingStore<GwtWifiChannelModel>();
    grtoupingStore.setMonitorChanges(true);
    grtoupingStore.add(GwtWifiChannelModel.getChannels());
    grtoupingStore.groupBy("band");

    ColumnConfig channel = new ColumnConfig("name", "All Available Channels", 20);
    ColumnConfig frequency = new ColumnConfig("frequency", "Frequency (MHz)", 10);
    ColumnConfig band = new ColumnConfig("band", "Spectrum Band", 20);

    List<ColumnConfig> channelColumnConfig = new ArrayList<ColumnConfig>();
    channelColumnConfig.add(m_checkboxChannelSelectionModel.getColumn());
    channelColumnConfig.add(channel);
    channelColumnConfig.add(frequency);
    channelColumnConfig.add(band);

    final ColumnModel columnModel = new ColumnModel(channelColumnConfig);
    m_channelGroupingView = new GroupingView() {

        @Override
        protected void onMouseDown(GridEvent<ModelData> ge) {
            El hd = ge.getTarget(".x-grid-group-hd", 10);
            El target = ge.getTargetEl();
            if (hd != null && target.hasStyleName(m_uncheckedStyle) || target.hasStyleName(m_checkedStyle)) {
                boolean checked = !ge.getTargetEl().hasStyleName(m_uncheckedStyle);
                checked = !checked;
                if (checked) {
                    ge.getTargetEl().replaceStyleName(m_uncheckedStyle, m_checkedStyle);
                } else {
                    ge.getTargetEl().replaceStyleName(m_checkedStyle, m_uncheckedStyle);
                }

                Element group = (Element) findGroup(ge.getTarget());
                if (group != null) {
                    NodeList<Element> rows = El.fly(group).select(".x-grid3-row");
                    List<ModelData> temp = new ArrayList<ModelData>();
                    for (int i = 0; i < rows.getLength(); i++) {
                        Element r = rows.getItem(i);
                        int idx = findRowIndex(r);
                        ModelData m = grid.getStore().getAt(idx);
                        temp.add(m);
                    }
                    if (checked) {
                        grid.getSelectionModel().select(temp, true);
                    } else {
                        grid.getSelectionModel().deselect(temp);
                    }
                }
                return;
            }
            super.onMouseDown(ge);
        }

    };

    m_channelGroupingView.setShowGroupedColumn(false);
    m_channelGroupingView.setForceFit(true);
    m_channelGroupingView.setShowDirtyCells(true);
    m_channelGroupingView.setGroupRenderer(new GridGroupRenderer() {
        public String render(GroupColumnData data) {
            String f = columnModel.getColumnById(data.field).getHeader();
            String l = data.models.size() == 1 ? "Item" : "Items";
            return "<div class='x-grid3-group-checker'><div class='" + m_uncheckedStyle + "'> </div></div> " + f
                    + ": " + data.group + " (" + data.models.size() + " " + l + ")";
        }
    });

    final Grid<GwtWifiChannelModel> channelGrid = new Grid<GwtWifiChannelModel>(grtoupingStore, columnModel);
    channelGrid.setView(m_channelGroupingView);
    channelGrid.setBorders(true);
    channelGrid.addPlugin(m_checkboxChannelSelectionModel);
    channelGrid.setSelectionModel(m_checkboxChannelSelectionModel);
    channelGrid.addPlugin(m_dirtyPlugin);

    m_channelPanel = new ContentPanel();
    m_channelPanel.setHeading("Select Channel(s)");
    m_channelPanel.setCollapsible(true);
    m_channelPanel.setFrame(true);
    m_channelPanel.setSize(430, 200);
    m_channelPanel.setLayout(new FitLayout());
    m_channelPanel.setStyleAttribute("margin-top", Constants.LABEL_MARGIN_TOP_SEPARATOR);
    m_channelPanel.add(channelGrid);
    m_channelPanel.addListener(Events.OnMouseOver, new MouseOverListener(MSGS.netWifiToolTipChannels()));

    m_checkboxChannelSelectionModel
            .addSelectionChangedListener(new SelectionChangedListener<GwtWifiChannelModel>() {
                @Override
                public void selectionChanged(SelectionChangedEvent<GwtWifiChannelModel> se) {

                    updateSelectedChannels(se.getSelection());
                }
            });

    // Adjust the number of channels shown based on defined property
    gwtXSRFService.generateSecurityToken(new AsyncCallback<GwtXSRFToken>() {
        @Override
        public void onFailure(Throwable ex) {
            FailureHandler.handle(ex);
        }

        @Override
        public void onSuccess(GwtXSRFToken token) {
            gwtDeviceService.findDeviceConfiguration(token,
                    new AsyncCallback<ListLoadResult<GwtGroupedNVPair>>() {
                        public void onSuccess(ListLoadResult<GwtGroupedNVPair> results) {
                            if (results != null) {
                                List<GwtGroupedNVPair> pairs = results.getData();
                                if (pairs != null) {
                                    for (GwtGroupedNVPair pair : pairs) {
                                        String name = pair.getName();
                                        if (name != null && name.equals("devLastWifiChannel")) {
                                            int topChannel = Integer.parseInt(pair.getValue());
                                            // Remove channels 12 and 13
                                            if (topChannel < MAX_WIFI_CHANNEL) {
                                                channelGrid.getStore().remove(MAX_WIFI_CHANNEL - 1);
                                                channelGrid.getStore().remove(MAX_WIFI_CHANNEL - 2);
                                            }
                                        }
                                    }
                                }
                            }
                        }

                        public void onFailure(Throwable caught) {
                            FailureHandler.handle(caught);
                        }
                    });
        }
    });

    fieldSet.add(m_modeCombo, formData);
    fieldSet.add(m_ssidField, formData);
    fieldSet.add(m_radioModeCombo, formData);
    fieldSet.add(m_securityCombo, formData);
    fieldSet.add(m_passwordField, formData);
    fieldSet.add(m_verifyPasswordField, formData);
    fieldSet.add(m_pairwiseCiphersCombo, formData);
    fieldSet.add(m_groupCiphersCombo, formData);
    fieldSet.add(m_bgscanModuleCombo, formData);
    fieldSet.add(m_bgscanRssiThresholdSliderField, formData);
    fieldSet.add(m_bgscanShortIntervalField, formData);
    fieldSet.add(m_bgscanLongIntervalField, formData);
    fieldSet.add(m_pingAccessPointRadioGroup, formData);
    fieldSet.add(m_ignoreSsidRadioGroup, formData);
    fieldSet.add(m_channelPanel, formData);

    if ((m_securityCombo.getSimpleValue().equals(MessageUtils.get(GwtWifiSecurity.netWifiSecurityWPA2.name())))
            || (m_securityCombo.getSimpleValue()
                    .equals(MessageUtils.get(GwtWifiSecurity.netWifiSecurityWPA.name())))
            || (m_securityCombo.getSimpleValue()
                    .equals(MessageUtils.get(GwtWifiSecurity.netWifiSecurityWPA_WPA2.name())))) {

        if (GwtWifiWirelessMode.netWifiWirelessModeStation.equals(m_modeCombo.getValue().getMode())) {
            m_pairwiseCiphersCombo.setEnabled(true);
            m_groupCiphersCombo.setEnabled(true);
        } else {
            // m_pairwiseCiphersCombo.setEnabled(false); // enable it for AP mode as well
            m_pairwiseCiphersCombo.setEnabled(true);
            m_groupCiphersCombo.setEnabled(false);
        }
    } else {
        m_pairwiseCiphersCombo.setEnabled(false);
        m_groupCiphersCombo.setEnabled(false);
    }

    m_formPanel.add(fieldSet);
    m_formPanel.setScrollMode(Scroll.AUTO);
    add(m_formPanel);
    setScrollMode(Scroll.AUTOX);
    m_initialized = true;
}

From source file:org.eclipse.kura.web.client.settings.SslTab.java

License:Open Source License

private void initTabContent() {
    LayoutContainer lcAction = new LayoutContainer();
    lcAction.setLayout(new BorderLayout());
    lcAction.setBorders(true);/*  www  . ja  v  a  2s  .  c  o m*/
    lcAction.setSize(475, -1);

    // center panel: action form
    BorderLayoutData centerData = new BorderLayoutData(LayoutRegion.CENTER, .75F);
    centerData.setSplit(false);
    centerData.setMargins(new Margins(0, 0, 0, 0));

    FormData formData = new FormData("-20");
    formData.setMargins(new Margins(0, 10, 0, 0));

    if (!UserAgentUtils.isIE()) {
        m_actionFormPanel = new FormPanel();
        m_actionFormPanel.setId("config-panel-id");
        m_actionFormPanel.setFrame(false);
        m_actionFormPanel.setBodyBorder(false);
        m_actionFormPanel.setHeaderVisible(false);
        m_actionFormPanel.setLabelWidth(Constants.LABEL_WIDTH_CONFIG_FORM);
        m_actionFormPanel.setStyleAttribute("padding", "0px");
        m_actionFormPanel.setScrollMode(Scroll.AUTO);
        m_actionFormPanel.setLayout(new FlowLayout());
        m_actionFormPanel.addListener(Events.Render, new Listener<BaseEvent>() {
            public void handleEvent(BaseEvent be) {
                NodeList<com.google.gwt.dom.client.Element> nl = m_actionFormPanel.getElement()
                        .getElementsByTagName("form");
                if (nl.getLength() > 0) {
                    com.google.gwt.dom.client.Element elemForm = nl.getItem(0);
                    elemForm.setAttribute("autocomplete", "off");

                }
            }
        });
        m_actionFormPanel.getElement().setAttribute("autocomplete", "off");
    }

    m_actionFieldSet = new FieldSet();
    m_actionFieldSet.setId("configuration-form");
    m_actionFieldSet.setBorders(false);
    m_actionFieldSet.setStyleAttribute("padding", "0px");
    m_actionFieldSet.setScrollMode(Scroll.AUTO);

    this.addListener(Events.Change, new Listener<BaseEvent>() {
        public void handleEvent(BaseEvent be) {
            m_apply.setEnabled(true);
            m_reset.setEnabled(true);
            m_dirty = true;
        }
    });

    FormLayout layout = new FormLayout();
    layout.setLabelWidth(Constants.LABEL_WIDTH_CONFIG_FORM);
    m_actionFieldSet.setLayout(layout);

    loadData();

    //
    // Initial description
    // 
    LayoutContainer description = new LayoutContainer();
    description.setBorders(false);
    description.setLayout(new ColumnLayout());

    Label descriptionLabel = new Label(MSGS.settingsSSLConfigurationDescription());

    description.add(descriptionLabel);
    description.setStyleAttribute("padding-bottom", "10px");
    m_actionFieldSet.add(description);

    //
    // SSL protocol
    //
    m_protocol = new TextField<String>();
    m_protocol.setName(MSGS.settingsSSLConfigurationProtocol());
    m_protocol.setPassword(false);
    m_protocol.setAllowBlank(false);
    m_protocol.setFieldLabel(MSGS.settingsSSLConfigurationProtocol());
    m_protocol.addPlugin(m_dirtyPlugin);
    m_protocol.addPlugin(m_infoPlugin);
    m_protocol.setData("text", MSGS.settingsSSLConfigurationProtocolDescr());
    m_actionFieldSet.add(m_protocol, formData);

    //
    // SSL hostname verification
    //
    m_trueRadio = new Radio();
    m_trueRadio.setBoxLabel(MSGS.trueLabel());
    m_trueRadio.setItemId("true");

    m_falseRadio = new Radio();
    m_falseRadio.setBoxLabel(MSGS.falseLabel());
    m_falseRadio.setValueAttribute("false");

    m_hostnameVerification = new RadioGroup();
    m_hostnameVerification.setName("Hostname Verification");
    m_hostnameVerification.setItemId("Hostname Verification");
    m_hostnameVerification.setFieldLabel(MSGS.settingsSSLConfigurationHostnameVerification());
    m_hostnameVerification.add(m_trueRadio);
    m_hostnameVerification.add(m_falseRadio);
    m_hostnameVerification.addPlugin(m_infoPlugin);
    m_hostnameVerification.addPlugin(m_dirtyPlugin);
    m_hostnameVerification.setData("text", MSGS.settingsSSLConfigurationHostnameVerificationDescr());
    m_actionFieldSet.add(m_hostnameVerification, formData);

    //
    // SSL keystore
    //
    m_keystorePath = new TextField<String>();
    m_keystorePath.setName(MSGS.settingsSSLConfigurationKeystorePath());
    m_keystorePath.setPassword(false);
    m_keystorePath.setAllowBlank(false);
    m_keystorePath.setFieldLabel(MSGS.settingsSSLConfigurationKeystorePath());
    m_keystorePath.addPlugin(m_dirtyPlugin);
    m_keystorePath.addPlugin(m_infoPlugin);
    m_keystorePath.setData("text", MSGS.settingsSSLConfigurationKeystorePathDescr());
    m_actionFieldSet.add(m_keystorePath, formData);

    //
    // SSL keystore password
    //
    m_keystorePassword = new TextField<String>();
    m_keystorePassword.setName(MSGS.settingsSSLConfigurationKeystorePassword());
    m_keystorePassword.setPassword(true);
    m_keystorePassword.setAllowBlank(false);
    m_keystorePassword.setFieldLabel(MSGS.settingsSSLConfigurationKeystorePassword());
    m_keystorePassword.addPlugin(m_dirtyPlugin);
    m_keystorePassword.addPlugin(m_infoPlugin);
    m_keystorePassword.setData("text", MSGS.settingsSSLConfigurationKeystorePasswordDescr());
    m_actionFieldSet.add(m_keystorePassword, formData);

    //
    // SSL cipher suites
    //
    m_cipherSuites = new TextField<String>();
    m_cipherSuites.setName(MSGS.settingsSSLConfigurationCipherSuites());
    m_cipherSuites.setPassword(false);
    m_cipherSuites.setAllowBlank(true);
    m_cipherSuites.setFieldLabel(MSGS.settingsSSLConfigurationCipherSuites());
    m_cipherSuites.addPlugin(m_dirtyPlugin);
    m_cipherSuites.addPlugin(m_infoPlugin);
    m_cipherSuites.setData("text", MSGS.settingsSSLConfigurationCipherSuitesDescr());
    m_actionFieldSet.add(m_cipherSuites, formData);

    if (!UserAgentUtils.isIE()) {
        m_actionFormPanel.add(m_actionFieldSet, formData);
        lcAction.add(m_actionFormPanel, centerData);
    } else {
        lcAction.add(m_actionFieldSet, centerData);
    }
    m_tabContent = lcAction;
}