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 200117 | Differences between
and this patch

Collapse All | Expand All

(-)src/org/eclipse/mylyn/internal/trac/ui/editor/TracWikiPageEditor.java (-5 / +39 lines)
Lines 8-13 Link Here
8
8
9
package org.eclipse.mylyn.internal.trac.ui.editor;
9
package org.eclipse.mylyn.internal.trac.ui.editor;
10
10
11
import java.util.Iterator;
12
11
import org.eclipse.core.runtime.CoreException;
13
import org.eclipse.core.runtime.CoreException;
12
import org.eclipse.core.runtime.IProgressMonitor;
14
import org.eclipse.core.runtime.IProgressMonitor;
13
import org.eclipse.core.runtime.IStatus;
15
import org.eclipse.core.runtime.IStatus;
Lines 20-28 Link Here
20
import org.eclipse.jface.layout.GridDataFactory;
22
import org.eclipse.jface.layout.GridDataFactory;
21
import org.eclipse.jface.text.Document;
23
import org.eclipse.jface.text.Document;
22
import org.eclipse.jface.text.TextViewer;
24
import org.eclipse.jface.text.TextViewer;
25
import org.eclipse.jface.text.source.AnnotationModel;
26
import org.eclipse.jface.text.source.IAnnotationAccess;
23
import org.eclipse.jface.text.source.SourceViewer;
27
import org.eclipse.jface.text.source.SourceViewer;
24
import org.eclipse.jface.window.Window;
28
import org.eclipse.jface.window.Window;
25
import org.eclipse.mylyn.internal.tasks.ui.TasksUiImages;
29
import org.eclipse.mylyn.internal.tasks.ui.TasksUiImages;
30
import org.eclipse.mylyn.internal.tasks.ui.editors.RepositoryViewerConfig;
26
import org.eclipse.mylyn.internal.trac.core.TracCorePlugin;
31
import org.eclipse.mylyn.internal.trac.core.TracCorePlugin;
27
import org.eclipse.mylyn.internal.trac.core.model.TracWikiPage;
32
import org.eclipse.mylyn.internal.trac.core.model.TracWikiPage;
28
import org.eclipse.mylyn.monitor.core.StatusHandler;
33
import org.eclipse.mylyn.monitor.core.StatusHandler;
Lines 34-39 Link Here
34
import org.eclipse.swt.browser.LocationAdapter;
39
import org.eclipse.swt.browser.LocationAdapter;
35
import org.eclipse.swt.browser.LocationEvent;
40
import org.eclipse.swt.browser.LocationEvent;
36
import org.eclipse.swt.custom.StyledText;
41
import org.eclipse.swt.custom.StyledText;
42
import org.eclipse.swt.events.DisposeEvent;
43
import org.eclipse.swt.events.DisposeListener;
37
import org.eclipse.swt.events.ModifyEvent;
44
import org.eclipse.swt.events.ModifyEvent;
38
import org.eclipse.swt.events.ModifyListener;
45
import org.eclipse.swt.events.ModifyListener;
39
import org.eclipse.swt.layout.FillLayout;
46
import org.eclipse.swt.layout.FillLayout;
Lines 45-50 Link Here
45
import org.eclipse.swt.widgets.Listener;
52
import org.eclipse.swt.widgets.Listener;
46
import org.eclipse.ui.PartInitException;
53
import org.eclipse.ui.PartInitException;
47
import org.eclipse.ui.PlatformUI;
54
import org.eclipse.ui.PlatformUI;
55
import org.eclipse.ui.editors.text.EditorsUI;
56
import org.eclipse.ui.editors.text.TextSourceViewerConfiguration;
48
import org.eclipse.ui.forms.IManagedForm;
57
import org.eclipse.ui.forms.IManagedForm;
49
import org.eclipse.ui.forms.editor.FormEditor;
58
import org.eclipse.ui.forms.editor.FormEditor;
50
import org.eclipse.ui.forms.editor.FormPage;
59
import org.eclipse.ui.forms.editor.FormPage;
Lines 54-65 Link Here
54
import org.eclipse.ui.forms.widgets.FormToolkit;
63
import org.eclipse.ui.forms.widgets.FormToolkit;
55
import org.eclipse.ui.forms.widgets.ScrolledForm;
64
import org.eclipse.ui.forms.widgets.ScrolledForm;
56
import org.eclipse.ui.forms.widgets.Section;
65
import org.eclipse.ui.forms.widgets.Section;
66
import org.eclipse.ui.texteditor.AnnotationPreference;
67
import org.eclipse.ui.texteditor.DefaultMarkerAnnotationAccess;
68
import org.eclipse.ui.texteditor.MarkerAnnotationPreferences;
69
import org.eclipse.ui.texteditor.SourceViewerDecorationSupport;
57
70
58
/**
71
/**
59
 * @author Xiaoyang Guan
72
 * @author Xiaoyang Guan
60
 */
