[231268] separate model ui related code from org.eclipse.actf.common plugin
diff --git a/plugins/org.eclipse.actf.ai.audio.description/META-INF/MANIFEST.MF b/plugins/org.eclipse.actf.ai.audio.description/META-INF/MANIFEST.MF
index 7e1cc88..4476431 100644
--- a/plugins/org.eclipse.actf.ai.audio.description/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.actf.ai.audio.description/META-INF/MANIFEST.MF
@@ -12,6 +12,7 @@
  org.eclipse.actf.ai.navigator,
  org.eclipse.actf.ai.voice,
  org.eclipse.actf.ai.xmlstore,
- org.eclipse.actf.common
+ org.eclipse.actf.common,
+ org.eclipse.actf.model.ui
 Eclipse-LazyStart: true
 Export-Package: org.eclipse.actf.ai.audio.description
diff --git a/plugins/org.eclipse.actf.ai.fennec/META-INF/MANIFEST.MF b/plugins/org.eclipse.actf.ai.fennec/META-INF/MANIFEST.MF
index c4daeb5..50f97d7 100644
--- a/plugins/org.eclipse.actf.ai.fennec/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.actf.ai.fennec/META-INF/MANIFEST.MF
@@ -5,10 +5,10 @@
 Bundle-Version: 0.0.1
 Bundle-Activator: org.eclipse.actf.ai.fennec.FennecPlugin
 Bundle-Vendor: Eclipse.org
-Bundle-Localization: plugin
 Require-Bundle: org.eclipse.core.runtime,
  org.eclipse.actf.util.vocab,
  org.eclipse.actf.common,
+ org.eclipse.actf.model.ui,
  org.eclipse.actf.model.dom.dombycom,
  org.eclipse.actf.ai.query,
  org.eclipse.actf.ai.xmlstore,
diff --git a/plugins/org.eclipse.actf.ai.fennec/src/org/eclipse/actf/ai/fennec/FennecPlugin.java b/plugins/org.eclipse.actf.ai.fennec/src/org/eclipse/actf/ai/fennec/FennecPlugin.java
index 3344041..53ced46 100644
--- a/plugins/org.eclipse.actf.ai.fennec/src/org/eclipse/actf/ai/fennec/FennecPlugin.java
+++ b/plugins/org.eclipse.actf.ai.fennec/src/org/eclipse/actf/ai/fennec/FennecPlugin.java
@@ -12,7 +12,7 @@
 package org.eclipse.actf.ai.fennec;
 
 import org.eclipse.actf.ai.fennec.mediator.FennecMediatorImpl;
-import org.eclipse.actf.model.IWebBrowserACTF;
+import org.eclipse.actf.model.ui.editor.browser.IWebBrowserACTF;
 import org.eclipse.core.runtime.Plugin;
 import org.osgi.framework.BundleContext;
 
diff --git a/plugins/org.eclipse.actf.ai.fennec/src/org/eclipse/actf/ai/fennec/mediator/FennecMediatorImpl.java b/plugins/org.eclipse.actf.ai.fennec/src/org/eclipse/actf/ai/fennec/mediator/FennecMediatorImpl.java
index bcee669..6d75fe2 100644
--- a/plugins/org.eclipse.actf.ai.fennec/src/org/eclipse/actf/ai/fennec/mediator/FennecMediatorImpl.java
+++ b/plugins/org.eclipse.actf.ai.fennec/src/org/eclipse/actf/ai/fennec/mediator/FennecMediatorImpl.java
@@ -27,8 +27,8 @@
 import org.eclipse.actf.ai.xmlstore.IXMLStore;
 import org.eclipse.actf.ai.xmlstore.IXMLStoreService;
 import org.eclipse.actf.ai.xmlstore.XMLStorePlugin;
-import org.eclipse.actf.model.IWebBrowserACTF;
 import org.eclipse.actf.model.dom.dombycom.IDocumentEx;
+import org.eclipse.actf.model.ui.editor.browser.IWebBrowserACTF;
 
 
 
diff --git a/plugins/org.eclipse.actf.ai.navigator/META-INF/MANIFEST.MF b/plugins/org.eclipse.actf.ai.navigator/META-INF/MANIFEST.MF
index 13c5d44..6d1e0ab 100644
--- a/plugins/org.eclipse.actf.ai.navigator/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.actf.ai.navigator/META-INF/MANIFEST.MF
@@ -11,6 +11,7 @@
  org.eclipse.actf.common,
  org.eclipse.actf.ai.fennec,
  org.eclipse.actf.util.vocab,
