Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 338912
Collapse All | Expand All

(-)src/org/eclipse/ui/internal/views/markers/ExtendedMarkersView.java (-3 / +1 lines)
Lines 369-377 Link Here
369
			TreeColumn[] columns = tree.getColumns();
369
			TreeColumn[] columns = tree.getColumns();
370
			for (int i = 0; i < columns.length; i++) {
370
			for (int i = 0; i < columns.length; i++) {
371
				if (markerField.equals(columns[i].getData(MARKER_FIELD))) {
371
				if (markerField.equals(columns[i].getData(MARKER_FIELD))) {
372
					preferredWidth = Math.max(preferredWidth,
372
					return columns[i].getWidth();
373
							columns[i].getWidth());
374
					return preferredWidth;
375
				}
373
				}
376
			}
374
			}
377
		}
375
		}
(-)src/org/eclipse/ui/internal/views/markers/FiltersConfigurationDialog.java (-17 / +40 lines)
Lines 36-43 Link Here
36
import org.eclipse.swt.SWT;
36
import org.eclipse.swt.SWT;
37
import org.eclipse.swt.events.DisposeEvent;
37
import org.eclipse.swt.events.DisposeEvent;
38
import org.eclipse.swt.events.DisposeListener;
38
import org.eclipse.swt.events.DisposeListener;
39
import org.eclipse.swt.events.ModifyEvent;
40
import org.eclipse.swt.events.ModifyListener;
39
import org.eclipse.swt.events.SelectionAdapter;
41
import org.eclipse.swt.events.SelectionAdapter;
40
import org.eclipse.swt.events.SelectionEvent;
42
import org.eclipse.swt.events.SelectionEvent;
43
import org.eclipse.swt.events.VerifyEvent;
44
import org.eclipse.swt.events.VerifyListener;
41
import org.eclipse.swt.layout.FillLayout;
45
import org.eclipse.swt.layout.FillLayout;
42
import org.eclipse.swt.layout.GridData;
46
import org.eclipse.swt.layout.GridData;
43
import org.eclipse.swt.layout.GridLayout;
47
import org.eclipse.swt.layout.GridLayout;
Lines 47-53 Link Here
47
import org.eclipse.swt.widgets.Group;
51
import org.eclipse.swt.widgets.Group;
48
import org.eclipse.swt.widgets.Label;
52
import org.eclipse.swt.widgets.Label;
49
import org.eclipse.swt.widgets.Shell;
53
import org.eclipse.swt.widgets.Shell;
50
import org.eclipse.swt.widgets.Spinner;
54
import org.eclipse.swt.widgets.Text;
51
import org.eclipse.ui.forms.events.ExpansionAdapter;
55
import org.eclipse.ui.forms.events.ExpansionAdapter;
52
import org.eclipse.ui.forms.events.ExpansionEvent;
56
import org.eclipse.ui.forms.events.ExpansionEvent;
53
import org.eclipse.ui.forms.widgets.ExpandableComposite;
57
import org.eclipse.ui.forms.widgets.ExpandableComposite;
Lines 87-93 Link Here
87
	private Button orButton;
91
	private Button orButton;
88
92
89
	private Button limitButton;
93
	private Button limitButton;
90
	private Spinner limitSpinner;
94
	private Text limitText;
91
95
92
	private GroupFilterConfigurationArea scopeArea = new ScopeArea();
96
	private GroupFilterConfigurationArea scopeArea = new ScopeArea();
93
	private ScrolledForm form;
97
	private ScrolledForm form;
Lines 205-212 Link Here
205
		boolean limitsEnabled = generator.isMarkerLimitsEnabled();
209
		boolean limitsEnabled = generator.isMarkerLimitsEnabled();
206
		limitButton.setSelection(limitsEnabled);
210
		limitButton.setSelection(limitsEnabled);
207
		limitsLabel.setEnabled(limitsEnabled);
211
		limitsLabel.setEnabled(limitsEnabled);
208
		limitSpinner.setEnabled(limitsEnabled);
212
		limitText.setEnabled(limitsEnabled);
209
		limitSpinner.setSelection(limits);
213
		limitText.setText(Integer.toString(limits));
210
		configsTable.getTable().setFocus();
214
		configsTable.getTable().setFocus();
211
215
212
	}
216
	}
Lines 250-256 Link Here
250
254
251
			public void widgetSelected(SelectionEvent e) {
255
			public void widgetSelected(SelectionEvent e) {
252
				limitsLabel.setEnabled(limitButton.getSelection());
256
				limitsLabel.setEnabled(limitButton.getSelection());
253
				limitSpinner.setEnabled(limitButton.getSelection());
257
				limitText.setEnabled(limitButton.getSelection());
254
			}
258
			}
