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

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

Introduction

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

Prototype

public Object getFirstElement();

Source Link

Document

Returns the first element in this selection, or null if the selection is empty.

Usage

From source file:ch.elexis.impfplan.view.ImpfplanPreferences.java

License:Open Source License

private void makeActions() {
    removeAction = new Action(Messages.ImpfplanPreferences_removeVaccination) {
        {//from w w  w  . ja va2 s.c  o  m
            setImageDescriptor(Images.IMG_DELETE.getImageDescriptor());
            setToolTipText(Messages.ImpfplanPreferences_removeVaccWarning);
        }

        @Override
        public void run() {
            IStructuredSelection sel = (IStructuredSelection) tv.getSelection();
            if (!sel.isEmpty()) {
                VaccinationType t = (VaccinationType) sel.getFirstElement();
                if (t.delete()) {
                    tv.remove(sel.getFirstElement());
                }
            }

        }

    };
}

From source file:ch.elexis.impfplan.view.ImpfplanView.java

License:Open Source License

private void makeActions() {
    addVacination = new Action(Messages.ImpfplanView_vaccinateActionTitle) {
        {//  w  w w  . ja  v a 2 s .  c  o  m
            setToolTipText(Messages.ImpfplanView_vaccinateActionTooltip);
            setImageDescriptor(Images.IMG_ADDITEM.getImageDescriptor());
        }

        @Override
        public void run() {
            AddVaccinationDialog dlg = new AddVaccinationDialog(getViewSite().getShell());
            if (dlg.open() == Dialog.OK) {
                new Vaccination(dlg.result, ElexisEventDispatcher.getSelectedPatient(), new TimeTool(dlg.date),
                        dlg.bUnexact);
                tvVaccsDone.refresh();
                tvVaccsRecommended.refresh();
            }
        }

    };

    printVaccinations = new Action(Messages.ImpfplanView_printActionTitle) {
        {
            setToolTipText(Messages.ImpfplanView_printActionTooltip);
            setImageDescriptor(Images.IMG_PRINTER.getImageDescriptor());

        }

        @Override
        public void run() {
            ImpfplanPrinter ipr = new ImpfplanPrinter(getSite().getShell());
            ipr.open();
        }
    };

    removeVaccination = new Action(Messages.ImpfplanView_removeActionTitle) {
        {
            setToolTipText(Messages.ImpfplanView_removeActionTooltip);
            setImageDescriptor(Images.IMG_DELETE.getImageDescriptor());
        }

        @Override
        public void run() {
            IStructuredSelection sel = (IStructuredSelection) tvVaccsDone.getSelection();
            if (!sel.isEmpty()) {
                Vaccination v = (Vaccination) sel.getFirstElement();
                if (v.delete()) {
                    tvVaccsDone.remove(v);
                }
            }

        }
    };
}

From source file:ch.elexis.omnivore.ui.views.OmnivoreView.java

License:Open Source License

/**
 * This is a callback that will allow us to create the viewer and initialize it.
 *//*  www .j  a  va  2  s.com*/
