1 /* 2 * Copyright (C) 2010 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.android.ide.eclipse.hierarchyviewer.views; 18 19 import com.android.hierarchyviewerlib.actions.CapturePSDAction; 20 import com.android.hierarchyviewerlib.actions.DisplayViewAction; 21 import com.android.hierarchyviewerlib.actions.InvalidateAction; 22 import com.android.hierarchyviewerlib.actions.RefreshViewAction; 23 import com.android.hierarchyviewerlib.actions.RequestLayoutAction; 24 import com.android.hierarchyviewerlib.actions.SaveTreeViewAction; 25 import com.android.hierarchyviewerlib.ui.TreeView; 26 import com.android.hierarchyviewerlib.ui.TreeViewControls; 27 28 import org.eclipse.jface.action.IMenuManager; 29 import org.eclipse.jface.action.IToolBarManager; 30 import org.eclipse.jface.action.Separator; 31 import org.eclipse.swt.SWT; 32 import org.eclipse.swt.layout.FillLayout; 33 import org.eclipse.swt.layout.GridData; 34 import org.eclipse.swt.layout.GridLayout; 35 import org.eclipse.swt.widgets.Composite; 36 import org.eclipse.ui.IActionBars; 37 import org.eclipse.ui.part.ViewPart; 38 39 // Awesome name. 40 public class TreeViewView extends ViewPart { 41 42 public static final String ID = "com.android.ide.eclipse.hierarchyviewer.views.TreeViewView"; //$NON-NLS-1$ 43 44 private TreeView mTreeView; 45 46 @Override createPartControl(Composite parent)47 public void createPartControl(Composite parent) { 48 GridLayout layout = new GridLayout(); 49 layout.marginWidth = layout.marginHeight = 0; 50 layout.horizontalSpacing = layout.verticalSpacing = 0; 51 parent.setLayout(layout); 52 53 Composite treeViewContainer = new Composite(parent, SWT.BORDER); 54 treeViewContainer.setLayoutData(new GridData(GridData.FILL_BOTH)); 55 treeViewContainer.setLayout(new FillLayout()); 56 57 mTreeView = new TreeView(treeViewContainer); 58 59 TreeViewControls treeViewControls = new TreeViewControls(parent); 60 treeViewControls.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); 61 62 placeActions(); 63 } 64 placeActions()65 public void placeActions() { 66 IActionBars actionBars = getViewSite().getActionBars(); 67 68 IMenuManager mm = actionBars.getMenuManager(); 69 mm.removeAll(); 70 mm.add(SaveTreeViewAction.getAction(getSite().getShell())); 71 mm.add(CapturePSDAction.getAction(getSite().getShell())); 72 mm.add(new Separator()); 73 mm.add(RefreshViewAction.getAction()); 74 mm.add(DisplayViewAction.getAction(getSite().getShell())); 75 mm.add(new Separator()); 76 mm.add(InvalidateAction.getAction()); 77 mm.add(RequestLayoutAction.getAction()); 78 79 IToolBarManager tm = actionBars.getToolBarManager(); 80 tm.removeAll(); 81 tm.add(SaveTreeViewAction.getAction(getSite().getShell())); 82 tm.add(CapturePSDAction.getAction(getSite().getShell())); 83 tm.add(new Separator()); 84 tm.add(RefreshViewAction.getAction()); 85 tm.add(DisplayViewAction.getAction(getSite().getShell())); 86 tm.add(new Separator()); 87 tm.add(InvalidateAction.getAction()); 88 tm.add(RequestLayoutAction.getAction()); 89 } 90 91 92 @Override setFocus()93 public void setFocus() { 94 mTreeView.setFocus(); 95 } 96 97 } 98