Browse Source

Merge remote-tracking branch 'origin/release/9.0' into release/9.0

master
mengao 7 years ago
parent
commit
19494c7351
  1. 4
      designer/src/com/fr/design/actions/file/export/AbstractExportAction.java
  2. 31
      designer/src/com/fr/design/mainframe/CellWidgetPropertyPane.java
  3. 23
      designer/src/com/fr/design/mainframe/cell/settingpane/CellOtherSetPane.java
  4. 27
      designer/src/com/fr/design/present/BarCodePane.java
  5. 13
      designer/src/com/fr/design/present/ConditionAttributesGroupPane.java
  6. 12
      designer/src/com/fr/design/present/CurrencyLinePane.java
  7. 20
      designer/src/com/fr/design/widget/ValueWidgetPane.java
  8. 24
      designer/src/com/fr/design/widget/WidgetPane.java
  9. 2
      designer/src/com/fr/design/widget/ui/BasicWidgetPropertySettingPane.java
  10. 1
      designer/src/com/fr/design/widget/ui/DateEditorDefinePane.java
  11. 13
      designer/src/com/fr/poly/PolyDesigner.java
  12. 46
      designer_base/src/com/fr/design/constants/LayoutConstants.java
  13. 3
      designer_base/src/com/fr/design/data/datapane/VerticalChoosePane.java
  14. 6
      designer_base/src/com/fr/design/foldablepane/HeaderPane.java
  15. 4
      designer_base/src/com/fr/design/gui/controlpane/UIControlPane.java
  16. 2
      designer_base/src/com/fr/design/gui/ibutton/UIButton.java
  17. 7
      designer_base/src/com/fr/design/gui/style/FRFontPane.java
  18. 9
      designer_base/src/com/fr/design/layout/FRGUIPaneFactory.java
  19. 1
      designer_base/src/com/fr/design/mainframe/EastRegionContainerPane.java
  20. 7
      designer_base/src/com/fr/design/present/dict/DatabaseDictPane.java
  21. 11
      designer_base/src/com/fr/design/present/dict/DictionaryPane.java
  22. 4
      designer_base/src/com/fr/design/preview/WriteEnhancePreview.java
  23. 1
      designer_base/src/com/fr/design/style/AbstractSelectBox.java
  24. 144
      designer_base/src/com/fr/file/FILEChooserPane.java
  25. 4
      designer_chart/src/com/fr/design/mainframe/chart/gui/ChangeConfigPane.java
  26. 2
      designer_chart/src/com/fr/plugin/chart/designer/style/background/BackgroundListControlPane.java
  27. 2
      designer_chart/src/com/fr/plugin/chart/designer/style/background/BackgroundNameObjectCreator.java
  28. 2
      designer_chart/src/com/fr/plugin/chart/designer/style/background/VanChartCustomIntervalBackgroundPane.java
  29. 2
      designer_chart/src/com/fr/plugin/chart/designer/style/background/radar/VanChartRadarAxisAreaPane.java
  30. 2
      designer_form/src/com/fr/design/designer/properties/mobile/ElementCasePropertyUI.java
  31. 22
      designer_form/src/com/fr/design/mainframe/WidgetPropertyPane.java
  32. 2
      designer_form/src/com/fr/design/widget/ui/designer/DateEditorDefinePane.java

4
designer/src/com/fr/design/actions/file/export/AbstractExportAction.java

