📄 dbdesignerviewprovider.java
字号:
package dbdesigner.diagram.providers;
import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.gmf.runtime.diagram.core.providers.AbstractViewProvider;
import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.gmf.runtime.emf.type.core.IElementType;
import dbdesigner.diagram.edit.parts.ColumnEditPart;
import dbdesigner.diagram.edit.parts.ColumnNameEditPart;
import dbdesigner.diagram.edit.parts.DatabaseEditPart;
import dbdesigner.diagram.edit.parts.FKRelationEditPart;
import dbdesigner.diagram.edit.parts.FKRelationLabelEditPart;
import dbdesigner.diagram.edit.parts.TableColumnCompartmentEditPart;
import dbdesigner.diagram.edit.parts.TableEditPart;
import dbdesigner.diagram.edit.parts.TableNameEditPart;
import dbdesigner.diagram.part.DbdesignerVisualIDRegistry;
import dbdesigner.diagram.view.factories.ColumnNameViewFactory;
import dbdesigner.diagram.view.factories.ColumnViewFactory;
import dbdesigner.diagram.view.factories.DatabaseViewFactory;
import dbdesigner.diagram.view.factories.FKRelationLabelViewFactory;
import dbdesigner.diagram.view.factories.FKRelationViewFactory;
import dbdesigner.diagram.view.factories.TableColumnCompartmentViewFactory;
import dbdesigner.diagram.view.factories.TableNameViewFactory;
import dbdesigner.diagram.view.factories.TableViewFactory;
/**
* @generated
*/
public class DbdesignerViewProvider extends AbstractViewProvider {
/**
* @generated
*/
protected Class getDiagramViewClass(IAdaptable semanticAdapter,
String diagramKind) {
EObject semanticElement = getSemanticElement(semanticAdapter);
if (DatabaseEditPart.MODEL_ID.equals(diagramKind)
&& DbdesignerVisualIDRegistry
.getDiagramVisualID(semanticElement) != -1) {
return DatabaseViewFactory.class;
}
return null;
}
/**
* @generated
*/
protected Class getNodeViewClass(IAdaptable semanticAdapter,
View containerView, String semanticHint) {
if (containerView == null) {
return null;
}
IElementType elementType = getSemanticElementType(semanticAdapter);
if (elementType != null
&& !DbdesignerElementTypes.isKnownElementType(elementType)) {
return null;
}
EClass semanticType = getSemanticEClass(semanticAdapter);
EObject semanticElement = getSemanticElement(semanticAdapter);
int nodeVID = DbdesignerVisualIDRegistry.getNodeVisualID(containerView,
semanticElement, semanticType, semanticHint);
switch (nodeVID) {
case TableEditPart.VISUAL_ID:
return TableViewFactory.class;
case TableNameEditPart.VISUAL_ID:
return TableNameViewFactory.class;
case ColumnEditPart.VISUAL_ID:
return ColumnViewFactory.class;
case ColumnNameEditPart.VISUAL_ID:
return ColumnNameViewFactory.class;
case TableColumnCompartmentEditPart.VISUAL_ID:
return TableColumnCompartmentViewFactory.class;
case FKRelationLabelEditPart.VISUAL_ID:
return FKRelationLabelViewFactory.class;
}
return null;
}
/**
* @generated
*/
protected Class getEdgeViewClass(IAdaptable semanticAdapter,
View containerView, String semanticHint) {
IElementType elementType = getSemanticElementType(semanticAdapter);
if (elementType != null
&& !DbdesignerElementTypes.isKnownElementType(elementType)) {
return null;
}
EClass semanticType = getSemanticEClass(semanticAdapter);
if (semanticType == null) {
return null;
}
EObject semanticElement = getSemanticElement(semanticAdapter);
int linkVID = DbdesignerVisualIDRegistry.getLinkWithClassVisualID(
semanticElement, semanticType);
switch (linkVID) {
case FKRelationEditPart.VISUAL_ID:
return FKRelationViewFactory.class;
}
return getUnrecognizedConnectorViewClass(semanticAdapter,
containerView, semanticHint);
}
/**
* @generated
*/
private IElementType getSemanticElementType(IAdaptable semanticAdapter) {
if (semanticAdapter == null) {
return null;
}
return (IElementType) semanticAdapter.getAdapter(IElementType.class);
}
/**
* @generated
*/
private Class getUnrecognizedConnectorViewClass(IAdaptable semanticAdapter,
View containerView, String semanticHint) {
// Handle unrecognized child node classes here
return null;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -