Search in sources :

Example 6 with IStructuredContentProvider

use of org.eclipse.jface.viewers.IStructuredContentProvider in project archi by archimatetool.

the class ConnectionsPreferencePage method createRelationsTable.

private CheckboxTableViewer createRelationsTable(Composite parent) {
    final CheckboxTableViewer viewer = CheckboxTableViewer.newCheckList(parent, SWT.BORDER);
    GridData gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.heightHint = 80;
    viewer.getTable().setLayoutData(gd);
    viewer.setLabelProvider(new LabelProvider() {

        @Override
        public String getText(Object element) {
            return ArchiLabelProvider.INSTANCE.getDefaultName((EClass) element);
        }

        @Override
        public Image getImage(Object element) {
            return ArchiLabelProvider.INSTANCE.getImage(element);
        }
    });
    viewer.setContentProvider(new IStructuredContentProvider() {

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

        @Override
        public void dispose() {
        }

        @Override
        public Object[] getElements(Object inputElement) {
            return ConnectionPreferences.RELATION_KEYMAP.keySet().toArray();
        }
    });
    viewer.setCheckStateProvider(new ICheckStateProvider() {

        @Override
        public boolean isGrayed(Object element) {
            return false;
        }

        @Override
        public boolean isChecked(Object element) {
            int value = (Integer) viewer.getInput();
            return (value & ConnectionPreferences.RELATION_KEYMAP.get(element)) != 0;
        }
    });
    return viewer;
}
Also used : EClass(org.eclipse.emf.ecore.EClass) ICheckStateProvider(org.eclipse.jface.viewers.ICheckStateProvider) CheckboxTableViewer(org.eclipse.jface.viewers.CheckboxTableViewer) GridData(org.eclipse.swt.layout.GridData) IStructuredContentProvider(org.eclipse.jface.viewers.IStructuredContentProvider) Viewer(org.eclipse.jface.viewers.Viewer) CheckboxTableViewer(org.eclipse.jface.viewers.CheckboxTableViewer) Image(org.eclipse.swt.graphics.Image) ArchiLabelProvider(com.archimatetool.editor.ui.ArchiLabelProvider) LabelProvider(org.eclipse.jface.viewers.LabelProvider)

Example 7 with IStructuredContentProvider

use of org.eclipse.jface.viewers.IStructuredContentProvider in project archi by archimatetool.

the class DiagramFiguresPreferenceTab method createTable.

private void createTable(Composite parent) {
    fTableViewer = new TableViewer(parent, SWT.BORDER | SWT.FULL_SELECTION);
    TableColumnLayout layout = (TableColumnLayout) parent.getLayout();
    TableViewerColumn column = new TableViewerColumn(fTableViewer, SWT.NONE);
    layout.setColumnData(column.getColumn(), new ColumnWeightData(100, false));
    // Fix row height
    // This is definitely needed on some Linux versions where the row height is stuck at 17 for some reason
    fTableViewer.getTable().addListener(SWT.MeasureItem, new Listener() {

        public void handleEvent(Event event) {
            event.height = itemHeight;
        }
    });
    fTableViewer.getTable().addListener(SWT.PaintItem, new Listener() {

        public void handleEvent(Event event) {
            TableItem item = (TableItem) event.item;
            int row = fTableViewer.getTable().indexOf(item);
            ImageChoice ic = fChoices.get(row);
            Image image1 = ic.getImage(0);
            int x = (itemWidth / 2) - (image1.getBounds().width / 2);
            event.gc.setAlpha(ic.chosenType == 0 ? 255 : 70);
            event.gc.drawImage(image1, event.x + x, event.y + (itemHeight - image1.getBounds().height) / 2);
            Image image2 = ic.getImage(1);
            x = itemWidth + ((itemWidth / 2) - (image2.getBounds().width / 2));
            event.gc.setAlpha(ic.chosenType == 1 ? 255 : 70);
            event.gc.drawImage(image2, event.x + x, event.y + (itemHeight - image2.getBounds().height) / 2);
        // Highlight rectangle
        // int highlight_x = ic.chosenType == 0 ? 20 : itemWidth + 20;
        // event.gc.setForeground(ColorConstants.gray);
        // event.gc.setLineWidth(2);
        // event.gc.drawRectangle(event.x + highlight_x, event.y + 2, event.x + itemWidth - 39, itemHeight - 3);
        }
    });
    fTableViewer.getTable().addListener(SWT.EraseItem, new Listener() {

        @Override
        public void handleEvent(Event event) {
            // No selection highlighting
            event.detail &= ~SWT.SELECTED;
            event.detail &= ~SWT.HOT;
        }
    });
    fTableViewer.getTable().addListener(SWT.MouseDown, new Listener() {

        @Override
        public void handleEvent(Event event) {
            TableItem item = fTableViewer.getTable().getItem(new Point(event.x, event.y));
            int row = fTableViewer.getTable().indexOf(item);
            ImageChoice ic = fChoices.get(row);
            if (event.x < itemWidth) {
                ic.chosenType = 0;
            } else {
                ic.chosenType = 1;
            }
            fTableViewer.refresh(ic);
        }
    });
    fTableViewer.setContentProvider(new IStructuredContentProvider() {

        @Override
        public void dispose() {
        }

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

        @Override
        public Object[] getElements(Object inputElement) {
            return ((List<?>) inputElement).toArray();
        }
    });
    fTableViewer.setLabelProvider(new LabelProvider() {

        @Override
        public String getText(Object element) {
            return null;
        }
    });
}
Also used : ColumnWeightData(org.eclipse.jface.viewers.ColumnWeightData) Listener(org.eclipse.swt.widgets.Listener) TableItem(org.eclipse.swt.widgets.TableItem) TableViewer(org.eclipse.jface.viewers.TableViewer) Viewer(org.eclipse.jface.viewers.Viewer) Point(org.eclipse.swt.graphics.Point) Image(org.eclipse.swt.graphics.Image) TableColumnLayout(org.eclipse.jface.layout.TableColumnLayout) IStructuredContentProvider(org.eclipse.jface.viewers.IStructuredContentProvider) Event(org.eclipse.swt.widgets.Event) TableViewer(org.eclipse.jface.viewers.TableViewer) LabelProvider(org.eclipse.jface.viewers.LabelProvider) TableViewerColumn(org.eclipse.jface.viewers.TableViewerColumn)

