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

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

Introduction

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

Prototype

public int size();

Source Link

Document

Returns the number of elements selected in this selection.

Usage

From source file:ch.elexis.core.ui.views.ReminderView.java

License:Open Source License

@Override
public void createPartControl(final Composite parent) {
    Composite content = new Composite(parent, SWT.NONE);
    content.setLayout(new GridLayout(1, false));
    Composite header = new Composite(content, SWT.NONE);
    GridLayout gl_header = new GridLayout(2, false);
    gl_header.horizontalSpacing = 0;//from w  ww  .java  2 s . c om
    gl_header.marginWidth = 0;
    gl_header.marginHeight = 0;
    header.setLayout(gl_header);
    header.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));

    txtSearch = new Text(header, SWT.SEARCH);
    txtSearch.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
    txtSearch.setMessage(Messages.ReminderView_txtSearch_message);
    txtSearch.addKeyListener(new KeyAdapter() {
        @Override
        public void keyPressed(KeyEvent e) {
            filter.setFilterText(txtSearch.getText());
            cv.notify(CommonViewer.Message.update_keeplabels);
        }
    });

    Label btnClear = new Label(header, SWT.NONE);
    btnClear.setImage(Images.IMG_CLEAR.getImage());
    btnClear.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseDown(MouseEvent e) {
            txtSearch.setText(StringConstants.EMPTY);
            filter.setFilterText(null);
            cv.notify(CommonViewer.Message.update_keeplabels);
        }
    });

    reminderLabelProvider.updateUserConfiguration();

    ReminderViewCommonContentProvider contentProvider = new ReminderViewCommonContentProvider();
    vc = new ViewerConfigurer(contentProvider, reminderLabelProvider, null,
            new ViewerConfigurer.DefaultButtonProvider(),
            new SimpleWidgetProvider(SimpleWidgetProvider.TYPE_LAZYLIST, SWT.MULTI, cv));

    makeActions(contentProvider);

    ViewMenus menu = new ViewMenus(getViewSite());
    menu.createToolbar(reloadAction, newReminderAction, toggleAutoSelectPatientAction);
    menu.createMenu(createActionList());

    if (CoreHub.acl.request(AccessControlDefaults.ADMIN_VIEW_ALL_REMINDERS)) {
        showOthersRemindersAction.setEnabled(true);
        showOthersRemindersAction.setChecked(CoreHub.userCfg.get(Preferences.USR_REMINDEROTHERS, false));
    } else {
        showOthersRemindersAction.setEnabled(false);
    }
    cv.create(vc, content, SWT.NONE, getViewSite());
    cv.addDoubleClickListener(new CommonViewer.DoubleClickListener() {
        public void doubleClicked(final PersistentObject obj, final CommonViewer cv) {
            Reminder reminder = (Reminder) obj;
            AcquireLockBlockingUi.aquireAndRun(reminder, new ILockHandler() {
                @Override
                public void lockAcquired() {
                    ReminderDetailDialog rdd = new ReminderDetailDialog(UiDesk.getTopShell(), (Reminder) obj);
                    int retVal = rdd.open();
                    if (retVal == Dialog.OK) {
                        ElexisEventDispatcher.getInstance()
                                .fire(new ElexisEvent(reminder, getClass(), ElexisEvent.EVENT_UPDATE));
                    }
                }

                @Override
                public void lockFailed() {
                    cv.notify(CommonViewer.Message.update);
                }
            });

        }
    });

    List<IContributionItem> popupMenuActionList = new ArrayList<>();
    popupMenuActionList.add(new ReminderStatusSubMenu(cv));
    popupMenuActionList.add(new ActionContributionItem(deleteReminderAction));
    popupMenuActionList.add(new ActionContributionItem(selectPatientAction));
    popupMenuActionList.add(new Separator());
    popupMenuActionList.addAll(createActionList());
    menu.createViewerContextMenu(cv.getViewerWidget(), popupMenuActionList);
    cv.getViewerWidget().addFilter(filter);
    GlobalEventDispatcher.addActivationListener(this, getViewSite().getPart());

    cv.getViewerWidget().addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            selectPatientAction.setEnabled(selection.size() <= 1);
            selectPatientAction.reflectRight();
            if (autoSelectPatient && selectPatientAction.isEnabled()) {
                selectPatientAction.doRun();
            }
        }
    });
}

