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 * @param column
*/ */
private void setToolTipText(JTable table, Object value, int 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()); 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()) { if (textWidth > table.getColumnModel().getColumn(column).getWidth()) {
setToolTipText(tipText); setToolTipText(tipText);
} else { } else {
setToolTipText(null); 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; package com.fr.design.data.datapane;
import com.fr.design.constants.UIConstants; import com.fr.design.constants.UIConstants;
import com.fr.design.ui.util.UIUtil;
import java.awt.Component; import java.awt.Component;
import java.awt.Dimension; import java.awt.Dimension;
import java.awt.event.ItemEvent; import java.awt.event.ItemEvent;
@ -73,7 +74,7 @@ public class TableDataComboBox extends UIComboBox implements Prepare4DataSourceC
public TableDataComboBox() { public TableDataComboBox() {
super(); super();
setListCellRenderer(); 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() { this.addAncestorListener(new AncestorListener() {
@Override @Override
public void ancestorAdded(AncestorEvent event) { public void ancestorAdded(AncestorEvent event) {
registerDSChangeListener(); registerDSChangeListener();
refresh(DesignTableDataManager.getEditingTableDataSource()); UIUtil.invokeLaterIfNeeded(() -> refresh(DesignTableDataManager.getEditingTableDataSource()));
} }
@Override @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.swing.ui.layout.Layouts;
import com.fine.theme.icon.LazyIcon; 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.FineRoundBorder;
import com.fine.theme.light.ui.FineTableHeaderUI; import com.fine.theme.light.ui.FineTableHeaderUI;
import com.fine.theme.utils.FineClientProperties; import com.fine.theme.utils.FineClientProperties;
import com.fine.theme.utils.FineUIScale;
import com.fine.theme.utils.FineUIUtils; import com.fine.theme.utils.FineUIUtils;
import com.fr.base.BaseFormula; import com.fr.base.BaseFormula;
import com.fr.base.Parameter; 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.ChoosePaneSupportFormula;
import com.fr.design.data.datapane.DataBaseItems; import com.fr.design.data.datapane.DataBaseItems;
import com.fr.design.data.tabledata.tabledatapane.FormatExplanationPane; 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.BasicDialog;
import com.fr.design.dialog.BasicPane; import com.fr.design.dialog.BasicPane;
import com.fr.design.dialog.DialogActionAdapter; 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.icheckbox.UICheckBox;
import com.fr.design.gui.icombobox.UIComboBox; import com.fr.design.gui.icombobox.UIComboBox;
import com.fr.design.gui.icombobox.UIComboBoxRenderer; 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.icontainer.UIVerticalScrollPane;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.ilist.CheckBoxList; 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.log.FineLoggerFactory;
import com.fr.stable.ColumnRow; import com.fr.stable.ColumnRow;
import com.fr.stable.ColumnRowGroup; import com.fr.stable.ColumnRowGroup;
import com.fr.stable.StringUtils;
import com.fr.write.DBManipulation; import com.fr.write.DBManipulation;
import com.fr.write.NameSubmitJob; import com.fr.write.NameSubmitJob;
import com.fr.write.config.ColumnConfig; 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.row;
import static com.fine.swing.ui.layout.Layouts.cell; 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.column;
import static com.fine.swing.ui.layout.Layouts.row;
import static com.fine.theme.utils.FineUIScale.scale; import static com.fine.theme.utils.FineUIScale.scale;
//august:这个东西应该分成两类,一类是有单元格的情况,一类是没有单元格的情况 //august:这个东西应该分成两类,一类是有单元格的情况,一类是没有单元格的情况
@ -1225,6 +1221,14 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
public boolean checkSelected(boolean isSelected, Class columnClass) { public boolean checkSelected(boolean isSelected, Class columnClass) {
return isSelected; 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) { public boolean checkSelected(boolean isSelected, Class columnClass) {
return isSelected; return isSelected;
} }
@Override
public String getTooltipValue(Object value) {
if (value instanceof ColumnValue) {
return ((ColumnValue) value).obj.toString();
}
return StringUtils.BLANK;
}
} }
/** /**

Loading…
Cancel
Save