Example usage for com.google.gwt.user.client.ui FocusPanel setFocus

List of usage examples for com.google.gwt.user.client.ui FocusPanel setFocus

Introduction

In this page you can find the example usage for com.google.gwt.user.client.ui FocusPanel setFocus.

Prototype

public void setFocus(boolean focused) 

Source Link

Usage

From source file:co.fxl.gui.gwt.GWTContextMenu.java

License:Open Source License

public void decorate(FocusPanel focusPanel) {
    focusPanel.setFocus(true);
    focusPanel.addKeyPressHandler(new KeyPressHandler() {
        @Override//  w w w  .ja va2s. c  o  m
        public void onKeyPress(KeyPressEvent k) {
            System.out.println(k);
        }
    });
    focusPanel.addKeyUpHandler(new KeyUpHandler() {
        @Override
        public void onKeyUp(KeyUpEvent k) {
            System.out.println(k);
        }
    });
    // for (Group g :
    // co.fxl.gui.impl.Page.instance().contextMenu().groups()) {
    // for (ContextMenu.Entry e : g.entries()) {
    //
    // }
    // }
}

From source file:com.googlecode.simplegwt.combobox.client.ui.ComboBox.java

License:Apache License

/**
 * Creates a new <code>ComboBox</code>.
 * // w ww  .ja va2s. c  o  m
 * @param openIconImage
 * @param oracle
 */
public ComboBox(final Image openIconImage, final ComboBoxOracle<T> oracle) {
    this.oracle = oracle;
    suggestBox = new SimpleGwtSuggestBox(oracle.getSuggestOracle());

    final ShowSuggestionsCommand command = new ShowSuggestionsCommand(suggestBox);

    openIcon = new CommandIcon(openIconImage, command);

    final HorizontalPanel layout = new HorizontalPanel();
    final FocusPanel iconWrapper = new FocusPanel();
    iconWrapper.setStylePrimaryName("openIconWrapper");
    iconWrapper.add(openIcon);
    iconWrapper.addClickHandler(new ClickHandler() {
        public void onClick(ClickEvent event) {
            selectedIndex = -1;
            iconWrapper.setFocus(true);
            command.execute();
        }
    });

    KeyDownHandler keyDownHandler = new KeyDownHandler() {
        public void onKeyDown(KeyDownEvent event) {
            boolean navKey = false;

            if (!suggestBox.isSuggestionListShowing()) {
                selectedIndex = -1;
            }

            switch (event.getNativeKeyCode()) {
            case KeyCodes.KEY_UP:
                selectedIndex--;
                navKey = true;
                break;
            case KeyCodes.KEY_DOWN:
                selectedIndex++;
                navKey = true;
                break;
            case KeyCodes.KEY_ESCAPE:
                suggestBox.hideSuggestionList();
                break;
            case KeyCodes.KEY_ENTER:
            case KeyCodes.KEY_TAB:
                if (suggestBox.getSuggestionMenuSelectedItemIndex() < 0) {
                    suggestBox.hideSuggestionList();
                } else if (suggestBox.isSuggestionListShowing()) {
                    suggestBox.doSelectedItemAction();
                }
                break;
            }

            if (navKey) {
                if (selectedIndex > -1) {
                    if (!suggestBox.isSuggestionListShowing()) {
                        command.execute();
                    }

                    suggestBox.selectItem(selectedIndex);
                } else if (selectedIndex < -1) {
                    selectedIndex = -1;
                }

                event.stopPropagation();
                event.preventDefault();
            }
        }
    };

    suggestBox.addKeyDownHandler(keyDownHandler);
    iconWrapper.addKeyDownHandler(keyDownHandler);

    layout.add(suggestBox);
    layout.add(iconWrapper);

    initWidget(layout);

    setStylePrimaryName("simpleGwt-ComboBox");

    new HoverStyler().registerOn(iconWrapper);
}

From source file:org.drools.guvnor.client.common.Popup.java

License:Apache License

