Example usage for org.eclipse.jface.viewers IStructuredSelection isEmpty

List of usage examples for org.eclipse.jface.viewers IStructuredSelection isEmpty

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers IStructuredSelection isEmpty.

Prototype

public boolean isEmpty();

Source Link

Document

Returns whether this selection is empty.

Usage

From source file:com.archimatetool.editor.views.tree.TreeModelViewerDragDropHandler.java

License:Open Source License

/**
 * Determine whether we have a valid selection of objects dragged from the Tree
 * Do it at the start of the drag operation for optimal speed.
 *//*from ww w . ja  v  a 2  s.  c om*/
boolean isValidTreeSelection(IStructuredSelection selection) {
    if (selection == null || selection.isEmpty()) {
        return false;
    }

    IArchimateModel model = null;

    for (Object object : selection.toArray()) {
        // Can't drag Models
        if (object instanceof IArchimateModel) {
            return false;
        }
        // Can only drag user folders
        if (object instanceof IFolder && ((IFolder) object).getType() != FolderType.USER) {
            return false;
        }
        // Don't allow mixed parent models
        if (object instanceof IArchimateModelElement) {
            IArchimateModel m = ((IArchimateModelElement) object).getArchimateModel();
            if (model != null && m != model) {
                return false;
            }
            model = m;
        }
    }

    return true;
}

From source file:com.arm.cmsis.pack.installer.ui.views.PacksView.java

License:Open Source License

ICpPack getPackItem() {
    IStructuredSelection selection = (IStructuredSelection) fViewer.getSelection();
    if (selection == null || selection.isEmpty()) {
        return null;
    }// www  .  j  a  v a2  s. com
    Object obj = selection.getFirstElement();
    if (obj instanceof ICpPack) {
        return (ICpPack) obj;
    }
    return null;
}

From source file:com.astra.ses.spell.gui.dialogs.DictionaryEditorDialog.java

License:Open Source License

/***************************************************************************
 * /*from   w  w w. j  av a  2  s .c o  m*/
 **************************************************************************/
@SuppressWarnings("unchecked")
private void doMergeSelected() {
    List<TypedVariable> selected = new ArrayList<TypedVariable>();
    IStructuredSelection sel = (IStructuredSelection) m_fileTable.getSelection();
    if (!sel.isEmpty()) {
        selected.addAll(sel.toList());
        mergeVariables(selected);
    }
}

From source file:com.astra.ses.spell.gui.dialogs.ServerFileSaveDialog.java

License:Open Source License

/***************************************************************************
 * Create the dialog area contents.//from w ww .  java2  s.  c o m
 * 
 * @param parent
 *            The base composite of the dialog
 * @return The resulting contents
 **************************************************************************/
@Override
protected Control createDialogArea(Composite parent) {
    // Main composite of the dialog area -----------------------------------
    Composite top = new Composite(parent, SWT.NONE);
    GridData areaData = new GridData(GridData.FILL_BOTH);
    areaData.widthHint = 600;
    areaData.heightHint = 400;
    top.setLayoutData(areaData);
    GridLayout layout = new GridLayout();
    layout.numColumns = 1;
    layout.verticalSpacing = 10;
    top.setLayout(layout);

    m_fileName = new Text(top, SWT.BORDER);
    m_fileName.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    m_fileName.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(ModifyEvent ev) {
            IStructuredSelection isel = (IStructuredSelection) m_viewer.getSelection();
            if (isel == null || isel.isEmpty()) {
                setErrorMessage("Must select a directory: only file name given");
                getButton(IDialogConstants.OK_ID).setEnabled(false);
            } else {
                Object selected = isel.getFirstElement();
                if (selected instanceof DirectoryTree) {
                    String filename = m_fileName.getText().trim();
                    if (filename.isEmpty()) {
                        setErrorMessage("Must provide a file name, or select an existing file.");
                        getButton(IDialogConstants.OK_ID).setEnabled(false);
                    } else {
                        setErrorMessage(null);
                        getButton(IDialogConstants.OK_ID).setEnabled(true);
                        DirectoryTree dir = (DirectoryTree) selected;
                        m_path = dir.getPath() + "/" + filename;
                        setMessage("File: '" + m_path + "'");
                    }
                } else {
                    DirectoryFile file = (DirectoryFile) selected;
                    final DirectoryTree parent = file.getParent();
                    m_viewer.setSelection(new IStructuredSelection() {
                        @Override
                        public boolean isEmpty() {
                            return false;
                        }

                        @Override
                        public Object getFirstElement() {
                            return parent;
                        };

                        @SuppressWarnings("rawtypes")
                        @Override
                        public Iterator iterator() {
                            return null;
                        }

                        @Override
                        public int size() {
                            return 1;
                        }

                        @Override
                        public Object[] toArray() {
                            DirectoryTree[] array = new DirectoryTree[1];
                            array[0] = parent;
                            return array;
                        }

                        @SuppressWarnings("rawtypes")
                        @Override
                        public List toList() {
                            return Arrays.asList(toArray());
                        }

                    });
                }
            }
        }
    });

    m_viewer = new ServerDirectoryTreeViewer(top);
    m_viewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
    m_viewer.setInput(m_tree);
    m_viewer.refresh();

    m_viewer.addSelectionChangedListener(this);

    setErrorMessage("Must select a directory and provide a file name, or select an existing file.");

    return parent;
}

