Search in sources :

Example 1 with KeyListener

use of com.extjs.gxt.ui.client.event.KeyListener in project kura by eclipse.

the class WirelessConfigTab method onRender.

protected void onRender(Element parent, int index) {
    super.onRender(parent, index);
    setLayout(new FitLayout());
    setId("network-wireless");
    FormData formData = new FormData();
    formData.setWidth(250);
    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);
    // TODO:
    m_verifyPasswordField.getMessages().setInvalidText("Invalid text 123");
    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;
}
Also used : RadioGroup(com.extjs.gxt.ui.client.widget.form.RadioGroup) ColumnConfig(com.extjs.gxt.ui.client.widget.grid.ColumnConfig) SimpleComboValue(com.extjs.gxt.ui.client.widget.form.SimpleComboValue) AsyncCallback(com.google.gwt.user.client.rpc.AsyncCallback) ArrayList(java.util.ArrayList) GwtWifiRadioMode(org.eclipse.kura.web.shared.model.GwtWifiRadioMode) GwtXSRFToken(org.eclipse.kura.web.shared.model.GwtXSRFToken) GroupingStore(com.extjs.gxt.ui.client.store.GroupingStore) Button(com.extjs.gxt.ui.client.widget.button.Button) TextFieldWithButton(org.eclipse.kura.web.client.util.TextFieldWithButton) NodeList(com.google.gwt.dom.client.NodeList) List(java.util.List) ArrayList(java.util.ArrayList) FormData(com.extjs.gxt.ui.client.widget.layout.FormData) NodeList(com.google.gwt.dom.client.NodeList) GroupColumnData(com.extjs.gxt.ui.client.widget.grid.GroupColumnData) ContentPanel(com.extjs.gxt.ui.client.widget.ContentPanel) GwtWifiChannelModel(org.eclipse.kura.web.shared.model.GwtWifiChannelModel) GridGroupRenderer(com.extjs.gxt.ui.client.widget.grid.GridGroupRenderer) GwtWifiSecurity(org.eclipse.kura.web.shared.model.GwtWifiSecurity) ComponentEvent(com.extjs.gxt.ui.client.event.ComponentEvent) ModelData(com.extjs.gxt.ui.client.data.ModelData) FlowLayout(com.extjs.gxt.ui.client.widget.layout.FlowLayout) GwtWifiCiphers(org.eclipse.kura.web.shared.model.GwtWifiCiphers) Slider(com.extjs.gxt.ui.client.widget.Slider) El(com.extjs.gxt.ui.client.core.El) Element(com.google.gwt.user.client.Element) Grid(com.extjs.gxt.ui.client.widget.grid.Grid) GwtGroupedNVPair(org.eclipse.kura.web.shared.model.GwtGroupedNVPair) FieldSet(com.extjs.gxt.ui.client.widget.form.FieldSet) GwtWifiWirelessModeModel(org.eclipse.kura.web.shared.model.GwtWifiWirelessModeModel) GroupingView(com.extjs.gxt.ui.client.widget.grid.GroupingView) FitLayout(com.extjs.gxt.ui.client.widget.layout.FitLayout) FormLayout(com.extjs.gxt.ui.client.widget.layout.FormLayout) GwtWifiConfig(org.eclipse.kura.web.shared.model.GwtWifiConfig) BaseEvent(com.extjs.gxt.ui.client.event.BaseEvent) Radio(com.extjs.gxt.ui.client.widget.form.Radio) GwtWifiBgscanModule(org.eclipse.kura.web.shared.model.GwtWifiBgscanModule) SliderField(com.extjs.gxt.ui.client.widget.form.SliderField) NumberField(com.extjs.gxt.ui.client.widget.form.NumberField) ListLoadResult(com.extjs.gxt.ui.client.data.ListLoadResult) FormPanel(com.extjs.gxt.ui.client.widget.form.FormPanel) ButtonEvent(com.extjs.gxt.ui.client.event.ButtonEvent) KeyListener(com.extjs.gxt.ui.client.event.KeyListener) ColumnModel(com.extjs.gxt.ui.client.widget.grid.ColumnModel) Validator(com.extjs.gxt.ui.client.widget.form.Validator)

Example 2 with KeyListener

