2 * Copyright (C) 2007-2012 Mathieu Baudier
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
16 package org
.argeo
.demo
.i18n
.views
;
18 import org
.argeo
.demo
.i18n
.I18nDemoPlugin
;
19 import org
.argeo
.demo
.i18n
.providers
.SimpleContentProvider
;
20 import org
.argeo
.demo
.i18n
.providers
.SimpleLabelProvider
;
21 import org
.argeo
.demo
.i18n
.utils
.GenericDoubleClickListener
;
22 import org
.eclipse
.jface
.action
.MenuManager
;
23 import org
.eclipse
.jface
.viewers
.ISelectionChangedListener
;
24 import org
.eclipse
.jface
.viewers
.ITreeContentProvider
;
25 import org
.eclipse
.jface
.viewers
.SelectionChangedEvent
;
26 import org
.eclipse
.jface
.viewers
.TreeViewer
;
27 import org
.eclipse
.swt
.SWT
;
28 import org
.eclipse
.swt
.layout
.FillLayout
;
29 import org
.eclipse
.swt
.layout
.GridData
;
30 import org
.eclipse
.swt
.layout
.GridLayout
;
31 import org
.eclipse
.swt
.widgets
.Composite
;
32 import org
.eclipse
.swt
.widgets
.Menu
;
33 import org
.eclipse
.ui
.part
.ViewPart
;
36 * Basic View to display a tree with internationalized labels
39 public class SimpleTreeView
extends ViewPart
{
40 // private final static Log log = LogFactory.getLog(SimpleTreeView.class);
41 public final static String ID
= I18nDemoPlugin
.ID
+ ".simpleTreeView";
44 private TreeViewer treeViewer
;
45 private SimpleContentProvider treeContentProvider
;
48 public void createPartControl(Composite parent
) {
49 parent
.setLayout(new FillLayout());
52 Composite composite
= new Composite(parent
, SWT
.NONE
);
53 GridLayout gl
= new GridLayout(1, false);
54 composite
.setLayout(gl
);
57 treeContentProvider
= new SimpleContentProvider();
58 treeViewer
= createTreeViewer(composite
, treeContentProvider
);
60 // context menu : it is completely defined in the plugin.xml file.
61 MenuManager menuManager
= new MenuManager();
62 Menu menu
= menuManager
.createContextMenu(treeViewer
.getTree());
63 treeViewer
.getTree().setMenu(menu
);
64 getSite().registerContextMenu(menuManager
, treeViewer
);
66 getSite().setSelectionProvider(treeViewer
);
68 treeViewer
.setInput(getViewSite());
71 protected TreeViewer
createTreeViewer(Composite parent
,
72 final ITreeContentProvider treeContentProvider
) {
74 final TreeViewer tmpTreeViewer
= new TreeViewer(parent
, SWT
.MULTI
);
76 tmpTreeViewer
.getTree().setLayoutData(
77 new GridData(SWT
.FILL
, SWT
.FILL
, true, true));
79 tmpTreeViewer
.setContentProvider(treeContentProvider
);
80 tmpTreeViewer
.setLabelProvider(new SimpleLabelProvider());
82 .addSelectionChangedListener(new ISelectionChangedListener() {
83 public void selectionChanged(SelectionChangedEvent event
) {
84 // something can be done here
88 tmpTreeViewer
.addDoubleClickListener(new GenericDoubleClickListener(
94 public void setFocus() {
95 // Do nothing for the time being.