Browse Source

Merge pull request #1770 in BA/design from ~MOMEAK/design9.0:release/9.0 to release/9.0

* commit 'ed2f74304b8592a215c56dec7dd3b505d8726334':
  REPORT-7321 1、绝对布局里两个tab点选选不中
superman 7 years ago
parent
commit
ad337c18e3
  1. 9
      designer_form/src/com/fr/design/designer/beans/models/SelectionModel.java
  2. 5
      designer_form/src/com/fr/design/mainframe/EditingMouseListener.java

9
designer_form/src/com/fr/design/designer/beans/models/SelectionModel.java

@ -62,13 +62,16 @@ public class SelectionModel {
* @param e 鼠标事件
*/
public void selectACreatorAtMouseEvent(MouseEvent e) {
// 获取e所在的组件
XCreator comp = designer.getComponentAt(e);
if (e.getButton() == MouseEvent.BUTTON3 || (!InputEventBaseOnOS.isControlDown(e) && !e.isShiftDown())) {
// 如果Ctrl或者Shift键盘没有按下,则清除已经选择的组件
selection.reset();
} else {
//按下Ctrl或者shift键时鼠标可以进行多选,两次点击同一控件就取消选中
XCreator comp = designer.getComponentAt(e);
XLayoutContainer topLayout = XCreatorUtils.getHotspotContainer(comp).getTopLayout();
if (topLayout != null && !topLayout.isEditable()) {
comp = topLayout;
}
XLayoutContainer container = XCreatorUtils.getParentXLayoutContainer(comp);
for (XCreator selected : selection.getSelectedCreators()) {
if (selected == comp || XCreatorUtils.getParentXLayoutContainer(selected) != container) {
@ -76,6 +79,8 @@ public class SelectionModel {
}
}
}
// 获取e所在的组件
XCreator comp = designer.getComponentAt(e);
selectACreator(comp);
}

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

@ -25,6 +25,7 @@ import com.fr.general.Inter;
import com.fr.share.ShareConstants;
import com.fr.stable.Constants;
import com.fr.stable.StringUtils;
import javax.swing.*;
import javax.swing.event.MouseInputAdapter;
import java.awt.*;
@ -334,6 +335,10 @@ public class EditingMouseListener extends MouseInputAdapter {
component.displayCoverPane(true);
component.setDirections(Direction.TOP_BOTTOM_LEFT_RIGHT);
} else {
//没有帮助信息时,不显示帮助图标
if (StringUtils.isEmpty(component.toData().getDescription())) {
return;
}
int minX1 = component.getX() + component.getWidth() - ShareConstants.SHARE_EL_CONTROL_BUTTON_HW - designer.getArea().getHorizontalValue();
int minY1 = component.getY() - designer.getArea().getVerticalValue();
if (e.getX() + GAP - component.getInsets().left > minX1 && e.getX() - GAP - component.getInsets().left < minX1 + ShareConstants.SHARE_EL_CONTROL_BUTTON_HW) {

Loading…
Cancel
Save