diff options
author | Bob Badour <bbadour@google.com> | 2020-05-06 15:54:00 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-05-06 15:54:00 +0000 |
commit | c6f9015f6bf1b59f46d6bb87f5e48cbab3cb94de (patch) | |
tree | fd845444b59dfc72656b7781596e0b1a0662c4c7 /eclipse/plugins/com.android.ide.eclipse.hierarchyviewer/src/com/android/ide/eclipse/hierarchyviewer/views/LayoutView.java | |
parent | b96d49b79df68d7cc1d63c15fe7416e27e419151 (diff) | |
parent | 9d23b89ef175eab9c26c504e6b6cdf5cd28c0b34 (diff) | |
download | sdk-c6f9015f6bf1b59f46d6bb87f5e48cbab3cb94de.tar.gz |
Merge "Revert "Remove unused project."" am: fc7cda06f5 am: d3c69fa48e am: d58f8ba3b1 am: f1a59c9833 am: 9d23b89ef1
Change-Id: I463b8ee72ee68d390c4398e5287b6d1003197939
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.hierarchyviewer/src/com/android/ide/eclipse/hierarchyviewer/views/LayoutView.java')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.hierarchyviewer/src/com/android/ide/eclipse/hierarchyviewer/views/LayoutView.java | 160 |
1 files changed, 160 insertions, 0 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.hierarchyviewer/src/com/android/ide/eclipse/hierarchyviewer/views/LayoutView.java b/eclipse/plugins/com.android.ide.eclipse.hierarchyviewer/src/com/android/ide/eclipse/hierarchyviewer/views/LayoutView.java new file mode 100644 index 000000000..83cf38b57 --- /dev/null +++ b/eclipse/plugins/com.android.ide.eclipse.hierarchyviewer/src/com/android/ide/eclipse/hierarchyviewer/views/LayoutView.java @@ -0,0 +1,160 @@ +/* + * Copyright (C) 2010 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.ide.eclipse.hierarchyviewer.views; + +import com.android.ddmuilib.ImageLoader; +import com.android.hierarchyviewerlib.HierarchyViewerDirector; +import com.android.hierarchyviewerlib.models.TreeViewModel; +import com.android.hierarchyviewerlib.models.TreeViewModel.ITreeChangeListener; +import com.android.hierarchyviewerlib.ui.LayoutViewer; + +import org.eclipse.jface.action.Action; +import org.eclipse.jface.action.IMenuManager; +import org.eclipse.jface.action.IToolBarManager; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.swt.SWT; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.layout.FillLayout; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Display; +import org.eclipse.ui.IActionBars; +import org.eclipse.ui.part.ViewPart; + +public class LayoutView extends ViewPart implements ITreeChangeListener { + + public static final String ID = "com.android.ide.eclipse.hierarchyviewer.views.LayoutView"; //$NON-NLS-1$ + + private LayoutViewer mLayoutViewer; + + private Image mOnBlack; + + private Image mOnWhite; + + private Action mShowExtrasAction = new Action("Show &Extras", Action.AS_CHECK_BOX) { + @Override + public void run() { + mLayoutViewer.setShowExtras(isChecked()); + } + }; + + private Action mLoadAllViewsAction = new Action("Load All &Views") { + @Override + public void run() { + HierarchyViewerDirector.getDirector().loadAllViews(); + mShowExtrasAction.setChecked(true); + mLayoutViewer.setShowExtras(true); + } + }; + + private Action mOnBlackWhiteAction = new Action("Change Background &Color") { + @Override + public void run() { + boolean newValue = !mLayoutViewer.getOnBlack(); + mLayoutViewer.setOnBlack(newValue); + if (newValue) { + setImageDescriptor(ImageDescriptor.createFromImage(mOnWhite)); + } else { + setImageDescriptor(ImageDescriptor.createFromImage(mOnBlack)); + } + } + }; + + @Override + public void createPartControl(Composite parent) { + mShowExtrasAction.setAccelerator(SWT.MOD1 + 'E'); + ImageLoader imageLoader = ImageLoader.getLoader(HierarchyViewerDirector.class); + Image image = imageLoader.loadImage("show-extras.png", Display.getDefault()); //$NON-NLS-1$ + mShowExtrasAction.setImageDescriptor(ImageDescriptor.createFromImage(image)); + mShowExtrasAction.setToolTipText("Show images"); + mShowExtrasAction.setEnabled(TreeViewModel.getModel().getTree() != null); + + mOnWhite = imageLoader.loadImage("on-white.png", Display.getDefault()); //$NON-NLS-1$ + mOnBlack = imageLoader.loadImage("on-black.png", Display.getDefault()); //$NON-NLS-1$ + + mOnBlackWhiteAction.setAccelerator(SWT.MOD1 + 'C'); + mOnBlackWhiteAction.setImageDescriptor(ImageDescriptor.createFromImage(mOnWhite)); + mOnBlackWhiteAction.setToolTipText("Change layout viewer background color"); + + mLoadAllViewsAction.setAccelerator(SWT.MOD1 + 'V'); + image = imageLoader.loadImage("load-all-views.png", Display.getDefault()); //$NON-NLS-1$ + mLoadAllViewsAction.setImageDescriptor(ImageDescriptor.createFromImage(image)); + mLoadAllViewsAction.setToolTipText("Load all view images"); + mLoadAllViewsAction.setEnabled(TreeViewModel.getModel().getTree() != null); + + parent.setLayout(new FillLayout()); + + mLayoutViewer = new LayoutViewer(parent); + + placeActions(); + + TreeViewModel.getModel().addTreeChangeListener(this); + } + + public void placeActions() { + IActionBars actionBars = getViewSite().getActionBars(); + + IMenuManager mm = actionBars.getMenuManager(); + mm.removeAll(); + mm.add(mOnBlackWhiteAction); + mm.add(mShowExtrasAction); + mm.add(mLoadAllViewsAction); + + IToolBarManager tm = actionBars.getToolBarManager(); + tm.removeAll(); + tm.add(mOnBlackWhiteAction); + tm.add(mShowExtrasAction); + tm.add(mLoadAllViewsAction); + } + + @Override + public void dispose() { + super.dispose(); + TreeViewModel.getModel().removeTreeChangeListener(this); + } + + @Override + public void setFocus() { + mLayoutViewer.setFocus(); + } + + @Override + public void selectionChanged() { + // pass + } + + @Override + public void treeChanged() { + Display.getDefault().syncExec(new Runnable() { + @Override + public void run() { + mLoadAllViewsAction.setEnabled(TreeViewModel.getModel().getTree() != null); + mShowExtrasAction.setEnabled(TreeViewModel.getModel().getTree() != null); + } + }); + } + + @Override + public void viewportChanged() { + // pass + } + + @Override + public void zoomChanged() { + // pass + } + +} |