Example usage for org.eclipse.jface.viewers ListViewer ListViewer

List of usage examples for org.eclipse.jface.viewers ListViewer ListViewer

Introduction

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

Prototype

public ListViewer(org.eclipse.swt.widgets.List list) 

Source Link

Document

Creates a list viewer on the given list control.

Usage

From source file:ac.soton.fmusim.components.presentation.ComponentsEditor.java

License:Open Source License

/**
 * This is the method used by the framework to install your own controls.
 * <!-- begin-user-doc -->/*from  w ww . j  a v  a 2s  . c o  m*/
 * <!-- end-user-doc -->
 * @generated
 */
@Override
public void createPages() {
    // Creates the model from the editor input
    //
    createModel();

    // Only creates the other pages if there is something that can be edited
    //
    if (!getEditingDomain().getResourceSet().getResources().isEmpty()) {
        // Create a page for the selection tree view.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ComponentsEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    Tree tree = new Tree(composite, SWT.MULTI);
                    TreeViewer newTreeViewer = new TreeViewer(tree);
                    return newTreeViewer;
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());

            selectionViewer = (TreeViewer) viewerPane.getViewer();
            selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));

            selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
            selectionViewer.setInput(editingDomain.getResourceSet());
            selectionViewer.setSelection(
                    new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
            viewerPane.setTitle(editingDomain.getResourceSet());

            new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);

            createContextMenuFor(selectionViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_SelectionPage_label"));
        }

        // Create a page for the parent tree view.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ComponentsEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    Tree tree = new Tree(composite, SWT.MULTI);
                    TreeViewer newTreeViewer = new TreeViewer(tree);
                    return newTreeViewer;
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());

            parentViewer = (TreeViewer) viewerPane.getViewer();
            parentViewer.setAutoExpandLevel(30);
            parentViewer.setContentProvider(new ReverseAdapterFactoryContentProvider(adapterFactory));
            parentViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            createContextMenuFor(parentViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_ParentPage_label"));
        }

        // This is the page for the list viewer
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ComponentsEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new ListViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());
            listViewer = (ListViewer) viewerPane.getViewer();
            listViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
            listViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            createContextMenuFor(listViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_ListPage_label"));
        }

        // This is the page for the tree viewer
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ComponentsEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new TreeViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());
            treeViewer = (TreeViewer) viewerPane.getViewer();
            treeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
            treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory);

            createContextMenuFor(treeViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_TreePage_label"));
        }

        // This is the page for the table viewer.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ComponentsEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new TableViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());
            tableViewer = (TableViewer) viewerPane.getViewer();

            Table table = tableViewer.getTable();
            TableLayout layout = new TableLayout();
            table.setLayout(layout);
            table.setHeaderVisible(true);
            table.setLinesVisible(true);

            TableColumn objectColumn = new TableColumn(table, SWT.NONE);
            layout.addColumnData(new ColumnWeightData(3, 100, true));
            objectColumn.setText(getString("_UI_ObjectColumn_label"));
            objectColumn.setResizable(true);

            TableColumn selfColumn = new TableColumn(table, SWT.NONE);
            layout.addColumnData(new ColumnWeightData(2, 100, true));
            selfColumn.setText(getString("_UI_SelfColumn_label"));
            selfColumn.setResizable(true);

            tableViewer.setColumnProperties(new String[] { "a", "b" });
            tableViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
            tableViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            createContextMenuFor(tableViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_TablePage_label"));
        }

        // This is the page for the table tree viewer.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ComponentsEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new TreeViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());

            treeViewerWithColumns = (TreeViewer) viewerPane.getViewer();

            Tree tree = treeViewerWithColumns.getTree();
            tree.setLayoutData(new FillLayout());
            tree.setHeaderVisible(true);
            tree.setLinesVisible(true);

            TreeColumn objectColumn = new TreeColumn(tree, SWT.NONE);
            objectColumn.setText(getString("_UI_ObjectColumn_label"));
            objectColumn.setResizable(true);
            objectColumn.setWidth(250);

            TreeColumn selfColumn = new TreeColumn(tree, SWT.NONE);
            selfColumn.setText(getString("_UI_SelfColumn_label"));
            selfColumn.setResizable(true);
            selfColumn.setWidth(200);

            treeViewerWithColumns.setColumnProperties(new String[] { "a", "b" });
            treeViewerWithColumns.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
            treeViewerWithColumns.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            createContextMenuFor(treeViewerWithColumns);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_TreeWithColumnsPage_label"));
        }

        getSite().getShell().getDisplay().asyncExec(new Runnable() {
            public void run() {
                setActivePage(0);
            }
        });
    }

    // Ensures that this editor will only display the page's tab
    // area if there are more than one page
    //
    getContainer().addControlListener(new ControlAdapter() {
        boolean guard = false;

        @Override
        public void controlResized(ControlEvent event) {
            if (!guard) {
                guard = true;
                hideTabs();
                guard = false;
            }
        }
    });

    getSite().getShell().getDisplay().asyncExec(new Runnable() {
        public void run() {
            updateProblemIndication();
        }
    });
}

From source file:ar.com.tadp.xml.rinzo.jdt.wizards.BindingFilesWizardPage.java

License:Open Source License