private FocusPanel createKeyListeningFocusPanel(VerticalPanel verticalPanel) {
    FocusPanel focusPanel = new FocusPanel(verticalPanel);

    focusPanel.addKeyDownHandler(new KeyDownHandler() {
        public void onKeyDown(KeyDownEvent event) {
            if (event.getNativeKeyCode() == KeyCodes.KEY_ESCAPE) {
                hide();//from   ww  w. j av  a  2 s .  c  o m
            }
        }
    });

    focusPanel.setStyleName("");
    focusPanel.setFocus(true);
    focusPanel.setWidth("100%");
    return focusPanel;
}

From source file:org.gss_project.gss.web.client.FilePropertiesDialog.java

License:Open Source License

/**
 * The widget's constructor.//from  w  w  w .  ja  v  a  2  s  .c  o  m
 *
 * @param images the dialog's ImageBundle
 * @param groups
 * @param bodies
 */
public FilePropertiesDialog(final Images images, final List<GroupResource> groups, List<FileResource> bodies,
        String _userFullName) {

    // Set the dialog's caption.
    setText("File properties");

    file = (FileResource) GSS.get().getCurrentSelection();
    userFullName = _userFullName;
    permList = new PermissionsList(images, file.getPermissions(), file.getOwner());

    GWT.log("FILE PERMISSIONS:" + file.getPermissions());
    // Outer contains inner and buttons.
    final VerticalPanel outer = new VerticalPanel();
    final FocusPanel focusPanel = new FocusPanel(outer);
    // Inner contains generalPanel and permPanel.
    inner = new DecoratedTabPanel();
    inner.setAnimationEnabled(true);
    final VerticalPanel generalPanel = new VerticalPanel();
    final VerticalPanel permPanel = new VerticalPanel();
    final HorizontalPanel buttons = new HorizontalPanel();
    final HorizontalPanel permButtons = new HorizontalPanel();
    final HorizontalPanel permForAll = new HorizontalPanel();
    final HorizontalPanel pathPanel = new HorizontalPanel();
    final VerticalPanel verPanel = new VerticalPanel();
    final HorizontalPanel vPanel = new HorizontalPanel();
    final HorizontalPanel vPanel2 = new HorizontalPanel();

    versioned.setValue(file.isVersioned());
    versioned.getElement().setId("filePropertiesDialog.chechBox.versioned");
    inner.add(generalPanel, "General");
    inner.add(permPanel, "Sharing");
    inner.add(verPanel, "Versions");
    inner.selectTab(0);

    final Label fileNameNote = new Label("Please note that slashes ('/') are not allowed in file names.", true);
    fileNameNote.setVisible(false);
    fileNameNote.setStylePrimaryName("gss-readForAllNote");

    final FlexTable generalTable = new FlexTable();
    generalTable.setText(0, 0, "Name");
    generalTable.setText(1, 0, "Folder");
    generalTable.setText(2, 0, "Owner");
    generalTable.setText(3, 0, "Last modified");
    generalTable.setText(4, 0, "Tags");
    name.setWidth("100%");
    name.setText(file.getName());
    name.getElement().setId("filePropertiesDialog.textBox.name");
    generalTable.setWidget(0, 1, name);
    name.addChangeHandler(new ChangeHandler() {

        @Override
        public void onChange(ChangeEvent event) {
            if (name.getText().contains("/"))
                fileNameNote.setVisible(true);
            else
                fileNameNote.setVisible(false);

        }
    });

    if (file.getFolderName() != null)
        generalTable.setText(1, 1, file.getFolderName());
    else
        generalTable.setText(1, 1, "-");
    generalTable.setWidget(0, 2, fileNameNote);
    generalTable.setText(2, 1, userFullName);

    final DateTimeFormat formatter = DateTimeFormat.getFormat("d/M/yyyy h:mm a");
    generalTable.setText(3, 1, formatter.format(file.getModificationDate()));
    // Get the tags.
    StringBuffer tagsBuffer = new StringBuffer();
    Iterator i = file.getTags().iterator();
    while (i.hasNext()) {
        String tag = (String) i.next();
        tagsBuffer.append(tag).append(", ");
    }
    if (tagsBuffer.length() > 1)
        tagsBuffer.delete(tagsBuffer.length() - 2, tagsBuffer.length() - 1);
    initialTagText = tagsBuffer.toString();
    tags.setWidth("100%");
    tags.getElement().setId("filePropertiesDialog.textBox.tags");
    tags.setText(initialTagText);
    generalTable.setWidget(4, 1, tags);
    generalTable.getFlexCellFormatter().setStyleName(0, 0, "props-labels");
    generalTable.getFlexCellFormatter().setStyleName(1, 0, "props-labels");
    generalTable.getFlexCellFormatter().setStyleName(2, 0, "props-labels");
    generalTable.getFlexCellFormatter().setStyleName(3, 0, "props-labels");
    generalTable.getFlexCellFormatter().setStyleName(4, 0, "props-labels");
    generalTable.getFlexCellFormatter().setStyleName(0, 1, "props-values");
    generalTable.getFlexCellFormatter().setStyleName(1, 1, "props-values");
    generalTable.getFlexCellFormatter().setStyleName(2, 1, "props-values");
    generalTable.getFlexCellFormatter().setStyleName(3, 1, "props-values");
    generalTable.getFlexCellFormatter().setStyleName(4, 1, "props-values");
    generalTable.setCellSpacing(4);

    // Create the 'OK' button, along with a listener that hides the dialog
    // when the button is clicked.
    final Button ok = new Button("OK", new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            if (name.getText().contains("/"))
                fileNameNote.setVisible(true);
            else {
                fileNameNote.setVisible(false);
                accept();
                closeDialog();
            }
        }
    });
    ok.getElement().setId("filePropertiesDialog.button.ok");
    buttons.add(ok);
    buttons.setCellHorizontalAlignment(ok, HasHorizontalAlignment.ALIGN_CENTER);
    // Create the 'Cancel' button, along with a listener that hides the
    // dialog when the button is clicked.
    final Button cancel = new Button("Cancel", new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            closeDialog();
        }
    });
    cancel.getElement().setId("filePropertiesDialog.button.cancel");
    buttons.add(cancel);
    buttons.setCellHorizontalAlignment(cancel, HasHorizontalAlignment.ALIGN_CENTER);
    buttons.setSpacing(8);
    buttons.addStyleName("gss-TabPanelBottom");

    generalPanel.add(generalTable);

    // Asynchronously retrieve the tags defined by this user.
    DeferredCommand.addCommand(new Command() {

        @Override
        public void execute() {
            updateTags();
        }
    });

    DisclosurePanel allTags = new DisclosurePanel("All tags");
    allTagsContent = new FlowPanel();
    allTagsContent.setWidth("100%");
    allTags.setContent(allTagsContent);
    generalPanel.add(allTags);
    generalPanel.setSpacing(4);

    final Button add = new Button("Add Group", new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            PermissionsAddDialog dlg = new PermissionsAddDialog(groups, permList, false);
            dlg.center();
        }
    });
    add.getElement().setId("filePropertiesDialog.button.addGroup");
    permButtons.add(add);
    permButtons.setCellHorizontalAlignment(add, HasHorizontalAlignment.ALIGN_CENTER);

    final Button addUser = new Button("Add User", new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            PermissionsAddDialog dlg = new PermissionsAddDialog(groups, permList, true);
            dlg.center();
        }
    });
    add.getElement().setId("filePropertiesDialog.button.addUser");
    permButtons.add(addUser);
    permButtons.setCellHorizontalAlignment(addUser, HasHorizontalAlignment.ALIGN_CENTER);

    permButtons.setCellHorizontalAlignment(cancel, HasHorizontalAlignment.ALIGN_CENTER);
    permButtons.setSpacing(8);
    permButtons.addStyleName("gss-TabPanelBottom");

    final Label readForAllNote = new Label("When this option is enabled, the file will be readable"
            + " by everyone. By checking this option, you are certifying that you have the right to "
            + "distribute this file and that it does not violate the Terms of Use.", true);
    readForAllNote.setVisible(false);
    readForAllNote.setStylePrimaryName("gss-readForAllNote");

    readForAll = new CheckBox();
    readForAll.getElement().setId("filePropertiesDialog.checkBox.public");
    readForAll.setValue(file.isReadForAll());
    readForAll.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            readForAllNote.setVisible(readForAll.getValue());
        }

    });

    permPanel.add(permList);
    permPanel.add(permButtons);
    // Only show the read for all permission if the user is the owner.
    if (file.getOwner().equals(GSS.get().getCurrentUserResource().getUsername())) {
        permForAll.add(new Label("Public"));
        permForAll.add(readForAll);
        permForAll.setSpacing(8);
        permForAll.addStyleName("gss-TabPanelBottom");
        permForAll.add(readForAllNote);
        permPanel.add(permForAll);
    }

    TextBox path = new TextBox();
    path.setWidth("100%");
    path.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            GSS.enableIESelection();
            ((TextBox) event.getSource()).selectAll();
            GSS.preventIESelection();
        }

    });
    path.setText(file.getUri());
    path.getElement().setId("filePropertiesDialog.textBox.link");
    path.setTitle(
            "Use this link for sharing the file via e-mail, IM, etc. (crtl-C/cmd-C to copy to system clipboard)");
    path.setWidth("100%");
    path.setReadOnly(true);
    pathPanel.setWidth("100%");
    pathPanel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_LEFT);
    pathPanel.add(new Label("Link"));
    pathPanel.setSpacing(8);
    pathPanel.addStyleName("gss-TabPanelBottom");
    pathPanel.add(path);
    permPanel.add(pathPanel);

    VersionsList verList = new VersionsList(this, images, bodies);
    verPanel.add(verList);

    vPanel.setCellHorizontalAlignment(cancel, HasHorizontalAlignment.ALIGN_CENTER);
    vPanel.setSpacing(8);
    vPanel.addStyleName("gss-TabPanelBottom");
    vPanel.add(new Label("Versioned"));

    vPanel.add(versioned);
    verPanel.add(vPanel);
    vPanel2.setCellHorizontalAlignment(cancel, HasHorizontalAlignment.ALIGN_CENTER);
    vPanel2.setSpacing(8);
    vPanel2.addStyleName("gss-TabPanelBottom");
    Button removeVersionsButton = new Button(AbstractImagePrototype.create(images.delete()).getHTML(),
            new ClickHandler() {
                @Override
                public void onClick(ClickEvent event) {
                    ConfirmationDialog confirm = new ConfirmationDialog(
                            "Really " + "remove all previous versions?", "Remove") {

                        @Override
                        public void cancel() {
                        }

                        @Override
                        public void confirm() {
                            FilePropertiesDialog.this.closeDialog();
                            removeAllOldVersions();
                        }

                    };
                    confirm.center();
                }

            });
    HTML removeAllVersion = new HTML("<span>Remove all previous versions?</span>");
    vPanel2.add(removeAllVersion);
    vPanel2.add(removeVersionsButton);
    verPanel.add(vPanel2);
    if (!file.isVersioned())
        vPanel2.setVisible(false);
    outer.add(inner);
    outer.add(buttons);
    outer.setCellHorizontalAlignment(buttons, HasHorizontalAlignment.ALIGN_CENTER);
    outer.addStyleName("gss-TabPanelBottom");

    focusPanel.setFocus(true);
    setWidget(outer);
}

