use of com.amalto.workbench.providers.datamodel.TypesTreeContentProvider in project tmdm-studio-se by Talend.
the class DataModelMainPage method createTypeTreeComp.
private void createTypeTreeComp(Composite parent) {
Composite TypeSash = new Composite(parent, SWT.NONE);
GridLayout layout = new GridLayout();
layout.verticalSpacing = 0;
TypeSash.setLayout(layout);
TypeSash.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
TypeSash.setBackground(sash.getDisplay().getSystemColor(SWT.COLOR_WHITE));
Composite compInfo = new Composite(TypeSash, SWT.NONE);
layout = new GridLayout();
layout.verticalSpacing = 0;
compInfo.setLayout(layout);
compInfo.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
compInfo.setBackground(sash.getDisplay().getSystemColor(SWT.COLOR_WHITE));
Composite compTypeTree = new Composite(TypeSash, SWT.NONE);
GridLayout glCompTypeTree = new GridLayout();
glCompTypeTree.verticalSpacing = 0;
glCompTypeTree.marginWidth = 0;
glCompTypeTree.marginHeight = 0;
glCompTypeTree.horizontalSpacing = 0;
compTypeTree.setLayout(glCompTypeTree);
compTypeTree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
compTypeTree.setBackground(sash.getDisplay().getSystemColor(SWT.COLOR_WHITE));
Label title = new Label(compInfo, SWT.VERTICAL);
title.setText(Messages.DataModelTypes);
title.setFont(FontUtils.getBoldFont(title.getFont()));
Color blue = new Color(compInfo.getDisplay(), 0, 0, 255);
title.setForeground(blue);
title.setBackground(sash.getDisplay().getSystemColor(SWT.COLOR_WHITE));
ToolBar toolBarTypeTree = createToolbarOnComposite(compTypeTree);
typesViewer = new TreeViewer(compTypeTree, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
typesViewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
addToolItems2TypeTreeToolBar(toolBarTypeTree);
toolBarTypeTree.pack();
typesTreeContentProvider = new TypesTreeContentProvider(this.getSite(), xsdSchema);
typesViewer.setContentProvider(typesTreeContentProvider);
typesViewer.setFilters(new ViewerFilter[] { new SchemaRoleAccessFilter(null), new TypeNameFilter() });
typesViewer.getTree().addMouseListener(new MouseAdapter() {
@Override
public void mouseDown(MouseEvent e) {
isSchemaSelected = false;
}
});
typesViewer.setLabelProvider(new TypesLabelProvider());
typesViewer.setSorter(typeTreeSorter);
// getViewSite());
typesViewer.setInput(this.getSite());
typesViewer.getTree().addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
if (isReadOnly()) {
return;
}
IStructuredSelection selection = ((IStructuredSelection) typesViewer.getSelection());
// delete
if ((e.stateMask == 0) && (e.keyCode == SWT.DEL)) {
deleteConceptWrapAction.regisExtraClassToDel(XSDComplexTypeDefinitionImpl.class);
if (deleteConceptWrapAction.checkInDeletableType(selection.toArray())) {
deleteConceptWrapAction.prepareToDelSelectedItems(selection, viewer);
deleteConceptWrapAction.run();
} else {
deleteConceptWrapAction.clearExtraClassToDel();
deleteConceptWrapAction.regisExtraClassToDel(XSDSimpleTypeDefinitionImpl.class);
if (deleteConceptWrapAction.checkInDeletableType(selection.toArray())) {
deleteConceptWrapAction.prepareToDelSelectedItems(selection, viewer);
deleteConceptWrapAction.run();
} else {
MessageDialog.openWarning(getSite().getShell(), Messages.Warning, Messages.SelectDeletableTry);
}
}
}
}
});
}
Aggregations