public void createControl(Composite root) {
    Composite parent = new Composite(root, NONE);
    GridLayout gridLayout = new GridLayout(2, false);
    parent.setLayout(gridLayout);//from ww  w.  j  a va  2 s  .  c  o m
    parent.setLayoutData(new GridData(GridData.FILL_BOTH));

    this.listViewer = new ListViewer(parent);
    GridData layoutData = new GridData(GridData.FILL_BOTH);
    layoutData.grabExcessHorizontalSpace = true;
    this.listViewer.getControl().setLayoutData(layoutData);
    this.listViewer.setContentProvider(new TableViewerSupport.ListContentProvider());
    this.listViewer.setInput(this.files);

    Composite buttonParent = new Composite(parent, SWT.NULL);
    FillLayout fillLayout = new FillLayout(SWT.VERTICAL);
    fillLayout.spacing = 2;
    buttonParent.setLayout(fillLayout);
    Button buttonAdd = new Button(buttonParent, SWT.PUSH);
    buttonAdd.setText("Add");
    Button buttonRemove = new Button(buttonParent, SWT.PUSH);
    buttonRemove.setText("Remove");

    buttonAdd.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            // ElementTreeSelectionDialog selectionDialog = new
            // ElementTreeSelectionDialog(null, new
            // WorkbenchLabelProvider(), new WorkbenchContentProvider());
            // selectionDialog.setInput(ResourcesPlugin.getWorkspace().getRoot());
            // selectionDialog.open();

            FilteredElementTreeSelectionDialog dialog = new FilteredElementTreeSelectionDialog(null,
                    new WorkbenchLabelProvider(), new WorkbenchContentProvider());
            dialog.setTitle("Binding files selection");
            dialog.setMessage("Select the files to be used as JAXB binding files.");
            dialog.setInitialFilter("*.xjb");
            dialog.setComparator(new ResourceComparator(ResourceComparator.NAME));
            dialog.setInput(ResourcesPlugin.getWorkspace().getRoot());
            ArrayList<IResource> usedJars = new ArrayList<IResource>();
            dialog.addFilter(new ArchiveFileFilter(usedJars, true, true));
            if (dialog.open() == Window.OK) {
                Object[] elements = dialog.getResult();
                IPath[] res = new IPath[elements.length];
                for (int i = 0; i < res.length; i++) {
                    IResource elem = (IResource) elements[i];
                    files.add(elem.getLocation().toOSString());
                }
            }
            listViewer.refresh(false);
        }
    });

    buttonRemove.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            IStructuredSelection selection = (IStructuredSelection) listViewer.getSelection();
            for (Iterator iterator = selection.iterator(); iterator.hasNext();) {
                String element = (String) iterator.next();
                files.remove(element);
            }
            listViewer.refresh(false);
        }
    });

    this.setControl(parent);
}

From source file:at.bitandart.zoubek.mervin.model.modelreview.presentation.ModelReviewEditor.java

License:Open Source License

/**
 * This is the method used by the framework to install your own controls.
 * <!-- begin-user-doc --> <!-- end-user-doc -->
 * /*from  ww  w .ja v  a  2 s  .co m*/
 * @generated
 */
@Override
public void createPages() {
    // Creates the model from the editor input
    //
    createModel();

    // Only creates the other pages if there is something that can be edited
    //
    if (!getEditingDomain().getResourceSet().getResources().isEmpty()) {
        // Create a page for the selection tree view.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ModelReviewEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    Tree tree = new Tree(composite, SWT.MULTI);
                    TreeViewer newTreeViewer = new TreeViewer(tree);
                    return newTreeViewer;
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());

            selectionViewer = (TreeViewer) viewerPane.getViewer();
            selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));

            selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
            selectionViewer.setInput(editingDomain.getResourceSet());
            selectionViewer.setSelection(
                    new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
            viewerPane.setTitle(editingDomain.getResourceSet());

            new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);

            createContextMenuFor(selectionViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_SelectionPage_label"));
        }

        // Create a page for the parent tree view.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ModelReviewEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    Tree tree = new Tree(composite, SWT.MULTI);
                    TreeViewer newTreeViewer = new TreeViewer(tree);
                    return newTreeViewer;
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());

            parentViewer = (TreeViewer) viewerPane.getViewer();
            parentViewer.setAutoExpandLevel(30);
            parentViewer.setContentProvider(new ReverseAdapterFactoryContentProvider(adapterFactory));
            parentViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            createContextMenuFor(parentViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_ParentPage_label"));
        }

        // This is the page for the list viewer
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ModelReviewEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new ListViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());
            listViewer = (ListViewer) viewerPane.getViewer();
            listViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
            listViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            createContextMenuFor(listViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_ListPage_label"));
        }

        // This is the page for the tree viewer
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ModelReviewEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new TreeViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());
            treeViewer = (TreeViewer) viewerPane.getViewer();
            treeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
            treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory);

            createContextMenuFor(treeViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_TreePage_label"));
        }

        // This is the page for the table viewer.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ModelReviewEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new TableViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());
            tableViewer = (TableViewer) viewerPane.getViewer();

            Table table = tableViewer.getTable();
            TableLayout layout = new TableLayout();
            table.setLayout(layout);
            table.setHeaderVisible(true);
            table.setLinesVisible(true);

            TableColumn objectColumn = new TableColumn(table, SWT.NONE);
            layout.addColumnData(new ColumnWeightData(3, 100, true));
            objectColumn.setText(getString("_UI_ObjectColumn_label"));
            objectColumn.setResizable(true);

            TableColumn selfColumn = new TableColumn(table, SWT.NONE);
            layout.addColumnData(new ColumnWeightData(2, 100, true));
            selfColumn.setText(getString("_UI_SelfColumn_label"));
            selfColumn.setResizable(true);

            tableViewer.setColumnProperties(new String[] { "a", "b" });
            tableViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
            tableViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            createContextMenuFor(tableViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_TablePage_label"));
        }

        // This is the page for the table tree viewer.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ModelReviewEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new TreeViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());

            treeViewerWithColumns = (TreeViewer) viewerPane.getViewer();

            Tree tree = treeViewerWithColumns.getTree();
            tree.setLayoutData(new FillLayout());
            tree.setHeaderVisible(true);
            tree.setLinesVisible(true);

            TreeColumn objectColumn = new TreeColumn(tree, SWT.NONE);
            objectColumn.setText(getString("_UI_ObjectColumn_label"));
            objectColumn.setResizable(true);
            objectColumn.setWidth(250);

            TreeColumn selfColumn = new TreeColumn(tree, SWT.NONE);
            selfColumn.setText(getString("_UI_SelfColumn_label"));
            selfColumn.setResizable(true);
            selfColumn.setWidth(200);

            treeViewerWithColumns.setColumnProperties(new String[] { "a", "b" });
            treeViewerWithColumns.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
            treeViewerWithColumns.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            createContextMenuFor(treeViewerWithColumns);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_TreeWithColumnsPage_label"));
        }

        getSite().getShell().getDisplay().asyncExec(new Runnable() {
            public void run() {
                setActivePage(0);
            }
        });
    }

    // Ensures that this editor will only display the page's tab
    // area if there are more than one page
    //
    getContainer().addControlListener(new ControlAdapter() {
        boolean guard = false;

        @Override
        public void controlResized(ControlEvent event) {
            if (!guard) {
                guard = true;
                hideTabs();
                guard = false;
            }
        }
    });

    getSite().getShell().getDisplay().asyncExec(new Runnable() {
        public void run() {
            updateProblemIndication();
        }
    });
}

