• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.DumpDisplayListAction;
22 import com.android.hierarchyviewerlib.actions.InvalidateAction;
23 import com.android.hierarchyviewerlib.actions.ProfileNodesAction;
24 import com.android.hierarchyviewerlib.actions.RefreshViewAction;
25 import com.android.hierarchyviewerlib.actions.RequestLayoutAction;
26 import com.android.hierarchyviewerlib.actions.SaveTreeViewAction;
27 import com.android.hierarchyviewerlib.ui.TreeView;
28 import com.android.hierarchyviewerlib.ui.TreeViewControls;
29 
30 import org.eclipse.jface.action.IMenuManager;
31 import org.eclipse.jface.action.IToolBarManager;
32 import org.eclipse.jface.action.Separator;
33 import org.eclipse.swt.SWT;
34 import org.eclipse.swt.layout.FillLayout;
35 import org.eclipse.swt.layout.GridData;
36 import org.eclipse.swt.layout.GridLayout;
37 import org.eclipse.swt.widgets.Composite;
38 import org.eclipse.ui.IActionBars;
39 import org.eclipse.ui.part.ViewPart;
40 
41 // Awesome name.
42 public class TreeViewView extends ViewPart {
43 
44     public static final String ID = "com.android.ide.eclipse.hierarchyviewer.views.TreeViewView"; //$NON-NLS-1$
45 
46     private TreeView mTreeView;
47 
48     @Override
createPartControl(Composite parent)49     public void createPartControl(Composite parent) {
50         GridLayout layout = new GridLayout();
51         layout.marginWidth = layout.marginHeight = 0;
52         layout.horizontalSpacing = layout.verticalSpacing = 0;
53         parent.setLayout(layout);
54 
55         Composite treeViewContainer = new Composite(parent, SWT.BORDER);
56         treeViewContainer.setLayoutData(new GridData(GridData.FILL_BOTH));
57         treeViewContainer.setLayout(new FillLayout());
58 
59         mTreeView = new TreeView(treeViewContainer);
60 
61         TreeViewControls treeViewControls = new TreeViewControls(parent);
62         treeViewControls.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
63 
64         placeActions();
65     }
66 
placeActions()67     public void placeActions() {
68         IActionBars actionBars = getViewSite().getActionBars();
69 
70         IMenuManager mm = actionBars.getMenuManager();
71         mm.removeAll();
72         mm.add(SaveTreeViewAction.getAction(getSite().getShell()));
73         mm.add(CapturePSDAction.getAction(getSite().getShell()));
74         mm.add(new Separator());
75         mm.add(RefreshViewAction.getAction());
76         mm.add(DisplayViewAction.getAction(getSite().getShell()));
77         mm.add(new Separator());
78         mm.add(InvalidateAction.getAction());
79         mm.add(RequestLayoutAction.getAction());
80         mm.add(DumpDisplayListAction.getAction());
81         mm.add(ProfileNodesAction.getAction());
82 
83         IToolBarManager tm = actionBars.getToolBarManager();
84         tm.removeAll();
85         tm.add(SaveTreeViewAction.getAction(getSite().getShell()));
86         tm.add(CapturePSDAction.getAction(getSite().getShell()));
87         tm.add(new Separator());
88         tm.add(RefreshViewAction.getAction());
89         tm.add(DisplayViewAction.getAction(getSite().getShell()));
90         tm.add(new Separator());
91         tm.add(InvalidateAction.getAction());
92         tm.add(RequestLayoutAction.getAction());
93         tm.add(DumpDisplayListAction.getAction());
94         tm.add(ProfileNodesAction.getAction());
95     }
96 
97 
98     @Override
setFocus()99     public void setFocus() {
100         mTreeView.setFocus();
101     }
102 
103 }
104