From 7949cb2ecfbf51b569b7b3c542c1420030ea67e3 Mon Sep 17 00:00:00 2001 From: plough Date: Thu, 2 Nov 2017 17:02:42 +0800 Subject: [PATCH] =?UTF-8?q?REPORT-5284=20=E5=85=AC=E6=B5=8B=E5=AE=A2?= =?UTF-8?q?=E6=88=B7=E5=8F=8D=E9=A6=88=E8=AE=BE=E8=AE=A1=E5=99=A8=E9=85=8D?= =?UTF-8?q?=E8=89=B2=E5=92=8C=E4=BA=A4=E4=BA=92=E9=97=AE=E9=A2=98=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=3D>=E7=82=B9=E5=87=BB=E6=B7=BB=E5=8A=A0=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6=E6=88=96=E8=80=85=E6=B7=BB=E5=8A=A0=E6=9D=A1=E4=BB=B6?= =?UTF-8?q?=E3=80=81=E8=B6=85=E9=93=BE=E7=9A=84=E6=97=B6=E5=80=99=E7=9B=B4?= =?UTF-8?q?=E6=8E=A5=E6=89=93=E5=BC=80=E6=96=B0=E5=BB=BA=E9=A1=B9=E7=9A=84?= =?UTF-8?q?=E5=BC=B9=E7=AA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/gui/controlpane/UIListControlPane.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/designer_base/src/com/fr/design/gui/controlpane/UIListControlPane.java b/designer_base/src/com/fr/design/gui/controlpane/UIListControlPane.java index 12b25586d..cd8b48d41 100644 --- a/designer_base/src/com/fr/design/gui/controlpane/UIListControlPane.java +++ b/designer_base/src/com/fr/design/gui/controlpane/UIListControlPane.java @@ -330,6 +330,7 @@ public abstract class UIListControlPane extends UIControlPane { nameableList.ensureIndexIsVisible(index); nameEdList.repaint(); + popupEditDialog(); } /** @@ -400,15 +401,19 @@ public abstract class UIListControlPane extends UIControlPane { } } + private void popupEditDialog() { + popupEditDialog(null); + } + protected void popupEditDialog(Point mousePos) { if (isNewStyle()) { Rectangle currentCellBounds = nameableList.getCellBounds(editingIndex, editingIndex); - if (editingIndex < 0 || !currentCellBounds.contains(mousePos)) { + if (editingIndex < 0 || (mousePos != null && !currentCellBounds.contains(mousePos))) { return; } popupEditDialog.setLocation(getPopupDialogLocation()); if (popupEditDialog instanceof PopupEditDialog) { - ((PopupEditDialog)popupEditDialog).setTitle(selectedName); + ((PopupEditDialog)popupEditDialog).setTitle(getSelectedName()); } popupEditDialog.setVisible(true); } @@ -418,7 +423,7 @@ public abstract class UIListControlPane extends UIControlPane { Point resultPos = new Point(0, 0); Point listPos = nameableList.getLocationOnScreen(); resultPos.x = listPos.x - popupEditDialog.getWidth(); - resultPos.y = listPos.y + (editingIndex - 1) * EDIT_RANGE; + resultPos.y = listPos.y + (nameableList.getSelectedIndex() - 1) * EDIT_RANGE; // 当对象在屏幕上的位置比较靠下时,往下移动弹窗至与属性面板平齐 Window frame = DesignerContext.getDesignerFrame();