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

Collapse All | Expand All

(-)src/org/eclipse/mylyn/internal/sandbox/ui/editors/ExtensibleRichTextAttributeEditor.java (-3 / +15 lines)
Lines 8-19 Link Here
8
8
9
package org.eclipse.mylyn.internal.sandbox.ui.editors;
9
package org.eclipse.mylyn.internal.sandbox.ui.editors;
10
10
11
import org.eclipse.jface.layout.GridDataFactory;
11
import org.eclipse.jface.text.Document;
12
import org.eclipse.jface.text.Document;
12
import org.eclipse.jface.text.ITextListener;
13
import org.eclipse.jface.text.ITextListener;
13
import org.eclipse.jface.text.TextEvent;
14
import org.eclipse.jface.text.TextEvent;
15
import org.eclipse.jface.text.source.AnnotationModel;
14
import org.eclipse.jface.text.source.SourceViewer;
16
import org.eclipse.jface.text.source.SourceViewer;
15
import org.eclipse.jface.viewers.Viewer;
17
import org.eclipse.jface.viewers.Viewer;
16
import org.eclipse.mylyn.internal.provisional.commons.ui.CommonThemes;
18
import org.eclipse.mylyn.internal.provisional.commons.ui.CommonThemes;
19
import org.eclipse.mylyn.internal.tasks.ui.editors.EditorUtil;
17
import org.eclipse.mylyn.internal.tasks.ui.editors.RichTextAttributeEditor;
20
import org.eclipse.mylyn.internal.tasks.ui.editors.RichTextAttributeEditor;
18
import org.eclipse.mylyn.tasks.core.TaskRepository;
21
import org.eclipse.mylyn.tasks.core.TaskRepository;
19
import org.eclipse.mylyn.tasks.core.data.TaskAttribute;
22
import org.eclipse.mylyn.tasks.core.data.TaskAttribute;
Lines 28-33 Link Here
28
import org.eclipse.swt.events.SelectionEvent;
31
import org.eclipse.swt.events.SelectionEvent;
29
import org.eclipse.swt.events.SelectionListener;
32
import org.eclipse.swt.events.SelectionListener;
30
import org.eclipse.swt.graphics.Font;
33
import org.eclipse.swt.graphics.Font;
34
import org.eclipse.swt.layout.GridLayout;
31
import org.eclipse.swt.widgets.Composite;
35
import org.eclipse.swt.widgets.Composite;
32
import org.eclipse.ui.PlatformUI;
36
import org.eclipse.ui.PlatformUI;
33
import org.eclipse.ui.contexts.IContextActivation;
37
import org.eclipse.ui.contexts.IContextActivation;
Lines 42-47 Link Here
42
 * create its own SourceViewer without overriding createControl and copying the code in it
46
 * create its own SourceViewer without overriding createControl and copying the code in it
43
 * 
47
 * 
44
 * @author Jingwen Ou
48
 * @author Jingwen Ou
49
 * @author David Green added context activation, layout
45
 */
50
 */
46
public class ExtensibleRichTextAttributeEditor extends RichTextAttributeEditor {
51
public class ExtensibleRichTextAttributeEditor extends RichTextAttributeEditor {
47
52
Lines 78-86 Link Here
78
			source = extension.createViewer(taskRepository, parent, styles);
83
			source = extension.createViewer(taskRepository, parent, styles);
79
			source.setDocument(new Document(getValue()));
84
			source.setDocument(new Document(getValue()));
80
85
81
			setControl(source instanceof Viewer ? ((Viewer) source).getControl() : source.getTextWidget());
86
			setControl(source.getControl());
82
		} else {
87
		} else {
83
			CTabFolder folder = new CTabFolder(parent, SWT.FLAT | SWT.BOTTOM);
88
			CTabFolder folder = new CTabFolder(parent, SWT.FLAT | SWT.BOTTOM);
89
			folder.setLayout(new GridLayout());
84
90
85
			/** wikitext markup editor **/
91
			/** wikitext markup editor **/
86
92
Lines 89-96 Link Here
89
			viewerItem.setToolTipText("Edit Source");
95
			viewerItem.setToolTipText("Edit Source");
90
96
91
			source = extension.createEditor(taskRepository, folder, styles | SWT.V_SCROLL);
97
			source = extension.createEditor(taskRepository, folder, styles | SWT.V_SCROLL);
98
			source.getControl().setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
99
100
			// we must do this otherwise the cut/copy/paste commands don't work
101
			EditorUtil.setTextViewer(source.getTextWidget(), source);
102
92
			if (source.getDocument() == null) {
103
			if (source.getDocument() == null) {
93
				source.setDocument(new Document(getValue()));
104
				source.setDocument(new Document(getValue()), new AnnotationModel());
94
			}
105
			}
95
			source.addTextListener(new ITextListener() {
106
			source.addTextListener(new ITextListener() {
96
				public void textChanged(TextEvent event) {
107
				public void textChanged(TextEvent event) {
Lines 131-137 Link Here
131
			previewItem.setText("Preview");
142
			previewItem.setText("Preview");
132
			previewItem.setToolTipText("Preview Source");
143
			previewItem.setToolTipText("Preview Source");
133
144
134
			final SourceViewer preview = extension.createViewer(taskRepository, folder, styles);
145
			final SourceViewer preview = extension.createViewer(taskRepository, folder, styles | SWT.V_SCROLL);
135
146
136
			previewItem.setControl(preview instanceof Viewer ? ((Viewer) preview).getControl()
147
			previewItem.setControl(preview instanceof Viewer ? ((Viewer) preview).getControl()
137
					: preview.getTextWidget());
148
					: preview.getTextWidget());
Lines 173-176 Link Here
173
			contextActivation = contextService.activateContext(extension.getEditorContextId());
184
			contextActivation = contextService.activateContext(extension.getEditorContextId());
174
		}
185
		}
175
	}
186
	}
187
176
}
188
}

Return to bug 235222