public void createPartControl(Composite parent) {
    parent.setLayout(new GridLayout(4, false));

    // Title search field
    Label lSearchTitle = new Label(parent, SWT.NONE);
    lSearchTitle.setText(Messages.OmnivoreView_searchTitleLabel);
    lSearchTitle.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false));
    final Text tSearchTitle = new Text(parent, SWT.SINGLE);
    tSearchTitle.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));

    // Keyword search field
    Label lSearchKW = new Label(parent, SWT.NONE);
    lSearchKW.setText(Messages.OmnivoreView_searchKeywordsLabel);
    lSearchKW.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false));
    final Text tSearchKW = new Text(parent, SWT.SINGLE);
    tSearchKW.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));

    // Add search listener
    ModifyListener searchListener = new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            searchKW = tSearchKW.getText();
            searchTitle = tSearchTitle.getText();
            refresh();
        }
    };
    tSearchTitle.addModifyListener(searchListener);
    tSearchKW.addModifyListener(searchListener);

    // Table to display documents
    table = new Tree(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
    TreeColumn[] cols = new TreeColumn[colLabels.length];
    for (int i = 0; i < colLabels.length; i++) {
        cols[i] = new TreeColumn(table, SWT.NONE);
        cols[i].setText(colLabels[i]);
        cols[i].setData(new Integer(i));
    }
    applyUsersColumnWidthSetting();

    table.setHeaderVisible(true);
    table.setLinesVisible(true);
    table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 4, 1));

    viewer = new TreeViewer(table);
    viewer.setContentProvider(new ViewContentProvider());
    viewer.setLabelProvider(new ViewLabelProvider());
    viewer.setUseHashlookup(true);
    makeActions();

    ovComparator = new OmnivoreViewerComparator();
    viewer.setComparator(ovComparator);
    TreeColumn[] treeCols = viewer.getTree().getColumns();
    for (int i = 0; i < treeCols.length; i++) {
        TreeColumn tc = treeCols[i];
        tc.addSelectionListener(getSelectionAdapter(tc, i));
    }
    applySortDirection();

    hookContextMenu();
    hookDoubleClickAction();
    contributeToActionBars();
    final Transfer[] dropTransferTypes = new Transfer[] { FileTransfer.getInstance() };

    viewer.addDropSupport(DND.DROP_COPY, dropTransferTypes, new DropTargetAdapter() {

        @Override
        public void dragEnter(DropTargetEvent event) {
            event.detail = DND.DROP_COPY;
        }

        @Override
        public void drop(DropTargetEvent event) {
            if (dropTransferTypes[0].isSupportedType(event.currentDataType)) {
                String[] files = (String[]) event.data;
                String category = null;
                if (event.item != null && event.item.getData() instanceof DocHandle) {
                    DocHandle dh = (DocHandle) event.item.getData();
                    category = dh.getCategory();
                }
                for (String file : files) {
                    final DocHandle handle = DocHandle.assimilate(file, category);
                    if (handle != null) {
                        AcquireLockBlockingUi.aquireAndRun(handle, new ILockHandler() {
                            @Override
                            public void lockFailed() {
                                handle.delete();
                            }

                            @Override
                            public void lockAcquired() {
                                // do nothing
                            }
                        });
                    }
                    viewer.refresh();
                }
            }
        }

    });

    final Transfer[] dragTransferTypes = new Transfer[] { FileTransfer.getInstance(),
            TextTransfer.getInstance() };
    viewer.addDragSupport(DND.DROP_COPY, dragTransferTypes, new DragSourceAdapter() {
        @Override
        public void dragStart(DragSourceEvent event) {
            IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
            DocHandle dh = (DocHandle) selection.getFirstElement();
            if (dh.isCategory()) {
                event.doit = false;
            }
        }

        @Override
        public void dragSetData(DragSourceEvent event) {
            IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
            DocHandle dh = (DocHandle) selection.getFirstElement();
            if (FileTransfer.getInstance().isSupportedType(event.dataType)) {
                String title = dh.getTitle();
                int end = dh.getTitle().lastIndexOf(".");
                if (end != -1) {
                    title = (dh.getTitle()).substring(0, end);
                }
                File file = dh.createTemporaryFile(title);
                event.data = new String[] { file.getAbsolutePath() };
            } else {
                StringBuilder sb = new StringBuilder();
                sb.append(((PersistentObject) dh).storeToString()).append(","); //$NON-NLS-1$
                event.data = sb.toString().replace(",$", ""); //$NON-NLS-1$ //$NON-NLS-2$
            }
        }
    });

    GlobalEventDispatcher.addActivationListener(this, this);
    eeli_user.catchElexisEvent(ElexisEvent.createUserEvent());
    viewer.setInput(getViewSite());

}

From source file:ch.elexis.omnivore.views.OmnivoreView.java

License:Open Source License

/**
 * This is a callback that will allow us to create the viewer and initialize it.
 *//*  w  ww. j  av a 2s  . c o m*/
