/**
* @author k.luther
- * @date 15.11.2017
- *
+ * @date 15.11.2017d
*/
public abstract class SearchDialog<T extends ICdmBase> extends Dialog{// implements IConversationEnabled{
- private TableViewer list;
- private Text searchField;
- private String title;
- protected Button newButton1;
+ private TableViewer list;
+ private Text searchField;
+ private String title;
+ protected Button newButton1;
+ protected Button newButton2;
+ protected Button filterButton;
+ protected Button btnCheckButton;
+ private StructuredSelection currentSelection;
- protected Button newButton2;
- protected Button filterButton;
- protected Button btnCheckButton;
- private StructuredSelection currentSelection;
+ // message to show user
+ private String message = ""; //$NON-NLS-1$
- // message to show user
- private String message = ""; //$NON-NLS-1$
+ protected final ContentProvider contentProvider;
+ ItemsListLabelProvider itemsListLabelProvider;
- protected final ContentProvider contentProvider;
- ItemsListLabelProvider itemsListLabelProvider;
+ private final RefreshCacheJob refreshCacheJob;
- private final RefreshCacheJob refreshCacheJob;
+ protected Object preferenceID;
- protected Object preferenceID;
+ protected final int new_id = 4;
+ protected final int new_id2 = 5;
+ protected final int space_id = 6;
+ // Need to keep our own list of listeners
+ private final ListenerList listeners = new ListenerList<>();
- protected final int new_id = 4;
- protected final int new_id2 = 5;
- protected final int space_id = 6;
- // Need to keep our own list of listeners
- private final ListenerList listeners = new ListenerList();
+ private static final String EMPTY_STRING = ""; //$NON-NLS-1$
+ private GridData gd_1;
+ protected boolean useIdentifier;
- private static final String EMPTY_STRING = ""; //$NON-NLS-1$
- private GridData gd_1;
- protected boolean useIdentifier;
+ public SearchDialog(Shell parent, String title) {
+ super(parent);
+ this.title = title;
+ contentProvider = new ContentProvider();
+ refreshCacheJob = new RefreshCacheJob();
- public SearchDialog(Shell parent, String title) {
- super(parent);
- this.title = title;
- contentProvider = new ContentProvider();
- refreshCacheJob = new RefreshCacheJob();
+ }
- }
+ @Override
+ public void create() {
+ super.create();
+ refresh();
+ }
- @Override
- public void create() {
- // TODO Auto-generated method stub
- super.create();
- refresh();
- }
+ @Override
+ protected void configureShell(Shell shell) {
+ super.configureShell(shell);
+ shell.setText(title);
+ }
- @Override
- protected void configureShell(Shell shell) {
- super.configureShell(shell);
- shell.setText(title);
- }
+ @Override
+ protected Control createDialogArea(Composite parent) {
+ Composite container = (Composite) super.createDialogArea(parent);
- @Override
- protected Control createDialogArea(Composite parent) {
- Composite container = (Composite) super.createDialogArea(parent);
-
- GridData gd = new GridData(GridData.FILL_BOTH);
- container.setLayoutData(gd);
-
- GridLayout layout = new GridLayout();
- layout.numColumns = 1;
- layout.marginWidth = 0;
- layout.marginHeight = 0;
- container.setLayout(layout);
-
- final Label headerLabel = createHeader(container);
-
- Composite searchAndFilter = new Composite(container, container.getStyle());
-
- searchAndFilter.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL));
- GridLayout searchAndFilterLayout = new GridLayout();
- searchAndFilterLayout.numColumns = 2;
- searchAndFilter.setLayout(searchAndFilterLayout);
- searchField = new Text(searchAndFilter, SWT.SINGLE | SWT.BORDER | SWT.SEARCH | SWT.ICON_CANCEL);
- searchField.getAccessible().addAccessibleListener(new AccessibleAdapter() {
- @Override
- public void getName(AccessibleEvent e) {
- e.result = LegacyActionTools.removeMnemonics(headerLabel
- .getText());
- }
- });
- searchField.addModifyListener(new ModifyListener() {
- @Override
- public void modifyText(ModifyEvent e) {
- search();
-// fillContentProvider(null);
+ GridData gd = new GridData(GridData.FILL_BOTH);
+ container.setLayoutData(gd);
- }
- });
- gd_1 = new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL);
- gd_1.horizontalIndent = 7;
+ GridLayout layout = new GridLayout();
+ layout.numColumns = 1;
+ layout.marginWidth = 0;
+ layout.marginHeight = 0;
+ container.setLayout(layout);
- searchField.setLayoutData(gd_1);
+ final Label headerLabel = createHeader(container);
- createFilterButton(searchAndFilter);
+ Composite searchAndFilter = new Composite(container, container.getStyle());
- addIdentifierCheckButton(searchAndFilter);
-// new Label(searchAndFilter, SWT.NONE);
- setList(new TableViewer(container, SWT.SINGLE
- | SWT.BORDER | SWT.V_SCROLL | SWT.VIRTUAL));
+ searchAndFilter.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL));
+ GridLayout searchAndFilterLayout = new GridLayout();
+ searchAndFilterLayout.numColumns = 2;
+ searchAndFilter.setLayout(searchAndFilterLayout);
+ searchField = new Text(searchAndFilter, SWT.SINGLE | SWT.BORDER | SWT.SEARCH | SWT.ICON_CANCEL);
+ searchField.getAccessible().addAccessibleListener(new AccessibleAdapter() {
+ @Override
+ public void getName(AccessibleEvent e) {
+ e.result = LegacyActionTools.removeMnemonics(headerLabel
+ .getText());
+ }
+ });
+ searchField.addModifyListener(new ModifyListener() {
+ @Override
+ public void modifyText(ModifyEvent e) {
+ search();
+// fillContentProvider(null);
- getList().setContentProvider(contentProvider);
- getList().setLabelProvider(getItemsListLabelProvider());
- getList().setInput(new Object[0]);
- getList().setItemCount(contentProvider.getNumberOfElements());
- getList().addSelectionChangedListener(new ISelectionChangedListener() {
- @Override
- public void selectionChanged(SelectionChangedEvent event) {
- StructuredSelection selection = (StructuredSelection) event
- .getSelection();
- currentSelection = selection;
- }
- });
- getList().addDoubleClickListener(new IDoubleClickListener() {
- @Override
- public void doubleClick(DoubleClickEvent event) {
- okPressed();
- }
- });
- searchField.addKeyListener(new KeyAdapter() {
- @Override
- public void keyPressed(KeyEvent e) {
- if (e.keyCode == SWT.ARROW_DOWN) {
- if (getList().getTable().getItemCount() > 0) {
- getList().getTable().setFocus();
- }
- }
- }
- });
+ }
+ });
+ gd_1 = new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL);
+ gd_1.horizontalIndent = 7;
-// createExtendedContentArea(container);
- new Label(container, SWT.NONE);
- search();
+ searchField.setLayoutData(gd_1);
- return container;
- }
+ createFilterButton(searchAndFilter);
+ addIdentifierCheckButton(searchAndFilter);
+// new Label(searchAndFilter, SWT.NONE);
+ setList(new TableViewer(container, SWT.SINGLE
+ | SWT.BORDER | SWT.V_SCROLL | SWT.VIRTUAL));
- protected void addIdentifierCheckButton(Composite searchAndFilter) {
- //as default do nothing
- }
+ getList().setContentProvider(contentProvider);
+ getList().setLabelProvider(getItemsListLabelProvider());
+ getList().setInput(new Object[0]);
+ getList().setItemCount(contentProvider.getNumberOfElements());
+ getList().addSelectionChangedListener(new ISelectionChangedListener() {
+ @Override
+ public void selectionChanged(SelectionChangedEvent event) {
+ StructuredSelection selection = (StructuredSelection) event
+ .getSelection();
+ currentSelection = selection;
+ }
+ });
+ getList().addDoubleClickListener(new IDoubleClickListener() {
+ @Override
+ public void doubleClick(DoubleClickEvent event) {
+ okPressed();
+ }
+ });
+ searchField.addKeyListener(new KeyAdapter() {
+ @Override
+ public void keyPressed(KeyEvent e) {
+ if (e.keyCode == SWT.ARROW_DOWN) {
+ if (getList().getTable().getItemCount() > 0) {
+ getList().getTable().setFocus();
+ }
+ }
+ }
+ });
+// createExtendedContentArea(container);
+ new Label(container, SWT.NONE);
+ search();
- abstract void createFilterButton(Composite searchAndFilter) ;
+ return container;
+ }
- protected abstract void search();
+ protected void addIdentifierCheckButton(Composite searchAndFilter) {
+ //as default do nothing
+ }
+ abstract void createFilterButton(Composite searchAndFilter) ;
- /**
- * Create a new header which is labelled by headerLabel.
- *
- * @param parent
- * @return Label the label of the header
- */
- private Label createHeader(Composite parent) {
- Composite header = new Composite(parent, SWT.NONE);
- GridData gd_header = new GridData(SWT.CENTER, SWT.CENTER, false, false, 2, 1);
- gd_header.horizontalIndent = 5;
- gd_header.widthHint = 575;
- header.setLayoutData(gd_header);
-
- GridLayout layout = new GridLayout();
- layout.marginLeft = 5;
- layout.horizontalSpacing = 0;
- layout.verticalSpacing = 1;
- layout.marginWidth = 0;
- layout.marginHeight = 0;
- header.setLayout(layout);
- new Label(header, SWT.NONE);
- Label headerLabel = new Label(header, SWT.NONE);
- headerLabel.setText((getMessage() != null && getMessage().trim()
- .length() > 0) ? getMessage()
- : Messages.SearchDialog_patternLabel);
- headerLabel.addTraverseListener(new TraverseListener() {
- @Override
- public void keyTraversed(TraverseEvent e) {
- if (e.detail == SWT.TRAVERSE_MNEMONIC && e.doit) {
- e.detail = SWT.TRAVERSE_NONE;
- searchField.setFocus();
- }
+ protected abstract void search();
+
+
+ /**
+ * Create a new header which is labelled by headerLabel.
+ *
+ * @param parent
+ * @return Label the label of the header
+ */
+ private Label createHeader(Composite parent) {
+ Composite header = new Composite(parent, SWT.NONE);
+ GridData gd_header = new GridData(SWT.CENTER, SWT.CENTER, false, false, 2, 1);
+ gd_header.horizontalIndent = 5;
+ gd_header.widthHint = 575;
+ header.setLayoutData(gd_header);
+
+ GridLayout layout = new GridLayout();
+ layout.marginLeft = 5;
+ layout.horizontalSpacing = 0;
+ layout.verticalSpacing = 1;
+ layout.marginWidth = 0;
+ layout.marginHeight = 0;
+ header.setLayout(layout);
+ new Label(header, SWT.NONE);
+ Label headerLabel = new Label(header, SWT.NONE);
+ headerLabel.setText((getMessage() != null && getMessage().trim()
+ .length() > 0) ? getMessage()
+ : Messages.SearchDialog_patternLabel);
+ headerLabel.addTraverseListener(new TraverseListener() {
+ @Override
+ public void keyTraversed(TraverseEvent e) {
+ if (e.detail == SWT.TRAVERSE_MNEMONIC && e.doit) {
+ e.detail = SWT.TRAVERSE_NONE;
+ searchField.setFocus();
}
- });
- GridData gd_headerLabel = new GridData(GridData.FILL_HORIZONTAL);
- gd_headerLabel.horizontalAlignment = SWT.LEFT;
- gd_headerLabel.grabExcessHorizontalSpace = false;
- gd_headerLabel.verticalAlignment = SWT.BOTTOM;
- gd_headerLabel.minimumHeight = 10;
- headerLabel.setLayoutData(gd_headerLabel);
- return headerLabel;
- }
+ }
+ });
+ GridData gd_headerLabel = new GridData(GridData.FILL_HORIZONTAL);
+ gd_headerLabel.horizontalAlignment = SWT.LEFT;
+ gd_headerLabel.grabExcessHorizontalSpace = false;
+ gd_headerLabel.verticalAlignment = SWT.BOTTOM;
+ gd_headerLabel.minimumHeight = 10;
+ headerLabel.setLayoutData(gd_headerLabel);
+ return headerLabel;
+ }
- protected String getMessage() {
- return message;
- }
+ protected String getMessage() {
+ return message;
+ }
- protected void setMessage(String message){
- this.message = message;
- }
+ protected void setMessage(String message){
+ this.message = message;
+ }
- public Text getSearchField() {
- return searchField;
- }
+ public Text getSearchField() {
+ return searchField;
+ }
- public void setSearchField(Text searchField) {
- this.searchField = searchField;
- }
+ public void setSearchField(Text searchField) {
+ this.searchField = searchField;
+ }
- private ItemsListLabelProvider getItemsListLabelProvider() {
- if (itemsListLabelProvider == null) {
- itemsListLabelProvider = new ItemsListLabelProvider(
- new LabelProvider());
- }
- return itemsListLabelProvider;
+ private ItemsListLabelProvider getItemsListLabelProvider() {
+ if (itemsListLabelProvider == null) {
+ itemsListLabelProvider = new ItemsListLabelProvider(
+ new LabelProvider());
}
+ return itemsListLabelProvider;
+ }
- public TableViewer getList() {
- return list;
- }
+ public TableViewer getList() {
+ return list;
+ }
- public void setList(TableViewer list) {
- this.list = list;
- Table table = list.getTable();
- GridData gd_table = new GridData(SWT.CENTER, SWT.CENTER, true, true, 2, 1);
- gd_table.heightHint = 231;
- gd_table.widthHint = 543;
- table.setLayoutData(gd_table);
- }
+ public void setList(TableViewer list) {
+ this.list = list;
+ Table table = list.getTable();
+ GridData gd_table = new GridData(SWT.CENTER, SWT.CENTER, true, true, 2, 1);
+ gd_table.heightHint = 231;
+ gd_table.widthHint = 543;
+ table.setLayoutData(gd_table);
+ }
- public Button getNewButton1() {
- return newButton1;
- }
+ public Button getNewButton1() {
+ return newButton1;
+ }
+ public void setNewButton1(Button newButton1) {
+ this.newButton1 = newButton1;
+ }
- public void setNewButton1(Button newButton1) {
- this.newButton1 = newButton1;
- }
+ public Button getNewButton2() {
+ return newButton2;
+ }
+ public void setNewButton2(Button newButton2) {
+ this.newButton2 = newButton2;
+ }
- public Button getNewButton2() {
- return newButton2;
- }
+ public Button getFilterButton() {
+ return filterButton;
+ }
+ public void setFilterButton(Button filterButton) {
+ this.filterButton = filterButton;
+ }
- public void setNewButton2(Button newButton2) {
- this.newButton2 = newButton2;
- }
+ /**
+ * Sets a new label provider for items in the list. If the label provider
+ * also implements {@link
+ * org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider
+ * .IStyledLabelProvider}, the style text labels provided by it will be used
+ * provided that the corresponding preference is set.
+ *
+ * @see IWorkbenchPreferenceConstants#USE_COLORED_LABELS
+ *
+ * @param listLabelProvider
+ * the label provider for items in the list
+ */
+ public void setListLabelProvider(ILabelProvider listLabelProvider) {
+ getItemsListLabelProvider().setProvider(listLabelProvider);
+ }
+ protected Comparator getItemsComparator() {
+ return new Comparator<UuidAndTitleCache>() {
+ @Override
+ public int compare(UuidAndTitleCache entity1,
+ UuidAndTitleCache entity2) {
+ Collator collator = Collator.getInstance();
+ if (entity1.getUuid().equals(entity2.getUuid())){
+ return 0;
+ }
+ int result = collator.compare(entity1.getTitleCache(), entity2.getTitleCache());
+ if (result == 0){
+ result = entity1.getUuid().compareTo(entity2.getUuid());
+ }
+ return result;
+ }
+ };
+ }
- public Button getFilterButton() {
- return filterButton;
- }
+ class ContentProvider implements IStructuredContentProvider {
+ private List items;
- public void setFilterButton(Button filterButton) {
- this.filterButton = filterButton;
+ /**
+ * Creates new instance of <code>ContentProvider</code>.
+ */
+ public ContentProvider() {
+ this.items = Collections.synchronizedList(new ArrayList(2048));
}
/**
- * Sets a new label provider for items in the list. If the label provider
- * also implements {@link
- * org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider
- * .IStyledLabelProvider}, the style text labels provided by it will be used
- * provided that the corresponding preference is set.
- *
- * @see IWorkbenchPreferenceConstants#USE_COLORED_LABELS
- *
- * @param listLabelProvider
- * the label provider for items in the list
+ * Removes all content items and resets progress message.
*/
- public void setListLabelProvider(ILabelProvider listLabelProvider) {
- getItemsListLabelProvider().setProvider(listLabelProvider);
+ public void reset() {
+ this.items.clear();
}
- protected Comparator getItemsComparator() {
- return new Comparator<UuidAndTitleCache>() {
- @Override
- public int compare(UuidAndTitleCache entity1,
- UuidAndTitleCache entity2) {
- Collator collator = Collator.getInstance();
- if (entity1.getUuid().equals(entity2.getUuid())){
- return 0;
- }
- int result = collator.compare(entity1.getTitleCache(), entity2.getTitleCache());
- if (result == 0){
- result = entity1.getUuid().compareTo(entity2.getUuid());
- }
- return result;
- }
- };
- }
-
-
- class ContentProvider implements
- IStructuredContentProvider {
- private List items;
-
- /**
- * Creates new instance of <code>ContentProvider</code>.
- */
- public ContentProvider() {
- this.items = Collections.synchronizedList(new ArrayList(2048));
- }
-
- /**
- * Removes all content items and resets progress message.
- */
- public void reset() {
- this.items.clear();
-
- }
-
- public void add(Object item) {
- this.items.add(item);
- }
+ public void add(Object item) {
+ this.items.add(item);
+ }
-// /**
-// * Refresh dialog.
-// */
-// public void refresh() {
-// scheduleRefresh();
-// }
+// /**
+// * Refresh dialog.
+// */
+// public void refresh() {
+// scheduleRefresh();
+// }
//
-// /**
-// * Schedule refresh job.
-// */
-// public void scheduleRefresh() {
-// refreshCacheJob.cancelAll();
-// refreshCacheJob.schedule();
-// }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
- */
- @Override
- public Object[] getElements(Object inputElement) {
- return items.toArray();
- }
-
- public int getNumberOfElements() {
- return items.size();
- }
+// /**
+// * Schedule refresh job.
+// */
+// public void scheduleRefresh() {
+// refreshCacheJob.cancelAll();
+// refreshCacheJob.schedule();
+// }
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.IContentProvider#dispose()
- */
- @Override
- public void dispose() {
- }
+ @Override
+ public Object[] getElements(Object inputElement) {
+ return items.toArray();
+ }
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer,
- * java.lang.Object, java.lang.Object)
- */
- @Override
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- }
+ public int getNumberOfElements() {
+ return items.size();
+ }
+ @Override
+ public void dispose() {
+ }
+ @Override
+ public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
}
+ }
+ public boolean isUseIdentifier() {
+ return useIdentifier;
+ }
- public boolean isUseIdentifier() {
- return useIdentifier;
- }
+ public StructuredSelection getCurrentSelection() {
+ return currentSelection;
+ }
+ /**
+ * Fills the content provider with matching items.
+ *
+ * @param progressMonitor
+ * must be used to report search progress. The state of this
+ * progress monitor reflects the state of the filtering process.
+ * @throws CoreException
+ */
+ protected abstract void fillContentProvider(IProgressMonitor progressMonitor) ;
- public StructuredSelection getCurrentSelection() {
- return currentSelection;
- }
- /**
- * Fills the content provider with matching items.
- *
- * @param progressMonitor
- * must be used to report search progress. The state of this
- * progress monitor reflects the state of the filtering process.
- * @throws CoreException
- */
- protected abstract void fillContentProvider(IProgressMonitor progressMonitor) ;
+ /**
+ * Refreshes the dialog - has to be called in UI thread.
+ */
+ public void refresh() {
+ if (getList() != null && !getList().getTable().isDisposed()) {
+ List<?> lastRefreshSelection = ((StructuredSelection) getList()
+ .getSelection()).toList();
+ getList().getTable().deselectAll();
- /**
- * Refreshes the dialog - has to be called in UI thread.
- */
- public void refresh() {
- if (getList() != null && !getList().getTable().isDisposed()) {
-
- List lastRefreshSelection = ((StructuredSelection) getList()
- .getSelection()).toList();
- getList().getTable().deselectAll();
-
- getList().setItemCount(contentProvider.getNumberOfElements());
- getList().refresh();
-
- if (getList().getTable().getItemCount() > 0) {
- // preserve previous selection
- if ( lastRefreshSelection != null
- && lastRefreshSelection.size() > 0) {
- getList().setSelection(new StructuredSelection(
- lastRefreshSelection));
- } else {
-
- getList().getTable().setSelection(0);
- getList().getTable().notifyListeners(SWT.Selection, new Event());
- }
- if ( super.getButton(IDialogConstants.OK_ID) != null){
- super.getButton(IDialogConstants.OK_ID).setEnabled(true);
- }
+ getList().setItemCount(contentProvider.getNumberOfElements());
+ getList().refresh();
+
+ if (getList().getTable().getItemCount() > 0) {
+ // preserve previous selection
+ if ( lastRefreshSelection != null
+ && lastRefreshSelection.size() > 0) {
+ getList().setSelection(new StructuredSelection(
+ lastRefreshSelection));
} else {
- getList().setSelection(StructuredSelection.EMPTY);
- }
+ getList().getTable().setSelection(0);
+ getList().getTable().notifyListeners(SWT.Selection, new Event());
+ }
+ if ( super.getButton(IDialogConstants.OK_ID) != null){
+ super.getButton(IDialogConstants.OK_ID).setEnabled(true);
+ }
+ } else {
+ getList().setSelection(StructuredSelection.EMPTY);
}
}
+ }
+
+ /**
+ * A job responsible for computing filtered items list presented using
+ * <code>RefreshJob</code>.
+ *
+ * @see FilteredItemsSelectionDialog.RefreshJob
+ */
+ private class RefreshCacheJob extends Job {
+
+ public RefreshCacheJob() {
+ super(WorkbenchMessages.FilteredItemsSelectionDialog_cacheRefreshJob);
+ setSystem(true);
+ }
/**
- * A job responsible for computing filtered items list presented using
- * <code>RefreshJob</code>.
- *
- * @see FilteredItemsSelectionDialog.RefreshJob
- *
+ * Stops the job and all sub-jobs.
*/
- private class RefreshCacheJob extends Job {
+ public void cancelAll() {
+ cancel();
+ }
- public RefreshCacheJob() {
- super(
- WorkbenchMessages.FilteredItemsSelectionDialog_cacheRefreshJob);
- setSystem(true);
+ @Override
+ protected IStatus run(IProgressMonitor monitor) {
+ if (monitor.isCanceled()) {
+ return new Status(IStatus.CANCEL, WorkbenchPlugin.PI_WORKBENCH,
+ IStatus.CANCEL, EMPTY_STRING, null);
}
- /**
- * Stops the job and all sub-jobs.
- */
- public void cancelAll() {
- cancel();
+ if (SearchDialog.this != null) {
+ SearchDialog.this.fillContentProvider(monitor);
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
- */
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- if (monitor.isCanceled()) {
- return new Status(IStatus.CANCEL, WorkbenchPlugin.PI_WORKBENCH,
- IStatus.CANCEL, EMPTY_STRING, null);
- }
-
- if (SearchDialog.this != null) {
- SearchDialog.this.fillContentProvider(monitor);
- }
-
- return new Status(IStatus.OK, PlatformUI.PLUGIN_ID, IStatus.OK,
- EMPTY_STRING, null);
-
- }
+ return new Status(IStatus.OK, PlatformUI.PLUGIN_ID, IStatus.OK,
+ EMPTY_STRING, null);
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.runtime.jobs.Job#canceling()
- */
- @Override
- protected void canceling() {
- super.canceling();
- }
+ }
+ @Override
+ protected void canceling() {
+ super.canceling();
}
- private class ItemsListLabelProvider extends StyledCellLabelProvider
+ }
+
+ private class ItemsListLabelProvider extends StyledCellLabelProvider
implements ILabelProviderListener {
private ILabelProvider provider;
- /**
- * Creates a new instance of the class.
- *
- * @param provider
- * the label provider for all items, not <code>null</code>
- * @param selectionDecorator
- * the decorator for selected items, can be <code>null</code>
- */
- public ItemsListLabelProvider(ILabelProvider provider) {
- Assert.isNotNull(provider);
- this.provider = provider;
- this.provider.addListener(this);
- }
-
- /**
- * Sets new label provider.
- *
- * @param newProvider
- * new label provider for items in the list, not
- * <code>null</code>
- */
- public void setProvider(ILabelProvider newProvider) {
- Assert.isNotNull(newProvider);
- provider.removeListener(this);
- provider.dispose();
- provider = newProvider;
-
- if (provider != null) {
- provider.addListener(this);
+ /**
+ * Creates a new instance of the class.
+ *
+ * @param provider
+ * the label provider for all items, not <code>null</code>
+ * @param selectionDecorator
+ * the decorator for selected items, can be <code>null</code>
+ */
+ public ItemsListLabelProvider(ILabelProvider provider) {
+ Assert.isNotNull(provider);
+ this.provider = provider;
+ this.provider.addListener(this);
}
- }
-
+ /**
+ * Sets new label provider.
+ *
+ * @param newProvider
+ * new label provider for items in the list, not
+ * <code>null</code>
+ */
+ public void setProvider(ILabelProvider newProvider) {
+ Assert.isNotNull(newProvider);
+ provider.removeListener(this);
+ provider.dispose();
+ provider = newProvider;
+
+ if (provider != null) {
+ provider.addListener(this);
+ }
+ }
- private boolean isSelected(Object element) {
- if (element != null && getCurrentSelection() != null) {
- if (element.equals(getCurrentSelection())) {
- return true;
+ private boolean isSelected(Object element) {
+ if (element != null && getCurrentSelection() != null) {
+ if (element.equals(getCurrentSelection())) {
+ return true;
+ }
}
+ return false;
}
- return false;
- }
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
- */
- private String getText(Object element) {
- if (element instanceof ItemsListSeparator) {
- return getSeparatorLabel(((ItemsListSeparator) element)
- .getName());
+ private String getText(Object element) {
+ if (element instanceof ItemsListSeparator) {
+ return getSeparatorLabel(((ItemsListSeparator) element)
+ .getName());
+ }
+ String str = provider.getText(element);
+ return str;
}
- String str = provider.getText(element);
- return str;
- }
- private StyledString getStyledText(Object element,
- IStyledLabelProvider provider) {
- StyledString string = provider.getStyledText(element);
+ private StyledString getStyledText(Object element,
+ IStyledLabelProvider provider) {
+ StyledString string = provider.getStyledText(element);
- return string;
- }
+ return string;
+ }
- @Override
- public void update(ViewerCell cell) {
- Object element = cell.getElement();
+ @Override
+ public void update(ViewerCell cell) {
+ Object element = cell.getElement();
- if (!(element instanceof ItemsListSeparator)
- && provider instanceof IStyledLabelProvider) {
- IStyledLabelProvider styledLabelProvider = (IStyledLabelProvider) provider;
- StyledString styledString = getStyledText(element,
- styledLabelProvider);
+ if (!(element instanceof ItemsListSeparator)
+ && provider instanceof IStyledLabelProvider) {
+ IStyledLabelProvider styledLabelProvider = (IStyledLabelProvider) provider;
+ StyledString styledString = getStyledText(element,
+ styledLabelProvider);
- cell.setText(styledString.getString());
- cell.setStyleRanges(styledString.getStyleRanges());
- cell.setImage(styledLabelProvider.getImage(element));
- } else {
- cell.setText(getText(element));
+ cell.setText(styledString.getString());
+ cell.setStyleRanges(styledString.getStyleRanges());
+ cell.setImage(styledLabelProvider.getImage(element));
+ } else {
+ cell.setText(getText(element));
+
+ }
+ cell.setFont(getFont(element));
+ cell.setForeground(getForeground(element));
+ cell.setBackground(getBackground(element));
+ super.update(cell);
}
- cell.setFont(getFont(element));
- cell.setForeground(getForeground(element));
- cell.setBackground(getBackground(element));
- super.update(cell);
- }
+ private String getSeparatorLabel(String separatorLabel) {
+ Rectangle rect = getList().getTable().getBounds();
- private String getSeparatorLabel(String separatorLabel) {
- Rectangle rect = getList().getTable().getBounds();
+ int borderWidth = getList().getTable().computeTrim(0, 0, 0, 0).width;
- int borderWidth = getList().getTable().computeTrim(0, 0, 0, 0).width;
+ int imageWidth = WorkbenchImages.getImage(
+ IWorkbenchGraphicConstants.IMG_OBJ_SEPARATOR).getBounds().width;
- int imageWidth = WorkbenchImages.getImage(
- IWorkbenchGraphicConstants.IMG_OBJ_SEPARATOR).getBounds().width;
+ int width = rect.width - borderWidth - imageWidth;
- int width = rect.width - borderWidth - imageWidth;
+ GC gc = new GC(getList().getTable());
+ gc.setFont(getList().getTable().getFont());
- GC gc = new GC(getList().getTable());
- gc.setFont(getList().getTable().getFont());
+ int fSeparatorWidth = gc.getAdvanceWidth('-');
+ int fMessageLength = gc.textExtent(separatorLabel).x;
- int fSeparatorWidth = gc.getAdvanceWidth('-');
- int fMessageLength = gc.textExtent(separatorLabel).x;
+ gc.dispose();
- gc.dispose();
+ StringBuffer dashes = new StringBuffer();
+ int chars = (((width - fMessageLength) / fSeparatorWidth) / 2) - 2;
+ for (int i = 0; i < chars; i++) {
+ dashes.append('-');
+ }
- StringBuffer dashes = new StringBuffer();
- int chars = (((width - fMessageLength) / fSeparatorWidth) / 2) - 2;
- for (int i = 0; i < chars; i++) {
- dashes.append('-');
+ StringBuffer result = new StringBuffer();
+ result.append(dashes);
+ result.append(" " + separatorLabel + " "); //$NON-NLS-1$//$NON-NLS-2$
+ result.append(dashes);
+ return result.toString().trim();
}
- StringBuffer result = new StringBuffer();
- result.append(dashes);
- result.append(" " + separatorLabel + " "); //$NON-NLS-1$//$NON-NLS-2$
- result.append(dashes);
- return result.toString().trim();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener)
- */
- @Override
- public void addListener(ILabelProviderListener listener) {
- listeners.add(listener);
- }
+ @Override
+ public void addListener(ILabelProviderListener listener) {
+ listeners.add(listener);
+ }
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
- */
- @Override
- public void dispose() {
- provider.removeListener(this);
- provider.dispose();
- super.dispose();
- }
+ @Override
+ public void dispose() {
+ provider.removeListener(this);
+ provider.dispose();
+ super.dispose();
+ }
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object,
- * java.lang.String)
- */
- @Override
- public boolean isLabelProperty(Object element, String property) {
- if (provider.isLabelProperty(element, property)) {
- return true;
+ @Override
+ public boolean isLabelProperty(Object element, String property) {
+ if (provider.isLabelProperty(element, property)) {
+ return true;
+ }
+ return false;
}
- return false;
- }
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener)
- */
- @Override
- public void removeListener(ILabelProviderListener listener) {
- listeners.remove(listener);
- }
+ @Override
+ public void removeListener(ILabelProviderListener listener) {
+ listeners.remove(listener);
+ }
- private Color getBackground(Object element) {
- if (element instanceof ItemsListSeparator) {
+ private Color getBackground(Object element) {
+ if (element instanceof ItemsListSeparator) {
+ return null;
+ }
+ if (provider instanceof IColorProvider) {
+ return ((IColorProvider) provider).getBackground(element);
+ }
return null;
}
- if (provider instanceof IColorProvider) {
- return ((IColorProvider) provider).getBackground(element);
- }
- return null;
- }
- private Color getForeground(Object element) {
- if (element instanceof ItemsListSeparator) {
- return Display.getCurrent().getSystemColor(
- SWT.COLOR_WIDGET_NORMAL_SHADOW);
- }
- if (provider instanceof IColorProvider) {
- return ((IColorProvider) provider).getForeground(element);
+ private Color getForeground(Object element) {
+ if (element instanceof ItemsListSeparator) {
+ return Display.getCurrent().getSystemColor(
+ SWT.COLOR_WIDGET_NORMAL_SHADOW);
+ }
+ if (provider instanceof IColorProvider) {
+ return ((IColorProvider) provider).getForeground(element);
+ }
+ return null;
}
- return null;
- }
- private Font getFont(Object element) {
- if (element instanceof ItemsListSeparator) {
+ private Font getFont(Object element) {
+ if (element instanceof ItemsListSeparator) {
+ return null;
+ }
+ if (provider instanceof IFontProvider) {
+ return ((IFontProvider) provider).getFont(element);
+ }
return null;
}
- if (provider instanceof IFontProvider) {
- return ((IFontProvider) provider).getFont(element);
- }
- return null;
- }
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.ILabelProviderListener#labelProviderChanged(org.eclipse.jface.viewers.LabelProviderChangedEvent)
- */
- @Override
- public void labelProviderChanged(LabelProviderChangedEvent event) {
- Object[] l = listeners.getListeners();
- for (int i = 0; i < listeners.size(); i++) {
- ((ILabelProviderListener) l[i]).labelProviderChanged(event);
+ @Override
+ public void labelProviderChanged(LabelProviderChangedEvent event) {
+ Object[] l = listeners.getListeners();
+ for (int i = 0; i < listeners.size(); i++) {
+ ((ILabelProviderListener) l[i]).labelProviderChanged(event);
+ }
}
}
-}
@Override
protected Point getInitialSize() {
return new Point(593, 399);
}
-
-
-
-}
-
-
+}
\ No newline at end of file