+ org.eclipse.actf.model.ui,
  org.eclipse.actf.model.ui.editors.ie,
  org.eclipse.actf.ai.xmlstore,
  org.eclipse.actf.ai.audio.io,
diff --git a/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/IMediaControl.java b/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/IMediaControl.java
index 93ea912..5607472 100644
--- a/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/IMediaControl.java
+++ b/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/IMediaControl.java
@@ -14,7 +14,7 @@
 import org.eclipse.actf.ai.fennec.treemanager.ISoundControl;
 import org.eclipse.actf.ai.fennec.treemanager.IVideoControl;
 import org.eclipse.actf.ai.voice.IVoice;
-import org.eclipse.actf.model.IWebBrowserACTF;
+import org.eclipse.actf.model.ui.editor.browser.IWebBrowserACTF;
 
 
 /**
diff --git a/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/IScreenReaderControl.java b/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/IScreenReaderControl.java
index bdb1789..42f5007 100644
--- a/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/IScreenReaderControl.java
+++ b/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/IScreenReaderControl.java
@@ -11,7 +11,6 @@
 
 package org.eclipse.actf.ai.navigator;
 
-import org.eclipse.actf.model.IWebBrowserACTF;
 
 
 
diff --git a/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/broker/RequestBroker.java b/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/broker/RequestBroker.java
index c912322..7009c47 100644
--- a/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/broker/RequestBroker.java
+++ b/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/broker/RequestBroker.java
@@ -15,7 +15,7 @@
 import org.eclipse.actf.ai.fennec.treemanager.ITreeManager;
 import org.eclipse.actf.ai.navigator.impl.NavigatorImpl;
 import org.eclipse.actf.ai.navigator.impl.WebEventListener;
-import org.eclipse.actf.model.IWebBrowserACTF;
+import org.eclipse.actf.model.ui.editor.browser.IWebBrowserACTF;
 import org.eclipse.actf.util.timer.Yield;
 
 
diff --git a/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/extension/ScreenReaderExtension.java b/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/extension/ScreenReaderExtension.java
index b728780..16acadd 100644
--- a/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/extension/ScreenReaderExtension.java
+++ b/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/extension/ScreenReaderExtension.java
@@ -16,7 +16,7 @@
 
 import org.eclipse.actf.ai.navigator.IScreenReaderControl;
 import org.eclipse.actf.ai.navigator.NavigatorPlugin;
-import org.eclipse.actf.model.IWebBrowserACTF;
+import org.eclipse.actf.model.ui.editor.browser.IWebBrowserACTF;
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.core.runtime.IExtension;
 import org.eclipse.core.runtime.Platform;
diff --git a/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/impl/BrowserControlImpl.java b/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/impl/BrowserControlImpl.java
index b703440..5cbc32a 100644
--- a/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/impl/BrowserControlImpl.java
+++ b/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/impl/BrowserControlImpl.java
@@ -19,10 +19,10 @@
 import org.eclipse.actf.ai.navigator.ui.URLOpenDialog;
 import org.eclipse.actf.ai.navigator.voice.VoiceManager;
 import org.eclipse.actf.ai.xmlstore.XMLStorePlugin;
-import org.eclipse.actf.model.ModelServiceUtils;
-import org.eclipse.actf.model.IWebBrowserACTF;
-import org.eclipse.actf.model.ui.editor.events.IWebBrowserNavigationEventListener;
-import org.eclipse.actf.model.ui.editor.events.WebBrowserNavigationEvent;
+import org.eclipse.actf.model.ui.editor.browser.IWebBrowserACTF;
+import org.eclipse.actf.model.ui.editor.browser.IWebBrowserNavigationEventListener;
+import org.eclipse.actf.model.ui.editor.browser.WebBrowserNavigationEvent;
+import org.eclipse.actf.model.ui.util.ModelServiceUtils;
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.FileDialog;
diff --git a/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/impl/NavigatorImpl.java b/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/impl/NavigatorImpl.java
index 373244c..d19ba2b 100644
--- a/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/impl/NavigatorImpl.java
+++ b/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/impl/NavigatorImpl.java
@@ -44,8 +44,8 @@
 import org.eclipse.actf.ai.navigator.voice.VoiceManager;
 import org.eclipse.actf.ai.voice.IVoice;
 import org.eclipse.actf.ai.voice.IVoiceEventListener;
-import org.eclipse.actf.model.IModelServiceHolder;
-import org.eclipse.actf.model.IWebBrowserACTF;
+import org.eclipse.actf.model.ui.IModelServiceHolder;
+import org.eclipse.actf.model.ui.editor.browser.IWebBrowserACTF;
 import org.eclipse.actf.util.ApplicationArgumentUtil;
 import org.eclipse.actf.util.BrowserLaunch;
 import org.eclipse.actf.util.ui.PlatformUIUtil;
diff --git a/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/impl/NavigatorImplEx.java b/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/impl/NavigatorImplEx.java
index 7d66a5e..5a21732 100644
--- a/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/impl/NavigatorImplEx.java
+++ b/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/impl/NavigatorImplEx.java
@@ -26,7 +26,7 @@
 import org.eclipse.actf.ai.navigator.userinfo.impl.MetaDataModifier;
 import org.eclipse.actf.ai.navigator.util.ContentShortener;
 import org.eclipse.actf.ai.xmlstore.XMLStoreException;
-import org.eclipse.actf.model.IWebBrowserACTF;
+import org.eclipse.actf.model.ui.editor.browser.IWebBrowserACTF;
 import org.eclipse.actf.util.ui.PlatformUIUtil;
 import org.eclipse.actf.util.vocab.Vocabulary;
 import org.eclipse.jface.dialogs.InputDialog;
diff --git a/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/impl/WebEventListener.java b/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/impl/WebEventListener.java
index d24ebf7..1fea4ed 100644
--- a/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/impl/WebEventListener.java
+++ b/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/impl/WebEventListener.java
@@ -14,16 +14,17 @@
 import java.net.URLDecoder;
 import java.util.HashMap;
 
-import org.eclipse.actf.ai.fennec.IFennecMediator;
 import org.eclipse.actf.ai.fennec.FennecPlugin;
+import org.eclipse.actf.ai.fennec.IFennecMediator;
 import org.eclipse.actf.ai.fennec.treemanager.ILocation;
 import org.eclipse.actf.ai.navigator.broker.RequestBroker;
 import org.eclipse.actf.ai.navigator.extension.ManipulatorExtension;
 import org.eclipse.actf.ai.navigator.extension.MediaControlExtension;
 import org.eclipse.actf.ai.navigator.extension.ScreenReaderExtension;
-import org.eclipse.actf.model.IModelServiceHolder;
-import org.eclipse.actf.model.IWebBrowserACTF;
-import org.eclipse.actf.model.events.IWebBrowserACTFEventListener;
+import org.eclipse.actf.model.ui.IModelServiceHolder;
+import org.eclipse.actf.model.ui.editor.browser.IWebBrowserACTF;
+import org.eclipse.actf.model.ui.editor.browser.IWebBrowserACTFEventListener;
+import org.eclipse.actf.model.ui.editor.browser.IWebBrowserACTF.WebBrowserNavigationEventListnerHolder;
 import org.eclipse.core.runtime.Platform;
 import org.eclipse.ui.IEditorPart;
 import org.eclipse.ui.IWorkbenchPage;
@@ -103,7 +104,7 @@
         this.browserStateMap = new HashMap<IWebBrowserACTF, BrowserState>();
         this.tripJournal = new TripJournal();
         this.browserControl = new BrowserControlImpl(this, this.tripJournal);
-        IWebBrowserACTF.WebBrowserNavigationEventListnerHolder.LISTENER = this.browserControl;
+        WebBrowserNavigationEventListnerHolder.LISTENER = this.browserControl;
         ManipulatorExtension.setBrowserControl(this.browserControl);
 
         requestBroker = new RequestBroker(this);
diff --git a/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/preferences/UserInfoPreferencePage.java b/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/preferences/UserInfoPreferencePage.java
index 4fdaa94..9e19db8 100644
--- a/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/preferences/UserInfoPreferencePage.java
+++ b/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/preferences/UserInfoPreferencePage.java
@@ -12,9 +12,10 @@
 
 import org.eclipse.actf.ai.navigator.Messages;
 import org.eclipse.actf.ai.navigator.NavigatorPlugin;
-import org.eclipse.jface.preference.*;
-import org.eclipse.ui.IWorkbenchPreferencePage;
+import org.eclipse.jface.preference.BooleanFieldEditor;
+import org.eclipse.jface.preference.FieldEditorPreferencePage;
 import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
 
 
 /**
diff --git a/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/userinfo/impl/AltTextGuesser.java b/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/userinfo/impl/AltTextGuesser.java
index a8c5a20..6a20944 100644
--- a/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/userinfo/impl/AltTextGuesser.java
+++ b/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/userinfo/impl/AltTextGuesser.java
@@ -20,7 +20,7 @@
 import java.util.regex.Pattern;
 
 import org.eclipse.actf.ai.fennec.treemanager.ITreeItem;
-import org.eclipse.actf.model.IWebBrowserACTF;
+import org.eclipse.actf.model.ui.editor.browser.IWebBrowserACTF;
 import org.w3c.dom.Document;
 import org.w3c.dom.NamedNodeMap;
 import org.w3c.dom.Node;
diff --git a/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/userinfo/impl/BrowserObserver.java b/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/userinfo/impl/BrowserObserver.java
index a2ac38d..40533e2 100644
--- a/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/userinfo/impl/BrowserObserver.java
+++ b/plugins/org.eclipse.actf.ai.navigator/src/org/eclipse/actf/ai/navigator/userinfo/impl/BrowserObserver.java
@@ -11,7 +11,7 @@
 
 package org.eclipse.actf.ai.navigator.userinfo.impl;
 
-import org.eclipse.actf.model.IWebBrowserACTF;
+import org.eclipse.actf.model.ui.editor.browser.IWebBrowserACTF;
 
 
 
diff --git a/plugins/org.eclipse.actf.ai.screenreader.jaws/META-INF/MANIFEST.MF b/plugins/org.eclipse.actf.ai.screenreader.jaws/META-INF/MANIFEST.MF
index 598b50c..f27c1d3 100644
--- a/plugins/org.eclipse.actf.ai.screenreader.jaws/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.actf.ai.screenreader.jaws/META-INF/MANIFEST.MF
@@ -9,5 +9,6 @@
  org.eclipse.core.runtime,
  org.eclipse.actf.common,
  org.eclipse.actf.ai.navigator,
- org.eclipse.actf.ai.voice
+ org.eclipse.actf.ai.voice,
+ org.eclipse.actf.model.ui
 Eclipse-LazyStart: true
diff --git a/plugins/org.eclipse.actf.ai.screenreader.jaws/src/org/eclipse/actf/ai/screenreader/jaws/Jaws.java b/plugins/org.eclipse.actf.ai.screenreader.jaws/src/org/eclipse/actf/ai/screenreader/jaws/Jaws.java
index 62f108b..25ed274 100644
--- a/plugins/org.eclipse.actf.ai.screenreader.jaws/src/org/eclipse/actf/ai/screenreader/jaws/Jaws.java
+++ b/plugins/org.eclipse.actf.ai.screenreader.jaws/src/org/eclipse/actf/ai/screenreader/jaws/Jaws.java
@@ -14,7 +14,7 @@
 import org.eclipse.actf.ai.navigator.IScreenReaderControl;
 import org.eclipse.actf.ai.tts.ITTSEngine;
 import org.eclipse.actf.ai.voice.IVoiceEventListener;
-import org.eclipse.actf.model.IWebBrowserACTF;
+import org.eclipse.actf.model.ui.editor.browser.IWebBrowserACTF;
 
 /**
  * The implementation of ITTSEngine to use JAWS as voice engine.
diff --git a/plugins/org.eclipse.actf.ai.screenreader.jaws/src/org/eclipse/actf/ai/screenreader/jaws/JawsWindowUtil.java b/plugins/org.eclipse.actf.ai.screenreader.jaws/src/org/eclipse/actf/ai/screenreader/jaws/JawsWindowUtil.java
index 3777cd9..26ab6c1 100644
--- a/plugins/org.eclipse.actf.ai.screenreader.jaws/src/org/eclipse/actf/ai/screenreader/jaws/JawsWindowUtil.java
+++ b/plugins/org.eclipse.actf.ai.screenreader.jaws/src/org/eclipse/actf/ai/screenreader/jaws/JawsWindowUtil.java
@@ -12,7 +12,7 @@
 package org.eclipse.actf.ai.screenreader.jaws;
 
 import org.eclipse.actf.ai.voice.IVoiceEventListener;
-import org.eclipse.actf.model.IWebBrowserACTF;
+import org.eclipse.actf.model.ui.editor.browser.IWebBrowserACTF;
 
 /**
  * JawsWindowUtil is an utility to control JAWS behavior. The strategy of this