public void createPartControl(Composite parent) {
    parent.setLayout(new GridLayout(4, false));

    // Title search field
    Label lSearchTitle = new Label(parent, SWT.NONE);
    lSearchTitle.setText(Messages.OmnivoreView_searchTitleLabel);
    lSearchTitle.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false));
    final Text tSearchTitle = new Text(parent, SWT.SINGLE);
    tSearchTitle.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));

    // Keyword search field
    Label lSearchKW = new Label(parent, SWT.NONE);
    lSearchKW.setText(Messages.OmnivoreView_searchKeywordsLabel);
    lSearchKW.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false));
    final Text tSearchKW = new Text(parent, SWT.SINGLE);
    tSearchKW.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));

    // Add search listener
    ModifyListener searchListener = new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            searchKW = tSearchKW.getText();
            searchTitle = tSearchTitle.getText();
            refresh();
        }
    };
    tSearchTitle.addModifyListener(searchListener);
    tSearchKW.addModifyListener(searchListener);

    // Table to display documents
    table = new Tree(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
    SortListener sortListener = new SortListener();
    TreeColumn[] cols = new TreeColumn[colLabels.length];
    for (int i = 0; i < colLabels.length; i++) {
        cols[i] = new TreeColumn(table, SWT.NONE);
        cols[i].setWidth(colWidth[i]);
        cols[i].setText(colLabels[i]);
        cols[i].setData(new Integer(i));
        cols[i].addSelectionListener(sortListener);
    }
    table.setHeaderVisible(true);
    table.setLinesVisible(true);
    table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 4, 1));

    viewer = new TreeViewer(table);
    viewer.setContentProvider(new ViewContentProvider());
    viewer.setLabelProvider(new ViewLabelProvider());
    viewer.setSorter(new Sorter());
    viewer.setUseHashlookup(true);
    makeActions();
    hookContextMenu();
    hookDoubleClickAction();
    contributeToActionBars();
    final Transfer[] transferTypes = new Transfer[] { FileTransfer.getInstance() };

    viewer.addDropSupport(DND.DROP_COPY, transferTypes, new DropTargetAdapter() {

        @Override
        public void dragEnter(DropTargetEvent event) {
            event.detail = DND.DROP_COPY;
        }

        @Override
        public void drop(DropTargetEvent event) {
            if (transferTypes[0].isSupportedType(event.currentDataType)) {
                String[] files = (String[]) event.data;
                String category = null;
                if (event.item != null && event.item.getData() instanceof DocHandle) {
                    DocHandle dh = (DocHandle) event.item.getData();
                    category = dh.getCategory();
                }
                for (String file : files) {
                    DocHandle.assimilate(file, category);
                    viewer.refresh();
                }
            }
        }

    });

    viewer.addDragSupport(DND.DROP_COPY, transferTypes, new DragSourceAdapter() {
        @Override
        public void dragSetData(DragSourceEvent event) {
            IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
            DocHandle dh = (DocHandle) selection.getFirstElement();

            if (FileTransfer.getInstance().isSupportedType(event.dataType)) {
                int end = dh.getTitle().lastIndexOf(".");
                String titel = (dh.getTitle()).substring(0, end);
                File file = dh.createTemporaryFile(titel);
                event.data = new String[] { file.getAbsolutePath() };
            }
        }
    });

    GlobalEventDispatcher.addActivationListener(this, this);
    eeli_user.catchElexisEvent(ElexisEvent.createUserEvent());
    viewer.setInput(getViewSite());

}

From source file:ch.elexis.preferences.inputs.ACLPreferenceTree.java

License:Open Source License

