List of usage examples for org.eclipse.jface.resource JFaceResources getDialogFont
public static Font getDialogFont()
From source file:org.eclipse.team.internal.ui.synchronize.ConfigureSynchronizeScheduleComposite.java
License:Open Source License
protected void createMainDialogArea(Composite parent) { GC gc = new GC(parent); gc.setFont(JFaceResources.getDialogFont()); FontMetrics fontMetrics = gc.getFontMetrics(); gc.dispose();/*ww w .j a va 2 s . c om*/ final GridLayout gridLayout = new GridLayout(); gridLayout.numColumns = 3; gridLayout.marginHeight = 0; gridLayout.marginWidth = 0; gridLayout.horizontalSpacing = Dialog.convertHorizontalDLUsToPixels(fontMetrics, IDialogConstants.HORIZONTAL_SPACING); gridLayout.verticalSpacing = Dialog.convertVerticalDLUsToPixels(fontMetrics, IDialogConstants.VERTICAL_SPACING); setLayout(gridLayout); setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); Composite area = this; createWrappingLabel(area, NLS.bind(TeamUIMessages.ConfigureRefreshScheduleDialog_1, new String[] { Utils.shortenText(SynchronizeView.MAX_NAME_LENGTH, schedule.getParticipant().getName()) }), 0, 3); enableBackgroundRefresh = new Button(area, SWT.CHECK); GridData gridData = new GridData(); gridData.horizontalSpan = 3; enableBackgroundRefresh.setLayoutData(gridData); enableBackgroundRefresh.setText(TeamUIMessages.ConfigureRefreshScheduleDialog_3); enableBackgroundRefresh.addSelectionListener(new SelectionListener() { public void widgetSelected(SelectionEvent e) { updateEnablements(); } public void widgetDefaultSelected(SelectionEvent e) { } }); synchronizeAt = createIndentedLabel(area, TeamUIMessages.ConfigureRefreshScheduleDialog_3a, 20); startTime = new DateTime(area, SWT.TIME | SWT.BORDER); gridData = new GridData(); gridData.horizontalSpan = 2; startTime.setLayoutData(gridData); repeatEvery = createIndentedButton(area, TeamUIMessages.ConfigureRefreshScheduleDialog_4, 20); repeatEvery.addSelectionListener(new SelectionListener() { public void widgetSelected(SelectionEvent e) { updateEnablements(); } public void widgetDefaultSelected(SelectionEvent e) { } }); timeInterval = new Text(area, SWT.BORDER | SWT.RIGHT); gridData = new GridData(); gridData.widthHint = 35; timeInterval.setLayoutData(gridData); timeInterval.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { updateEnablements(); } }); timeInterval.addVerifyListener(new VerifyListener() { public void verifyText(VerifyEvent e) { String string = e.text; char[] chars = new char[string.length()]; string.getChars(0, chars.length, chars, 0); for (int i = 0; i < chars.length; i++) { if (!('0' <= chars[i] && chars[i] <= '9')) { e.doit = false; return; } } } }); hoursOrMinutes = new Combo(area, SWT.READ_ONLY); hoursOrMinutes.setItems(new String[] { TeamUIMessages.ConfigureRefreshScheduleDialog_5, TeamUIMessages.ConfigureRefreshScheduleDialog_6 }); // hoursOrMinutes.setLayoutData(new GridData()); final Label label = new Label(area, SWT.WRAP); gridData = new GridData(GridData.FILL_HORIZONTAL); gridData.horizontalSpan = 3; label.setLayoutData(gridData); label.setText(NLS.bind(TeamUIMessages.ConfigureRefreshScheduleDialog_2, new String[] { SubscriberRefreshSchedule.refreshEventAsString(schedule.getLastRefreshEvent()) })); initializeValues(); updateEnablements(); }
From source file:org.eclipse.team.svn.ui.dialog.DefaultDialog.java
License:Open Source License
public static int convertHeightInCharsToPixels(Control control, int chars) { GC gc = new GC(control); gc.setFont(JFaceResources.getDialogFont()); FontMetrics fontMetrics = gc.getFontMetrics(); gc.dispose();/*from w ww . j a v a2 s. co m*/ return fontMetrics.getHeight() * chars; }
From source file:org.eclipse.thym.ui.config.internal.PropertiesPage.java
License:Open Source License
private Button createButton(Composite parent, String label) { Button button = formToolkit.createButton(parent, label, SWT.NULL); button.setFont(JFaceResources.getDialogFont()); PixelConverter converter = new PixelConverter(button); int widthHint = converter.convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH); widthHint = Math.max(widthHint, button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x); GridDataFactory.swtDefaults().align(SWT.FILL, SWT.BEGINNING).hint(widthHint, SWT.DEFAULT).applyTo(button); return button; }
From source file:org.eclipse.thym.ui.plugins.internal.PluginRestorePage.java
License:Open Source License
private int getMinColumnWidth(Control control, String label) { GC gc = new GC(control); gc.setFont(JFaceResources.getDialogFont()); return gc.stringExtent(label).x + 10; }
From source file:org.eclipse.tm.te.ui.forms.parts.AbstractPartWithButtons.java
License:Open Source License
/** * Create the buttons panel.//from w w w .j a va 2 s .c o m * * @param parent The parent composite. Must not be <code>null</code>. * @param toolkit The form toolkit or <code>null</code>. * * @return The buttons panel composite or <code>null</code>. */ protected Composite createButtonsPanel(Composite parent, FormToolkit toolkit) { if (labels.length == 0) return null; buttons = new Button[labels.length]; Composite panel = createComposite(parent, toolkit); GridLayout layout = new GridLayout(); layout.marginHeight = 0; layout.marginWidth = 0; panel.setLayout(layout); GridData layoutData = new GridData(SWT.BEGINNING, SWT.FILL, false, true); panel.setLayoutData(layoutData); panel.setBackground(parent.getBackground()); SelectionListener listener = new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { AbstractPartWithButtons.this.onButtonSelected((Button) e.widget); } }; for (int i = 0; i < labels.length; i++) { if (labels[i] != null) { Button button = toolkit != null ? toolkit.createButton(panel, null, SWT.PUSH) : new Button(panel, SWT.PUSH); Assert.isNotNull(button); button.setFont(JFaceResources.getDialogFont()); button.setText(labels[i]); button.setData(Integer.valueOf(i)); button.addSelectionListener(listener); layoutData = new GridData(SWT.FILL, SWT.BEGINNING, true, false); layoutData.widthHint = Math.max( new PixelConverter(button).convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH), button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x); button.setLayoutData(layoutData); buttons[i] = button; } else { createEmptySpace(panel, 1, toolkit); } } return panel; }
From source file:org.eclipse.tm.terminal.view.ui.preferences.PreferencePage.java
License:Open Source License
@Override protected Control createContents(final Composite parent) { final GC gc = new GC(parent); gc.setFont(JFaceResources.getDialogFont()); Composite panel = new Composite(parent, SWT.NONE); panel.setLayout(new GridLayout()); GridData layoutData = new GridData(SWT.FILL, SWT.BEGINNING, true, false); panel.setLayoutData(layoutData);// ww w.j a va 2s.co m Label label = new Label(panel, SWT.HORIZONTAL); label.setText(Messages.PreferencePage_label); label.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); if (!Platform.OS_WIN32.equals(Platform.getOS())) { Group group = new Group(panel, SWT.NONE); group.setText(Messages.PreferencePage_command_label); group.setLayout(new GridLayout(2, false)); group.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false)); command = new Text(group, SWT.SINGLE | SWT.BORDER); command.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); command.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { boolean valid = true; String message = null; String text = command.getText(); if (text != null && !"".equals(text.trim())) { //$NON-NLS-1$ IPath p = new Path(text.trim()); valid = p.toFile().isFile() && p.toFile().canRead() && p.toFile().canExecute(); if (!valid) message = Messages.PreferencePage_command_invalid; } setValid(valid); setErrorMessage(message); } }); commandBrowseButton = new Button(group, SWT.PUSH); commandBrowseButton.setText(Messages.PreferencePage_command_button_browse); layoutData = new GridData(SWT.FILL, SWT.CENTER, false, false); layoutData.widthHint = Dialog.convertWidthInCharsToPixels(gc.getFontMetrics(), 14); commandBrowseButton.setLayoutData(layoutData); commandBrowseButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { FileDialog dialog = new FileDialog(parent.getShell(), SWT.OPEN); String text = command.getText(); if (text != null && !"".equals(text.trim())) { //$NON-NLS-1$ IPath p = new Path(text); if (p.toFile().isFile() || !p.toFile().exists()) { dialog.setFilterPath(p.removeLastSegments(1).toOSString()); dialog.setFileName(p.lastSegment()); } else if (p.toFile().isDirectory()) { dialog.setFilterPath(p.toOSString()); } } String selected = dialog.open(); if (selected != null) { IPath sp = new Path(selected); command.setText(sp.toOSString()); } } }); String cmd = UIPlugin.getScopedPreferences() .getString(IPreferenceKeys.PREF_LOCAL_TERMINAL_DEFAULT_SHELL_UNIX); if (cmd != null && !"".equals(cmd)) { //$NON-NLS-1$ command.setText(new Path(cmd).toOSString()); } Composite argsPanel = new Composite(group, SWT.NONE); GridLayout layout = new GridLayout(2, false); layout.marginHeight = 0; layout.marginWidth = 0; argsPanel.setLayout(layout); layoutData = new GridData(SWT.FILL, SWT.BEGINNING, true, false); layoutData.horizontalSpan = 2; argsPanel.setLayoutData(layoutData); label = new Label(argsPanel, SWT.NONE); label.setText(Messages.PreferencePage_command_arguments_label); arguments = new Text(argsPanel, SWT.SINGLE | SWT.BORDER); arguments.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); String args = UIPlugin.getScopedPreferences() .getString(IPreferenceKeys.PREF_LOCAL_TERMINAL_DEFAULT_SHELL_UNIX_ARGS); if (args != null && !"".equals(args)) { //$NON-NLS-1$ arguments.setText(args); } NoteCompositeHelper.createNoteComposite(group.getFont(), group, Messages.PreferencePage_command_note_label, Messages.PreferencePage_command_note_text); } Group group = new Group(panel, SWT.NONE); group.setText(Messages.PreferencePage_workingDir_label); group.setLayout(new GridLayout(hasVariablesButton ? 3 : 2, false)); group.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false)); workingDir = new Combo(group, SWT.DROP_DOWN); Bundle bundle = Platform.getBundle("org.eclipse.core.resources"); //$NON-NLS-1$ if (bundle != null && bundle.getState() != Bundle.UNINSTALLED && bundle.getState() != Bundle.STOPPING) { workingDir.setItems(new String[] { Messages.PreferencePage_workingDir_userhome_label, Messages.PreferencePage_workingDir_eclipsehome_label, Messages.PreferencePage_workingDir_eclipsews_label }); } else { workingDir.setItems(new String[] { Messages.PreferencePage_workingDir_userhome_label, Messages.PreferencePage_workingDir_eclipsehome_label }); } workingDir.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); workingDir.select(0); workingDir.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { boolean valid = true; String message = null; String text = workingDir.getText(); if (text != null && !"".equals(text.trim()) //$NON-NLS-1$ && !Messages.PreferencePage_workingDir_userhome_label.equals(text) && !Messages.PreferencePage_workingDir_eclipsehome_label.equals(text) && !Messages.PreferencePage_workingDir_eclipsews_label.equals(text)) { try { // Resolve possible dynamic variables IStringVariableManager vm = VariablesPlugin.getDefault().getStringVariableManager(); String resolved = vm.performStringSubstitution(text.trim()); IPath p = new Path(resolved); valid = p.toFile().canRead() && p.toFile().isDirectory(); if (!valid) message = Messages.PreferencePage_workingDir_invalid; } catch (CoreException ex) { valid = false; message = ex.getLocalizedMessage(); } } setValid(valid); setErrorMessage(message); } }); browseButton = new Button(group, SWT.PUSH); browseButton.setText(Messages.PreferencePage_workingDir_button_browse); layoutData = new GridData(SWT.FILL, SWT.CENTER, false, false); layoutData.widthHint = Dialog.convertWidthInCharsToPixels(gc.getFontMetrics(), 14); browseButton.setLayoutData(layoutData); browseButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { IPath uh = null; IPath eh = null; IPath ew = null; // HOME String home = System.getProperty("user.home"); //$NON-NLS-1$ if (home != null && !"".equals(home)) //$NON-NLS-1$ uh = new Path(home); // ECLIPSE_HOME String eclipseHomeLocation = System.getProperty("eclipse.home.location"); //$NON-NLS-1$ if (eclipseHomeLocation != null) { try { URI uri = URIUtil.fromString(eclipseHomeLocation); File f = URIUtil.toFile(uri); eh = new Path(f.getAbsolutePath()); } catch (URISyntaxException ex) { /* ignored on purpose */ } } // ECLIPSE_WORKSPACE Bundle bundle = Platform.getBundle("org.eclipse.core.resources"); //$NON-NLS-1$ if (bundle != null && bundle.getState() != Bundle.UNINSTALLED && bundle.getState() != Bundle.STOPPING) { if (org.eclipse.core.resources.ResourcesPlugin.getWorkspace() != null && org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRoot() != null && org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRoot() .getLocation() != null) { ew = org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRoot().getLocation(); } } DirectoryDialog dialog = new DirectoryDialog(parent.getShell(), SWT.OPEN); // Determine the filter path String text = workingDir.getText(); if (Messages.PreferencePage_workingDir_userhome_label.equals(text)) { dialog.setFilterPath(uh.toOSString()); } else if (Messages.PreferencePage_workingDir_eclipsehome_label.equals(text)) { dialog.setFilterPath(eh.toOSString()); } else if (Messages.PreferencePage_workingDir_eclipsews_label.equals(text)) { dialog.setFilterPath(ew.toOSString()); } else if (text != null && !"".equals(text.trim())) { //$NON-NLS-1$ try { // Resolve possible dynamic variables IStringVariableManager vm = VariablesPlugin.getDefault().getStringVariableManager(); String resolved = vm.performStringSubstitution(text.trim()); dialog.setFilterPath(resolved); } catch (CoreException ex) { if (Platform.inDebugMode()) { UIPlugin.getDefault().getLog().log(ex.getStatus()); } } } String selected = dialog.open(); if (selected != null) { IPath sp = new Path(selected); if (uh.equals(sp)) { workingDir.select(0); } else if (eh.equals(sp)) { workingDir.select(1); } else if (ew.equals(sp)) { workingDir.select(2); } else { workingDir.setText(sp.toOSString()); } } } }); if (hasVariablesButton) { variablesButton = new Button(group, SWT.PUSH); variablesButton.setText(Messages.PreferencePage_workingDir_button_variables); layoutData = new GridData(SWT.FILL, SWT.CENTER, false, false); layoutData.widthHint = Dialog.convertWidthInCharsToPixels(gc.getFontMetrics(), 14); variablesButton.setLayoutData(layoutData); variablesButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { org.eclipse.debug.ui.StringVariableSelectionDialog dialog = new org.eclipse.debug.ui.StringVariableSelectionDialog( getShell()); dialog.open(); String expression = dialog.getVariableExpression(); if (expression != null) { if ("${eclipse_home}".equals(expression)) { //$NON-NLS-1$ workingDir.select(1); } else if ("${workspace_loc}".equals(expression)) { //$NON-NLS-1$ workingDir.select(2); } else { workingDir.setText(expression); } } } }); } String initialCwd = UIPlugin.getScopedPreferences() .getString(IPreferenceKeys.PREF_LOCAL_TERMINAL_INITIAL_CWD); if (initialCwd == null || IPreferenceKeys.PREF_INITIAL_CWD_USER_HOME.equals(initialCwd) || "".equals(initialCwd.trim())) { //$NON-NLS-1$ workingDir.select(0); } else if (IPreferenceKeys.PREF_INITIAL_CWD_ECLIPSE_HOME.equals(initialCwd) || "${eclipse_home}".equals(initialCwd)) { //$NON-NLS-1$ workingDir.select(1); } else if (IPreferenceKeys.PREF_INITIAL_CWD_ECLIPSE_WS.equals(initialCwd) || "${workspace_loc}".equals(initialCwd)) { //$NON-NLS-1$ workingDir.select(2); } else { workingDir.setText(new Path(initialCwd).toOSString()); } NoteCompositeHelper.createNoteComposite(group.getFont(), group, Messages.PreferencePage_workingDir_note_label, Messages.PreferencePage_workingDir_note_text); group = new Group(panel, SWT.NONE); group.setText(Messages.PreferencePage_executables_label); group.setLayout(new GridLayout(2, false)); group.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false)); viewer = new TableViewer(group, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION); Table table = viewer.getTable(); table.setHeaderVisible(true); table.setLinesVisible(true); TableColumn column = new TableColumn(table, SWT.LEFT); column.setText(Messages.PreferencePage_executables_column_name_label); column = new TableColumn(table, SWT.LEFT); column.setText(Messages.PreferencePage_executables_column_path_label); ColumnViewerToolTipSupport.enableFor(viewer); TableLayout tableLayout = new TableLayout(); tableLayout.addColumnData(new ColumnWeightData(35)); tableLayout.addColumnData(new ColumnWeightData(65)); table.setLayout(tableLayout); layoutData = new GridData(SWT.FILL, SWT.FILL, true, true); layoutData.heightHint = Dialog.convertHeightInCharsToPixels(gc.getFontMetrics(), 10); table.setLayoutData(layoutData); Composite buttonsPanel = new Composite(group, SWT.NONE); GridLayout layout = new GridLayout(); layout.marginHeight = 0; layout.marginWidth = 0; buttonsPanel.setLayout(layout); buttonsPanel.setLayoutData(new GridData(SWT.LEAD, SWT.BEGINNING, false, false)); addButton = new Button(buttonsPanel, SWT.PUSH); addButton.setText(Messages.PreferencePage_executables_button_add_label); layoutData = new GridData(SWT.FILL, SWT.CENTER, false, false); layoutData.widthHint = Dialog.convertWidthInCharsToPixels(gc.getFontMetrics(), 10); addButton.setLayoutData(layoutData); addButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { ExternalExecutablesDialog dialog = new ExternalExecutablesDialog(PreferencePage.this.getShell(), false); if (dialog.open() == Window.OK) { // Get the executable properties and add it to the the list Map<String, String> executableData = dialog.getExecutableData(); if (executableData != null && !executables.contains(executableData)) { executables.add(executableData); viewer.refresh(); } } } }); editButton = new Button(buttonsPanel, SWT.PUSH); editButton.setText(Messages.PreferencePage_executables_button_edit_label); layoutData = new GridData(SWT.FILL, SWT.CENTER, true, false); layoutData.widthHint = Dialog.convertWidthInCharsToPixels(gc.getFontMetrics(), 10); editButton.setLayoutData(layoutData); editButton.addSelectionListener(new SelectionAdapter() { @SuppressWarnings("unchecked") @Override public void widgetSelected(SelectionEvent e) { ISelection s = viewer.getSelection(); if (s instanceof IStructuredSelection && !s.isEmpty()) { Object element = ((IStructuredSelection) s).getFirstElement(); if (element instanceof Map) { final Map<String, String> m = (Map<String, String>) element; ExternalExecutablesDialog dialog = new ExternalExecutablesDialog( PreferencePage.this.getShell(), true); dialog.setExecutableData(m); if (dialog.open() == Window.OK) { Map<String, String> executableData = dialog.getExecutableData(); if (executableData != null) { m.clear(); m.putAll(executableData); viewer.refresh(); } } } } } }); removeButton = new Button(buttonsPanel, SWT.PUSH); removeButton.setText(Messages.PreferencePage_executables_button_remove_label); layoutData = new GridData(SWT.FILL, SWT.CENTER, true, false); layoutData.widthHint = Dialog.convertWidthInCharsToPixels(gc.getFontMetrics(), 10); removeButton.setLayoutData(layoutData); removeButton.addSelectionListener(new SelectionAdapter() { @SuppressWarnings("unchecked") @Override public void widgetSelected(SelectionEvent e) { ISelection s = viewer.getSelection(); if (s instanceof IStructuredSelection && !s.isEmpty()) { Iterator<?> iterator = ((IStructuredSelection) s).iterator(); while (iterator.hasNext()) { Object element = iterator.next(); if (element instanceof Map) { Map<String, Object> m = (Map<String, Object>) element; executables.remove(m); } viewer.refresh(); } } } }); viewer.setContentProvider(new IStructuredContentProvider() { @Override public Object[] getElements(Object inputElement) { if (inputElement instanceof List && !((List<?>) inputElement).isEmpty()) { return ((List<?>) inputElement).toArray(); } return NO_ELEMENTS; } @Override public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } @Override public void dispose() { } }); viewer.setLabelProvider(new ITableLabelProvider() { @SuppressWarnings("unchecked") @Override public String getColumnText(Object element, int columnIndex) { if (element instanceof Map) { Map<String, Object> m = (Map<String, Object>) element; switch (columnIndex) { case 0: return (String) m.get(IExternalExecutablesProperties.PROP_NAME); case 1: return (String) m.get(IExternalExecutablesProperties.PROP_PATH); } } return null; } @SuppressWarnings("unchecked") @Override public Image getColumnImage(Object element, int columnIndex) { Image i = null; if (element instanceof Map) { switch (columnIndex) { case 0: Map<String, Object> m = (Map<String, Object>) element; String icon = (String) m.get(IExternalExecutablesProperties.PROP_ICON); if (icon != null) { i = images.get(icon); if (i == null) { ImageData id = ExternalExecutablesManager.loadImage(icon); if (id != null) { ImageDescriptor d = ImageDescriptor.createFromImageData(id); if (d != null) i = d.createImage(); if (i != null) images.put(icon, i); } } } break; case 1: break; } } return i; } @Override public void removeListener(ILabelProviderListener listener) { } @Override public boolean isLabelProperty(Object element, String property) { return false; } @Override public void dispose() { } @Override public void addListener(ILabelProviderListener listener) { } }); List<Map<String, String>> l = ExternalExecutablesManager.load(); if (l != null) executables.addAll(l); viewer.setInput(executables); viewer.addPostSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { updateButtons(); } }); updateButtons(); gc.dispose(); return panel; }
From source file:org.eclipse.tm4e.languageconfiguration.internal.preferences.LanguageConfigurationPreferencePage.java
License:Open Source License
/** * Create grammar list content.//from w w w. j a v a 2 s .c o m * * @param parent */ private void createDefinitionsListContent(Composite parent) { Label description = new Label(parent, SWT.NONE); description.setText(LanguageConfigurationMessages.LanguageConfigurationPreferencePage_description2); description.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false, 2, 1)); Composite tableComposite = new Composite(parent, SWT.NONE); GridData data = new GridData(GridData.FILL_BOTH); data.widthHint = 360; data.heightHint = convertHeightInCharsToPixels(10); tableComposite.setLayoutData(data); TableColumnLayout columnLayout = new TableColumnLayout(); tableComposite.setLayout(columnLayout); Table table = new Table(tableComposite, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL); table.setHeaderVisible(true); table.setLinesVisible(true); GC gc = new GC(getShell()); gc.setFont(JFaceResources.getDialogFont()); ColumnViewerComparator viewerComparator = new ColumnViewerComparator(); definitionViewer = new TableViewer(table); TableColumn column1 = new TableColumn(table, SWT.NONE); column1.setText(LanguageConfigurationMessages.LanguageConfigurationPreferencePage_contentType); int minWidth = computeMinimumColumnWidth(gc, LanguageConfigurationMessages.LanguageConfigurationPreferencePage_contentType); columnLayout.setColumnData(column1, new ColumnWeightData(2, minWidth, true)); column1.addSelectionListener(new ColumnSelectionAdapter(column1, definitionViewer, 0, viewerComparator)); TableColumn column2 = new TableColumn(table, SWT.NONE); column2.setText(LanguageConfigurationMessages.LanguageConfigurationPreferencePage_path); minWidth = computeMinimumColumnWidth(gc, LanguageConfigurationMessages.LanguageConfigurationPreferencePage_path); columnLayout.setColumnData(column2, new ColumnWeightData(2, minWidth, true)); column2.addSelectionListener(new ColumnSelectionAdapter(column2, definitionViewer, 1, viewerComparator)); TableColumn column3 = new TableColumn(table, SWT.NONE); column3.setText(LanguageConfigurationMessages.LanguageConfigurationPreferencePage_pluginId); minWidth = computeMinimumColumnWidth(gc, LanguageConfigurationMessages.LanguageConfigurationPreferencePage_pluginId); columnLayout.setColumnData(column3, new ColumnWeightData(2, minWidth, true)); column3.addSelectionListener(new ColumnSelectionAdapter(column3, definitionViewer, 2, viewerComparator)); gc.dispose(); definitionViewer.setLabelProvider(new LanguageConfigurationLabelProvider()); definitionViewer.setContentProvider(new LanguageConfigurationContentProvider()); definitionViewer.setComparator(viewerComparator); definitionViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent e) { IStructuredSelection selection = definitionViewer.getStructuredSelection(); infoWidget.refresh(null, manager); if (selection.isEmpty()) { return; } ILanguageConfigurationDefinition definition = (ILanguageConfigurationDefinition) (selection) .getFirstElement(); // Update button definitionRemoveButton.setEnabled(definition.getPluginId() == null); selectDefinition(definition); } private void selectDefinition(ILanguageConfigurationDefinition definition) { infoWidget.refresh(definition, manager); } }); // Specify default sorting table.setSortColumn(column1); table.setSortDirection(viewerComparator.getDirection()); BidiUtils.applyTextDirection(definitionViewer.getControl(), BidiUtils.BTD_DEFAULT); Composite buttons = new Composite(parent, SWT.NONE); buttons.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING)); GridLayout layout = new GridLayout(); layout.marginHeight = 0; layout.marginWidth = 0; buttons.setLayout(layout); definitionNewButton = new Button(buttons, SWT.PUSH); definitionNewButton.setText(LanguageConfigurationMessages.LanguageConfigurationPreferencePage_new); definitionNewButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); definitionNewButton.addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event e) { add(); } private void add() { // Open import wizard for language configurations. LanguageConfigurationImportWizard wizard = new LanguageConfigurationImportWizard(false); wizard.setRegistryManager(manager); WizardDialog dialog = new WizardDialog(getShell(), wizard); if (dialog.open() == Window.OK) { ILanguageConfigurationDefinition created = wizard.getCreatedDefinition(); definitionViewer.refresh(); definitionViewer.setSelection(new StructuredSelection(created)); } } }); definitionRemoveButton = new Button(buttons, SWT.PUSH); definitionRemoveButton.setText(LanguageConfigurationMessages.LanguageConfigurationPreferencePage_remove); definitionRemoveButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); definitionRemoveButton.addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event e) { remove(); } private void remove() { Collection<ILanguageConfigurationDefinition> definitions = getSelectedUserDefinitions(); if (!definitions.isEmpty()) { for (ILanguageConfigurationDefinition definition : definitions) { manager.unregisterLanguageConfigurationDefinition(definition); } definitionViewer.refresh(); } } }); }
From source file:org.eclipse.tm4e.languageconfiguration.internal.widgets.AutoClosingPairConditionalTableWidget.java
License:Open Source License
public AutoClosingPairConditionalTableWidget(Table table) { super(table); setLabelProvider(new AutoClosingPairConditionalLabelProvider()); GC gc = new GC(table.getShell()); gc.setFont(JFaceResources.getDialogFont()); TableColumnLayout columnLayout = new TableColumnLayout(); TableColumn column2 = new TableColumn(table, SWT.NONE); column2.setText(LanguageConfigurationMessages.AutoClosingPairConditionalTableWidget_notIn); int minWidth = computeMinimumColumnWidth(gc, LanguageConfigurationMessages.AutoClosingPairConditionalTableWidget_notIn); columnLayout.setColumnData(column2, new ColumnWeightData(2, minWidth, true)); }
From source file:org.eclipse.tm4e.languageconfiguration.internal.widgets.CharacterPairsTableWidget.java
License:Open Source License
public CharacterPairsTableWidget(Table table) { super(table); setContentProvider(new CharacterPairContentProvider()); setLabelProvider(new CharacterPairLabelProvider()); GC gc = new GC(table.getShell()); gc.setFont(JFaceResources.getDialogFont()); TableColumnLayout columnLayout = new TableColumnLayout(); TableColumn column1 = new TableColumn(table, SWT.NONE); column1.setText(LanguageConfigurationMessages.CharacterPairsTableWidget_start); int minWidth = computeMinimumColumnWidth(gc, LanguageConfigurationMessages.CharacterPairsTableWidget_start); columnLayout.setColumnData(column1, new ColumnWeightData(2, minWidth, true)); TableColumn column2 = new TableColumn(table, SWT.NONE); column2.setText(LanguageConfigurationMessages.CharacterPairsTableWidget_end); minWidth = computeMinimumColumnWidth(gc, LanguageConfigurationMessages.CharacterPairsTableWidget_end); columnLayout.setColumnData(column2, new ColumnWeightData(2, minWidth, true)); }
From source file:org.eclipse.tm4e.languageconfiguration.internal.widgets.OnEnterRuleTableWidget.java
License:Open Source License
public OnEnterRuleTableWidget(Table table) { super(table); setContentProvider(new OnEnterRuleContentProvider()); setLabelProvider(new OnEnterRuleLabelProvider()); GC gc = new GC(table.getShell()); gc.setFont(JFaceResources.getDialogFont()); TableColumnLayout columnLayout = new TableColumnLayout(); TableColumn column1 = new TableColumn(table, SWT.NONE); column1.setText(LanguageConfigurationMessages.OnEnterRuleTableWidget_beforeText); int minWidth = computeMinimumColumnWidth(gc, LanguageConfigurationMessages.OnEnterRuleTableWidget_beforeText); columnLayout.setColumnData(column1, new ColumnWeightData(2, minWidth, true)); TableColumn column2 = new TableColumn(table, SWT.NONE); column2.setText(LanguageConfigurationMessages.OnEnterRuleTableWidget_afterText); minWidth = computeMinimumColumnWidth(gc, LanguageConfigurationMessages.OnEnterRuleTableWidget_afterText); columnLayout.setColumnData(column2, new ColumnWeightData(2, minWidth, true)); TableColumn column3 = new TableColumn(table, SWT.NONE); column3.setText(LanguageConfigurationMessages.OnEnterRuleTableWidget_indentAction); minWidth = computeMinimumColumnWidth(gc, LanguageConfigurationMessages.OnEnterRuleTableWidget_indentAction); columnLayout.setColumnData(column3, new ColumnWeightData(1, minWidth, true)); TableColumn column4 = new TableColumn(table, SWT.NONE); column4.setText(LanguageConfigurationMessages.OnEnterRuleTableWidget_appendText); minWidth = computeMinimumColumnWidth(gc, LanguageConfigurationMessages.OnEnterRuleTableWidget_appendText); columnLayout.setColumnData(column4, new ColumnWeightData(1, minWidth, true)); TableColumn column5 = new TableColumn(table, SWT.NONE); column5.setText(LanguageConfigurationMessages.OnEnterRuleTableWidget_removeText); minWidth = computeMinimumColumnWidth(gc, LanguageConfigurationMessages.OnEnterRuleTableWidget_removeText); columnLayout.setColumnData(column5, new ColumnWeightData(1, minWidth, true)); }