From source file:at.rc.tacos.client.ui.custom.DatePickerPanel.java

License:Open Source License

/**
 * This method initializes the month combo
 *///w  w w.j  a va2s  .  com
private void createTimeList(Composite composite) {

    DateFormat dateFormat = DateFormat.getTimeInstance(DateFormat.SHORT);
    Calendar tempCalendar = Calendar.getInstance();
    tempCalendar.set(Calendar.MINUTE, 0);
    tempCalendar.set(Calendar.SECOND, 0);
    String[] times = new String[48];
    int pos = 0;
    for (int x = 0; x < 24; x++) {
        // hour
        tempCalendar.set(Calendar.MINUTE, 0);
        tempCalendar.set(Calendar.HOUR_OF_DAY, x);
        times[pos] = dateFormat.format(tempCalendar.getTime());
        // count up the position for the minute
        pos++;
        // minute
        tempCalendar.set(Calendar.MINUTE, 30);
        times[pos] = dateFormat.format(tempCalendar.getTime());
        // count up the position for the hour
        pos++;
    }

    ListViewer listViewer = new ListViewer(composite);

    listViewer.setContentProvider(new ArrayContentProvider());
    listViewer.setInput(times);

    timeList = listViewer.getList();

    listViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            // even index -> just hour
            if (timeList.getSelectionIndex() % 2 == 0) {
                date.set(Calendar.HOUR_OF_DAY, timeList.getSelectionIndex() / 2);
                date.set(Calendar.MINUTE, 0);
            } else {
                date.set(Calendar.HOUR_OF_DAY, timeList.getSelectionIndex() / 2);
                date.set(Calendar.MINUTE, 30);
            }
            setSelection(new DateSelection(date));
            notifyListeners(new SelectionChangedEvent(DatePickerPanel.this, getSelection()));
        }
    });

    GridDataFactory.fillDefaults().hint(SWT.DEFAULT, 150).grab(false, true).applyTo(timeList);
    if (date != null) {
        // if we have a minute -> select it
        if (date.get(Calendar.MINUTE) > 0)
            listViewer.setSelection(new StructuredSelection(times[date.get(Calendar.HOUR_OF_DAY) + 1]), true);
        else
            listViewer.setSelection(new StructuredSelection(times[date.get(Calendar.HOUR_OF_DAY)]), true);
    } else {
        listViewer.setSelection(new StructuredSelection(times[8]), true);
    }
    timeList.addKeyListener(this);
}

From source file:carisma.modeltype.bpmn2.extension.presentation.ExtensionEditor.java

License:Open Source License

/**
 * This is the method used by the framework to install your own controls.
 * <!-- begin-user-doc -->/*www  .  j  a v  a 2  s . co m*/
 * <!-- end-user-doc -->
 * @generated
 */