public ACLPreferenceTree(Composite parent, ACE... acl) {
    super(parent, SWT.NONE);
    acls = new Tree<ACE>(null, null);
    for (ACE s : acl) {
        Tree<ACE> mine = acls.find(s, true);
        if (mine == null) {
            Tree<ACE> parentTree = findParent(s);
            if (parentTree != null) {
                new Tree<ACE>(parentTree, s);
            } else {
                Hub.log.log("Could not find parent ACE " + s.getName(), Log.ERRORS);
            }/*  w  ww. java  2s.  c  o  m*/
        }
    }

    setLayout(new GridLayout());
    setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    tv = new TreeViewer(this);
    tv.setContentProvider(new ITreeContentProvider() {

        public Object[] getChildren(Object parentElement) {
            Tree tree = (Tree) parentElement;
            return tree.getChildren().toArray();
        }

        public Object getParent(Object element) {
            return ((Tree) element).getParent();
        }

        public boolean hasChildren(Object element) {
            Tree tree = (Tree) element;
            return tree.hasChildren();
        }

        public Object[] getElements(Object inputElement) {
            return acls.getChildren().toArray();
        }

        public void dispose() {
            // TODO Auto-generated method stub

        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
            // TODO Auto-generated method stub

        }
    });
    tv.setLabelProvider(new LabelProvider() {

        @Override
        public String getText(Object element) {
            return (String) ((Tree<ACE>) element).contents.getLocalizedName();
        }

    });
    tv.getControl().setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    Composite cBottom = new Composite(this, SWT.NONE);
    cBottom.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));
    cBottom.setLayout(new GridLayout(2, true));
    new Label(cBottom, SWT.NONE).setText(StringConstants.ROLES_DEFAULT);
    new Label(cBottom, SWT.NONE).setText(StringConstants.ROLE_USERS);
    lbGroups = new org.eclipse.swt.widgets.List(cBottom, SWT.MULTI | SWT.V_SCROLL);
    lbUsers = new org.eclipse.swt.widgets.List(cBottom, SWT.MULTI | SWT.V_SCROLL);
    lbUsers.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    lbGroups.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    lUsers = Hub.getUserList();
    for (Anwender an : lUsers) {
        lbUsers.add(an.getLabel());
    }
    List<String> lGroups = Hub.acl.getGroups();
    for (String s : lGroups) {
        lbGroups.add(s);
    }
    tv.addSelectionChangedListener(new ISelectionChangedListener() {

        /**
         * if the user selects an ACL from the TreeViewer, we want to select users and groups
         * that are granted this acl in the lbGroups and lbUsers ListBoxes
         */
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection sel = (IStructuredSelection) event.getSelection();
            lbGroups.deselectAll();
            lbUsers.deselectAll();
            if (!sel.isEmpty()) {
                Tree<ACE> acl = (Tree<ACE>) sel.getFirstElement();
                ACE right = acl.contents;
                List<String> grps = Hub.acl.groupsForGrant(right);
                List<Anwender> users = Hub.acl.usersForGrant(right);
                for (String g : grps) {
                    int idx = StringTool.getIndex(lbGroups.getItems(), g);
                    if (idx != -1) {
                        lbGroups.select(idx);
                    }
                }
                for (Anwender an : users) {
                    int idx = StringTool.getIndex(lbUsers.getItems(), an.getLabel());
                    if (idx != -1) {
                        lbUsers.select(idx);
                    }
                }
            }

        }

    });
    lbGroups.addSelectionListener(new SelectionAdapter() {
        @SuppressWarnings("unchecked")
        public void widgetSelected(SelectionEvent arg0) {
            IStructuredSelection sel = (IStructuredSelection) tv.getSelection();
            if (!sel.isEmpty()) {
                Tree<ACE> acl = (Tree<ACE>) sel.getFirstElement();
                ACE right = acl.contents;
                String[] gsel = lbGroups.getSelection();
                for (String g : lbGroups.getItems()) {
                    Hub.acl.revoke(g, right);
                }
                for (String g : gsel) {
                    Hub.acl.grant(g, right);
                }
            }
        }

    });
    lbUsers.addSelectionListener(new SelectionAdapter() {
        @SuppressWarnings("unchecked")
        public void widgetSelected(SelectionEvent arg0) {
            IStructuredSelection sel = (IStructuredSelection) tv.getSelection();
            if (!sel.isEmpty()) {
                Tree<ACE> acl = (Tree<ACE>) sel.getFirstElement();
                ACE right = acl.contents;
                int[] uSel = lbUsers.getSelectionIndices();
                for (Anwender an : lUsers) {
                    Hub.acl.revoke(an, right);
                }
                for (int i : uSel) {
                    Hub.acl.grant(lUsers.get(i), right);
                }
            }
        }
    });
    tv.setSorter(new ViewerSorter() {

        @SuppressWarnings("unchecked")
        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            Tree<ACE> t1 = (Tree<ACE>) e1;
            Tree<ACE> t2 = (Tree<ACE>) e2;
            return t1.contents.getLocalizedName().compareToIgnoreCase(t2.contents.getLocalizedName());
        }

    });
    tv.setInput(this);

}