73
 */
61
public class TracWikiPageEditor extends FormEditor {
74
public class TracWikiPageEditor extends FormEditor {
62
	
75
63
	public static final String ID_EDITOR = "org.eclipse.mylyn.trac.ui.editor.wikipage";
76
	public static final String ID_EDITOR = "org.eclipse.mylyn.trac.ui.editor.wikipage";
64
77
65
	private TaskRepository repository;
78
	private TaskRepository repository;
Lines 71-77 Link Here
71
	private BrowserFormPage browserPage;
84
	private BrowserFormPage browserPage;
72
85
73
	private class WikiSourceEditor extends FormPage {
86
	private class WikiSourceEditor extends FormPage {
74
		
87
75
		private static final String ID = "org.eclipse.mylyn.trac.ui.editor.wikisource";
88
		private static final String ID = "org.eclipse.mylyn.trac.ui.editor.wikisource";
76
89
77
		private static final String TITLE = "Wiki Page Source";
90
		private static final String TITLE = "Wiki Page Source";
Lines 87-93 Link Here
87
		private static final int PREVIEW_BROWSER_HEIGHT = 10 * 14;
100
		private static final int PREVIEW_BROWSER_HEIGHT = 10 * 14;
88
101
89
		private static final int DEFAULT_WIDTH = 79 * 7; // 500;
102
		private static final int DEFAULT_WIDTH = 79 * 7; // 500;
90
		
103
91
		private ScrolledForm form;
104
		private ScrolledForm form;
92
105
93
		private FormToolkit toolkit;
106
		private FormToolkit toolkit;
Lines 194-202 Link Here
194
207
195
			StyledText styledText = sourceEditor.getTextWidget();
208
			StyledText styledText = sourceEditor.getTextWidget();
196
			GridDataFactory.fillDefaults().hint(DEFAULT_WIDTH, SWT.DEFAULT).grab(true, true).applyTo(styledText);
209
			GridDataFactory.fillDefaults().hint(DEFAULT_WIDTH, SWT.DEFAULT).grab(true, true).applyTo(styledText);
197
			
210
211
			IAnnotationAccess annotationAccess = new DefaultMarkerAnnotationAccess();
212
213
			final SourceViewerDecorationSupport support = new SourceViewerDecorationSupport(
214
					(SourceViewer) sourceEditor, null, annotationAccess, EditorsUI.getSharedTextColors());
215
216
			@SuppressWarnings("unchecked")
217
			Iterator e = new MarkerAnnotationPreferences().getAnnotationPreferences().iterator();
218
			while (e.hasNext()) {
219
				support.setAnnotationPreference((AnnotationPreference) e.next());
220
			}
221
222
			support.install(EditorsUI.getPreferenceStore());
223
224
			styledText.addDisposeListener(new DisposeListener() {
225
				public void widgetDisposed(DisposeEvent e) {
226
					support.uninstall();
227
				}
228
			});
229
230
			TextSourceViewerConfiguration viewerConfig = new RepositoryViewerConfig(true);
231
			((SourceViewer) sourceEditor).configure(viewerConfig);
198
			Document document = new Document(page.getContent());
232
			Document document = new Document(page.getContent());
199
			sourceEditor.setDocument(document);
233
			((SourceViewer) sourceEditor).setDocument(document, new AnnotationModel());
200
234
201
			createActionsLayout(container);
235
			createActionsLayout(container);
202
			toolkit.paintBordersFor(container);
236
			toolkit.paintBordersFor(container);

Return to bug 200117