Browse Source

REPORT-3163 合作开发9.0设计器=>列表面板弹出编辑框

master
plough 8 years ago
parent
commit
05451d24a6
  1. 5
      designer_base/src/com/fr/design/gui/controlpane/UIControlPane.java
  2. 11
      designer_base/src/com/fr/design/gui/controlpane/UIListControlPane.java

5
designer_base/src/com/fr/design/gui/controlpane/UIControlPane.java

@ -236,14 +236,17 @@ public abstract class UIControlPane extends BasicPane implements UnrepeatedNameH
// 点击"编辑"按钮,弹出面板 // 点击"编辑"按钮,弹出面板
protected class PopupEditPane extends JPopupMenu { protected class PopupEditPane extends JPopupMenu {
private JComponent contentPane; private JComponent contentPane;
private static final int WIDTH = 460;
private static final int HEIGHT = 500;
// private PopupToolPane popupToolPane; // private PopupToolPane popupToolPane;
private int fixedHeight; // private int fixedHeight;
PopupEditPane(JComponent pane) { PopupEditPane(JComponent pane) {
contentPane = pane; contentPane = pane;
this.setLayout(new BorderLayout()); this.setLayout(new BorderLayout());
this.add(contentPane, BorderLayout.CENTER); this.add(contentPane, BorderLayout.CENTER);
this.setOpaque(false); this.setOpaque(false);
contentPane.setPreferredSize(new Dimension(WIDTH, HEIGHT));
// fixedHeight = getPreferredSize().height - contentPane.getPreferredSize().height; // fixedHeight = getPreferredSize().height - contentPane.getPreferredSize().height;
// updateSize(); // updateSize();
} }

11
designer_base/src/com/fr/design/gui/controlpane/UIListControlPane.java

@ -47,6 +47,7 @@ import java.util.Comparator;
public abstract class UIListControlPane extends UIControlPane { public abstract class UIListControlPane extends UIControlPane {
public static final String LIST_NAME = "UIControl_List"; public static final String LIST_NAME = "UIControl_List";
private static final int EDIT_RANGE = 20; // 编辑按钮的x坐标范围
protected UINameEdList nameableList; protected UINameEdList nameableList;
protected int editingIndex; protected int editingIndex;
@ -356,6 +357,11 @@ public abstract class UIListControlPane extends UIControlPane {
} }
} }
private void popupEditPane() {
GUICoreUtils.showPopupMenu(popupEditPane, this,
- popupEditPane.getPreferredSize().width, nameableList.getSelectedIndex() * EDIT_RANGE);
}
/** /**
* 增加项的UpdateAction * 增加项的UpdateAction
*/ */
@ -638,11 +644,14 @@ public abstract class UIListControlPane extends UIControlPane {
public void mouseReleased(MouseEvent evt) { public void mouseReleased(MouseEvent evt) {
nameableList.stopEditing(); nameableList.stopEditing();
if (evt.getClickCount() >= 2 if (evt.getClickCount() >= 2
&& SwingUtilities.isLeftMouseButton(evt)) { && SwingUtilities.isLeftMouseButton(evt) && evt.getX() > EDIT_RANGE) {
editingIndex = nameableList.getSelectedIndex(); editingIndex = nameableList.getSelectedIndex();
selectedName = nameableList.getNameAt(editingIndex); selectedName = nameableList.getNameAt(editingIndex);
nameableList.editItemAt(nameableList.getSelectedIndex()); nameableList.editItemAt(nameableList.getSelectedIndex());
} else if (SwingUtilities.isLeftMouseButton(evt) && evt.getX() <= EDIT_RANGE) {
popupEditPane();
} }
// peter:处理右键的弹出菜单 // peter:处理右键的弹出菜单
if (!SwingUtilities.isRightMouseButton(evt)) { if (!SwingUtilities.isRightMouseButton(evt)) {
return; return;

Loading…
Cancel
Save