From source file:ch.elexis.core.ui.views.ScriptView.java

License:Open Source License

private void makeActions() {
    exportScriptAction = new Action("export script") {
        {/* ww w  . j a  v a 2  s  .c o  m*/
            setImageDescriptor(Images.IMG_EXPORT.getImageDescriptor());
            setToolTipText("export script into a text file");
        }

        @Override
        public void run() {
            IStructuredSelection sel = (IStructuredSelection) tv.getSelection();
            if (sel != null && sel.size() != 0) {
                FileDialog fd = new FileDialog(getViewSite().getShell(), SWT.SAVE);
                Script script = (Script) sel.getFirstElement();
                fd.setFileName(script.getLabel());
                String filename = fd.open();
                if (filename != null) {
                    try {
                        File file = new File(filename);
                        FileWriter fw = new FileWriter(file);

                        fw.write(script.getString());
                        fw.close();
                    } catch (IOException ex) {
                        SWTHelper.showError("IO Error",
                                "Could not write file " + filename + " : " + ex.getMessage());
                    }
                }
            }
        }
    };

    importScriptAction = new RestrictedAction(AccessControlDefaults.SCRIPT_EDIT, "Import Script") {
        {
            setImageDescriptor(Images.IMG_IMPORT.getImageDescriptor());
            setToolTipText("Import script from a text file");
        }

        @Override
        public void doRun() {
            FileDialog fd = new FileDialog(getViewSite().getShell(), SWT.OPEN);
            String filename = fd.open();
            if (fd != null) {
                try {
                    /* Script script= */Script.importFromFile(filename);
                    tv.refresh();
                } catch (ElexisException e) {
                    SWTHelper.showError("IO Error", e.getMessage());

                }
            }

        }

    };
    newScriptAction = new RestrictedAction(AccessControlDefaults.SCRIPT_EDIT,
            Messages.ScriptView_newScriptAction) { //$NON-NLS-1$
        {
            setImageDescriptor(Images.IMG_NEW.getImageDescriptor());
            setToolTipText(Messages.ScriptView_newScriptTooltip); //$NON-NLS-1$
        }

        @Override
        public void doRun() {
            InputDialog inp = new InputDialog(getSite().getShell(), Messages.ScriptView_enterNameCaption, //$NON-NLS-1$
                    Messages.ScriptView_enterNameBody, null, //$NON-NLS-1$
                    null);
            if (inp.open() == Dialog.OK) {
                try {
                    Script.create(inp.getValue(), "");
                } catch (ElexisException e) {
                    ExHandler.handle(e);
                    SWTHelper.showError("Fehler bei Scripterstellung", e.getMessage());
                }
                tv.refresh();
            }
        }

    };
    editScriptAction = new RestrictedAction(AccessControlDefaults.SCRIPT_EDIT,
            Messages.ScriptView_editScriptAction) { //$NON-NLS-1$
        {
            setImageDescriptor(Images.IMG_EDIT.getImageDescriptor());
            setToolTipText(Messages.ScriptView_editScriptTooltip); //$NON-NLS-1$
        }

        @Override
        public void doRun() {
            IStructuredSelection sel = (IStructuredSelection) tv.getSelection();
            if (sel != null && sel.size() != 0) {
                Script script = (Script) sel.getFirstElement();
                ScriptEditor sce = new ScriptEditor(getSite().getShell(), script.getString(),
                        script.getLabel());
                if (sce.open() == Dialog.OK) {
                    script.putString(sce.getScript());
                }
            }

        }
    };
    removeScriptAction = new RestrictedAction(AccessControlDefaults.SCRIPT_EDIT,
            Messages.ScriptView_deleteScriptAction) { //$NON-NLS-1$
        {
            setImageDescriptor(Images.IMG_DELETE.getImageDescriptor());
            setToolTipText(Messages.ScriptView_deleteScriptTooltip); //$NON-NLS-1$
        }

        @Override
        public void doRun() {
            IStructuredSelection sel = (IStructuredSelection) tv.getSelection();
            if (sel != null && sel.size() != 0) {
                Script script = (Script) sel.getFirstElement();
                script.delete();
                tv.refresh();
            }
        }
    };
    execScriptAction = new RestrictedAction(AccessControlDefaults.SCRIPT_EXECUTE,
            Messages.ScriptView_executeScriptAction) { //$NON-NLS-1$
        {
            setImageDescriptor(Images.IMG_GOFURTHER.getImageDescriptor());
            setToolTipText(Messages.ScriptView_executeScriptTooltip); //$NON-NLS-1$
        }

        @Override
        public void doRun() {
            IStructuredSelection sel = (IStructuredSelection) tv.getSelection();
            if (sel != null && sel.size() != 0) {
                Script script = (Script) sel.getFirstElement();
                try {
                    String contents = script.getString();
                    ArrayList<String> vars = new ArrayList<String>();
                    Pattern var = Pattern.compile("\\$[0-9a-z]+", Pattern.CASE_INSENSITIVE);
                    Matcher m = var.matcher(contents);
                    while (m.find()) {
                        String varname = m.group();
                        if (!vars.contains(varname)) {
                            vars.add(varname);
                        }
                    }
                    String varString = null;
                    if (vars.size() > 0) {
                        SetVarsDlg dlg = new SetVarsDlg(getViewSite().getShell(), vars);
                        if (dlg.open() == Dialog.OK) {
                            varString = dlg.getResult();
                        }
                    }
                    Object ret = script.execute(varString);
                    SWTHelper.showInfo(Messages.ScriptView_ScriptOutput, ret.toString()); //$NON-NLS-1$
                } catch (Exception ex) {
                    ExHandler.handle(ex);
                    SWTHelper.showError("Fehler beim Ausfhren des Scripts", ex.getMessage());
                }
            }
        }
    };
}