From source file:ch.elexis.preferences.LabGroupPrefs.java

License:Open Source License

protected Control createContents(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    composite.setLayout(new GridLayout(1, false));

    Label label;/*from www.j a  va  2  s .c  o  m*/
    GridLayout layout;

    Composite topArea = new Composite(composite, SWT.NONE);
    topArea.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));
    layout = new GridLayout(3, false);
    layout.verticalSpacing = 20;
    topArea.setLayout(layout);

    label = new Label(topArea, SWT.NONE);
    label.setText(Messages.LabGroupPrefs_ExplanationsLine1 + Messages.LabGroupPrefs_ExplanationsLine2
            + Messages.LabGroupPrefs_ExplanationsLine3);
    label.setLayoutData(SWTHelper.getFillGridData(3, true, 1, false));

    GridData gd;

    label = new Label(topArea, SWT.NONE);
    label.setText(Messages.LabGroupPrefs_group);
    gd = SWTHelper.getFillGridData(1, false, 1, false);
    gd.verticalAlignment = GridData.BEGINNING;
    label.setLayoutData(gd);

    groupsViewer = new ComboViewer(topArea, SWT.READ_ONLY);
    gd = SWTHelper.getFillGridData(1, true, 1, false);
    gd.verticalAlignment = GridData.BEGINNING;
    groupsViewer.getControl().setLayoutData(gd);

    groupsViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection sel = (IStructuredSelection) groupsViewer.getSelection();
            Object element = sel.getFirstElement();
            if (element instanceof LabGroup) {
                actGroup = (LabGroup) element;

                itemsViewer.refresh();
            }

            updateButtonsState();
        }
    });

    groupsViewer.setContentProvider(new GroupsContentProvider());
    groupsViewer.setLabelProvider(new DefaultLabelProvider());

    groupsViewer.setInput(this);

    Composite groupButtonArea = new Composite(topArea, SWT.PUSH);
    layout = new GridLayout(1, false);
    layout.marginHeight = 0;
    groupButtonArea.setLayout(layout);

    newButton = new Button(groupButtonArea, SWT.PUSH);
    newButton.setText(Messages.LabGroupPrefs_new);
    newButton.addSelectionListener(new SelectionListener() {
        public void widgetSelected(SelectionEvent e) {
            InputDialog dialog = new InputDialog(
                    PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
                    Messages.LabGroupPrefs_newLabGroup, Messages.LabGroupPrefs_selectNameForLabGroup, "", null); //$NON-NLS-1$
            int rc = dialog.open();
            if (rc == Window.OK) {
                String name = dialog.getValue();
                LabGroup group = new LabGroup(name, null);

                groupsViewer.refresh();
                groupsViewer.setSelection(new StructuredSelection(group));
            }
        }

        public void widgetDefaultSelected(SelectionEvent e) {
            widgetSelected(e);
        }
    });

    removeButton = new Button(groupButtonArea, SWT.PUSH);
    removeButton.setText(Messages.LabGroupPrefs_delete);
    removeButton.addSelectionListener(new SelectionListener() {
        public void widgetSelected(SelectionEvent e) {
            if (actGroup != null) {
                if (SWTHelper.askYesNo(Messages.LabGroupPrefs_deleteGroup,
                        MessageFormat.format(Messages.LabGroupPrefs_reallyDeleteGroup, actGroup.getLabel())))
                    ;
                {

                    actGroup.delete();
                    actGroup = null;
                    groupsViewer.refresh();
                    itemsViewer.refresh();
                    selectFirstGroup();
                }
            }
        }

        public void widgetDefaultSelected(SelectionEvent e) {
            widgetSelected(e);
        }
    });

    Composite bottomArea = new Composite(composite, SWT.NONE);
    bottomArea.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    bottomArea.setLayout(new GridLayout(1, false));

    label = new Label(bottomArea, SWT.NONE);
    label.setText(Messages.LabGroupPrefs_containingLabItems);

    itemsViewer = new ListViewer(bottomArea, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    itemsViewer.getControl().setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));

    itemsViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            updateItemButtonsState();
        }
    });

    itemsViewer.setContentProvider(new GroupItemsContentProvider());
    itemsViewer.setLabelProvider(new ItemsLabelProvider());

    itemsViewer.setInput(this);

    Composite buttonArea = new Composite(bottomArea, SWT.NONE);
    buttonArea.setLayoutData(SWTHelper.getFillGridData(1, false, 1, false));
    buttonArea.setLayout(new GridLayout(2, true));

    addItemButton = new Button(buttonArea, SWT.PUSH);
    addItemButton.setText(Messages.LabGroupPrefs_add);
    addItemButton.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));

    removeItemButton = new Button(buttonArea, SWT.PUSH);
    removeItemButton.setText(Messages.LabGroupPrefs_remove);
    removeItemButton.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));

    addItemButton.addSelectionListener(new SelectionListener() {
        public void widgetSelected(SelectionEvent e) {
            if (actGroup != null) {
                ItemsSelectionDialog dialog = new ItemsSelectionDialog(
                        PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), actGroup);
                if (dialog.open() == ItemsSelectionDialog.OK) {
                    itemsViewer.refresh();
                }
            }
        }

        public void widgetDefaultSelected(SelectionEvent e) {
            widgetSelected(e);
        }
    });

    removeItemButton.addSelectionListener(new SelectionListener() {
        public void widgetSelected(SelectionEvent e) {
            if (actGroup != null) {
                IStructuredSelection sel = (IStructuredSelection) itemsViewer.getSelection();
                for (Object obj : sel.toList()) {
                    if (obj instanceof LabItem) {
                        LabItem item = (LabItem) obj;
                        actGroup.removeItem(item);
                    }
                }

                itemsViewer.refresh();
            }
        }

        public void widgetDefaultSelected(SelectionEvent e) {
            widgetSelected(e);
        }
    });

    selectFirstGroup();

    return composite;
}

