List of usage examples for org.eclipse.jface.util BidiUtils applyTextDirection
public static void applyTextDirection(Control control, String textDirection)
From source file:e4.handler.E4TemplatePreferencePage.java
License:Open Source License
@Override protected Control createContents(Composite ancestor) { Composite parent = new Composite(ancestor, SWT.NONE); GridLayout layout = new GridLayout(); layout.numColumns = 2;/*from w w w. j a v a2 s .co m*/ layout.marginHeight = 0; layout.marginWidth = 0; parent.setLayout(layout); Composite innerParent = new Composite(parent, SWT.NONE); GridLayout innerLayout = new GridLayout(); innerLayout.numColumns = 2; innerLayout.marginHeight = 0; innerLayout.marginWidth = 0; innerParent.setLayout(innerLayout); GridData gd = new GridData(GridData.FILL_BOTH); gd.horizontalSpan = 2; innerParent.setLayoutData(gd); Composite tableComposite = new Composite(innerParent, SWT.NONE); GridData data = new GridData(GridData.FILL_BOTH); data.widthHint = 360; data.heightHint = convertHeightInCharsToPixels(10); tableComposite.setLayoutData(data); ColumnLayout columnLayout = new ColumnLayout(); tableComposite.setLayout(columnLayout); Table table = new Table(tableComposite, SWT.CHECK | 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()); TableColumn column1 = new TableColumn(table, SWT.NONE); column1.setText(TemplatesMessages.TemplatePreferencePage_column_name); int minWidth = computeMinimumColumnWidth(gc, TemplatesMessages.TemplatePreferencePage_column_name); columnLayout.addColumnData(new ColumnWeightData(2, minWidth, true)); TableColumn column2 = new TableColumn(table, SWT.NONE); column2.setText(TemplatesMessages.TemplatePreferencePage_column_context); minWidth = computeMinimumContextColumnWidth(gc); columnLayout.addColumnData(new ColumnWeightData(1, minWidth, true)); TableColumn column3 = new TableColumn(table, SWT.NONE); column3.setText(TemplatesMessages.TemplatePreferencePage_column_description); minWidth = computeMinimumColumnWidth(gc, TemplatesMessages.TemplatePreferencePage_column_description); columnLayout.addColumnData(new ColumnWeightData(3, minWidth, true)); TableColumn column4 = new TableColumn(table, SWT.NONE); column4.setAlignment(SWT.CENTER); column4.setText(TemplatesMessages.TemplatePreferencePage_column_autoinsert); minWidth = computeMinimumColumnWidth(gc, TemplatesMessages.TemplatePreferencePage_column_autoinsert); minWidth = Math.max(minWidth, computeMinimumColumnWidth(gc, TemplatesMessages.TemplatePreferencePage_on)); columnLayout.addColumnData(new ColumnPixelData(minWidth, false, false)); gc.dispose(); fTableViewer = new CheckboxTableViewer(table); fTableViewer.setLabelProvider(new TemplateLabelProvider()); fTableViewer.setContentProvider(new TemplateContentProvider()); fTableViewer.setComparator(new ViewerComparator() { @Override public int compare(Viewer viewer, Object object1, Object object2) { if ((object1 instanceof TemplatePersistenceData) && (object2 instanceof TemplatePersistenceData)) { Template left = ((TemplatePersistenceData) object1).getTemplate(); Template right = ((TemplatePersistenceData) object2).getTemplate(); int result = Collator.getInstance().compare(left.getName(), right.getName()); if (result != 0) return result; return Collator.getInstance().compare(left.getDescription(), right.getDescription()); } return super.compare(viewer, object1, object2); } @Override public boolean isSorterProperty(Object element, String property) { return true; } }); fTableViewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent e) { edit(); } }); fTableViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent e) { selectionChanged1(); } }); fTableViewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { TemplatePersistenceData d = (TemplatePersistenceData) event.getElement(); d.setEnabled(event.getChecked()); } }); BidiUtils.applyTextDirection(fTableViewer.getControl(), BidiUtils.BTD_DEFAULT); Composite buttons = new Composite(innerParent, SWT.NONE); buttons.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING)); layout = new GridLayout(); layout.marginHeight = 0; layout.marginWidth = 0; buttons.setLayout(layout); fAddButton = new Button(buttons, SWT.PUSH); fAddButton.setText(TemplatesMessages.TemplatePreferencePage_new); fAddButton.setLayoutData(getButtonGridData(fAddButton)); fAddButton.addListener(SWT.Selection, new Listener() { public void handleEvent(Event e) { add(); } }); fEditButton = new Button(buttons, SWT.PUSH); fEditButton.setText(TemplatesMessages.TemplatePreferencePage_edit); fEditButton.setLayoutData(getButtonGridData(fEditButton)); fEditButton.addListener(SWT.Selection, new Listener() { public void handleEvent(Event e) { edit(); } }); fRemoveButton = new Button(buttons, SWT.PUSH); fRemoveButton.setText(TemplatesMessages.TemplatePreferencePage_remove); fRemoveButton.setLayoutData(getButtonGridData(fRemoveButton)); fRemoveButton.addListener(SWT.Selection, new Listener() { public void handleEvent(Event e) { remove(); } }); createSeparator(buttons); fRestoreButton = new Button(buttons, SWT.PUSH); fRestoreButton.setText(TemplatesMessages.TemplatePreferencePage_restore); fRestoreButton.setLayoutData(getButtonGridData(fRestoreButton)); fRestoreButton.addListener(SWT.Selection, new Listener() { public void handleEvent(Event e) { restoreDeleted(); } }); fRevertButton = new Button(buttons, SWT.PUSH); fRevertButton.setText(TemplatesMessages.TemplatePreferencePage_revert); fRevertButton.setLayoutData(getButtonGridData(fRevertButton)); fRevertButton.addListener(SWT.Selection, new Listener() { public void handleEvent(Event e) { revert(); } }); createSeparator(buttons); fImportButton = new Button(buttons, SWT.PUSH); fImportButton.setText(TemplatesMessages.TemplatePreferencePage_import); fImportButton.setLayoutData(getButtonGridData(fImportButton)); fImportButton.addListener(SWT.Selection, new Listener() { public void handleEvent(Event e) { import_(); } }); fExportButton = new Button(buttons, SWT.PUSH); fExportButton.setText(TemplatesMessages.TemplatePreferencePage_export); fExportButton.setLayoutData(getButtonGridData(fExportButton)); fExportButton.addListener(SWT.Selection, new Listener() { public void handleEvent(Event e) { export(); } }); fPatternViewer = doCreateViewer(parent); if (isShowFormatterSetting()) { fFormatButton = new Button(parent, SWT.CHECK); fFormatButton.setText(TemplatesMessages.TemplatePreferencePage_use_code_formatter); GridData gd1 = new GridData(); gd1.horizontalSpan = 2; fFormatButton.setLayoutData(gd1); fFormatButton.setSelection(getPreferenceStore().getBoolean(getFormatterPreferenceKey())); } fTableViewer.setInput(fTemplateStore); fTableViewer.setAllChecked(false); fTableViewer.setCheckedElements(getEnabledTemplates()); updateButtons(); Dialog.applyDialogFont(parent); innerParent.layout(); return parent; }
From source file:org.eclipse.tm4e.languageconfiguration.internal.preferences.LanguageConfigurationPreferencePage.java
License:Open Source License
/** * Create grammar list content./*from ww w.ja v a2 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.ui.internal.preferences.GrammarPreferencePage.java
License:Open Source License
/** * Create grammar list content.//from w w w.j a va 2 s. c o m * * @param parent */ private void createGrammarListContent(Composite parent) { 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(); grammarViewer = new TableViewer(table); TableColumn column1 = new TableColumn(table, SWT.NONE); column1.setText(TMUIMessages.GrammarPreferencePage_column_scopeName); int minWidth = computeMinimumColumnWidth(gc, TMUIMessages.GrammarPreferencePage_column_scopeName); columnLayout.setColumnData(column1, new ColumnWeightData(2, minWidth, true)); column1.addSelectionListener(new ColumnSelectionAdapter(column1, grammarViewer, 0, viewerComparator)); TableColumn column2 = new TableColumn(table, SWT.NONE); column2.setText(TMUIMessages.GrammarPreferencePage_column_path); minWidth = computeMinimumColumnWidth(gc, TMUIMessages.GrammarPreferencePage_column_path); columnLayout.setColumnData(column2, new ColumnWeightData(2, minWidth, true)); column2.addSelectionListener(new ColumnSelectionAdapter(column2, grammarViewer, 1, viewerComparator)); TableColumn column3 = new TableColumn(table, SWT.NONE); column3.setText(TMUIMessages.GrammarPreferencePage_column_pluginId); minWidth = computeMinimumColumnWidth(gc, TMUIMessages.GrammarPreferencePage_column_pluginId); columnLayout.setColumnData(column3, new ColumnWeightData(2, minWidth, true)); column3.addSelectionListener(new ColumnSelectionAdapter(column3, grammarViewer, 2, viewerComparator)); gc.dispose(); grammarViewer.setLabelProvider(new GrammarDefinitionLabelProvider()); grammarViewer.setContentProvider(new GrammarDefinitionContentProvider()); grammarViewer.setComparator(viewerComparator); grammarViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent e) { IStructuredSelection selection = grammarViewer.getStructuredSelection(); if (selection.isEmpty()) { return; } IGrammarDefinition definition = (IGrammarDefinition) (selection).getFirstElement(); // Update button grammarRemoveButton.setEnabled(definition.getPluginId() != null); themeAssociationsWidget.getNewButton().setEnabled(false); themeAssociationsWidget.getRemoveButton().setEnabled(false); // Select grammar selectGrammar(definition); } private void selectGrammar(IGrammarDefinition definition) { String scopeName = definition.getScopeName(); // Fill "General" tab fillGeneralTab(scopeName); // Fill "Content type" tab fillContentTypeTab(scopeName); // Fill "Theme" tab IThemeAssociation selectedAssociation = fillThemeTab(definition); // Fill preview fillPreview(scopeName, selectedAssociation); } private void fillGeneralTab(String scopeName) { IGrammar grammar = grammarRegistryManager.getGrammarForScope(scopeName); grammarInfoWidget.refresh(grammar); } private void fillContentTypeTab(String scopeName) { // Load the content type binding for the given grammar String[] contentTypes = grammarRegistryManager.getContentTypesForScope(scopeName); contentTypesWidget.setInput(contentTypes); } private IThemeAssociation fillThemeTab(IGrammarDefinition definition) { IThemeAssociation selectedAssociation = null; IStructuredSelection oldSelection = (IStructuredSelection) themeAssociationsWidget.getSelection(); // Load the theme associations for the given grammar IThemeAssociation[] themeAssociations = themeAssociationsWidget.setGrammarDefinition(definition); // Try to keep selection if (!oldSelection.isEmpty() && Arrays.asList(themeAssociations).contains(oldSelection.getFirstElement())) { selectedAssociation = (IThemeAssociation) oldSelection.getFirstElement(); themeAssociationsWidget.setSelection(oldSelection); } else { selectedAssociation = themeAssociations != null && themeAssociations.length > 0 ? themeAssociations[0] : null; if (selectedAssociation != null) { themeAssociationsWidget.setSelection(new StructuredSelection(selectedAssociation)); } } return selectedAssociation; } private void fillPreview(String scopeName, IThemeAssociation selectedAssociation) { // Preview the grammar IGrammar grammar = grammarRegistryManager.getGrammarForScope(scopeName); if (selectedAssociation != null) { setPreviewTheme(selectedAssociation.getThemeId()); } previewViewer.setGrammar(grammar); // Snippet ISnippet[] snippets = snippetManager.getSnippets(scopeName); if (snippets != null && snippets.length > 0) { // TODO: manage list of snippet for the given scope. previewViewer.setText(snippets[0].getContent()); } } }); // Specify default sorting table.setSortColumn(column1); table.setSortDirection(viewerComparator.getDirection()); BidiUtils.applyTextDirection(grammarViewer.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); grammarNewButton = new Button(buttons, SWT.PUSH); grammarNewButton.setText(TMUIMessages.Button_new); grammarNewButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); grammarNewButton.addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event e) { add(); } private void add() { // Open import wizard for TextMate grammar. TextMateGrammarImportWizard wizard = new TextMateGrammarImportWizard(false); wizard.setGrammarRegistryManager(grammarRegistryManager); WizardDialog dialog = new WizardDialog(getShell(), wizard); if (dialog.open() == Window.OK) { // User grammar was saved, refresh the list of grammar and // select the created grammar. IGrammarDefinition created = wizard.getCreatedDefinition(); grammarViewer.refresh(); grammarViewer.setSelection(new StructuredSelection(created)); } } }); grammarRemoveButton = new Button(buttons, SWT.PUSH); grammarRemoveButton.setText(TMUIMessages.Button_remove); grammarRemoveButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); grammarRemoveButton.addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event e) { remove(); } private void remove() { Collection<IGrammarDefinition> definitions = getSelectedUserGrammarDefinitions(); if (!definitions.isEmpty()) { for (IGrammarDefinition definition : definitions) { grammarRegistryManager.unregisterGrammarDefinition(definition); } grammarViewer.refresh(); } } }); }
From source file:org.eclipse.tm4e.ui.internal.preferences.ThemePreferencePage.java
License:Open Source License
/** * Create the theme list content.//from w w w . j a v a 2 s. co m * * @param parent */ private void createThemesContent(Composite parent) { GridLayout layout; 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(); themeViewer = new TableViewer(table); TableColumn column1 = new TableColumn(table, SWT.NONE); column1.setText(TMUIMessages.ThemePreferencePage_column_name); int minWidth = computeMinimumColumnWidth(gc, TMUIMessages.ThemePreferencePage_column_name); columnLayout.setColumnData(column1, new ColumnWeightData(2, minWidth, true)); column1.addSelectionListener(new ColumnSelectionAdapter(column1, themeViewer, 0, viewerComparator)); TableColumn column2 = new TableColumn(table, SWT.NONE); column2.setText(TMUIMessages.ThemePreferencePage_column_path); minWidth = computeMinimumColumnWidth(gc, TMUIMessages.ThemePreferencePage_column_path); columnLayout.setColumnData(column2, new ColumnWeightData(2, minWidth, true)); column2.addSelectionListener(new ColumnSelectionAdapter(column2, themeViewer, 1, viewerComparator)); TableColumn column3 = new TableColumn(table, SWT.NONE); column3.setText(TMUIMessages.ThemePreferencePage_column_pluginId); minWidth = computeMinimumColumnWidth(gc, TMUIMessages.ThemePreferencePage_column_pluginId); columnLayout.setColumnData(column3, new ColumnWeightData(2, minWidth, true)); column3.addSelectionListener(new ColumnSelectionAdapter(column3, themeViewer, 2, viewerComparator)); gc.dispose(); themeViewer.setLabelProvider(new ThemeLabelProvider()); themeViewer.setContentProvider(new ThemeContentProvider()); themeViewer.setComparator(viewerComparator); themeViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent e) { // Fill Theme details ITheme theme = ((ITheme) ((IStructuredSelection) themeViewer.getSelection()).getFirstElement()); darkThemeButton.setSelection(theme.isDark()); defaultThemeButton.setSelection(theme.isDefault()); preview(); } }); // Specify default sorting table.setSortColumn(column1); table.setSortDirection(viewerComparator.getDirection()); BidiUtils.applyTextDirection(themeViewer.getControl(), BidiUtils.BTD_DEFAULT); Composite buttons = new Composite(parent, SWT.NONE); buttons.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING)); layout = new GridLayout(); layout.marginHeight = 0; layout.marginWidth = 0; buttons.setLayout(layout); themeNewButton = new Button(buttons, SWT.PUSH); themeNewButton.setText(TMUIMessages.Button_new); themeNewButton.setLayoutData(getButtonGridData(themeNewButton)); themeNewButton.addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event e) { // add(); } }); themeRemoveButton = new Button(buttons, SWT.PUSH); themeRemoveButton.setText(TMUIMessages.Button_remove); themeRemoveButton.setLayoutData(getButtonGridData(themeRemoveButton)); themeRemoveButton.addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event e) { // remove(); } }); }