|
|
@ -38,6 +38,8 @@ import java.lang.reflect.Method; |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
public abstract class AbstractGridHeaderMouseHandler extends MouseInputAdapter { |
|
|
|
public abstract class AbstractGridHeaderMouseHandler extends MouseInputAdapter { |
|
|
|
protected static final int SEPARATOR_GAP = 5; |
|
|
|
protected static final int SEPARATOR_GAP = 5; |
|
|
|
|
|
|
|
//只选中一个
|
|
|
|
|
|
|
|
private static final int ONLY_SELECT_ONE = 1; |
|
|
|
|
|
|
|
|
|
|
|
private GridHeader gHeader; |
|
|
|
private GridHeader gHeader; |
|
|
|
private int dragType = GridUtils.DRAG_NONE; |
|
|
|
private int dragType = GridUtils.DRAG_NONE; |
|
|
@ -55,12 +57,12 @@ public abstract class AbstractGridHeaderMouseHandler extends MouseInputAdapter { |
|
|
|
|
|
|
|
|
|
|
|
public AbstractGridHeaderMouseHandler(GridHeader gHeader) { |
|
|
|
public AbstractGridHeaderMouseHandler(GridHeader gHeader) { |
|
|
|
this.gHeader = gHeader; |
|
|
|
this.gHeader = gHeader; |
|
|
|
if (gHeader instanceof GridColumn){ |
|
|
|
if (gHeader instanceof GridColumn) { |
|
|
|
this.resolution = ((GridColumn)gHeader).getResolution(); |
|
|
|
this.resolution = ((GridColumn) gHeader).getResolution(); |
|
|
|
}else { |
|
|
|
} else { |
|
|
|
this.resolution = ((GridRow)gHeader).getResolution(); |
|
|
|
this.resolution = ((GridRow) gHeader).getResolution(); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public void setStartMultiSelectIndex(int index) { |
|
|
|
public void setStartMultiSelectIndex(int index) { |
|
|
|
this.startMultiSelectIndex = index; |
|
|
|
this.startMultiSelectIndex = index; |
|
|
@ -113,7 +115,7 @@ public abstract class AbstractGridHeaderMouseHandler extends MouseInputAdapter { |
|
|
|
if (between(evt, tmpSize1, tmpSize2)) { |
|
|
|
if (between(evt, tmpSize1, tmpSize2)) { |
|
|
|
if (index >= dragIndex) { |
|
|
|
if (index >= dragIndex) { |
|
|
|
try { |
|
|
|
try { |
|
|
|
if(method != null) { |
|
|
|
if (method != null) { |
|
|
|
method.invoke(report, dragIndex, FU.valueOfPix(evtOffset(evt, oldEndValueSize), resolution)); |
|
|
|
method.invoke(report, dragIndex, FU.valueOfPix(evtOffset(evt, oldEndValueSize), resolution)); |
|
|
|
} |
|
|
|
} |
|
|
|
} catch (Exception e) { |
|
|
|
} catch (Exception e) { |
|
|
@ -122,7 +124,7 @@ public abstract class AbstractGridHeaderMouseHandler extends MouseInputAdapter { |
|
|
|
//sizeList.set(dragIndex, FU.valueOfPix(evtOffset(evt, oldEndValueSize), resolution));
|
|
|
|
//sizeList.set(dragIndex, FU.valueOfPix(evtOffset(evt, oldEndValueSize), resolution));
|
|
|
|
} else { |
|
|
|
} else { |
|
|
|
try { |
|
|
|
try { |
|
|
|
if(method != null) { |
|
|
|
if (method != null) { |
|
|
|
method.invoke(report, index, FU.valueOfPix(evtOffset(evt, (int) tmpSize1), resolution)); |
|
|
|
method.invoke(report, index, FU.valueOfPix(evtOffset(evt, (int) tmpSize1), resolution)); |
|
|
|
} |
|
|
|
} |
|
|
|
} catch (Exception e) { |
|
|
|
} catch (Exception e) { |
|
|
@ -132,7 +134,7 @@ public abstract class AbstractGridHeaderMouseHandler extends MouseInputAdapter { |
|
|
|
// from all to do.
|
|
|
|
// from all to do.
|
|
|
|
for (int h = (dragIndex - 1); h > index; h--) { |
|
|
|
for (int h = (dragIndex - 1); h > index; h--) { |
|
|
|
try { |
|
|
|
try { |
|
|
|
if(method != null) { |
|
|
|
if (method != null) { |
|
|
|
method.invoke(report, h, UNIT.ZERO); |
|
|
|
method.invoke(report, h, UNIT.ZERO); |
|
|
|
} |
|
|
|
} |
|
|
|
} catch (Exception e) { |
|
|
|
} catch (Exception e) { |
|
|
@ -223,7 +225,7 @@ public abstract class AbstractGridHeaderMouseHandler extends MouseInputAdapter { |
|
|
|
ePane.getGrid().stopEditing();// james 停止当前的所有编辑
|
|
|
|
ePane.getGrid().stopEditing();// james 停止当前的所有编辑
|
|
|
|
|
|
|
|
|
|
|
|
// peter:选中格子位置.
|
|
|
|
// peter:选中格子位置.
|
|
|
|
ColumnRow selectedCellPoint = GridUtils.getAdjustEventColumnRow_withresolution(ePane, evt.getX(), evt.getY(),resolution); |
|
|
|
ColumnRow selectedCellPoint = GridUtils.getAdjustEventColumnRow_withresolution(ePane, evt.getX(), evt.getY(), resolution); |
|
|
|
|
|
|
|
|
|
|
|
iterateScrollBar(ePane, evt, PRESS_ACTION); |
|
|
|
iterateScrollBar(ePane, evt, PRESS_ACTION); |
|
|
|
|
|
|
|
|
|
|
@ -231,7 +233,7 @@ public abstract class AbstractGridHeaderMouseHandler extends MouseInputAdapter { |
|
|
|
if (SwingUtilities.isRightMouseButton(evt)) { |
|
|
|
if (SwingUtilities.isRightMouseButton(evt)) { |
|
|
|
Selection cs = ePane.getSelection(); |
|
|
|
Selection cs = ePane.getSelection(); |
|
|
|
resetSelectionByRightButton(selectedCellPoint, cs, ePane); |
|
|
|
resetSelectionByRightButton(selectedCellPoint, cs, ePane); |
|
|
|
|
|
|
|
checkEndMultiSelectIndex(cs); |
|
|
|
UIPopupMenu popupMenu = createPopupMenu(ePane, evt, Math.max(dragIndex, Math.max(this.startMultiSelectIndex, this.endMultiSelectIndex))); |
|
|
|
UIPopupMenu popupMenu = createPopupMenu(ePane, evt, Math.max(dragIndex, Math.max(this.startMultiSelectIndex, this.endMultiSelectIndex))); |
|
|
|
if (popupMenu != null) { |
|
|
|
if (popupMenu != null) { |
|
|
|
GUICoreUtils.showPopupMenu(popupMenu, gHeader, evt.getX() + 1, evt.getY() + 1); |
|
|
|
GUICoreUtils.showPopupMenu(popupMenu, gHeader, evt.getX() + 1, evt.getY() + 1); |
|
|
@ -250,6 +252,18 @@ public abstract class AbstractGridHeaderMouseHandler extends MouseInputAdapter { |
|
|
|
ePane.repaint(); |
|
|
|
ePane.repaint(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
|
|
* 如果行列中有只选中一个的情况,更新下endIndex,防止列宽或行宽不匹配 |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* @param selection 与ElementCasePane绑定的选择对象 |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
private void checkEndMultiSelectIndex(Selection selection) { |
|
|
|
|
|
|
|
if (selection.getSelectedColumns().length == ONLY_SELECT_ONE || selection.getSelectedRows().length == ONLY_SELECT_ONE) { |
|
|
|
|
|
|
|
this.endMultiSelectIndex = this.startMultiSelectIndex; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
protected abstract void resetSelectionByRightButton(ColumnRow mouseSelectedColumnRow, Selection cs, ElementCasePane ePane); |
|
|
|
protected abstract void resetSelectionByRightButton(ColumnRow mouseSelectedColumnRow, Selection cs, ElementCasePane ePane); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -310,8 +324,8 @@ public abstract class AbstractGridHeaderMouseHandler extends MouseInputAdapter { |
|
|
|
sb.append(String.format("%.2f", new Double(len))) |
|
|
|
sb.append(String.format("%.2f", new Double(len))) |
|
|
|
.append('/').append(String.format("%.2f", new Double(tlen))) |
|
|
|
.append('/').append(String.format("%.2f", new Double(tlen))) |
|
|
|
.append(unit).append('(') |
|
|
|
.append(unit).append('(') |
|
|
|
.append((int)(unitValue.toPixD(resolution))).append('/') |
|
|
|
.append((int) (unitValue.toPixD(resolution))).append('/') |
|
|
|
.append((int)(totalUnitValue.toPixD(resolution))) |
|
|
|
.append((int) (totalUnitValue.toPixD(resolution))) |
|
|
|
.append(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Px")) |
|
|
|
.append(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Px")) |
|
|
|
.append(')'); |
|
|
|
.append(')'); |
|
|
|
return sb.toString(); |
|
|
|
return sb.toString(); |
|
|
|