From source file:ch.elexis.core.ui.wizards.DBConnectSelectionConnectionWizardPage.java

License:Open Source License

@Override
public void createControl(Composite parent) {
    Composite area = new Composite(parent, SWT.NONE);
    area.setLayout(new GridLayout(1, false));

    setControl(area);/*w ww  .  j  ava  2  s  .  c om*/

    Group grpStatCurrentConnection = new Group(area, SWT.NONE);
    grpStatCurrentConnection.setLayout(new GridLayout(2, true));
    grpStatCurrentConnection.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
    grpStatCurrentConnection.setText(Messages.DBConnectWizardPage_grpStatCurrentConnection_text);
    createEntityArea(grpStatCurrentConnection);

    Composite cmpExistConnSelector = new Composite(area, SWT.BORDER);
    cmpExistConnSelector.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1));
    cmpExistConnSelector.setLayout(new GridLayout(3, false));

    Label lblGespeicherteVerbindungen = new Label(cmpExistConnSelector, SWT.NONE);
    lblGespeicherteVerbindungen.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false, 3, 1));
    lblGespeicherteVerbindungen.setText(Messages.DBConnectWizardPage_lblGespeicherteVerbindungen_text);

    cViewerConns = new ComboViewer(cmpExistConnSelector, SWT.READ_ONLY);
    Combo combo = cViewerConns.getCombo();
    combo.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
    cViewerConns.setContentProvider(ArrayContentProvider.getInstance());
    cViewerConns.setLabelProvider(new LabelProvider() {
        @Override
        public String getText(Object element) {
            DBConnection dbc = (DBConnection) element;
            if (dbc.username != null && dbc.connectionString != null) {
                return dbc.username + "@" + dbc.connectionString;
            } else {
                return "Neue Verbindung erstellen";
            }
        }
    });
    cViewerConns.setInput(getDBConnectWizard().getStoredConnectionList());

    btnDelStoredConn = new Button(cmpExistConnSelector, SWT.FLAT);
    btnDelStoredConn.setImage(Images.IMG_DELETE.getImage());
    btnDelStoredConn.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            IStructuredSelection selection = (IStructuredSelection) cViewerConns.getSelection();
            if (selection.size() > 0) {
                Object firstElement = selection.getFirstElement();
                if (firstElement != null) {
                    getDBConnectWizard().removeConnection((DBConnection) firstElement);
                    cViewerConns.setInput(getDBConnectWizard().getStoredConnectionList());
                    setCurrentSelection();
                }
            }
        }
    });

    btnCopyStoredConn = new Button(cmpExistConnSelector, SWT.FLAT);
    btnCopyStoredConn.setImage(Images.IMG_COPY.getImage());
    btnCopyStoredConn.setToolTipText("Verbindungsdaten in Zwischenablage kopieren");
    btnCopyStoredConn.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            IStructuredSelection selection = (IStructuredSelection) cViewerConns.getSelection();
            if (selection.size() > 0) {
                Object firstElement = selection.getFirstElement();
                if (firstElement != null) {
                    DBConnection dbc = (DBConnection) firstElement;
                    Clipboard cb = new Clipboard(UiDesk.getDisplay());
                    TextTransfer textTransfer = TextTransfer.getInstance();
                    try (ByteArrayOutputStream bos = new ByteArrayOutputStream()) {
                        dbc.marshall(bos);
                        cb.setContents(new Object[] { bos.toString() }, new Transfer[] { textTransfer });
                    } catch (JAXBException | IOException e1) {
                        MessageDialog.openError(UiDesk.getTopShell(), "Error", e1.getMessage());
                    }
                }
            }
        }
    });

    cViewerConns.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            if (selection.size() > 0) {
                Object firstElement = selection.getFirstElement();
                if (firstElement != null) {
                    DBConnection targetedConnection = (DBConnection) firstElement;
                    getDBConnectWizard().setTargetedConnection(targetedConnection);
                    btnDelStoredConn.setEnabled(
                            !targetedConnection.equals(getDBConnectWizard().getCurrentConnection()));
                }
            }
        }
    });
    setCurrentSelection();

    Label lblOderAufDer = new Label(cmpExistConnSelector, SWT.NONE);
    lblOderAufDer.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false, 3, 1));
    lblOderAufDer.setText(Messages.DBConnectSelectionConnectionWizardPage_lblOderAufDer_text);

    tdbg = new TestDBConnectionGroup(area, SWT.NONE, getDBConnectWizard());
    tdbg.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
}

