Search in sources :

Example 1 with BindingTreeMapper

use of org.obeonetwork.dsl.environment.binding.dialect.ui.treemapper.BindingTreeMapper in project InformationSystem by ObeoNetwork.

the class BindingTreeEditor method createPartControl.

/**
 * {@inheritDoc}
 *
 * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
 */
@Override
public void createPartControl(Composite parent) {
    setUpUndoRedoActionHandler();
    sashForm = new SashForm(parent, SWT.VERTICAL);
    sashForm.setSashWidth(3);
    parent.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    editorManager = new BindingTreeEditorManager(getEditingDomain(), accessor);
    BindingTreeSemanticSupport treeSemanticSupport = new BindingTreeSemanticSupport(getBindingInfo(), editorManager);
    treeMapper = new BindingTreeMapper(sashForm, treeSemanticSupport);
    getSite().setSelectionProvider(treeMapper);
    treeMapper.getLeftTreeViewer().addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            if (event.getSelection() instanceof StructuredSelection) {
                StructuredSelection strSelection = (StructuredSelection) event.getSelection();
                @SuppressWarnings("unchecked") Collection<DBoundElement> selectedElements = (Collection<DBoundElement>) strSelection.toList();
                populateLTRMappingDetails(selectedElements);
            }
        }
    });
    treeMapper.getRightTreeViewer().addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            if (event.getSelection() instanceof StructuredSelection) {
                StructuredSelection strSelection = (StructuredSelection) event.getSelection();
                @SuppressWarnings("unchecked") Collection<DBoundElement> selectedElements = (Collection<DBoundElement>) strSelection.toList();
                populateRTLMappingDetails(selectedElements);
            }
        }
    });
    TreeDataProvider treeDataProvider = new TreeDataProvider(getBindingInfo());
    DBoundElement left = treeDataProvider.getLeftRoot();
    DBoundElement right = treeDataProvider.getRightRoot();
    List<DBindingEdge> edges = treeDataProvider.getEdges();
    treeMapper.setInput(new TreeRoot(left), new TreeRoot(right), edges);
    createBindingGroupDetails(sashForm);
    grpDetailsLTR.setText(getBindingDetailsLabel(left, right));
    grpDetailsRTL.setText(getBindingDetailsLabel(right, left));
    sashForm.setWeights(new int[] { 70, 30 });
    // Expand the first levels on the two trees
    treeMapper.getLeftTreeViewer().expandToLevel(2);
    treeMapper.getRightTreeViewer().expandToLevel(2);
    revealBoundElements(edges);
}
Also used : ISelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) StructuredSelection(org.eclipse.jface.viewers.StructuredSelection) SelectionChangedEvent(org.eclipse.jface.viewers.SelectionChangedEvent) BindingTreeMapper(org.obeonetwork.dsl.environment.binding.dialect.ui.treemapper.BindingTreeMapper) DBindingEdge(org.obeonetwork.dsl.environment.bindingdialect.DBindingEdge) DBoundElement(org.obeonetwork.dsl.environment.bindingdialect.DBoundElement) SashForm(org.eclipse.swt.custom.SashForm) TreeDataProvider(org.obeonetwork.dsl.environment.binding.dialect.ui.treemapper.provider.TreeDataProvider) GridData(org.eclipse.swt.layout.GridData) TreeRoot(org.obeonetwork.dsl.environment.binding.dialect.ui.treemapper.TreeRoot) Collection(java.util.Collection) BindingTreeSemanticSupport(org.obeonetwork.dsl.environment.binding.dialect.ui.treemapper.BindingTreeSemanticSupport)

Aggregations

Collection (java.util.Collection)1 ISelectionChangedListener (org.eclipse.jface.viewers.ISelectionChangedListener)1 SelectionChangedEvent (org.eclipse.jface.viewers.SelectionChangedEvent)1 StructuredSelection (org.eclipse.jface.viewers.StructuredSelection)1 SashForm (org.eclipse.swt.custom.SashForm)1 GridData (org.eclipse.swt.layout.GridData)1 BindingTreeMapper (org.obeonetwork.dsl.environment.binding.dialect.ui.treemapper.BindingTreeMapper)1 BindingTreeSemanticSupport (org.obeonetwork.dsl.environment.binding.dialect.ui.treemapper.BindingTreeSemanticSupport)1 TreeRoot (org.obeonetwork.dsl.environment.binding.dialect.ui.treemapper.TreeRoot)1 TreeDataProvider (org.obeonetwork.dsl.environment.binding.dialect.ui.treemapper.provider.TreeDataProvider)1 DBindingEdge (org.obeonetwork.dsl.environment.bindingdialect.DBindingEdge)1 DBoundElement (org.obeonetwork.dsl.environment.bindingdialect.DBoundElement)1