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

Collapse All | Expand All

(-)plugin.xml (+14 lines)
Lines 364-369 Link Here
364
            id="org.eclipse.mylyn.sandbox..pageFactories.extensibleBugzillaTaskEditor">
364
            id="org.eclipse.mylyn.sandbox..pageFactories.extensibleBugzillaTaskEditor">
365
      </pageFactory>     
365
      </pageFactory>     
366
      </extension>
366
      </extension>
367
   <extension
368
         point="org.eclipse.ui.menus">
369
      <menuContribution
370
            locationURI="popup:org.eclipse.mylyn.tasks.ui.views.repositories?after=additions">
371
         <menu
372
               label="WikiText Editor Style"
373
               tooltip="Select editor style">
374
            <dynamic
375
                  class="org.eclipse.mylyn.internal.sandbox.ui.editors.EditorStyleContributionItems"
376
                  id="org.eclipse.mylyn.sandbox.ui.editorStyleDropDown">
377
            </dynamic>
378
         </menu>
379
      </menuContribution>
380
   </extension>
367
   
381
   
368
   
382
   
369
   
383
   
(-)src/org/eclipse/mylyn/internal/sandbox/ui/editors/EditorStyleContributionItems.java (+84 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2004, 2007 Mylyn project committers and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *******************************************************************************/
8
9
package org.eclipse.mylyn.internal.sandbox.ui.editors;
10
11
import java.util.ArrayList;
12
import java.util.List;
13
import java.util.SortedSet;
14
15
import org.eclipse.jface.action.Action;
16
import org.eclipse.jface.action.ActionContributionItem;
17
import org.eclipse.jface.action.IContributionItem;
18
import org.eclipse.mylyn.internal.sandbox.ui.editors.TaskEditorExtensions.RegisteredTaskEditorExtension;
19
import org.eclipse.mylyn.tasks.core.TaskRepository;
20
import org.eclipse.mylyn.tasks.ui.TasksUiUtil;
21
import org.eclipse.ui.actions.CompoundContributionItem;
22
23
/**
24
 * Contribute a popup menu which can be used to select editor styles to TaskRepositoriesView,
25
 * 
26
 * @author Jingwen Ou
27
 */
28
public class EditorStyleContributionItems extends CompoundContributionItem {
29
30
	private class EditorStyleContributionAction extends Action {
31
32
		private final RegisteredTaskEditorExtension editorExtension;
33
34
		public EditorStyleContributionAction(RegisteredTaskEditorExtension editorExtension) {
35
			super(editorExtension.getName());
36
			setId(editorExtension.getId() + ".action");
37
			this.editorExtension = editorExtension;
38
		}
39
40
		@Override
41
		public void run() {
42
			if (taskRepository != null) {
43
				TaskEditorExtensions.setTaskEditorExtensionId(taskRepository, editorExtension.getId());
44
				setChecked(true);
45
			}
46
		}
47
	}
48
49
	private final TaskRepository taskRepository;
50
51
	public EditorStyleContributionItems() {
52
		this(null);
53
	}
54
55
	public EditorStyleContributionItems(String id) {
56
		// returns the selecting TaskRepository
57
		this(id, TasksUiUtil.getSelectedRepository());
58
	}
59
60
	public EditorStyleContributionItems(String id, TaskRepository taskRepository) {
61
		super(id);
62
		this.taskRepository = taskRepository;
63
	}
64
65
	@Override
66
	protected IContributionItem[] getContributionItems() {
67
		List<IContributionItem> items = new ArrayList<IContributionItem>();
68
		SortedSet<RegisteredTaskEditorExtension> allEditorExtensions = TaskEditorExtensions.getTaskEditorExtensions();
69
70
		String selectedExtensionId = TaskEditorExtensions.getTaskEditorExtensionId(taskRepository);
71
72
		for (RegisteredTaskEditorExtension editorExtension : allEditorExtensions) {
73
			Action editorStyleAction = new EditorStyleContributionAction(editorExtension);
74
			ActionContributionItem item = new ActionContributionItem(editorStyleAction);
75
			if (editorExtension.getId().equals(selectedExtensionId)) {
76
				editorStyleAction.setChecked(true);
77
			}
78
79
			items.add(item);
80
		}
81
82
		return items.toArray(new IContributionItem[items.size()]);
83
	}
84
}

Return to bug 237500