From source file:ch.elexis.preferences.LaborPrefs.java

License:Open Source License

protected Control createContents(Composite parn) {
    noDefaultAndApplyButton();//from ww w .  ja  va  2s .c o m

    Composite tableComposite = new Composite(parn, SWT.NONE);
    GridData gd = new GridData();
    tableComposite.setLayoutData(gd);
    TableColumnLayout tableColumnLayout = new TableColumnLayout();
    tableComposite.setLayout(tableColumnLayout);
    tableViewer = new TableViewer(tableComposite, SWT.BORDER | SWT.FULL_SELECTION);
    table = tableViewer.getTable();

    for (int i = 0; i < headers.length; i++) {
        TableColumn tc = new TableColumn(table, SWT.LEFT);
        tc.setText(headers[i]);
        tableColumnLayout.setColumnData(tc, new ColumnWeightData(colwidth[i], true));
        tc.setData(i);
        tc.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                sortC = (Integer) ((TableColumn) e.getSource()).getData();
                tableViewer.refresh(true);
            }

        });
    }
    table.setHeaderVisible(true);
    table.setLinesVisible(true);
    table.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    tableViewer.setContentProvider(new IStructuredContentProvider() {

        public Object[] getElements(Object inputElement) {
            return LabItem.getLabItems().toArray();
        }

        public void dispose() {
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }

    });
    tableViewer.setLabelProvider(new LabListLabelProvider());
    tableViewer.addDoubleClickListener(new IDoubleClickListener() {

        public void doubleClick(DoubleClickEvent event) {
            IStructuredSelection sel = (IStructuredSelection) tableViewer.getSelection();
            Object o = sel.getFirstElement();
            if (o instanceof LabItem) {
                LabItem li = (LabItem) o;
                EditLabItem eli = new EditLabItem(getShell(), li);
                eli.create();
                if (eli.open() == Dialog.OK) {
                    tableViewer.refresh();
                }
            }
        }

    });
    tableViewer.setSorter(new ViewerSorter() {

        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            LabItem li1 = (LabItem) e1;
            LabItem li2 = (LabItem) e2;
            String s1 = "", s2 = ""; //$NON-NLS-1$ //$NON-NLS-2$
            switch (sortC) {
            case 0:
                s1 = li1.getLabor().getLabel();
                s2 = li2.getLabor().getLabel();
                break;
            case 2:
                s1 = li1.getKuerzel();
                s2 = li2.getKuerzel();
                break;
            case 3:
                s1 = li1.getTyp().toString();
                s2 = li2.getTyp().toString();
                break;
            case 7:
                s1 = li1.getGroup();
                s2 = li2.getGroup();
                break;
            default:
                s1 = li1.getName();
                s2 = li2.getName();
            }
            int res = s1.compareToIgnoreCase(s2);
            if (res == 0) {
                return li1.getPrio().compareToIgnoreCase(li2.getPrio());
            }
            return res;
        }

    });
    tableViewer.setInput(this);
    return tableComposite;
}