@Override
public void createPages() {
    // Creates the model from the editor input
    //
    createModel();

    // Only creates the other pages if there is something that can be edited
    //
    if (!getEditingDomain().getResourceSet().getResources().isEmpty()) {
        // Create a page for the selection tree view.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ExtensionEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    Tree tree = new Tree(composite, SWT.MULTI);
                    TreeViewer newTreeViewer = new TreeViewer(tree);
                    return newTreeViewer;
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());

            this.selectionViewer = (TreeViewer) viewerPane.getViewer();
            this.selectionViewer.setContentProvider(new AdapterFactoryContentProvider(this.adapterFactory));

            this.selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(this.adapterFactory));
            this.selectionViewer.setInput(this.editingDomain.getResourceSet());
            this.selectionViewer.setSelection(
                    new StructuredSelection(this.editingDomain.getResourceSet().getResources().get(0)), true);
            viewerPane.setTitle(this.editingDomain.getResourceSet());

            new AdapterFactoryTreeEditor(this.selectionViewer.getTree(), this.adapterFactory);

            createContextMenuFor(this.selectionViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_SelectionPage_label"));
        }

        // Create a page for the parent tree view.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ExtensionEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    Tree tree = new Tree(composite, SWT.MULTI);
                    TreeViewer newTreeViewer = new TreeViewer(tree);
                    return newTreeViewer;
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());

            this.parentViewer = (TreeViewer) viewerPane.getViewer();
            this.parentViewer.setAutoExpandLevel(30);
            this.parentViewer.setContentProvider(new ReverseAdapterFactoryContentProvider(this.adapterFactory));
            this.parentViewer.setLabelProvider(new AdapterFactoryLabelProvider(this.adapterFactory));

            createContextMenuFor(this.parentViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_ParentPage_label"));
        }

        // This is the page for the list viewer
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ExtensionEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new ListViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());
            this.listViewer = (ListViewer) viewerPane.getViewer();
            this.listViewer.setContentProvider(new AdapterFactoryContentProvider(this.adapterFactory));
            this.listViewer.setLabelProvider(new AdapterFactoryLabelProvider(this.adapterFactory));

            createContextMenuFor(this.listViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_ListPage_label"));
        }

        // This is the page for the tree viewer
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ExtensionEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new TreeViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());
            this.treeViewer = (TreeViewer) viewerPane.getViewer();
            this.treeViewer.setContentProvider(new AdapterFactoryContentProvider(this.adapterFactory));
            this.treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(this.adapterFactory));

            new AdapterFactoryTreeEditor(this.treeViewer.getTree(), this.adapterFactory);

            createContextMenuFor(this.treeViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_TreePage_label"));
        }

        // This is the page for the table viewer.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ExtensionEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new TableViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());
            this.tableViewer = (TableViewer) viewerPane.getViewer();

            Table table = this.tableViewer.getTable();
            TableLayout layout = new TableLayout();
            table.setLayout(layout);
            table.setHeaderVisible(true);
            table.setLinesVisible(true);

            TableColumn objectColumn = new TableColumn(table, SWT.NONE);
            layout.addColumnData(new ColumnWeightData(3, 100, true));
            objectColumn.setText(getString("_UI_ObjectColumn_label"));
            objectColumn.setResizable(true);

            TableColumn selfColumn = new TableColumn(table, SWT.NONE);
            layout.addColumnData(new ColumnWeightData(2, 100, true));
            selfColumn.setText(getString("_UI_SelfColumn_label"));
            selfColumn.setResizable(true);

            this.tableViewer.setColumnProperties(new String[] { "a", "b" });
            this.tableViewer.setContentProvider(new AdapterFactoryContentProvider(this.adapterFactory));
            this.tableViewer.setLabelProvider(new AdapterFactoryLabelProvider(this.adapterFactory));

            createContextMenuFor(this.tableViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_TablePage_label"));
        }

        // This is the page for the table tree viewer.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ExtensionEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new TreeViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());

            this.treeViewerWithColumns = (TreeViewer) viewerPane.getViewer();

            Tree tree = this.treeViewerWithColumns.getTree();
            tree.setLayoutData(new FillLayout());
            tree.setHeaderVisible(true);
            tree.setLinesVisible(true);

            TreeColumn objectColumn = new TreeColumn(tree, SWT.NONE);
            objectColumn.setText(getString("_UI_ObjectColumn_label"));
            objectColumn.setResizable(true);
            objectColumn.setWidth(250);

            TreeColumn selfColumn = new TreeColumn(tree, SWT.NONE);
            selfColumn.setText(getString("_UI_SelfColumn_label"));
            selfColumn.setResizable(true);
            selfColumn.setWidth(200);

            this.treeViewerWithColumns.setColumnProperties(new String[] { "a", "b" });
            this.treeViewerWithColumns
                    .setContentProvider(new AdapterFactoryContentProvider(this.adapterFactory));
            this.treeViewerWithColumns.setLabelProvider(new AdapterFactoryLabelProvider(this.adapterFactory));

            createContextMenuFor(this.treeViewerWithColumns);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_TreeWithColumnsPage_label"));
        }

        getSite().getShell().getDisplay().asyncExec(new Runnable() {
            @Override
            public void run() {
                setActivePage(0);
            }
        });
    }

    // Ensures that this editor will only display the page's tab
    // area if there are more than one page
    //
    getContainer().addControlListener(new ControlAdapter() {
        boolean guard = false;

        @Override
        public void controlResized(ControlEvent event) {
            if (!this.guard) {
                this.guard = true;
                hideTabs();
                this.guard = false;
            }
        }
    });

    getSite().getShell().getDisplay().asyncExec(new Runnable() {
        @Override
        public void run() {
            updateProblemIndication();
        }
    });
}

From source file:carisma.ocl.library.presentation.LibraryEditor.java

License:Open Source License

/**
 * This is the method used by the framework to install your own controls.
 * <!-- begin-user-doc -->// w ww. j a va  2  s. com
 * <!-- end-user-doc -->
 * @generated
 */