From source file:org.gss_project.gss.web.client.FilesPropertiesDialog.java

License:Open Source License

/**
 * The widget's constructor.//from  www .j  a va2  s .c om
 *
 * @param _files
 */
public FilesPropertiesDialog(final List<FileResource> _files) {
    super();

    files = _files;
    int versionedNum = 0;
    for (FileResource fr : files)
        if (fr.isVersioned())
            versionedNum++;
    Boolean versioned = null;
    if (versionedNum == 0)
        versioned = false;
    if (versionedNum == files.size())
        versioned = true;
    initialVersioned = versioned;
    versionedCheck = new TristateCheckBox(versioned);

    // Set the dialog's caption.
    setText("Files properties");

    // Outer contains inner and buttons.
    final VerticalPanel outer = new VerticalPanel();
    final FocusPanel focusPanel = new FocusPanel(outer);
    // Inner contains generalPanel and permPanel.
    inner = new DecoratedTabPanel();
    inner.setAnimationEnabled(true);
    final VerticalPanel generalPanel = new VerticalPanel();
    final HorizontalPanel buttons = new HorizontalPanel();
    final VerticalPanel verPanel = new VerticalPanel();
    final HorizontalPanel vPanel = new HorizontalPanel();

    inner.add(generalPanel, "General");
    inner.add(verPanel, "Versions");
    inner.selectTab(0);

    final FlexTable generalTable = new FlexTable();
    generalTable.setText(0, 0, String.valueOf(files.size()) + " files selected");
    generalTable.setText(1, 0, "Folder");
    generalTable.setText(2, 0, "Tags");
    FileResource firstFile = files.get(0);
    if (firstFile.getFolderName() != null)
        generalTable.setText(1, 1, firstFile.getFolderName());
    else
        generalTable.setText(1, 1, "-");

    // Find if tags are identical
    List<String> tagsList = files.get(0).getTags();
    List<String> tagss;
    for (int i = 1; i < files.size(); i++) {
        tagss = files.get(i).getTags();
        if (tagsList.size() != tagss.size() || !tagsList.containsAll(tagss)) {
            tagsList = null;
            break;
        }
    }
    // Get the tags.
    StringBuffer tagsBuffer = new StringBuffer();
    if (tagsList == null)
        tagsBuffer.append(MULTIPLE_VALUES_TEXT);
    else {
        Iterator i = tagsList.iterator();
        while (i.hasNext()) {
            String tag = (String) i.next();
            tagsBuffer.append(tag).append(", ");
        }
        if (tagsBuffer.length() > 1)
            tagsBuffer.delete(tagsBuffer.length() - 2, tagsBuffer.length() - 1);
    }
    initialTagText = tagsBuffer.toString();
    tags.setText(initialTagText);
    tags.addFocusHandler(new FocusHandler() {
        @Override
        public void onFocus(FocusEvent event) {
            if (MULTIPLE_VALUES_TEXT.equals(tags.getText()))
                tags.setText("");
        }
    });

    generalTable.setWidget(2, 1, tags);
    generalTable.getFlexCellFormatter().setStyleName(0, 0, "props-labels");
    generalTable.getFlexCellFormatter().setColSpan(0, 0, 2);
    generalTable.getFlexCellFormatter().setStyleName(1, 0, "props-labels");
    generalTable.getFlexCellFormatter().setStyleName(2, 0, "props-labels");
    generalTable.getFlexCellFormatter().setStyleName(0, 1, "props-values");
    generalTable.getFlexCellFormatter().setStyleName(1, 1, "props-values");
    generalTable.getFlexCellFormatter().setStyleName(2, 1, "props-values");
    generalTable.setCellSpacing(4);

    // Create the 'OK' button, along with a listener that hides the dialog
    // when the button is clicked.
    final Button ok = new Button("OK", new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            accept();
            closeDialog();
        }
    });
    buttons.add(ok);
    buttons.setCellHorizontalAlignment(ok, HasHorizontalAlignment.ALIGN_CENTER);
    // Create the 'Cancel' button, along with a listener that hides the
    // dialog when the button is clicked.
    final Button cancel = new Button("Cancel", new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            closeDialog();
        }
    });
    buttons.add(cancel);
    buttons.setCellHorizontalAlignment(cancel, HasHorizontalAlignment.ALIGN_CENTER);
    buttons.setSpacing(8);
    buttons.addStyleName("gss-TabPanelBottom");

    generalPanel.add(generalTable);

    // Asynchronously retrieve the tags defined by this user.
    DeferredCommand.addCommand(new Command() {

        @Override
        public void execute() {
            updateTags();
        }
    });

    DisclosurePanel allTags = new DisclosurePanel("All tags");
    allTagsContent = new FlowPanel();
    allTags.setContent(allTagsContent);
    generalPanel.add(allTags);
    generalPanel.setSpacing(4);

    vPanel.setCellHorizontalAlignment(cancel, HasHorizontalAlignment.ALIGN_CENTER);
    vPanel.setSpacing(8);
    vPanel.addStyleName("gss-TabPanelBottom");
    vPanel.add(new Label("Versioned"));

    vPanel.add(versionedCheck);
    verPanel.add(vPanel);
    outer.add(inner);
    outer.add(buttons);
    outer.setCellHorizontalAlignment(buttons, HasHorizontalAlignment.ALIGN_CENTER);
    outer.addStyleName("gss-TabPanelBottom");

    focusPanel.setFocus(true);
    setWidget(outer);
}