From source file:com.astra.ses.spell.gui.dialogs.ServerFileSaveDialog.java

License:Open Source License

@Override
public void selectionChanged(SelectionChangedEvent event) {
    IStructuredSelection isel = (IStructuredSelection) m_viewer.getSelection();
    if (isel == null || isel.isEmpty()) {
        setErrorMessage("Must select a directory and provide a file name, or select an existing file.");
        getButton(IDialogConstants.OK_ID).setEnabled(false);
    } else {/*  w  ww. jav  a 2  s .  co  m*/
        Object selected = isel.getFirstElement();
        if (selected instanceof DirectoryTree) {
            String filename = m_fileName.getText().trim();
            if (filename.isEmpty()) {
                setErrorMessage("Must provide a file name, or select an existing file.");
                getButton(IDialogConstants.OK_ID).setEnabled(false);
            } else {
                setErrorMessage(null);
                getButton(IDialogConstants.OK_ID).setEnabled(true);
                DirectoryTree dir = (DirectoryTree) selected;
                m_path = dir.getPath() + "/" + filename;
                setMessage("File: '" + m_path + "'");
            }
        } else {
            setErrorMessage(null);
            m_path = ((DirectoryFile) selected).getAbsolutePath();
            m_fileName.setText(((DirectoryFile) selected).getFilename());
            setMessage("File: '" + m_path + "'");
            getButton(IDialogConstants.OK_ID).setEnabled(true);
        }
    }
}

From source file:com.astra.ses.spell.gui.replay.dialogs.ExecutionSelectionDialog.java

License:Open Source License

/***************************************************************************
 * /*from   w  w w . j  a va  2 s  .  c  o  m*/
 **************************************************************************/
@Override
public void selectionChanged(SelectionChangedEvent event) {
    IStructuredSelection sel = (IStructuredSelection) event.getSelection();
    if (sel.isEmpty()) {
        getButton(IDialogConstants.OK_ID).setEnabled(false);
        getButton(SAVE_ID).setEnabled(false);
    } else {
        if (sel.getFirstElement() instanceof ExecutionSelectionLeafNode) {
            m_selection = (ExecutionSelectionLeafNode) sel.getFirstElement();
            getButton(IDialogConstants.OK_ID).setEnabled(true);
            getButton(SAVE_ID).setEnabled(true);
        } else {
            m_selection = null;
            getButton(IDialogConstants.OK_ID).setEnabled(false);
            getButton(SAVE_ID).setEnabled(false);
        }
    }
}

From source file:com.astra.ses.spell.gui.shared.views.controls.ScopeTab.java

License:Open Source License

/***************************************************************************
 * //from   w w w  .j a va 2 s. com
 **************************************************************************/