@Override
public void createPages() {
    // Creates the model from the editor input
    //
    createModel();

    // Only creates the other pages if there is something that can be edited
    //
    if (!getEditingDomain().getResourceSet().getResources().isEmpty()) {
        // Create a page for the selection tree view.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), LibraryEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    Tree tree = new Tree(composite, SWT.MULTI);
                    TreeViewer newTreeViewer = new TreeViewer(tree);
                    return newTreeViewer;
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());

            this.selectionViewer = (TreeViewer) viewerPane.getViewer();
            this.selectionViewer.setContentProvider(new AdapterFactoryContentProvider(this.adapterFactory));

            this.selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(this.adapterFactory));
            this.selectionViewer.setInput(this.editingDomain.getResourceSet());
            this.selectionViewer.setSelection(
                    new StructuredSelection(this.editingDomain.getResourceSet().getResources().get(0)), true);
            viewerPane.setTitle(this.editingDomain.getResourceSet());

            new AdapterFactoryTreeEditor(this.selectionViewer.getTree(), this.adapterFactory);

            createContextMenuFor(this.selectionViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_SelectionPage_label"));
        }

        // Create a page for the parent tree view.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), LibraryEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    Tree tree = new Tree(composite, SWT.MULTI);
                    TreeViewer newTreeViewer = new TreeViewer(tree);
                    return newTreeViewer;
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());

            this.parentViewer = (TreeViewer) viewerPane.getViewer();
            this.parentViewer.setAutoExpandLevel(30);
            this.parentViewer.setContentProvider(new ReverseAdapterFactoryContentProvider(this.adapterFactory));
            this.parentViewer.setLabelProvider(new AdapterFactoryLabelProvider(this.adapterFactory));

            createContextMenuFor(this.parentViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_ParentPage_label"));
        }

        // This is the page for the list viewer
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), LibraryEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new ListViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());
            this.listViewer = (ListViewer) viewerPane.getViewer();
            this.listViewer.setContentProvider(new AdapterFactoryContentProvider(this.adapterFactory));
            this.listViewer.setLabelProvider(new AdapterFactoryLabelProvider(this.adapterFactory));

            createContextMenuFor(this.listViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_ListPage_label"));
        }

        // This is the page for the tree viewer
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), LibraryEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new TreeViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());
            this.treeViewer = (TreeViewer) viewerPane.getViewer();
            this.treeViewer.setContentProvider(new AdapterFactoryContentProvider(this.adapterFactory));
            this.treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(this.adapterFactory));

            new AdapterFactoryTreeEditor(this.treeViewer.getTree(), this.adapterFactory);

            createContextMenuFor(this.treeViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_TreePage_label"));
        }

        // This is the page for the table viewer.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), LibraryEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new TableViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());
            this.tableViewer = (TableViewer) viewerPane.getViewer();

            Table table = this.tableViewer.getTable();
            TableLayout layout = new TableLayout();
            table.setLayout(layout);
            table.setHeaderVisible(true);
            table.setLinesVisible(true);

            TableColumn objectColumn = new TableColumn(table, SWT.NONE);
            layout.addColumnData(new ColumnWeightData(3, 100, true));
            objectColumn.setText(getString("_UI_ObjectColumn_label"));
            objectColumn.setResizable(true);

            TableColumn selfColumn = new TableColumn(table, SWT.NONE);
            layout.addColumnData(new ColumnWeightData(2, 100, true));
            selfColumn.setText(getString("_UI_SelfColumn_label"));
            selfColumn.setResizable(true);

            this.tableViewer.setColumnProperties(new String[] { "a", "b" });
            this.tableViewer.setContentProvider(new AdapterFactoryContentProvider(this.adapterFactory));
            this.tableViewer.setLabelProvider(new AdapterFactoryLabelProvider(this.adapterFactory));

            createContextMenuFor(this.tableViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_TablePage_label"));
        }

        // This is the page for the table tree viewer.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), LibraryEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new TreeViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());

            this.treeViewerWithColumns = (TreeViewer) viewerPane.getViewer();

            Tree tree = this.treeViewerWithColumns.getTree();
            tree.setLayoutData(new FillLayout());
            tree.setHeaderVisible(true);
            tree.setLinesVisible(true);

            TreeColumn objectColumn = new TreeColumn(tree, SWT.NONE);
            objectColumn.setText(getString("_UI_ObjectColumn_label"));
            objectColumn.setResizable(true);
            objectColumn.setWidth(250);

            TreeColumn selfColumn = new TreeColumn(tree, SWT.NONE);
            selfColumn.setText(getString("_UI_SelfColumn_label"));
            selfColumn.setResizable(true);
            selfColumn.setWidth(200);

            this.treeViewerWithColumns.setColumnProperties(new String[] { "a", "b" });
            this.treeViewerWithColumns
                    .setContentProvider(new AdapterFactoryContentProvider(this.adapterFactory));
            this.treeViewerWithColumns.setLabelProvider(new AdapterFactoryLabelProvider(this.adapterFactory));

            createContextMenuFor(this.treeViewerWithColumns);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_TreeWithColumnsPage_label"));
        }

        getSite().getShell().getDisplay().asyncExec(new Runnable() {
            @Override
            public void run() {
                setActivePage(0);
            }
        });
    }

    // Ensures that this editor will only display the page's tab
    // area if there are more than one page
    //
    getContainer().addControlListener(new ControlAdapter() {
        boolean guard = false;

        @Override
        public void controlResized(ControlEvent event) {
            if (!this.guard) {
                this.guard = true;
                hideTabs();
                this.guard = false;
            }
        }
    });

    getSite().getShell().getDisplay().asyncExec(new Runnable() {
        @Override
        public void run() {
            updateProblemIndication();
        }
    });
}

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

License:Open Source License