From source file:ch.elexis.dialogs.KontaktSelektor.java

License:Open Source License

@Override
protected Control createDialogArea(final Composite parent) {
    // SashForm ret=new SashForm(parent,SWT.NONE);
    Composite ret = new Composite(parent, SWT.NONE);
    ret.setLayout(new GridLayout());
    ret.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));

    if (showBezugsKontakt) {
        new Label(ret, SWT.NONE).setText("Bezugskontakte");
        bezugsKontaktViewer = new ListViewer(ret, SWT.SINGLE);
        bezugsKontaktViewer.getControl().setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));

        bezugsKontaktViewer.setContentProvider(new IStructuredContentProvider() {
            public Object[] getElements(Object inputElement) {
                Patient patient = ElexisEventDispatcher.getSelectedPatient();
                if (patient != null) {
                    ArrayList<PersistentObject> elements = new ArrayList<PersistentObject>();
                    ArrayList<String> addedKontakte = new ArrayList<String>();

                    // add the patient itself
                    elements.add(patient);
                    addedKontakte.add(patient.getId());

                    List<BezugsKontakt> bezugsKontakte = patient.getBezugsKontakte();
                    if (bezugsKontakte != null) {
                        for (BezugsKontakt bezugsKontakt : bezugsKontakte) {
                            elements.add(bezugsKontakt);
                            addedKontakte.add(bezugsKontakt.get("otherID"));
                        }//from   ww  w  .  ja  va  2s  .co  m
                    }

                    // required contacts of biling system
                    Fall[] faelle = patient.getFaelle();
                    for (Fall fall : faelle) {
                        String reqs = fall.getRequirements();
                        if (reqs != null) {
                            for (String req : reqs.split(";")) {
                                final String[] r = req.split(":");

                                // no valid entry
                                if (r.length < 2) {
                                    continue;
                                }

                                // only consider contacts
                                if (r[1].equals("K")) {
                                    String kontaktID = fall.getInfoString(r[0]);
                                    if (!kontaktID.startsWith("**ERROR")) {
                                        Kontakt kontakt = Kontakt.load(kontaktID);
                                        if (kontakt.isValid()) {
                                            elements.add(kontakt);
                                            addedKontakte.add(kontakt.getId());
                                        }
                                    }
                                }
                            }
                        }
                    }

                    return elements.toArray();
                }

                return new Object[] {};
            }

            public void dispose() {
                // nothing to do
            }

            public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
                // nothing to do
            }
        });
        bezugsKontaktViewer.setLabelProvider(new DefaultLabelProvider());
        bezugsKontaktViewer.setInput(this);

        bezugsKontaktViewer.addSelectionChangedListener(new ISelectionChangedListener() {
            public void selectionChanged(SelectionChangedEvent event) {
                if (isSelecting) {
                    return;
                }

                IStructuredSelection sel = (IStructuredSelection) cv.getViewerWidget().getSelection();
                if (sel.size() > 0) {
                    isSelecting = true;
                    cv.getViewerWidget().setSelection(new StructuredSelection(), false);
                    isSelecting = false;
                }
            }
        });
    } else {
        bezugsKontaktViewer = null;
    }

    if (showBezugsKontakt) {
        new Label(ret, SWT.NONE).setText("Andere Kontakte");
    }
    if (extraText != null) {
        new Label(ret, SWT.WRAP).setText(extraText);
    }
    vc = new ViewerConfigurer(
            // new LazyContentProvider(cv,dataloader, null),
            kl, new DefaultLabelProvider(),
            new DefaultControlFieldProvider(cv, new String[] { "Kuerzel", "Bezeichnung1" }),
            new ViewerConfigurer.ButtonProvider() {

                public Button createButton(final Composite parent) {
                    Button ret = new Button(parent, SWT.PUSH);
                    ret.setText("Neu erstellen...");
                    ret.addSelectionListener(new SelectionAdapter() {

                        @Override
                        public void widgetSelected(SelectionEvent e) {
                            if (hints == null) {
                                hints = new String[3];
                                hints[0] = vc.getControlFieldProvider().getValues()[1];
                            }
                            KontaktErfassenDialog ked = new KontaktErfassenDialog(parent.getShell(), hints);
                            ked.open();
                            selection = ked.getResult();
                            okPressed();
                            // cv.getViewerWidget().refresh();
                            // cv.getViewerWidget().setSelection(new
                            // StructuredSelection(kr), true);
                        }

                    });
                    return ret;
                }

                public boolean isAlwaysEnabled() {
                    return false;
                }
            }, new SimpleWidgetProvider(SimpleWidgetProvider.TYPE_LAZYLIST, SWT.NONE, cv));
    Composite types = new Composite(ret, SWT.BORDER);
    types.setLayout(new FillLayout());
    types.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));
    bAll = new Button(types, SWT.RADIO);
    bPersons = new Button(types, SWT.RADIO);
    bOrgs = new Button(types, SWT.RADIO);
    bAll.setSelection(true);
    bAll.setText("Alle");
    bPersons.setText("Personen");
    bOrgs.setText("Organisationen");
    bAll.addSelectionListener(fba);
    bPersons.addSelectionListener(fba);
    bOrgs.addSelectionListener(fba);
    cv.create(vc, ret, SWT.NONE, "1");
    GridData gd = SWTHelper.getFillGridData(1, true, 1, true);
    gd.heightHint = 100;
    cv.getViewerWidget().getControl().setLayoutData(gd);
    setTitle(title);
    setMessage(message);
    vc.getContentProvider().startListening();
    cv.addDoubleClickListener(this);
    // cv.getViewerWidget().addFilter(filter);
    kl.addQueryFilter(fp);

    if (showBezugsKontakt) {
        cv.getViewerWidget().addSelectionChangedListener(new ISelectionChangedListener() {
            public void selectionChanged(SelectionChangedEvent event) {
                if (isSelecting) {
                    return;
                }

                if (bezugsKontaktViewer != null) {
                    IStructuredSelection sel = (IStructuredSelection) bezugsKontaktViewer.getSelection();
                    if (sel.size() > 0) {
                        isSelecting = true;
                        bezugsKontaktViewer.setSelection(new StructuredSelection(), false);
                        isSelecting = false;
                    }
                }
            }
        });
    }

    return ret;
}

