diff options
| author | Pierre Zurek <pierrezurek@gmail.com> | 2011-02-01 22:14:30 +0100 |
|---|---|---|
| committer | Pierre Zurek <pierrezurek@gmail.com> | 2011-02-01 23:36:35 +0100 |
| commit | eaef83acafab66ad3ee9ac10dc9ec7c7ae1a8ef1 (patch) | |
| tree | d71e3df9d4bf30f8f69eab1fd77009ff06ab4e9e | |
| parent | f3fa02c6e326fe1cb6c35788b3287b07e1ec2f3b (diff) | |
| download | sdk-eaef83acafab66ad3ee9ac10dc9ec7c7ae1a8ef1.zip sdk-eaef83acafab66ad3ee9ac10dc9ec7c7ae1a8ef1.tar.gz sdk-eaef83acafab66ad3ee9ac10dc9ec7c7ae1a8ef1.tar.bz2 | |
Put the Traceview plugin UI in an editor instead of a view.
The editor is associated with the .atv extension (Android TraceView).
Change-Id: I5133932804a0c24a52ba53617942c2ca65b9345b
| -rw-r--r-- | eclipse/features/com.android.ide.eclipse.traceview/feature.xml | 4 | ||||
| -rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.traceview/META-INF/MANIFEST.MF | 3 | ||||
| -rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.traceview/plugin.xml | 13 | ||||
| -rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.traceview/src/com/android/ide/eclipse/traceview/editors/TraceviewEditor.java (renamed from eclipse/plugins/com.android.ide.eclipse.traceview/src/com/android/ide/eclipse/traceview/views/TraceviewView.java) | 86 |
4 files changed, 63 insertions, 43 deletions
diff --git a/eclipse/features/com.android.ide.eclipse.traceview/feature.xml b/eclipse/features/com.android.ide.eclipse.traceview/feature.xml index 3fa9dc6..3cfaf20 100644 --- a/eclipse/features/com.android.ide.eclipse.traceview/feature.xml +++ b/eclipse/features/com.android.ide.eclipse.traceview/feature.xml @@ -225,11 +225,7 @@ <requires> <import plugin="org.eclipse.ui"/> <import plugin="org.eclipse.core.runtime"/> - <import plugin="org.eclipse.ui.console"/> - <import plugin="org.eclipse.core.resources"/> <import plugin="org.eclipse.ui.ide"/> - <import plugin="org.eclipse.core.filesystem"/> - <import plugin="org.eclipse.jdt.core"/> </requires> <plugin diff --git a/eclipse/plugins/com.android.ide.eclipse.traceview/META-INF/MANIFEST.MF b/eclipse/plugins/com.android.ide.eclipse.traceview/META-INF/MANIFEST.MF index 014a8ff..0459a07 100644 --- a/eclipse/plugins/com.android.ide.eclipse.traceview/META-INF/MANIFEST.MF +++ b/eclipse/plugins/com.android.ide.eclipse.traceview/META-INF/MANIFEST.MF @@ -5,7 +5,8 @@ Bundle-SymbolicName: com.android.ide.eclipse.traceview;singleton:=true Bundle-Version: 10.0.0.qualifier Bundle-Activator: com.android.ide.eclipse.traceview.TraceviewPlugin Require-Bundle: org.eclipse.ui, - org.eclipse.core.runtime + org.eclipse.core.runtime, + org.eclipse.ui.ide Bundle-ActivationPolicy: lazy Bundle-ClassPath: ., libs/traceview.jar diff --git a/eclipse/plugins/com.android.ide.eclipse.traceview/plugin.xml b/eclipse/plugins/com.android.ide.eclipse.traceview/plugin.xml index e595b5d..a6ab5d4 100644 --- a/eclipse/plugins/com.android.ide.eclipse.traceview/plugin.xml +++ b/eclipse/plugins/com.android.ide.eclipse.traceview/plugin.xml @@ -2,14 +2,15 @@ <?eclipse version="3.4"?> <plugin> <extension - point="org.eclipse.ui.views"> - <view - category="com.android.ide.eclipse.ddms.views.category" - class="com.android.ide.eclipse.traceview.views.TraceviewView" + point="org.eclipse.ui.editors"> + <editor + class="com.android.ide.eclipse.traceview.editors.TraceviewEditor" + default="true" + extensions="atv" icon="icons/android.png" - id="com.android.ide.eclipse.traceview.views.TraceviewView" + id="com.android.ide.eclipse.traceview.editors.TraceviewEditor" name="Traceview"> - </view> + </editor> </extension> </plugin> diff --git a/eclipse/plugins/com.android.ide.eclipse.traceview/src/com/android/ide/eclipse/traceview/views/TraceviewView.java b/eclipse/plugins/com.android.ide.eclipse.traceview/src/com/android/ide/eclipse/traceview/editors/TraceviewEditor.java index bf804e1..c0c0963 100644 --- a/eclipse/plugins/com.android.ide.eclipse.traceview/src/com/android/ide/eclipse/traceview/views/TraceviewView.java +++ b/eclipse/plugins/com.android.ide.eclipse.traceview/src/com/android/ide/eclipse/traceview/editors/TraceviewEditor.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.android.ide.eclipse.traceview.views; +package com.android.ide.eclipse.traceview.editors; import com.android.traceview.ColorController; import com.android.traceview.DmTraceReader; @@ -23,8 +23,7 @@ import com.android.traceview.TimeLineView; import com.android.traceview.TraceReader; import com.android.traceview.TraceUnits; -import org.eclipse.jface.action.Action; -import org.eclipse.jface.action.IToolBarManager; +import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.SashForm; import org.eclipse.swt.graphics.Color; @@ -32,47 +31,70 @@ import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.FileDialog; -import org.eclipse.ui.IActionBars; -import org.eclipse.ui.part.ViewPart; +import org.eclipse.ui.IEditorInput; +import org.eclipse.ui.IEditorSite; +import org.eclipse.ui.PartInitException; +import org.eclipse.ui.ide.FileStoreEditorInput; +import org.eclipse.ui.part.EditorPart; +import org.eclipse.ui.part.FileEditorInput; -public class TraceviewView extends ViewPart { +public class TraceviewEditor extends EditorPart { - private Action mOpenTraceFileAction; private Composite mParent; private String mFilename; private Composite mContents; @Override - public void createPartControl(Composite parent) { - mParent = parent; - mContents = null; - - mOpenTraceFileAction = new Action("Open trace file") { - @Override - public void run() { - FileDialog fd = new FileDialog(mParent.getShell(), SWT.OPEN); - mFilename = fd.open(); - if (mFilename != null) { - display(); - } - } - }; - - IActionBars actionBars = getViewSite().getActionBars(); - - // toolbar - IToolBarManager toolBarManager = actionBars.getToolBarManager(); - toolBarManager.add(mOpenTraceFileAction); + public void doSave(IProgressMonitor monitor) { + // We do not modify the file + } + + @Override + public void doSaveAs() { + // We do not modify the file } - public void display() { + @Override + public void init(IEditorSite site, IEditorInput input) throws PartInitException { + // The contract of init() mentions we need to fail if we can't + // understand the input. + if (input instanceof FileEditorInput) { + // We try to open a file that is part of the current workspace + FileEditorInput fileEditorInput = (FileEditorInput) input; + mFilename = fileEditorInput.getPath().toOSString(); + setSite(site); + setInput(input); + setPartName(input.getName()); + } else if (input instanceof FileStoreEditorInput) { + // We try to open a file that is not part of the current workspace + FileStoreEditorInput fileStoreEditorInput = (FileStoreEditorInput) input; + mFilename = fileStoreEditorInput.getURI().getPath(); + setSite(site); + setInput(input); + setPartName(input.getName()); + } else { + throw new PartInitException("Input is not of type FileEditorInput " + //$NON-NLS-1$ + "nor FileStoreEditorInput: " + //$NON-NLS-1$ + input == null ? "null" : input.toString()); //$NON-NLS-1$ + } + } + + @Override + public boolean isDirty() { + return false; + } + + @Override + public boolean isSaveAsAllowed() { + return false; + } + + @Override + public void createPartControl(Composite parent) { + mParent = parent; TraceReader reader = new DmTraceReader(mFilename, false); reader.getTraceUnits().setTimeScale(TraceUnits.TimeScale.MilliSeconds); - if (mContents != null) { - mContents.dispose(); - } mContents = new Composite(mParent, SWT.NONE); Display display = mContents.getDisplay(); |