@Override
public void createPartControl(final Composite parent) {
    setTitleImage(Images.IMG_VIEW_RECIPES.getImage());
    parent.setLayout(new GridLayout());
    master = tk.createForm(parent);//from ww  w  .  j  a  v  a 2s. co m
    master.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    master.getBody().setLayout(new FillLayout());
    SashForm sash = new SashForm(master.getBody(), SWT.NONE);
    tv = new TableViewer(sash, SWT.V_SCROLL | SWT.FULL_SELECTION);
    tv.setContentProvider(new IStructuredContentProvider() {

        public Object[] getElements(final Object inputElement) {
            Query<Rezept> qbe = new Query<Rezept>(Rezept.class);
            /*
             * Patient act = (Patient) ElexisEventDispatcher .getSelected(Patient.class);
             */
            if (actPatient != null) {
                qbe.add(Rezept.PATIENT_ID, Query.EQUALS, actPatient.getId());
                qbe.orderBy(true, new String[] { Rezept.DATE, PersistentObject.FLD_LASTUPDATE });
                List<Rezept> list = qbe.execute();
                return list.toArray();
            } else {
                return new Object[0];
            }
        }

        public void dispose() { /* leer */
        }

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

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

        @Override
        public String getText(final Object element) {
            if (element instanceof Rezept) {
                Rezept rp = (Rezept) element;
                return rp.getLabel();
            }
            return element.toString();
        }

        /*
         * (non-Javadoc)
         * 
         * @see org.eclipse.jface.viewers.LabelProvider#getImage(java.lang.Object )
         */
        @Override
        public Image getImage(Object element) {
            List<OutputLog> outputs = OutputLog.getOutputs((PersistentObject) element);
            if (outputs != null && outputs.size() > 0) {
                OutputLog o = outputs.get(0);
                String outputterID = o.getOutputterID();
                IOutputter io = OutputLog.getOutputter(outputterID);
                if (io != null) {
                    return (Image) io.getSymbol();
                }
            }
            return null;
        }

    });
    tv.addSelectionChangedListener(GlobalEventDispatcher.getInstance().getDefaultListener());
    lvRpLines = new ListViewer(sash);
    makeActions();
    menus = new ViewMenus(getViewSite());
    // menus.createToolbar(newRpAction, addLineAction, printAction );
    menus.createMenu(newRpAction, addLineAction, printAction, deleteRpAction);
    menus.createViewerContextMenu(lvRpLines, removeLineAction, changeMedicationAction);
    // make selection of prescription viewer available for commands of
    // context menu
    getSite().setSelectionProvider(lvRpLines);
    IToolBarManager tm = getViewSite().getActionBars().getToolBarManager();
    List<IAction> importers = Extensions.getClasses(
            Extensions.getExtensions(ExtensionPointConstantsUi.REZEPT_HOOK), //$NON-NLS-1$
            "RpToolbarAction", false); //$NON-NLS-1$
    for (IAction ac : importers) {
        tm.add(ac);
    }
    if (importers.size() > 0) {
        tm.add(new Separator());
    }
    tm.add(newRpAction);
    tm.add(addLineAction);
    tm.add(printAction);
    tv.setInput(getViewSite());

    /* Implementation Drag&Drop */
    PersistentObjectDropTarget.IReceiver dtr = new PersistentObjectDropTarget.IReceiver() {

        public boolean accept(PersistentObject o) {
            // TODO Auto-generated method stub
            return true;
        }

        public void dropped(PersistentObject o, DropTargetEvent ev) {
            Rezept actR = (Rezept) ElexisEventDispatcher.getSelected(Rezept.class);
            if (actR == null) {
                SWTHelper.showError(Messages.RezepteView_NoPrescriptionSelected, //$NON-NLS-1$
                        Messages.RezepteView_PleaseChoosaAPrescription); //$NON-NLS-1$
                return;
            }
            if (o instanceof Artikel) {
                Artikel art = (Artikel) o;

                Prescription p = new Prescription(art, actR.getPatient(), StringConstants.EMPTY,
                        StringConstants.EMPTY);
                actR.addPrescription(p);
                refresh();
            } else if (o instanceof Prescription) {
                Prescription pre = (Prescription) o;
                Prescription now = new Prescription(pre.getArtikel(), actR.getPatient(), pre.getDosis(),
                        pre.getBemerkung());
                actR.addPrescription(now);
                refresh();
            }

        }
    };

    // final TextTransfer textTransfer = TextTransfer.getInstance();
    // Transfer[] types = new Transfer[] {textTransfer};
    dropTarget = new PersistentObjectDropTarget("Rezept", lvRpLines.getControl(), dtr); //$NON-NLS-1$

    lvRpLines.setContentProvider(new RezeptContentProvider());
    lvRpLines.setLabelProvider(new RezeptLabelProvider());
    lvRpLines.getControl().setToolTipText(Messages.RezepteView_DragMedicamentsHere); //$NON-NLS-1$
    /* lvRpLines.addDragSupport(DND.DROP_COPY,types, */
    new PersistentObjectDragSource(lvRpLines);
    lvRpLines.setInput(getViewSite());
    addLineAction.setEnabled(false);
    printAction.setEnabled(false);
    GlobalEventDispatcher.addActivationListener(this, this);
    tv.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {
            try {
                RezeptBlatt rp = (RezeptBlatt) getViewSite().getPage().showView(RezeptBlatt.ID);
                Rezept actR = (Rezept) ElexisEventDispatcher.getSelected(Rezept.class);
                Brief rpBrief = actR.getBrief();
                if (rpBrief != null) {
                    // existing - just reads prescriptiom and opens
                    // RezeptBlatt
                    rp.loadRezeptFromDatabase(actR, rpBrief);
                } else {
                    // not existing - create prescription and opens
                    // RezeptBlatt
                    rp.createRezept(actR);
                }
            } catch (Throwable ex) {
                ExHandler.handle(ex);
            }
        }

    });
}

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

License:Open Source License