255
		});
259
		});
256
260
Lines 263-276 Link Here
263
		limitsLabel = new Label(composite, SWT.NONE);
267
		limitsLabel = new Label(composite, SWT.NONE);
264
		limitsLabel.setText(MarkerMessages.MarkerPreferences_VisibleItems);
268
		limitsLabel.setText(MarkerMessages.MarkerPreferences_VisibleItems);
265
269
266
		limitSpinner = new Spinner(composite, SWT.BORDER);
270
		limitText = new Text(composite, SWT.BORDER);
267
		limitSpinner.setMinimum(1);
271
		GridData textData = new GridData();
268
		limitSpinner.setMaximum(Integer.MAX_VALUE);
272
		textData.widthHint = convertWidthInCharsToPixels(10);
269
		limitSpinner.setIncrement(1);
273
		limitText.setLayoutData(textData);
270
		limitSpinner.setPageIncrement(100);
274
		limitText.addVerifyListener(new VerifyListener() {
271
		GridData spinnerData = new GridData();
275
272
		spinnerData.minimumWidth = convertWidthInCharsToPixels(6);
276
			public void verifyText(VerifyEvent e) {
273
		limitSpinner.setLayoutData(spinnerData);
277
				if (e.character != 0 && e.keyCode != SWT.BS
278
						&& e.keyCode != SWT.DEL
279
						&& !Character.isDigit(e.character)) {
280
					e.doit = false;
281
				}
282
			}
283
		});
284
285
		limitText.addModifyListener(new ModifyListener() {
286
287
			public void modifyText(ModifyEvent e) {
288
				try {
289
					Integer.parseInt(limitText.getText());
290
				} catch (NumberFormatException ex) {
291
					// ignore
292
				}
293
			}
294
		});
274
295
275
	}
296
	}
276
297
Lines 422-428 Link Here
422
		});
443
		});
423
444
424
		Composite sectionClient = toolkit.createComposite(expandable);
445
		Composite sectionClient = toolkit.createComposite(expandable);
425
		sectionClient.setLayout(new GridLayout());
446
		GridLayout gridLayout = new GridLayout();
447
		gridLayout.verticalSpacing = 3;
448
		sectionClient.setLayout(gridLayout);
426
		sectionClient.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true,
449
		sectionClient.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true,
427
				false));
450
				false));
428
		sectionClient.setBackground(form.getBackground());
451
		sectionClient.setBackground(form.getBackground());
Lines 669-675 Link Here
669
	protected void okPressed() {
692
	protected void okPressed() {
670
693
671
		generator.setMarkerLimitsEnabled(limitButton.getSelection());
694
		generator.setMarkerLimitsEnabled(limitButton.getSelection());
672
		generator.setMarkerLimits(limitSpinner.getSelection());
695
		generator.setMarkerLimits(Integer.parseInt(limitText.getText().trim()));
673
696
674
		Iterator filterGroupIterator = filterGroups.iterator();
697
		Iterator filterGroupIterator = filterGroups.iterator();
675
		while (filterGroupIterator.hasNext()) {
698
		while (filterGroupIterator.hasNext()) {
Lines 707-714 Link Here
707
730
708
		limitButton.setSelection(useMarkerLimits);
731
		limitButton.setSelection(useMarkerLimits);
709
		limitsLabel.setEnabled(useMarkerLimits);
732
		limitsLabel.setEnabled(useMarkerLimits);
710
		limitSpinner.setEnabled(useMarkerLimits);
733
		limitText.setEnabled(useMarkerLimits);
711
		limitSpinner.setSelection(markerLimits);
734
		limitText.setText(Integer.toString(markerLimits));
712
735
713
		updateRadioButtonsFromTable();
736
		updateRadioButtonsFromTable();
714
	}
737
	}
(-)src/org/eclipse/ui/internal/views/markers/MarkersViewColumnsDialog.java (+24 lines)
Lines 268-272 Link Here
268
			this.width = width;
268
			this.width = width;
269
			visible = false;
269
			visible = false;
270
		}
270
		}
271
272
		public int hashCode() {
273
			final int prime = 31;
274
			int result = 1;
275
			result = prime * result + ((field == null) ? 0 : field.hashCode());
276
			return result;
277
		}
278
279
		public boolean equals(Object obj) {
280
			if (this == obj)
281
				return true;
282
			if (obj == null)
283
				return false;
284
			if (getClass() != obj.getClass())
285
				return false;
286
			FieldEntry other = (FieldEntry) obj;
287
			if (field == null) {
288
				if (other.field != null)
289
					return false;
290
			} else if (!field.equals(other.field))
291
				return false;
292
			return true;
293
		}