From source file:ch.elexis.views.ScriptView.java

License:Open Source License

private void makeActions() {
    exportScriptAction = new Action("export script") {
        {//from ww w .  j  a  v  a2s  .c  o m
            setImageDescriptor(Images.IMG_EXPORT.getImageDescriptor());
            setToolTipText("export script into a text file");
        }

        @Override
        public void run() {
            IStructuredSelection sel = (IStructuredSelection) tv.getSelection();
            if (sel != null && sel.size() != 0) {
                FileDialog fd = new FileDialog(getViewSite().getShell(), SWT.SAVE);
                Script script = (Script) sel.getFirstElement();
                fd.setFileName(script.getLabel());
                String filename = fd.open();
                if (filename != null) {
                    try {
                        File file = new File(filename);
                        FileWriter fw = new FileWriter(file);

                        fw.write(script.getString());
                        fw.close();
                    } catch (IOException ex) {
                        SWTHelper.showError("IO Error",
                                "Could not write file " + filename + " : " + ex.getMessage());
                    }
                }
            }
        }
    };

    importScriptAction = new RestrictedAction(AccessControlDefaults.SCRIPT_EDIT, "Import Script") {
        {
            setImageDescriptor(Images.IMG_IMPORT.getImageDescriptor());
            setToolTipText("Import script from a text file");
        }

        @Override
        public void doRun() {
            FileDialog fd = new FileDialog(getViewSite().getShell(), SWT.OPEN);
            String filename = fd.open();
            if (fd != null) {
                try {
                    /* Script script= */Script.importFromFile(filename);
                    tv.refresh();
                } catch (ElexisException e) {
                    SWTHelper.showError("IO Error", e.getMessage());

                }
            }

        }

    };
    newScriptAction = new RestrictedAction(AccessControlDefaults.SCRIPT_EDIT,
            Messages.getString("ScriptView.newScriptAction")) { //$NON-NLS-1$
        {
            setImageDescriptor(Images.IMG_NEW.getImageDescriptor());
            setToolTipText(Messages.getString("ScriptView.newScriptTooltip")); //$NON-NLS-1$
        }

        @Override
        public void doRun() {
            InputDialog inp = new InputDialog(getSite().getShell(),
                    Messages.getString("ScriptView.enterNameCaption"), //$NON-NLS-1$
                    Messages.getString("ScriptView.enterNameBody"), null, //$NON-NLS-1$
                    null);
            if (inp.open() == Dialog.OK) {
                try {
                    Script.create(inp.getValue(), "");
                } catch (ElexisException e) {
                    ExHandler.handle(e);
                    SWTHelper.showError("Fehler bei Scripterstellung", e.getMessage());
                }
                tv.refresh();
            }
        }

    };
    editScriptAction = new RestrictedAction(AccessControlDefaults.SCRIPT_EDIT,
            Messages.getString("ScriptView.editScriptAction")) { //$NON-NLS-1$
        {
            setImageDescriptor(Images.IMG_EDIT.getImageDescriptor());
            setToolTipText(Messages.getString("ScriptView.editScriptTooltip")); //$NON-NLS-1$
        }

        @Override
        public void doRun() {
            IStructuredSelection sel = (IStructuredSelection) tv.getSelection();
            if (sel != null && sel.size() != 0) {
                Script script = (Script) sel.getFirstElement();
                ScriptEditor sce = new ScriptEditor(getSite().getShell(), script.getString(),
                        script.getLabel());
                if (sce.open() == Dialog.OK) {
                    script.putString(sce.getScript());
                }
            }

        }
    };
    removeScriptAction = new RestrictedAction(AccessControlDefaults.SCRIPT_EDIT,
            Messages.getString("ScriptView.deleteScriptAction")) { //$NON-NLS-1$
        {
            setImageDescriptor(Images.IMG_DELETE.getImageDescriptor());
            setToolTipText(Messages.getString("ScriptView.deleteScriptTooltip")); //$NON-NLS-1$
        }

        @Override
        public void doRun() {
            IStructuredSelection sel = (IStructuredSelection) tv.getSelection();
            if (sel != null && sel.size() != 0) {
                Script script = (Script) sel.getFirstElement();
                script.delete();
                tv.refresh();
            }
        }
    };
    execScriptAction = new RestrictedAction(AccessControlDefaults.SCRIPT_EXECUTE,
            Messages.getString("ScriptView.executeScriptAction")) { //$NON-NLS-1$
        {
            setImageDescriptor(Images.IMG_GOFURTHER.getImageDescriptor());
            setToolTipText(Messages.getString("ScriptView.executeScriptTooltip")); //$NON-NLS-1$
        }

        @Override
        public void doRun() {
            IStructuredSelection sel = (IStructuredSelection) tv.getSelection();
            if (sel != null && sel.size() != 0) {
                Script script = (Script) sel.getFirstElement();
                try {
                    String contents = script.getString();
                    ArrayList<String> vars = new ArrayList<String>();
                    Pattern var = Pattern.compile("\\$[0-9a-z]+", Pattern.CASE_INSENSITIVE);
                    Matcher m = var.matcher(contents);
                    while (m.find()) {
                        String varname = m.group();
                        if (!vars.contains(varname)) {
                            vars.add(varname);
                        }
                    }
                    String varString = null;
                    if (vars.size() > 0) {
                        SetVarsDlg dlg = new SetVarsDlg(getViewSite().getShell(), vars);
                        if (dlg.open() == Dialog.OK) {
                            varString = dlg.getResult();
                        }
                    }
                    Object ret = script.execute(varString);
                    SWTHelper.showInfo(Messages.getString("ScriptView.ScriptOutput"), ret.toString()); //$NON-NLS-1$
                } catch (Exception ex) {
                    ExHandler.handle(ex);
                    SWTHelper.showError("Fehler beim Ausfhren des Scripts", ex.getMessage());
                }
            }
        }
    };
}

