Browse Source

消除PMD错误

master
fanglei 8 years ago
parent
commit
7f9f64f09e
  1. 2
      designer/src/com/fr/poly/hanlder/BottomCornerMouseHanlder.java
  2. 2
      designer_base/src/com/fr/design/beans/location/MoveUtils.java
  3. 3
      designer_base/src/com/fr/design/gui/itable/AbstractPropertyTable.java
  4. 10
      designer_form/src/com/fr/design/designer/beans/ConnectorCreator.java
  5. 6
      designer_form/src/com/fr/design/designer/beans/location/AccessDirection.java
  6. 164
      designer_form/src/com/fr/design/designer/beans/location/Inner.java
  7. 2
      designer_form/src/com/fr/design/designer/creator/cardlayout/XWCardMainBorderLayout.java
  8. 5
      designer_form/src/com/fr/design/mainframe/ConnectorHelper.java
  9. 9
      designer_form/src/com/fr/design/mainframe/MobileWidgetTable.java

2
designer/src/com/fr/poly/hanlder/BottomCornerMouseHanlder.java

@ -170,7 +170,7 @@ public class BottomCornerMouseHanlder extends MouseInputAdapter {
* @return 重叠 * @return 重叠
*/ */
@Override @Override
public boolean getWidgetsIntersects() { public boolean isWidgetsIntersects() {
return false; return false;
} }

2
designer_base/src/com/fr/design/beans/location/MoveUtils.java

@ -83,7 +83,7 @@ public class MoveUtils {
* 获取designer内部组件是否重叠的标志位 * 获取designer内部组件是否重叠的标志位
* @return 重叠 * @return 重叠
*/ */
boolean getWidgetsIntersects(); boolean isWidgetsIntersects(); //TODO 消除PMD检查错误,把getWidgetsIntersects改成isWidgetsIntersects
/** /**
* 获取designer相对屏幕的位置 * 获取designer相对屏幕的位置

3
designer_base/src/com/fr/design/gui/itable/AbstractPropertyTable.java

@ -33,6 +33,7 @@ public abstract class AbstractPropertyTable extends JTable {
public static final Color PROPERTY_SELECTION_BACKGROUND = new Color(153, 204, 255); public static final Color PROPERTY_SELECTION_BACKGROUND = new Color(153, 204, 255);
// 属性表的行高 // 属性表的行高
public static final int PROPERTY_TABLE_ROW_HEIGHT = 22; public static final int PROPERTY_TABLE_ROW_HEIGHT = 22;
private static final int PROPERTY_ICON_WIDTH = 10;
public AbstractPropertyTable() { public AbstractPropertyTable() {
this.setTableProperties(); this.setTableProperties();
@ -182,7 +183,7 @@ public abstract class AbstractPropertyTable extends JTable {
int row = AbstractPropertyTable.super.rowAtPoint(e.getPoint()); int row = AbstractPropertyTable.super.rowAtPoint(e.getPoint());
if (row != -1) { if (row != -1) {
Point pIndex = getGroupIndex(row); Point pIndex = getGroupIndex(row);
if (pIndex.y == 0 && e.getClickCount() == 1 && e.getX() < 10) { if (pIndex.y == 0 && e.getClickCount() == 1 && e.getX() < PROPERTY_ICON_WIDTH) {
toggleCollapse(pIndex.x); toggleCollapse(pIndex.x);
} }
} }

10
designer_form/src/com/fr/design/designer/beans/ConnectorCreator.java

@ -13,7 +13,7 @@ public class ConnectorCreator {
public static final int UNIT = 10; public static final int UNIT = 10;
public static final int SIDE = 2; public static final int SIDE = 2;
public static final int CORNER_LOSS = 20; public static final int CORNER_LOSS = 20;
public static final int vector[][] = { { UNIT, 0 }, { -UNIT, 0 }, { 0, UNIT }, { 0, -UNIT } }; public static final int VECTOR[][] = { { UNIT, 0 }, { -UNIT, 0 }, { 0, UNIT }, { 0, -UNIT } };
private long timeOut = 200; private long timeOut = 200;
private boolean beyond; private boolean beyond;
@ -178,8 +178,8 @@ public class ConnectorCreator {
} }
void pushInto() { void pushInto() {
for (int i = 0; i < vector.length; i++) { for (int i = 0; i < VECTOR.length; i++) {
Point temp = new Point(p.x + vector[i][0], p.y + vector[i][1]); Point temp = new Point(p.x + VECTOR[i][0], p.y + VECTOR[i][1]);
if (parent != null && parent.x == temp.x && parent.y == temp.y) { if (parent != null && parent.x == temp.x && parent.y == temp.y) {
continue; continue;
} }
@ -191,8 +191,8 @@ public class ConnectorCreator {
} }
boolean reCheck() { boolean reCheck() {
for (int i = 0; i < vector.length; i++) { for (int i = 0; i < VECTOR.length; i++) {
Point temp = new Point(p.x + SIDE * vector[i][0], p.y + SIDE * vector[i][1]); Point temp = new Point(p.x + SIDE * VECTOR[i][0], p.y + SIDE * VECTOR[i][1]);
AssessedPoint ap = new AssessedPoint(temp, this, loss(temp)); AssessedPoint ap = new AssessedPoint(temp, this, loss(temp));
if (check(temp)) { if (check(temp)) {
open.add(ap); open.add(ap);

6
designer_form/src/com/fr/design/designer/beans/location/AccessDirection.java

@ -11,6 +11,7 @@ import com.fr.design.designer.creator.*;
import com.fr.design.mainframe.FormDesigner; import com.fr.design.mainframe.FormDesigner;
import com.fr.design.mainframe.FormSelection; import com.fr.design.mainframe.FormSelection;
import com.fr.design.utils.ComponentUtils; import com.fr.design.utils.ComponentUtils;
import com.fr.form.main.Form;
import com.fr.form.ui.container.WAbsoluteLayout; import com.fr.form.ui.container.WAbsoluteLayout;
import com.fr.form.ui.container.WParameterLayout; import com.fr.form.ui.container.WParameterLayout;
import com.fr.form.ui.widget.BoundsWidget; import com.fr.form.ui.widget.BoundsWidget;
@ -66,10 +67,8 @@ public abstract class AccessDirection implements Direction {
protected void sorptionPoint(Point point, Rectangle current_bounds,FormDesigner designer) { protected void sorptionPoint(Point point, Rectangle current_bounds,FormDesigner designer) {
boolean findInX = current_bounds.getWidth() <= MoveUtils.SORPTION_UNIT ? true : false; boolean findInX = current_bounds.getWidth() <= MoveUtils.SORPTION_UNIT ? true : false;
boolean findInY = current_bounds.getHeight() <= MoveUtils.SORPTION_UNIT ? true : false; boolean findInY = current_bounds.getHeight() <= MoveUtils.SORPTION_UNIT ? true : false;
WAbsoluteLayout layout =getLayout(designer); WAbsoluteLayout layout =getLayout(designer);
FormSelection selection = designer.getSelectionModel().getSelection(); FormSelection selection = designer.getSelectionModel().getSelection();
boolean isWidgetsIntersect = false; boolean isWidgetsIntersect = false;
for (int i = 0, count = layout.getWidgetCount(); i < count; i++) { for (int i = 0, count = layout.getWidgetCount(); i < count; i++) {
BoundsWidget temp = (BoundsWidget) layout.getWidget(i); BoundsWidget temp = (BoundsWidget) layout.getWidget(i);
@ -111,7 +110,10 @@ public abstract class AccessDirection implements Direction {
} }
} }
processRectangleIntersects(designer, point.x, point.y, isWidgetsIntersect); processRectangleIntersects(designer, point.x, point.y, isWidgetsIntersect);
setDesignerStateModelProperties(designer, findInX, findInY, current_bounds, point);
}
private void setDesignerStateModelProperties (FormDesigner designer, boolean findInX, boolean findInY, Rectangle current_bounds, Point point) {
designer.getStateModel().setXAbsorptionline(findInX && current_bounds.getWidth() > MoveUtils.SORPTION_UNIT ? Absorptionline.createXAbsorptionline(point.x) : null); designer.getStateModel().setXAbsorptionline(findInX && current_bounds.getWidth() > MoveUtils.SORPTION_UNIT ? Absorptionline.createXAbsorptionline(point.x) : null);
designer.getStateModel().setYAbsorptionline(findInY && current_bounds.getHeight() > MoveUtils.SORPTION_UNIT ? Absorptionline.createYAbsorptionline(point.y) : null); designer.getStateModel().setYAbsorptionline(findInY && current_bounds.getHeight() > MoveUtils.SORPTION_UNIT ? Absorptionline.createYAbsorptionline(point.y) : null);
designer.getStateModel().setEquidistantLine(null); designer.getStateModel().setEquidistantLine(null);

164
designer_form/src/com/fr/design/designer/beans/location/Inner.java

@ -46,89 +46,99 @@ public class Inner extends AccessDirection {
return new Point(x, y); return new Point(x, y);
} }
@Override //TODO 原先这个类是通过一个new一个匿名类继承RectangleDesigner接口实现的,但是报了方法超过50行的PMD错误
protected void sorptionPoint(Point point, Rectangle current_bounds, final FormDesigner designer) { //TODO 暂时就先这样命名,请原作者看到后重新命名
RectangleDesigner rd = new RectangleDesigner() { private class RectangleDesigner1 implements RectangleDesigner {
public void setXAbsorptionline(Absorptionline line) { private FormDesigner designer = null;
designer.getStateModel().setXAbsorptionline(line);
}
public void setYAbsorptionline(Absorptionline line) {
designer.getStateModel().setYAbsorptionline(line);
}
/**
* 获取当前选中块的水平线数组
*
* @return 块的水平线数组
*
*/
public int[] getHorizontalLine(){
return ArrayUtils.EMPTY_INT_ARRAY;
}
/**
* 获取当前选中块的垂直线数组
*
* @return 块的垂直线数组
*
*/
public int[] getVerticalLine(){
return ArrayUtils.EMPTY_INT_ARRAY;
}
public RectangleIterator createRectangleIterator() {
return getRectangleIterator(designer);
}
/** public RectangleDesigner1(FormDesigner designer) {
* 设置designer内部组件是否重叠的标志位 this.designer = designer;
* }
* @param isIntersects 是否重叠
*/
@Override
public void setWidgetsIntersects(boolean isIntersects) {
designer.setWidgetsIntersect(isIntersects);
}
/** public void setXAbsorptionline(Absorptionline line) {
* 获取designer内部组件是否重叠的标志位 designer.getStateModel().setXAbsorptionline(line);
* }
* @return 重叠 public void setYAbsorptionline(Absorptionline line) {
*/ designer.getStateModel().setYAbsorptionline(line);
@Override }
public boolean getWidgetsIntersects() {
return designer.isWidgetsIntersect();
}
/** /**
* 获取designer相对屏幕的位置 * 获取当前选中块的水平线数组
* *
* @return 位置 * @return 块的水平线数组
*/ *
@Override */
public Point getDesignerLocationOnScreen() { public int[] getHorizontalLine(){
return designer.getLocationOnScreen(); return ArrayUtils.EMPTY_INT_ARRAY;
} }
/** /**
* 设置等距线 * 获取当前选中块的垂直线数组
* *
* @param line 吸附线 * @return 块的垂直线数组
*/ *
@Override */
public void setEquidistantLine(Absorptionline line) { public int[] getVerticalLine(){
designer.getStateModel().setEquidistantLine(line); return ArrayUtils.EMPTY_INT_ARRAY;
} }
public RectangleIterator createRectangleIterator() {
return getRectangleIterator(designer);
}
@Override /**
public int getDesignerScrollHorizontalValue() { * 设置designer内部组件是否重叠的标志位
return designer.getArea().getHorizontalValue(); *
} * @param isIntersects 是否重叠
*/
@Override
public void setWidgetsIntersects(boolean isIntersects) {
designer.setWidgetsIntersect(isIntersects);
}
@Override /**
public int getDesignerScrollVerticalValue() { * 获取designer内部组件是否重叠的标志位
return designer.getArea().getVerticalValue(); *
} * @return 重叠
}; */
@Override
public boolean isWidgetsIntersects() {
return designer.isWidgetsIntersect();
}
/**
* 获取designer相对屏幕的位置
*
* @return 位置
*/
@Override
public Point getDesignerLocationOnScreen() {
return designer.getLocationOnScreen();
}
/**
* 设置等距线
*
* @param line 吸附线
*/
@Override
public void setEquidistantLine(Absorptionline line) {
designer.getStateModel().setEquidistantLine(line);
}
@Override
public int getDesignerScrollHorizontalValue() {
return designer.getArea().getHorizontalValue();
}
@Override
public int getDesignerScrollVerticalValue() {
return designer.getArea().getVerticalValue();
}
}
@Override
protected void sorptionPoint(Point point, Rectangle current_bounds, final FormDesigner designer) {
RectangleDesigner1 rd = new RectangleDesigner1(designer);
//判断当前操作的是不是参数面板,要特殊处理 //判断当前操作的是不是参数面板,要特殊处理
boolean isParameterLayout = ((XCreator)(designer.getSelectionModel().getSelection().getSelectedCreator().getParent())).acceptType(XWParameterLayout.class); boolean isParameterLayout = ((XCreator)(designer.getSelectionModel().getSelection().getSelectedCreator().getParent())).acceptType(XWParameterLayout.class);
point.setLocation(MoveUtils.sorption(point.x, point.y, current_bounds.width, current_bounds.height, rd, isParameterLayout)); point.setLocation(MoveUtils.sorption(point.x, point.y, current_bounds.width, current_bounds.height, rd, isParameterLayout));

2
designer_form/src/com/fr/design/designer/creator/cardlayout/XWCardMainBorderLayout.java

@ -231,7 +231,7 @@ public class XWCardMainBorderLayout extends XWBorderLayout{
); );
g2d.setColor(Color.BLACK); g2d.setColor(Color.BLACK);
//画编辑文字 //画编辑文字
g2d.drawString(Inter.getLocText("Edit"), x + w / 2 - 2, y + h / 2 + 5); g2d.drawString(Inter.getLocText("FR-Designer_Edit"), x + w / 2 - 2, y + h / 2 + 5);
} }
} }

