Project

General

Profile

« Previous | Next » 

Revision ffa56d68

Added by Patrick Plitzner over 9 years ago

  • implemented setFocus() of all EditorParts
    • this is to avoid "java.lang.Exception: java.lang.RuntimeException: WARNING: Prevented recursive attempt to activate part"
    • either set the focus to shell or set it to the viewer used

fix for #2754

View differences:

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/DefinedTermEditor.java
1 1
// $Id$
2 2
/**
3 3
 * Copyright (C) 2009 EDIT
4
 * European Distributed Institute of Taxonomy 
4
 * European Distributed Institute of Taxonomy
5 5
 * http://www.e-taxonomy.eu
6
 * 
6
 *
7 7
 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 8
 * See LICENSE.TXT at the top of this package for the full license terms.
9 9
 */
......
52 52
	public static final String ID = "eu.etaxonomy.taxeditor.editor.definedTerm";
53 53

  
54 54
	public static final String OPEN_COMMAND_ID = "eu.etaxonomy.taxeditor.store.openDefinedTermEditor";
55
	
55

  
56 56
	protected TreeViewer viewer;
57 57
	protected ConversationHolder conversation;
58 58
	private ISelectionService selectionService;
......
60 60

  
61 61

  
62 62

  
63
	private int dndOperations = DND.DROP_COPY | DND.DROP_MOVE;
63
	private final int dndOperations = DND.DROP_COPY | DND.DROP_MOVE;
64 64
	/**
65
	 * 
65
	 *
66 66
	 */
67 67
	public DefinedTermEditor() {
68 68
		super();
......
71 71

  
72 72
	@Override
73 73
	public void createPartControl(Composite parent) {
74
			
74

  
75 75
	//		parent.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_BLUE));
76
			
76

  
77 77
			FillLayout layout = new FillLayout();
78 78
			layout.marginHeight = 0;
79 79
			layout.marginWidth = 0;
80 80
			layout.type = SWT.VERTICAL;
81
			
81

  
82 82
			parent.setLayout(layout);
83 83
			viewer = new TreeViewer(parent);
84 84
			viewer.getControl().setLayoutData(LayoutConstants.FILL());
85 85
			viewer.setContentProvider(new TermContentProvider());
86 86
			viewer.setLabelProvider(new TermLabelProvider());
87 87
			viewer.setSorter(new ViewerSorter());
88
			
88

  
89 89
			Transfer[] transfers = new Transfer[] { TermTransfer.getInstance() };
90 90
			viewer.addDragSupport(dndOperations, transfers, new DefinedTermDragListener(viewer));
91 91
			viewer.addDropSupport(dndOperations, transfers, new DefinedTermDropAdapter(this));
92
									
92

  
93 93
			getDefinedTermEditorInput().initialiseVocabularies();
94 94
			viewer.setInput(getDefinedTermEditorInput().getVocabularies());
95
						
95

  
96 96
			getSite().setSelectionProvider(viewer);
97
			
97

  
98 98
			selectionService = getSite().getWorkbenchWindow().getSelectionService();
99 99
			selectionService.addSelectionListener(this);
100
	
100

  
101 101
			setPartName(getEditorInput().getName());
102 102
			createMenu();
103 103
		}
104
	
105
	
106 104

  
107
	
105

  
106

  
107

  
108 108
	/**
109
	 * 
109
	 *
110 110
	 */
111 111
	public TermEditorInput getDefinedTermEditorInput() {
112 112
		return (TermEditorInput) getEditorInput();
......
117 117
	 */
118 118
	@Override
119 119
	public boolean postOperation(CdmBase objectAffectedByOperation) {
120
			
121
		
122
		viewer.refresh();		
123
		
120

  
121

  
122
		viewer.refresh();
123

  
124 124
		if(objectAffectedByOperation != null){
125 125
			viewer.setSelection(new StructuredSelection(objectAffectedByOperation));
126 126
		}
127 127
		setDirty(true);
128 128

  
129 129
		return true;
130
	} 
130
	}
131 131

  
132 132
	private void createMenu() {
133 133
		// register context menu
......
135 135
		menuManager
136 136
				.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
137 137
		getSite().registerContextMenu(ID, menuManager, viewer);
138
	
138

  
139 139
		Control control = viewer.getControl();
140 140
		Menu menu = menuManager.createContextMenu(control);
141 141
		control.setMenu(menu);
142 142
	}
143
	
144 143

  
145
		
144

  
145

  
146 146

  
147 147
	@Override
148 148
	public void doSave(IProgressMonitor monitor) {
......
150 150
		setDirty(false);
151 151
		getDefinedTermEditorInput().initialiseVocabularies();
152 152
	}
153
	
153

  
154 154

  
155 155
	@Override
156 156
	public void doSaveAs() {}
......
159 159
	public void init(IEditorSite site, IEditorInput input) throws PartInitException {
160 160
		setSite(site);
161 161
		setInput(input);
162
		
162

  
163 163
	}
164 164

  
165 165
	@Override
......
174 174

  
175 175
	@Override
176 176
	public void setFocus() {
177
	    viewer.getControl().setFocus();
177 178
		getConversationHolder().bind();
178 179
	}
179 180

  
180 181
	@Override
181 182
	public void update(CdmDataChangeMap changeEvents) {
182 183
		// TODO Auto-generated method stub
183
		
184

  
184 185
	}
185 186

  
186 187
	@Override
......
191 192
	@Override
192 193
	public void selectionChanged(IWorkbenchPart part, ISelection selection) {
193 194
		// TODO Auto-generated method stub
194
		
195

  
195 196
	}
196 197

  
197 198
	@Override
......
216 217
	}
217 218

  
218 219
	/**
219
	 * 
220
	 *
220 221
	 */
221 222
	public TreeViewer getViewer() {
222 223
		return viewer;

Also available in: Unified diff