From source file:ch.elexis.preferences.LaborPrefs.java

License:Open Source License

@Override
protected void contributeButtons(Composite parent) {
    ((GridLayout) parent.getLayout()).numColumns++;
    Button bNewItem = new Button(parent, SWT.PUSH);
    bNewItem.setText(Messages.LaborPrefs_labValue);
    bNewItem.addSelectionListener(new SelectionAdapter() {
        @Override/*from   w w w.j  a  v a 2  s  . c o m*/
        public void widgetSelected(SelectionEvent e) {
            EditLabItem eli = new EditLabItem(getShell(), null);
            eli.create();
            if (eli.open() == Dialog.OK) {
                tableViewer.refresh();
            }
        }

    });
    ((GridLayout) parent.getLayout()).numColumns++;
    Button bDelItem = new Button(parent, SWT.PUSH);
    bDelItem.setText(Messages.LaborPrefs_deleteItem);
    bDelItem.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            IStructuredSelection sel = (IStructuredSelection) tableViewer.getSelection();
            Object o = sel.getFirstElement();
            if (o instanceof LabItem) {
                LabItem li = (LabItem) o;
                Query<LabResult> qbe = new Query<LabResult>(LabResult.class);
                qbe.add("ItemID", "=", li.getId()); //$NON-NLS-1$ //$NON-NLS-2$
                List<LabResult> list = qbe.execute();
                for (LabResult po : list) {
                    po.delete();
                }
                li.delete();
                tableViewer.remove(o);
            }
        }
    });
    ((GridLayout) parent.getLayout()).numColumns++;
    Button bDelAllItems = new Button(parent, SWT.PUSH);
    bDelAllItems.setText(Messages.LaborPrefs_deleteAllItems);
    bDelAllItems.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            if (SWTHelper.askYesNo(Messages.LaborPrefs_deleteReallyAllItems,
                    Messages.LaborPrefs_deleteAllExplain)) {
                Query<LabItem> qbli = new Query<LabItem>(LabItem.class);
                List<LabItem> items = qbli.execute();
                for (LabItem li : items) {
                    Query<LabResult> qbe = new Query<LabResult>(LabResult.class);
                    qbe.add("ItemID", "=", li.getId()); //$NON-NLS-1$ //$NON-NLS-2$
                    List<LabResult> list = qbe.execute();
                    for (LabResult po : list) {
                        po.delete();
                    }
                    li.delete();
                }
                tableViewer.refresh();
            }
        }
    });
    if (Hub.acl.request(AccessControlDefaults.DELETE_LABITEMS) == false) {
        bDelAllItems.setEnabled(false);
    }
}

From source file:ch.elexis.util.viewers.CommonViewer.java

License:Open Source License

