* ��ģ��������Ӧ������ͼ���ꡣ����������IJ�����������ͼ���е�Zoom in/out���������µġ�
*/
@Override
protected void trackConnectors(MouseEvent e, int x, int y) {
Figure c = null;
if (getStartConnector() == null) { //���������Ӧ������ƶ�ʱ�����
c = findConnectionStart(x, y, drawingView.getDrawing());
} else {
c = findTarget(x, y, drawingView.getDrawing());
if (c != null) {
if (!isAValidFeature(c)) c = null;
if (c != null) {
if (c == _targetFigure) {
if (!_isValid) c = null;
} else {
_targetFigure = c;
String targetId = (String) c.getAttribute("id");
String sourceId = (String)getStartConnector().owner().getAttribute("id");
String relationName = (String) getConnection().getAttribute("type");
if (modelValidation.canConnect(sourceId, targetId, relationName))
_isValid = true;
else {
_isValid = false;
c = null;
}
}
}
}
}
// track the figure containing the mouse
Figure targetFigure = getTargetFigure();
if (c != targetFigure) {
if (targetFigure != null) {
FigureHelper.setConnectorVisible(targetFigure, false);
}