public ScopeTab(TabFolder parent, ISharedScope table, SharedVariablesView view, boolean monitoringMode) {
    super(parent, SWT.NONE);

    Logger.debug("Created tab: " + table.getScopeName(), Level.GUI, this);

    m_table = table;
    m_view = view;
    m_monitoringMode = monitoringMode;

    Composite top = new Composite(parent, SWT.NONE);
    top.setLayout(new GridLayout(isGlobal() ? 4 : 5, true));
    top.setLayoutData(new GridData(GridData.FILL_BOTH));

    m_viewer = new SharedVariablesTableViewer(top, table, monitoringMode);
    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.horizontalSpan = isGlobal() ? 4 : 5;
    m_viewer.getControl().setLayoutData(gd);
    m_viewer.addSelectionChangedListener(this);

    if (isGlobal()) {
        setText("GLOBAL");
    } else {
        setText(m_table.getScopeName());
    }

    m_btnNew = new Button(top, SWT.PUSH);
    m_btnNew.setText("New variable");
    m_btnNew.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    m_btnNew.setEnabled(false);
    m_btnNew.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent ev) {
            SharedVariableDialog dialog = new SharedVariableDialog(m_viewer.getControl().getShell(), true, "",
                    "");
            if (dialog.open() == IDialogConstants.OK_ID) {
                String key = dialog.getKey();
                String value = dialog.getValue();
                if (!key.trim().isEmpty() && !value.trim().isEmpty()) {
                    m_table.set(dialog.getKey(), dialog.getValue());
                    refresh();
                }
            }
        }
    });

    m_btnDel = new Button(top, SWT.PUSH);
    m_btnDel.setText("Delete variable");
    m_btnDel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    m_btnDel.setEnabled(false);
    m_btnDel.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent ev) {
            IStructuredSelection sel = (IStructuredSelection) m_viewer.getSelection();
            if (!sel.isEmpty()) {
                @SuppressWarnings("rawtypes")
                Iterator it = sel.iterator();
                String toDeleteText = "Are you sure to delete the following shared variables?\n\n";
                List<SharedVariable> toDelete = new LinkedList<SharedVariable>();
                while (it.hasNext()) {
                    SharedVariable var = (SharedVariable) it.next();
                    toDelete.add(var);
                    toDeleteText += "  - " + var.name + "\n";
                }
                if (MessageDialog.openConfirm(m_viewer.getControl().getShell(), "Delete shared variables",
                        toDeleteText)) {
                    ClearSharedVariablesJob job = new ClearSharedVariablesJob(m_table, toDelete);
                    CommandHelper.executeInProgress(job, true, true);
                    refresh();
                }
            }
        }
    });

    m_btnClear = new Button(top, SWT.PUSH);
    m_btnClear.setText("Remove all variables");
    m_btnClear.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    m_btnClear.setEnabled(false);
    m_btnClear.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent ev) {
            String text = "This action will remove all shared variables in the scope.\n\nDo you want to proceed?";
            if (MessageDialog.openConfirm(m_viewer.getControl().getShell(), "Delete shared variables", text)) {
                ClearSharedVariablesJob job = new ClearSharedVariablesJob(m_table);
                CommandHelper.executeInProgress(job, true, true);
                refresh();
            }
        }
    });

    Button refreshScope = new Button(top, SWT.PUSH);
    refreshScope.setText("Refresh variables");
    refreshScope.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    refreshScope.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent ev) {
            Logger.debug("Refreshing tab: " + m_table.getScopeName(), Level.GUI, this);
            RefreshSharedVariablesJob job = new RefreshSharedVariablesJob(m_table);
            CommandHelper.executeInProgress(job, true, true);
            refresh();
        }
    });

    if (!isGlobal()) {
        m_btnRemove = new Button(top, SWT.PUSH);
        m_btnRemove.setText("Remove scope");
        m_btnRemove.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        m_btnRemove.setEnabled(false);
        m_btnRemove.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent ev) {
                String text = "This action will completely remove the scope and its variables.\n\nDo you want to proceed?";
                if (MessageDialog.openConfirm(m_viewer.getControl().getShell(), "Delete shared variables",
                        text)) {
                    ISharedDataService svc = (ISharedDataService) ServiceManager.get(ISharedDataService.class);
                    svc.removeSharedScope(m_table.getScopeName());
                    m_view.removeScope(m_table.getScopeName());
                }
            }
        });
    }

    if (!monitoringMode) {
        m_btnNew.setEnabled(true);
        m_btnClear.setEnabled(true);
        if (!isGlobal())
            m_btnRemove.setEnabled(true);
    }

    setControl(top);
}

From source file:com.astra.ses.spell.gui.views.controls.master.CurrentExecutorsTable.java

License:Open Source License

/***************************************************************************
 * Get the selected procedure//from w ww.j  a  va  2 s  . c  o  m
 **************************************************************************/
public String[] getSelectedProcedures() {
    ArrayList<String> ids = new ArrayList<String>();
    IStructuredSelection sel = (IStructuredSelection) getSelection();
    if (!sel.isEmpty()) {
        @SuppressWarnings("unchecked")
        Iterator<IProcedure> it = sel.iterator();
        while (it.hasNext()) {
            Object proc = it.next();
            if (proc instanceof IProcedure) {
                ids.add(((IProcedure) proc).getProcId());
            } else if (proc instanceof IExecutorInfo) {
                ids.add(((IExecutorInfo) proc).getProcId());
            }
        }
    }
    return ids.toArray(new String[0]);
}

From source file:com.astra.ses.spell.gui.views.controls.master.executors.ExecutorsTable.java

License:Open Source License

/***************************************************************************
 * Get all selected procedures/* w w w . j  a  v  a  2s. c  o  m*/
 **************************************************************************/
@Override
public String[] getSelectedProcedures() {
    ArrayList<String> ids = new ArrayList<String>();
    IStructuredSelection sel = (IStructuredSelection) getSelection();
    if (!sel.isEmpty()) {
        @SuppressWarnings("unchecked")
        Iterator<IProcedure> it = sel.iterator();
        while (it.hasNext()) {
            Object proc = it.next();
            if (proc instanceof IProcedure) {
                ids.add(((IProcedure) proc).getProcId());
            } else if (proc instanceof IExecutorInfo) {
                ids.add(((IExecutorInfo) proc).getProcId());
            }
        }
    }
    return ids.toArray(new String[0]);
}

From source file:com.astra.ses.spell.gui.views.controls.master.recovery.RecoveryTable.java

License:Open Source License

/***************************************************************************
 * Get the selected procedure//from   w  w  w  .j  a v  a  2s. c  o  m
 **************************************************************************/
public ProcedureRecoveryInfo[] getSelectedProcedures() {
    ArrayList<ProcedureRecoveryInfo> ids = new ArrayList<ProcedureRecoveryInfo>();
    IStructuredSelection sel = (IStructuredSelection) getSelection();
    if (!sel.isEmpty()) {
        @SuppressWarnings("unchecked")
        Iterator<ProcedureRecoveryInfo> it = sel.iterator();
        while (it.hasNext()) {
            Object proc = it.next();
            ids.add((ProcedureRecoveryInfo) proc);
        }
    }
    return ids.toArray(new ProcedureRecoveryInfo[0]);
}