294
		
271
	}
295
	}
272
}
296
}
(-)src/org/eclipse/ui/internal/views/markers/TypesConfigurationArea.java (-1 / +1 lines)
Lines 315-321 Link Here
315
		gridData.widthHint = Dialog.convertVerticalDLUsToPixels(
315
		gridData.widthHint = Dialog.convertVerticalDLUsToPixels(
316
				getFontMetrics(), 100);
316
				getFontMetrics(), 100);
317
		gridData.heightHint = Dialog.convertVerticalDLUsToPixels(
317
		gridData.heightHint = Dialog.convertVerticalDLUsToPixels(
318
				getFontMetrics(), 75);
318
				getFontMetrics(), 50);
319
319
320
		final ITreeContentProvider typesContentProvider = getTypesContentProvider();
320
		final ITreeContentProvider typesContentProvider = getTypesContentProvider();
321
		typesViewer.getControl().setLayoutData(gridData);
321
		typesViewer.getControl().setLayoutData(gridData);
(-)src/org/eclipse/ui/internal/views/markers/ViewerColumnsDialog.java (-23 / +59 lines)
Lines 27-36 Link Here
27
import org.eclipse.jface.viewers.ITableLabelProvider;
27
import org.eclipse.jface.viewers.ITableLabelProvider;
28
import org.eclipse.jface.viewers.LabelProvider;
28
import org.eclipse.jface.viewers.LabelProvider;
29
import org.eclipse.jface.viewers.SelectionChangedEvent;
29
import org.eclipse.jface.viewers.SelectionChangedEvent;
30
import org.eclipse.jface.viewers.StructuredSelection;
30
import org.eclipse.jface.viewers.TableViewer;
31
import org.eclipse.jface.viewers.TableViewer;
31
import org.eclipse.swt.SWT;
32
import org.eclipse.swt.SWT;
32
import org.eclipse.swt.events.FocusAdapter;
33
import org.eclipse.swt.events.ModifyEvent;
33
import org.eclipse.swt.events.FocusEvent;
34
import org.eclipse.swt.events.ModifyListener;
35
import org.eclipse.swt.events.VerifyEvent;
36
import org.eclipse.swt.events.VerifyListener;
34
import org.eclipse.swt.graphics.Image;
37
import org.eclipse.swt.graphics.Image;
35
import org.eclipse.swt.layout.FillLayout;
38
import org.eclipse.swt.layout.FillLayout;
36
import org.eclipse.swt.layout.GridData;
39
import org.eclipse.swt.layout.GridData;
Lines 43-51 Link Here
43
import org.eclipse.swt.widgets.Label;
46
import org.eclipse.swt.widgets.Label;
44
import org.eclipse.swt.widgets.Listener;
47
import org.eclipse.swt.widgets.Listener;
45
import org.eclipse.swt.widgets.Shell;
48
import org.eclipse.swt.widgets.Shell;
46
import org.eclipse.swt.widgets.Spinner;
47
import org.eclipse.swt.widgets.Table;
49
import org.eclipse.swt.widgets.Table;
48
import org.eclipse.swt.widgets.TableColumn;
50
import org.eclipse.swt.widgets.TableColumn;
51
import org.eclipse.swt.widgets.Text;
49
import org.eclipse.ui.views.markers.internal.MarkerMessages;
52
import org.eclipse.ui.views.markers.internal.MarkerMessages;
50
53
51
/**
54
/**
Lines 76-82 Link Here
76
	private Button toVisibleBtt, toNonVisibleBtt;
79
	private Button toVisibleBtt, toNonVisibleBtt;
77
80
78
	private Label widthLabel;
81
	private Label widthLabel;
79
	private Spinner widthSpinner;
82
	private Text widthText;
80
83
81
	/**
84
	/**
82
	 * Create a new instance of the receiver.
85
	 * Create a new instance of the receiver.
Lines 127-132 Link Here
127
		createVisibleTable(composite);
130
		createVisibleTable(composite);
128
		createUpDownBtt(composite);
131
		createUpDownBtt(composite);
129
		createWidthArea(composite);
132
		createWidthArea(composite);
133
		Object element = visibleViewer.getElementAt(0);
134
		if (element != null)
135
			visibleViewer.setSelection(new StructuredSelection(element));
136
		visibleViewer.getTable().setFocus();
130
		return composite;
137
		return composite;
131
	}
138
	}
132
	
139
	
Lines 181-210 Link Here
181
		gridData.horizontalSpan = 3;
188
		gridData.horizontalSpan = 3;
182
		widthLabel.setLayoutData(gridData);
189
		widthLabel.setLayoutData(gridData);
183
190
184
		widthSpinner = new Spinner(parent, SWT.BORDER);
191
		widthText = new Text(parent, SWT.BORDER);
185
		widthSpinner.setMinimum(1);
192
		widthText.addVerifyListener(new VerifyListener() {
186
		widthSpinner.setSelection(1);
193
187
		widthSpinner.setMaximum(10000);
194
			public void verifyText(VerifyEvent e) {
188
		gridData = new GridData();
195
				if (e.character != 0 && e.keyCode != SWT.BS
189
		gridData.minimumWidth = convertWidthInCharsToPixels(5);
196
						&& e.keyCode != SWT.DEL
190
		widthSpinner.setLayoutData(gridData);
197
						&& !Character.isDigit(e.character)) {
191
		widthSpinner.addFocusListener(new FocusAdapter() {
198
					e.doit = false;
192
			public void focusLost(FocusEvent e) {
193
				Object data = ((IStructuredSelection) visibleViewer
194
						.getSelection()).getFirstElement();
195
				if (data != null) {
196
					IColumnUpdater updater = getColumnUpdater();
197
					updater.setColumnWidth(data, widthSpinner.getSelection());
198
				}
199
				}
199
			}
200
			}
200
		});
201
		});
202
203
		gridData = new GridData();
204
		gridData.widthHint = convertWidthInCharsToPixels(5);
205
		widthText.setLayoutData(gridData);
206
		widthText.addModifyListener(new ModifyListener() {
207
208
			public void modifyText(ModifyEvent e) {
209
				updateWidth();
210
			}
211
		});
201
		setWidthEnabled(false);
212
		setWidthEnabled(false);
202
		return widthSpinner;
213
		return widthText;
203
	}
214
	}
204
	
215
	
205
	private void setWidthEnabled(boolean enabled) {
216
	private void setWidthEnabled(boolean enabled) {
206
		widthLabel.setEnabled(enabled);
217
		widthLabel.setEnabled(enabled);
207
		widthSpinner.setEnabled(enabled);
218
		widthText.setEnabled(enabled);
208
	}
219
	}
209
220
210
	/**
221
	/**
Lines 406-415 Link Here
406
				.isColumnResizable(selVCols.get(0)) : false;
417
				.isColumnResizable(selVCols.get(0)) : false;
407
		setWidthEnabled(edit);
418
		setWidthEnabled(edit);
408
		if (edit) {
419
		if (edit) {
409
			widthSpinner.setSelection(infoProvider
420
			int width = infoProvider.getColumnWidth(selVCols.get(0));
410
					.getColumnWidth(selVCols.get(0)));
421
			widthText.setText(Integer.toString(width));
411
		} else {
422
		} else {
412
			widthSpinner.setSelection(0);
423
			widthText.setText(""); //$NON-NLS-1$
413
		}
424
		}
414
	}
425
	}
415
426
Lines 536-542 Link Here
536
	}
547
	}
537
	
548
	
538
	protected void performDefaults() {
549
	protected void performDefaults() {
550
		
551
		ISelection nonVisibleSelection = nonVisibleViewer.getSelection();
552
		ISelection visibleSelection = visibleViewer.getSelection();
553
		
539
		refreshViewers();
554
		refreshViewers();
555
		
556
		nonVisibleViewer.setSelection(nonVisibleSelection);
557
		visibleViewer.setSelection(visibleSelection);
558
		
540
		super.performDefaults();
559
		super.performDefaults();
541
	}
560
	}
542
561
Lines 629-634 Link Here
629
	protected abstract IColumnUpdater getColumnUpdater();
648
	protected abstract IColumnUpdater getColumnUpdater();
630
649
631
	/**
650
	/**
651
	 * 
652
	 */
653
	private void updateWidth() {
654
		try {
655
			int width = Integer.parseInt(widthText.getText());
656
			Object data = ((IStructuredSelection) visibleViewer
657
					.getSelection()).getFirstElement();
658
			if (data != null) {
659
				IColumnUpdater updater = getColumnUpdater();
660
				updater.setColumnWidth(data, width);
661
			}
662
		} catch (NumberFormatException ex) {
663
			//ignore
664
		}
665
	}
666
667
	/**
632
	 * Update various aspects of a columns from a viewer such
668
	 * Update various aspects of a columns from a viewer such
633
	 * {@link TableViewer}
669
	 * {@link TableViewer}
634
	 */
670
	 */

Return to bug 338912