Example 8 with IStructuredContentProvider

use of org.eclipse.jface.viewers.IStructuredContentProvider in project archi by archimatetool.

the class GeneralPreferencePage method createContents.

@Override
protected Control createContents(Composite parent) {
    // Help
    PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, HELP_ID);
    Composite client = new Composite(parent, SWT.NULL);
    client.setLayout(new GridLayout());
    GridData gd;
    Group fileGroup = new Group(client, SWT.NULL);
    fileGroup.setText(Messages.GeneralPreferencePage_0);
    fileGroup.setLayout(new GridLayout(2, false));
    fileGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    // Automatically open views when opening a model file
    fOpenDiagramsOnLoadButton = new Button(fileGroup, SWT.CHECK);
    fOpenDiagramsOnLoadButton.setText(Messages.GeneralPreferencePage_1);
    gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.horizontalSpan = 2;
    fOpenDiagramsOnLoadButton.setLayoutData(gd);
    // Backup file on save
    fBackupOnSaveButton = new Button(fileGroup, SWT.CHECK);
    fBackupOnSaveButton.setText(Messages.GeneralPreferencePage_5);
    gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.horizontalSpan = 2;
    fBackupOnSaveButton.setLayoutData(gd);
    // Size of recently opened file list
    Label label = new Label(fileGroup, SWT.NULL);
    label.setText(Messages.GeneralPreferencePage_2);
    fMRUSizeSpinner = new Spinner(fileGroup, SWT.BORDER);
    fMRUSizeSpinner.setMinimum(3);
    fMRUSizeSpinner.setMaximum(15);
    // Appearance
    Group appearanceGroup = new Group(client, SWT.NULL);
    appearanceGroup.setText(Messages.GeneralPreferencePage_3);
    appearanceGroup.setLayout(new GridLayout(2, false));
    appearanceGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    // Themes
    label = new Label(appearanceGroup, SWT.NULL);
    label.setText(Messages.GeneralPreferencePage_4);
    fThemeComboViewer = new ComboViewer(appearanceGroup, SWT.READ_ONLY);
    gd = new GridData(GridData.FILL_HORIZONTAL);
    fThemeComboViewer.getCombo().setLayoutData(gd);
    fThemeComboViewer.setContentProvider(new IStructuredContentProvider() {

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

        public void dispose() {
        }

        public Object[] getElements(Object inputElement) {
            return (Object[]) inputElement;
        }
    });
    fThemeComboViewer.setLabelProvider(new LabelProvider() {

        @Override
        public String getText(Object element) {
            return ((ITheme) element).getLabel();
        }
    });
    fThemeComboViewer.setComparator(new ViewerComparator());
    // Show Status Line
    fShowStatusLineButton = new Button(appearanceGroup, SWT.CHECK);
    fShowStatusLineButton.setText(Messages.GeneralPreferencePage_9);
    gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.horizontalSpan = 2;
    fShowStatusLineButton.setLayoutData(gd);
    label = new Label(appearanceGroup, SWT.NULL);
    label.setText(Messages.GeneralPreferencePage_8);
    gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.horizontalSpan = 2;
    label.setLayoutData(gd);
    // Model Tree
    Group modelTreeGroup = new Group(client, SWT.NULL);
    modelTreeGroup.setText(Messages.GeneralPreferencePage_10);
    modelTreeGroup.setLayout(new GridLayout(2, false));
    modelTreeGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    fShowUnusedElementsInModelTreeButton = new Button(modelTreeGroup, SWT.CHECK);
    fShowUnusedElementsInModelTreeButton.setText(Messages.GeneralPreferencePage_11);
    gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.horizontalSpan = 2;
    fShowUnusedElementsInModelTreeButton.setLayoutData(gd);
    // Visualiser
    Group visualiserGroup = new Group(client, SWT.NULL);
    visualiserGroup.setText(Messages.GeneralPreferencePage_6);
    visualiserGroup.setLayout(new GridLayout(2, false));
    visualiserGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    fAnimateVisualiserNodesButton = new Button(visualiserGroup, SWT.CHECK);
    fAnimateVisualiserNodesButton.setText(Messages.GeneralPreferencePage_7);
    gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.horizontalSpan = 2;
    fAnimateVisualiserNodesButton.setLayoutData(gd);
    fAnimateVisualiserNodesButton.setEnabled(AnimationUtil.supportsAnimation());
    setValues();
    fThemeComboViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            ITheme theme = (ITheme) ((IStructuredSelection) fThemeComboViewer.getSelection()).getFirstElement();
            if (theme != null && theme != fThemeEngine.getActiveTheme()) {
                setTheme(theme, false);
            }
        }
    });
    return client;
}
Also used : Group(org.eclipse.swt.widgets.Group) ITheme(org.eclipse.e4.ui.css.swt.theme.ITheme) Composite(org.eclipse.swt.widgets.Composite) Spinner(org.eclipse.swt.widgets.Spinner) ViewerComparator(org.eclipse.jface.viewers.ViewerComparator) ISelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) Label(org.eclipse.swt.widgets.Label) ComboViewer(org.eclipse.jface.viewers.ComboViewer) Viewer(org.eclipse.jface.viewers.Viewer) SelectionChangedEvent(org.eclipse.jface.viewers.SelectionChangedEvent) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) GridLayout(org.eclipse.swt.layout.GridLayout) Button(org.eclipse.swt.widgets.Button) ComboViewer(org.eclipse.jface.viewers.ComboViewer) GridData(org.eclipse.swt.layout.GridData) IStructuredContentProvider(org.eclipse.jface.viewers.IStructuredContentProvider) LabelProvider(org.eclipse.jface.viewers.LabelProvider)