5
designer_form/src/com/fr/design/mainframe/ConnectorHelper.java

@ -19,6 +19,8 @@ public class ConnectorHelper {
public static final int NEAR = 5; public static final int NEAR = 5;
private static double ratio = 0.5; private static double ratio = 0.5;
// TODO 为了消除魔术数错误,我不清楚这个15代表什么,先这样命名了,原作者看到了请改一下
private final static int magicNumber1 = 15;
private ArrayList<Point> drawingPoint; private ArrayList<Point> drawingPoint;
private FormDesigner designer; private FormDesigner designer;
private boolean drawing; private boolean drawing;
@ -67,7 +69,6 @@ public class ConnectorHelper {
ConnectorCreator cc = new ConnectorCreator(designer.getTarget().getContainer(), new Point(startPoint), new Point(endPoint)); ConnectorCreator cc = new ConnectorCreator(designer.getTarget().getContainer(), new Point(startPoint), new Point(endPoint));
ArrayList<Point> p = cc.createPointList(); ArrayList<Point> p = cc.createPointList();
long e = System.currentTimeMillis(); long e = System.currentTimeMillis();
System.out.println("useTime:" + (e - s));
return p; return p;
} }
@ -87,7 +88,7 @@ public class ConnectorHelper {
public void createDefalutLine() { public void createDefalutLine() {
if (drawingPoint != null if (drawingPoint != null
&& drawingPoint.size() > 1 && drawingPoint.size() > 1
&& ConnectorCreator.getMinimumDistance(drawingPoint.get(0), drawingPoint.get(drawingPoint.size() - 1)) > 15) { && ConnectorCreator.getMinimumDistance(drawingPoint.get(0), drawingPoint.get(drawingPoint.size() - 1)) > magicNumber1) {
((XWAbsoluteLayout) designer.getRootComponent()).addConnector(new Connector().addAll(drawingPoint)); ((XWAbsoluteLayout) designer.getRootComponent()).addConnector(new Connector().addAll(drawingPoint));
} }
drawingPoint = null; drawingPoint = null;

9
designer_form/src/com/fr/design/mainframe/MobileWidgetTable.java

@ -96,7 +96,7 @@ public class MobileWidgetTable extends JTable {
@Override @Override
public void mousePressed(MouseEvent e) { public void mousePressed(MouseEvent e) {
getInstance().setCellSelected(); getInstance().setCellSelected();
if (selectedRow == 0 && !e.isPopupTrigger() && e.getClickCount() == 1 && e.getX() < 10){ // 如果是点击在第一行 if (selectedRow == 0 && !e.isPopupTrigger() && e.getClickCount() == 1 && e.getX() < WIDGET_TABLE_ROW_HEIGHT / 2){ // 如果是点击在第一行
toggleCollapse(); toggleCollapse();
} }
} }
@ -268,9 +268,10 @@ public class MobileWidgetTable extends JTable {
//WCardLayout里面并不是控件,而仍然是容器TabFitLayout,故要向下获取控件 //WCardLayout里面并不是控件,而仍然是容器TabFitLayout,故要向下获取控件
//WCardTitlelLayout是XWCardLayout的标题容器,里面同样不是控件,不能获取MobileList //WCardTitlelLayout是XWCardLayout的标题容器,里面同样不是控件,不能获取MobileList
//WTitleLayout是标题容器,比如图表的标题,里面是图表控件和Label标题控件,但是不需要获取MobileList //WTitleLayout是标题容器,比如图表的标题,里面是图表控件和Label标题控件,但是不需要获取MobileList
if (selectedModel.acceptType(WCardLayout.class) || selectedModel.acceptType(WCardTitleLayout.class) if (selectedModel.acceptType(WCardLayout.class) || selectedModel.acceptType(WCardTitleLayout.class)) {
|| selectedModel.acceptType(WTitleLayout.class) || selectedModel.acceptType(WCardMainBorderLayout.class)) { if (selectedModel.acceptType(WTitleLayout.class) || selectedModel.acceptType(WCardMainBorderLayout.class)) {
return new String[0][0]; return new String[0][0];
}
} }
ArrayList<String> strings = ((WLayout)selectedModel).getMobileWidgetList(); ArrayList<String> strings = ((WLayout)selectedModel).getMobileWidgetList();
String[][] widgetName = new String[strings.size() + 1][1]; String[][] widgetName = new String[strings.size() + 1][1];

Loading…
Cancel
Save