package research.tool;
import research.TextHolder;
import research.Figure;
import java.awt.event.MouseEvent;
/**
* Created by IntelliJ IDEA.
* User: saturn
* Date: 2003-10-18
* Time: 21:21:19
* To change this template use Options | File Templates.
*/
public class ConnectedTextTool extends TextTool {
private boolean fConnected = false;
public void mouseDown(MouseEvent e, int x, int y) {
if ((!isActivated()) && (!isEnabled()))
return;
boolean flag = false;
if (getTypingTarget() != null) {//������ǰ�ı༭״̬
endEdit(false);
flag = true;
}
TextHolder textHolder = null;
double scale = drawingView.getScale();
int realX = (int) (e.getX() / scale + 0.5);
int realY = (int) (e.getY() / scale + 0.5);
Figure pressedFigure = drawingView.getDrawing().findFigureInside(realX, realY);
if (pressedFigure instanceof TextHolder) {
textHolder = (TextHolder) pressedFigure;
if (!textHolder.acceptsTyping())
textHolder = null;
}
if (textHolder != null) {
beginEdit(textHolder);
return;
}
if (flag) {
getPropertyChangeSupport().firePropertyChange(Tool.TOOL_DONE, false, true);
flag = false;
} else {
super.mouseDown(e, x, y);
drawingView.checkDamage();
textHolder = (TextHolder) createdFigure;
if(pressedFigure != null && textHolder != null && pressedFigure != textHolder){
textHolder.connect(pressedFigure);
//((Figure)textHolder).setAttribute("selectivity", Boolean.FALSE);
}
beginEdit(textHolder);
}
}
}