use of com.extjs.gxt.ui.client.event.KeyListener in project geo-platform by geosdi.

the class GPEPSGContentPanel method addComponent.

@Override
public void addComponent() {
    epsgTextField = new GPSecureStringTextField();
    epsgTextField.setAllowBlank(false);
    epsgTextField.setFieldLabel(BasicWidgetConstants.INSTANCE.GPEPSGContentPanel_EPSGTextFieldLabelText());
    this.storeEPSG = new ListStore<EPSGTemplate>();
    this.storeEPSG.add(EPSGUtility.getCommonEPSG());
    this.comboEPSG = new ComboBox<EPSGTemplate>();
    this.comboEPSG.setFieldLabel(BasicWidgetConstants.INSTANCE.GPEPSGContentPanel_EPSGComboFieldLabelText());
    this.comboEPSG.setEmptyText(BasicWidgetConstants.INSTANCE.EPSGUtility_chooseEPSGText());
    this.comboEPSG.setDisplayField(EPSGTemplate.EPSGEnum.EPSG_DESCRIPTION.getValue());
    this.comboEPSG.setEditable(false);
    this.comboEPSG.setAllowBlank(true);
    this.comboEPSG.setForceSelection(true);
    this.comboEPSG.setTypeAhead(true);
    this.comboEPSG.setTriggerAction(ComboBox.TriggerAction.ALL);
    this.comboEPSG.setStore(this.storeEPSG);
    this.comboEpsgListener = new SelectionChangedListener<EPSGTemplate>() {

        @Override
        public void selectionChanged(SelectionChangedEvent<EPSGTemplate> se) {
            if (se.getSelectedItem() != null) {
                epsgTextField.setValue(se.getSelectedItem().getEpsg());
            }
        }
    };
    super.add(this.comboEPSG, new FormData("100%"));
    epsgTextField = new GPSecureStringTextField();
    epsgTextField.setAllowBlank(false);
    epsgTextField.setFieldLabel(BasicWidgetConstants.INSTANCE.GPEPSGContentPanel_EPSGTextFieldLabelText());
    KeyListener keyListener = new KeyListener() {

        @Override
        public void componentKeyUp(ComponentEvent event) {
            comboEPSG.reset();
        }
    };
    epsgTextField.addKeyListener(keyListener);
    super.add(epsgTextField, new FormData("100%"));
}
Also used : EPSGTemplate(org.geosdi.geoplatform.gui.client.widget.map.util.EPSGTemplate) FormData(com.extjs.gxt.ui.client.widget.layout.FormData) GPSecureStringTextField(org.geosdi.geoplatform.gui.configuration.GPSecureStringTextField) KeyListener(com.extjs.gxt.ui.client.event.KeyListener) ComponentEvent(com.extjs.gxt.ui.client.event.ComponentEvent)

Example 3 with KeyListener

use of com.extjs.gxt.ui.client.event.KeyListener in project geo-platform by geosdi.

the class GPFolderInfoBinding method createFormPanel.

@Override
public FormPanel createFormPanel() {
    FormPanel fp = new FormPanel();
    fp.setHeaderVisible(false);
    labelField = new GPSecureStringTextField();
    labelField.setName(GPFolderKeyValue.LABEL.toString());
    labelField.setFieldLabel(LayerModuleConstants.INSTANCE.GPFolderInfoBinding_labelFieldText());
    labelField.setFireChangeEventOnSetValue(true);
    labelField.addKeyListener(new KeyListener() {

        @Override
        public void componentKeyDown(ComponentEvent event) {
            super.componentKeyDown(event);
            if (event.getKeyCode() == KeyCodes.KEY_ENTER && !labelField.getValue().isEmpty()) {
                getModel().setLabel(labelField.getValue());
            }
        }
    });
    fp.add(labelField);
    folderInfo = new Label();
    folderInfo.setIntStyleAttribute("font-size", 8);
    fp.add(folderInfo);
    return fp;
}
Also used : GPSecureStringTextField(org.geosdi.geoplatform.gui.configuration.GPSecureStringTextField) FormPanel(com.extjs.gxt.ui.client.widget.form.FormPanel) Label(com.extjs.gxt.ui.client.widget.Label) KeyListener(com.extjs.gxt.ui.client.event.KeyListener) ComponentEvent(com.extjs.gxt.ui.client.event.ComponentEvent)

