/*******************************************************************************
* Copyright (c) 2011 EBM WebSourcing (PetalsLink)
* 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:
* Mickael Istria, EBM WebSourcing (PetalsLink) - initial API and implementation
*******************************************************************************/
package org.eclipse.nebula.widgets.treemapper.examples;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.eclipse.nebula.examples.AbstractExampleTab;
import org.eclipse.nebula.widgets.treemapper.TreeMapper;
import org.eclipse.nebula.widgets.treemapper.TreeMapperUIConfigProvider;
import org.eclipse.nebula.widgets.treemapper.examples.DOMSemanticTreeMapperSupport.DOMMappingBean;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
public class TreeMapperExampleTab extends AbstractExampleTab {
private List<DOMMappingBean> mappings = new ArrayList<DOMSemanticTreeMapperSupport.DOMMappingBean>();
private Document xml;
public TreeMapperExampleTab() {
InputStream stream = null;
try {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
stream = this.getClass().getResourceAsStream("globalweather.wsdl");
xml = db.parse(stream);
stream.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
@Override
public void createParameters(Composite parent) {
}
@Override
public Control createControl(Composite parent) {
Color defaultColor = new Color(parent.getShell().getDisplay(), new RGB(247, 206, 206));
Color selectedColor = new Color(parent.getShell().getDisplay(), new RGB(147, 86, 111));
TreeMapperUIConfigProvider uiConfig = new TreeMapperUIConfigProvider(defaultColor, 1, selectedColor, 3);
parent.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
TreeMapper<DOMMappingBean, Node, Node> mapper = new TreeMapper<DOMMappingBean, Node, Node>(parent, new DOMSemanticTreeMapperSupport(), uiConfig);
mapper.setContentProviders(new DOMTreeContentProvider(), new DOMTreeContentProvider());
mapper.setLabelProviders(new DOMLabelProvider(), new DOMLabelProvider());
mapper.setInput(xml, xml, mappings);
return mapper.getControl();
}
@Override
public String[] createLinks() {
return null;
}
}