Browse Source

Merge pull request #15954 in DESIGN/design from fbp/feature to fbp/research

* commit '1fd9c74faa7272bf7825422eec12f769c82916d6':
  REPORT-144846 fix:comboBox可见时refresh操作放到EDT上
  REPORT-144901 fix:修复报表填报属性页面鼠标悬浮提示错误信息
fbp/research
superman 1 month ago
parent
commit
bdaef92429
  1. 14
      designer-base/src/main/java/com/fine/theme/light/ui/FineTableHeaderUI.java
  2. 9
      designer-base/src/main/java/com/fr/design/data/datapane/TableDataComboBox.java
  3. 22
      designer-base/src/main/java/com/fr/design/write/submit/DBManipulationPane.java

14
designer-base/src/main/java/com/fine/theme/light/ui/FineTableHeaderUI.java

@ -124,14 +124,24 @@ public class FineTableHeaderUI extends FlatTableHeaderUI {
* @param column
*/
private void setToolTipText(JTable table, Object value, int column) {
String tipText = value == null ? StringUtils.BLANK : String.valueOf(value);
String tipText = value == null ? StringUtils.BLANK : getTooltipValue(value);
FontMetrics fm = this.getFontMetrics(this.getFont());
int textWidth = fm.stringWidth(String.valueOf(value));
int textWidth = fm.stringWidth(tipText);
if (textWidth > table.getColumnModel().getColumn(column).getWidth()) {
setToolTipText(tipText);
} else {
setToolTipText(null);
}
}
/**
* 提取实际显示值
*
* @param value
* @return 转换后的显示值
*/
public String getTooltipValue(Object value) {
return String.valueOf(value);
}
}
}

9
designer-base/src/main/java/com/fr/design/data/datapane/TableDataComboBox.java

@ -1,6 +1,7 @@
package com.fr.design.data.datapane;
import com.fr.design.constants.UIConstants;
import com.fr.design.ui.util.UIUtil;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.event.ItemEvent;
@ -73,7 +74,7 @@ public class TableDataComboBox extends UIComboBox implements Prepare4DataSourceC
public TableDataComboBox() {
super();
setListCellRenderer();
addListener();
addComboBoxListener();
}
/**
@ -109,14 +110,14 @@ public class TableDataComboBox extends UIComboBox implements Prepare4DataSourceC
}
/**
* 在comboBox可见时添加下拉事件与数据集响应事件
* 在comboBox可见时添加数据集响应事件与refresh操作
*/
private void addListener() {
private void addComboBoxListener() {
this.addAncestorListener(new AncestorListener() {
@Override
public void ancestorAdded(AncestorEvent event) {
registerDSChangeListener();
refresh(DesignTableDataManager.getEditingTableDataSource());
UIUtil.invokeLaterIfNeeded(() -> refresh(DesignTableDataManager.getEditingTableDataSource()));
}
@Override

22
designer-base/src/main/java/com/fr/design/write/submit/DBManipulationPane.java

@ -2,11 +2,9 @@ package com.fr.design.write.submit;
import com.fine.swing.ui.layout.Layouts;
import com.fine.theme.icon.LazyIcon;
import com.fine.swing.ui.layout.Spacer;
import com.fine.theme.light.ui.FineRoundBorder;
import com.fine.theme.light.ui.FineTableHeaderUI;
import com.fine.theme.utils.FineClientProperties;
import com.fine.theme.utils.FineUIScale;
import com.fine.theme.utils.FineUIUtils;
import com.fr.base.BaseFormula;
import com.fr.base.Parameter;
@ -21,7 +19,6 @@ import com.fr.design.constants.UIConstants;
import com.fr.design.data.datapane.ChoosePaneSupportFormula;
import com.fr.design.data.datapane.DataBaseItems;
import com.fr.design.data.tabledata.tabledatapane.FormatExplanationPane;
import com.fr.design.dialog.AttrScrollPane;
import com.fr.design.dialog.BasicDialog;
import com.fr.design.dialog.BasicPane;
import com.fr.design.dialog.DialogActionAdapter;
@ -33,7 +30,6 @@ import com.fr.design.gui.ibutton.UIButton;
import com.fr.design.gui.icheckbox.UICheckBox;
import com.fr.design.gui.icombobox.UIComboBox;
import com.fr.design.gui.icombobox.UIComboBoxRenderer;
import com.fr.design.gui.icontainer.UIScrollPane;
import com.fr.design.gui.icontainer.UIVerticalScrollPane;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.ilist.CheckBoxList;
@ -50,6 +46,7 @@ import com.fr.general.data.Condition;
import com.fr.log.FineLoggerFactory;
import com.fr.stable.ColumnRow;
import com.fr.stable.ColumnRowGroup;
import com.fr.stable.StringUtils;
import com.fr.write.DBManipulation;
import com.fr.write.NameSubmitJob;
import com.fr.write.config.ColumnConfig;
@ -103,7 +100,6 @@ import java.util.stream.Collectors;
import static com.fine.swing.ui.layout.Layouts.row;
import static com.fine.swing.ui.layout.Layouts.cell;
import static com.fine.swing.ui.layout.Layouts.column;
import static com.fine.swing.ui.layout.Layouts.row;
import static com.fine.theme.utils.FineUIScale.scale;
//august:这个东西应该分成两类,一类是有单元格的情况,一类是没有单元格的情况
@ -1225,6 +1221,14 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
public boolean checkSelected(boolean isSelected, Class columnClass) {
return isSelected;
}
@Override
public String getTooltipValue(Object value) {
if (value instanceof ColumnName) {
return ((ColumnName) value).name;
}
return StringUtils.BLANK;
}
}
/*
@ -1255,6 +1259,14 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
public boolean checkSelected(boolean isSelected, Class columnClass) {
return isSelected;
}
@Override
public String getTooltipValue(Object value) {
if (value instanceof ColumnValue) {
return ((ColumnValue) value).obj.toString();
}
return StringUtils.BLANK;
}
}
/**

Loading…
Cancel
Save