View | Details | Raw Unified | Return to bug 92594 | Differences between
and this patch

Collapse All | Expand All

(-)plugin.properties (+6 lines)
Lines 141-144 Link Here
141
W_RESOURCE              = Resource
141
W_RESOURCE              = Resource
142
142
143
CONFIRM_PERSP_SWITCH    = Confirm Perspective Switch
143
CONFIRM_PERSP_SWITCH    = Confirm Perspective Switch
144
<<<<<<< plugin.properties
144
NEW_WIZARD_TITLE        = New Example
145
NEW_WIZARD_TITLE        = New Example
146
147
STATUS_LINE_WRITABLE    = Writable
148
STATUS_LINE_READONLY    = Read-Only
149
NEW_WIZARD_TITLE        = New Example
150
>>>>>>> 1.29
(-)src/org/eclipse/hyades/ui/internal/editor/EditorSynchronizer.java (+20 lines)
Lines 26-41 Link Here
26
import org.eclipse.core.runtime.IStatus;
26
import org.eclipse.core.runtime.IStatus;
27
import org.eclipse.hyades.ui.HyadesUIPlugin;
27
import org.eclipse.hyades.ui.HyadesUIPlugin;
28
import org.eclipse.hyades.ui.adapter.ISynchronizedEditorAdapter;
28
import org.eclipse.hyades.ui.adapter.ISynchronizedEditorAdapter;
29
import org.eclipse.hyades.ui.editor.HyadesEditorActionContributor;
29
import org.eclipse.hyades.ui.util.IDisposable;
30
import org.eclipse.hyades.ui.util.IDisposable;
30
import org.eclipse.jface.dialogs.MessageDialog;
31
import org.eclipse.jface.dialogs.MessageDialog;
32
import org.eclipse.ui.IEditorActionBarContributor;
31
import org.eclipse.ui.IEditorInput;
33
import org.eclipse.ui.IEditorInput;
32
import org.eclipse.ui.IEditorPart;
34
import org.eclipse.ui.IEditorPart;
35
import org.eclipse.ui.IEditorSite;
33
import org.eclipse.ui.IFileEditorInput;
36
import org.eclipse.ui.IFileEditorInput;
34
import org.eclipse.ui.IPartListener;
37
import org.eclipse.ui.IPartListener;
35
import org.eclipse.ui.IPartListener2;
38
import org.eclipse.ui.IPartListener2;
36
import org.eclipse.ui.IWindowListener;
39
import org.eclipse.ui.IWindowListener;
37
import org.eclipse.ui.IWorkbenchPart;
40
import org.eclipse.ui.IWorkbenchPart;
38
import org.eclipse.ui.IWorkbenchPartReference;
41
import org.eclipse.ui.IWorkbenchPartReference;
42
import org.eclipse.ui.IWorkbenchSite;
39
import org.eclipse.ui.IWorkbenchWindow;
43
import org.eclipse.ui.IWorkbenchWindow;
40
import org.eclipse.ui.PlatformUI;
44
import org.eclipse.ui.PlatformUI;
41
import org.eclipse.ui.part.FileEditorInput;
45
import org.eclipse.ui.part.FileEditorInput;
Lines 738-743 Link Here
738
742
739
			if(ref.getPart(false) == getEditorPart())
743
			if(ref.getPart(false) == getEditorPart())
740
				checkOSFiles();
744
				checkOSFiles();
745
			updateStatusLineWritableField(ref);
741
		}
746
		}
742
	
747
	
743
		/**
748
		/**
Lines 766-773 Link Here
766
		 */
771
		 */
767
		public void partOpened(IWorkbenchPartReference ref)
772
		public void partOpened(IWorkbenchPartReference ref)
768
		{
773
		{
774
			updateStatusLineWritableField(ref);
769
		}
775
		}
770
	
776
	
777
		private void updateStatusLineWritableField(IWorkbenchPartReference ref) {
778
			if(ref.getPart(false) == getEditorPart()) {
779
				IWorkbenchSite site = ref.getPart(false).getSite();
780
				if (site instanceof IEditorSite) {
781
					IEditorSite eSite = (IEditorSite) site;
782
					IEditorActionBarContributor contributor = eSite.getActionBarContributor();
783
					if (contributor instanceof HyadesEditorActionContributor) {
784
						HyadesEditorActionContributor hyadesContrib = (HyadesEditorActionContributor) contributor;
785
						hyadesContrib.setWritable(!getEditorOSFile().isReadOnly());
786
					}
787
				}
788
			}
789
		}
790
771
		/**
791
		/**
772
		 * @see org.eclipse.ui.IPartListener2#partHidden(org.eclipse.ui.IWorkbenchPartReference)
792
		 * @see org.eclipse.ui.IPartListener2#partHidden(org.eclipse.ui.IWorkbenchPartReference)
773
		 */
793
		 */
(-)src/org/eclipse/hyades/ui/editor/HyadesEditorActionContributor.java (+41 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation 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
 * $Id: $
8
 * 
9
 * Contributors:
10
 *     IBM Corporation - initial API and implementation
11
 *******************************************************************************/
12
package org.eclipse.hyades.ui.editor;
13
14
import org.eclipse.hyades.ui.HyadesUIPlugin;
15
import org.eclipse.jface.action.IStatusLineManager;
16
import org.eclipse.ui.part.EditorActionBarContributor;
17
import org.eclipse.ui.texteditor.ITextEditorActionConstants;
18
import org.eclipse.ui.texteditor.StatusLineContributionItem;
19
20
/** 
21
 * Basic Hyades editor contributor.
22
 * This class is in charge to add specific contributions.
23
 * @author jgout
24
 * @since 3.3
25
 */
26
public class HyadesEditorActionContributor extends EditorActionBarContributor {
27
28
	
29
	private StatusLineContributionItem writableContributionItem;
30
31
	public void contributeToStatusLine(IStatusLineManager statusLineManager) {
32
		super.contributeToStatusLine(statusLineManager);
33
		writableContributionItem = new StatusLineContributionItem(ITextEditorActionConstants.STATUS_CATEGORY_ELEMENT_STATE, true, 15);
34
		statusLineManager.add(writableContributionItem);
35
	}
36
	
37
	public void setWritable(boolean writable) {
38
		String msg = writable ? HyadesUIPlugin.getString("STATUS_LINE_WRITABLE") : HyadesUIPlugin.getString("STATUS_LINE_READONLY"); //$NON-NLS-1$ //$NON-NLS-2$
39
		writableContributionItem.setText(msg);
40
	}
41
}

Return to bug 92594