blob: 68c5658a95feea816aee658938371f9c37929460 [file] [log] [blame]
/**
* Copyright (c) 2004 - 2011 Eike Stepper (Berlin, Germany) and others.
* 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:
* Martin Fluegge - initial API and implementation
*/
package org.eclipse.emf.cdo.threedee.ui.examples;
import org.eclipse.emf.cdo.threedee.common.Element;
import org.eclipse.emf.cdo.threedee.common.ElementDescriptor;
import org.eclipse.emf.cdo.threedee.common.descriptors.ManagedContainerDescriptor;
import org.eclipse.emf.cdo.threedee.common.descriptors.emf.EAttributeDescriptor;
import org.eclipse.emf.cdo.threedee.common.descriptors.emf.EClassifierDescriptor;
import org.eclipse.emf.cdo.threedee.common.descriptors.emf.EPackageRegistryDescriptor;
import org.eclipse.emf.cdo.threedee.common.descriptors.emf.EReferenceDescriptor;
import org.eclipse.emf.cdo.threedee.common.descriptors.emf.EStructuralFeatureDescriptor;
import org.eclipse.emf.cdo.threedee.common.descriptors.net4j.TCPAcceptorDescriptor;
import org.eclipse.emf.cdo.threedee.common.descriptors.net4j.TCPConnectorDescriptor;
import org.eclipse.emf.cdo.threedee.ui.ThreeDeeWorld;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import java.util.ArrayList;
import java.util.List;
/**
* @author Martin Fluegge
*/
public class ThreeDeeWorldTest
{
public static void main(String[] args)
{
Display display = new Display();
Shell shell = new Shell(display);
shell.setSize(800, 600);
shell.setLayout(new FillLayout(SWT.VERTICAL));
final ThreeDeeWorld viewer = new ThreeDeeWorld(shell);
final TestingElementProvider dummyElementProvider = new TestingElementProvider();
List<ElementDescriptor> descriptors = new ArrayList<ElementDescriptor>();
descriptors.add(new EPackageRegistryDescriptor());
descriptors.add(new TCPConnectorDescriptor());
descriptors.add(new TCPAcceptorDescriptor());
descriptors.add(new EClassifierDescriptor());
descriptors.add(new EAttributeDescriptor());
descriptors.add(new EStructuralFeatureDescriptor());
descriptors.add(new EReferenceDescriptor());
descriptors.add(new EPackageRegistryDescriptor());
descriptors.add(new EReferenceDescriptor());
descriptors.add(new EPackageRegistryDescriptor());
for (int i = 0; i < 2; i++)
{
final Element rootElement = dummyElementProvider.createElement(new ManagedContainerDescriptor());
addChildren(dummyElementProvider, rootElement, descriptors);
viewer.addElement(rootElement);
}
shell.open();
while (!shell.isDisposed())
{
if (!display.readAndDispatch())
{
display.sleep();
}
}
display.dispose();
System.exit(0);
}
private static void addChildren(final TestingElementProvider dummyElementProvider, final Element rootElement,
List<ElementDescriptor> descriptors)
{
for (int i = 0; i < 5; i++)
{
Element child = dummyElementProvider.createElement();
rootElement.addReference(true, child.getID());
for (int a = 0; a < 10; a++)
{
Element level2Child = dummyElementProvider.createElement(descriptors.get(i));
child.addReference(true, level2Child.getID());
}
}
}
}