List of usage examples for org.eclipse.jface.viewers CheckboxTableViewer CheckboxTableViewer
public CheckboxTableViewer(Table table)
From source file:org.rubypeople.rdt.internal.debug.ui.preferences.EvaluationExpressionsPreferencePage.java
License:Common Public License
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 a 2s .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); Table table = new Table(innerParent, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION); GridData data = new GridData(GridData.FILL_BOTH); data.widthHint = convertWidthInCharsToPixels(3); data.heightHint = convertHeightInCharsToPixels(10); table.setLayoutData(data); table.setHeaderVisible(true); table.setLinesVisible(true); TableLayout tableLayout = new TableLayout(); table.setLayout(tableLayout); TableColumn column1 = new TableColumn(table, SWT.NONE); column1.setText(RdtDebugUiMessages.EvaluationExpressionsPreferencePage_column_name); TableColumn column2 = new TableColumn(table, SWT.NONE); column2.setText(RdtDebugUiMessages.EvaluationExpressionsPreferencePage_column_description); fTableViewer = new CheckboxTableViewer(table); fTableViewer.setLabelProvider(new EvaluationExpressionLabelProvider()); fTableViewer.setContentProvider(new EvaluationExpressionContentProvider()); 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) { ((EvaluationExpression) event.getElement()).setEnabled(event.getChecked()); } }); 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(RdtDebugUiMessages.EvaluationExpressionsPreferencePage_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(RdtDebugUiMessages.EvaluationExpressionsPreferencePage_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(RdtDebugUiMessages.EvaluationExpressionsPreferencePage_remove); fRemoveButton.setLayoutData(getButtonGridData(fRemoveButton)); fRemoveButton.addListener(SWT.Selection, new Listener() { public void handleEvent(Event e) { remove(); } }); createSeparator(buttons); fImportButton = new Button(buttons, SWT.PUSH); fImportButton.setText(RdtDebugUiMessages.EvaluationExpressionsPreferencePage_import); fImportButton.setLayoutData(getButtonGridData(fImportButton)); fImportButton.addListener(SWT.Selection, new Listener() { public void handleEvent(Event e) { importFile(); } }); fExportButton = new Button(buttons, SWT.PUSH); fExportButton.setText(RdtDebugUiMessages.EvaluationExpressionsPreferencePage_export); fExportButton.setLayoutData(getButtonGridData(fExportButton)); fExportButton.addListener(SWT.Selection, new Listener() { public void handleEvent(Event e) { exportFile(); } }); fTableViewer.setInput(fModel); setEnabledExpresions(fTableViewer); updateButtons(); configureTableResizing(innerParent, buttons, table, column1, column2); Dialog.applyDialogFont(parent); return parent; }
From source file:org.rubypeople.rdt.internal.testunit.ui.TestUnitPreferencePage.java
License:Open Source License
private void createFilterTable(Composite container) { TableLayoutComposite layouter = new TableLayoutComposite(container, SWT.NONE); layouter.addColumnData(new ColumnWeightData(100)); layouter.setLayoutData(new GridData(GridData.FILL_BOTH)); fFilterTable = new Table(layouter, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION); new TableColumn(fFilterTable, SWT.NONE); fFilterViewer = new CheckboxTableViewer(fFilterTable); fTableEditor = new TableEditor(fFilterTable); fFilterViewer.setLabelProvider(new FilterLabelProvider()); fFilterViewer.setSorter(new FilterViewerSorter()); fStackFilterContentProvider = new StackFilterContentProvider(); fFilterViewer.setContentProvider(fStackFilterContentProvider); // input just needs to be non-null fFilterViewer.setInput(this); fFilterViewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { Filter filter = (Filter) event.getElement(); fStackFilterContentProvider.toggleFilter(filter); }//from w w w . j av a 2 s . c o m }); fFilterViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { ISelection selection = event.getSelection(); fRemoveFilterButton.setEnabled(!selection.isEmpty()); } }); }
From source file:org.rubypeople.rdt.internal.ui.search.FiltersDialog.java
License:Open Source License
protected Control createDialogArea(Composite composite) { Composite parent = (Composite) super.createDialogArea(composite); initializeDialogUnits(composite);//from ww w . ja v a 2 s .com createTableLimit(parent); // Create list viewer Label l = new Label(parent, SWT.NONE); l.setFont(parent.getFont()); l.setText(org.rubypeople.rdt.internal.ui.search.SearchMessages.FiltersDialog_filters_label); Table table = new Table(parent, SWT.CHECK | SWT.BORDER); table.setFont(parent.getFont()); fListViewer = new CheckboxTableViewer(table); GridData data = new GridData(GridData.FILL_BOTH); data.minimumHeight = convertHeightInCharsToPixels(8); table.setLayoutData(data); fListViewer.setLabelProvider(new LabelProvider() { public String getText(Object element) { // Return the features's label. return ((MatchFilter) element).getName(); } }); // Set the content provider ArrayContentProvider cp = new ArrayContentProvider(); fListViewer.setContentProvider(cp); fListViewer.setInput(MatchFilter.allFilters()); fListViewer.setCheckedElements(fPage.getMatchFilters()); l = new Label(parent, SWT.NONE); l.setFont(parent.getFont()); l.setText(org.rubypeople.rdt.internal.ui.search.SearchMessages.FiltersDialog_description_label); final Text description = new Text(parent, SWT.LEFT | SWT.WRAP | SWT.MULTI | SWT.READ_ONLY | SWT.BORDER | SWT.V_SCROLL); description.setFont(parent.getFont()); data = new GridData(GridData.FILL_HORIZONTAL); data.heightHint = convertHeightInCharsToPixels(3); description.setLayoutData(data); fListViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { Object selectedElement = ((IStructuredSelection) event.getSelection()).getFirstElement(); if (selectedElement != null) description.setText(((MatchFilter) selectedElement).getDescription()); else description.setText(""); //$NON-NLS-1$ } }); return parent; }
From source file:org.seasar.s2junit4plugin.preference.NamingRulesPreference.java
License:Apache License
private void createTable(Composite container) { Label label = new Label(container, SWT.NONE); label.setText(Messages.getString("NamingRulesPreference.label")); //$NON-NLS-1$ GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); gd.horizontalSpan = 2;/*from ww w . j a v a 2 s . c om*/ label.setLayoutData(gd); Table table = new Table(container, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION); gd = new GridData(GridData.FILL_HORIZONTAL); table.setLayoutData(gd); TableLayout tableLayout = new TableLayout(); ColumnLayoutData[] columnLayoutData = new ColumnLayoutData[1]; columnLayoutData[0] = new ColumnWeightData(100); tableLayout.addColumnData(columnLayoutData[0]); table.setLayout(tableLayout); new TableColumn(table, SWT.NONE); tableViewer = new CheckboxTableViewer(table); tableViewer.setLabelProvider(new TableLabelProvider()); tableViewer.setContentProvider(new TableContentProvider()); tableViewer.setInput(this); gd = new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL); tableViewer.getTable().setLayoutData(gd); tableViewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { NamingRule namingRule = (NamingRule) event.getElement(); namingRule.setEnabled(event.getChecked()); updateView(); } }); tableViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { // unable if call update updateButtons(); } }); tableViewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { editNamingRule(); } }); }
From source file:org.spearce.egit.ui.internal.dialogs.CommitDialog.java
License:Open Source License
@Override protected Control createDialogArea(Composite parent) { Composite container = (Composite) super.createDialogArea(parent); parent.getShell().setText("Commit Changes"); GridLayout layout = new GridLayout(2, false); container.setLayout(layout);//from w w w .ja v a2 s .com Label label = new Label(container, SWT.LEFT); label.setText("Commit Message:"); label.setLayoutData(GridDataFactory.fillDefaults().span(2, 1).grab(true, false).create()); commitText = new Text(container, SWT.MULTI | SWT.BORDER | SWT.V_SCROLL); commitText .setLayoutData(GridDataFactory.fillDefaults().span(2, 1).grab(true, true).hint(600, 200).create()); // allow to commit with ctrl-enter commitText.addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent arg0) { if (arg0.keyCode == SWT.CR && (arg0.stateMask & SWT.CONTROL) > 0) { okPressed(); } else if (arg0.keyCode == SWT.TAB && (arg0.stateMask & SWT.SHIFT) == 0) { arg0.doit = false; commitText.traverse(SWT.TRAVERSE_TAB_NEXT); } } }); new Label(container, SWT.LEFT).setText("Author: "); authorText = new Text(container, SWT.BORDER); authorText.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create()); if (author != null) authorText.setText(author); amendingButton = new Button(container, SWT.CHECK); if (amending) { amendingButton.setSelection(amending); amendingButton.setEnabled(false); // if already set, don't allow any changes commitText.setText(previousCommitMessage); } else if (!amendAllowed) { amendingButton.setEnabled(false); } amendingButton.addSelectionListener(new SelectionListener() { boolean alreadyAdded = false; public void widgetSelected(SelectionEvent arg0) { if (alreadyAdded) return; if (amendingButton.getSelection()) { alreadyAdded = true; String curText = commitText.getText(); if (curText.length() > 0) curText += "\n"; commitText.setText(curText + previousCommitMessage); } } public void widgetDefaultSelected(SelectionEvent arg0) { // Empty } }); amendingButton.setText("Amend previous commit"); amendingButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).span(2, 1).create()); signedOffButton = new Button(container, SWT.CHECK); signedOffButton.setSelection(signedOff); signedOffButton.setText("Add Signed-off-by"); signedOffButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).span(2, 1).create()); Table resourcesTable = new Table(container, SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.MULTI | SWT.CHECK | SWT.BORDER); resourcesTable .setLayoutData(GridDataFactory.fillDefaults().hint(600, 200).span(2, 1).grab(true, true).create()); resourcesTable.setHeaderVisible(true); TableColumn statCol = new TableColumn(resourcesTable, SWT.LEFT); statCol.setText("Status"); statCol.setWidth(150); TableColumn resourceCol = new TableColumn(resourcesTable, SWT.LEFT); resourceCol.setText("File"); resourceCol.setWidth(415); filesViewer = new CheckboxTableViewer(resourcesTable); filesViewer.setContentProvider(new IStructuredContentProvider() { public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { // Empty } public void dispose() { // Empty } public Object[] getElements(Object inputElement) { return files.toArray(); } }); filesViewer.setLabelProvider(new CommitLabelProvider()); filesViewer.setInput(files); filesViewer.setAllChecked(true); filesViewer.getTable().setMenu(getContextMenu()); container.pack(); return container; }
From source file:org.springframework.ide.eclipse.boot.dash.ngrok.NGROKInstallBlock.java
License:Open Source License
public void createControl(Composite ancestor) { Font font = ancestor.getFont(); Composite parent = SWTFactory.createComposite(ancestor, font, 2, 1, GridData.FILL_BOTH); control = parent;//from w ww .j av a 2 s .c om SWTFactory.createLabel(parent, "ngrok Installations:", 2); table = new Table(parent, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION); GridData gd = new GridData(GridData.FILL_BOTH); gd.heightHint = 250; gd.widthHint = 350; table.setLayoutData(gd); table.setFont(font); table.setHeaderVisible(true); table.setLinesVisible(true); TableColumn column = new TableColumn(table, SWT.NULL); column.setText("Location"); column.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { sortByLocation(); } }); ngrokList = new CheckboxTableViewer(table); ngrokList.setLabelProvider(new NGROKLabelProvider()); ngrokList.setContentProvider(new NGROKContentProvider()); // by default, sort by name sortByLocation(); ngrokList.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent evt) { enableButtons(); } }); ngrokList.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { if (event.getChecked()) { setCheckedNGROK((String) event.getElement()); } else { setCheckedNGROK(null); } } }); ngrokList.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent e) { if (!ngrokList.getSelection().isEmpty()) { editNGROK(); } } }); table.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent event) { if (event.character == SWT.DEL && event.stateMask == 0) { if (removeButton.isEnabled()) { removeNGROKs(); } } } }); Composite buttons = SWTFactory.createComposite(parent, font, 1, 1, GridData.VERTICAL_ALIGN_BEGINNING, 0, 0); addButton = SWTFactory.createPushButton(buttons, "Add...", null); addButton.addListener(SWT.Selection, new Listener() { public void handleEvent(Event evt) { addNGROK(); } }); editButton = SWTFactory.createPushButton(buttons, "Edit...", null); editButton.addListener(SWT.Selection, new Listener() { public void handleEvent(Event evt) { editNGROK(); } }); removeButton = SWTFactory.createPushButton(buttons, "Remove...", null); removeButton.addListener(SWT.Selection, new Listener() { public void handleEvent(Event evt) { removeNGROKs(); } }); SWTFactory.createVerticalSpacer(parent, 1); fillWithWorkspaceNGROKs(); enableButtons(); addButton.setEnabled(true); }
From source file:org.springframework.ide.eclipse.boot.ui.preferences.InstalledBootInstallBlock.java
License:Open Source License
public void createControl(Composite ancestor) { Font font = ancestor.getFont(); Composite parent = SWTFactory.createComposite(ancestor, font, 2, 1, GridData.FILL_BOTH); fControl = parent;/* w w w . j a v a 2 s . c o m*/ SWTFactory.createLabel(parent, "Boot Installations:", 2); fTable = new Table(parent, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION); GridData gd = new GridData(GridData.FILL_BOTH); gd.heightHint = 250; gd.widthHint = 350; fTable.setLayoutData(gd); fTable.setFont(font); fTable.setHeaderVisible(true); fTable.setLinesVisible(true); TableColumn column = new TableColumn(fTable, SWT.NULL); column.setText("Name"); column.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { sortByName(); } }); column = new TableColumn(fTable, SWT.NULL); column.setText("Location"); column.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { sortByLocation(); } }); fVMList = new CheckboxTableViewer(fTable); fVMList.setLabelProvider(new VMLabelProvider()); fVMList.setContentProvider(new JREsContentProvider()); // by default, sort by name sortByName(); fVMList.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent evt) { enableButtons(); } }); fVMList.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { if (event.getChecked()) { setCheckedJRE((IBootInstall) event.getElement()); } else { setCheckedJRE(null); } } }); fVMList.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent e) { if (!fVMList.getSelection().isEmpty()) { editVM(); } } }); fTable.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent event) { if (event.character == SWT.DEL && event.stateMask == 0) { if (fRemoveButton.isEnabled()) { removeVMs(); } } } }); Composite buttons = SWTFactory.createComposite(parent, font, 1, 1, GridData.VERTICAL_ALIGN_BEGINNING, 0, 0); fAddButton = SWTFactory.createPushButton(buttons, "Add...", null); fAddButton.addListener(SWT.Selection, new Listener() { public void handleEvent(Event evt) { addVM(); } }); fEditButton = SWTFactory.createPushButton(buttons, "Edit...", null); fEditButton.addListener(SWT.Selection, new Listener() { public void handleEvent(Event evt) { editVM(); } }); fRemoveButton = SWTFactory.createPushButton(buttons, "Remove...", null); fRemoveButton.addListener(SWT.Selection, new Listener() { public void handleEvent(Event evt) { removeVMs(); } }); SWTFactory.createVerticalSpacer(parent, 1); fillWithWorkspaceJREs(); enableButtons(); fAddButton.setEnabled(JavaRuntime.getVMInstallTypes().length > 0); }
From source file:org.springframework.ide.eclipse.roo.ui.internal.properties.InstalledRooInstallBlock.java
License:Open Source License
public void createControl(Composite ancestor) { Font font = ancestor.getFont(); Composite parent = SWTFactory.createComposite(ancestor, font, 2, 1, GridData.FILL_BOTH); fControl = parent;/*from w w w . j av a 2s . c om*/ SWTFactory.createLabel(parent, "Roo Installations:", 2); fTable = new Table(parent, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION); GridData gd = new GridData(GridData.FILL_BOTH); gd.heightHint = 250; gd.widthHint = 350; fTable.setLayoutData(gd); fTable.setFont(font); fTable.setHeaderVisible(true); fTable.setLinesVisible(true); TableColumn column = new TableColumn(fTable, SWT.NULL); column.setText("Name"); column.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { sortByName(); } }); column = new TableColumn(fTable, SWT.NULL); column.setText("Location"); column.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { sortByLocation(); } }); fVMList = new CheckboxTableViewer(fTable); fVMList.setLabelProvider(new VMLabelProvider()); fVMList.setContentProvider(new JREsContentProvider()); // by default, sort by name sortByName(); fVMList.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent evt) { enableButtons(); } }); fVMList.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { if (event.getChecked()) { setCheckedJRE((IRooInstall) event.getElement()); } else { setCheckedJRE(null); } } }); fVMList.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent e) { if (!fVMList.getSelection().isEmpty()) { editVM(); } } }); fTable.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent event) { if (event.character == SWT.DEL && event.stateMask == 0) { if (fRemoveButton.isEnabled()) { removeVMs(); } } } }); Composite buttons = SWTFactory.createComposite(parent, font, 1, 1, GridData.VERTICAL_ALIGN_BEGINNING, 0, 0); fAddButton = SWTFactory.createPushButton(buttons, "Add...", null); fAddButton.addListener(SWT.Selection, new Listener() { public void handleEvent(Event evt) { addVM(); } }); fEditButton = SWTFactory.createPushButton(buttons, "Edit...", null); fEditButton.addListener(SWT.Selection, new Listener() { public void handleEvent(Event evt) { editVM(); } }); fRemoveButton = SWTFactory.createPushButton(buttons, "Remove...", null); fRemoveButton.addListener(SWT.Selection, new Listener() { public void handleEvent(Event evt) { removeVMs(); } }); SWTFactory.createVerticalSpacer(parent, 1); fillWithWorkspaceJREs(); enableButtons(); fAddButton.setEnabled(JavaRuntime.getVMInstallTypes().length > 0); }
From source file:org.summer.sdt.internal.debug.ui.jres.ExecutionEnvironmentsPreferencePage.java
License:Open Source License
@Override protected Control createContents(Composite ancestor) { initializeDialogUnits(ancestor);/*from w w w . j a va2s.c o m*/ noDefaultAndApplyButton(); // TODO: fix help PlatformUI.getWorkbench().getHelpSystem().setHelp(ancestor, IJavaDebugHelpContextIds.JRE_PROFILES_PAGE); // init default mappings IExecutionEnvironmentsManager manager = JavaRuntime.getExecutionEnvironmentsManager(); IExecutionEnvironment[] environments = manager.getExecutionEnvironments(); for (int i = 0; i < environments.length; i++) { IExecutionEnvironment environment = environments[i]; IVMInstall install = environment.getDefaultVM(); if (install != null) { fDefaults.put(environment, install); } } Composite container = new Composite(ancestor, SWT.NONE); GridLayout layout = new GridLayout(); layout.numColumns = 2; layout.marginHeight = 0; layout.marginWidth = 0; layout.makeColumnsEqualWidth = true; container.setLayout(layout); GridData gd = new GridData(GridData.FILL_BOTH); container.setLayoutData(gd); container.setFont(ancestor.getFont()); Composite eeContainer = new Composite(container, SWT.NONE); layout = new GridLayout(); layout.marginWidth = 0; eeContainer.setLayout(layout); eeContainer.setLayoutData(new GridData(GridData.FILL_BOTH)); Label label = new Label(eeContainer, SWT.NONE); label.setFont(ancestor.getFont()); label.setText(JREMessages.JREProfilesPreferencePage_2); label.setLayoutData(new GridData(SWT.FILL, 0, true, false)); Table table = new Table(eeContainer, SWT.BORDER | SWT.SINGLE); table.setLayout(layout); table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); fProfilesViewer = new TableViewer(table); fProfilesViewer.setContentProvider(new ArrayContentProvider()); fProfilesViewer.setLabelProvider(new ExecutionEnvironmentsLabelProvider()); fProfilesViewer.setInput(JavaRuntime.getExecutionEnvironmentsManager().getExecutionEnvironments()); Composite jreContainer = new Composite(container, SWT.NONE); layout = new GridLayout(); layout.marginWidth = 0; jreContainer.setLayout(layout); jreContainer.setLayoutData(new GridData(GridData.FILL_BOTH)); label = new Label(jreContainer, SWT.NONE); label.setFont(ancestor.getFont()); label.setText(JREMessages.JREProfilesPreferencePage_3); label.setLayoutData(new GridData(SWT.FILL, 0, true, false)); table = new Table(jreContainer, SWT.CHECK | SWT.BORDER | SWT.SINGLE); table.setLayout(layout); table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); fJREsViewer = new CheckboxTableViewer(table); fJREsViewer.setContentProvider(new JREsContentProvider()); fJREsViewer.setLabelProvider( new JREsEnvironmentLabelProvider(new JREsEnvironmentLabelProvider.IExecutionEnvironmentProvider() { public IExecutionEnvironment getEnvironment() { return (IExecutionEnvironment) fJREsViewer.getInput(); } })); fJREsViewer.setComparator(new JREsEnvironmentComparator()); label = new Label(container, SWT.NONE); label.setFont(ancestor.getFont()); label.setText(JREMessages.JREProfilesPreferencePage_4); label.setLayoutData(new GridData(SWT.FILL, 0, true, false, 2, 1)); Text text = new Text(container, SWT.READ_ONLY | SWT.WRAP | SWT.BORDER); text.setFont(ancestor.getFont()); text.setLayoutData(new GridData(SWT.FILL, 0, true, false, 2, 1)); fDescription = text; fProfilesViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { IExecutionEnvironment env = (IExecutionEnvironment) ((IStructuredSelection) event.getSelection()) .getFirstElement(); fJREsViewer.setInput(env); String description = env.getDescription(); if (description == null) { description = ""; //$NON-NLS-1$ } fDescription.setText(description); IVMInstall jre = (IVMInstall) fDefaults.get(env); if (jre != null) { fJREsViewer.setCheckedElements(new Object[] { jre }); } else { fJREsViewer.setCheckedElements(new Object[0]); } } }); fJREsViewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { if (event.getChecked()) { Object element = event.getElement(); fDefaults.put(fJREsViewer.getInput(), element); fJREsViewer.setCheckedElements(new Object[] { element }); } else { fDefaults.remove(fJREsViewer.getInput()); } } }); Dialog.applyDialogFont(ancestor); return ancestor; }
From source file:org.summer.sdt.internal.ui.preferences.JavaEditorHoverConfigurationBlock.java
License:Open Source License
/** * Creates page for hover preferences./*from www . j ava2 s. c o m*/ * * @param parent the parent composite * @return the control for the preference page */ public Control createControl(Composite parent) { ScrolledPageContent scrolled = new ScrolledPageContent(parent, SWT.H_SCROLL | SWT.V_SCROLL); scrolled.setExpandHorizontal(true); scrolled.setExpandVertical(true); Composite hoverComposite = new Composite(scrolled, SWT.NONE); GridLayout layout = new GridLayout(); layout.numColumns = 2; layout.marginWidth = 0; layout.marginHeight = 0; hoverComposite.setLayout(layout); String rollOverLabel = PreferencesMessages.JavaEditorHoverConfigurationBlock_annotationRollover; addCheckBox(hoverComposite, rollOverLabel, PreferenceConstants.EDITOR_ANNOTATION_ROLL_OVER, 0); addFiller(hoverComposite); Label label = new Label(hoverComposite, SWT.NONE); label.setText(PreferencesMessages.JavaEditorHoverConfigurationBlock_hoverPreferences); GridData gd = new GridData(GridData.FILL_HORIZONTAL); gd.horizontalAlignment = GridData.BEGINNING; gd.horizontalSpan = 2; label.setLayoutData(gd); TableLayoutComposite layouter = new TableLayoutComposite(hoverComposite, SWT.NONE); addColumnLayoutData(layouter); // Hover table fHoverTable = new Table(layouter, SWT.H_SCROLL | SWT.V_SCROLL | SWT.SINGLE | SWT.BORDER | SWT.FULL_SELECTION | SWT.CHECK); fHoverTable.setHeaderVisible(true); fHoverTable.setLinesVisible(true); gd = new GridData(GridData.FILL_HORIZONTAL); gd.heightHint = SWTUtil.getTableHeightHint(fHoverTable, 10); gd.horizontalSpan = 2; gd.widthHint = new PixelConverter(parent).convertWidthInCharsToPixels(30); layouter.setLayoutData(gd); fHoverTable.addSelectionListener(new SelectionListener() { public void widgetSelected(SelectionEvent e) { handleHoverListSelection(); } public void widgetDefaultSelected(SelectionEvent e) { } }); TableLayout tableLayout = new TableLayout(); fHoverTable.setLayout(tableLayout); fNameColumn = new TableColumn(fHoverTable, SWT.NONE); fNameColumn.setText(PreferencesMessages.JavaEditorHoverConfigurationBlock_nameColumnTitle); fNameColumn.setResizable(true); fModifierColumn = new TableColumn(fHoverTable, SWT.NONE); fModifierColumn.setText(PreferencesMessages.JavaEditorHoverConfigurationBlock_modifierColumnTitle); fModifierColumn.setResizable(true); fHoverTableViewer = new CheckboxTableViewer(fHoverTable); fHoverTableViewer.setUseHashlookup(true); fHoverTableViewer.setContentProvider(new JavaEditorTextHoverDescriptorContentProvider()); fHoverTableViewer.setLabelProvider(new JavaEditorTextHoverDescriptorLabelProvider()); ((CheckboxTableViewer) fHoverTableViewer).addCheckStateListener(new ICheckStateListener() { /* * @see org.eclipse.jface.viewers.ICheckStateListener#checkStateChanged(org.eclipse.jface.viewers.CheckStateChangedEvent) */ public void checkStateChanged(CheckStateChangedEvent event) { String id = ((JavaEditorTextHoverDescriptor) event.getElement()).getId(); if (id == null) return; JavaEditorTextHoverDescriptor[] descriptors = getContributedHovers(); HoverConfig hoverConfig = null; int i = 0, length = fHoverConfigs.length; while (i < length) { if (id.equals(descriptors[i].getId())) { hoverConfig = fHoverConfigs[i]; hoverConfig.fIsEnabled = event.getChecked(); fModifierEditor.setEnabled(event.getChecked()); fHoverTableViewer.setSelection(new StructuredSelection(descriptors[i])); } i++; } handleHoverListSelection(); updateStatus(hoverConfig); } }); // Text field for modifier string label = new Label(hoverComposite, SWT.LEFT); label.setText(PreferencesMessages.JavaEditorHoverConfigurationBlock_keyModifier); fModifierEditor = new Text(hoverComposite, SWT.BORDER); gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL); fModifierEditor.setLayoutData(gd); fModifierEditor.addKeyListener(new KeyListener() { private boolean isModifierCandidate; public void keyPressed(KeyEvent e) { isModifierCandidate = e.keyCode > 0 && e.character == 0 && e.stateMask == 0; } public void keyReleased(KeyEvent e) { if (isModifierCandidate && e.stateMask > 0 && e.stateMask == e.stateMask && e.character == 0) {// && e.time -time < 1000) { String text = fModifierEditor.getText(); Point selection = fModifierEditor.getSelection(); int i = selection.x - 1; while (i > -1 && Character.isWhitespace(text.charAt(i))) { i--; } boolean needsPrefixDelimiter = i > -1 && !String.valueOf(text.charAt(i)).equals(DELIMITER); i = selection.y; while (i < text.length() && Character.isWhitespace(text.charAt(i))) { i++; } boolean needsPostfixDelimiter = i < text.length() && !String.valueOf(text.charAt(i)).equals(DELIMITER); String insertString; if (needsPrefixDelimiter && needsPostfixDelimiter) insertString = Messages.format( PreferencesMessages.JavaEditorHoverConfigurationBlock_insertDelimiterAndModifierAndDelimiter, new String[] { Action.findModifierString(e.stateMask) }); else if (needsPrefixDelimiter) insertString = Messages.format( PreferencesMessages.JavaEditorHoverConfigurationBlock_insertDelimiterAndModifier, new String[] { Action.findModifierString(e.stateMask) }); else if (needsPostfixDelimiter) insertString = Messages.format( PreferencesMessages.JavaEditorHoverConfigurationBlock_insertModifierAndDelimiter, new String[] { Action.findModifierString(e.stateMask) }); else insertString = Action.findModifierString(e.stateMask); if (insertString != null) fModifierEditor.insert(insertString); } } }); fModifierEditor.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { handleModifierModified(); } }); // Description Label descriptionLabel = new Label(hoverComposite, SWT.LEFT); descriptionLabel.setText(PreferencesMessages.JavaEditorHoverConfigurationBlock_description); gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING); gd.horizontalSpan = 2; descriptionLabel.setLayoutData(gd); fDescription = new Text(hoverComposite, SWT.LEFT | SWT.WRAP | SWT.MULTI | SWT.READ_ONLY | SWT.BORDER); SWTUtil.fixReadonlyTextBackground(fDescription); gd = new GridData(GridData.FILL_BOTH); gd.horizontalSpan = 2; fDescription.setLayoutData(gd); initialize(); scrolled.setContent(hoverComposite); final Point size = hoverComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT); scrolled.setMinSize(size.x, size.y); Dialog.applyDialogFont(scrolled); return scrolled; }