public void doubleClick(DoubleClickEvent event) {
    if (dlListeners != null) {
        Iterator<DoubleClickListener> it = dlListeners.iterator();
        while (it.hasNext()) {
            DoubleClickListener dl = it.next();
            IStructuredSelection sel = (IStructuredSelection) event.getSelection();
            if ((sel != null) && (!sel.isEmpty())) {
                Object element = sel.getFirstElement();
                PersistentObject po;/*w w  w .j av a2s .c  om*/
                if (element instanceof Tree<?>) {
                    po = (PersistentObject) ((Tree<?>) element).contents;
                } else {
                    po = (PersistentObject) element;
                }
                dl.doubleClicked(po, this);
            }
        }

    }

}

From source file:ch.elexis.views.artikel.ArtikelSelektor.java

License:Open Source License

@Override
public void createPartControl(final Composite parent) {
    parent.setLayout(new GridLayout());
    ctab = new CTabFolder(parent, SWT.NONE);
    ctab.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    java.util.List<IConfigurationElement> list = Extensions.getExtensions("ch.elexis.Verrechnungscode"); //$NON-NLS-1$
    ctab.addSelectionListener(new TabSelectionListener());
    for (IConfigurationElement ice : list) {
        if ("Artikel".equals(ice.getName())) { //$NON-NLS-1$
            try {
                CodeSelectorFactory cs = (CodeSelectorFactory) ice
                        .createExecutableExtension("CodeSelectorFactory"); //$NON-NLS-1$
                CTabItem ci = new CTabItem(ctab, SWT.NONE);
                ci.setText(cs.getCodeSystemName());
                ci.setData("csf", cs); //$NON-NLS-1$
            } catch (Exception ex) {
                ExHandler.handle(ex);/*from  w ww  .  jav  a  2s.co  m*/
            }
        }
    }
    CTabItem ci = new CTabItem(ctab, SWT.NONE);
    Composite c = new Composite(ctab, SWT.NONE);
    c.setLayout(new GridLayout());
    ci.setControl(c);
    ci.setText("Lagerartikel"); //$NON-NLS-1$
    Table table = new Table(c, SWT.SIMPLE | SWT.V_SCROLL);
    table.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    tv = new TableViewer(table);
    tv.setContentProvider(new IStructuredContentProvider() {

        public Object[] getElements(final Object inputElement) {
            List<Artikel> lLager = Artikel.getLagerartikel();
            if (lLager != null) {
                return lLager.toArray();
            } else {
                return new Object[0];
            }
        }

        public void dispose() {
        }

        public void inputChanged(final Viewer viewer, final Object oldInput, final Object newInput) {
        }

    });
    // tv.setLabelProvider(new LagerLabelProvider());
    tv.setLabelProvider(new ArtikelLabelProvider());
    tv.addDragSupport(DND.DROP_COPY, new Transfer[] { TextTransfer.getInstance() }, new DragSourceAdapter() {
        @Override
        public void dragStart(final DragSourceEvent event) {
            IStructuredSelection sel = (IStructuredSelection) tv.getSelection();
            if ((sel == null) || sel.isEmpty()) {
                event.doit = false;
            }
            Object s = sel.getFirstElement();
            if (s instanceof PersistentObject) {
                PersistentObject po = (PersistentObject) s;
                event.doit = po.isDragOK();
            } else {
                event.doit = false;
            }
        }

        @Override
        public void dragSetData(final DragSourceEvent event) {
            IStructuredSelection isel = (IStructuredSelection) tv.getSelection();
            StringBuilder sb = new StringBuilder();
            Object[] sel = isel.toArray();
            for (Object s : sel) {
                if (s instanceof PersistentObject) {
                    sb.append(((PersistentObject) s).storeToString()).append(","); //$NON-NLS-1$
                } else {
                    sb.append("error").append(","); //$NON-NLS-1$ //$NON-NLS-2$
                }
            }
            event.data = sb.toString().replace(",$", ""); //$NON-NLS-1$ //$NON-NLS-2$
        }

    });
    tv.addDoubleClickListener(new IDoubleClickListener() {

        public void doubleClick(final DoubleClickEvent event) {
            IStructuredSelection sel = (IStructuredSelection) tv.getSelection();
            if ((sel != null) && (!sel.isEmpty())) {
                Artikel art = (Artikel) sel.getFirstElement();
                EditEigenartikelUi.executeWithParams(art);
            }
        }

    });
    tv.setInput(this);
}