• 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.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