Package research.tool

Source Code of research.tool.ConnectedTextTool

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);
        }

  }
}
TOP

Related Classes of research.tool.ConnectedTextTool

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.