From source file:ch.wess.ezclipse.ini.wizards.internal.NewINIWizardPage.java

License:Open Source License

/**
 * Tests if the current workbench selection is a suitable container to use.
 *///from w ww  .ja  v  a  2  s  .co m

private void initialize() {
    if (selection != null && selection.isEmpty() == false && selection instanceof IStructuredSelection) {
        IStructuredSelection ssel = (IStructuredSelection) selection;
        if (ssel.size() > 1)
            return;
        Object obj = ssel.getFirstElement();
        if (obj instanceof IResource) {
            IContainer container;
            if (obj instanceof IContainer)
                container = (IContainer) obj;
            else
                container = ((IResource) obj).getParent();
            containerText.setText(container.getFullPath().toString());
        }
    }
    fileText.setText("new_file." + getExtension()); //$NON-NLS-1$
}

From source file:ch.wess.ezclipse.tpl.wizards.internal.NewTemplateWizardPage.java

License:Open Source License

/**
 * Tests if the current workbench selection is a suitable container to use.
 *///from w w w . ja va2s  . com
private void initialize() {
    if (selection != null && selection.isEmpty() == false && selection instanceof IStructuredSelection) {
        IStructuredSelection ssel = (IStructuredSelection) selection;
        if (ssel.size() > 1)
            return;
        Object obj = ssel.getFirstElement();
        if (obj instanceof IResource) {
            IContainer container;
            if (obj instanceof IContainer)
                container = (IContainer) obj;
            else
                container = ((IResource) obj).getParent();
            containerText.setText(container.getFullPath().toString());
        }
    }
    fileText.setText("new_file.tpl"); //$NON-NLS-1$
}

