jh: new practice editor, changed order/names of fields
diff --git a/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/AuthoringUIResources.java b/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/AuthoringUIResources.java
index bc27915..04895bd 100644
--- a/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/AuthoringUIResources.java
+++ b/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/AuthoringUIResources.java
@@ -130,6 +130,7 @@
 	public static String additionalInfo_text;
 
 	public static String application_text;
+	public static String practice_application_text;
 
 	public static String actionLabel_edit;
 
diff --git a/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/Resources.properties b/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/Resources.properties
index f192d02..ed101f0 100644
--- a/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/Resources.properties
+++ b/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/Resources.properties
@@ -72,6 +72,7 @@
 # UI & Element Attribute Labels
 additionalInfo_text=Additional information:
 application_text=Application:
+practice_application_text=How to read this practice:
 actionLabel_edit=&Edit
 actionLabel_findElementInLibNav=&Show in Library View
 alternatives_text=Alternatives:
diff --git a/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/forms/DescriptionFormPage.java b/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/forms/DescriptionFormPage.java
index 9471bdb..b31baee 100644
--- a/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/forms/DescriptionFormPage.java
+++ b/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/forms/DescriptionFormPage.java
@@ -928,7 +928,7 @@
 	/**
 	 * Creates the Detail section content.
 	 */