Example 4 with KeyListener

use of com.extjs.gxt.ui.client.event.KeyListener in project geo-platform by geosdi.

the class AddFolderWidget method addComponentToForm.

@Override
public void addComponentToForm() {
    this.fieldSet = new FieldSet();
    this.fieldSet.setHeadingHtml(LayerModuleConstants.INSTANCE.AddFolderWidget_fieldSetHeadingText());
    FormLayout layout = new FormLayout();
    layout.setLabelWidth(40);
    fieldSet.setLayout(layout);
    this.folderText = new GPSecureStringTextField();
    this.folderText.setFieldLabel(LayerModuleConstants.INSTANCE.AddFolderWidget_folderLabelText());
    this.folderText.addKeyListener(new KeyListener() {

        @Override
        public void componentKeyUp(ComponentEvent event) {
            if (folderText.getValue() == null) {
                if ((event.getKeyCode() == KeyCodes.KEY_BACKSPACE) || (event.getKeyCode() == KeyCodes.KEY_DELETE)) {
                    reset();
                }
            } else {
                if (folderText.getValue().length() > 0) {
                    save.enable();
                } else {
                    save.disable();
                }
            }
        }

        @Override
        public void componentKeyPress(ComponentEvent event) {
            if ((event.getKeyCode() == KeyCodes.KEY_ENTER) && (folderText.getValue() != null) && (folderText.getValue().length() > 0)) {
                execute();
            }
        }
    });
    this.fieldSet.add(this.folderText);
    this.getFormPanel().add(this.fieldSet);
    this.saveStatus = new SaveStatus();
    this.saveStatus.setAutoWidth(true);
    this.getFormPanel().getButtonBar().add(this.saveStatus);
    getFormPanel().setButtonAlign(HorizontalAlignment.RIGHT);
    save = new Button(ButtonsConstants.INSTANCE.createText(), AbstractImagePrototype.create(LayerResources.ICONS.addFolder()), new SelectionListener<ButtonEvent>() {

        @Override
        public void componentSelected(ButtonEvent ce) {
            execute();
        }
    });
    save.setEnabled(false);
    this.getFormPanel().addButton(save);
    this.cancel = new Button(ButtonsConstants.INSTANCE.cancelText(), AbstractImagePrototype.create(BasicWidgetResources.ICONS.cancel()), new SelectionListener<ButtonEvent>() {

        @Override
        public void componentSelected(ButtonEvent ce) {
            clearComponents();
        }
    });
    this.getFormPanel().addButton(cancel);
    setFocusWidget(this.folderText);
}
Also used : FormLayout(com.extjs.gxt.ui.client.widget.layout.FormLayout) GPSecureStringTextField(org.geosdi.geoplatform.gui.configuration.GPSecureStringTextField) FieldSet(com.extjs.gxt.ui.client.widget.form.FieldSet) Button(com.extjs.gxt.ui.client.widget.button.Button) ButtonEvent(com.extjs.gxt.ui.client.event.ButtonEvent) KeyListener(com.extjs.gxt.ui.client.event.KeyListener) ComponentEvent(com.extjs.gxt.ui.client.event.ComponentEvent) SaveStatus(org.geosdi.geoplatform.gui.client.widget.SaveStatus) EnumSaveStatus(org.geosdi.geoplatform.gui.client.widget.SaveStatus.EnumSaveStatus) SelectionListener(com.extjs.gxt.ui.client.event.SelectionListener)

Example 5 with KeyListener

use of com.extjs.gxt.ui.client.event.KeyListener in project geo-platform by geosdi.

the class AddWorkspaceWidget method addComponentToForm.