From source file:cideplus.ui.astview.ASTView.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {
    fSash = new SashForm(parent, SWT.VERTICAL | SWT.SMOOTH);
    fViewer = new TreeViewer(fSash, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
    fDrillDownAdapter = new DrillDownAdapter(fViewer);
    fViewer.setContentProvider(new ASTViewContentProvider());
    fASTLabelProvider = new ASTViewLabelProvider();
    fViewer.setLabelProvider(fASTLabelProvider);
    fViewer.addSelectionChangedListener(fSuperListener);
    fViewer.addDoubleClickListener(fSuperListener);
    fViewer.addFilter(new ViewerFilter() {
        @Override//from  w  w w .j a v  a 2s  .c  om
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            if (!fCreateBindings && element instanceof Binding)
                return false;
            return true;
        }
    });
    fViewer.addFilter(fNonRelevantFilter);

    ViewForm trayForm = new ViewForm(fSash, SWT.NONE);
    Label label = new Label(trayForm, SWT.NONE);
    label.setText(" Comparison Tray (* = selection in the upper tree):"); //$NON-NLS-1$
    trayForm.setTopLeft(label);

    fTray = new TreeViewer(trayForm, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
    trayForm.setContent(fTray.getTree());

    fTrayRoots = new ArrayList();
    fTray.setContentProvider(new TrayContentProvider());
    final TrayLabelProvider trayLabelProvider = new TrayLabelProvider();
    fTray.setLabelProvider(trayLabelProvider);
    fTray.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
    fTrayUpdater = new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection viewerSelection = (IStructuredSelection) fViewer.getSelection();
            if (viewerSelection.size() == 1) {
                Object first = viewerSelection.getFirstElement();
                if (unwrapAttribute(first) != null) {
                    trayLabelProvider.setViewerElement(first);
                    return;
                }
            }
            trayLabelProvider.setViewerElement(null);
        }
    };
    fTray.addPostSelectionChangedListener(fTrayUpdater);
    fViewer.addPostSelectionChangedListener(fTrayUpdater);
    fTray.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            performTrayDoubleClick();
        }
    });
    fTray.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            fDeleteAction.setEnabled(selection.size() >= 1 && fTray.getTree().isFocusControl());
        }
    });
    fTray.getTree().addFocusListener(new FocusAdapter() {
        @Override
        public void focusGained(FocusEvent e) {
            IStructuredSelection selection = (IStructuredSelection) fTray.getSelection();
            fDeleteAction.setEnabled(selection.size() >= 1);
        }

        @Override
        public void focusLost(FocusEvent e) {
            fDeleteAction.setEnabled(false);
        }
    });

    makeActions();
    hookContextMenu();
    hookTrayContextMenu();
    contributeToActionBars();
    getSite().setSelectionProvider(new ASTViewSelectionProvider());

    try {
        IEditorPart part = EditorUtility.getActiveEditor();
        if (part instanceof ITextEditor) {
            setInput((ITextEditor) part);
        }
    } catch (CoreException e) {
        // ignore
    }
    if (fTypeRoot == null) {
        clearView();
    } else {
        setASTUptoDate(fTypeRoot != null);
    }
}

