|
|
@ -1,16 +1,14 @@ |
|
|
|
package com.fr.design.dscolumn; |
|
|
|
package com.fr.design.dscolumn; |
|
|
|
|
|
|
|
|
|
|
|
import com.fr.base.BaseFormula; |
|
|
|
import com.fr.base.BaseFormula; |
|
|
|
import com.fr.data.util.SortOrder; |
|
|
|
|
|
|
|
import com.fr.design.border.UITitledBorder; |
|
|
|
import com.fr.design.border.UITitledBorder; |
|
|
|
import com.fr.design.constants.LayoutConstants; |
|
|
|
|
|
|
|
import com.fr.design.data.DesignTableDataManager; |
|
|
|
import com.fr.design.data.DesignTableDataManager; |
|
|
|
import com.fr.design.dialog.BasicPane; |
|
|
|
import com.fr.design.dialog.BasicPane; |
|
|
|
import com.fr.design.dialog.DialogActionAdapter; |
|
|
|
import com.fr.design.dialog.DialogActionAdapter; |
|
|
|
import com.fr.design.formula.CustomVariableResolver; |
|
|
|
import com.fr.design.formula.CustomVariableResolver; |
|
|
|
import com.fr.design.formula.FormulaFactory; |
|
|
|
import com.fr.design.formula.FormulaFactory; |
|
|
|
import com.fr.design.formula.SortFormulaPane; |
|
|
|
|
|
|
|
import com.fr.design.formula.UIFormula; |
|
|
|
import com.fr.design.formula.UIFormula; |
|
|
|
|
|
|
|
import com.fr.design.gui.frpane.AbstractAttrNoScrollPane; |
|
|
|
import com.fr.design.gui.ibutton.UIButton; |
|
|
|
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; |
|
|
@ -30,11 +28,19 @@ import com.fr.report.cell.cellattr.CellExpandAttr; |
|
|
|
import com.fr.report.cell.cellattr.core.group.DSColumn; |
|
|
|
import com.fr.report.cell.cellattr.core.group.DSColumn; |
|
|
|
import com.fr.report.cell.cellattr.core.group.SelectCount; |
|
|
|
import com.fr.report.cell.cellattr.core.group.SelectCount; |
|
|
|
|
|
|
|
|
|
|
|
import javax.swing.*; |
|
|
|
import javax.swing.BorderFactory; |
|
|
|
import java.awt.*; |
|
|
|
import javax.swing.Box; |
|
|
|
|
|
|
|
import javax.swing.JComponent; |
|
|
|
|
|
|
|
import javax.swing.JPanel; |
|
|
|
|
|
|
|
import javax.swing.SwingUtilities; |
|
|
|
|
|
|
|
import java.awt.BorderLayout; |
|
|
|
|
|
|
|
import java.awt.CardLayout; |
|
|
|
|
|
|
|
import java.awt.Component; |
|
|
|
|
|
|
|
import java.awt.Dimension; |
|
|
|
|
|
|
|
import java.awt.FlowLayout; |
|
|
|
|
|
|
|
import java.awt.Font; |
|
|
|
import java.awt.event.ActionEvent; |
|
|
|
import java.awt.event.ActionEvent; |
|
|
|
import java.awt.event.ActionListener; |
|
|
|
import java.awt.event.ActionListener; |
|
|
|
import java.util.Arrays; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import static com.fr.report.cell.cellattr.core.group.FilterTypeEnum.BOTTOM; |
|
|
|
import static com.fr.report.cell.cellattr.core.group.FilterTypeEnum.BOTTOM; |
|
|
|
import static com.fr.report.cell.cellattr.core.group.FilterTypeEnum.SPECIFY; |
|
|
|
import static com.fr.report.cell.cellattr.core.group.FilterTypeEnum.SPECIFY; |
|
|
@ -512,11 +518,12 @@ public class DSColumnAdvancedPane extends BasicPane { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public static class FormatAttrPane extends TextFormatPane { |
|
|
|
|
|
|
|
|
|
|
|
public static class ReLayoutTextFormatPane extends TextFormatPane { |
|
|
|
|
|
|
|
|
|
|
|
protected void initLayout() { |
|
|
|
protected void initLayout() { |
|
|
|
JComponent[][] components = new JComponent[][]{{typeComboBox, textField, roundingBox}}; |
|
|
|
JComponent[][] components = new JComponent[][] { {typeComboBox, textField, roundingBox} }; |
|
|
|
double[] rowSize = new double[]{TableLayout.FILL}; |
|
|
|
double[] rowSize = new double[] { TableLayout.FILL }; |
|
|
|
double[] columnSize = {TableLayout.PREFERRED, 200, TableLayout.PREFERRED}; |
|
|
|
double[] columnSize = {TableLayout.PREFERRED, 200, TableLayout.PREFERRED}; |
|
|
|
|
|
|
|
|
|
|
|
JPanel settingPane = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, 4, 0); |
|
|
|
JPanel settingPane = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, 4, 0); |
|
|
@ -542,6 +549,44 @@ public class DSColumnAdvancedPane extends BasicPane { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static class FormatAttrPane extends AbstractAttrNoScrollPane { |
|
|
|
|
|
|
|
private TextFormatPane formatPane; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
|
|
protected JPanel createContentPane() { |
|
|
|
|
|
|
|
this.formatPane = new ReLayoutTextFormatPane(); |
|
|
|
|
|
|
|
return this.formatPane; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
|
|
public Dimension getPreferredSize() { |
|
|
|
|
|
|
|
if (formatPane == null) { |
|
|
|
|
|
|
|
return super.getPreferredSize(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
return formatPane.getPreferredSize(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
protected void initContentPane() { |
|
|
|
|
|
|
|
leftContentPane = createContentPane(); |
|
|
|
|
|
|
|
if (leftContentPane != null) { |
|
|
|
|
|
|
|
leftContentPane.setBorder(BorderFactory.createEmptyBorder()); |
|
|
|
|
|
|
|
this.add(leftContentPane, BorderLayout.CENTER); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public void populate(CellElement cellElement) { |
|
|
|
|
|
|
|
if (cellElement != null && formatPane != null) { |
|
|
|
|
|
|
|
formatPane.populateBean(cellElement.getStyle()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public void update(CellElement cellElement) { |
|
|
|
|
|
|
|
if (cellElement != null && formatPane != null) { |
|
|
|
|
|
|
|
cellElement.setStyle(formatPane.update(cellElement.getStyle())); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void checkButtonEnabled() { |
|
|
|
private void checkButtonEnabled() { |
|
|
|
if (useMultiplyNumCheckBox.isSelected()) { |
|
|
|
if (useMultiplyNumCheckBox.isSelected()) { |
|
|
|
multiNumSpinner.setEnabled(true); |
|
|
|
multiNumSpinner.setEnabled(true); |
|
|
|