@Override
public void createPartControl(final Composite parent) {
    Image icon = Desk.getImage(ICON);
    if (icon != null) {
        setTitleImage(icon);//ww  w  .j  a va2 s.c o m
    }
    parent.setLayout(new GridLayout());
    master = tk.createForm(parent);
    master.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    master.getBody().setLayout(new FillLayout());
    SashForm sash = new SashForm(master.getBody(), SWT.NONE);
    tv = new TableViewer(sash, SWT.V_SCROLL | SWT.FULL_SELECTION);
    tv.setContentProvider(new IStructuredContentProvider() {

        public Object[] getElements(final Object inputElement) {
            Query<Rezept> qbe = new Query<Rezept>(Rezept.class);
            /*
             * Patient act = (Patient) ElexisEventDispatcher .getSelected(Patient.class);
             */
            if (actPatient != null) {
                qbe.add(Rezept.PATIENT_ID, Query.EQUALS, actPatient.getId());
                qbe.orderBy(true, new String[] { Rezept.DATE, PersistentObject.FLD_LASTUPDATE });
                List<Rezept> list = qbe.execute();
                return list.toArray();
            } else {
                return new Object[0];
            }
        }

        public void dispose() { /* leer */
        }

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

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

        @Override
        public String getText(final Object element) {
            if (element instanceof Rezept) {
                Rezept rp = (Rezept) element;
                return rp.getLabel();
            }
            return element.toString();
        }

        /*
         * (non-Javadoc)
         * 
         * @see org.eclipse.jface.viewers.LabelProvider#getImage(java.lang.Object )
         */
        @Override
        public Image getImage(Object element) {
            List<OutputLog> outputs = OutputLog.getOutputs((PersistentObject) element);
            if (outputs != null && outputs.size() > 0) {
                OutputLog o = outputs.get(0);
                String outputterID = o.getOutputterID();
                IOutputter io = OutputLog.getOutputter(outputterID);
                if (io != null) {
                    return io.getSymbol();
                }
            }
            return null;
        }

    });
    tv.addSelectionChangedListener(GlobalEventDispatcher.getInstance().getDefaultListener());
    lvRpLines = new ListViewer(sash);
    makeActions();
    menus = new ViewMenus(getViewSite());
    // menus.createToolbar(newRpAction, addLineAction, printAction );
    menus.createMenu(newRpAction, addLineAction, printAction, deleteRpAction);
    menus.createViewerContextMenu(lvRpLines, removeLineAction, changeMedicationAction);
    // make selection of prescription viewer available for commands of context menu
    getSite().setSelectionProvider(lvRpLines);
    IToolBarManager tm = getViewSite().getActionBars().getToolBarManager();
    List<IAction> importers = Extensions.getClasses(Extensions.getExtensions("ch.elexis.RezeptHook"), //$NON-NLS-1$
            "RpToolbarAction", false); //$NON-NLS-1$
    for (IAction ac : importers) {
        tm.add(ac);
    }
    if (importers.size() > 0) {
        tm.add(new Separator());
    }
    tm.add(newRpAction);
    tm.add(addLineAction);
    tm.add(printAction);
    tv.setInput(getViewSite());

    /* Implementation Drag&Drop */
    PersistentObjectDropTarget.IReceiver dtr = new PersistentObjectDropTarget.IReceiver() {

        public boolean accept(PersistentObject o) {
            // TODO Auto-generated method stub
            return true;
        }

        public void dropped(PersistentObject o, DropTargetEvent ev) {
            Rezept actR = (Rezept) ElexisEventDispatcher.getSelected(Rezept.class);
            if (actR == null) {
                SWTHelper.showError(Messages.getString("RezepteView.NoPrescriptionSelected"), //$NON-NLS-1$
                        Messages.getString("RezepteView.PleaseChoosaAPrescription")); //$NON-NLS-1$
                return;
            }
            if (o instanceof Artikel) {
                Artikel art = (Artikel) o;

                Prescription p = new Prescription(art, actR.getPatient(), StringConstants.EMPTY,
                        StringConstants.EMPTY);
                p.setBeginDate(null);
                actR.addPrescription(p);
                refresh();
            } else if (o instanceof Prescription) {
                Prescription pre = (Prescription) o;
                Prescription now = new Prescription(pre.getArtikel(), actR.getPatient(), pre.getDosis(),
                        pre.getBemerkung());
                now.setBeginDate(null);
                actR.addPrescription(now);
                refresh();
            }

        }
    };

    // final TextTransfer textTransfer = TextTransfer.getInstance();
    // Transfer[] types = new Transfer[] {textTransfer};
    dropTarget = new PersistentObjectDropTarget("Rezept", lvRpLines.getControl(), dtr); //$NON-NLS-1$

    lvRpLines.setContentProvider(new RezeptContentProvider());
    lvRpLines.setLabelProvider(new RezeptLabelProvider());
    lvRpLines.getControl().setToolTipText(Messages.getString("RezepteView.DragMedicamentsHere")); //$NON-NLS-1$
    /* lvRpLines.addDragSupport(DND.DROP_COPY,types, */
    new PersistentObjectDragSource(lvRpLines);
    lvRpLines.setInput(getViewSite());
    addLineAction.setEnabled(false);
    printAction.setEnabled(false);
    GlobalEventDispatcher.addActivationListener(this, this);
    tv.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {
            try {
                RezeptBlatt rp = (RezeptBlatt) getViewSite().getPage().showView(RezeptBlatt.ID);
                Rezept actR = (Rezept) ElexisEventDispatcher.getSelected(Rezept.class);
                Brief rpBrief = actR.getBrief();
                if (rpBrief != null) {
                    // existing - just reads prescriptiom and opens RezeptBlatt
                    rp.loadRezeptFromDatabase(actR, rpBrief);
                } else {
                    // not existing - create prescription and opens RezeptBlatt
                    rp.createRezept(actR);
                }
            } catch (Throwable ex) {
                ExHandler.handle(ex);
            }
        }

    });
}

From source file:ch.voburger.xtext.sandbox.mydsl.ui.editor.MUIXtextEditor.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {
    Composite container = new Composite(parent, SWT.NONE);
    container.setLayout(new FillLayout());

    SashForm sashForm = new SashForm(container, SWT.VERTICAL);
    sashForm.setLayout(new FillLayout());

    Composite browserSide = new Composite(sashForm, SWT.NONE);
    browserSide.setLayout(new FillLayout());

    Composite xtextSide = new Composite(sashForm, SWT.NONE);
    xtextSide.setLayout(new FillLayout());
    super.createPartControl(xtextSide);

    // TODO HIGH Validation Errors should show in the Widget! E.g. Name is ID..
    // http://www.toedter.com/blog/?p=36#comment-16753  ControlDecorationSupport
    // http://www.vogella.com/articles/EclipseDataBinding/article.html#databinding_decorations

    final Text modelName = new Text(browserSide, SWT.BORDER);
    final Text childModelName = new Text(browserSide, SWT.BORDER);
    final Text mainGreetingName = new Text(browserSide, SWT.BORDER);

    final ListViewer greetingsNames = new ListViewer(browserSide);
    // Instead of the following, we'll use an ViewerSupport below...
    //       greetingsNames.setContentProvider(new ObservableListContentProvider(/* viewerUpdater */));
    //       greetingsNames.setLabelProvider(labelProvider);
    //       greetingsNames.setInput(input);

    // TODO HIGH Show Field which gets updated in function of the Selection made in the List (Vogella 2.4 ViewerProperties, also check out ViewersObservables)

    // TODO HIGH Is there any use to go via an indirect WritableValue in observe instead of getDocument() ?  Double check if it works.. as we are registering change notification adapters on the Resource in the SourceAccessor implementation, I'm not sure it will work as-is.

    DataBindingContext db = new XtextDataBindingContext();
    db.bindValue(WidgetProperties.text(SWT.Modify).observe(modelName),
            XtextProperties.value(MyDslPackage.Literals.MODEL__NAME).observe(getDocument()));
    db.bindValue(WidgetProperties.text(SWT.Modify).observe(childModelName), XtextProperties.value(
            FeaturePath.fromList(MyDslPackage.Literals.MODEL__CHILD_MODEL, MyDslPackage.Literals.MODEL__NAME))
            .observe(getDocument()));/*  w  w  w  .  java  2s  . c o  m*/
    db.bindValue(WidgetProperties.text(SWT.Modify).observe(mainGreetingName),
            XtextProperties.value(FeaturePath.fromList(MyDslPackage.Literals.MODEL__MAIN_GREEETING,
                    MyDslPackage.Literals.GREETING__NAME)).observe(getDocument()));

    // TODO Is this bidi? Greeting Name should be able to be changed in List Viewer, and Order up/down modified.. Or is not possible with a List, only with a Table?   
    IObservableList input = XtextProperties.list(MyDslPackage.Literals.MODEL__GREETINGS).observe(getDocument());
    IValueProperty labelProperty = XtextProperties.value(MyDslPackage.Literals.GREETING__NAME);
    // TODO HIGH MAKE THIS MARK?? - ViewerSupport.bind(greetingsNames, input, labelProperty);

    sashForm.setWeights(new int[] { 10, 90 });
}

