Index: tmp/org.txm.edition.rcp/src/org/txm/edition/rcp/editors/EditionLink.java
===================================================================
--- tmp/org.txm.edition.rcp/src/org/txm/edition/rcp/editors/EditionLink.java	(revision 2973)
+++ tmp/org.txm.edition.rcp/src/org/txm/edition/rcp/editors/EditionLink.java	(revision 2974)
@@ -4,55 +4,66 @@
 
 import org.eclipse.swt.browser.Browser;
 import org.eclipse.swt.browser.BrowserFunction;
+import org.txm.core.results.TXMResult;
 import org.txm.edition.rcp.handlers.BackToText;
 import org.txm.edition.rcp.messages.EditionUIMessages;
+import org.txm.rcp.editors.TXMEditor;
+
 /**
  * Browser Javascript method to open a TXM edition given 1 to 4 parameters : corpusid, editionid, textid, wordid
+ * 
  * @author mdecorde
  *
  */
 public class EditionLink extends BrowserFunction {
-
+	
 	String data = ""; //$NON-NLS-1$
+	
 	Browser browser;
-	SynopticEditionEditor synopticEditionEditor;
-
-	EditionLink (SynopticEditionEditor synopticEditionEditor, Browser browser) {
-		super (browser, "txmedition"); //$NON-NLS-1$
+	
+	TXMEditor<? extends TXMResult> synopticEditionEditor;
+	
+	EditionLink(TXMEditor<? extends TXMResult> synopticEditionEditor, Browser browser) {
+		super(browser, "txmedition"); //$NON-NLS-1$
 		this.browser = browser;
 		this.synopticEditionEditor = synopticEditionEditor;
 	}
-
-	public Object function (Object[] arguments) { // corpus id, edition id, text id, word id
-		HashMap<String, String> params = new HashMap<String, String>();
-
+	
+	@Override
+	public Object function(Object[] arguments) { // corpus id, edition id, text id, word id
+		HashMap<String, String> params = new HashMap<>();
+		
 		String id = BackToText.class.getName();
-
+		
 		if (arguments.length == 4) {
-			params.put(id+".corpusid", arguments[0].toString()); //$NON-NLS-1$
-			params.put(id+".editionid", arguments[1].toString()); //$NON-NLS-1$
-			params.put(id+".textid", arguments[2].toString()); //$NON-NLS-1$
-			params.put(id+".wordid", arguments[3].toString()); //$NON-NLS-1$
-		} else if (arguments.length == 3) {
-			params.put(id+".corpusid", arguments[0].toString()); //$NON-NLS-1$
-			params.put(id+".editionid", arguments[1].toString()); //$NON-NLS-1$
-			params.put(id+".textid", arguments[2].toString()); //$NON-NLS-1$
-			params.put(id+".wordid", null); //$NON-NLS-1$
-		} else if (arguments.length == 2) {
-			params.put(id+".corpusid", arguments[0].toString()); //$NON-NLS-1$
-			params.put(id+".editionid", arguments[1].toString()); //$NON-NLS-1$
-			params.put(id+".textid", null); //$NON-NLS-1$
-			params.put(id+".wordid", null); //$NON-NLS-1$
-		} else if (arguments.length == 1) {
-			params.put(id+".corpusid", arguments[0].toString()); //$NON-NLS-1$
-			params.put(id+".editionid", null); //$NON-NLS-1$
-			params.put(id+".textid", null); //$NON-NLS-1$
-			params.put(id+".wordid", null); //$NON-NLS-1$
-		} else {
+			params.put(id + ".corpusid", arguments[0].toString()); //$NON-NLS-1$
+			params.put(id + ".editionid", arguments[1].toString()); //$NON-NLS-1$
+			params.put(id + ".textid", arguments[2].toString()); //$NON-NLS-1$
+			params.put(id + ".wordid", arguments[3].toString()); //$NON-NLS-1$
+		}
+		else if (arguments.length == 3) {
+			params.put(id + ".corpusid", arguments[0].toString()); //$NON-NLS-1$
+			params.put(id + ".editionid", arguments[1].toString()); //$NON-NLS-1$
+			params.put(id + ".textid", arguments[2].toString()); //$NON-NLS-1$
+			params.put(id + ".wordid", null); //$NON-NLS-1$
+		}
+		else if (arguments.length == 2) {
+			params.put(id + ".corpusid", arguments[0].toString()); //$NON-NLS-1$
+			params.put(id + ".editionid", arguments[1].toString()); //$NON-NLS-1$
+			params.put(id + ".textid", null); //$NON-NLS-1$
+			params.put(id + ".wordid", null); //$NON-NLS-1$
+		}
+		else if (arguments.length == 1) {
+			params.put(id + ".corpusid", arguments[0].toString()); //$NON-NLS-1$
+			params.put(id + ".editionid", null); //$NON-NLS-1$
+			params.put(id + ".textid", null); //$NON-NLS-1$
+			params.put(id + ".wordid", null); //$NON-NLS-1$
+		}
+		else {
 			System.out.println(EditionUIMessages.errorColonTxmeditioncorpusidEditionidTextidWordidCalledWithNoArguments);
 			return null;
 		}
-
+		
 		return SynopticEditionEditor.callTXMCommand(id, params);
 	}
-}
\ No newline at end of file
+}
Index: tmp/org.txm.edition.rcp/src/org/txm/edition/rcp/editors/CommandLink.java
===================================================================
--- tmp/org.txm.edition.rcp/src/org/txm/edition/rcp/editors/CommandLink.java	(revision 2973)
+++ tmp/org.txm.edition.rcp/src/org/txm/edition/rcp/editors/CommandLink.java	(revision 2974)
@@ -2,28 +2,34 @@
 
 import org.eclipse.swt.browser.Browser;
 import org.eclipse.swt.browser.BrowserFunction;
+import org.txm.core.results.TXMResult;
 import org.txm.edition.rcp.messages.EditionUIMessages;
+import org.txm.rcp.editors.TXMEditor;
 
 public class CommandLink extends BrowserFunction {
 	
 	String data = EditionUIMessages.CommandLink_empty;
+	
 	Browser browser;
-	SynopticEditionEditor synopticEditionEditor;
 	
-	CommandLink (SynopticEditionEditor synopticEditionEditor, Browser browser) {
-		super (browser, "txmcommand"); //$NON-NLS-1$
+	TXMEditor<? extends TXMResult> editor;
+	
+	CommandLink(TXMEditor<? extends TXMResult> editor, Browser browser) {
+		super(browser, "txmcommand"); //$NON-NLS-1$
 		this.browser = browser;
-		this.synopticEditionEditor = synopticEditionEditor;
+		this.editor = editor;
 	}
 	
-	public Object function (Object[] arguments) {
-		if (synopticEditionEditor != null) {
-			try { //TODO add option (or another browser command) to not force activated editor
-				synopticEditionEditor.getSite().getPage().activate(synopticEditionEditor);
-			} catch (Exception e) {
+	@Override
+	public Object function(Object[] arguments) {
+		if (editor != null) {
+			try { // TODO add option (or another browser command) to not force activated editor
+				editor.getSite().getPage().activate(editor);
+			}
+			catch (Exception e) {
 				System.out.println(e);
 			}
 		}
 		return SynopticEditionEditor.callTXMCommand(arguments);
 	}
-}
\ No newline at end of file
+}
Index: tmp/org.txm.properties.rcp/src/org/txm/properties/rcp/editors/DocumentationTab.java
===================================================================
--- tmp/org.txm.properties.rcp/src/org/txm/properties/rcp/editors/DocumentationTab.java	(revision 0)
+++ tmp/org.txm.properties.rcp/src/org/txm/properties/rcp/editors/DocumentationTab.java	(revision 2974)
@@ -0,0 +1,71 @@
+package org.txm.properties.rcp.editors;
+
+import java.io.File;
+import java.net.MalformedURLException;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.browser.Browser;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.TabFolder;
+import org.eclipse.swt.widgets.TabItem;
+import org.txm.core.results.TXMResult;
+import org.txm.objects.Project;
+import org.txm.properties.rcp.Messages;
+import org.txm.rcp.swt.GLComposite;
+import org.txm.utils.logger.Log;
+
+/**
+ * Page displayed if Properties parent is a Corpus
+ * 
+ * @author mdecorde
+ *
+ */
+public class DocumentationTab extends PropertiesTab {
+	
+	TXMResult result;
+	
+	protected Browser browser;
+	
+	public DocumentationTab(TabFolder folder, PropertiesPagedEditor editor) {
+		super(folder, editor);
+		
+		this.result = editor.getResult().getParent();
+		tab.setText("Documentation");
+		
+		buildContent(parent);
+	}
+	
+	protected void buildContent(GLComposite parent) {
+		this.browser = new Browser(parent, SWT.NONE);
+		this.browser.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true));
+	}
+	
+	@Override
+	public void updateResultFromEditor(boolean update) throws Exception {
+		
+	}
+	
+	@Override
+	public void updateEditorFromResult() {
+		TXMResult r = this.editor.getResult().getParent();
+		Project p = r.getFirstParent(Project.class);
+		File file = new File(p.getProjectDirectory(), "doc/index.html");
+		if (file != null && file.exists()) {
+			try {
+				this.browser.setUrl(file.toURI().toURL().toString());
+			}
+			catch (MalformedURLException e) {
+				// TODO Auto-generated catch block
+				e.printStackTrace();
+			}
+		}
+		else {
+			Log.severe("Information HTML file doesn't exist."); //$NON-NLS-1$
+		}
+	}
+	
+	public TabItem getTab() {
+		return tab;
+	}
+}

Property changes on: tmp/org.txm.properties.rcp/src/org/txm/properties/rcp/editors/DocumentationTab.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.properties.rcp/src/org/txm/properties/rcp/editors/PropertiesPagedEditor.java
===================================================================
--- tmp/org.txm.properties.rcp/src/org/txm/properties/rcp/editors/PropertiesPagedEditor.java	(revision 2973)
+++ tmp/org.txm.properties.rcp/src/org/txm/properties/rcp/editors/PropertiesPagedEditor.java	(revision 2974)
@@ -1,5 +1,6 @@
 package org.txm.properties.rcp.editors;
 
+import java.io.File;
 import java.util.ArrayList;
 
 import org.eclipse.swt.SWT;
@@ -17,12 +18,14 @@
 import org.txm.searchengine.cqp.corpus.CQPCorpus;
 import org.txm.core.results.Parameter;
 import org.txm.core.results.TXMResult;
+import org.txm.objects.Project;
 
 public class PropertiesPagedEditor extends TXMEditor<Properties> {
-
+	
 	private TabFolder tabFolder;
-	protected ArrayList<PropertiesTab> tabs = new ArrayList<PropertiesTab>();
-
+	
+	protected ArrayList<PropertiesTab> tabs = new ArrayList<>();
+	
 	/**
 	 * The maximum number of word property values to display.
 	 */
@@ -41,30 +44,37 @@
 		
 		
 		GLComposite parent = getResultArea();
-		tabFolder = new TabFolder (parent, SWT.BORDER);
+		tabFolder = new TabFolder(parent, SWT.BORDER);
 		tabFolder.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true));
 		
 		tabs.add(new PropertiesGeneralTab(tabFolder, this));
 		PropertiesTXMResultTab resultTab = new PropertiesTXMResultTab(tabFolder, this);
 		tabs.add(resultTab);
+		
+		Project p = this.getResult().getFirstParent(Project.class);
+		File file = new File(p.getProjectDirectory(), "doc/index.html");
+		if (file.exists()) {
+			DocumentationTab docTab = new DocumentationTab(tabFolder, this);
+			tabs.add(docTab);
+		}
 		tabs.add(new PropertiesParametersTab(tabFolder, this));
 		
 		tabFolder.setSelection(resultTab.getTab());
 	}
-
+	
 	@Override
 	public void updateResultFromEditor() {
 		for (PropertiesTab tab : tabs) {
 			tab.updateEditorFromResult();
 		}
 	}
-
+	
 	@Override
 	public void updateEditorFromResult(boolean update) throws Exception {
 		for (PropertiesTab tab : tabs) {
 			tab.updateEditorFromResult();
 		}
 	}
-
-
+	
+	
 }
