blob: 7985b60883006c5319a59d6e064b93da90f9f7ad [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2018 Agence spatiale canadienne / Canadian Space Agency
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Pierre Allard - initial API and implementation
* Regent L'Archeveque
*
* SPDX-License-Identifier: EPL-1.0
*******************************************************************************/
package org.eclipse.apogy.common.io.jinput.ui.composites;
import org.eclipse.apogy.common.ui.ApogyCommonUiFacade;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Tree;
public class JInputStatusComposite extends Composite {
private TreeViewer treeViewer;
private Tree tree;
private final ComposedAdapterFactory adapterFactory = new ComposedAdapterFactory(
ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
public JInputStatusComposite(Composite parent, int style) {
super(parent, style);
setLayout(new FillLayout());
this.treeViewer = new TreeViewer(this, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
this.tree = this.treeViewer.getTree();
ApogyCommonUiFacade.INSTANCE.addExpandOnDoubleClick(this.treeViewer);
this.treeViewer.setContentProvider(new AdapterFactoryContentProvider(this.adapterFactory) {
@Override
public Object[] getElements(Object object) {
if (getParent(object) == null) {
return org.eclipse.apogy.common.io.jinput.Activator.getEControllerEnvironment().getControllers()
.toArray();
} else {
return super.getElements(object);
}
}
});
this.treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(this.adapterFactory));
}
public void setEControllerEnvironment() {
this.treeViewer.setInput("");
}
public Tree getTree() {
return this.tree;
}
public TreeViewer getTreeViewer() {
return this.treeViewer;
}
}