-	private void createDetailSectionContent() {
+	protected void createDetailSectionContent() {
 		if (purposeOn) {
 			ctrl_purpose = createRichTextEditWithLinkForSection(toolkit,
 					detailComposite, AuthoringUIText.PURPOSE_TEXT, 40, 400,
diff --git a/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/forms/GuidanceDescriptionPage.java b/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/forms/GuidanceDescriptionPage.java
index 31af4c5..4d49a70 100644
--- a/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/forms/GuidanceDescriptionPage.java
+++ b/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/forms/GuidanceDescriptionPage.java
@@ -62,6 +62,7 @@
 	private String elementLabel;
 
 	private IMethodRichText ctrl_content;
+	protected boolean contentOn = true;
 
 	private int contentFieldHeight = 400;
 
@@ -103,9 +104,11 @@
 	 */
 	protected void createEditorContent(FormToolkit toolkit) {
 		super.createEditorContent(toolkit);
-		ctrl_content = createRichTextEditWithLinkForSection(toolkit,
-				detailComposite, AuthoringUIText.MAIN_DESCRIPTION_TEXT,
-				contentFieldHeight, 400, DETAIL_SECTION_ID);
+		if (contentOn) {
+			ctrl_content = createRichTextEditWithLinkForSection(toolkit,
+					detailComposite, AuthoringUIText.MAIN_DESCRIPTION_TEXT,
+					contentFieldHeight, 400, DETAIL_SECTION_ID);
+		}
 	}
 
 	/**
@@ -113,40 +116,42 @@
 	 */
 	protected void addListeners() {
 		super.addListeners();
-
-		final MethodElementEditor editor = (MethodElementEditor) getEditor();
-
-		ctrl_content.setModalObject(contentElement.getPresentation());
-		ctrl_content.setModalObjectFeature(UmaPackage.eINSTANCE
-				.getContentDescription_MainDescription());
-		ctrl_content.addModifyListener(contentModifyListener);
-		ctrl_content.addListener(SWT.Deactivate, new Listener() {
-			public void handleEvent(Event e) {
-				IMethodRichText control = descExpandFlag ? ctrl_expanded
-						: ctrl_content;
-				if (!control.getModified()) {
-					return;
-				}
-				String oldContent = guidance.getPresentation()
-						.getMainDescription();
-				if (((MethodElementEditor) getEditor()).mustRestoreValue(
-						control, oldContent)) {
-					return;
-				}
-				String newContent = control.getText();
-				if (!newContent.equals(oldContent)) {
-					boolean success = editor.getActionManager().doAction(
-							IActionManager.SET,
-							contentElement.getPresentation(),
-							UmaPackage.eINSTANCE
-									.getContentDescription_MainDescription(),
-							newContent, -1);
-					if (success && isVersionSectionOn()) {
-						updateChangeDate();
+		if (contentOn) {
+	
+			final MethodElementEditor editor = (MethodElementEditor) getEditor();
+	
+			ctrl_content.setModalObject(contentElement.getPresentation());
+			ctrl_content.setModalObjectFeature(UmaPackage.eINSTANCE
+					.getContentDescription_MainDescription());
+			ctrl_content.addModifyListener(contentModifyListener);
+			ctrl_content.addListener(SWT.Deactivate, new Listener() {
+				public void handleEvent(Event e) {
+					IMethodRichText control = descExpandFlag ? ctrl_expanded
+							: ctrl_content;
+					if (!control.getModified()) {
+						return;
+					}
+					String oldContent = guidance.getPresentation()
+							.getMainDescription();
+					if (((MethodElementEditor) getEditor()).mustRestoreValue(
+							control, oldContent)) {
+						return;
+					}
+					String newContent = control.getText();
+					if (!newContent.equals(oldContent)) {
+						boolean success = editor.getActionManager().doAction(
+								IActionManager.SET,
+								contentElement.getPresentation(),
+								UmaPackage.eINSTANCE
+										.getContentDescription_MainDescription(),
+								newContent, -1);
+						if (success && isVersionSectionOn()) {
+							updateChangeDate();
+						}
 					}
 				}
-			}
-		});
+			});
+		}
 	}
 
 	/**
@@ -154,7 +159,9 @@
 	 */
 	protected void refresh(boolean editable) {
 		super.refresh(editable);
-		ctrl_content.setEditable(editable);
+		if (contentOn) {
+			ctrl_content.setEditable(editable);
+		}
 	}
 
 	/**
@@ -162,12 +169,14 @@
 	 */
 	protected void loadData() {
 		super.loadData();
-		if (guidance != null) {
-			String content = null;
-			if (guidance.getPresentation() != null) {
-				content = guidance.getPresentation().getMainDescription();
+		if (contentOn) {
+			if (guidance != null) {
+				String content = null;
+				if (guidance.getPresentation() != null) {
+					content = guidance.getPresentation().getMainDescription();
+				}
+				ctrl_content.setText(content == null ? "" : content); //$NON-NLS-1$
 			}
-			ctrl_content.setText(content == null ? "" : content); //$NON-NLS-1$
 		}
 	}
 
diff --git a/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/forms/PracticeDescriptionPage.java b/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/forms/PracticeDescriptionPage.java
index 67eb05e..ee165ce 100644
--- a/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/forms/PracticeDescriptionPage.java
+++ b/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/forms/PracticeDescriptionPage.java
@@ -10,6 +10,7 @@
 //------------------------------------------------------------------------------
 package org.eclipse.epf.authoring.ui.forms;
 
+import org.eclipse.epf.authoring.ui.AuthoringUIResources;
 import org.eclipse.epf.authoring.ui.AuthoringUIText;
 import org.eclipse.epf.authoring.ui.editors.MethodElementEditor;
 import org.eclipse.epf.authoring.ui.richtext.IMethodRichText;
@@ -56,6 +57,8 @@
 		super.init(site, input);
 		guidance = (Practice) contentElement;
 		setContentFieldHeight(200);
+		setFullDescOn(true);
+		contentOn = false;
 	}
 
 	/**
@@ -63,27 +66,39 @@
 	 */
 	protected void createEditorContent(FormToolkit toolkit) {
 		super.createEditorContent(toolkit);
-
-		ctrl_additional_info = createRichTextEditWithLinkForSection(toolkit,
-				detailComposite, AuthoringUIText.ADDITIONAL_INFO_TEXT, 40, 400,
+		label_base.setText(AuthoringUIText.BASE_ELEMENT_TEXT);
+	}
+	
+	@Override
+	protected void createDetailSectionContent() {
+		// Problem is named "Purpose" in the UI
+		ctrl_problem = createRichTextEditWithLinkForSection(toolkit,
+				detailComposite, AuthoringUIText.PURPOSE_TEXT, 40, 400,
 				DETAIL_SECTION_ID);
+
 		ctrl_goals = createRichTextEditWithLinkForSection(toolkit,
 				detailComposite, AuthoringUIText.GOALS_TEXT, 40, 400,
 				DETAIL_SECTION_ID);
-		ctrl_application = createRichTextEditWithLinkForSection(toolkit,
-				detailComposite, AuthoringUIText.APPLICATION_TEXT, 40, 400,
-				DETAIL_SECTION_ID);
-		ctrl_problem = createRichTextEditWithLinkForSection(toolkit,
-				detailComposite, AuthoringUIText.PROBLEM_TEXT, 40, 400,
-				DETAIL_SECTION_ID);
 		ctrl_background = createRichTextEditWithLinkForSection(toolkit,
 				detailComposite, AuthoringUIText.BACKGROUND_TEXT, 40, 400,
 				DETAIL_SECTION_ID);
+
+		if (fullDescOn) {
+			ctrl_full_desc = createRichTextEditWithLinkForSection(toolkit,
+					detailComposite, AuthoringUIText.MAIN_DESCRIPTION_TEXT,
+					100, 400, DETAIL_SECTION_ID);
+		}
+		
+		// Application field is called "How to read this practice" in the UI
+		ctrl_application = createRichTextEditWithLinkForSection(toolkit,
+				detailComposite, AuthoringUIResources.practice_application_text, 40, 400,
+				DETAIL_SECTION_ID);
 		ctrl_levels_adoption = createRichTextEditWithLinkForSection(toolkit,
 				detailComposite, AuthoringUIText.LEVEL_OF_ADOPTION_TEXT, 40,
 				400, DETAIL_SECTION_ID);
-
-		label_base.setText(AuthoringUIText.BASE_ELEMENT_TEXT);
+		ctrl_additional_info = createRichTextEditWithLinkForSection(toolkit,
+				detailComposite, AuthoringUIText.ADDITIONAL_INFO_TEXT, 40, 400,
+				DETAIL_SECTION_ID);
 	}
 
 	/**
@@ -308,7 +323,7 @@
 		ctrl_additional_info.setEditable(editable);
 		ctrl_application.setEditable(editable);
 		ctrl_goals.setEditable(editable);
-		ctrl_problem.setEditable(editable);
+//		ctrl_problem.setEditable(editable);
 		ctrl_levels_adoption.setEditable(editable);
 		ctrl_background.setEditable(editable);
 	}