Example 9 with IStructuredContentProvider

use of org.eclipse.jface.viewers.IStructuredContentProvider in project archi by archimatetool.

the class ExportAsImagePage method createFormatComboViewer.

/**
 * Create tghe Format Combo Viewer
 */
private ComboViewer createFormatComboViewer(Composite parent) {
    ComboViewer viewer = new ComboViewer(new Combo(parent, SWT.READ_ONLY | SWT.BORDER));
    viewer.setContentProvider(new IStructuredContentProvider() {

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

        @Override
        public void dispose() {
        }

        @Override
        public Object[] getElements(Object inputElement) {
            return fImageProviders.toArray();
        }
    });
    viewer.setLabelProvider(new LabelProvider() {

        @Override
        public String getText(Object element) {
            return ((ImageExportProviderInfo) element).getLabel();
        }
    });
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            ImageExportProviderInfo provider = (ImageExportProviderInfo) ((IStructuredSelection) event.getSelection()).getFirstElement();
            providerChanged(provider);
        }
    });
    // $NON-NLS-1$
    viewer.setInput("");
    return viewer;
}
Also used : ComboViewer(org.eclipse.jface.viewers.ComboViewer) ISelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) IStructuredContentProvider(org.eclipse.jface.viewers.IStructuredContentProvider) Combo(org.eclipse.swt.widgets.Combo) ComboViewer(org.eclipse.jface.viewers.ComboViewer) Viewer(org.eclipse.jface.viewers.Viewer) SelectionChangedEvent(org.eclipse.jface.viewers.SelectionChangedEvent) ImageExportProviderInfo(com.archimatetool.editor.diagram.ImageExportProviderManager.ImageExportProviderInfo) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) LabelProvider(org.eclipse.jface.viewers.LabelProvider)

Example 10 with IStructuredContentProvider

use of org.eclipse.jface.viewers.IStructuredContentProvider in project archi by archimatetool.

the class ExportJasperReportsWizardPage2 method createControl.

