@SuppressWarnings("unchecked")
@Override
protected List createSelectionHandles() {
final List selectedEditParts = getHost().getViewer().getSelectedEditParts();
if (selectedEditParts.size() == 1) {
if (!(getHost().getModel() instanceof Category)) {
final NodeElementEditPart editPart = (NodeElementEditPart) getHost();
editPart.reorder();
}
}
final List list = new ArrayList();
final int directions = getResizeDirections();
if (directions == 0) {
// NonResizableHandleKit.addHandles((GraphicalEditPart) getHost(),
// list);
} else if (directions != -1) {
// 0
list.add(new ERDiagramMoveHandle((GraphicalEditPart) getHost()));
// 1
if ((directions & PositionConstants.EAST) != 0) {
ResizableHandleKit.addHandle((GraphicalEditPart) getHost(), list, PositionConstants.EAST);
} else {
NonResizableHandleKit.addHandle((GraphicalEditPart) getHost(), list, PositionConstants.EAST);
}
// 2
if ((directions & PositionConstants.SOUTH_EAST) == PositionConstants.SOUTH_EAST) {
ResizableHandleKit.addHandle((GraphicalEditPart) getHost(), list, PositionConstants.SOUTH_EAST);
} else {
NonResizableHandleKit.addHandle((GraphicalEditPart) getHost(), list, PositionConstants.SOUTH_EAST);
}
// 3
if ((directions & PositionConstants.SOUTH) != 0) {
ResizableHandleKit.addHandle((GraphicalEditPart) getHost(), list, PositionConstants.SOUTH);
} else {
NonResizableHandleKit.addHandle((GraphicalEditPart) getHost(), list, PositionConstants.SOUTH);
}
// 4
if ((directions & PositionConstants.SOUTH_WEST) == PositionConstants.SOUTH_WEST) {
ResizableHandleKit.addHandle((GraphicalEditPart) getHost(), list, PositionConstants.SOUTH_WEST);
} else {
NonResizableHandleKit.addHandle((GraphicalEditPart) getHost(), list, PositionConstants.SOUTH_WEST);
}
// 5
if ((directions & PositionConstants.WEST) != 0) {
ResizableHandleKit.addHandle((GraphicalEditPart) getHost(), list, PositionConstants.WEST);
} else {
NonResizableHandleKit.addHandle((GraphicalEditPart) getHost(), list, PositionConstants.WEST);
}
// 6
if ((directions & PositionConstants.NORTH_WEST) == PositionConstants.NORTH_WEST) {
ResizableHandleKit.addHandle((GraphicalEditPart) getHost(), list, PositionConstants.NORTH_WEST);
} else {
NonResizableHandleKit.addHandle((GraphicalEditPart) getHost(), list, PositionConstants.NORTH_WEST);
}
// 7
if ((directions & PositionConstants.NORTH) != 0) {
ResizableHandleKit.addHandle((GraphicalEditPart) getHost(), list, PositionConstants.NORTH);
} else {
NonResizableHandleKit.addHandle((GraphicalEditPart) getHost(), list, PositionConstants.NORTH);
}
// 8
if ((directions & PositionConstants.NORTH_EAST) == PositionConstants.NORTH_EAST) {
ResizableHandleKit.addHandle((GraphicalEditPart) getHost(), list, PositionConstants.NORTH_EAST);
} else {
NonResizableHandleKit.addHandle((GraphicalEditPart) getHost(), list, PositionConstants.NORTH_EAST);
}
} else {
addHandles((GraphicalEditPart) getHost(), list);
}
return list;
}
@Override
@SuppressWarnings("unchecked")
protected List<Object> createSelectionHandles() {
final List<Object> selectedEditParts = getHost().getViewer().getSelectedEditParts();
if (selectedEditParts.size() == 1) {
final ViewableModel currentElement = (ViewableModel) getHost().getModel();
if (!(currentElement instanceof Category) && !(currentElement instanceof ModelProperties)) {
// #for_erflute maybe unneeded, already linkage between main and virtual by jflute
//final ERDiagram diagram = ERModelUtil.getDiagram(getHost().getRoot().getContents());
//ViewableModel targetElement = currentElement;
//if (currentElement instanceof ERVirtualTable) {
// targetElement = ((ERVirtualTable) currentElement).getRawTable();
//}
//final List<NodeElement> nodeElementList = diagram.getDiagramContents().getContents().getNodeElementList();
//nodeElementList.remove(targetElement);
//nodeElementList.add((NodeElement) targetElement);
getHost().getRoot().getContents().refresh();
}
}
final List<Object> list = new ArrayList<>();
final int directions = getResizeDirections();
if (directions == 0) {
// #willanalyze what is this? by jflute
//NonResizableHandleKit.addHandles((GraphicalEditPart) getHost(), list);
} else if (directions != -1) {
// 0
list.add(new ERDiagramMoveHandle((GraphicalEditPart) getHost()));
// 1
if ((directions & PositionConstants.EAST) != 0) {
ResizableHandleKit.addHandle((GraphicalEditPart) getHost(), list, PositionConstants.EAST);
} else {
NonResizableHandleKit.addHandle((GraphicalEditPart) getHost(), list, PositionConstants.EAST);
}
// 2
if ((directions & PositionConstants.SOUTH_EAST) == PositionConstants.SOUTH_EAST) {
ResizableHandleKit.addHandle((GraphicalEditPart) getHost(), list, PositionConstants.SOUTH_EAST);
} else {
NonResizableHandleKit.addHandle((GraphicalEditPart) getHost(), list, PositionConstants.SOUTH_EAST);
}
// 3
if ((directions & PositionConstants.SOUTH) != 0) {
ResizableHandleKit.addHandle((GraphicalEditPart) getHost(), list, PositionConstants.SOUTH);
} else {
NonResizableHandleKit.addHandle((GraphicalEditPart) getHost(), list, PositionConstants.SOUTH);
}
// 4
if ((directions & PositionConstants.SOUTH_WEST) == PositionConstants.SOUTH_WEST) {
ResizableHandleKit.addHandle((GraphicalEditPart) getHost(), list, PositionConstants.SOUTH_WEST);
} else {
NonResizableHandleKit.addHandle((GraphicalEditPart) getHost(), list, PositionConstants.SOUTH_WEST);
}
// 5
if ((directions & PositionConstants.WEST) != 0) {
ResizableHandleKit.addHandle((GraphicalEditPart) getHost(), list, PositionConstants.WEST);
} else {
NonResizableHandleKit.addHandle((GraphicalEditPart) getHost(), list, PositionConstants.WEST);
}
// 6
if ((directions & PositionConstants.NORTH_WEST) == PositionConstants.NORTH_WEST) {
ResizableHandleKit.addHandle((GraphicalEditPart) getHost(), list, PositionConstants.NORTH_WEST);
} else {
NonResizableHandleKit.addHandle((GraphicalEditPart) getHost(), list, PositionConstants.NORTH_WEST);
}
// 7
if ((directions & PositionConstants.NORTH) != 0) {
ResizableHandleKit.addHandle((GraphicalEditPart) getHost(), list, PositionConstants.NORTH);
} else {
NonResizableHandleKit.addHandle((GraphicalEditPart) getHost(), list, PositionConstants.NORTH);
}
// 8
if ((directions & PositionConstants.NORTH_EAST) == PositionConstants.NORTH_EAST) {
ResizableHandleKit.addHandle((GraphicalEditPart) getHost(), list, PositionConstants.NORTH_EAST);
} else {
NonResizableHandleKit.addHandle((GraphicalEditPart) getHost(), list, PositionConstants.NORTH_EAST);
}
} else {
addHandles((GraphicalEditPart) getHost(), list);
}
return list;
}