@ -72,7 +72,7 @@ public abstract class AbstractExportAction extends JWorkBookAction {
}
// Choose a file name....
FILEChooserPane fileChooserPane = FILEChooserPane.getInstance(false, true);
FILEChooserPane fileChooserPane = FILEChooserPane.getInstance(true, true);
fileChooserPane.setFILEFilter(this.getChooseFileFilter());
// 打开文件后输出文件名修改,eg:w.cpt.doc / w.svg.doc,去掉中间的后缀名~~ w.doc
@ -139,7 +139,7 @@ public abstract class AbstractExportAction extends JWorkBookAction {
if (exporter instanceof AppExporter) {
AppExporter appExporter = (AppExporter) exporter;
if (exporter instanceof ExcelExporter || exporter instanceof CSVExporter
|| exporter instanceof PDFExporterProcessor || exporter instanceof WordExporter) {
|| exporter instanceof PDFExporterProcessor || exporter instanceof WordExporter) {
ReportHelper.clearFormulaResult(tpl);// 清空rpt中的公式计算结果
appExporter.export(fileOutputStream, tpl.execute(parameterMap, ActorFactory.getActor(ActorConstants.TYPE_PAGE)

31
designer/src/com/fr/design/mainframe/CellWidgetPropertyPane.java

@ -1,6 +1,7 @@
package com.fr.design.mainframe;
import com.fr.base.FRContext;
import com.fr.design.actions.utils.ReportActionUtils;
import com.fr.design.dialog.BasicDialog;
import com.fr.design.dialog.BasicPane;
import com.fr.design.dialog.DialogActionAdapter;
@ -15,6 +16,7 @@ import com.fr.grid.selection.CellSelection;
import com.fr.grid.selection.FloatSelection;
import com.fr.grid.selection.Selection;
import com.fr.privilege.finegrain.WidgetPrivilegeControl;
import com.fr.report.cell.CellElement;
import com.fr.report.cell.DefaultTemplateCellElement;
import com.fr.report.cell.TemplateCellElement;
import com.fr.report.elementcase.TemplateElementCase;
@ -30,6 +32,7 @@ public class CellWidgetPropertyPane extends BasicPane {
private TemplateCellElement cellElement;
private WidgetPane cellEditorDefPane;
private ElementCasePane ePane;
public static CellWidgetPropertyPane getInstance(){
if (singleton == null) {
@ -84,6 +87,7 @@ public class CellWidgetPropertyPane extends BasicPane {
public void reInit(ElementCasePane ePane){
this.ePane = ePane;
cellEditorDefPane = new WidgetPane(ePane);
this.removeAll();
this.add(cellEditorDefPane, BorderLayout.CENTER);
@ -108,18 +112,23 @@ public class CellWidgetPropertyPane extends BasicPane {
if (cellElement == null) {// 利用默认的CellElement.
return;
}
Widget cellWidget = this.cellEditorDefPane.update();
// p:最后把这个cellEditorDef设置到CellGUIAttr.
if (cellWidget instanceof NoneWidget) {
cellElement.setWidget(null);
} else {
if (cellElement.getWidget() != null) {
cellWidget = upDateWidgetAuthority(cellElement, cellWidget);
final CellSelection finalCS = (CellSelection) ePane.getSelection();
final TemplateElementCase tplEC = ePane.getEditingElementCase();
ReportActionUtils.actionIterateWithCellSelection(finalCS, tplEC, new ReportActionUtils.IterAction() {
public void dealWith(CellElement editCellElement) {
Widget cellWidget = cellEditorDefPane.update();
// p:最后把这个cellEditorDef设置到CellGUIAttr.
TemplateCellElement cellElement = (TemplateCellElement) editCellElement;
if (cellWidget instanceof NoneWidget) {
cellElement.setWidget(null);
} else {
if (cellElement.getWidget() != null) {
cellWidget = upDateWidgetAuthority(cellElement, cellWidget);
}
cellElement.setWidget(cellWidget);
}
}
cellElement.setWidget(cellWidget);
}
});
}

23
designer/src/com/fr/design/mainframe/cell/settingpane/CellOtherSetPane.java

@ -11,6 +11,7 @@ import com.fr.design.gui.icheckbox.UICheckBox;
import com.fr.design.gui.icombobox.UIComboBox;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.itextfield.UITextField;
import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper;
import com.fr.design.mainframe.JTemplate;
@ -39,6 +40,8 @@ public class CellOtherSetPane extends AbstractCellAttrPane {
private static final int HEAD_WDITH = 290;
private static final int HEAD_HEIGTH = 24;
private static final Dimension NORMAL_DIMENSION = new Dimension(155, 20);
private static final Dimension SMALL_DIMENSION = new Dimension(150, 20);
// normal
private UIButtonGroup autoshrik;
@ -138,7 +141,7 @@ public class CellOtherSetPane extends AbstractCellAttrPane {
new Component[]{new UILabel(Inter.getLocText("FR-Designer_CellWrite_InsertRow_Policy"), SwingConstants.LEFT), insertRowPolicy},
new Component[]{null, insertRowPane},
};
southContentPane = TableLayoutHelper.createGapTableLayoutPane(components1, rowSize1, columnSize1, rowCount1, LayoutConstants.VGAP_MEDIUM, LayoutConstants.VGAP_MEDIUM);
southContentPane = TableLayoutHelper.createGapTableLayoutPane(components1, rowSize1, columnSize1, rowCount1, LayoutConstants.VGAP_LARGE, LayoutConstants.VGAP_MEDIUM);
JPanel seniorPane = new JPanel(new BorderLayout());
seniorPane.add(seniorUpPane(), BorderLayout.NORTH);
seniorPane.add(southContentPane, BorderLayout.CENTER);
@ -167,15 +170,25 @@ public class CellOtherSetPane extends AbstractCellAttrPane {
double[] downRowSize = {p, p, p, p, p, p};
double[] downColumnSize = {p, f};
int[][] downRowCount = {{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}};
JPanel showContentPane = new JPanel(FRGUIPaneFactory.createRightZeroLayout());
showContent.setPreferredSize(SMALL_DIMENSION);
showContentPane.add(showContent);
fileNamePane.setBorder(BorderFactory.createEmptyBorder(0,12,0,0));
JPanel tooltipTextFieldPane = new JPanel(FRGUIPaneFactory.createRightZeroLayout());
tooltipTextField.setPreferredSize(NORMAL_DIMENSION);
tooltipTextFieldPane.add(tooltipTextField);
Component[][] downComponent = new Component[][]{
new Component[]{null, null},
new Component[]{new UILabel(Inter.getLocText("FR-Designer_Show_Content"), SwingConstants.LEFT), showContent},
new Component[]{null, fileNamePane},
new Component[]{new UILabel(Inter.getLocText("FR-Designer_CellWrite_ToolTip"), SwingConstants.RIGHT), tooltipTextField},
new Component[]{new UILabel(Inter.getLocText("FR-Designer_Show_Content"), SwingConstants.LEFT), showContentPane},
new Component[]{fileNamePane, null},
new Component[]{new UILabel(Inter.getLocText("FR-Designer_CellWrite_ToolTip"), SwingConstants.LEFT), tooltipTextFieldPane},
new Component[]{null, null},
new Component[]{null, null},
};
JPanel downPane = TableLayoutHelper.createGapTableLayoutPane(downComponent, downRowSize, downColumnSize, downRowCount, LayoutConstants.VGAP_MEDIUM, LayoutConstants.VGAP_MEDIUM);
JPanel downPane = TableLayoutHelper.createGapTableLayoutPane(downComponent, downRowSize, downColumnSize, downRowCount, LayoutConstants.VGAP_LARGE, LayoutConstants.VGAP_MEDIUM);
JPanel pane = new JPanel(new BorderLayout());
pane.add(upPane, BorderLayout.NORTH);
pane.add(downPane, BorderLayout.CENTER);

27
designer/src/com/fr/design/present/BarCodePane.java

@ -60,17 +60,6 @@ public class BarCodePane extends FurtherBasicBeanPane<BarcodePresent> {
addlistener();
}
public static void main(String[] args) {
JFrame jf = new JFrame("test");
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel content = (JPanel) jf.getContentPane();
content.setLayout(new BorderLayout());
content.add(new BarCodePane(), BorderLayout.CENTER);
GUICoreUtils.centerWindow(jf);
jf.setSize(270, 400);
jf.setVisible(true);
}
private void initComponents() {
barCodePreviewPane = new BarCodePreviewPane();
this.barWidthSpinner = new UIBasicSpinner(new SpinnerNumberModel(10.0, 1, 100, 1.0));
@ -86,7 +75,7 @@ public class BarCodePane extends FurtherBasicBeanPane<BarcodePresent> {
RCodesizespinner = new UIBasicSpinner(new SpinnerNumberModel(2, 1, 6, 1));
RCodeVersionComboBox = new UIComboBox();
RCodeErrorCorrectComboBox = new UIComboBox();
typeSetLabel = new UILabel(Inter.getLocText("Type_Set"), UILabel.LEFT);
typeSetLabel = new UILabel(Inter.getLocText("FR-Designer_Type_Set"), UILabel.LEFT);
initVersionComboBox();
initErrorCorrectComboBox();
@ -106,7 +95,7 @@ public class BarCodePane extends FurtherBasicBeanPane<BarcodePresent> {
new Component[]{borderPane, null},
new Component[]{centerPane, null}
};
JPanel barCode = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, LayoutConstants.VGAP_LARGE, LayoutConstants.VGAP_LARGE);
JPanel barCode = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, LayoutConstants.VGAP_HUGER, LayoutConstants.VGAP_LARGE);
centerPane.add(getNormalPane(), "normal");
centerPane.add(getSpecialPane(), "special");
typeComboBox.addItemListener(new ItemListener() {
@ -150,9 +139,9 @@ public class BarCodePane extends FurtherBasicBeanPane<BarcodePresent> {
double[] rowSize = {p, p, p, p, p, p, p, p};
double[] columnSize = {p, f, f};
int[][] rowCount = {{1, 1, 1}, {1, 1, 1}, {1, 1, 1}};
JPanel barWidthContainer = new JPanel(new FlowLayout(FlowLayout.LEFT, 2, 0));
JPanel barWidthContainer = new JPanel(new BorderLayout());
barWidthContainer.add(barWidthSpinner);
JPanel barHeightContainer = new JPanel(new FlowLayout(FlowLayout.LEFT, 2, 0));
JPanel barHeightContainer = new JPanel(new BorderLayout());
barHeightContainer.add(barHeightSpinner);
UILabel uiLabel = new UILabel(Inter.getLocText("FR-Designer-Tree_Width"), UILabel.RIGHT);
uiLabel.setPreferredSize(typeSetLabel.getPreferredSize());
@ -172,9 +161,9 @@ public class BarCodePane extends FurtherBasicBeanPane<BarcodePresent> {
private JPanel getSpecialPane() {
double p = TableLayout.PREFERRED;
double f = TableLayout.FILL;
double[] columnSize = {p, p};
double[] rowSize = {p, p, p, p, p, p, p, p};
int[][] rowCount = {{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}};
double[] columnSize = {p, f};
double[] rowSize = {p, p, p};
int[][] rowCount = {{1, 1}, {1, 1}, {1, 1}};
UILabel uiLabel = new UILabel(Inter.getLocText("RCodeVersion"), UILabel.LEFT);
uiLabel.setPreferredSize(typeSetLabel.getPreferredSize());
RCodeVersionComboBox.setPreferredSize(new Dimension(155,20));
@ -186,7 +175,7 @@ public class BarCodePane extends FurtherBasicBeanPane<BarcodePresent> {
new Component[]{new UILabel(Inter.getLocText("RCodeDrawPix"), UILabel.LEFT), RCodesizespinner}
};
JPanel specialPane = TableLayoutHelper.createGapTableLayoutPane(components_special, rowSize, columnSize, rowCount, LayoutConstants.VGAP_LARGE, LayoutConstants.VGAP_LARGE);
JPanel specialPane = TableLayoutHelper.createGapTableLayoutPane(components_special, rowSize, columnSize, rowCount, LayoutConstants.VGAP_HUGER, LayoutConstants.VGAP_LARGE);
return specialPane;
}

13
designer/src/com/fr/design/present/ConditionAttributesGroupPane.java

@ -4,6 +4,7 @@ import java.util.ArrayList;
import java.util.List;
import com.fr.base.FRContext;
import com.fr.design.actions.utils.ReportActionUtils;
import com.fr.design.gui.controlpane.UIListControlPane;
import com.fr.design.mainframe.DesignerContext;
import com.fr.design.mainframe.ElementCasePane;
@ -15,6 +16,7 @@ import com.fr.design.gui.controlpane.NameObjectCreator;
import com.fr.design.gui.controlpane.NameableCreator;
import com.fr.general.Inter;
import com.fr.grid.selection.CellSelection;
import com.fr.report.cell.CellElement;
import com.fr.report.cell.DefaultTemplateCellElement;
import com.fr.report.cell.TemplateCellElement;
import com.fr.report.cell.cellattr.highlight.DefaultHighlight;
@ -27,6 +29,7 @@ import com.fr.stable.Nameable;
public class ConditionAttributesGroupPane extends UIListControlPane {
private static ConditionAttributesGroupPane singleton;
private TemplateCellElement editCellElement; // 当前单元格对象
private ElementCasePane ePane;
private ConditionAttributesGroupPane() {
super();
@ -49,7 +52,14 @@ public class ConditionAttributesGroupPane extends UIListControlPane {
if (isPopulating) {
return;
}
editCellElement.setHighlightGroup(updateHighlightGroup());
final CellSelection finalCS = (CellSelection) ePane.getSelection();
final TemplateElementCase tplEC = ePane.getEditingElementCase();
ReportActionUtils.actionIterateWithCellSelection(finalCS, tplEC, new ReportActionUtils.IterAction() {
public void dealWith(CellElement editCellElement) {
((TemplateCellElement)editCellElement).setHighlightGroup(updateHighlightGroup());
}
});
DesignerContext.getDesignerFrame().getSelectedJTemplate().fireTargetModified();
}
@ -64,6 +74,7 @@ public class ConditionAttributesGroupPane extends UIListControlPane {
}
public void populate(ElementCasePane ePane) {
this.ePane = ePane;
CellSelection cs = (CellSelection) ePane.getSelection();
final TemplateElementCase tplEC = ePane.getEditingElementCase();
editCellElement = tplEC.getTemplateCellElement(cs.getColumn(), cs.getRow());

12
designer/src/com/fr/design/present/CurrencyLinePane.java

@ -2,6 +2,7 @@ package com.fr.design.present;
import com.fr.design.beans.FurtherBasicBeanPane;
import com.fr.design.border.UIRoundedBorder;
import com.fr.design.constants.LayoutConstants;
import com.fr.design.constants.UIConstants;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.ispinner.UIBasicSpinner;
@ -31,6 +32,7 @@ import java.awt.*;
public class CurrencyLinePane extends FurtherBasicBeanPane<CurrencyLinePresent> {
private static final int VS_NUM = 4;
private static final int VG_NUM = 6;
private static final Dimension NORMAL_DIMENSION = new Dimension(155, 20);
private UIBasicSpinner intPartSpinner;
private UIBasicSpinner deciPartSpinner;
private UITextField textField;
@ -72,11 +74,11 @@ public class CurrencyLinePane extends FurtherBasicBeanPane<CurrencyLinePresent>
protected void initComponents() {
// 整数位选择
intPartSpinner = new UIBasicSpinner(new SpinnerNumberModel(9, 1, 20, 1));
intPartSpinner.setPreferredSize(new Dimension(158, 20));
intPartSpinner.setPreferredSize(NORMAL_DIMENSION);
// 小数位选择
deciPartSpinner = new UIBasicSpinner(new SpinnerNumberModel(2, 1, 10, 1));
deciPartSpinner.setPreferredSize(new Dimension(158, 20));
deciPartSpinner.setPreferredSize(NORMAL_DIMENSION);
// 预览区域
textField = new UITextField(10);
@ -95,7 +97,7 @@ public class CurrencyLinePane extends FurtherBasicBeanPane<CurrencyLinePresent>
double f = TableLayout.FILL;
double[] columnSize = {p, f};
double[] rowSize = {p, p, p, p};
int[][] rowCount = {{1, 1}, {1, 1}, {1, 1}, {1, 1}};
Component[][] components = new Component[][]{
new Component[]{new UILabel(Inter.getLocText("Data"), UILabel.LEFT), textField},
@ -105,7 +107,7 @@ public class CurrencyLinePane extends FurtherBasicBeanPane<CurrencyLinePresent>
};
JPanel linePane = TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize);
JPanel linePane = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, LayoutConstants.VGAP_HUGER, LayoutConstants.VGAP_LARGE);
this.setLayout(new BorderLayout());
this.add(linePane, BorderLayout.CENTER);
@ -186,7 +188,7 @@ public class CurrencyLinePane extends FurtherBasicBeanPane<CurrencyLinePresent>
protected static JPanel groupPane(JComponent comp) {
JPanel jp = new JPanel();
jp.setBorder(null);
jp.setLayout(new FlowLayout(FlowLayout.LEFT));
jp.setLayout(new FlowLayout(FlowLayout.LEFT, 0, 0));
jp.add(comp);
return jp;
}

20
designer/src/com/fr/design/widget/ValueWidgetPane.java

@ -1,9 +1,11 @@
package com.fr.design.widget;
import javax.swing.JPanel;
import javax.swing.*;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper;
import com.fr.design.mainframe.ElementCasePane;
import com.fr.design.mainframe.widget.editors.WidgetValueEditor;
import com.fr.form.ui.DataControl;
@ -11,6 +13,8 @@ import com.fr.form.ui.Widget;
import com.fr.form.ui.WidgetValue;
import com.fr.general.Inter;
import java.awt.*;
public class ValueWidgetPane extends WidgetPane {
private JPanel widgetValuePane;
private WidgetValueEditor widgetValueEditor;
@ -19,13 +23,23 @@ public class ValueWidgetPane extends WidgetPane {
@Override
protected void initComponents(ElementCasePane pane) {
super.initComponents(pane);
}
public JPanel initNorthPane(){
JPanel northPane = super.initNorthPane();
label = new UILabel(" " + Inter.getLocText(new String[]{"Widget", "Value"})+ ":");
northPane.add(label);
label.setVisible(false);
widgetValuePane = new JPanel();
widgetValuePane.setLayout(FRGUIPaneFactory.createBorderLayout());
northPane.add(widgetValuePane);
double p = TableLayout.PREFERRED;
double f = TableLayout.FILL;
double[] columnSize = {p, p, f};
double[] rowSize = {p};
Component[][] components = new Component[][]{
new Component[]{northPane, label,widgetValuePane},
};
JPanel jPanel = TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize);
return jPanel;
}
@Override

24
designer/src/com/fr/design/widget/WidgetPane.java

@ -35,7 +35,7 @@ public class WidgetPane extends AbstractAttrNoScrollPane implements ItemListener
private EditorTypeComboBox editorTypeComboBox;
private CellWidgetCardPane cellEditorCardPane;
private boolean shouldFireSelectedEvent = true;
protected JPanel northPane;
private JPanel northPane;
public WidgetPane() {
this(null);
@ -55,7 +55,18 @@ public class WidgetPane extends AbstractAttrNoScrollPane implements ItemListener
editorTypeComboBox = new EditorTypeComboBox(pane != null);
editorTypeComboBox.setPreferredSize(new Dimension(155, 30));
editorTypeComboBox.setMaximumRowCount(16);
northPane = initNorthPane();
northPane.setBorder(BorderFactory.createEmptyBorder(12, 10, 10, 15));
this.add(northPane, BorderLayout.NORTH);
editorTypeComboBox.addItemListener(this);
cellEditorCardPane = new CellWidgetCardPane(pane);
this.add(cellEditorCardPane, BorderLayout.CENTER);
this.addAttributeChangeListener(listener);
}
public JPanel initNorthPane(){
UILabel emptyLabel = new UILabel();
emptyLabel.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 0));
@ -66,15 +77,8 @@ public class WidgetPane extends AbstractAttrNoScrollPane implements ItemListener
Component[][] components = new Component[][]{
new Component[]{new UILabel(Inter.getLocText(new String[]{"FR-Designer_Selection", "FR-Designer_Widget"})), emptyLabel, editorTypeComboBox},
};
northPane = TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize);
northPane.setBorder(BorderFactory.createEmptyBorder(12, 10, 10, 15));
this.add(northPane, BorderLayout.NORTH);
editorTypeComboBox.addItemListener(this);
cellEditorCardPane = new CellWidgetCardPane(pane);
this.add(cellEditorCardPane, BorderLayout.CENTER);
this.addAttributeChangeListener(listener);
JPanel jPanel = TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize);
return jPanel;
}
protected JPanel createContentPane() {

2
designer/src/com/fr/design/widget/ui/BasicWidgetPropertySettingPane.java

@ -22,7 +22,7 @@ public class BasicWidgetPropertySettingPane extends BasicPane {
public BasicWidgetPropertySettingPane() {
this.setLayout(new BorderLayout());
enableCheckBox = new UICheckBox(Inter.getLocText("FR-Designer_Visible"), true);
enableCheckBox = new UICheckBox(Inter.getLocText("FR-Designer_Enabled"), true);
enableCheckBox.setBorder(BorderFactory.createEmptyBorder(0,0,0,0));
visibleCheckBox = new UICheckBox(Inter.getLocText("FR-Designer_Widget-Visible"), true);
visibleCheckBox.setBorder(BorderFactory.createEmptyBorder(0,0,0,0));

1
designer/src/com/fr/design/widget/ui/DateEditorDefinePane.java

@ -129,7 +129,6 @@ public class DateEditorDefinePane extends DirectWriteEditorDefinePane<DateEditor
currentSamplelabel = timeSampleLabel;
}
refreshPreviewLabel();
CellWidgetPropertyPane.getInstance().update();
}
};
fomatHeadPane.add(fomatHeadGroup, BorderLayout.NORTH);

13
designer/src/com/fr/poly/PolyDesigner.java

@ -738,7 +738,7 @@ public class PolyDesigner extends ReportComponent<PolyWorkSheet, PolyElementCase
* @return 工具
*/
public ToolBarDef[] toolbars4Target() {
return selection == null || isChooseBlock() ? null : this.selection.toolbars4Target();
return selection == null || isChooseBlock() || isChooseChartInner() ? null : this.selection.toolbars4Target();
}
/**
@ -753,7 +753,7 @@ public class PolyDesigner extends ReportComponent<PolyWorkSheet, PolyElementCase
}
if (selection == null || isChooseBlock()) {
if (selection == null || isChooseBlock() || isChooseChartInner()) {
setToolBarElemEnabled(selection != null);
return toolBarComponent;
} else {
@ -909,6 +909,15 @@ public class PolyDesigner extends ReportComponent<PolyWorkSheet, PolyElementCase
return selectedtype == SelectionType.BLOCK;
}
/**
* 是否选中图表聚合块内部
*
* @return 是则返回true
*/
public boolean isChooseChartInner() {
return selectedtype == SelectionType.CHART_INNER;
}
/**
* Fire gridSelection Changed
*/

46
designer_base/src/com/fr/design/constants/LayoutConstants.java

@ -1 +1,45 @@
package com.fr.design.constants; /** * Created by IntelliJ IDEA. * Author : Richer * Version: 7.0.3 * Date: 12-12-27 * Time: 下午2:28 * 所有的间隙常数都从这里取,注意写上PMD检测规则来检查 */ public class LayoutConstants { private LayoutConstants() { } /** * 水平间隙 */ public static final int HGAP_SMALL = 1; /** * 水平间隙 */ public static final int HGAP_LARGE = 4; /** * 垂直间隙 */ public static final int VGAP_SMALL = 4; /** * 垂直间隙 */ public static final int VGAP_MEDIUM = 6; /** * 垂直间隙 */ public static final int VGAP_LARGE = 10; /** * 图表属性表中二级菜单距离右边框的距离 */ public static final int CHART_ATTR_TOMARGIN = 46; }
package com.fr.design.constants;
/**
* Created by IntelliJ IDEA.
* Author : Richer
* Version: 7.0.3
* Date: 12-12-27
* Time: 下午2:28
* 所有的间隙常数都从这里取注意写上PMD检测规则来检查
*/
public class LayoutConstants {
private LayoutConstants() {
}
/**
* 水平间隙
*/
public static final int HGAP_SMALL = 1;
/**
* 水平间隙
*/
public static final int HGAP_LARGE = 4;
/**
* 垂直间隙
*/
public static final int VGAP_SMALL = 4;
/**
* 垂直间隙
*/
public static final int VGAP_MEDIUM = 6;
/**
* 垂直间隙
*/
public static final int VGAP_LARGE = 10;
/**
* 垂直间隙
*/
public static final int VGAP_HUGER = 20;
/**
* 图表属性表中二级菜单距离右边框的距离
*/
public static final int CHART_ATTR_TOMARGIN = 46;
}

3
designer_base/src/com/fr/design/data/datapane/VerticalChoosePane.java

@ -31,6 +31,7 @@ public class VerticalChoosePane extends ChoosePane implements DesignerBean {
double f = TableLayout.FILL;
double[] columnSize = {p, f};
double[] rowSize = {p, p, p};
int[][] rowCount = {{1, 1}, {1, 1}, {1, 1}};
JPanel rs = new JPanel(new BorderLayout(0, 0));
rs.add(tableNameComboBox, BorderLayout.CENTER);
@ -53,7 +54,7 @@ public class VerticalChoosePane extends ChoosePane implements DesignerBean {
new Component[]{l3, rs}
};
JPanel content = TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize);
JPanel content = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, LayoutConstants.VGAP_HUGER, LayoutConstants.VGAP_LARGE);
this.setLayout(new BorderLayout());
this.add(content, BorderLayout.CENTER);
}

6
designer_base/src/com/fr/design/foldablepane/HeaderPane.java

@ -1,10 +1,12 @@
package com.fr.design.foldablepane;
import com.fr.design.constants.UIConstants;
import com.fr.design.gui.syntax.ui.rsyntaxtextarea.RSyntaxUtilities;
import javax.swing.*;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.util.Map;
/**
* Created by MoMeak on 2017/7/5.
@ -61,6 +63,10 @@ public class HeaderPane extends JPanel {
g2d.fillRect(0, 0, headWidth, headHeight);
g2d.setFont(new Font("SimSun", 0, fontSize));
g2d.setPaint(bgColor);
Map<?, ?> desktopHints = RSyntaxUtilities.getDesktopAntiAliasHints();
if (desktopHints != null) {
g2d.setRenderingHints(desktopHints);
}
g2d.drawString(this.title, TITLE_X, headHeight - fontSize / 2 - 1);
int leftWdith = headWidth - LEFT_X;
if (this.isShow) {

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

@ -179,10 +179,10 @@ public abstract class UIControlPane extends BasicPane implements UnrepeatedNameH
topToolBar.setBorder(BorderFactory.createEmptyBorder(2, 0, 2, 0));
double p = TableLayout.PREFERRED;
double f = TableLayout.FILL;
double[] columnSize = { p, f, 155};
double[] columnSize = { p, f};
double[] rowSize = {p};
Component[][] components = new Component[][]{
new Component[]{new UILabel(getAddItemText()), null, topToolBar},
new Component[]{new UILabel(getAddItemText()), topToolBar},
};
JPanel leftTopPane = TableLayoutHelper.createTableLayoutPane(components,rowSize,columnSize);
leftTopPane.setBorder(BorderFactory.createEmptyBorder(0, 0, 6, 0));

2
designer_base/src/com/fr/design/gui/ibutton/UIButton.java

@ -36,6 +36,7 @@ public class UIButton extends JButton implements UIObserver {
private CellBorderStyle border = null;
protected UIObserverListener uiObserverListener;
private static final int TOOLTIP_INIT_DELAY = 1000; // 延迟 1s 显示提示文字
public UIButton() {
this(StringUtils.EMPTY);
@ -139,6 +140,7 @@ public class UIButton extends JButton implements UIObserver {
setBackground(null);
setRolloverEnabled(true);
initListener();
ToolTipManager.sharedInstance().setInitialDelay(TOOLTIP_INIT_DELAY);
}
@Override

7
designer_base/src/com/fr/design/gui/style/FRFontPane.java

@ -238,7 +238,11 @@ public class FRFontPane extends AbstractBasicStylePane implements GlobalNameObse
superPane.setPreferredSize(BUTTON_SIZE);
subPane = new UIToggleButton(BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/sub.png"));
subPane.setPreferredSize(BUTTON_SIZE);
isSuperOrSubPane = new TwoButtonPane(superPane, subPane);
Component[] SuperOrSubComponents = new Component[]{
superPane, subPane
};
isSuperOrSubPane = new JPanel(new BorderLayout());
isSuperOrSubPane.add(GUICoreUtils.createFlowPane(SuperOrSubComponents, FlowLayout.LEFT, LayoutConstants.HGAP_SMALL));
Component[] components_font = new Component[]{
colorSelectPane, underline, isStrikethroughCheckBox, isShadowCheckBox
};
@ -248,7 +252,6 @@ public class FRFontPane extends AbstractBasicStylePane implements GlobalNameObse
initAllNames();
setToolTips();
this.setLayout(new BorderLayout());
// this.add(fontNameComboBox, BorderLayout.NORTH);
this.add(createPane(), BorderLayout.CENTER);
DefaultValues defaultValues = FRContext.getDefaultValues();
populateBean(defaultValues.getFRFont());

9
designer_base/src/com/fr/design/layout/FRGUIPaneFactory.java

@ -37,6 +37,15 @@ public class FRGUIPaneFactory {
return new FlowLayout(FlowLayout.LEFT, 0, 0);
}
/**
* 创建一个靠右的布局
*
* @return FlowLayout对象
*/
public static LayoutManager createRightZeroLayout() {
return new FlowLayout(FlowLayout.RIGHT, 0, 0);
}
/**
* 创建一个靠左的水平和垂直间隙均为5的流式布局
*

1
designer_base/src/com/fr/design/mainframe/EastRegionContainerPane.java

@ -643,6 +643,7 @@ public class EastRegionContainerPane extends UIEastResizableContainer {
setTabButtonSelected();
}
});
button.setToolTipText(title);
}
public UIButton getButton() {

7
designer_base/src/com/fr/design/present/dict/DatabaseDictPane.java

@ -37,6 +37,7 @@ public class DatabaseDictPane extends FurtherBasicBeanPane<DatabaseDictionary> i
/**
* richer:数据字典和数据链面板
*/
private static final int GAP_HUGER = 32;
protected com.fr.data.impl.Connection database;
protected DoubleDeckValueEditorPane keyColumnPane;
protected DoubleDeckValueEditorPane valueDictPane;
@ -76,10 +77,10 @@ public class DatabaseDictPane extends FurtherBasicBeanPane<DatabaseDictionary> i
Component[][] components = new Component[][]{
new Component[]{null, null},
new Component[]{new UILabel(Inter.getLocText("FR-Designer_Actual_Value") + " ", UILabel.LEFT), keyColumnPane},
new Component[]{new UILabel(Inter.getLocText("FR-Designer_Display_Value") + " ", UILabel.LEFT), valueDictPane}
new Component[]{new UILabel(Inter.getLocText("FR-Designer_Actual_Value"), UILabel.LEFT), keyColumnPane},
new Component[]{new UILabel(Inter.getLocText("FR-Designer_Display_Value"), UILabel.LEFT), valueDictPane}
};
JPanel dbDictPanel = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, LayoutConstants.VGAP_MEDIUM, LayoutConstants.VGAP_MEDIUM);
JPanel dbDictPanel = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, GAP_HUGER, LayoutConstants.VGAP_LARGE);
this.setLayout(new BorderLayout(0, 4));
this.add(chooseTable, BorderLayout.NORTH);
this.add(dbDictPanel, BorderLayout.CENTER);

11
designer_base/src/com/fr/design/present/dict/DictionaryPane.java

@ -3,9 +3,11 @@ package com.fr.design.present.dict;
import com.fr.data.Dictionary;
import com.fr.data.impl.DynamicSQLDict;
import com.fr.design.beans.FurtherBasicBeanPane;
import com.fr.design.constants.LayoutConstants;
import com.fr.design.data.DataCreatorUI;
import com.fr.design.gui.frpane.UIComboBoxPane;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper;
import com.fr.general.Inter;
@ -25,18 +27,17 @@ public class DictionaryPane extends UIComboBoxPane<Dictionary> implements DataCr
@Override
protected void initLayout() {
this.setLayout(new BorderLayout(0, 4));
// JPanel northPane = new JPanel(new BorderLayout(4, 0));
// northPane.add(new UILabel(Inter.getLocText("Type_Set"), UILabel.LEFT),BorderLayout.WEST);
// northPane.add(jcb,BorderLayout.CENTER);
double p = TableLayout.PREFERRED;
double f = TableLayout.FILL;
double[] columnSize = {p, f};
double[] rowSize = {p};
double[] rowSize = {p, p};
int[][] rowCount = {{1, 1}, {1, 1}};
Component[][] components = new Component[][]{
new Component[]{new UILabel(Inter.getLocText("FR-Designer_Type_Set"), UILabel.LEFT), jcb},
new Component[]{null, null}
};
JPanel northPane = TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize);
JPanel northPane = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, LayoutConstants.VGAP_HUGER, LayoutConstants.VGAP_MEDIUM);
this.add(northPane, BorderLayout.NORTH);
this.add(cardPane, BorderLayout.CENTER);
}

4
designer_base/src/com/fr/design/preview/WriteEnhancePreview.java

@ -28,13 +28,13 @@ public class WriteEnhancePreview extends AbstractPreviewProvider {
@Override
public int previewTypeCode() {
return IOFile.WRITE_PREVIEW_TYPE;
return IOFile.WRITE_ENHANCE_PREVIEW_TYPE;
}
@Override
public Map<String, Object> parametersForPreview() {
Map<String, Object> map = new HashMap<String, Object>();
map.put("op", "write_ex");
map.put("op", "write_plus");
return map;
}
}

1
designer_base/src/com/fr/design/style/AbstractSelectBox.java

@ -57,6 +57,7 @@ public abstract class AbstractSelectBox<T> extends AbstractPopBox implements Mou
}
public void ancestorRemoved(AncestorEvent evt) {
hidePopupMenu();
}
public void ancestorMoved(AncestorEvent event) {

144
designer_base/src/com/fr/file/FILEChooserPane.java

@ -1,51 +1,5 @@
package com.fr.file;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.swing.AbstractAction;
import javax.swing.AbstractListModel;
import javax.swing.ActionMap;
import javax.swing.BorderFactory;
import javax.swing.DefaultComboBoxModel;
import javax.swing.DefaultListCellRenderer;
import javax.swing.DefaultListModel;
import javax.swing.Icon;
import javax.swing.InputMap;
import javax.swing.JComponent;
import javax.swing.JFileChooser;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.KeyStroke;
import javax.swing.ListCellRenderer;
import javax.swing.ListModel;
import javax.swing.ListSelectionModel;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.filechooser.FileSystemView;
import javax.swing.plaf.basic.BasicArrowButton;
import javax.swing.plaf.basic.BasicButtonUI;
import com.fr.base.BaseUtils;
import com.fr.base.FRContext;
import com.fr.dav.LocalEnv;
@ -70,12 +24,23 @@ import com.fr.file.filter.FILEFilter;
import com.fr.general.ComparatorUtils;
import com.fr.general.GeneralContext;
import com.fr.general.Inter;
import com.fr.stable.CoreConstants;
import com.fr.stable.ProductConstants;
import com.fr.stable.StableUtils;
import com.fr.stable.StringUtils;
import com.fr.stable.*;
import com.fr.stable.project.ProjectConstants;
import javax.swing.*;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.filechooser.FileSystemView;
import javax.swing.plaf.basic.BasicArrowButton;
import javax.swing.plaf.basic.BasicButtonUI;
import java.awt.*;
import java.awt.event.*;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/*
* FileChooserPane要高亮显示某Button,以显示当前路径
* 边距要调整
@ -300,15 +265,15 @@ public class FILEChooserPane extends BasicPane {
if (ss instanceof FILEFilter) {
setFILEFilter((FILEFilter) ss);
} else {
setFILEFilter(null);
}
setFILEFilter(null);
}
}
});
}
private void doCancel(){
this.locationBtnPane.setPopDir(null);
dialogExit();
private void doCancel() {
this.locationBtnPane.setPopDir(null);
dialogExit();
}
/**
@ -343,7 +308,7 @@ public class FILEChooserPane extends BasicPane {
}
}
protected String getEnvProjectName(){
protected String getEnvProjectName() {
return Inter.getLocText("Utils-Report-Env_Directory");
}
@ -361,7 +326,7 @@ public class FILEChooserPane extends BasicPane {
* 在指定index增加过滤器
*
* @param filter 过滤器
* @param index 序号
* @param index 序号
*/
public void addChooseFILEFilter(FILEFilter filter, int index) {
if (filterList.contains(filter)) {
@ -377,7 +342,7 @@ public class FILEChooserPane extends BasicPane {
* 若是已经存在则将之删去之后在指定的位置增加
*
* @param filter 过滤
* @param index 序号
* @param index 序号
*/
public void addChooseFILEFilterToFist(FILEFilter filter, int index) {
if (filterList.contains(filter)) {
@ -421,7 +386,7 @@ public class FILEChooserPane extends BasicPane {
/**
* richer:默认的话就使用.cpt作为后缀名
*
* @param text 文本
* @param text 文本
* @param suffix 后缀
*/
public void setFileNameTextField(String text, String suffix) {
@ -457,6 +422,7 @@ public class FILEChooserPane extends BasicPane {
/**
* 打开对话框
*
* @param parent 父类
* @return 类型
*/
@ -466,6 +432,7 @@ public class FILEChooserPane extends BasicPane {
/**
* 打开对话框
*
* @param parent 父类
* @param suffix 后缀
* @return 类型
@ -476,6 +443,7 @@ public class FILEChooserPane extends BasicPane {
/**
* 打开对话框
*
* @param parent 父类
* @return 类型
*/
@ -485,6 +453,7 @@ public class FILEChooserPane extends BasicPane {
/**
* 打开对话框
*
* @param parent 父类
* @param suffix 后缀
* @return 类型
@ -497,7 +466,7 @@ public class FILEChooserPane extends BasicPane {
* august:控件的事件都在这里面添加的 那么我每次showDialog不都要重复添加一次事件吗无语了
*
* @param parent 父类
* @param type 类型
* @param type 类型
* @param suffix 后缀
* @return 类型
*/
@ -506,7 +475,7 @@ public class FILEChooserPane extends BasicPane {
this.suffix = suffix;
dialog = showWindow((Window)parent, false);
dialog = showWindow((Window) parent, false);
JPanel contentPane = (JPanel) dialog.getContentPane();
contentPane.setLayout(FRGUIPaneFactory.createM_BorderLayout());
contentPane.add(this, BorderLayout.CENTER);
@ -545,11 +514,11 @@ public class FILEChooserPane extends BasicPane {
protected void fileType() {
String appName = ProductConstants.APP_NAME;
JTemplate editing = HistoryTemplateListPane.getInstance().getCurrentEditingTemplate();
if(ComparatorUtils.equals(suffix,".crt")){
if (ComparatorUtils.equals(suffix, ".crt")) {
this.addChooseFILEFilter(new ChooseFileFilter("crt", appName + Inter.getLocText(new String[]{"Utils-The-Chart", "FR-App-All_File"})));
return;
}
if(editing == null || !editing.isChartBook()){
if (editing == null || !editing.isChartBook()) {
String[] fileSuffix_local = LocalEnv.FILE_TYPE;
String[] fileSuffix = {"cpt", "frm", "form", "cht", "chart"};
if (type == JFileChooser.OPEN_DIALOG) {
@ -566,10 +535,10 @@ public class FILEChooserPane extends BasicPane {
// richer:form文件 daniel 改成三个字
this.addChooseFILEFilter(new ChooseFileFilter("frm", appName + Inter.getLocText(new String[]{"FR-App-Template_Form", "FR-App-All_File"})));
this.addChooseFILEFilter(new ChooseFileFilter("form", appName + Inter.getLocText(new String[]{"FR-App-Template_Form", "FR-App-All_File"})));
}else{
String[] fileSuffix_local = {"xls","xlsx"};
} else {
String[] fileSuffix_local = {"xls", "xlsx"};
if (type == JFileChooser.OPEN_DIALOG) {
this.addChooseFILEFilter(new ChooseFileFilter(fileSuffix_local,Inter.getLocText("Import-Excel_Source")));
this.addChooseFILEFilter(new ChooseFileFilter(fileSuffix_local, Inter.getLocText("Import-Excel_Source")));
}
}
@ -578,8 +547,8 @@ public class FILEChooserPane extends BasicPane {
this.addChooseFILEFilter(new ChooseFileFilter("xls", Inter.getLocText("Import-Excel_Source")));
this.addChooseFILEFilter(new ChooseFileFilter("xlsx", Inter.getLocText("Import-Excel2007_Source")));
}
if(ComparatorUtils.equals(suffix,".png")){
this.addChooseFILEFilter(new ChooseFileFilter("png",Inter.getLocText("FR-App-Export_png")));
if (ComparatorUtils.equals(suffix, ".png")) {
this.addChooseFILEFilter(new ChooseFileFilter("png", Inter.getLocText("FR-App-Export_png")));
}
if (type == JFileChooser.SAVE_DIALOG) {
this.addChooseFILEFilter(new ChooseFileFilter("pdf", Inter.getLocText("FR-Import-Export_PDF")));
@ -627,7 +596,7 @@ public class FILEChooserPane extends BasicPane {
postfixComboBox.setSelectedIndex(suffixIndex("doc"));
} else if (ComparatorUtils.equals(suffix, ".txt")) {
postfixComboBox.setSelectedIndex(suffixIndex("txt"));
}else if(ComparatorUtils.equals(suffix,".png")){
} else if (ComparatorUtils.equals(suffix, ".png")) {
postfixComboBox.setSelectedIndex(suffixIndex("png"));
}
//jerry 26216 只保留.cpt .frm有用的格式,并且不可编辑
@ -643,10 +612,10 @@ public class FILEChooserPane extends BasicPane {
}
}
private int suffixIndex(String extension){
for(int i=0 ;i<filterList.size();i++){
private int suffixIndex(String extension) {
for (int i = 0; i < filterList.size(); i++) {
FILEFilter fileFilter = filterList.get(i);
if(fileFilter.containsExtension(extension)){
if (fileFilter.containsExtension(extension)) {
return i;
}
}
@ -697,7 +666,7 @@ public class FILEChooserPane extends BasicPane {
FILE selectedFile = this.getSelectedFILE();
if (!FRContext.getCurrentEnv().hasFileFolderAllow(selectedFile.getPath())) {
JOptionPane.showMessageDialog(FILEChooserPane.this, Inter.getLocText("FR-App-Privilege_No") + "!", Inter.getLocText("FR-App-File_Message"), JOptionPane.WARNING_MESSAGE);
return ;
return;
}
if (selectedFile.exists()) {
int selVal = JOptionPane.showConfirmDialog(dialog, Inter.getLocText("FR-Utils-Would_you_like_to_cover_the_current_file") + " ?",
@ -781,7 +750,7 @@ public class FILEChooserPane extends BasicPane {
PlaceListModel() {
if (FILEChooserPane.this.showEnv) {
envFILE = new FileNodeFILE(new FileNode(ProjectConstants.REPORTLETS_NAME, true)){
envFILE = new FileNodeFILE(new FileNode(ProjectConstants.REPORTLETS_NAME, true)) {
public String getName() {
return getEnvProjectName();
}
@ -800,14 +769,19 @@ public class FILEChooserPane extends BasicPane {
}
if (FILEChooserPane.this.showLoc) {
// 桌面
File[] desktop = FileSystemView.getFileSystemView().getRoots();
if (desktop != null) {
for (int i = 0; i < desktop.length; i++) {
if (desktop[i].exists()) {
filesOfSystem.add(new FileFILE(desktop[i]));
if (OperatingSystem.isWindows()) {
// windows下展示桌面
File[] desktop = FileSystemView.getFileSystemView().getRoots();
if (desktop != null) {
for (int i = 0; i < desktop.length; i++) {
if (desktop[i].exists()) {
filesOfSystem.add(new FileFILE(desktop[i]));
}
}
}
} else { // *nix下展示家目录
filesOfSystem.add(new FileFILE(FileSystemView.getFileSystemView().getDefaultDirectory()));
}
// C, D, E等盘符
@ -1172,8 +1146,8 @@ public class FILEChooserPane extends BasicPane {
}
}
public void setPopDir(FILE file){
popDir = file;
public void setPopDir(FILE file) {
popDir = file;
}
public void populate(FILE dir) {
@ -1182,6 +1156,7 @@ public class FILEChooserPane extends BasicPane {
return;
}
boolean isWebAppNamePath;
popDir = dir;
this.buttonList.clear();
@ -1190,12 +1165,13 @@ public class FILEChooserPane extends BasicPane {
}
String path = dir.getPath();
isWebAppNamePath = ComparatorUtils.equals(dir.prefix(), FILEFactory.WEBREPORT_PREFIX);
// 确保最后一个字符是分隔符
if (!path.endsWith("/") && !path.endsWith("\\") && !StringUtils.isBlank(path)) {
path = path + "/";
}
String webAppName = GeneralContext.getCurrentAppNameOfEnv();
if (StringUtils.isBlank(path)) {
if (StringUtils.isBlank(path) && isWebAppNamePath) {
this.buttonList.add(createBlankButton(new SetDirectoryAction(webAppName + '/')));
}
@ -1206,7 +1182,7 @@ public class FILEChooserPane extends BasicPane {
int start = matcher.start();
String btn_text = path.substring(node_start, start);
String btn_path = path.substring(0, start);
if (StringUtils.isBlank(btn_text)) {
if (StringUtils.isBlank(btn_text) && isWebAppNamePath) {
btn_text = webAppName;
}
this.buttonList.add(createBlankButton((new SetDirectoryAction(btn_text + '/',

4
designer_chart/src/com/fr/design/mainframe/chart/gui/ChangeConfigPane.java

@ -9,9 +9,9 @@ import com.fr.chart.base.AttrChangeType;
import com.fr.chart.chartattr.ChartCollection;
import com.fr.design.beans.BasicBeanPane;
import com.fr.design.gui.ibutton.UIButtonGroup;
import com.fr.design.gui.icheckbox.UICheckBox;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.ispinner.UISpinner;
import com.fr.design.gui.icheckbox.UICheckBox;
import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper;
import com.fr.design.mainframe.chart.gui.style.ChartTextAttrPane;
@ -178,7 +178,7 @@ public class ChangeConfigPane extends BasicBeanPane<ChartCollection> {
//轮播切换界面
timeInterval.setValue(changeConfigAttr.getTimeInterval());
colorSelectBox4carousel.setSelectObject(changeConfigAttr.getCarouselColor());
arrowCheckbox.setSelected(changeConfigAttr.getShowArrow());
arrowCheckbox.setSelected(changeConfigAttr.isShowArrow());
checkCardPane();

2
designer_chart/src/com/fr/plugin/chart/designer/style/background/BackgroundListControlPane.java

@ -11,9 +11,9 @@ import com.fr.general.NameObject;
import com.fr.plugin.chart.attr.DefaultAxisHelper;
import com.fr.plugin.chart.attr.axis.VanChartAlertValue;
import com.fr.plugin.chart.attr.axis.VanChartAxis;
import com.fr.plugin.chart.attr.axis.VanChartCustomIntervalBackground;
import com.fr.plugin.chart.attr.plot.VanChartPlot;
import com.fr.plugin.chart.attr.plot.VanChartRectanglePlot;
import com.fr.plugin.chart.base.VanChartCustomIntervalBackground;
import com.fr.stable.Nameable;
import java.util.ArrayList;

2
designer_chart/src/com/fr/plugin/chart/designer/style/background/BackgroundNameObjectCreator.java

@ -4,7 +4,7 @@ import com.fr.design.beans.BasicBeanPane;
import com.fr.design.gui.controlpane.UnrepeatedNameHelper;
import com.fr.general.FRLogger;
import com.fr.general.NameObject;
import com.fr.plugin.chart.base.VanChartCustomIntervalBackground;
import com.fr.plugin.chart.attr.axis.VanChartCustomIntervalBackground;
import com.fr.stable.Nameable;
import java.lang.reflect.Constructor;

2
designer_chart/src/com/fr/plugin/chart/designer/style/background/VanChartCustomIntervalBackgroundPane.java

@ -14,7 +14,7 @@ import com.fr.design.style.color.ColorSelectBox;
import com.fr.design.utils.gui.GUICoreUtils;
import com.fr.general.Inter;
import com.fr.plugin.chart.VanChartAttrHelper;
import com.fr.plugin.chart.base.VanChartCustomIntervalBackground;
import com.fr.plugin.chart.attr.axis.VanChartCustomIntervalBackground;
import com.fr.plugin.chart.designer.TableLayout4VanChartHelper;
import javax.swing.*;

2
designer_chart/src/com/fr/plugin/chart/designer/style/background/radar/VanChartRadarAxisAreaPane.java

@ -4,7 +4,7 @@ import com.fr.design.beans.BasicBeanPane;
import com.fr.design.gui.ilable.UILabel;
import com.fr.general.Inter;
import com.fr.plugin.chart.attr.axis.VanChartAlertValue;
import com.fr.plugin.chart.base.VanChartCustomIntervalBackground;
import com.fr.plugin.chart.attr.axis.VanChartCustomIntervalBackground;
import com.fr.plugin.chart.designer.style.background.VanChartAxisAreaPane;
import java.awt.*;

2
designer_form/src/com/fr/design/designer/properties/mobile/ElementCasePropertyUI.java

@ -21,7 +21,7 @@ public class ElementCasePropertyUI extends AbstractWidgetPropertyUIProvider {
@Override
public AbstractPropertyTable createWidgetAttrTable() {
return new ElementCasePropertyTable(xCreator);
return null;
}
@Override

22
designer_form/src/com/fr/design/mainframe/WidgetPropertyPane.java

@ -123,9 +123,11 @@ public class WidgetPropertyPane extends FormDockView implements BaseWidgetPrope
extraPane.initPropertyGroups(designer);
}
}
// for (AbstractPropertyTable propertyTable : widgetPropertyTables) {
// propertyTable.initPropertyGroups(designer);
// }
if (widgetPropertyTables != null) {
for (AbstractPropertyTable propertyTable : widgetPropertyTables) {
propertyTable.initPropertyGroups(designer);
}
}
}
/**
@ -224,12 +226,14 @@ public class WidgetPropertyPane extends FormDockView implements BaseWidgetPrope
mobileExtraPropertyPanes.add(extraPane);
wsp.add(extraPane);
}
// AbstractPropertyTable propertyTable = widgetAttrProvider.createWidgetAttrTable();
// widgetPropertyTables.add(propertyTable);
// designer.addDesignerEditListener(new WidgetPropertyDesignerAdapter(formWidgetCardPane));
//
// UIScrollPane uiScrollPane = new UIScrollPane(getExtraBodyTable(propertyTable));
// wsp.add(uiScrollPane);
AbstractPropertyTable propertyTable = widgetAttrProvider.createWidgetAttrTable();
if (propertyTable != null) {
widgetPropertyTables.add(propertyTable);
designer.addDesignerEditListener(new WidgetPropertyDesignerAdapter(formWidgetCardPane));
UIScrollPane uiScrollPane = new UIScrollPane(getExtraBodyTable(propertyTable));
wsp.add(uiScrollPane);
}
}
}
}

2
designer_form/src/com/fr/design/widget/ui/designer/DateEditorDefinePane.java

@ -78,7 +78,7 @@ public class DateEditorDefinePane extends DirectWriteEditorDefinePane<DateEditor
};
double[] rowSize = {p, p, p, p, p, p, p, p, p, p};
double[] columnSize = {p, f};
int[][] rowCount = {{1, 3}, {1, 3}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}};
int[][] rowCount = {{1, 1}, {1, 3}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}};
JPanel panel = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, 10, 10);
JPanel boundsPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
panel.setBorder(BorderFactory.createEmptyBorder(10, 0, 10, 0));

Loading…
Cancel
Save