@Override
public void createControl(Composite parent) {
    Composite container = new Composite(parent, SWT.NULL);
    container.setLayout(new GridLayout());
    setControl(container);
    PlatformUI.getWorkbench().getHelpSystem().setHelp(container, HELP_ID);
    Composite fieldContainer = new Composite(container, SWT.NULL);
    fieldContainer.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    fieldContainer.setLayout(new GridLayout(2, false));
    // Template Combo
    Label label = new Label(fieldContainer, SWT.NONE);
    label.setText(Messages.ExportJasperReportsWizardPage2_4);
    fComboTemplateViewer = new ComboViewer(new Combo(fieldContainer, SWT.READ_ONLY | SWT.BORDER));
    fComboTemplateViewer.getControl().setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    fComboTemplateViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            Template template = (Template) ((IStructuredSelection) event.getSelection()).getFirstElement();
            if (template.location == null) {
                // Custom...
                handleCustomDialog();
            } else {
                fLastSelectedTemplate = template;
            }
        }
    });
    fComboTemplateViewer.setContentProvider(new IStructuredContentProvider() {

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

        @Override
        public void dispose() {
        }

        @Override
        public Object[] getElements(Object inputElement) {
            return fTemplates.toArray();
        }
    });
    fComboTemplateViewer.setLabelProvider(new LabelProvider() {

        @Override
        public String getText(Object element) {
            return ((Template) element).name;
        }
    });
    // $NON-NLS-1$
    fComboTemplateViewer.setInput("");
    fComboTemplateViewer.setSelection(new StructuredSelection(fTemplates.get(0)));
    // Locale Combo
    label = new Label(fieldContainer, SWT.NONE);
    label.setText(Messages.ExportJasperReportsWizardPage2_6);
    fComboLocale = new ComboViewer(new Combo(fieldContainer, SWT.READ_ONLY | SWT.BORDER));
    fComboLocale.getControl().setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    fComboLocale.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            Locale locale = (Locale) ((IStructuredSelection) event.getSelection()).getFirstElement();
            fSelectedLocale = locale;
        }
    });
    fComboLocale.setContentProvider(new IStructuredContentProvider() {

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

        @Override
        public void dispose() {
        }

        @Override
        public Object[] getElements(Object inputElement) {
            Locale[] locales = Locale.getAvailableLocales();
            Comparator<Locale> localeComparator = new Comparator<Locale>() {

                public int compare(Locale locale1, Locale locale2) {
                    return locale1.toString().compareTo(locale2.toString());
                }
            };
            Arrays.sort(locales, localeComparator);
            return locales;
        }
    });
    fComboLocale.setLabelProvider(new LabelProvider() {

        @Override
        public String getText(Object element) {
            return ((Locale) element).toLanguageTag();
        }
    });
    // $NON-NLS-1$
    fComboLocale.setInput("");
    fComboLocale.setSelection(new StructuredSelection(fSelectedLocale));
}
Also used : Locale(java.util.Locale) Composite(org.eclipse.swt.widgets.Composite) ISelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) Label(org.eclipse.swt.widgets.Label) StructuredSelection(org.eclipse.jface.viewers.StructuredSelection) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) Combo(org.eclipse.swt.widgets.Combo) SelectionChangedEvent(org.eclipse.jface.viewers.SelectionChangedEvent) ComboViewer(org.eclipse.jface.viewers.ComboViewer) Viewer(org.eclipse.jface.viewers.Viewer) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) Comparator(java.util.Comparator) GridLayout(org.eclipse.swt.layout.GridLayout) ComboViewer(org.eclipse.jface.viewers.ComboViewer) GridData(org.eclipse.swt.layout.GridData) IStructuredContentProvider(org.eclipse.jface.viewers.IStructuredContentProvider) LabelProvider(org.eclipse.jface.viewers.LabelProvider)

Aggregations

IStructuredContentProvider (org.eclipse.jface.viewers.IStructuredContentProvider)89 Viewer (org.eclipse.jface.viewers.Viewer)69 Composite (org.eclipse.swt.widgets.Composite)52 GridData (org.eclipse.swt.layout.GridData)49 ISelectionChangedListener (org.eclipse.jface.viewers.ISelectionChangedListener)40 SelectionChangedEvent (org.eclipse.jface.viewers.SelectionChangedEvent)39 TableViewer (org.eclipse.jface.viewers.TableViewer)37 GridLayout (org.eclipse.swt.layout.GridLayout)37 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)36 Label (org.eclipse.swt.widgets.Label)29 LabelProvider (org.eclipse.jface.viewers.LabelProvider)26 Button (org.eclipse.swt.widgets.Button)26 SelectionEvent (org.eclipse.swt.events.SelectionEvent)25 Image (org.eclipse.swt.graphics.Image)25 ArrayList (java.util.ArrayList)23 Table (org.eclipse.swt.widgets.Table)23 ComboViewer (org.eclipse.jface.viewers.ComboViewer)19 ILabelProviderListener (org.eclipse.jface.viewers.ILabelProviderListener)18 StructuredSelection (org.eclipse.jface.viewers.StructuredSelection)17 Text (org.eclipse.swt.widgets.Text)17