From source file:com.bluexml.side.application.presentation.ApplicationEditor.java

License:Open Source License

/**
 * This is the method used by the framework to install your own controls.
 * <!-- begin-user-doc -->//  w w w  .  j a va  2s  .  com
 * <!-- end-user-doc -->
 * @generated
 */
@Override
public void createPages() {
    // Creates the model from the editor input
    //
    createModel();

    // Only creates the other pages if there is something that can be edited
    //
    if (!getEditingDomain().getResourceSet().getResources().isEmpty()) {
        // Create a page for the selection tree view.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ApplicationEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    Tree tree = new Tree(composite, SWT.MULTI);
                    TreeViewer newTreeViewer = new TreeViewer(tree);
                    return newTreeViewer;
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());

            selectionViewer = (TreeViewer) viewerPane.getViewer();
            selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));

            selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
            selectionViewer.setInput(editingDomain.getResourceSet());
            selectionViewer.setSelection(
                    new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
            viewerPane.setTitle(editingDomain.getResourceSet());

            new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);

            createContextMenuFor(selectionViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_SelectionPage_label"));
        }

        // Create a page for the parent tree view.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ApplicationEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    Tree tree = new Tree(composite, SWT.MULTI);
                    TreeViewer newTreeViewer = new TreeViewer(tree);
                    return newTreeViewer;
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());

            parentViewer = (TreeViewer) viewerPane.getViewer();
            parentViewer.setAutoExpandLevel(30);
            parentViewer.setContentProvider(new ReverseAdapterFactoryContentProvider(adapterFactory));
            parentViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            createContextMenuFor(parentViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_ParentPage_label"));
        }

        // This is the page for the list viewer
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ApplicationEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new ListViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());
            listViewer = (ListViewer) viewerPane.getViewer();
            listViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
            listViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            createContextMenuFor(listViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_ListPage_label"));
        }

        // This is the page for the tree viewer
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ApplicationEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new TreeViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());
            treeViewer = (TreeViewer) viewerPane.getViewer();
            treeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
            treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory);

            createContextMenuFor(treeViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_TreePage_label"));
        }

        // This is the page for the table viewer.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ApplicationEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new TableViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());
            tableViewer = (TableViewer) viewerPane.getViewer();

            Table table = tableViewer.getTable();
            TableLayout layout = new TableLayout();
            table.setLayout(layout);
            table.setHeaderVisible(true);
            table.setLinesVisible(true);

            TableColumn objectColumn = new TableColumn(table, SWT.NONE);
            layout.addColumnData(new ColumnWeightData(3, 100, true));
            objectColumn.setText(getString("_UI_ObjectColumn_label"));
            objectColumn.setResizable(true);

            TableColumn selfColumn = new TableColumn(table, SWT.NONE);
            layout.addColumnData(new ColumnWeightData(2, 100, true));
            selfColumn.setText(getString("_UI_SelfColumn_label"));
            selfColumn.setResizable(true);

            tableViewer.setColumnProperties(new String[] { "a", "b" });
            tableViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
            tableViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            createContextMenuFor(tableViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_TablePage_label"));
        }

        // This is the page for the table tree viewer.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ApplicationEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new TreeViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());

            treeViewerWithColumns = (TreeViewer) viewerPane.getViewer();

            Tree tree = treeViewerWithColumns.getTree();
            tree.setLayoutData(new FillLayout());
            tree.setHeaderVisible(true);
            tree.setLinesVisible(true);

            TreeColumn objectColumn = new TreeColumn(tree, SWT.NONE);
            objectColumn.setText(getString("_UI_ObjectColumn_label"));
            objectColumn.setResizable(true);
            objectColumn.setWidth(250);

            TreeColumn selfColumn = new TreeColumn(tree, SWT.NONE);
            selfColumn.setText(getString("_UI_SelfColumn_label"));
            selfColumn.setResizable(true);
            selfColumn.setWidth(200);

            treeViewerWithColumns.setColumnProperties(new String[] { "a", "b" });
            treeViewerWithColumns.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
            treeViewerWithColumns.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            createContextMenuFor(treeViewerWithColumns);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_TreeWithColumnsPage_label"));
        }

        getSite().getShell().getDisplay().asyncExec(new Runnable() {
            public void run() {
                setActivePage(0);
            }
        });
    }

    // Ensures that this editor will only display the page's tab
    // area if there are more than one page
    //
    getContainer().addControlListener(new ControlAdapter() {
        boolean guard = false;

        @Override
        public void controlResized(ControlEvent event) {
            if (!guard) {
                guard = true;
                hideTabs();
                guard = false;
            }
        }
    });

    getSite().getShell().getDisplay().asyncExec(new Runnable() {
        public void run() {
            updateProblemIndication();
        }
    });
}