From source file:cideplus.ui.astview.ASTView.java

License:Open Source License

protected void handleSelectionChanged(ISelection selection) {
    fExpandAction.setEnabled(!selection.isEmpty());
    fCollapseAction.setEnabled(!selection.isEmpty());
    fCopyAction.setEnabled(!selection.isEmpty());

    boolean addEnabled = false;
    IStructuredSelection structuredSelection = (IStructuredSelection) selection;
    if (structuredSelection.size() == 1 && fViewer.getTree().isFocusControl()) {
        Object first = structuredSelection.getFirstElement();
        Object unwrapped = ASTView.unwrapAttribute(first);
        addEnabled = unwrapped != null;//w  w w.  j  a  v a 2s .  c om
    }
    fAddToTrayAction.setEnabled(addEnabled);
}

From source file:cideplus.ui.astview.ASTView.java

License:Open Source License

protected void performTrayDoubleClick() {
    IStructuredSelection selection = (IStructuredSelection) fTray.getSelection();
    if (selection.size() != 1)
        return;/*from ww  w.ja v a2  s  .  c  om*/
    Object obj = selection.getFirstElement();
    if (obj instanceof ExceptionAttribute) {
        Throwable exception = ((ExceptionAttribute) obj).getException();
        if (exception != null) {
            String label = ((ExceptionAttribute) obj).getLabel();
            showAndLogError("An error occurred while calculating an AST View Label:\n" + label, exception); //$NON-NLS-1$
            return;
        }
    }
    if (obj instanceof Binding) {
        Binding binding = (Binding) obj;
        fViewer.setSelection(new StructuredSelection(binding), true);
    }
}