@Override
public void addComponentToForm() {
    this.fieldSet = new FieldSet();
    this.fieldSet.setHeadingHtml(PublisherWidgetConstants.INSTANCE.AddWorkspaceWidget_fieldSetHeadingText());
    FormLayout layout = new FormLayout();
    layout.setLabelWidth(40);
    fieldSet.setLayout(layout);
    this.workspaceNameTextField = new GPSecureStringTextField();
    this.workspaceNameTextField.setFieldLabel(PublisherWidgetConstants.INSTANCE.AddWorkspaceWidget_nameText());
    this.workspaceNameTextField.addKeyListener(new KeyListener() {

        @Override
        public void componentKeyUp(ComponentEvent event) {
            if (workspaceNameTextField.getValue() == null) {
                if ((event.getKeyCode() == KeyCodes.KEY_BACKSPACE) || (event.getKeyCode() == KeyCodes.KEY_DELETE)) {
                    reset();
                }
            } else {
                if (workspaceNameTextField.getValue().length() > 0) {
                    save.enable();
                } else {
                    save.disable();
                }
            }
        }

        @Override
        public void componentKeyPress(ComponentEvent event) {
            if ((event.getKeyCode() == KeyCodes.KEY_ENTER) && (workspaceNameTextField.getValue() != null) && (workspaceNameTextField.getValue().length() > 0)) {
                execute();
            }
        }
    });
    this.fieldSet.add(this.workspaceNameTextField);
    this.getFormPanel().add(this.fieldSet);
    this.saveStatus = new SaveStatus();
    this.saveStatus.setAutoWidth(true);
    this.getFormPanel().getButtonBar().add(this.saveStatus);
    getFormPanel().setButtonAlign(HorizontalAlignment.RIGHT);
    save = new Button(ButtonsConstants.INSTANCE.createText(), AbstractImagePrototype.create(BasicWidgetResources.ICONS.done()), new SelectionListener<ButtonEvent>() {

        @Override
        public void componentSelected(ButtonEvent ce) {
            execute();
        }
    });
    save.setEnabled(false);
    this.getFormPanel().addButton(save);
    this.cancel = new Button(ButtonsConstants.INSTANCE.cancelText(), AbstractImagePrototype.create(BasicWidgetResources.ICONS.cancel()), new SelectionListener<ButtonEvent>() {

        @Override
        public void componentSelected(ButtonEvent ce) {
            clearComponents();
        }
    });
    this.getFormPanel().addButton(cancel);
    setFocusWidget(this.workspaceNameTextField);
}
Also used : FormLayout(com.extjs.gxt.ui.client.widget.layout.FormLayout) GPSecureStringTextField(org.geosdi.geoplatform.gui.configuration.GPSecureStringTextField) FieldSet(com.extjs.gxt.ui.client.widget.form.FieldSet) Button(com.extjs.gxt.ui.client.widget.button.Button) ButtonEvent(com.extjs.gxt.ui.client.event.ButtonEvent) KeyListener(com.extjs.gxt.ui.client.event.KeyListener) ComponentEvent(com.extjs.gxt.ui.client.event.ComponentEvent) SelectionListener(com.extjs.gxt.ui.client.event.SelectionListener)

Aggregations

ComponentEvent (com.extjs.gxt.ui.client.event.ComponentEvent)14 KeyListener (com.extjs.gxt.ui.client.event.KeyListener)14 GPSecureStringTextField (org.geosdi.geoplatform.gui.configuration.GPSecureStringTextField)6 FormLayout (com.extjs.gxt.ui.client.widget.layout.FormLayout)5 SelectionListener (com.extjs.gxt.ui.client.event.SelectionListener)4 BaseEvent (com.extjs.gxt.ui.client.event.BaseEvent)3 ButtonEvent (com.extjs.gxt.ui.client.event.ButtonEvent)3 Button (com.extjs.gxt.ui.client.widget.button.Button)3 FieldSet (com.extjs.gxt.ui.client.widget.form.FieldSet)3 FormData (com.extjs.gxt.ui.client.widget.layout.FormData)3 Listener (com.extjs.gxt.ui.client.event.Listener)2 FormPanel (com.extjs.gxt.ui.client.widget.form.FormPanel)2 El (com.extjs.gxt.ui.client.core.El)1 ListLoadResult (com.extjs.gxt.ui.client.data.ListLoadResult)1 ModelData (com.extjs.gxt.ui.client.data.ModelData)1 GroupingStore (com.extjs.gxt.ui.client.store.GroupingStore)1 ContentPanel (com.extjs.gxt.ui.client.widget.ContentPanel)1 Label (com.extjs.gxt.ui.client.widget.Label)1 Slider (com.extjs.gxt.ui.client.widget.Slider)1 NumberField (com.extjs.gxt.ui.client.widget.form.NumberField)1