List of usage examples for org.eclipse.jface.viewers ViewerSorter ViewerSorter
public ViewerSorter(Collator collator)
From source file:de.loskutov.fs.properties.ProjectSyncPropertyPage.java
License:Open Source License
public void initSyncPage() { PathContainerAdapter adapter = new PathContainerAdapter(); boolean disabled = !ProjectHelper.hasBuilder(project) || ProjectHelper.isBuilderDisabled(project); enableFileSyncField = new SelectionButtonDialogField(SWT.CHECK); enableFileSyncField.setSelection(!disabled); enableFileSyncField.setLabelText("Enable FileSync builder for project"); enableFileSyncField.setDialogFieldListener(adapter); String[] buttonLabels;//from www . j a v a2 s .co m buttonLabels = new String[] { /* 0 = IDX_ADDEXIST */"&Add Folder...", /* 1 */null, /* 2 = IDX_EDIT */"Edit...", /* 3 = IDX_REMOVE */"Remove" }; foldersList = new TreeListDialogField(adapter, buttonLabels, new PathListLabelProvider()); foldersList.setDialogFieldListener(adapter); foldersList.setLabelText("Available synchronization mappings:"); /* * the small hack to have all entries sorted in alphab. order except * of "include/exclude" branches - they should be inversed */ foldersList.setViewerSorter(new ViewerSorter(new Collator() { private final Collator delegate = Collator.getInstance(); @Override public int compare(String source, String target) { return PathListLabelProvider.compare(source, target); } @Override public CollationKey getCollationKey(String source) { return delegate.getCollationKey(source); } @Override public int hashCode() { return delegate.hashCode(); } })); foldersList.enableButton(IDX_EDIT, false); useFolderOutputsField = new SelectionButtonDialogField(SWT.CHECK); useFolderOutputsField.setSelection(false); useFolderOutputsField.setLabelText("Allow different target folders"); useFolderOutputsField.setDialogFieldListener(adapter); // useVariablesField = new SelectionButtonDialogField(SWT.CHECK); // useVariablesField.setSelection(false); // useVariablesField.setLabelText("Allow different variables files"); // useVariablesField.setDialogFieldListener(adapter); useCurrentDateField = new SelectionButtonDialogField(SWT.CHECK); useCurrentDateField.setSelection(false); useCurrentDateField.setLabelText("Use current date for destination files"); useCurrentDateField.setDialogFieldListener(adapter); includeTeamFilesField = new SelectionButtonDialogField(SWT.CHECK); includeTeamFilesField.setSelection(false); includeTeamFilesField.setLabelText("Sync team private files (like .svn)"); includeTeamFilesField.setDialogFieldListener(adapter); enableInputControls(!disabled); }
From source file:net.sf.eclipsecs.ui.config.widgets.ConfigPropertyWidgetMultiCheck.java
License:Open Source License
private void installSorter(boolean sort) { if (sort) {/*w w w.j a v a2 s .c o m*/ Collator collator = Collator.getInstance(CheckstyleUIPlugin.getPlatformLocale()); mTable.setSorter(new ViewerSorter(collator)); } else { mTable.setSorter(null); } mTable.refresh(); }
From source file:net.sf.eclipsensis.dialogs.NSISTaskTagsPreferencePage.java
License:Open Source License
@Override protected Control createContents(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); GridLayout layout = new GridLayout(2, false); layout.marginHeight = 0;//from ww w .j ava 2s . c o m layout.marginWidth = 0; composite.setLayout(layout); Table table = new Table(composite, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION | SWT.V_SCROLL); GridData data = new GridData(SWT.FILL, SWT.FILL, true, true); data.widthHint = convertWidthInCharsToPixels(65); data.heightHint = convertHeightInCharsToPixels(10); table.setLayoutData(data); table.setHeaderVisible(true); table.setLinesVisible(true); TableColumn[] columns = new TableColumn[2]; columns[0] = new TableColumn(table, SWT.NONE); columns[0].setText(EclipseNSISPlugin.getResourceString("task.tag.label")); //$NON-NLS-1$ columns[1] = new TableColumn(table, SWT.NONE); columns[1].setText(EclipseNSISPlugin.getResourceString("task.tag.priority.label")); //$NON-NLS-1$ mTableViewer = new CheckboxTableViewer(table); mTableViewer.setLabelProvider(new TaskTagLabelProvider()); mTableViewer.setContentProvider(new CollectionContentProvider()); Collator collator = Collator.getInstance(); collator.setStrength(Collator.PRIMARY); mTableViewer.setSorter(new ViewerSorter(collator)); mTableViewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent e) { edit(); } }); mTableViewer.addCheckStateListener(new ICheckStateListener() { @SuppressWarnings("unchecked") public void checkStateChanged(CheckStateChangedEvent event) { NSISTaskTag taskTag = (NSISTaskTag) event.getElement(); boolean checked = event.getChecked(); if (checked) { Collection<NSISTaskTag> taskTags = (Collection<NSISTaskTag>) mTableViewer.getInput(); for (Iterator<NSISTaskTag> iter = taskTags.iterator(); iter.hasNext();) { NSISTaskTag t = iter.next(); if (!t.equals(taskTag) && t.isDefault()) { t.setDefault(false); mTableViewer.setChecked(t, false); mTableViewer.refresh(t, true); break; } } } taskTag.setDefault(checked); mTableViewer.setChecked(taskTag, checked); mTableViewer.refresh(taskTag, true); updateButtons(); } }); mTableViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent e) { updateButtons(); } }); Composite buttons = new Composite(composite, SWT.NONE); buttons.setLayoutData(new GridData(SWT.BEGINNING, SWT.BEGINNING, false, false)); layout = new GridLayout(); layout.marginHeight = 0; layout.marginWidth = 0; buttons.setLayout(layout); Button addButton = new Button(buttons, SWT.PUSH); addButton.setImage(CommonImages.ADD_ICON); addButton.setToolTipText(EclipseNSISPlugin.getResourceString("new.tooltip")); //$NON-NLS-1$ addButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); addButton.addListener(SWT.Selection, new Listener() { public void handleEvent(Event e) { add(); } }); mEditButton = new Button(buttons, SWT.PUSH); mEditButton.setImage(CommonImages.EDIT_ICON); mEditButton.setToolTipText(EclipseNSISPlugin.getResourceString("edit.tooltip")); //$NON-NLS-1$ mEditButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); mEditButton.addListener(SWT.Selection, new Listener() { public void handleEvent(Event e) { edit(); } }); mRemoveButton = new Button(buttons, SWT.PUSH); mRemoveButton.setImage(CommonImages.DELETE_ICON); mRemoveButton.setToolTipText(EclipseNSISPlugin.getResourceString("remove.tooltip")); //$NON-NLS-1$ mRemoveButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); mRemoveButton.addListener(SWT.Selection, new Listener() { public void handleEvent(Event e) { remove(); } }); mCaseSensitiveButton = new Button(composite, SWT.CHECK); mCaseSensitiveButton.setText(EclipseNSISPlugin.getResourceString("task.tags.case.sensitive.label")); //$NON-NLS-1$ mCaseSensitiveButton.setSelection(NSISPreferences.getInstance().isCaseSensitiveTaskTags()); data = new GridData(SWT.FILL, SWT.CENTER, true, false); data.horizontalSpan = 2; Dialog.applyDialogFont(composite); FontData[] fd = table.getFont().getFontData(); for (int i = 0; i < fd.length; i++) { fd[i].setStyle(fd[i].getStyle() | SWT.BOLD); } mBoldFont = new Font(getShell().getDisplay(), fd); mOriginalTags = NSISPreferences.getInstance().getTaskTags(); Collection<NSISTaskTag> taskTags = NSISPreferences.getInstance().getTaskTags(); mTableViewer.setInput(NSISPreferences.getInstance().getTaskTags()); mTableViewer.setAllChecked(false); for (Iterator<NSISTaskTag> iter = taskTags.iterator(); iter.hasNext();) { NSISTaskTag t = iter.next(); if (t.isDefault()) { mTableViewer.setChecked(t, true); break; } } updateButtons(); table.addControlListener(new TableResizer()); return composite; }
From source file:net.sf.eclipsensis.installoptions.wizard.InstallOptionsWizardPage.java
License:Open Source License
private Group createTemplatesGroup(Composite parent) { Group group = NSISWizardDialogUtil.createGroup(parent, 1, null, null, false); ((GridLayout) group.getLayout()).makeColumnsEqualWidth = true; GridData data = (GridData) group.getLayoutData(); data.grabExcessVerticalSpace = true; data.verticalAlignment = GridData.FILL; final Button b = NSISWizardDialogUtil.createCheckBox(group, "create.from.template.button.text", false, true, //$NON-NLS-1$ null, false);/*w ww . ja v a2s . c om*/ MasterSlaveController m = new MasterSlaveController(b); SashForm form = new SashForm(group, SWT.HORIZONTAL); data = new GridData(SWT.FILL, SWT.FILL, true, true); form.setLayoutData(data); MasterSlaveEnabler mse = new MasterSlaveEnabler() { public boolean canEnable(Control control) { return true; } public void enabled(Control control, boolean flag) { int id = (flag ? SWT.COLOR_LIST_BACKGROUND : SWT.COLOR_WIDGET_BACKGROUND); control.setBackground(getShell().getDisplay().getSystemColor(id)); } }; Composite composite = new Composite(form, SWT.NONE); GridLayout layout = new GridLayout(1, false); layout.marginHeight = 0; layout.marginWidth = 0; composite.setLayout(layout); Label l = NSISWizardDialogUtil.createLabel(composite, InstallOptionsPlugin.getResourceString("create.from.template.label"), b.getSelection(), m, true); //$NON-NLS-1$ l.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); final List list = new List(composite, SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION); data = new GridData(SWT.FILL, SWT.FILL, true, true); data.heightHint = Common.calculateControlSize(l, SWT.DEFAULT, 6).y; list.setLayoutData(data); m.addSlave(list, mse); composite = new Composite(form, SWT.NONE); layout = new GridLayout(1, false); layout.marginHeight = 0; layout.marginWidth = 0; composite.setLayout(layout); l = NSISWizardDialogUtil.createLabel(composite, InstallOptionsPlugin.getResourceString("template.description.label"), true, m, false); //$NON-NLS-1$ l.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); final StyledText t = new StyledText(composite, SWT.BORDER | SWT.MULTI | SWT.READ_ONLY | SWT.WRAP); data = new GridData(SWT.FILL, SWT.FILL, true, true); data.heightHint = Common.calculateControlSize(t, SWT.DEFAULT, 6).y; t.setLayoutData(data); t.setBackground(getShell().getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND)); t.setCursor(null); t.setCaret(null); m.addSlave(t, mse); final ListViewer viewer = new ListViewer(list); viewer.setContentProvider(new CollectionContentProvider()); viewer.setLabelProvider(new CollectionLabelProvider()); viewer.setInput(InstallOptionsTemplateManager.INSTANCE.getTemplates()); Collator collator = Collator.getInstance(); collator.setStrength(Collator.PRIMARY); viewer.setSorter(new ViewerSorter(collator)); ViewerFilter filter = new ViewerFilter() { @Override public boolean select(Viewer viewer, Object parentElement, Object element) { if (element instanceof IInstallOptionsTemplate) { IInstallOptionsTemplate template = (IInstallOptionsTemplate) element; return template.isAvailable() && template.isEnabled() && !template.isDeleted(); } return true; } }; viewer.addFilter(filter); viewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { ISelection sel = event.getSelection(); InstallOptionsWizard wizard = (InstallOptionsWizard) getWizard(); if (!sel.isEmpty() && sel instanceof IStructuredSelection) { Object obj = ((IStructuredSelection) sel).getFirstElement(); if (obj instanceof IInstallOptionsTemplate) { wizard.setTemplate((IInstallOptionsTemplate) obj); t.setText(wizard.getTemplate().getDescription()); } } else { wizard.setTemplate(null); } setPageComplete(validatePage()); } }); viewer.getList().addSelectionListener(new SelectionAdapter() { @Override public void widgetDefaultSelected(SelectionEvent e) { if (canFlipToNextPage()) { IWizardPage nextPage = getNextPage(); if (nextPage != null) { getContainer().showPage(nextPage); } } } }); b.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { mCreateFromTemplate = b.getSelection(); setPageComplete(validatePage()); } }); m.updateSlaves(); return group; }
From source file:net.sf.eclipsensis.template.AbstractTemplateSettings.java
License:Open Source License
protected void createContents() { GC gc = new GC(this); Font old = gc.getFont();/*from w w w . j a v a 2 s . c om*/ gc.setFont(JFaceResources.getDialogFont()); FontMetrics fontMetrics = gc.getFontMetrics(); gc.setFont(old); gc.dispose(); GridLayout layout = new GridLayout(); layout.numColumns = 2; layout.marginHeight = 0; layout.marginWidth = 0; this.setLayout(layout); Composite innerParent = new Composite(this, SWT.NONE); GridLayout innerLayout = new GridLayout(); innerLayout.numColumns = 2; innerLayout.marginHeight = 0; innerLayout.marginWidth = 0; innerParent.setLayout(innerLayout); GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true); gd.horizontalSpan = 2; innerParent.setLayoutData(gd); final Table table = new Table(innerParent, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION | SWT.V_SCROLL); GridData data = new GridData(SWT.FILL, SWT.FILL, true, true); data.widthHint = fontMetrics.getAverageCharWidth() * 3; data.heightHint = fontMetrics.getHeight() * 10; table.setLayoutData(data); table.setHeaderVisible(true); table.setLinesVisible(true); TableColumn[] columns = { new TableColumn(table, SWT.NONE) }; columns[0].setText(EclipseNSISPlugin.getResourceString("template.settings.name.label")); //$NON-NLS-1$ mTableViewer = new CheckboxTableViewer(table); mTableViewer.setLabelProvider(new CollectionLabelProvider()); mTableViewer.setContentProvider(new EmptyContentProvider() { /* (non-Javadoc) * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object) */ @Override public Object[] getElements(Object inputElement) { if (inputElement != null && inputElement.equals(mTemplateManager)) { return mTemplateManager.getTemplates().toArray(); } return super.getElements(inputElement); } }); Collator collator = Collator.getInstance(); collator.setStrength(Collator.PRIMARY); mTableViewer.setSorter(new ViewerSorter(collator)); ViewerFilter filter = new ViewerFilter() { @Override @SuppressWarnings("unchecked") public boolean select(Viewer viewer, Object parentElement, Object element) { if (element != null && mTemplateManager.getTemplateClass().isAssignableFrom(element.getClass())) { T template = (T) element; return template.isAvailable() && !template.isDeleted(); } return true; } }; mTableViewer.addFilter(filter); final INSISHomeListener nsisHomeListener = new INSISHomeListener() { public void nsisHomeChanged(IProgressMonitor monitor, NSISHome oldHome, NSISHome newHome) { Display.getDefault().asyncExec(new Runnable() { public void run() { mTableViewer.refresh(); mTableViewer.setCheckedElements(getEnabledTemplates()); } }); } }; NSISPreferences.getInstance().addListener(nsisHomeListener); table.addDisposeListener(new DisposeListener() { public void widgetDisposed(DisposeEvent e) { NSISPreferences.getInstance().removeListener(nsisHomeListener); } }); mTableViewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent e) { edit(); } }); mTableViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent e) { doSelectionChanged(); } }); mTableViewer.addCheckStateListener(new ICheckStateListener() { @SuppressWarnings("unchecked") public void checkStateChanged(CheckStateChangedEvent event) { T oldTemplate = (T) event.getElement(); T newTemplate = (T) oldTemplate.clone(); newTemplate.setEnabled(!oldTemplate.isEnabled()); getTemplateManager().updateTemplate(oldTemplate, newTemplate); mTableViewer.refresh(true); mTableViewer.setSelection(new StructuredSelection(newTemplate)); mTableViewer.setChecked(newTemplate, newTemplate.isEnabled()); doSelectionChanged(); } }); Composite buttons = new Composite(innerParent, SWT.NONE); buttons.setLayoutData(new GridData(SWT.BEGINNING, SWT.BEGINNING, false, false)); layout = new GridLayout(); layout.marginHeight = 0; layout.marginWidth = 0; buttons.setLayout(layout); createButtons(buttons); Label label = new Label(this, SWT.NONE); label.setText(EclipseNSISPlugin.getResourceString("template.settings.description.label")); //$NON-NLS-1$ data = new GridData(); data.horizontalSpan = 2; label.setLayoutData(data); mDescriptionText = new StyledText(this, SWT.BORDER | SWT.MULTI | SWT.READ_ONLY | SWT.WRAP); mDescriptionText.setBackground(getShell().getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND)); mDescriptionText.setCursor(null); mDescriptionText.setCaret(null); data = new GridData(SWT.FILL, SWT.FILL, true, true); data.horizontalSpan = 2; data.heightHint = fontMetrics.getHeight() * 5; mDescriptionText.setLayoutData(data); mTableViewer.setInput(mTemplateManager); mTableViewer.setCheckedElements(getEnabledTemplates()); updateButtons(); table.addControlListener(new TableResizer()); Dialog.applyDialogFont(this); }
From source file:net.sf.eclipsensis.wizard.NSISWizardAttributesPage.java
License:Open Source License
private void createLanguagesGroup(Composite parent) { final Group langGroup = NSISWizardDialogUtil.createGroup(parent, 1, "language.support.group.label", null, //$NON-NLS-1$ false);/*from ww w .ja va 2 s . c om*/ GridData data = (GridData) langGroup.getLayoutData(); data.verticalAlignment = SWT.FILL; data.grabExcessVerticalSpace = true; data.horizontalAlignment = SWT.FILL; data.grabExcessHorizontalSpace = true; NSISWizardSettings settings = mWizard.getSettings(); final Button enableLangSupport = NSISWizardDialogUtil.createCheckBox(langGroup, "enable.language.support.label", settings.isEnableLanguageSupport(), true, null, false); //$NON-NLS-1$ enableLangSupport.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { boolean selection = enableLangSupport.getSelection(); mWizard.getSettings().setEnableLanguageSupport(selection); validateField(LANG_CHECK); } }); final MasterSlaveController m = new MasterSlaveController(enableLangSupport); final Composite listsComposite = new Composite(langGroup, SWT.NONE); data = new GridData(SWT.FILL, SWT.FILL, true, true); listsComposite.setLayoutData(data); GridLayout layout = new GridLayout(2, true); layout.marginHeight = 0; layout.marginWidth = 0; listsComposite.setLayout(layout); java.util.List<NSISLanguage> selectedLanguages = settings.getLanguages(); if (selectedLanguages.isEmpty()) { NSISLanguage defaultLanguage = NSISLanguageManager.getInstance().getDefaultLanguage(); if (defaultLanguage != null) { selectedLanguages.add(defaultLanguage); } } java.util.List<NSISLanguage> availableLanguages = NSISLanguageManager.getInstance().getLanguages(); availableLanguages.removeAll(selectedLanguages); Composite leftComposite = new Composite(listsComposite, SWT.NONE); leftComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); layout = new GridLayout(2, false); layout.marginHeight = 0; layout.marginWidth = 0; leftComposite.setLayout(layout); ((GridData) NSISWizardDialogUtil.createLabel(leftComposite, "available.languages.label", //$NON-NLS-1$ true, m, false).getLayoutData()).horizontalSpan = 2; final List availableLangList = new List(leftComposite, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI); data = new GridData(SWT.FILL, SWT.FILL, true, true); Dialog.applyDialogFont(availableLangList); data.heightHint = Common.calculateControlSize(availableLangList, 0, 12).y; availableLangList.setLayoutData(data); m.addSlave(availableLangList); final ListViewer availableLangViewer = new ListViewer(availableLangList); CollectionContentProvider collectionContentProvider = new CollectionContentProvider(); availableLangViewer.setContentProvider(collectionContentProvider); availableLangViewer.setInput(availableLanguages); availableLangViewer.setSorter(new ViewerSorter(cLanguageCollator)); final Composite buttonsComposite1 = new Composite(leftComposite, SWT.NONE); layout = new GridLayout(1, false); layout.marginHeight = 0; layout.marginWidth = 0; buttonsComposite1.setLayout(layout); data = new GridData(SWT.FILL, SWT.CENTER, false, false); buttonsComposite1.setLayoutData(data); final Button allRightButton = new Button(buttonsComposite1, SWT.PUSH); data = new GridData(SWT.FILL, SWT.CENTER, true, false); allRightButton.setLayoutData(data); allRightButton.setImage(EclipseNSISPlugin.getImageManager() .getImage(EclipseNSISPlugin.getResourceString("all.right.icon"))); //$NON-NLS-1$ allRightButton.setToolTipText(EclipseNSISPlugin.getResourceString("all.right.tooltip")); //$NON-NLS-1$ final Button rightButton = new Button(buttonsComposite1, SWT.PUSH); data = new GridData(SWT.FILL, SWT.CENTER, true, false); rightButton.setLayoutData(data); rightButton.setImage( EclipseNSISPlugin.getImageManager().getImage(EclipseNSISPlugin.getResourceString("right.icon"))); //$NON-NLS-1$ rightButton.setToolTipText(EclipseNSISPlugin.getResourceString("right.tooltip")); //$NON-NLS-1$ final Button leftButton = new Button(buttonsComposite1, SWT.PUSH); data = new GridData(SWT.FILL, SWT.CENTER, true, false); leftButton.setLayoutData(data); leftButton.setImage( EclipseNSISPlugin.getImageManager().getImage(EclipseNSISPlugin.getResourceString("left.icon"))); //$NON-NLS-1$ leftButton.setToolTipText(EclipseNSISPlugin.getResourceString("left.tooltip")); //$NON-NLS-1$ final Button allLeftButton = new Button(buttonsComposite1, SWT.PUSH); data = new GridData(SWT.FILL, SWT.CENTER, true, false); allLeftButton.setLayoutData(data); allLeftButton.setImage( EclipseNSISPlugin.getImageManager().getImage(EclipseNSISPlugin.getResourceString("all.left.icon"))); //$NON-NLS-1$ allLeftButton.setToolTipText(EclipseNSISPlugin.getResourceString("all.left.tooltip")); //$NON-NLS-1$ Composite rightComposite = new Composite(listsComposite, SWT.NONE); rightComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); layout = new GridLayout(2, false); layout.marginHeight = 0; layout.marginWidth = 0; rightComposite.setLayout(layout); ((GridData) NSISWizardDialogUtil.createLabel(rightComposite, "selected.languages.label", //$NON-NLS-1$ true, m, isScriptWizard()).getLayoutData()).horizontalSpan = 2; final List selectedLangList = new List(rightComposite, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI); data = new GridData(SWT.FILL, SWT.FILL, true, true); Dialog.applyDialogFont(selectedLangList); data.heightHint = Common.calculateControlSize(selectedLangList, 0, 12).y; selectedLangList.setLayoutData(data); m.addSlave(selectedLangList); final ListViewer selectedLangViewer = new ListViewer(selectedLangList); selectedLangViewer.setContentProvider(collectionContentProvider); selectedLangViewer.setInput(selectedLanguages); final ListViewerUpDownMover<java.util.List<NSISLanguage>, NSISLanguage> mover = new ListViewerUpDownMover<java.util.List<NSISLanguage>, NSISLanguage>() { @Override @SuppressWarnings("unchecked") protected java.util.List<NSISLanguage> getAllElements() { return (java.util.List<NSISLanguage>) ((ListViewer) getViewer()).getInput(); } @Override protected void updateStructuredViewerInput(java.util.List<NSISLanguage> input, java.util.List<NSISLanguage> elements, java.util.List<NSISLanguage> move, boolean isDown) { (input).clear(); (input).addAll(elements); } }; mover.setViewer(selectedLangViewer); final Composite buttonsComposite2 = new Composite(rightComposite, SWT.NONE); layout = new GridLayout(1, false); layout.marginHeight = 0; layout.marginWidth = 0; buttonsComposite2.setLayout(layout); data = new GridData(SWT.FILL, SWT.CENTER, false, false); buttonsComposite2.setLayoutData(data); final Button upButton = new Button(buttonsComposite2, SWT.PUSH); data = new GridData(SWT.FILL, SWT.CENTER, true, false); upButton.setLayoutData(data); upButton.setImage( EclipseNSISPlugin.getImageManager().getImage(EclipseNSISPlugin.getResourceString("up.icon"))); //$NON-NLS-1$ upButton.setToolTipText(EclipseNSISPlugin.getResourceString("up.tooltip")); //$NON-NLS-1$ m.addSlave(upButton); final Button downButton = new Button(buttonsComposite2, SWT.PUSH); data = new GridData(SWT.FILL, SWT.CENTER, true, false); downButton.setLayoutData(data); downButton.setImage( EclipseNSISPlugin.getImageManager().getImage(EclipseNSISPlugin.getResourceString("down.icon"))); //$NON-NLS-1$ downButton.setToolTipText(EclipseNSISPlugin.getResourceString("down.tooltip")); //$NON-NLS-1$ m.addSlave(downButton); Composite langOptions = langGroup; boolean showSupportedLangOption = NSISPreferences.getInstance().getNSISVersion() .compareTo(INSISVersions.VERSION_2_26) >= 0; if (showSupportedLangOption) { langOptions = new Composite(langGroup, SWT.None); layout = new GridLayout(2, false); layout.marginHeight = 0; layout.marginWidth = 0; langOptions.setLayout(layout); data = new GridData(SWT.FILL, SWT.FILL, true, false); langOptions.setLayoutData(data); } final Button selectLang = NSISWizardDialogUtil.createCheckBox(langOptions, "select.language.label", //$NON-NLS-1$ settings.isSelectLanguage(), true, m, false); final Button displaySupported; if (showSupportedLangOption) { ((GridData) selectLang.getLayoutData()).horizontalSpan = 1; displaySupported = NSISWizardDialogUtil.createCheckBox(langOptions, "display.supported.languages.label", //$NON-NLS-1$ settings.isDisplaySupportedLanguages(), true, m, false); ((GridData) displaySupported.getLayoutData()).horizontalSpan = 1; displaySupported.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { mWizard.getSettings().setDisplaySupportedLanguages(displaySupported.getSelection()); } }); } else { displaySupported = null; } final MasterSlaveEnabler mse = new MasterSlaveEnabler() { public void enabled(Control control, boolean flag) { } @SuppressWarnings("unchecked") public boolean canEnable(Control control) { NSISWizardSettings settings = mWizard.getSettings(); if (control == allRightButton) { return settings.isEnableLanguageSupport() && availableLangViewer.getList().getItemCount() > 0; } else if (control == rightButton) { return settings.isEnableLanguageSupport() && !availableLangViewer.getSelection().isEmpty(); } else if (control == allLeftButton) { return settings.isEnableLanguageSupport() && selectedLangViewer.getList().getItemCount() > 0; } else if (control == leftButton) { return settings.isEnableLanguageSupport() && !selectedLangViewer.getSelection().isEmpty(); } else if (control == upButton) { return settings.isEnableLanguageSupport() && mover.canMoveUp(); } else if (control == downButton) { return settings.isEnableLanguageSupport() && mover.canMoveDown(); } else if (control == selectLang) { java.util.List<NSISLanguage> selectedLanguages = (java.util.List<NSISLanguage>) selectedLangViewer .getInput(); return settings.getInstallerType() != INSTALLER_TYPE_SILENT && settings.isEnableLanguageSupport() && selectedLanguages.size() > 1; } else if (control == displaySupported && displaySupported != null) { java.util.List<NSISLanguage> selectedLanguages = (java.util.List<NSISLanguage>) selectedLangViewer .getInput(); return settings.getInstallerType() != INSTALLER_TYPE_SILENT && settings.isEnableLanguageSupport() && selectedLanguages.size() > 1 && selectLang.getSelection(); } else { return true; } } }; m.addSlave(rightButton, mse); m.addSlave(allRightButton, mse); m.addSlave(leftButton, mse); m.addSlave(allLeftButton, mse); m.setEnabler(upButton, mse); m.setEnabler(downButton, mse); m.setEnabler(selectLang, mse); if (displaySupported != null) { m.setEnabler(displaySupported, mse); } selectLang.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { mWizard.getSettings().setSelectLanguage(selectLang.getSelection()); if (displaySupported != null) { displaySupported.setEnabled(mse.canEnable(displaySupported)); } } }); final Runnable langRunnable = new Runnable() { public void run() { availableLangViewer.refresh(false); selectedLangViewer.refresh(false); allRightButton.setEnabled(mse.canEnable(allRightButton)); allLeftButton.setEnabled(mse.canEnable(allLeftButton)); rightButton.setEnabled(mse.canEnable(rightButton)); leftButton.setEnabled(mse.canEnable(leftButton)); upButton.setEnabled(mse.canEnable(upButton)); downButton.setEnabled(mse.canEnable(downButton)); selectLang.setEnabled(mse.canEnable(selectLang)); if (displaySupported != null) { displaySupported.setEnabled(mse.canEnable(displaySupported)); } setPageComplete(validateField(LANG_CHECK)); } }; rightButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent se) { moveAcross(availableLangViewer, selectedLangViewer, Common.makeGenericList(NSISLanguage.class, ((IStructuredSelection) availableLangViewer.getSelection()).toList())); langRunnable.run(); } }); allRightButton.addSelectionListener(new SelectionAdapter() { @Override @SuppressWarnings("unchecked") public void widgetSelected(SelectionEvent se) { moveAcross(availableLangViewer, selectedLangViewer, (java.util.List<NSISLanguage>) availableLangViewer.getInput()); langRunnable.run(); } }); leftButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent se) { moveAcross(selectedLangViewer, availableLangViewer, Common.makeGenericList(NSISLanguage.class, ((IStructuredSelection) selectedLangViewer.getSelection()).toList())); langRunnable.run(); } }); allLeftButton.addSelectionListener(new SelectionAdapter() { @Override @SuppressWarnings("unchecked") public void widgetSelected(SelectionEvent se) { moveAcross(selectedLangViewer, availableLangViewer, (java.util.List<NSISLanguage>) selectedLangViewer.getInput()); langRunnable.run(); } }); upButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent se) { mover.moveUp(); langRunnable.run(); } }); downButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent se) { mover.moveDown(); langRunnable.run(); } }); availableLangViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { rightButton.setEnabled(mse.canEnable(rightButton)); allRightButton.setEnabled(mse.canEnable(allRightButton)); } }); availableLangViewer.getList().addSelectionListener(new SelectionAdapter() { @Override public void widgetDefaultSelected(SelectionEvent event) { IStructuredSelection sel = (IStructuredSelection) availableLangViewer.getSelection(); if (!sel.isEmpty()) { moveAcross(availableLangViewer, selectedLangViewer, Common.makeGenericList(NSISLanguage.class, sel.toList())); selectedLangViewer.reveal(sel.getFirstElement()); langRunnable.run(); } } }); selectedLangViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { leftButton.setEnabled(mse.canEnable(leftButton)); allLeftButton.setEnabled(mse.canEnable(allLeftButton)); upButton.setEnabled(mse.canEnable(upButton)); downButton.setEnabled(mse.canEnable(downButton)); selectLang.setEnabled(mse.canEnable(selectLang)); if (displaySupported != null) { displaySupported.setEnabled(mse.canEnable(displaySupported)); } } }); selectedLangViewer.getList().addSelectionListener(new SelectionAdapter() { @Override public void widgetDefaultSelected(SelectionEvent event) { IStructuredSelection sel = (IStructuredSelection) selectedLangViewer.getSelection(); if (!sel.isEmpty()) { moveAcross(selectedLangViewer, availableLangViewer, Common.makeGenericList(NSISLanguage.class, sel.toList())); availableLangViewer.reveal(sel.getFirstElement()); langRunnable.run(); } } }); m.updateSlaves(); listsComposite.addListener(SWT.Resize, new Listener() { boolean init = false; public void handleEvent(Event e) { if (!init) { // Stupid hack so that the height hint doesn't get changed // on the first resize, // i.e., when the page is drawn for the first time. init = true; } else { Point size = listsComposite.getSize(); GridLayout layout = (GridLayout) listsComposite.getLayout(); int heightHint = size.y - 2 * layout.marginHeight; ((GridData) availableLangList.getLayoutData()).heightHint = heightHint; ((GridData) selectedLangList.getLayoutData()).heightHint = heightHint; int totalWidth = size.x - 2 * layout.marginWidth - 3 * layout.horizontalSpacing; int listWidth = (int) (totalWidth * 0.4); int buttonWidth = (int) (0.5 * (totalWidth - 2 * listWidth)); size = availableLangList.computeSize(listWidth, SWT.DEFAULT); int delta = 0; if (size.x > listWidth) { delta = size.x - listWidth; listWidth = listWidth - delta; } ((GridData) availableLangList.getLayoutData()).widthHint = listWidth; ((GridData) buttonsComposite1.getLayoutData()).widthHint = totalWidth - 2 * (listWidth + delta) - buttonWidth; ((GridData) selectedLangList.getLayoutData()).widthHint = listWidth; ((GridData) buttonsComposite2.getLayoutData()).widthHint = buttonWidth; listsComposite.layout(); } } }); addPageChangedRunnable(new Runnable() { public void run() { if (isCurrentPage()) { selectLang.setEnabled(mse.canEnable(selectLang)); if (displaySupported != null) { displaySupported.setEnabled(mse.canEnable(displaySupported)); } } } }); mWizard.addSettingsListener(new INSISWizardSettingsListener() { public void settingsChanged(NSISWizardSettings oldSettings, NSISWizardSettings newSettings) { enableLangSupport.setSelection(newSettings.isEnableLanguageSupport()); m.updateSlaves(); selectLang.setSelection(newSettings.isSelectLanguage()); if (displaySupported != null) { displaySupported.setSelection(newSettings.isDisplaySupportedLanguages()); } java.util.List<NSISLanguage> selectedLanguages = newSettings.getLanguages(); java.util.List<NSISLanguage> availableLanguages = NSISLanguageManager.getInstance().getLanguages(); if (selectedLanguages.isEmpty()) { NSISWizardWelcomePage welcomePage = (NSISWizardWelcomePage) mWizard .getPage(NSISWizardWelcomePage.NAME); if (welcomePage != null) { if (!welcomePage.isCreateFromTemplate()) { NSISLanguage defaultLanguage = NSISLanguageManager.getInstance().getDefaultLanguage(); if (defaultLanguage != null && availableLanguages.contains(defaultLanguage)) { selectedLanguages.add(defaultLanguage); } } } } selectedLangViewer.setInput(selectedLanguages); availableLanguages.removeAll(selectedLanguages); availableLangViewer.setInput(availableLanguages); } }); }
From source file:net.sf.eclipsensis.wizard.NSISWizardWelcomePage.java
License:Open Source License
private Group createTemplatesGroup(Composite parent) { Group templatesGroup = NSISWizardDialogUtil.createGroup(parent, 1, null, null, false); ((GridLayout) templatesGroup.getLayout()).makeColumnsEqualWidth = true; GridData data = (GridData) templatesGroup.getLayoutData(); data.grabExcessVerticalSpace = true; data.verticalAlignment = GridData.FILL; final Button createFromTemplate = NSISWizardDialogUtil.createCheckBox(templatesGroup, "create.from.template.button.text", false, true, null, false); //$NON-NLS-1$ MasterSlaveController m = new MasterSlaveController(createFromTemplate); SashForm templatesSashForm = new SashForm(templatesGroup, SWT.HORIZONTAL); data = new GridData(SWT.FILL, SWT.FILL, true, true); templatesSashForm.setLayoutData(data); MasterSlaveEnabler mse = new MasterSlaveEnabler() { public boolean canEnable(Control control) { return true; }//from w ww . j av a 2s. c o m public void enabled(Control control, boolean flag) { int id = (flag ? SWT.COLOR_LIST_BACKGROUND : SWT.COLOR_WIDGET_BACKGROUND); control.setBackground(getShell().getDisplay().getSystemColor(id)); } }; Composite composite = new Composite(templatesSashForm, SWT.NONE); GridLayout layout = new GridLayout(1, false); layout.marginHeight = 0; layout.marginWidth = 0; composite.setLayout(layout); final Label availableTemplatesLabel = NSISWizardDialogUtil.createLabel(composite, "available.templates.label", createFromTemplate.getSelection(), m, true); //$NON-NLS-1$ data = (GridData) availableTemplatesLabel.getLayoutData(); data.horizontalAlignment = SWT.FILL; data.grabExcessHorizontalSpace = true; final List list = new List(composite, SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION); data = new GridData(SWT.FILL, SWT.FILL, true, true); list.setLayoutData(data); m.addSlave(list, mse); composite = new Composite(templatesSashForm, SWT.NONE); layout = new GridLayout(1, false); layout.marginHeight = 0; layout.marginWidth = 0; composite.setLayout(layout); Label templateDescLabel = NSISWizardDialogUtil.createLabel(composite, "template.description.label", true, m, //$NON-NLS-1$ false); templateDescLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); final StyledText description = new StyledText(composite, SWT.BORDER | SWT.MULTI | SWT.READ_ONLY | SWT.WRAP); description.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); description.setBackground(getShell().getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND)); description.setCursor(null); description.setCaret(null); m.addSlave(description, mse); final ListViewer templatesViewer = new ListViewer(list); templatesViewer.setContentProvider(new CollectionContentProvider()); templatesViewer.setLabelProvider(new CollectionLabelProvider()); final NSISWizardTemplateManager templateManager = ((NSISScriptWizard) mWizard).getTemplateManager(); templatesViewer.setInput(templateManager.getTemplates()); Collator collator = Collator.getInstance(); collator.setStrength(Collator.PRIMARY); templatesViewer.setSorter(new ViewerSorter(collator)); ViewerFilter filter = new ViewerFilter() { @Override public boolean select(Viewer viewer, Object parentElement, Object element) { if (element instanceof NSISWizardTemplate) { NSISWizardTemplate template = (NSISWizardTemplate) element; return template.isAvailable() && template.isEnabled() && !template.isDeleted(); } return true; } }; templatesViewer.addFilter(filter); templatesViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { ISelection sel = event.getSelection(); if (!sel.isEmpty() && sel instanceof IStructuredSelection) { Object obj = ((IStructuredSelection) sel).getFirstElement(); if (obj instanceof NSISWizardTemplate) { mTemplate = (NSISWizardTemplate) obj; description.setText(mTemplate.getDescription()); } } else { mTemplate = null; } validatePage(VALIDATE_ALL); } }); templatesViewer.getList().addSelectionListener(new SelectionAdapter() { @Override public void widgetDefaultSelected(SelectionEvent e) { if (canFlipToNextPage()) { IWizardPage nextPage = getNextPage(); if (nextPage != null) { getContainer().showPage(nextPage); } } } }); createFromTemplate.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { mCreateFromTemplate = createFromTemplate.getSelection(); validatePage(VALIDATE_ALL); } }); m.updateSlaves(); addPageChangedRunnable(new Runnable() { public void run() { if (isPreviousPage() && !isCurrentPage()) { if (getSelectedPage() instanceof AbstractNSISWizardPage) { NSISScriptWizard scriptWizard = (NSISScriptWizard) mWizard; if (!mCreateFromTemplate) { if (mUsingTemplate) { scriptWizard.initSettings(); scriptWizard.setTemplate(null); mUsingTemplate = false; } } else { if (mTemplate != null) { scriptWizard.loadTemplate(mTemplate); mTemplate = null; mUsingTemplate = true; } } } } } }); return templatesGroup; }
From source file:net.sf.eclipsensis.wizard.settings.dialogs.NSISInstallShortcutDialog.java
License:Open Source License
@Override protected Control createControlContents(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(3, false); layout.marginHeight = 0;/*from ww w .j a va 2 s.c om*/ layout.marginWidth = 0; composite.setLayout(layout); final Combo c1; if (mWizard.getSettings().isCreateStartMenuGroup()) { boolean createInSMGroup = mStore.getBoolean("createInStartMenuGroup"); //$NON-NLS-1$ Group group = NSISWizardDialogUtil.createGroup(composite, 2, "wizard.location.group.label", null, true); //$NON-NLS-1$ final Button b1 = NSISWizardDialogUtil.createRadioButton(group, "wizard.smgroup.location.label", //$NON-NLS-1$ createInSMGroup, true, null, false); b1.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { if (b1.getSelection()) { mStore.setValue("createInStartMenuGroup", true); //$NON-NLS-1$ validate(); } } }); final Button b2 = NSISWizardDialogUtil.createRadioButton(group, "wizard.other.location.label", //$NON-NLS-1$ !createInSMGroup, true, null, false); b2.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { if (b2.getSelection()) { mStore.setValue("createInStartMenuGroup", false); //$NON-NLS-1$ validate(); } } }); ((GridData) b2.getLayoutData()).horizontalSpan = 1; MasterSlaveController mse = new MasterSlaveController(b2); c1 = NSISWizardDialogUtil.createCombo(group, null, "", //$NON-NLS-1$ false, null, true, mse, true); ((GridData) c1.getLayoutData()).horizontalSpan = 1; mse.updateSlaves(); } else { mStore.setValue("createInStartMenuGroup", false); //$NON-NLS-1$ c1 = NSISWizardDialogUtil.createCombo(composite, null, "", //$NON-NLS-1$ false, "wizard.location.label", true, null, true); //$NON-NLS-1$ } ((GridData) c1.getLayoutData()).horizontalAlignment = GridData.FILL; List<String> input = Common .makeList(NSISWizardUtil.getPathConstantsAndVariables(mWizard.getSettings().getTargetPlatform())); ComboViewer cv = new ComboViewer(c1); cv.setContentProvider(new CollectionContentProvider()); cv.setLabelProvider(new CollectionLabelProvider()); Collator coll = Collator.getInstance(); coll.setStrength(Collator.PRIMARY); cv.setSorter(new ViewerSorter(coll)); cv.setInput(input); c1.setText(mStore.getString("location")); //$NON-NLS-1$ c1.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { mStore.setValue("location", c1.getText().trim()); //$NON-NLS-1$ validate(); } }); final Text t1 = NSISWizardDialogUtil.createText(composite, mStore.getString("name"), "wizard.name.label", //$NON-NLS-1$//$NON-NLS-2$ true, null, true); t1.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { mStore.setValue("name", t1.getText().trim()); //$NON-NLS-1$ validate(); } }); final Button[] radio = NSISWizardDialogUtil.createRadioGroup(composite, NSISWizardDisplayValues.SHORTCUT_TYPE_NAMES, mStore.getInt("shortcutType"), //$NON-NLS-1$ "wizard.shortcut.type.label", true, null, false); //$NON-NLS-1$ SelectionAdapter sa = new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { Button b = (Button) e.widget; if (b.getSelection()) { int n = -1; if (b == radio[0]) { n = 0; } else if (b == radio[1]) { n = 1; } mStore.setValue("shortcutType", n); //$NON-NLS-1$ validate(); } } }; for (int i = 0; i < radio.length; i++) { radio[i].addSelectionListener(sa); } MasterSlaveController m1 = new MasterSlaveController(radio[SHORTCUT_URL]); MasterSlaveController m2 = new MasterSlaveController(radio[SHORTCUT_INSTALLELEMENT]); final Text t2 = NSISWizardDialogUtil.createText(composite, mStore.getString("url"), "wizard.url.label", //$NON-NLS-1$//$NON-NLS-2$ true, m1, true); t2.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { mStore.setValue("url", t2.getText().trim()); //$NON-NLS-1$ validate(); } }); final Combo c2 = NSISWizardDialogUtil.createContentBrowser(composite, "wizard.path.label", //$NON-NLS-1$ mStore.getString("path"), //$NON-NLS-1$ NSISWizardUtil.getPathConstantsAndVariables(mWizard.getSettings().getTargetPlatform()), mWizard, true, m2, true); c2.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { mStore.setValue("path", c2.getText().trim()); //$NON-NLS-1$ validate(); } }); m2.updateSlaves(); m1.updateSlaves(); return composite; }
From source file:org.elbe.relations.internal.controls.AbstractSelectionView.java
License:Open Source License
@PostConstruct public void init(final EMenuService inService) { inService.registerContextMenu(viewer.getControl(), getPopupID()); viewer.setContentProvider(new ObservableListContentProvider()); viewer.setSorter(new ViewerSorter(languageService.getContentLanguage())); viewer.setInput(getDBInput());/* w w w. j av a 2 s . co m*/ viewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(final SelectionChangedEvent inEvent) { selectionService.setSelection(((IStructuredSelection) inEvent.getSelection()).getFirstElement()); } }); hookDoubleClickAction(); hookDragnDrop(); }
From source file:org.elbe.relations.internal.forms.FormAssociate.java
License:Open Source License
private void initialize(final Composite inParent) { container = createComposite(inParent, 3, 7); // first column final Composite lRelatedFill = createTableContainer(container); createLabel(RelationsMessages.getString("FormAssociate.list.related"), lRelatedFill); //$NON-NLS-1$ relatedViewer = new TableViewer(lRelatedFill, SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER); relatedViewer.getTable().setLayoutData(createListLayoutData()); relatedViewer.setContentProvider(createRelatedContentProvider()); relatedViewer.setLabelProvider(createRelatedLabelProvider()); relatedViewer.setSorter(new ViewerSorter(languageService.getContentLanguage())); // second column createArrowButtons(container);// w w w . j a v a 2s .c o m // third column final Composite lSelectionFill = createTableContainer(container); createLabel(RelationsMessages.getString("FormAssociate.list.selection"), lSelectionFill); //$NON-NLS-1$ selectionViewer = new TableViewer(lSelectionFill, SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER); selectionViewer.getTable().setLayoutData(createListLayoutData()); selectionViewer.setContentProvider(createContentProvider()); selectionViewer.setLabelProvider(createLabelProvider()); selectionViewer.setSorter(new ViewerSorter(languageService.getContentLanguage())); createMenusAndToolbars(); }