List of usage examples for org.eclipse.jface.viewers ViewerCell setImage
public void setImage(Image image)
From source file:org.polymap.p4.style.FeatureStyleLabelProvider.java
License:Open Source License
@Override public void update(ViewerCell cell) { Object elm = cell.getElement(); if (elm instanceof FeatureStyle) { cell.setText("Feature style"); cell.setImage(P4Plugin.images().svgImage("buffer.svg", P4Plugin.TOOLBAR_ICON_CONFIG)); return;/*from w w w . j a v a 2 s.c o m*/ } // default title String title = ((Style) elm).title.get(); // title = sanitize( title ); // title = tk.markdown( title, cell.getItem() ); // Style images if (elm instanceof StyleGroup) { cell.setText(title != null ? title : "Group"); cell.setImage(P4Plugin.images().svgImage("buffer.svg", P4Plugin.TOOLBAR_ICON_CONFIG)); } else if (elm instanceof PolygonStyle) { cell.setText(title != null ? title : "Polygon"); cell.setImage(P4Plugin.images().svgImage("vector-polygon.svg", P4Plugin.TOOLBAR_ICON_CONFIG)); } else if (elm instanceof PointStyle) { cell.setText(title != null ? title : "Point/Mark"); cell.setImage(P4Plugin.images().svgImage("map-marker.svg", P4Plugin.TOOLBAR_ICON_CONFIG)); } else if (elm instanceof TextStyle) { cell.setText(title != null ? title : "Text"); // XXX we need a text icon here cell.setImage(P4Plugin.images().svgImage("format-title.svg", P4Plugin.TOOLBAR_ICON_CONFIG)); } else if (cell.getElement() instanceof LineStyle) { cell.setText(title != null ? title : "Line"); cell.setImage(P4Plugin.images().svgImage("vector-polyline.svg", P4Plugin.TOOLBAR_ICON_CONFIG)); } else if (cell.getElement() instanceof RasterGrayStyle) { cell.setText(title != null ? title : "Grayscale"); //cell.setImage( P4Plugin.images().svgImage( "vector-polyline.svg", P4Plugin.TOOLBAR_ICON_CONFIG ) ); } else if (cell.getElement() instanceof RasterRGBStyle) { cell.setText(title != null ? title : "RGB"); //cell.setImage( P4Plugin.images().svgImage( "vector-polyline.svg", P4Plugin.TOOLBAR_ICON_CONFIG ) ); } else if (cell.getElement() instanceof RasterColorMapStyle) { cell.setText(title != null ? title : "Color map"); //cell.setImage( P4Plugin.images().svgImage( "vector-polyline.svg", P4Plugin.TOOLBAR_ICON_CONFIG ) ); } }
From source file:org.polymap.rhei.batik.toolkit.md.CheckboxActionProvider.java
License:Open Source License
@Override public void update(ViewerCell cell) { if (!selected.containsKey(cell.getElement())) { selected.put(cell.getElement(), initSelection(null, cell.getElement())); }/*from w w w.ja v a2 s.c o m*/ cell.setImage(selected.get(cell.getElement()) ? selectedImage : unselectedImage); }
From source file:org.polymap.rhei.batik.toolkit.md.OpenPanelActionProvider.java
License:Open Source License
@Override public void update(ViewerCell cell) { cell.setImage(BatikPlugin.images().svgImage("chevron-right.svg", SvgImageRegistryHelper.NORMAL24)); }
From source file:org.polymap.rhei.batik.toolkit.md.RadioboxActionProvider.java
License:Open Source License
@Override public void update(ViewerCell cell) { cell.setImage(isSelected(cell.getElement()) ? selectedImage.get() : unselectedImage.get()); }
From source file:org.polymap.rhei.batik.toolkit.md.StaticIconLabelProvider.java
License:Open Source License
@Override public void update(ViewerCell cell) { cell.setImage(icon); }
From source file:org.projectusus.ui.internal.proportions.cockpit.CockpitLP.java
License:Open Source License
@Override public void update(ViewerCell cell) { Object element = cell.getElement(); int columnIndex = cell.getColumnIndex(); cell.setImage(getColumnImage(element, columnIndex)); cell.setText(getColumnText(element, columnIndex)); }
From source file:org.rssowl.ui.internal.dialogs.CustomizeToolbarDialog.java
License:Open Source License
@Override protected Control createDialogArea(Composite parent) { Composite container = createContainer(parent); Label infoLabel = new Label(container, SWT.None); infoLabel.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false, 2, 1)); infoLabel.setText(Messages.CustomizeToolbarDialog_DIALOG_INFO); /* Table showing Tool Items */ Composite tableContainer = new Composite(container, SWT.NONE); tableContainer.setLayout(LayoutUtils.createGridLayout(1, 0, 0)); tableContainer.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); CTable cTable = new CTable(tableContainer, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION); fItemViewer = new TableViewer(cTable.getControl()); fItemViewer.getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); fItemViewer.getTable().setHeaderVisible(false); ((GridData) fItemViewer.getTable().getLayoutData()).heightHint = fItemViewer.getTable().getItemHeight() * 24;//from w w w.j a v a2s. com fItemViewer.getTable().setFocus(); fItemViewer.getTable().setData(ApplicationWorkbenchWindowAdvisor.FOCUSLESS_SCROLL_HOOK, new Object()); /* Custom Owner Drawn Category */ if (!OwlUI.isHighContrast()) { fItemViewer.getControl().addListener(SWT.EraseItem, new Listener() { public void handleEvent(Event event) { ToolBarItem item = (ToolBarItem) event.item.getData(); if (item.item == CoolBarItem.SEPARATOR) { Scrollable scrollable = (Scrollable) event.widget; GC gc = event.gc; Rectangle area = scrollable.getClientArea(); Rectangle rect = event.getBounds(); /* Paint the selection beyond the end of last column */ OwlUI.codExpandRegion(event, scrollable, gc, area); /* Draw Gradient Rectangle */ Color oldForeground = gc.getForeground(); Color oldBackground = gc.getBackground(); /* Gradient */ gc.setBackground(fSeparatorBg); gc.fillRectangle(0, rect.y, area.width, rect.height); /* Top / Bottom Line */ gc.setForeground(fSeparatorBorderFg); gc.drawLine(0, rect.y + rect.height - 1, area.width, rect.y + rect.height - 1); gc.drawLine(0, rect.y, area.width, rect.y); gc.setForeground(oldForeground); gc.setBackground(oldBackground); /* Mark as Background being handled */ event.detail &= ~SWT.BACKGROUND; } } }); } TableColumn nameCol = new TableColumn(fItemViewer.getTable(), SWT.NONE); CColumnLayoutData data = new CColumnLayoutData(Size.FILL, 100); cTable.manageColumn(nameCol, data, Messages.CustomizeToolbarDialog_VISIBLE_ITEMS, null, null, false, false); /* ContentProvider returns all selected Items */ fItemViewer.setContentProvider(new IStructuredContentProvider() { public Object[] getElements(Object inputElement) { int[] itemIds = fPreferences.getIntegers(DefaultPreferences.TOOLBAR_ITEMS); ToolBarItem[] items = new ToolBarItem[itemIds.length]; for (int i = 0; i < itemIds.length; i++) { items[i] = new ToolBarItem(CoolBarItem.values()[itemIds[i]]); } return items; } public void dispose() { } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } }); /* Label Provider */ fItemViewer.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { CoolBarItem item = ((ToolBarItem) cell.getElement()).item; cell.setText(item.getName()); if (item.getImg() != null) cell.setImage(fResources.createImage(item.getImg())); if (!OwlUI.isHighContrast() && item == CoolBarItem.SPACER) cell.setForeground(getShell().getDisplay().getSystemColor(SWT.COLOR_DARK_GRAY)); } }); /* Selection */ fItemViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { updateButtonEnablement(); } }); /* Support Keyboard Remove */ fItemViewer.getTable().addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { if (e.keyCode == SWT.DEL || (Application.IS_MAC && e.keyCode == SWT.BS)) onRemove(); } }); /* Drag Support */ fItemViewer.addDragSupport(DND.DROP_MOVE, new Transfer[] { LocalSelectionTransfer.getTransfer() }, new DragSourceAdapter() { @Override public void dragStart(final DragSourceEvent event) { SafeRunnable.run(new LoggingSafeRunnable() { public void run() throws Exception { IStructuredSelection selection = (IStructuredSelection) fItemViewer.getSelection(); event.doit = (selection.size() < fItemViewer.getTable().getItemCount()); if (event.doit) { LocalSelectionTransfer.getTransfer().setSelection(selection); LocalSelectionTransfer.getTransfer() .setSelectionSetTime(event.time & 0xFFFFFFFFL); } ; } }); } @Override public void dragSetData(final DragSourceEvent event) { SafeRunnable.run(new LoggingSafeRunnable() { public void run() throws Exception { if (LocalSelectionTransfer.getTransfer().isSupportedType(event.dataType)) event.data = LocalSelectionTransfer.getTransfer().getSelection(); } }); } @Override public void dragFinished(DragSourceEvent event) { SafeRunnable.run(new LoggingSafeRunnable() { public void run() throws Exception { LocalSelectionTransfer.getTransfer().setSelection(null); LocalSelectionTransfer.getTransfer().setSelectionSetTime(0); } }); } }); /* Drop Support */ ViewerDropAdapter dropSupport = new ViewerDropAdapter(fItemViewer) { @Override public boolean validateDrop(Object target, int operation, TransferData transferType) { return true; } @Override public boolean performDrop(Object data) { ToolBarItem target = (ToolBarItem) getCurrentTarget(); if (target != null) { onMove((StructuredSelection) data, target, getCurrentLocation()); return true; } return false; } }; dropSupport.setFeedbackEnabled(true); dropSupport.setScrollEnabled(true); dropSupport.setSelectionFeedbackEnabled(true); fItemViewer.addDropSupport(DND.DROP_MOVE, new Transfer[] { LocalSelectionTransfer.getTransfer() }, dropSupport); /* Set Dummy Input */ fItemViewer.setInput(this); /* Container for the Buttons to Manage Providers */ Composite buttonContainer = new Composite(container, SWT.None); buttonContainer.setLayout(LayoutUtils.createGridLayout(1, 0, 0)); buttonContainer.setLayoutData(new GridData(SWT.BEGINNING, SWT.FILL, false, false)); /* Add */ fAddMenu = new Menu(getShell(), SWT.POP_UP); fAddMenu.addMenuListener(new MenuListener() { public void menuShown(MenuEvent e) { MenuItem[] items = fAddMenu.getItems(); for (MenuItem item : items) { item.dispose(); } /* Fill not yet visible Items */ int[] toolbarItemIds = fPreferences.getIntegers(DefaultPreferences.TOOLBAR_ITEMS); List<CoolBarItem> visibleItems = new ArrayList<CoolBarItem>(); for (int toolbarItemId : toolbarItemIds) { visibleItems.add(CoolBarItem.values()[toolbarItemId]); } CoolBarItem[] toolItems = getSortedItems(); int currentGroup = -1; for (final CoolBarItem toolItem : toolItems) { if (!visibleItems.contains(toolItem) || toolItem == CoolBarItem.SEPARATOR || toolItem == CoolBarItem.SPACER) { /* Divide Groups by Separators */ if (currentGroup >= 0 && currentGroup != toolItem.getGroup()) new MenuItem(fAddMenu, SWT.SEPARATOR); /* Create Menu Item */ MenuItem item = new MenuItem(fAddMenu, SWT.PUSH); if (StringUtils.isSet(toolItem.getTooltip())) item.setText(toolItem.getTooltip()); else item.setText(toolItem.getName()); if (toolItem.getImg() != null) item.setImage(fResources.createImage(toolItem.getImg())); item.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { /* Add Item */ onAdd(toolItem); /* Re-Open Menu for More */ JobRunner.runInUIThread(fAddMenu, new Runnable() { public void run() { fAddMenu.setVisible(true); }; }); } }); currentGroup = toolItem.getGroup(); } } } public void menuHidden(MenuEvent e) { } }); fAddButton = new Button(buttonContainer, SWT.DOWN); fAddButton.setText(Messages.CustomizeToolbarDialog_ADD); applyDialogFont(fAddButton); setButtonLayoutData(fAddButton); fAddButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { Rectangle rect = fAddButton.getBounds(); Point pt = new Point(rect.x, rect.y + rect.height); pt = fAddButton.toDisplay(pt); fAddMenu.setLocation(pt.x, pt.y); fAddMenu.setVisible(true); } }); /* Remove */ fRemoveButton = new Button(buttonContainer, SWT.PUSH); fRemoveButton.setText(Messages.CustomizeToolbarDialog_REMOVE); fRemoveButton.setEnabled(false); applyDialogFont(fRemoveButton); setButtonLayoutData(fRemoveButton); fRemoveButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { onRemove(); } }); /* Move Provider Up */ fMoveUpButton = new Button(buttonContainer, SWT.PUSH); fMoveUpButton.setText(Messages.CustomizeToolbarDialog_MOVE_UP); fMoveUpButton.setEnabled(false); applyDialogFont(fMoveUpButton); setButtonLayoutData(fMoveUpButton); ((GridData) fMoveUpButton.getLayoutData()).verticalIndent = 10; fMoveUpButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { onMove(true); } }); /* Move Provider Down */ fMoveDownButton = new Button(buttonContainer, SWT.PUSH); fMoveDownButton.setText(Messages.CustomizeToolbarDialog_MOVE_DOWN); fMoveDownButton.setEnabled(false); applyDialogFont(fMoveDownButton); setButtonLayoutData(fMoveDownButton); fMoveDownButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { onMove(false); } }); /* Restore Defaults */ fRestoreDefaults = new Button(buttonContainer, SWT.PUSH); fRestoreDefaults.setText(Messages.CustomizeToolbarDialog_RESTORE_DEFAULTS); applyDialogFont(fRestoreDefaults); setButtonLayoutData(fRestoreDefaults); ((GridData) fRestoreDefaults.getLayoutData()).grabExcessVerticalSpace = true; ((GridData) fRestoreDefaults.getLayoutData()).verticalAlignment = SWT.END; fRestoreDefaults.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { onRestoreDefaults(); } }); /* Toolbar Mode */ Composite modeContainer = new Composite(container, SWT.None); modeContainer.setLayout(LayoutUtils.createGridLayout(2, 5, 0)); modeContainer.setLayoutData(new GridData(SWT.BEGINNING, SWT.FILL, false, false, 2, 1)); Label showLabel = new Label(modeContainer, SWT.NONE); showLabel.setText(Messages.CustomizeToolbarDialog_SHOW); fModeViewer = new ComboViewer(modeContainer, SWT.READ_ONLY | SWT.BORDER); fModeViewer.setContentProvider(new ArrayContentProvider()); fModeViewer.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { if (element instanceof CoolBarMode) { switch ((CoolBarMode) element) { case IMAGE: return Messages.CustomizeToolbarDialog_ICONS; case TEXT: return Messages.CustomizeToolbarDialog_TEXT; case IMAGE_TEXT_VERTICAL: return Messages.CustomizeToolbarDialog_ICONS_AND_TEXT; case IMAGE_TEXT_HORIZONTAL: return Messages.CustomizeToolbarDialog_ICONS_AND_TEXT_SMALL; } } return super.getText(element); } }); fModeViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { Object selection = ((IStructuredSelection) event.getSelection()).getFirstElement(); CoolBarMode mode = (CoolBarMode) selection; fPreferences.putInteger(DefaultPreferences.TOOLBAR_MODE, mode.ordinal()); } }); fModeViewer.setInput(CoolBarAdvisor.CoolBarMode.values()); fModeViewer.setSelection(new StructuredSelection( CoolBarMode.values()[fPreferences.getInteger(DefaultPreferences.TOOLBAR_MODE)])); /* Separator */ new Label(parent, SWT.SEPARATOR | SWT.HORIZONTAL) .setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false)); applyDialogFont(container); return container; }
From source file:org.rssowl.ui.internal.dialogs.NewsFiltersListDialog.java
License:Open Source License
@Override protected Control createDialogArea(Composite parent) { /* Separator */ new Label(parent, SWT.SEPARATOR | SWT.HORIZONTAL) .setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false)); /* Title *///from w w w. j a v a 2 s .c om setTitle(Messages.NewsFiltersListDialog_NEWS_FILTERS); /* Title Image */ setTitleImage(OwlUI.getImage(fResources, "icons/wizban/filter_wiz.png")); //$NON-NLS-1$ /* Composite to hold all components */ Composite composite = new Composite(parent, SWT.NONE); composite.setLayout(LayoutUtils.createGridLayout(2, 5, 10)); composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); Composite tableContainer = new Composite(composite, SWT.NONE); tableContainer.setLayout(LayoutUtils.createGridLayout(1, 0, 0)); tableContainer.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); CTable cTable = new CTable(tableContainer, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION); fViewer = new CheckboxTableViewer(cTable.getControl()); fViewer.getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); fViewer.getTable().setHeaderVisible(true); ((GridData) fViewer.getTable().getLayoutData()).heightHint = fViewer.getTable().getItemHeight() * 15; fViewer.getTable().setData(ApplicationWorkbenchWindowAdvisor.FOCUSLESS_SCROLL_HOOK, new Object()); TableColumn nameCol = new TableColumn(fViewer.getTable(), SWT.NONE); CColumnLayoutData data = new CColumnLayoutData(Size.FILL, 100); cTable.manageColumn(nameCol, data, Messages.NewsFiltersListDialog_NAME, null, null, false, false); /* ContentProvider returns all filters */ fViewer.setContentProvider(new IStructuredContentProvider() { public Object[] getElements(Object inputElement) { return fSearchFilterDao.loadAll().toArray(); } public void dispose() { } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } }); /* Label Provider */ fViewer.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { ISearchFilter filter = (ISearchFilter) cell.getElement(); Display display = fViewer.getControl().getDisplay(); if (filter.isEnabled()) cell.setText(filter.getName()); else cell.setText(NLS.bind(Messages.NewsFiltersListDialog_FILTER_DISABLED, filter.getName())); cell.setImage(fFilterIcon); if (!OwlUI.isHighContrast()) cell.setForeground(filter.isEnabled() ? display.getSystemColor(SWT.COLOR_BLACK) : display.getSystemColor(SWT.COLOR_DARK_GRAY)); } }); /* Sort */ fViewer.setComparator(new ViewerComparator() { @Override public int compare(Viewer viewer, Object e1, Object e2) { ISearchFilter filter1 = (ISearchFilter) e1; ISearchFilter filter2 = (ISearchFilter) e2; return filter1.getOrder() < filter2.getOrder() ? -1 : 1; } }); /* Selection */ fViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); fEditButton.setEnabled(!selection.isEmpty()); fDeleteButton.setEnabled(!selection.isEmpty()); fApplySelectedFilter.setEnabled(!selection.isEmpty() && selection.size() == 1); updateMoveEnablement(); } }); /* Doubleclick */ fViewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { onEdit(); } }); /* Set input (ignored by ContentProvider anyways) */ fViewer.setInput(this); updateCheckedState(); /* Listen on Check State Changes */ fViewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { ISearchFilter filter = (ISearchFilter) event.getElement(); filter.setEnabled(event.getChecked()); fSearchFilterDao.save(filter); fViewer.update(filter, null); updateTitle(); } }); /* Container for the Buttons to Manage Filters */ Composite buttonContainer = new Composite(composite, SWT.None); buttonContainer.setLayout(LayoutUtils.createGridLayout(1, 0, 0)); buttonContainer.setLayoutData(new GridData(SWT.BEGINNING, SWT.FILL, false, false)); /* Adds a new Filter */ Button addButton = new Button(buttonContainer, SWT.PUSH); addButton.setText(Messages.NewsFiltersListDialog_NEW); addButton.setFocus(); applyDialogFont(addButton); setButtonLayoutData(addButton); addButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { onAdd(); } }); /* Edits a selected Filter */ fEditButton = new Button(buttonContainer, SWT.PUSH); fEditButton.setText(Messages.NewsFiltersListDialog_EDIT); applyDialogFont(fEditButton); setButtonLayoutData(fEditButton); fEditButton.setEnabled(false); fEditButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { onEdit(); } }); /* Deletes the selected Filter */ fDeleteButton = new Button(buttonContainer, SWT.PUSH); fDeleteButton.setText(Messages.NewsFiltersListDialog_DELETE); applyDialogFont(fDeleteButton); setButtonLayoutData(fDeleteButton); fDeleteButton.setEnabled(false); fDeleteButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { onDelete(); } }); /* Move Filter Up */ fMoveUpButton = new Button(buttonContainer, SWT.PUSH); fMoveUpButton.setText(Messages.NewsFiltersListDialog_MOVE_UP); fMoveUpButton.setEnabled(false); applyDialogFont(fMoveUpButton); setButtonLayoutData(fMoveUpButton); ((GridData) fMoveUpButton.getLayoutData()).verticalIndent = 10; fMoveUpButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { onMove(true); } }); /* Move Filter Down */ fMoveDownButton = new Button(buttonContainer, SWT.PUSH); fMoveDownButton.setText(Messages.NewsFiltersListDialog_MOVE_DOWN); fMoveDownButton.setEnabled(false); applyDialogFont(fMoveDownButton); setButtonLayoutData(fMoveDownButton); fMoveDownButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { onMove(false); } }); Composite buttonBar = new Composite(composite, SWT.NONE); buttonBar.setLayout(LayoutUtils.createGridLayout(2, 0, 0)); buttonBar.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false, 2, 1)); /* Button to apply filter on all News */ fApplySelectedFilter = new Button(buttonBar, SWT.PUSH); fApplySelectedFilter.setText(Messages.NewsFiltersListDialog_RUN_SELECTED_FILTER); fApplySelectedFilter.setEnabled(false); applyDialogFont(fApplySelectedFilter); setButtonLayoutData(fApplySelectedFilter); ((GridData) fApplySelectedFilter.getLayoutData()).grabExcessHorizontalSpace = false; ((GridData) fApplySelectedFilter.getLayoutData()).horizontalAlignment = SWT.BEGINNING; fApplySelectedFilter.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { onApplySelectedFilter(); } }); /* Close */ Button closeButton = new Button(buttonBar, SWT.PUSH); closeButton.setText(Messages.NewsFiltersListDialog_CLOSE); applyDialogFont(closeButton); setButtonLayoutData(closeButton); ((GridData) closeButton.getLayoutData()).grabExcessHorizontalSpace = true; ((GridData) closeButton.getLayoutData()).horizontalAlignment = SWT.END; closeButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { close(); } }); /* Update Title Message */ updateTitle(); /* Set Selection if provided */ if (fSelectedFilter != null) fViewer.setSelection(new StructuredSelection(fSelectedFilter), true); applyDialogFont(composite); return composite; }
From source file:org.rssowl.ui.internal.dialogs.preferences.SharingPreferencesPage.java
License:Open Source License
@Override protected Control createContents(Composite parent) { Composite container = createContainer(parent); Label infoText = new Label(container, SWT.WRAP); infoText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 2, 1)); ((GridData) infoText.getLayoutData()).widthHint = 200; infoText.setText(Messages.SharingPreferencesPage_SELECT_COMMUNITY); Composite tableContainer = new Composite(container, SWT.NONE); tableContainer.setLayout(LayoutUtils.createGridLayout(1, 0, 0)); tableContainer.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); CTable cTable = new CTable(tableContainer, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION); fViewer = new CheckboxTableViewer(cTable.getControl()); fViewer.getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); fViewer.getTable().setHeaderVisible(true); ((GridData) fViewer.getTable().getLayoutData()).heightHint = fViewer.getTable().getItemHeight() * 15; fViewer.getTable().setFocus();// w w w .j av a 2 s . co m fViewer.getTable().setData(ApplicationWorkbenchWindowAdvisor.FOCUSLESS_SCROLL_HOOK, new Object()); TableColumn nameCol = new TableColumn(fViewer.getTable(), SWT.NONE); CColumnLayoutData data = new CColumnLayoutData(Size.FILL, 100); cTable.manageColumn(nameCol, data, Messages.SharingPreferencesPage_AVAILABLE_COMMUNITIES, null, null, false, false); /* ContentProvider returns all providers */ fViewer.setContentProvider(new IStructuredContentProvider() { public Object[] getElements(Object inputElement) { return Controller.getDefault().getShareProviders().toArray(); } public void dispose() { } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } }); /* Label Provider */ fViewer.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { ShareProvider provider = (ShareProvider) cell.getElement(); cell.setText(provider.getName()); if (StringUtils.isSet(provider.getIconPath())) cell.setImage(fResources .createImage(OwlUI.getImageDescriptor(provider.getPluginId(), provider.getIconPath()))); } }); /* Selection */ fViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { updateMoveEnablement(); } }); /* Drag Support */ fViewer.addDragSupport(DND.DROP_MOVE, new Transfer[] { LocalSelectionTransfer.getTransfer() }, new DragSourceAdapter() { @Override public void dragStart(final DragSourceEvent event) { SafeRunnable.run(new LoggingSafeRunnable() { public void run() throws Exception { IStructuredSelection selection = (IStructuredSelection) fViewer.getSelection(); event.doit = (selection.size() < fViewer.getTable().getItemCount()); if (event.doit) { LocalSelectionTransfer.getTransfer().setSelection(selection); LocalSelectionTransfer.getTransfer() .setSelectionSetTime(event.time & 0xFFFFFFFFL); } ; } }); } @Override public void dragSetData(final DragSourceEvent event) { SafeRunnable.run(new LoggingSafeRunnable() { public void run() throws Exception { if (LocalSelectionTransfer.getTransfer().isSupportedType(event.dataType)) event.data = LocalSelectionTransfer.getTransfer().getSelection(); } }); } @Override public void dragFinished(DragSourceEvent event) { SafeRunnable.run(new LoggingSafeRunnable() { public void run() throws Exception { LocalSelectionTransfer.getTransfer().setSelection(null); LocalSelectionTransfer.getTransfer().setSelectionSetTime(0); } }); } }); /* Drop Support */ ViewerDropAdapter dropSupport = new ViewerDropAdapter(fViewer) { @Override public boolean validateDrop(Object target, int operation, TransferData transferType) { return true; } @Override public boolean performDrop(Object data) { ShareProvider target = (ShareProvider) getCurrentTarget(); if (target != null) { onMove((StructuredSelection) data, target, getCurrentLocation()); return true; } return false; } }; dropSupport.setFeedbackEnabled(true); dropSupport.setScrollEnabled(true); dropSupport.setSelectionFeedbackEnabled(true); fViewer.addDropSupport(DND.DROP_MOVE, new Transfer[] { LocalSelectionTransfer.getTransfer() }, dropSupport); /* Set input (ignored by ContentProvider anyways) */ fViewer.setInput(this); updateCheckedState(); /* Ensure that the first checked element is visible */ TableItem[] items = fViewer.getTable().getItems(); for (TableItem item : items) { if (item.getChecked()) { fViewer.getTable().showItem(item); break; } } /* Listen on Check State Changes */ fViewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { ShareProvider provider = (ShareProvider) event.getElement(); provider.setEnabled(event.getChecked()); save(); fViewer.update(provider, null); } }); /* Container for the Buttons to Manage Providers */ Composite buttonContainer = new Composite(container, SWT.None); buttonContainer.setLayout(LayoutUtils.createGridLayout(1, 0, 0)); buttonContainer.setLayoutData(new GridData(SWT.BEGINNING, SWT.FILL, false, false)); /* Move Provider Up */ fMoveUpButton = new Button(buttonContainer, SWT.PUSH); fMoveUpButton.setText(Messages.SharingPreferencesPage_MOVE_UP); fMoveUpButton.setEnabled(false); Dialog.applyDialogFont(fMoveUpButton); setButtonLayoutData(fMoveUpButton); fMoveUpButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { onMove(true); } }); /* Move Provider Down */ fMoveDownButton = new Button(buttonContainer, SWT.PUSH); fMoveDownButton.setText(Messages.SharingPreferencesPage_MOVE_DOWN); fMoveDownButton.setEnabled(false); Dialog.applyDialogFont(fMoveDownButton); setButtonLayoutData(fMoveDownButton); fMoveDownButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { onMove(false); } }); /* Select All */ Button selectAllButton = new Button(buttonContainer, SWT.PUSH); selectAllButton.setText(Messages.SharingPreferencesPage_SELECT_ALL); Dialog.applyDialogFont(selectAllButton); setButtonLayoutData(selectAllButton); ((GridData) selectAllButton.getLayoutData()).verticalIndent = 10; selectAllButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { onSelectAll(false); } }); /* De-Select All */ Button deSelectAllButton = new Button(buttonContainer, SWT.PUSH); deSelectAllButton.setText(Messages.SharingPreferencesPage_DESELECT_ALL); Dialog.applyDialogFont(deSelectAllButton); setButtonLayoutData(deSelectAllButton); deSelectAllButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { onSelectAll(true); } }); /* Info Container */ Composite infoContainer = new Composite(container, SWT.None); infoContainer.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 2, 1)); infoContainer.setLayout(LayoutUtils.createGridLayout(2, 0, 0)); Label infoImg = new Label(infoContainer, SWT.NONE); infoImg.setImage(OwlUI.getImage(fResources, "icons/obj16/info.gif")); //$NON-NLS-1$ infoImg.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false)); Label infoTextLabel = new Label(infoContainer, SWT.WRAP); infoTextLabel.setText(Messages.SharingPreferencesPage_COMMUNITY_INFO); infoTextLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); applyDialogFont(container); /* Enable Apply Button on Selection Changes */ OwlUI.runOnSelection(new Runnable() { public void run() { updateApplyEnablement(true); } }, container); return container; }
From source file:org.rssowl.ui.internal.editors.feed.NewsTableLabelProvider.java
License:Open Source License
@Override public void update(ViewerCell cell) { NewsColumn column = fColumnModel.getColumn(cell.getColumnIndex()); /* Text */// w w w .j a v a 2s . c om cell.setText(getColumnText(cell.getElement(), column, cell.getColumnIndex())); /* Image */ cell.setImage(getColumnImage(cell.getElement(), column, cell.getColumnIndex())); /* Font */ cell.setFont(getFont(cell.getElement(), cell.getColumnIndex())); /* Foreground */ Color foreground = getForeground(cell.getElement(), cell.getColumnIndex()); /* This is required to invalidate + redraw the entire TableItem! */ if (!OwlUI.isHighContrast()) { Item item = (Item) cell.getItem(); if (item instanceof TreeItem) ((TreeItem) cell.getItem()).setForeground(foreground); else if (item instanceof TableItem) ((TableItem) cell.getItem()).setForeground(foreground); } /* Background */ if (!OwlUI.isHighContrast()) cell.setBackground(getBackground(cell.getElement(), cell.getColumnIndex())); }